This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2017-061752, filed on Mar. 27, 2017; the entire contents of which are incorporated herein by reference.
Embodiments of the invention relate generally to a semiconductor memory device.
In nonvolatile semiconductor memory devices such as NAND electrically erasable programmable read-only memories (EEPROMs), a cell-to-cell interference effect (proximal interference effect) increases with shrink of the nonvolatile semiconductor memory devices. A threshold distribution of a memory cell spreads by the inter-cell interference effect in some cases. On the other hand, a multi-valued memory cell such as a multi level cell (MLC) has been proposed. Since a threshold range of each value is relatively narrow in the MLC, a threshold distribution of a memory cell is preferably as narrow as possible. However, when the threshold distribution of the memory cell spreads by the cell-to-cell interference effect, it is difficult to put the threshold distribution of the memory cell within a threshold range of the MLC. In consideration of the cell-to-cell interference effect, a write time is lengthened when the threshold distribution of the memory cell is narrowed.
According to an embodiment, a semiconductor memory device includes a plurality of word lines, a plurality of bit lines, a plurality of memory cells, a word line driving circuit, a sense amplifier circuit, and a controller. The plurality of memory cells are provided to correspond to intersections of the word lines and the bit lines. The word line driving circuit applies a voltage to a selected word line among the plurality of word lines. The sense amplifier circuit detects data of the memory cells. The controller controls the word line driving circuit and the sense amplifier circuit. The memory cell connected to the selected word line is written with data using a write sequence including a plurality of write loops each including a write operation of applying a write voltage to the selected word line by the word line driving circuit and a verify operation of detecting data of the memory cell by the sense amplifier circuit. The controller determines an (n+k)-th (where n is an integer not less than 1 and k is an integer not less than 2) verify operation based on comparison between an n-th verify operation and an (n+1)-th verify operation in the write sequence.
Embodiments of the invention will now be described with reference to the drawings.
The drawings are schematic or conceptual; and the relationships between the thicknesses and widths of portions, the proportions of sizes between portions, etc., are not necessarily the same as the actual values thereof. The dimensions and/or the proportions may be illustrated differently between the drawings, even in the case where the same portion is illustrated.
In the drawings and the specification of the application, components similar to those described thereinabove are marked with like reference numerals, and a detailed description is omitted as appropriate.
In the specification, two directions which are parallel to an upper surface of a semiconductor substrate 101 (see
As shown in
The memory cell array 1 includes a plurality of memory blocks BLK0 to BLKi (where i is an integer not less than 2) formed on the same well. Each memory block BLK is configured such that a plurality of NAND cell units 11 extending in the Y-direction are arranged in the X-direction. Each NAND cell unit 11 includes a plurality of memory cells MC0 to MCn (where n is an integer not less than 1: for example, n=63) connected in series and select transistors S1 and S2 connected to both ends of the memory cells MC0 to MCn.
The memory cell MC is provided at an intersection of a word line WL and a bit line BL and may be one of a single-level cell (SLC), a multi-level cell (MLC), a triple-level cell (TLC), a quadruple-level cell (QLC), and higher-level cells.
In
A source of each select transistor S1 in the memory block BLK0 is connected to the same source line SL. A drain of each select transistor S2 in the memory block BLK0 is connected to corresponding bit lines BL0 to BLj (where j is an integer not less than 2). As shown in
The sense amplifier circuit 2 includes a sense amplifier SA and a bit line controller BLC. The sense amplifier SA is a circuit that reads data from the memory cells MC through the bit lines BL0 to BLj. The sense amplifier SA compares a voltage in accordance with the data of the memory cells MC to a reference voltage and detects logic of the data. The bit line controller BLC selectively drives one bit line BL or the plurality of bit lines BL among the plurality of bit lines BL in accordance with an address received from the controller 5. The bit line controller BLC executes write controlling, a verify-read operation and a read operation by controlling the voltages of the selected bit lines BL.
For example, the sense amplifier circuit 2 detects data stored in the selected. memory cells MC connected to the selected word lines WL and the selected bit lines BL in the verify-read operation and the read operation. The sense amplifier circuit 2 further includes a data latch circuit (not shown) and can temporarily retain the data detected in the sense amplifier SA.
The row decoder 3 (a word line driving circuit) is a circuit that selects one of the word line and the select gate line and applies a voltage to the word line or the select gate line.
The input and output (I/O) buffer 4 is a circuit that exchanges data between the sense amplifier circuit 2 and an external input and output terminal and receives command data or address data from the controller 5.
The controller 5 is a control unit that executes various kinds of control on the memory cell array 1. For example, the controller 5 receives external control signals such as a write enable signal WEn, a read enable signal REn, an address latch enable signal ALE, a command latch enable signal CLE from a memory controller (MH) or a host externally provided. Thus, the controller 5 controls the row decoder 3, the sense amplifier circuit 2, the bit line controller BLC, and the like to execute a write operation, a read operation, an erasing operation, and the like.
The voltage generation circuit 6 includes a plurality of boosting circuits 21 and a pulse generation circuit 22. The voltage generation circuit 6 switches the number of boosting circuits 21 to be driven based on a control signal from the controller 5. The voltage generation circuit 6 adjusts a pulse width and a pulse height of a pulse voltage by controlling the pulse generation circuit 22.
The ROM fuse 7 is a storage unit that stores a set value of the pulse width or the pulse height of the pulse voltage at the time of writing or erasing. For example, the ROM fuse 7 stores a value of a write voltage (program voltage) Vpgm applied to the word line, an increase width (step-up width) ΔVpgm of the write voltage, a verify level, or the like in a write operation. The write voltage Vpgm, the step-up width ΔVpgm, and the verify level may be given from the outside of the semiconductor memory device 100.
The data storage circuit 8 is a rewritable nonvolatile storage circuit that stores various kinds of data used to control the memory cell array 1.
As shown in
The memory cells MC0 to MCn and the select transistors S1 and S2 are formed above a well 102 in the semiconductor substrate 101 and are connected in series by diffusion layers 103 in the well 102. The transistors are covered with an inter-layer insulating film 121.
The memory cell MC includes a charge storage layer (for example, a floating gate) 112 and a control gate 114. The charge storage layer 112 is provided above the semiconductor substrate 101 with a gate insulating film 111 between the charge storage layer 112 and the semiconductor substrate 101. The control gate 114 is provided above the charge storage layer 112 via an inter-gate insulating film 113 between the control gate 114 and the charge storage layer 112. The select transistors S1 and S2 each include a gate electrode 116 that is formed above the semiconductor substrate 101 with a gate insulating film 115 between the gate electrode 116 and the semiconductor substrate 101. The charge storage layer 112 is formed of a layer that has a charge storage function and is formed with, for example, a layer that contains silicon nitride in some cases.
The control gate 114 is connected to one of the word lines WL0 to WLn. The memory cell MC0 at one end of the NAND cell unit 11 is connected to the source line SL via the select transistor S1. The memory cell MCn at the other end of the NAND cell unit 11 is connected to the bit line BL via the select transistor S2. The numbers of word lines WL, bit lines BL, and memory cells MC are arbitrary.
As shown in
The NAND EEPROM executes a write operation and a read operation by the page. That is, the bit line controller BLC can simultaneously control the bit lines BL in the page. The sense amplifier circuit 2 detects data of the memory cell MC via the bit line BL.
Hereinafter, a data write operation of the semiconductor memory device 100 of the embodiment will be described.
In the semiconductor memory device 100 of the embodiment, 3-bit data is written on the memory cell MC in, for example, a “foggy-fine” scheme from an initial state. The initial state is equivalent to an erasing state of all the memory cells MC in the block BLOCK (which is also referred to as an Er state). The foggy-fine scheme is a write scheme of writing data in each state with high precision by fine writing after the data of each state is roughly written by foggy writing. Further, before foggy writing, lower middle (LM) writing in which a predetermined state is written may be executed temporarily.
In the foggy writing, a plurality of pages including a lower page, a middle page, and an upper page are simultaneously written.
That is, the writing of the plurality of pages includes the foggy writing shown in
Here, the data write operation of the semiconductor memory device 100 of the embodiment will be further described.
The data write operation (write sequence) is executed by iterating a write loop including a write operation and a verify-read operation. The write operation is an operation of writing data by applying a write voltage to the selected word lines WLs and increasing the threshold voltage of the selected memory cell. The verify-read operation is an operation of verifying whether the threshold voltage of the selected memory cell reaches a verify level, that is, whether desired data is written enough on the selected memory cell.
The selected memory cell refers to a memory cell connected to the selected word lines WLs and a memory cell in a selection state on the selected word lines WLs. For example, in
Whenever the write loop is iterated in the write sequence, the controller 5 increases a voltage of the selected word line by ΔVpgm (step-up). Thus, the threshold voltage of the selected memory cell connected to the selected word line increases by substantial ΔVpgm whenever the write loop is executed.
When the threshold voltage of the selected memory cell gradually increases, the threshold voltage of the selected memory cell gradually approaches the verify level (reference voltage) and reach any verify level in the verify-read operation. At this time, the selected memory cell passes (succeeds in) verifying. When the selected memory cell passes the verifying, writing on the selected memory cell ends and the bit line BL corresponding to the selected memory cell enters an unselected state (write inhibition). For example, the bit line controller BLC increases the voltage of the bit line corresponding to the selected memory cell which has passed the verifying and fixes the voltage. Even when a write voltage is applied to the selected word line, a voltage to be applied to the selected memory cell is lowered. Thus, in a subsequent write loop, no data is written any longer on the selected memory cell which has passed the verifying. Accordingly, the threshold voltage of the selected memory cell distributes over or near the verify level (reference voltage).
The selection state is a state (write permission state) in which the voltage of the bit line is lowered so that the voltage applied to the selected memory cell is not lowered when the write voltage is applied to the selected word line. The unselected state is a state (write inhibition state) in which the voltage of the bit line is fixed so that the voltage applied to the memory cell is lowered even when the write voltage is applied to the selected word line.
The write sequence is controlled by the controller 5, the sense amplifier circuit 2, and the row decoder 3. The write sequence is executed in order of the word lines WL0, WL1, . . . , WLn−1, and WLn.
Hereinafter, an example of the fine writing according to the embodiment will be described.
In the fine writing of the embodiment, in the verify-read operation of first and second write loops in the example of
Then, after a predetermined number of write loops, in the verify-read operation of third and fourth write loops in the example of
Further, after the predetermined number of write loops, in the verify-read operation of the fifth write loop in the example of
That is, in the first and second write loops, the controller 5 executes the verify-read operation for the A state and does not execute the verify-read operation for the B to G states after executing the writing on the selected memory cells at the write voltage Vpgm. Thereafter, in the third and fourth write loops, the controller 5 executes the verify-read operation for the A and B states and does not execute the verify-read operation for the C to G states after executing the writing on the selected memory cells at the write voltage Vpgm. Thereafter, in the fifth write loop, the controller 5 executes the verify-read operation for the A to C states and does not execute the verify-read operation for the D to G states after executing the writing on the selected memory cells at the write voltage Vpgm.
The write sequence in which the verify-read operation is omitted in some of the states in this way is referred to as a verify-skip operation.
When the write loop is iteratively executed, the threshold voltage of the selected memory cell increases by the substantial step-up width ΔVpgm in association with the step-up of the voltage of the selected word lines WLs. Then, when the write state of the selected memory cell reaches a predetermined state, the controller 5 makes the selected memory cell to enter the unselected state.
After each write loop, the controller 5 verifies whether the threshold voltage of all the selected memory cells in which the verify-read operation is executed in the loop reaches the verify level of each state (the A to G states). Whether the threshold voltage of the selected memory cell reaches the verify level may be determined depending on whether a given current or more flows in the channel in the state in which an equal voltage is applied to the word line at the verify level. When the threshold voltage does not reach the verify level, the current flows (the gate is in the ON state). When the threshold voltage reaches the verify level, no current flows (the gate is in the OFF state). When the selected memory cell which has passed the verifying enters the unselected state, whether the threshold voltage reaches each state in the selected memory cell is not verified by the controller 5.
For example, when the threshold voltage of a certain selected memory cell reaches the A state, it is not necessary to execute the verify-read operation for the A state in the selected memory cell irrespective of the write state on the selected memory cell. In this case, the selected memory cell passes the verifying for the A state. The controller 5 executes the write operation on the selected memory cell reaching the verify level of the A state in the subsequent write loop in accordance with the write data, but does not set the selected memory cell as a verify-read operation target for the A state. Conversely, both the write operation and the verify-read operation of the write loop are executed on the selected memory cell which does not reach the A state.
Hereinafter, a threshold voltage state in the verify-skip operation will be described.
The verify-skip operation in the fine writing after the foggy writing will be described below.
VA to VG in
As shown in
As shown in
As shown in
The controller 5 detects the number of memory cells reaching the verify level of the A state between the first and second fine write loops. In the examples shown in
The controller 5 compares the number of memory cells newly reaching the verify level of the A state to a threshold Ct1 of the number of memory cells. When the controller 5 concludes that the number of memory cells newly reaching the verify level of the A state is not less than the threshold CU of the number of memory cells, as shown in
When the controller 5 concludes that the number of memory cells newly reaching the verify level of the A state is less than the threshold Ct1 of the number of memory cells, the controller 5 executes the verify-read operation for the A state and does not execute the verify-read operation for the B state after executing writing on the selected memory cells at the write voltage Vpgm in the third write loop.
As shown in
As shown in
The controller 5 detects the number of memory cells reaching the verify level of the B state between the third and fourth fine write loops. In the examples shown in
The controller 5 compares the number of memory cells newly reaching the verify level of the B state to a threshold Ct2 of the number of memory cells. When the controller 5 concludes that the number of memory cells newly reaching the verify level of the B state is not less than the threshold Ct2 of the number of memory cells, as shown in
When the controller 5 concludes that the number of memory cells newly reaching the verify level of the B state is less than the threshold Ct2 of the number of memory cells, the controller 5 executes the verify-read operation for the A and B states and does not execute the verify-read operation for the C state after executing writing on the selected memory cells at the write voltage Vpgm in the fifth write loop.
In this embodiment, when the number of memory cells (a difference between the number of cells already passing an m-th verify (where m is an integer not less than 2) and the number of cells already passing (m−1)-th verify) newly reaching the verify level of a state n (for example, the A and B states) through writing in an m-th write loop is not less than the threshold Ct (for example, Ct1 or Ct2) of the number of memory cells, a verify-read operation for the state (for example, the B or C state) higher by one stage than the state n in the (m+1)-th write loop is newly executed.
When the number of memory cells newly reaching the verify level of the state n is not less than the threshold Ct of the number of memory cells after the m-th write loop, the verify-read operation for a state higher by one stage than the state n from the write loop subsequent to the (m+2)-th write loop may be newly executed. For example, as shown in
The threshold Ct of the number of memory cells is stored in, for example, the ROM fuse 7 or the data storage circuit 8. The threshold Ct of the number of memory cells is an arbitrary value. The threshold Ct of the number of memory cells can be determined based on, for example, the number of memory cells MCs on the selected word lines WLs. For example, the threshold Ct of the number of memory cells is LO or more percents of all the memory cells on the selected word lines WLs. When the threshold Ct of the number of memory cells is set in this way, the threshold of the number of memory cells can be set uniformly in the same method in a plurality of products in which the number of memory cells per word line is different. The threshold Ct of the number of memory cells may be a fixed value irrespective of a write state. That is, the threshold Ct1 of the number of memory cells may be the same as the threshold Ct2 of the number of memory cells.
Hereinafter, the memory cell passing the verify-read operation in the fine writing after the foggy writing will be described.
Therefore, the increase of the memory cells in
As shown in
Conversely, in a stage in which the number of write loops is large, the ratio of the memory cells passing the verify-read operation for the F state is large and the increase in the memory cell is large.
For example, the threshold Ct of the number of memory cells can be determined based on
Hereinafter, an example of the fine write sequence after the foggy writing will be described.
First, the foggy writing is executed on the memory cells MCs on the selected word lines WLs (S101). Subsequently, the fine writing on the selected memory cell on the selected word lines WLs is started (S102).
Subsequently, the data written on the selected memory cell on the selected word lines WLs is stored in the input and output (I/O) buffer 4 (S103).
Subsequently, one or more appropriate states are chosen among the A to G states as initial states for the verify-read operation to be executed for from the first write loop (S104). The verify-read operation for the A state is almost always executed from the first write loop.
Subsequently, the loop number L indicating the number of loops is set to 1 and the write voltage Vpgm is set to an initial value (S105).
Subsequently, the bit line controller BLC applies a low-level voltage (for example, a source voltage) to the selected bit lines BL (S106). The bit lines BL connected to the memory cell of the Er level are also fixed to a high-level voltage and enter the write inhibition state.
Subsequently, the row decoder 3 applies the write voltage Vpgm to the selected word line WL (S107). Thus, writing is executed on the selected memory cells connected to the selected bit lines BL and the selected word line WL.
Subsequently, an S-th (where S is an integer from 1 to 7) state is selected as a verify-read operation target to execute the verify-read operation on the selected memory cell (S108). The states S=1 to 7 correspond to the A to G states, respectively, and the initial value of S is set to 1 (the A state).
Subsequently, it is determined whether the verify-read operation for the S-th state has already started at a previous write loop (S109).
When the verify-read operation for the S-th state has already started (yes in S109), the verify-read operation for the S-th state is executed also in the current loop and the result of the verify operation is stored in the data storage circuit 8 or the like (S110).
Subsequently, the verify-read operation target is set to a state higher by one stage than the current state (S111). When the verify-read operation for the S-th state has not yet started in previous write loops (no in S109), the verify-read operation for the S-th state is skipped, and the verify-read operation target is set to the state higher by one stage than the current state.
Subsequently, it is determined whether S is greater than 7 (S112), where S is the state higher by one stage than the current state at this point.
When S is 7 or less (no in S112), steps S109 to S111 are repeated.
When S is greater than 7 (yes in S112), the number of memory cells passing the verify-read operation for each of the A to G states is counted (S113).
Subsequently, it is determined whether the loop number L is 1 (S114). When the loop number L is 2 or greater (no in S114), an (S+1)-th state is selected as a target of determination whether the verify-read operation for it should be started (S115).
When the loop number L is 1 (yes in S114), the number of memory cells passing the verify-read operation for each of the A to G states is stored in the data storage circuit 8 or the like (S123).
Subsequently, it is determined whether the verify-read operation for the (S+1)-th state has already started at a previous write loop (S116). When the verify-read operation for the (S+1)-th state has not started yet in previous write loops (no in S116), it is determined whether the number of the memory cells passing the previous verify-read operation is stored in the data storage circuit 8 or the like (S117).
When the number of the memory cells passing the previous verify-read operation is stored (yes in S117), N(s) equivalent to a value obtained by subtracting the number of memory cells passing the verify-read operation in the S-th state in the immediately previous write loop (for example, L=1) of the current write loop from the number of memory cells passing the verify-read operation in the S-th state in the current write loop (for example, L=2) is calculated (S118). N(s) is equivalent to, for example, an increase value of the memory cells in
Subsequently, it is determined whether or not N(s) is equal to or greater than a predetermined value (S119). The predetermined value is equivalent to, for example, the threshold Ct of the number of memory cells.
When N(s) is equal to or greater than the predetermined value (yes in S119), the (S+1)-th state is set to a state for which the verify-read operation has started (S120). In this case, the verify-read operation for the (S+1)-th state is executed in the subsequent write loop (for example, L=3).
Subsequently, the state higher by one stage than the current state is set as the target of determination whether the verify-read operation for it should be started (S121).
S121 is also done when the verify-read operation for the (S+1)-th state has already started (yes in S116), when the number of the memory cells passing the previous verify-read operation is not stored yet (no in S117), or when N(s) is less than the predetermined value (no in S119).
Subsequently, it is determined whether S is greater than 6 (S122), where S is the state higher by one stage than the current state at this point.
When S is greater than 6 (yes in S122), the number of memory cells passing the verify-read operation in each of the A to G states is stored in the data storage circuit 8 or the like (S123).
When S is 6 or less (no in S122), steps S116 to S121 are repeated.
Subsequently, it is determined whether the number of verify fail cells is less than a predetermined number (S124). When the number of verify fail cells is less than the predetermined number (yes in S124), the writing on the selected memory cell on the selected word lines WLs ends (S125).
When the number of verify fail cells is greater than the predetermined number (no in S124), the step-up width ΔVpgm is added to the current write voltage Vpgm and the value of (Vpgm+ΔVpgm) is set as a new write voltage Vpgm (S126).
Subsequently, the write sequence goes on to the next write loop (S127) and the bit line controller BLC applies a low-level voltage to the selected bit line BL (S106).
In this way, after each write loop including the write operation and the verify-read operation, the controller 5 determines whether the verify operation in the subsequent write loops is to be executed for higher states than the current verify-read target states by calculating the difference between the number of cells that passed verify-read operation at the current loop and the immediately previous loop and comparing it with the threshold value.
The threshold distribution shown in
Hereinafter, advantages of the embodiment will be described.
The semiconductor memory device 100 of the embodiment compares the results of the verify operations in an (m−1)-th (where m is an integer not less than 2) write loop and an m-th write loop, determines whether the number of memory cells newly reaching the verify level of the state n between the (m-1)-th and m-th write loops is not less than the threshold Ct of the number of memory cells, and determines whether the verify-read operation for the state higher by one stage than the state n in a write loop subsequent to the (m+1)-th write loop is newly executed. When the verify-skip operation is executed in the write operation, a speed of the write operation of the semiconductor memory device 100 is improved.
In the embodiment, in the verify-skip operation, a start reference of the verify-read operation for a high write state is equivalent to whether the number of memory cells newly reaching the verify level of the lower state between a previous write loop and a current write loop is not less than the threshold Ct of the number of memory cells. According to the reference, it is possible to simultaneously prevent the verify-read operation in the higher state from starting in the write loop of an unnecessarily early stage and from starting in the write loop of an excessively late stage even in the fine writing of the foggy-fine scheme. For example, when the start reference of the verify operation in the higher state is a total number of memory cells reaching the verify level of the lower state in the current loop and the all previous loops (based on the value of the vertical axis of
In the embodiment, it is simultaneously prevented the verify-read operation in the higher state from starting in the write loop of an unnecessarily early stage and from starting in the write loop of an excessively late stage.
According to the above-described embodiment, it is possible to realize the semiconductor memory device in which a speed and reliability of the write operation are improved.
In the embodiment, the example in which the above-described write operation is applied to a 2-dimensional NAND EEPROM has been described. The write operation may be applied to a 3-dimensional NAND EEPROM.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modification as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2017-061752 | Mar 2017 | JP | national |