PROGRAMMING TIME IMPROVEMENT FOR NON-VOLATILE MEMORY
Disclosed herein are techniques for providing a programming voltage to a selected word line in a non-volatile memory array. This may be a 3D NAND, 2D NAND, or another type of memory array. The programming voltage may be quickly ramped up on the selected word line, without the need for adding a stronger charge pump to the memory device. The voltage on the selected word line may be ramped up to a target voltage during a channel pre-charge phase. The target voltage may be limited in magnitude so that program disturb does not occur. Next, during a channel boosting phase, the unselected word lines are increased to a boosting voltage. The voltage on the selected word line is also increased during the boosting phase to a second target level. Then, the voltage on the selected word line is charged up from the second target level to a program voltage.
The present disclosure relates to technology for non-volatile storage.
Semiconductor memory has become more popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in personal navigation devices, cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Electrical Erasable Programmable Read Only Memory (EEPROM) and flash memory are among the most popular non-volatile semiconductor memories.
Some EEPROMs or flash memory devices have a configuration referred to as a NAND configuration in which memory cells are grouped as NAND strings with each NAND string associated with a bit line. One type of NAND memory array is a two-dimensional array. Another type of NAND memory array is a three-dimensional array. One 3D NAND stacked memory device is sometimes referred to as a Bit Cost Scalable (BiCS) architecture.
In a 3D NAND BiCS architecture, a 3D NAND stacked memory device can be formed from an array of alternating conductor and insulator layers. A memory hole is drilled in the layers to define many memory layers simultaneously. A NAND string is then formed by filling the memory hole with appropriate materials. A straight NAND string extends in one memory hole, while a pipe- or U-shaped NAND string (P-BiCS) includes a pair of vertical columns of memory cells which extend in two memory holes and which are joined by a pipe connection. The pipe connection may be made of undoped polysilicon. A dielectric and back gate may surround the pipe connection forming a back gate transistor to control conduction of the pipe connection. Control gates of the memory cells are provided by the conductor layers.
Memory cells in some NAND architectures have a charge storage region that holds charge to program the memory cells. One example of a charge storage region is a floating gate. When programming an EEPROM or flash memory device, such as a NAND flash memory device, typically a program voltage is applied to the control gate (or selected word line) and the bit line is grounded. Electrons from the channel are injected into the charge storage region. When electrons accumulate in the charge storage region, the charge storage region becomes negatively charged and the threshold voltage of the memory cell is raised so that the memory cell is in a programmed state.
In many cases, the program voltage is applied to the control gate as a series of pulses (referred to as programming pulses), with the magnitude of the pulses increasing with each pulse. Between programming pulses, a set of one or more verify operations are performed to determine whether the memory cell(s) being programmed have reached their target level. If a memory cell has reached its target level, programming stops for that memory cell. If a memory cell has not reached its target level, programming will continue for that memory cell.
Like-numbered elements refer to common components in the different figures.
A problem with programming non-volatile storage is the time it takes to raise the selected word line to the program voltage. Capacitive coupling between the selected word line and adjacent unselected word lines can slow the rate at which the voltage on the selected word line ramps up.
Furthermore, the capacitive coupling between word lines is larger for some architectures than for others. As one possibility, as the size of memory arrays continues to scale down, the capacitive coupling between adjacent word lines may increase. Another possibility is that a 3D architecture may have greater capacitance between word lines than a 2D architecture. This will be explained more fully below with reference to an example 3D architecture. Briefly, the area of the adjacent surfaces of word lines in a 3D architecture may be much greater than in a 2D architecture.
Also, note that the programming voltages may be larger for some architectures than for others. One possibility is that memory cells in a 3D BiCS architecture require a higher program voltage than memory cells in a 2D NAND. However, the programming voltage may depend on a variety of factors, and in some cases the programming voltage needed in one type of 2D NAND could be larger than another type of 2D NAND.
One possible solution to problems associated with charging word lines is to provide a stronger charge pump for delivering the program voltage. However, such a solution has drawbacks, such as requiring additional layout and consuming a larger peak current.
Disclosed herein are techniques for providing a programming voltage to a selected word line in a non-volatile memory array. This may be a 3D NAND, 2D NAND, or another type of memory array. The programming voltage may be quickly ramped up on the selected word line, without the need for adding a stronger charge pump to the memory device.
In one embodiment, selected and unselected word lines have a pre-charge voltage applied to them during a channel pre-charge phase. Then, the voltage on the selected word line is ramped up to a target voltage during the channel pre-charge phase while maintaining the pre-charge voltage on the unselected word lines. The target voltage applied to the selected word line may be limited in magnitude so that program disturb does not occur. On the other hand, the target voltage may be large enough to help speed the ramping up to a program voltage later on. Next, during a channel boosting phase, the unselected word lines are increased to a boosting voltage (e.g., VPASS). The voltage on the selected word line is also increased during the boosting phase to a second target level. In one embodiment, the voltage is increased by floating the selected word line, while charging up unselected word lines to the boosting voltage. In another embodiment, the voltage is increased by (directly) charging up the selected word line using a charge pump. Then, the voltage on the selected word line is charged up from the second target level to a program voltage using a charge pump.
Note that the second target level on the selected word line may be relatively close (but typically below) the program voltage. Because the voltage on the selected word line only needs to be ramped up a small amount from the second target level to the program voltage, this can be achieved quickly and without resorting to stronger charge pumps. Further note that the charging of the selected word line to the first target level may take place during the pre-charge phase while other events are happening. This ramp up time may be effectively hidden within the pre-charge phase. Therefore, a stronger charge pump is not required to achieve the first target voltage. Also, the total programming time is not increased with such a technique, and may be decreased.
Also note that moving from the first target voltage to the second target voltage level on of the selected word line may take place during the boosting phase while the unselected word lines are being raised to the boosting voltage. Thus, this does not require a stronger charge pump to achieve. Further details are discussed below.
Example Memory System and OperationOne example of a memory system suitable for implementing embodiments uses a NAND flash memory architecture, which includes connecting multiple transistors in series between two select gates. Note that this could be a 2D NAND architecture or a 3D NAND architecture. Some examples are described herein of a 2D NAND architecture. Other examples described herein are of a 3D NAND architecture. Some embodiments described are applicable to either a 2D NAND architecture or a 3D NAND architecture.
The transistors connected in series and the select gates are referred to as a NAND string.
A typical architecture for a flash memory system using a NAND structure will include many NAND strings. Each NAND string is connected to the source line by its source select gate controlled by select line SGS and connected to its associated bit line by its drain select gate controlled by select line SGD. Each bit line and the respective NAND string(s) that are connected to that bit line via a bit line contact comprise the columns of the array of memory cells. Bit lines are shared with multiple NAND strings. Typically, the bit line runs on top of the NAND strings in a direction perpendicular to the word lines and is connected to one or more sense amplifiers.
Each storage element can store data. For example, when storing one bit of digital data, the range of possible threshold voltages (VTH) of the storage element is divided into two ranges which are assigned logical data “1” and “0.” In one example of a NAND type flash memory, the VTH is negative after the storage element is erased, and defined as logic “1.” The VTH after a program operation is positive and defined as logic “0.” When the VTH is negative and a read is attempted, the storage element will turn on to indicate logic “1” is being stored. When the VTH is positive and a read operation is attempted, the storage element will not turn on, which indicates that logic “0” is stored. A storage element can also store multiple levels of information, for example, multiple bits of digital data. In this case, the range of VTH value is divided into the number of levels of data. For example, if four levels of information are stored, there will be four VTH ranges assigned to the data values “11”, “10”, “01”, and “00.” In one example of a NAND type memory, the VTH after an erase operation is negative and defined as “11”. Positive VTH values are used for the states of “10”, “01”, and “00.” The specific relationship between the data programmed into the storage element and the threshold voltage ranges of the storage element depends upon the data encoding scheme adopted for the storage elements.
When programming a flash storage element, a program voltage is applied to the control gate of the storage element, and the bit line associated with the storage element is grounded. Electrons from the channel are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the VTH of the storage element is raised. To apply the program voltage to the control gate of the storage element being programmed, that program voltage is applied on the appropriate word line. As discussed above, one storage element in each of the NAND strings share the same word line. For example, when programming storage element 224 of
In one approach, the substrate 340 employs a triple-well technology which includes a p-well region 332 within an n-well region 334, which in turn is within a p-type substrate region 336. The 2D NAND string and its non-volatile storage elements can be formed, at least in part, on the p-well region. A source supply line 304 with a potential of VSOURCE is provided in addition to a bit line 326 with a potential of VBL. Voltages, such as body bias voltages, can also be applied to the p-well region 332 via a terminal 302 and/or to the n-well region 334 via a terminal 303. During a program operation, a program voltage VPGM is provided on a selected word line, in this example, WL4, which is associated with storage element 316. Further, recall that the control gate of a storage element may be provided as a portion of the word line. For example, WL0, WL1, WL2, WL3, WL4, WL5, WL6 and WL7 can extend via the control gates of storage elements 308, 310, 312, 314, 316, 318, 320 and 322, respectively. A pass or boosting voltage, VPASS is applied to the remaining unselected word lines associated with NAND string 301. VSGS and VSGD are applied to the select gates 306 and 324, respectively. Note that programming in a 3D NAND architecture has many similarities. However, the shape and orientation of the NAND string and word lines are different, as described below.
Example 3D Memory DeviceThe following discussion of an example 3D memory device is presented as one possible architecture in which embodiments may be practiced. These examples include a 3D NAND memory device. That is, the device includes NAND strings.
In one possible approach, the length of the plane, in the x-direction, represents a direction in which signal paths to word lines extend in the one or more upper metal layers, and the width of the plane, in the y-direction, represents a direction in which signal paths to bit lines extend in the one or more upper metal layers. The z-direction represents a height of the memory device.
Each block includes rows of columnar, e.g., vertical, memory holes or pillars, represented by circles. Each row represents a vertical group of columns in the figure. The memory holes extend vertically in the stack and include memory cells such as in a vertical NAND string. Example columns of memory cells in BLK0A along a line 600 include C0 to C11. The figure represents a simplification, as many more rows of memory holes will typically be used, extending to the right and left in the figure. Also, the figures are not necessarily to scale. The columns of memory cells can be arranged in sub-blocks 601 to 606 in BLK0A and 621 to 626 in BLK1A. When U-shaped NAND strings are used, each sub-block can include two adjacent rows of columns of memory cells. In a sub-block, the adjacent rows are separated by the slit. The columns of memory cells on one side of the slit are drain-side columns (e.g., C0, C3, C4, C7, C8 and C11 in
Word line drivers WL0A1-DR, WL0A2-DR, WL1A1-DR and WL1A2-DR independently provide signals such as voltage waveforms to the word line layer portions WLA1, WLA2, WLB1 and WLB2, respectively.
The drawings are not to scale and do not show all memory columns. For example, a more realistic block might have 12 memory columns in the y direction as shown, but a very large number such as 32 k memory columns in the x direction, for a total of 384 k memory columns in a block. With U-shaped NAND strings, this is 192K NAND strings. With straight NAND strings, this is 384 k NAND strings.
A dashed line 800 extends through columns C0 to C6, shown in cross-section in
The source line SLA0 is connected to the source ends 702 and 704 of two adjacent memory strings NSA0 and NSA1, respectively, in the SetA0 of memory strings. The source line SLA0 is also connected to other sets of memory strings which are behind NSA0 and NSA1 in the x direction. Recall that additional U-shaped NAND strings in the stack 677 extend behind the U-shaped NAND strings depicted in the cross-section, e.g., along the x-axis. The U-shaped NAND strings NSA0 to NSA5 are each in a different sub-block, but are in a common set of NAND strings (SetA0).
The slit portion 608 from
Short dashed lines depict memory cells and select gates, as discussed further below.
Referring again to
A region 669 of the stack is shown in greater detail in
The region shows portions of the dielectric layers D6 to D8 and the conductive layers WL6 and SG. Each column includes a number of layers which are deposited along the sidewalls of the column. These layers can include oxide-nitride-oxide and polysilicon layers which are deposited, e.g., using atomic layer deposition. For example, a block oxide can be deposited as layer 696, a nitride such as SiN as a charge trapping layer can be deposited as layer 697, a tunnel oxide can be deposited as layer 698, a polysilicon body or channel can be deposited as layer 699, and a core filler dielectric can be deposited as region 695. Additional memory cells are similarly formed throughout the columns.
When a memory cell is programmed, electrons are stored in a portion of the charge trapping layer which is associated with the memory cell. For example, electrons are represented by “−” symbols in the charge trapping layer 697 for MC6,0. These electrons are drawn into the charge trapping layer from the polysilicon body, and through the tunnel oxide. The threshold voltage of a memory cell is increased in proportion to the amount of stored charge.
In one embodiment, access to the memory array 900 by the various peripheral circuits is implemented in a symmetric fashion, on opposite sides of the array, so that the densities of access lines and circuitry on each side are reduced by half. The read/write circuits 930A and 930B include multiple sense blocks 930 which allow a page of memory cells to be read or programmed in parallel. The memory array 900 is addressable by word lines via row decoders 940A and 940B and by bit lines via column decoders 942A and 942B. In a typical embodiment, a controller 944 is included in the same memory device 910 (e.g., a removable storage card or package) as the one or more memory die 912. Commands and data are transferred between the host and controller 944 via lines 932 and between the controller and the one or more memory die 912 via lines 934. One implementation can include multiple chips 912.
Control circuitry 920 cooperates with the read/write circuits 930A and 930B to perform memory operations on the memory array 900. The control circuitry 920 includes a state machine 922, an on-chip address decoder 924 and a power control module 926. The state machine 922 provides chip-level control of memory operations. The on-chip address decoder 924 provides an address interface to convert between the address that is used by the host or a memory controller to the hardware address used by the decoders 940A, 940B, 942A, and 942B. The power control module 926 controls the power and voltages supplied to the word lines and bit lines during memory operations. In one embodiment, power control module 926 includes one or more charge pumps that can create voltages larger than the supply voltage.
In one embodiment, one or any combination of control circuitry 920, power control circuit 926, decoder circuit 924, state machine circuit 922, decoder circuit 942A, decoder circuit 942B, decoder circuit 940A, decoder circuit 940B, read/write circuits 930A, read/write circuits 930B, and/or controller 944 can be referred to as one or more managing circuits.
This diagram shows a charge pump 902 providing voltages to the memory array 900. The charge pump 902 provides voltages to a word line (WL) driver 904, which provides the voltages to the row decoder 940A. The row decoder 940A drives a set of the word lines. The other row decoder 940B drives another set of the word lines. A similar (or the same) charge pump may provide voltages to the other row decoder 940B.
The limiter 906 samples the voltage provided by the charge pump 902 and limits the voltage by providing a feedback signal to the charge pump 902. The limiter 906 is not required, as other techniques could be used to limit the voltage.
The ROM 908 contains various device parameters, in one embodiment. These device parameters may include parameters to help the controller 944 (or other logic) to determine suitable voltages to apply to the selected word line during programming. These parameters can include values that either specify the capacitive coupling between word lines or can be used to calculate the capacitive coupling between word lines. Note that this calculation may be an estimate of the capacitive coupling. In one embodiment, the controller 944 determines a worst case capacitive coupling. The worst case capacitive coupling could be a maximum expected capacitive coupling given various factors such as process variations and operational conditions. Further details are discussed with respect to
The parameters in the ROM 908 can include either the minimum expected voltage in the channel of unselected NAND strings during the pre-charge phase or values that can be used to determine said voltage. The parameters in the ROM 908 can include either maximum acceptable voltage between the NAND channel and the word line factoring in program disturb or values to determine said maximum acceptable voltage. Further details of using such parameters to calculate voltages for the selected word line during programming are discussed with respect to
Note that it is not required that the parameters be stored in the ROM 908. The parameters could be stored elsewhere on the memory device 910, such as in a spare memory region of the memory array 900. In one embodiment, the parameters for determining selected word line voltages during programming are provided to the controller 944 from outside of the memory device 910. As one alternative, logic outside of the memory device 910 could determine suitable voltages and provide the values for the voltages directly to the controller 944.
In step 1004, channels of NAND strings are pre-charged. This is referred to herein as a pre-charge phase. Further details are shown and described with respect to
In step 1006, channels of unselected NAND strings are boosted. An unselected NAND string is one that does not have a memory cell being programmed That is, the program pulse to be applied should not program any memory cells on an unselected NAND string. Boosting the channels of unselected NAND strings helps to prevent program disturb.
In step 1008, a program pulse is applied to the selected word line. Techniques disclosed herein ramp up the selected word line voltage to the program voltage rapidly without resorting to using a large change pump. Techniques disclosed herein may decrease the total amount of time that steps 1004-1008 take to perform.
In step 1010, a verification process is performed. In step 1012, it is determined whether memory cells have verified that their threshold voltages are at the final target voltage for that memory cell. Note that it is not required that every memory cell for a given state is verified to be at the appropriate threshold voltage. Error correction is able to correct for some memory cells being below their target threshold voltage. Error correction is able to correct for some memory cells being over-programmed Step 1012 is referring to all states having completed programming.
If verification passes, the programming process is completed successfully (status=pass) in step 1014. If all of the memory cells are not all verified, then it is determined whether the program counter (PC) is less than a maximum value such as 20. If the program counter (PC) is not less than max (step 1016), then the program process has failed (step 1018). If the program counter (PC) is less than a maximum value (e.g., 20), then the program counter (PC) is incremented by 1 and the program voltage is stepped up to the next value in step 1020. Subsequent to step 1020, the process loops back to step 1004 to prepare for and apply the next program pulse to the selected word line.
Three read reference voltages, Vra, Vrb and Vrc, are also provided for reading data from storage elements. By testing whether the threshold voltage of a given storage element is above or below Vra, Vrb and Vrc, the system can determine the state, e.g., programming condition, the storage element is in.
Further, three verify reference voltages, Vva, Vvb and Vvc, are provided. When programming storage elements to the A-state, B-state or C-state, the system will test whether those storage elements have a threshold voltage greater than or equal to Vva, Vvb or Vvc, respectively.
A low voltage on the order of 1.0V-1.5V is applied to the source line at step 1202. The drain select gate is turned on at step 1204, for example, by applying a positive bias of about VSGD. At step 1206, a pre-charge enable voltage VPCE is applied to each word line of the NAND string.
At step 1208, the data is applied to the bit lines of each NAND string forming part of the programming process. For example, those NAND strings not to be programmed (inhibited) will have VDD applied to their bit lines while those NAND strings to be programmed will have 0V applied to their bit lines. At step 1210, the drain select gate line voltage is lowered to turn off the drain select gate for the inhibited NAND strings while leaving the enabled NAND strings in communication with their bit line.
At step 1212, the selected word line is charged to a first target voltage (referred to herein as V1). V1 may be larger than the pre-charge enable voltage VPCE. In one embodiment, a charge pump 902 is used to provide the voltage to a word line driver 904, which drives the selected word line to the first target voltage.
Step 1212 concludes the pre-charge phase. The channel region of an inhibited NAND string will be pre-charged in accordance with the bit line voltage to further facilitate program inhibit when the program voltage is later applied.
At step 1214, the selected word line is floated. This step will allow the voltage on the selected word line to couple up to a second target voltage V2.
At step 1216, a boosting voltage (e.g., VPASS) is applied to unselected word lines. Note that this ramps the voltage in unselected word lines from VPCE up to VPASS. A charge pump 902 may be used to provide VPASS to the unselected word lines. Note that the magnitude for VPASS does not need to be the same for each of the unselected word lines. There are a variety of boosting schemes that can be used. Examples of boosting schemes include, but are not limited to, self-boosting (SB), local self-boosting (LSB) and erase area self-boosting (EASB).
Note that the floating of the selected word line occurs while the boosting voltage is applied to the unselected word lines. Since the selected word line is floated at this time, the voltage on the selected word line will increase due to capacitive coupling with the adjacent unselected word lines. The selected word line thus has its voltage increase from the first target voltage (V1) to a second target voltage (V2). V2 is typically below the program voltage. If V2 is above the program voltage, this could extend the overall duration of the program pulse. It may be undesirable to extend the overall duration of the program pulse.
The program voltage VPGM is then applied to the selected word line at step 1218. This may include a charge pump 902 providing the program voltage to the selected word line. Because V2 is typically fairly close to the program voltage, the charge pump 902 does not have to ramp up the voltage on the selected word line by a significant amount. However, since V2 is typically below the VPGM, the program pulse duration is not extended.
With the boosting voltages applied and the inhibited NAND string pre-charged, programming of targeted memory cells on the selected word line is inhibited. At step 1220, the word lines, bit lines, source lines, and drain select gate lines are lowered to 0V, marking the completion of one programming iteration. It should be noted that the steps of
Step 1216 (boosting the unselected word lines) may be similar to
The timing diagram is divided to illustrate the pre-charge phase and boosting/programming phase of the programming process. [Note that the pre-charge phase and boosting/programming phase do not necessarily form the entire sequence.] The voltage signals illustrated for the pre-charge phase from time t1-t6 can be used at step 1004 of
The common source line SL is raised to a low voltage of about 1.0V-1.5V at time t0 where it remains for the duration of the programming process. The source line SL is kept at 0V in some embodiments. The source select gate line SGS remains at 0V to place the source select gates into isolation mode. At time t1, the drain select gate line SGD is raised to VSG, which is on the order of about 3.5V-4.5V, in one embodiment. The pre-charge enable voltages are applied to the word lines at time t2. Both the selected word line WL and the unselected word lines receive the pre-charge voltage VPCE. In one embodiment, VPCE is equal to 0V, however, other voltages can be used as well. Thus, although the timing diagram depicts VPCE as being greater than 0V, this is for the purpose of explanation. VPCE is not required to be greater than 0V.
At time t3, the data is applied to the bit lines. A first value can be set into a bit line latch for each unselected NAND string and a second value set into the bit line latch for each of the selected NAND strings. Line 1362 shows the bit line voltage at 0V for a NAND string having a cell at the selected word line WLn that is to be programmed Line 1360 shows the bit line voltage at VDD for a NAND string having a cell at WLn that is to be inhibited from programming. VDD designates program inhibit and is often referred to as a program inhibit voltage. It can also be thought of as a pre-charge voltage as this voltage is essentially transferred to the channel region of the inhibited NAND string when a high voltage is applied on SGD. A voltage other than VDD can be used for the pre-charge voltage in other embodiments. A level of the pre-charge voltage, and corresponding level for VSG, should be chosen to achieve proper pre-charging within the channel region.
Referring to the period from t3-t4, line 1370 depicts the resulting channel voltage of a NAND string that is inhibited from programming. The channel voltage VCH is pre-charged to a level in accordance with the bit line voltage and voltage applied to the drain select gate line. In this case, VSG is applied to SGD such that the full bit line voltage is transferred to the channel region causing a rise in VCH to VDD. Line 1372 depicts the resulting channel voltage VCH of a NAND string that is enabled for programming 0V is applied to this string's bit line resulting in a channel voltage of 0V. Thus, there is no pre-charging in the enabled NAND string.
At time t4, the drain select gate line SGD is lowered to VSGD. The voltage VSGD is lower than VSG in order to turn off the drain select gate in those NAND strings that are to be inhibited from programming. Thus, the channel region of those NAND strings that are to be inhibited from programming are cutoff from the bit line, enabling boosting of those channel regions as hereinafter described. The NAND strings that are to be programmed, having 0V at their bit line, will remain on when the drain side select gate voltage is lowered to VSGD. The channel regions remain at 0V and a path is provided to draw electrons to the floating gates of the memory cells when the programming voltage is applied. In one embodiment, the drain select gate line can be raised to VSGD at time t1. The full bit line voltage VDD may not be transferred into the channel in such an embodiment, leading to a lower pre-charge level.
At time t5, the voltage on the selected word line is raised to a first target voltage V1. In one embodiment, a charge pump 902 is used to charge up the selected word line to V1.
At time t6, the pre-charge phase ends and the boosting/programming phase begins. The boosting voltages are applied to the various word lines at time t6. In one embodiment, each unselected word line receives a boosting voltage VPASS. In one embodiment, the voltage applied to the unselected word lines depends on their position relative to the selected word line.
In one embodiment, a pass voltage is applied to at least a subset of unselected word lines during a program operation. The pass voltage is typically less than the program voltage. As one example, the pass voltage may be 10 volts. However, the pass voltage could be higher or lower. The pass voltage may assist in boosting channels of memory cells. In one embodiment, capacitive coupling between the control gate and channel lifts the channel potential. Thus, the pass voltage that is applied to the control gate may serve to boost the channel potential.
In one embodiment, the unselected word lines may receive different pass voltages. For example, in one LSB embodiment, many of the unselected word lines receive a VPASS of, for example, 10V, while one or more receive a voltage less than 10V. In one EASB embodiment, many of the unselected word lines receive a VPASS of, for example, 10 V, while one or more receive a voltage less than 10V. Some unselected word lines could receive a voltage greater than the normal VPASS in one embodiment.
The channel voltage VCH of the inhibited NAND string rises in accordance with the boosting voltage applied to the word lines as shown at 1370. In some implementations, about a 50% coupling ratio between channel and word line can be expected. If a value of 1V is used for VPCE and a value of 10V is used for VPASS, the word line voltages are increased about 9V when VPASS is applied. Accordingly, the channel voltage of the inhibited NAND string can be expected to rise about 4.5V. Since the channel region was pre-charged to about VDD, the channel voltage VCH can be expected to rise to at least 5.5V. For the NAND string enabled for programming, the channel region remains at 0V as shown at 1372 because the drain select gate is on and 0V is applied to the bit line.
Also, at time t6, the selected word line has its voltage raised from the first target voltage V1 to the second target voltage V2. In one embodiment, the selected word line is floated at time t6. This allows the voltage on the selected word line to be coupled up from V1 to V2 due to capacitive coupling with its neighbor unselected word lines. In one embodiment, the selected word line is charged up to V2 by the charge pump 902 rather than floating the selected word line.
At time t7, the program voltage VPGM is applied to the selected word line WLn. In one embodiment, charge pump 902 supplies the program voltage VPGM to the selected word line. Note that the selected word line only needs to go from V2 to VPGM. This can be achieved quickly without a large charge pump 902. That is to say, V2 can be made relatively close to VPGM such that a large charge pump is not required.
Because the inhibited NAND string channel is boosted when the program voltage is applied, the unselected memory cells at WLn for the inhibited NAND strings will not be programmed. The boosted channel region voltage decreases the potential across those memory cells' tunnel oxide regions, thus preventing any inadvertent programming.
At time t8, the word lines are lowered to 0V. The source and bit lines are then lowered to 0V at time t9. The drain select gate line SGD is lowered to 0V at time t10. Numerous variations to the signals depicted in
In step 1402, the control logic (e.g., one or more managing circuits) on the memory device accesses parameters for determining V1 from non-volatile storage. In one embodiment, the controller 944 accesses parameters form the ROM 908. The ROM 908 on the memory device contains various device parameters. This ROM 908 can be written when the memory device is manufactured.
One factor in the determination of a suitable V1 is to prevent (or substantially reduce) program disturb from happening.
Another factor in the determination of a suitable V1 is the magnitude of the second target voltage V2. Note that in some embodiments, the magnitude of V1 has an impact on the magnitude of V2. This may be the case for embodiments in which the selected word line is coupled up to V2 based on capacitive coupling with the unselected word lines.
In step 1404, the control logic calculates a target for V1. In one embodiment, Equation 1 is used to determine V1.
V1=VPGM−VSTEP−CR*(VPASS−VPCE) Eq. 1
In Equation 1, VPGM is the target program voltage and VSTEP is the desired step up from V2 to VPGM. As discussed above, the value for VPGM may increase during programming with each program loop. Therefore, this may be a variable that depends on which program loop is being performed. As noted, VSTEP is the desired step up from V2 to VPGM. VSTEP is the size of the increment in VPGM from one program loop to the next, in one embodiment. However, VSTEP could be smaller or larger. In effect, VSTEP is a target voltage gap between V2 and VPGM.
CR refers to the capacitive coupling ratio between the selected word line and neighboring (e.g., adjacent) unselected word line(s). VPASS is the boosting voltage that is applied to the neighboring unselected word line(s). VPCE is the voltage that is applied to the neighboring unselected word line(s) during the channel pre-charge phase. Thus, note that VPASS−VPCE represents the increase of voltage on the unselected word lines just after t6, in the embodiment of
In one embodiment, CR is the maximum expected coupling ratio between the selected and unselected word lines, given factors such as process variation and operating conditions. In one embodiment, the control logic determines CR based on information in the ROM 908. CR may change according to the program operation. The reasons of the change include the number of active planes and location of the selected word line. For example, if the selected word line is at the end of the NAND string it may have only one directly adjacent unselected word line. On the other hand, some selected word lines may have two directly adjacent unselected word lines. Also, a greater number of active planes in a 3D device can result in a greater CR. As one example, the number of active planes might vary between one plane and four planes.
Also information of process variation may be used to calculate CR. As one example, the parasitic capacitance could be calculated with assumptions of a certain amount (e.g., 10%) process variation in each dimension. The process variation includes WL-WL capacitance and capacitance between CG wires that carry VPGM and adjacent wires. The WL-WL parasitic capacitance is represented in
If there is a neighbor unselected word line on each side of the selected word line, the value for VPASS may be the same for both neighbors, of may be different for the two neighbors.
Referring back to Equation 1, in one embodiment, the control logic determines V1 based on a difference between the program voltage and the coupling ratio between the selected word line and one or more adjacent unselected word lines. In one embodiment, the control logic determines V1 based on a difference between the program voltage and a product of the coupling ratio times the difference between the boosting voltage (VPASS) and VPCE. Note that the coupling ratio could be a maximum expected coupling ratio, but that is not required.
In step 1406, the control logic compares V1 to a maximum allowable V1. As noted above, the magnitude of V1 should not be too great or program disturb could occur. In one embodiment, Equation 2 is used by the control logic to determine whether the target value for V1 is too great.
V1>VCH
In Equation 2, VCH
In Equation 2, VDIST is a maximum acceptable voltage between the NAND channel and the selected word line factoring in program disturb. For example, VDIST may be a maximum acceptable voltage with a tolerable amount of program disturb, with no program disturb, etc. In one embodiment, a value for VDIST is stored into non-volatile storage (e.g., ROM 908) on the memory device.
Referring back to Equation 2, in one embodiment, to calculate V1, the control logic accesses a first parameter that specifies a minimum expected voltage of channels during the pre-charge phase (e.g., VCH
In one embodiment, the control logic determines a suitable V1 based on Equation 2, but does not use Equation 1. For example, if the selected word line is being charged from V1 to V2 (as opposed to floated and capacitively coupled up), then Equation 1 is not used in one embodiment.
Equation 3 is one example of calculating a maximum acceptable VDIST. This may result in a disturb that is comparable to program disturb that may otherwise occur.
VDIST=VPGM−VCH
In Equation 3, tV1 is the duration of V1 on the selected word line, Npul/wl is the number of pulses of V1 per word line, tVPGM is the program pulse duration, VCH
If the control logic determines that the target V1 is greater than VCH
If the target for V1 is not greater than VCH
Referring again to
One embodiment includes a method of operating non-volatile storage comprising the following. A first voltage is applied to unselected word lines during a channel pre-charge phase. A second voltage that is greater than the first voltage is applied to a selected word line during the channel pre-charge phase. The first voltage on the unselected word lines in increased to a boosting voltage. The second voltage on the selected word is increased to a third voltage that is greater than the boosting voltage. The third voltage is increased to a program voltage on the selected word line while maintaining the boosting voltage on the unselected word lines.
One embodiment includes a non-volatile storage device comprising a plurality of NAND strings of non-volatile storage elements, a plurality of bit lines associated with the plurality of NAND strings, a plurality of word lines associated with the plurality of NAND strings, and one or more managing circuits in communication with the plurality of bit lines and the plurality of word lines. The one or more managing circuits apply a first voltage to unselected word lines during a channel pre-charge phase. The one or more managing circuits apply a second voltage that is greater than the first voltage to a selected word line during the channel pre-charge phase. The one or more managing circuits increase the first voltage on the unselected word lines to a boosting voltage. The one or more managing circuits increase the second voltage on the selected word to a third voltage that is greater than the boosting voltage. The one or more managing circuits increase the third voltage to a program voltage on the selected word line while maintaining the boosting voltage on the unselected word lines.
A method of operating non-volatile storage comprising a plurality of NAND strings having channels. The method comprises the following. The channels of the plurality of NAND strings are pre-charged, including applying a pre-charge voltage to a selected word line and unselected word lines associated with the plurality of NAND strings. An inhibit voltage is applied to bit lines associated with unselected NAND strings of the plurality of NAND strings after pre-charging the channels. A program enable voltage is applied to bit lines associated with selected NAND strings of the plurality of NAND strings after pre-charging the channels. A voltage on the selected word line is increased from the pre-charge voltage to a first target voltage after applying the inhibit voltage and the program voltage to the bit lines and while maintaining the pre-charge voltage on the unselected word lines. The pre-charge voltage on the unselected word lines is increased to a boosting voltage while increasing the first target voltage on the selected word line to a second target voltage during a channel boosting phase. A program voltage is applied to the selected word line after the second target voltage has been achieved on the selected word line.
The foregoing detailed description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto.
Claims
1. A method of operating non-volatile storage, comprising:
- applying a first voltage to unselected word lines during a channel pre-charge phase;
- applying a second voltage that is greater than the first voltage to a selected word line during the channel pre-charge phase;
- increasing the first voltage on the unselected word lines to a boosting voltage;
- increasing the second voltage on the selected word line to a third voltage that is greater than the boosting voltage; and
- increasing the third voltage to a program voltage on the selected word line while maintaining the boosting voltage on the unselected word lines.
2. The method of claim 1, further comprising:
- determining, by control logic, the second voltage based on the program voltage.
3. The method of claim 2, wherein the determining the second voltage is based on a target voltage gap between the third voltage and the program voltage.
4. The method of claim 1, further comprising determining the second voltage based on a difference between the program voltage and a coupling ratio between the selected word line and an adjacent unselected word line, the determining is performed by control logic.
5. The method of claim 4, wherein the determining the second voltage is based on a difference between the program voltage and a product of the coupling ratio times the difference between the boosting voltage and the first voltage.
6. The method of claim 5, wherein the increasing the first voltage on the unselected word lines to a boosting voltage and the increasing the second voltage on the selected word to a third voltage that is greater than the boosting voltage comprises:
- floating the selected word line while charging the unselected word lines up to the boosting voltage.
7. The method of claim 1, wherein the non-volatile storage comprises NAND strings of non-volatile storage elements, the channel pre-charge phase pre-charges channels of unselected NAND strings, the boosting voltage boosts voltages of the channels of the unselected NAND strings, further comprising:
- accessing a first parameter that specifies a minimum expected voltage of channels during the pre-charge phase;
- accessing a second parameter that specifies a maximum acceptable voltage between the selected word line and the channels of the NAND strings during the pre-charge phase to keep program disturb within a design tolerance; and
- limiting the second voltage to no more than the difference between the minimum expected voltage of channels during the pre-charge phase and the maximum acceptable voltage.
8. The method of claim 1, wherein the increasing the third voltage to a program voltage on the selected word line while maintaining the boosting voltage on the unselected word lines comprises:
- charging the selected word line from the third voltage to the program voltage.
9. A non-volatile storage device comprising:
- a plurality of NAND strings of non-volatile storage elements, each of the NAND strings having a channel;
- a plurality of bit lines associated with the plurality of NAND strings;
- a plurality of word lines associated with the plurality of NAND strings;
- one or more managing circuits in communication with the plurality of bit lines and the plurality of word lines, the one or more managing circuits apply a first voltage to unselected word lines during a channel pre-charge phase, the one or more managing circuits apply a second voltage that is greater than the first voltage to a selected word line during the channel pre-charge phase, the one or more managing circuits increase the first voltage on the unselected word lines to a boosting voltage, the one or more managing circuits increase the second voltage on the selected word line to a third voltage that is greater than the boosting voltage, the one or more managing circuits increase the third voltage to a program voltage on the selected word line while maintaining the boosting voltage on the unselected word lines.
10. The non-volatile storage device of claim 9, wherein the one or more managing circuits pre-charge the channels of the plurality of NAND strings, the one or more managing circuits apply a program inhibit voltage to bit lines of the plurality of bit lines associated with unselected NAND strings of the plurality of NAND strings during the channel pre-charge phase, the one or more managing circuits apply a program enable voltage to bit lines of the plurality of bit lines associated with selected NAND strings of the plurality of NAND strings during the channel pre-charge phase, the one or more managing circuits apply the second voltage to the selected word line after applying the program inhibit voltages and the program enable voltages.
11. The non-volatile storage device of claim 9, wherein the plurality of NAND strings further comprise a drain side select gate, the bit lines are coupled to the respective drain side select gates, the one or more managing circuits turn on the drain side select gates prior to applying the program inhibit voltages and the program enable voltages, the one or more managing circuits turn off the drain side select gates for the unselected NAND strings while leaving on the drain select gates of selected NAND strings after applying the program inhibit voltages and the program enable voltages and prior to applying the second voltage to the selected word line.
12. The non-volatile storage device of claim 9, further comprising:
- a substrate; and
- a stacked non-volatile memory cell array carried by the substrate, the stacked non-volatile memory cell array comprises the plurality of NAND strings.
13. The non-volatile storage device of claim 9, wherein the one or more managing circuits determine the second voltage based on:
- VPGM−CR*(VPASS−VPCE),
- where VPGM is the program voltage, CR is a coupling ratio between the selected word line and one or more adjacent unselected word lines, VPASS is the boosting voltage, and VPCE is the first voltage, the one or more managing circuits float the selected word line while charging the unselected word lines from the first voltage to the boosting voltage to achieve the third voltage on the selected word line.
14. The non-volatile storage device of claim 13, wherein the one or more managing circuits determine the second voltage further based on a target voltage gap between the third voltage and the program voltage.
15. The non-volatile storage device of claim 9, wherein the one or more managing circuits access a first parameter that specifies a minimum expected voltage of the channels during the pre-charge phase, access a second parameter that specifies a maximum acceptable voltage between the selected word line and the channels during the pre-charge phase to keep program disturb within a design tolerance, and limit the second voltage to no more than the difference between the minimum expected voltage of channels during the pre-charge phase and the maximum acceptable voltage.
16. The non-volatile storage device of claim 9, wherein the one or more managing circuits charge the selected word line from the third voltage to the program voltage.
17. A method of operating non-volatile storage comprising a plurality of NAND strings having channels, comprising:
- pre-charging the channels of the plurality of NAND strings, including applying a pre-charge voltage to a selected word line and unselected word lines associated with the plurality of NAND strings;
- applying an inhibit voltage to bit lines associated with unselected NAND strings of the plurality of NAND strings after pre-charging the channels;
- applying a program enable voltage to bit lines associated with selected NAND strings of the plurality of NAND strings after pre-charging the channels;
- increasing a voltage on the selected word line from the pre-charge voltage to a first target voltage after applying the inhibit voltage and the program enable voltage to the bit lines and while maintaining the pre-charge voltage on the unselected word lines;
- increasing the pre-charge voltage on the unselected word lines to a boosting voltage while increasing the first target voltage on the selected word line to a second target voltage during a channel boosting phase; and
- applying a program voltage to the selected word line after the second target voltage has been achieved on the selected word line.
18. The method of claim 17, further comprising:
- determining the first target voltage based on a difference between the program voltage and a desired target gap between the program voltage and the second target voltage.
19. The method of claim 18, wherein determining the first target voltage is based on:
- VPGM−VSTEP−CR*(VPASS−VPCE),
- where VPGM is the program voltage, VSTEP is the desired target gap, CR is a coupling ratio between the selected word line and one or more adjacent unselected word lines, VPASS is the boosting voltage, and VPCE is the pre-charge voltage, wherein the increasing the voltage on the selected word line from the pre-charge voltage to the first target voltage comprises floating the selected word line while charging the unselected word lines from the pre-charge voltage to the boosting voltage.
20. The method of claim 17, further comprising:
- determining the first target voltage based on a difference between a minimum expected voltage of NAND channels when pre-charging the channels and a maximum acceptable voltage when pre-charging the channels to keep program disturb within a design tolerance.
Type: Application
Filed: Oct 10, 2013
Publication Date: Apr 16, 2015
Inventor: Hitoshi Miwa (Kanagawa)
Application Number: 14/051,217
International Classification: G11C 16/12 (20060101); G11C 16/34 (20060101);