This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2012-254752, filed on Nov. 20, 2012, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate to a NAND-type non-volatile semiconductor storage device.
In a NAND-type non-volatile semiconductor storage device, such as a NAND-type flash memory, data is stored in the form of a threshold voltage by controlling the amount of electric charge in floating (unconnected) conductive gates. The threshold voltage is adjusted to a certain value corresponding to the data to be stored. However, a large number of cells in a memory array have a finite-width distribution in threshold voltages even for the same data.
Recently, a physical interval between memory cells has been becoming narrower and narrower due to increase of storage capacity and cell number density. This shrinkage of cell size brings greater “cell-to-cell interference” (the threshold voltage is affected by the change of the state of neighboring cells). As a result, the width of the threshold voltage distribution of the memory cells is becoming broader. On the other hand, the whole possible threshold voltage window from the minimum to the maximum is limited or even becoming narrower as well. Thus, threshold voltage margin to keep one voltage range apart from another is being reduced, which results in increase of erroneous writing of data and degradation of the reliability.
a) and
According to one embodiment, a NAND-type non-volatile semiconductor storage includes a memory cell array and a control circuit. The memory cell array has a memory string in which more than one of memory cells are connected in series, a word line connected to more than one of memory cells, and a bit line connected to one end of the memory string. The control circuit performs a program operation, a verify operation, and a step-up operation in a program operation loop. The control circuit performs the program operation to apply a program voltage to the word line. The control circuit performs the verify operation after the program operation. The control circuit performs the step-up operation to program a memory cell judged to be insufficiently programmed at the verify-read operation using a step-up voltage. The control circuit sets the step-up voltage increasing, each time the step-up operation is performed.
Hereinafter, more than one of further embodiments will be described with reference to the drawings. In the drawings, the same symbols indicate the same of similar portions.
A NAND-type non-volatile semiconductor storage device according to the embodiment is described below with reference to the drawings.
In the embodiment, it is possible to extend the threshold voltage margin and improve reliability of NAND-type flash memories without loss of operation speed.
As shown in
The bit line control circuit 2 and the word line control circuit 3 are connected to the memory cell array 1. The bit line control circuit 2 controls a voltage of the bit line BL. The word line control circuit 3 controls a voltage of the word line WL.
The memory controller HM generates various commands CMD to control the operation of the NAND-type flash memory 100, an address ADD, and data DT, and outputs them to the buffer 4. Also these commands may be supplied from an external host or an outside device as well as the memory controller HM. Data stored in the buffer 4 is transformed to the bit lines BL selected by the bit line control circuit 2 through a data input/output line. The various commands CMD are input to the control circuit 5 through a command register (not shown), for example. The address ADD is input to the bit line control circuit 2 and the word line control circuit 3 through an address register. The booster circuit 6 is controlled based on the command CMD and the address ADD. The control circuit 5, the bit line control circuit 2, and the word line control circuit 3 perform various operations to the memory cell MC.
The boost circuit 6, under the control of the control circuit 5, generates voltages for programming, reading and erasing, and supplies these voltages to the bit line control circuit 2, the word line control circuit 3, etc. Then the bit line control circuit 2 and the word line control circuit 3 perform read, program, and erase operations to the memory cell MC.
The bit line control circuit 2 and the word line control circuit 3 are sometimes regarded as a part of “a control circuit”, and in such a case the term “control circuit” refers to whole the bit line control circuit 2, the word line control circuit 3, and the control circuit 5.
More than one (m+1, in
The word line WL extends in the word line direction, and commonly connects the memory cells MC lining up in the word line direction. The memory cells MC connected in the word line direction composes one page. One page can be arbitrarily determined, such as 16 k bits, 8 k bits, for example. The NAND strings NS arranged in the word line direction compose a block. An erase operation is performed block by block.
a) is one example of a sectional view showing the memory cell.
A threshold voltage of the memory cell can be changed by storing electric charge in the charge storage layer (or a floating gate; FG). Data can be stored by assigning data in accordance with the threshold voltage. Usually, a number of memory cells are used for storing large data, and their threshold voltages are distributed with finite width corresponding to the data.
The relation between the threshold voltage distribution of the memory cells MC and data storage is described below with reference to
Here, the distribution fragments (or voltage regions) are defined as “E” (erased state), “A”, “B”, and “C” distributions (or states) in the growing order of the threshold voltage, respectively. Two bits data “1 1”, “1 0”, “0 0”, and “0 1” are assigned to the “E”, “A”, “B”, and “C” states, respectively, for example.
A program operation loop of the NAND-type flash memory 100 is described below with reference to a flow chart of a program operation loop (
As shown in
At the beginning of the program operation loop, the boost circuit 6 and the control circuit 5 apply the program voltage VPGM to a selected word line and apply the program-pass voltage VPASS etc. to the unselected word lines (the “selected” word line is a word line to be programmed and “unselected” word lines are all the other word lines of the same block) (the step S10). VPASS values of all the unselected word lines can be uniformly equal or not. The order of the word line selection in a block is in the source-to-drain direction, that is, the word line closest to the source-side select transistor SGS is programmed first, and the word line closest to the drain-side select transistor SGD is programmed last, in general.
There are about 104 to 105 memory cells (MC) or memory cell strings (MS) on one word line (WL). During the program operation, all the memory cells connected to the selected word line are commonly applied to the program voltage VPGM. However, cells are selected if they are targeted to be programmed or not independently. Hereinafter, “selected” cells are referred to as the memory cells targeted to be programmed. Furthermore, “unselected” cells are referred to as the memory cell targeted not to be programmed. In the same way, “selected” bit lines are defined as bit lines that the selected cells are connected, and “unselected” bit lines are defined as bit lines that the selected cells are not connected. The bit line control circuit 2 imposes 0V, for example, on the selected bit lines. Then the voltage between the selected word line (biased to VPGM) and the channel of the selected memory cells (biased to 0V) equals VPGM, which induces electric charge injection into the charge storage layer FG, and the selected cells are programmed. On the other hand, the bit line control circuit 2 imposes 2.5V, for example, on the unselected bit lines. In this case, the drain-side select transistors SD stay the OFF states. As a result, the channel of the memory cell MC uprises due to so-called self-boosting. And thereby the voltage between the selected word line and the channel of the unselected memory cell becomes small, and electric charge is not injected into the charge storage layer FG (lockout operation).
After the program operation described above, the verify-read operation is performed, in which the control circuit 5 selects the word line WL, and applies the verify-read voltage VCGRV to the selected word line (the step S11). The read-pass voltage VREAD is applied to the unselected word lines. VREAD does not depend on the threshold voltages of the memory cells MC. VREAD value can be uniformly equal or not among the unselected word lines.
After the control circuit 5 gives 0 V to the common source line CELSRC and applies a pre-charge voltage to the bit line BL, the select transistor SD and the select transistor SS are set to the “ON” state. When the threshold voltage of the memory cell MC is higher than the verify-read voltage VCGRV, the bit line charge is not discharged, and the bit line voltage does not change. This result is sensed and latched in the sense amplifier circuit, and thereby the data of the memory cell MC is judged as “0” data. On the other hand, when the threshold voltage of the memory cell MC is lower than the verify-read voltage VCGRV, the bit line charge is discharged, and the bit line voltage changes. This result is sensed and latched in the sense amplifier circuit, and thereby the data of the memory cell MC is judged as “1” data.
When 2-bit data are stored in one memory cell MC, the control circuit 5 changes the verify-read voltage sequentially as VCG_AV, VCG_BV, and VCG_CV, and thereby judges whether each of the selected memory cells MC is programmed up to its own target of the threshold voltage. Here, the memory cells that already reach their own threshold-voltage target are also referred to as “sufficiently programmed memory cells MS”. The memory cells that have not reached their own target are also referred to as “insufficiently programmed memory cells MS”.
In the verify-read operation, the control circuit 5 judges whether or not the number of the insufficiently programmed memory cells MC exceeds a given value. The given value may be zero, for example. Also the given value may be a positive value, considering the number of the insufficiently programmed memory cells MC relievable with ECC (Error Correction Codes). When the control circuit 5 judges that the number of the insufficiently programmed memory cells MC does not exceed the given value (verify-pass), the control circuit 5 finishes the program operation loops. On the other hand, when the control circuit 5 judges that the number of the insufficiently programmed memory cells MC exceeds the given value (verify-fail), the control circuit 5 goes on to the following step-up operation (the step S12).
Setting of a step-up voltage in the step-up operation is described in the following part with reference to
As shown in
In the step-up operation (the step S12) of the present invention, the step-up voltage ΔVstep is determined such that ΔVstep1<ΔVstep2<ΔVstep3< . . . <ΔVstep(n), where n is a natural number (n≧1). Each time the step-up operation is performed, the value of the step-up voltage ΔVstep becomes larger. Thus, the program voltage is increased in an accelerating manner.
Incremental values of the step-up voltage ΔVstep are stored in the ROM 7 provided in the NAND-type flash memory 100, for example. The control circuit 5 reads out the incremental values stored in the ROM 7. In addition, the incremental values of the step-up voltage ΔVstep may be sent from the memory controller HM (or an external host, etc.) along with the command.
When the control circuit 5 judges the selected word line to be incomplete, the control circuit 5 performs the program operation again using the updated program voltage determined by the step-up operation (the step S10). The operations from the step S10 to S12 are repeated until the number of the insufficient programmed cell becomes less than the given value. In addition, when the program operation loop count exceeds a prescribed number of times, and the number of the unsufficiently programmed cells still exceeds a target value, the control circuit 5 concludes that the programming is impossible, and finishes the program operation loop.
The read operation of the NAND-type flash memory 100 is described as follows: The control circuit 5 applies the read voltage VCGRV to the selected word line and the read-pass voltage VREAD to the all the other word lines (unselected word lines) in the same block. The values of VREAD of all the unselected word lines can be uniformly the same. Also these VREAD values may differ among the unselected word lines. Then, the control circuit 5 applies 0 V to the common source line CELSRC and the pre-charge voltage to the bit line BL. After these voltages are prepared, the control circuit 5 switches the select transistors SD and SS to the “ON” state. When the threshold voltage of the memory cell MC is higher than the read voltage, the electric charge in the bit line BL is not discharged. The voltage of the bit line BL is sensed by the sense amplifier circuit, and the data of the memory cell MC is judged as “0” data. On the other hand, when the threshold voltage of the memory cell MC is lower than the read voltage, the electric charge in the bit line BL is discharged. The voltage of the bit line BL is sensed by the sense amplifier circuit, and the data of the memory cell MC is judged as “1” data. In addition, 0 V (possibly, a positive voltage) is applied to the cell well 55 of the memory cell MC.
The read voltages VCGRV are set between the fragments of the threshold voltage distributions, as shown in
The erase operation is performed block by block, for example. The control circuit 5 applies the voltage values shown in the “ERASE” row in
The effect of the present invention on the NAND-type flash memory 100 is described with reference to
As mentioned before, the program voltage VPGM is increased ΔVstep by ΔVstep every program loop. In the same way, the step-up voltage ΔVstep itself is also increased every program loop in the present invention. A new variable ΔΔVstep is here defined as a step-up value of ΔVstep, that is, ΔVstep increases ΔΔVstep by ΔΔVstep every program loop. In the embodiment (
In both cases of the embodiment and the comparative example, each of the natural threshold voltage distributions is divided into four memory cell groups 1-4. The memory cells belonging to the same group pass the threshold voltage target (which is referred to as the “verify level” hereinafter) at the same program operation loop. The natural threshold voltage distribution shifts its position every program operation loop in the growing direction (from the left to the right in
In the case of the comparative example (
After the third program operation, the threshold voltages of the memory cells belonging to the memory cell group 2 reach the verify voltage VCGRV (see the “B” column in
Although the inhibited cells are not programmed during the program operation, their threshold voltages may shift upward due to cell-to-cell interference. The threshold voltages of the inhibited cells are affected by change of the electric charge of the adjacent cells. The magnitude of the threshold voltage shift due to cell-to-cell interference depends on the groups of the adjacent memory cells. For example, when both adjacent cells belong to the group 4, the voltage shifts of the inhibited cells are expected to be the greatest among all the combinations of the groups of adjacent cells, because the cells of the group 4 are programmed throughout all the program operations. On the other hand, if both adjacent cells belong to group 1, the threshold voltages of inhibited cells hardly change, because the programming of the adjacent cells is already finished at the second program operation, and the adjacent cells are in the program inhibit states after the second program operation, as well. The greater the shifts of the threshold voltages of the adjacent cells are, the greater the shifts of the threshold voltages of the inhibited cells are. Since the groups of the adjacent cells are randomly decided as described above, the magnitude of the threshold voltage shifts of the inhibited cells are also random. This randomness of the threshold voltage shifts of adjacent cells results in broadening of the threshold voltage distribution of inhibited cells.
Because of the broadening mechanism mentioned above, the threshold voltage distribution of the cells of the group 1 is broadened at the third program operation (see the “B” column of
Similarly, the threshold voltage distribution of the memory cell group 2 as well as the memory cell group 1 is broadened at the fourth program operation. The memory cell groups 1 and 2 are in the program inhibit states at the fourth program operation. The threshold voltage distribution of the memory cell group 3 is also broadened at the fifth program operation, as well as the memory cell groups 1 and 2.
The width of the threshold voltage of each cell group is broadened as much as 0.2V per one program operation in this example. All the cell groups have the threshold voltage distribution of 0.8V width. Therefore, the threshold voltage distribution of the whole word line has 0.8V width after the fifth (and last) program operation, as shown in the lowest column in
Evolution of the threshold voltage distribution in the comparative example is shown in
The width of the threshold voltage distribution of the memory cell group 1 is the most broadened after the cell group 1 reaches the verify-read voltage VCGRV, as shown in
On the other hand, in the comparative example (
To show the above effect more clearly, Monte Carlo simulations are conducted (see
As shown in
As described above, it is found that the incremental values ΔΔVstep has a proper value to reduce the width of the threshold voltage distribution without loss of the programming speed. Adjusting the incremental value ΔΔVstep to the proper value, the threshold voltage distribution can be reduced without loss of the programming speed. Accordingly, it is possible to improve the reliability of the data of NAND-type non-volatile semiconductor storage device.
In addition, the incremental value ΔΔVstep of the step-up voltage ΔVstep can be a constant value. It is possible to reduce the threshold voltage distribution without complicated control of program operations or loss of the programming speed.
A physical interval between NAND-type flash memory cells has been becoming narrower and narrower due to increase of storage capacity and cell number density. This shrinkage of cell size brings greater cell-to-cell interference. Even when the cell size of the NAND-type flash memory is reduced, it is possible to improve the reliability of the data of the NAND-type flash memory by applying the program operation according to the embodiment.
In addition, a proper value for the incremental value ΔΔVstep can be obtained with a simulation etc. and can be stored in a ROM before a shipment of the product. In addition, a proper value for the incremental value ΔΔVstep is calculated at the time of a die sort test, and can be stored in the ROM 7 before the shipment of the product.
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 modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2012-254752 | Nov 2012 | JP | national |