SOURCE LINE DRIVER FOR THREE DIMENSIONAL NON-VOLATILE MEMORY
A non-volatile storage system includes a plurality of non-volatile memory cells configured to form a monolithic three dimensional memory structure, a plurality of bit lines connected to the memory cells, a plurality of source lines connected to the memory cells, a plurality of bit line drivers connected to the bit lines and a plurality of source line drivers connected to the source lines and the bit lines. The source line drivers apply voltages to the source lines based on bit line voltages.
Latest SANDISK TECHNOLOGIES LLC Patents:
- Three-dimensional memory device including an isolation-trench etch stop layer and methods for forming the same
- CONTROL GATE SIGNAL FOR DATA RETENTION IN NONVOLATILE MEMORY
- Non-volatile memory with tuning of erase process
- Non-volatile memory with optimized operation sequence
- Early detection of programming failure for non-volatile memory
This application claims the benefit of U.S. Provisional Application 62/244,942, filed Oct. 22, 2015, incorporated herein by reference in its entirety.
BACKGROUNDRecently, ultra high density storage devices have been proposed using a three dimensional (3D) stacked memory structure sometimes referred to as a Bit Cost Scalable (BiCS) architecture. For example, a 3D NAND stacked memory device can be formed from an array of alternating conductive and dielectric layers. A memory hole is drilled in the layers to define many memory layers. A NAND string is then formed by filling the memory hole with appropriate materials. A straight NAND string (I-BiCS) 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 bottom back gate. Control gates of the memory cells are provided by the conductive layers. However, various challenges are presented in operating such memory devices.
Like-numbered elements refer to common components in the different figures.
A non-volatile storage system is proposed that includes a plurality of non-volatile memory cells configured to form a monolithic three dimensional memory structure, a plurality of bit lines connected to the memory cells, a plurality of source lines connected to the memory cells, a plurality of bit line drivers connected to the bit lines and a plurality of source line drivers connected to the source lines and the bit lines. The source line drivers apply voltages to the source lines based on bit line voltages.
One embodiment of the three dimensional stacked non-volatile memory device comprises alternating dielectric layers and conductive layers in a stack, a plurality of bit lines below the stack, and a plurality of source lines above the stack. There is a separate source line associated with each bit line, rather than one source line for an entire block, plane or array. Each source line is connected to a different subset of NAND strings. Each bit line is connected to a different subset of NAND strings. Because the bit lines are below the stack, there is no need for signal lines to carry signals from the substrate surface to the top of the stack for the bit lines and no crowding of lines occurs as bit lines try to pass through source lines when they are both at minimum pitch. Since bit line driver circuits are bigger than source line driver circuits, one embodiment locates bit lines underneath the memory array so that the bit line drivers residing on the silicon surface under the memory array have direct access to the bit lines. In one embodiment, the source line drivers, being smaller in size, are placed on the side of the memory array. Since the source line drivers are smaller than the bit line drivers and also smaller than the traditional sense amp circuits, this arrangement shrinks the memory die size by saving the area which is traditionally reserved for sense amplifiers (the traditional bit line drivers).
The three dimensional stacked memory device comprises a plurality of memory cells arranged in blocks. Each block includes memory holes (or pillars) which extend vertically in the stack, and comprise a column of memory cells such as, for example, in a NAND string. The three dimensional stacked non-volatile memory device includes N layers. The memory holes are divided into four groups at each level of a block and each group has a separate set of source side and drain side select signals so that a subset of memory holes can be active at any given time. Because of the concurrency in the programming and verifying, the number of programming and verify pulses is reduced and the overall programming process is faster than other architectures. This is enabled because each memory channel/hole in a selected group has its own dedicated source line in addition to having its own dedicated bit line. With this architecture each memory channel can be driven to its own designated voltage at both its source line and its bit line. This provides full control of the channel potential. Each channel can have one of a number of different potentials applied to it based on what data state is to be programmed on the memory cell that is along that channel and belongs to the selected word line. A data state is a condition of the memory cell which correlates to storing a predefined pattern of data. The meaning of a data state can change based on the type of memory technology used in various embodiments. For example, in a multi-level memory cell different threshold voltage levels for the cell may correlate to a particular data pattern that represents data settings on two or more logical levels of data stored in the multi-level memory cell. In another example, the data state may comprise the level of resistance for a filament formed in the cell. In another example, the data state may comprise the magnetic orientation of a magnetic layer in a Spin-transfer torque random access memory cell (STT-RAM).
The proposed structure allows for multiple data states to be verified concurrently, as is explained below. Memory cells are concurrently programmed to different data states, with memory cells being programmed to lower data states having their programming slowed by applying appropriate source line voltages and bit line voltages. In one embodiment, reading is performed sequentially for the data states.
In one possible approach, the length of the plane, in the x-direction, represents a direction in which word lines extend, and the width of the plane, in the y-direction, represents a direction in which bit lines extend. The z-direction represents a height of the memory device.
The control circuitry 110 cooperates with the read/write circuits 128 to perform memory operations on the memory array 126, and includes a state machine 112, an on-chip address decoder 114, and a power control module 116. The state machine 112 provides chip-level control of memory operations. The on-chip address decoder 114 provides an address interface between that used by the host or a memory controller to the hardware address used by the decoders 124 and 132. The power control module 116 controls the power and voltages supplied to the word lines and bit lines during memory operations. It can include drivers for word lines, source side select lines (SGS) and drain side select lines (SGD) and source lines. The sense blocks 130 include bit line drivers and circuits for sensing. Control circuitry 110 is also in communication with source control circuits 127, which includes source line driver circuit 1, source line driver circuit 2, . . . , source line driver circuit p. The source line driver circuits are used to drive different (or the same) voltages on the individual source lines. The present architecture provides individual control of one source line per active memory cell. Hundreds of thousands (for example about 300,000) of source line driver circuits are required in addition to the same number of bit line driver circuits.
In some implementations, some of the components can be combined. In various designs, one or more of the components (alone or in combination), other than memory array 126, can be thought of as a one control circuit. For example, a control circuit may include any one of, or a combination of, control circuitry 110, state machine 112, decoders 114/124/132, power control module 116, sense blocks 130, source control circuits 127, read/write circuits 128, and controller 122, and so forth.
Sense module 480 comprises sense circuitry 470 that determines whether a conduction current in a connected bit line is above or below a predetermined level. In some embodiments, sense module 480 includes a circuit commonly referred to as a sense amplifier. Sense module 480 also includes a bit line latch 482 that is used to set a voltage condition on the connected bit line. For example, a predetermined state latched in bit line latch 482 will result in the connected bit line being pulled to a state designating program inhibit. (e.g., 2*Vdd or just under 2*Vdd)
Common portion 490 comprises a processor 492, a set of data latches 494 and an I/O Interface 496 coupled between the set of data latches 494 and data bus 420. Processor 492 performs computations. For example, one of its functions is to determine the data stored in the sensed memory cell and store the determined data in the set of data latches. The set of data latches 494 is used to store data bits determined by processor 492 during a read operation. It is also used to store data bits imported from the data bus 420 during a program operation. The imported data bits represent write data meant to be programmed into the memory. I/O interface 496 provides an interface between data latches 494 and the data bus 420.
During sensing (i.e. read or verify), the operation of the system is under the control of state machine 112 that controls the supply of different control gate voltages to the addressed cell. As it steps through one or more predefined control gate voltages (the read reference voltages or the verify reference voltages) corresponding to the various memory states supported by the memory, the sense module 480 may trip at one of these voltages and an output will be provided from sense module 480 to processor 492 via bus 472. At that point, processor 492 determines the resultant memory state by consideration of the tripping event(s) of the sense module and the information about the applied control gate voltage from the state machine via input lines 493. It then computes a binary encoding for the memory state and stores the resultant data bits into data latches 494. In another embodiment of the core portion, bit line latch 482 serves double duty, both as a latch for latching the output of the sense module 480 and also as a bit line latch as described above.
During program or verify, the data to be programmed is stored in the set of data latches 494 from the data bus 420. The program operation, under the control of the state machine, comprises a series of programming voltage pulses (with increasing magnitudes) each of which is concurrently applied to the control gates of a set of addressed memory cells so that the group of memory cells are programmed at the same time. Each programming pulse is followed by a verify process to determine if the memory cell has been programmed to the desired state. Processor 492 monitors the verified memory state relative to the desired memory state. When the two are in agreement, processor 492 sets the bit line latch 482 so as to cause the bit line to be pulled to a highest available bit line voltage that is designated to provide program inhibit. This inhibits the memory cell coupled to the bit line from further programming even if it is subjected to programming pulses on its control gate. In other embodiments the processor initially loads the bit line latch 482 and the sense circuitry sets it to an inhibit value during the verify process.
Data latch stack 494 contains a stack of data latches corresponding to the sense module. In one embodiment, there are three (or four or another number) of data latches per sense module 480. In some implementations (but not required), the data latches are implemented as a shift register so that the parallel data stored therein is converted to serial data for data bus 420, and vice versa. In one preferred embodiment, all the data latches corresponding to the read/write block of memory cells can be linked together to form a block shift register so that a block of data can be input or output by serial transfer. In particular, the bank of read/write modules is adapted so that each of its set of data latches will shift data into or out of the data bus in sequence as if they are part of a shift register for the entire read/write block.
During a memory operation (such as programming, verifying or reading), sense circuitry 470 is responsible for applying a bit voltage to the respective bit line. As discussed below, during programming and verification, the bit line voltages are data dependent based on the target data state that the relevant memory cell connected to the bit line is being programmed to. Processor 492 reads the data being programmed from data latches 494 and configures sense circuitry 470 to drive the appropriate data dependent voltage on the bit line based on the data read from the data latches 494.
Between the conductive layers are dielectric layers. Many different dielectric materials can be used. One example of a suitable dielectric material is SiO2. Note that
Below the stack of alternating dielectric layers and conductive layers are multiple separate and isolated bit lines 220, 222, 224, 226, 228, 230, 232, and 234. Although
Above the stack of alternating dielectric layers and conductive layers are multiple separate and isolated source lines 240, 242, 244, 246, 248, 250, 252 and 254. Although
The stack of alternating dielectric layers and conductive layers includes memory holes or pillars which extend vertically in the stack, and comprise a column of memory cells such as in a NAND string.
Each bit line is connected to a subset of columns. For example,
Each source line is connected to a subset of columns In one embodiment, the source lines connect to the columns through vias and plugs.
The source lines are not connected together and can carry different signals. In one embodiment, each source line is associated with a bit line to create a source line/bit line pair. The system includes many source line/bit line pairs. Each bit line is associated with a different and separate source line. A source line is connected to the same column as its associated bit line of the source line/bit line pairs. For example, bit line 230 is associated with source line 252 and both are connected to column 272, bit line 224 is associated with source line 244 and both are connected to column 270, bit line 220 is associated with source line 240 and both are connected to column 268, and bit line 222 is associated with source line 242 and both are connected to column 262. In one embodiment, the bit lines are made of Tungsten, the source lines are made of Copper or Tungsten, the vias are made of Tungsten and the plugs are made of polysilicon. In one embodiment, the conductive word line layers are made of Tungsten. Tungsten may be preferable as it can withstand the process thermal budget associated with processing the layers above it, and the required dopant activation or polysilicon channel grain size expansion anneal steps that follow the deposition of the Tungsten.
When a memory cell is programmed, electrons are stored in a portion of the charge trapping layer which is associated with the memory cell. These electrons are drawn into the charge trapping layer from the polysilicon channel, and through the ONO tunnel dielectric. The threshold voltage (Vth) of a memory cell is increased in proportion to the amount of stored charge.
Each of the memory holes is thus filled with a plurality of annular layers comprising sometimes a blocking layer, usually a charge trapping layer, usually a tunnel dielectric multi-layers structure, a channel layer, and a channel layer. A core region of each of the memory holes is filled with a body material, and the plurality of annular layers are between the core region and the WLs that surround each of the memory holes.
Looking back at
As can be seen from
Each data state corresponds to a unique value for the three data bits stored in the memory cell. In one embodiment, S0=111, S1=110, S2=101, S3=100, S4=011, S5=010, S6=001 and S7=000. Other mapping of data to states S0-S7 can also be used. The specific relationship between the data programmed into the memory cell and the threshold voltage levels of the cell depends upon the data encoding scheme adopted for the cells. For example, U.S. Pat. No. 6,222,762 and U.S. Patent Application Publication No. 2004/0255090, “Tracking Cells For A Memory System,” filed on Jun. 13, 2003, describe various data encoding schemes for multi-state flash memory cells. In one embodiment, data values are assigned to the threshold voltage ranges using a Gray code assignment so that if the threshold voltage of a floating gate erroneously shifts to its neighboring threshold voltage distribution, only one bit will be affected. However, in other embodiments, Gray code is not used.
In one embodiment, all of the bits of data stored in a memory cell are stored in the same logical page. In other embodiments, each bit of data stored in a memory cell corresponds to different logical pages. Thus, a memory cell storing three bits of data would include data in a first page, data in a second page and data in a third page. In some embodiments, all of the memory cells connected to the same word line would store data in the same three pages of data. In some embodiments, the memory cells connected to a word line can be grouped into different sets of pages (e.g., by odd and even bit lines, or by other arrangements).
In some devices, the memory cells will be erased to state S0. From state S0, the memory cells can be programmed to any of states S1-S7. In one embodiment, known as full sequence programming, memory cells can be programmed from the erased state S0 directly to any of the programmed states S1-S7. For example, a population of memory cells to be programmed may first be erased so that all memory cells in the population are in erased state S0. While some memory cells are being programmed from state S0 to state S1, other memory cells are being programmed from state S0 to state S2, state S0 to state S3, state S0 to state S4, state S0 to state S5, state S0 to state S6, and state S0 to state S7. Full sequence programming is graphically depicted by the seven curved arrows of
In general, during verify operations and read operations, the selected word line is connected to a voltage, a level of which is specified for each read operation (e.g. see read compare levels Vr1, Vr2, Vr3, Vr4, Vr5, Vr6, and Vr7, of
There are many ways to measure the conduction current of a memory cell during a read or verify operation. In one example, the conduction current of a memory cell is measured by the rate it discharges or charges a dedicated capacitor in the sense amplifier while maintaining a specified bit line voltage. In another example, the conduction current of the selected memory cell allows (or fails to allow) the NAND string that includes the memory cell to discharge a corresponding bit line. The voltage on the bit line is measured after a period of time to see whether it has been discharged or not. Note that the technology described herein can be used with different methods known in the art for verifying/reading. Other read and verify techniques known in the art can also be used.
In some embodiments, the program voltage applied to the control gate includes a series of pulses that are increased in magnitude with each successive pulse by a predetermined step size (e.g. 0.2v, 0.3v, 0.4v, 0.6v, or others). Between pulses, some memory systems will verify whether the individual memory cells have reached their respective target threshold voltage ranges.
Typically, the program voltage applied to the control gate during a program operation is applied as a series of program pulses. Between programming pulses the system will perform verification. In many implementations, the magnitude of the program pulses is increased with each successive pulse by a predetermined step size. In step 868 of
In step 874, it is determined whether the program counter PC is less than K. In one embodiment, K=6, which means that the programming process will apply six programming pulses. The number 6 is based on the assumption that the natural VT distribution is about 3V wide and that the average VT shift up per program pulse is 0.5V, so3.0/0.5=6 pulses. If the step size is changed or the assumption about the width of the natural distribution is wrong, then more or less pulses are needed. The technology described herein can be used with K>6 and K<6. The natural distribution is the response (i.e. new VT distribution) of a group of cells to a single program pulse when the same program pulse (or the same sequence of program pulses) is (are) applied to all of cells. The group of cells can be composed of, for example, all cells to be programmed on a word line, all cells to be programmed to a particular state on a word line, all cells on a block, all cells on a chip, all cells across many chips depending on the context in which the term natural VT distribution is used. Generally the larger the group of cells under consideration, the wider the natural distribution from end to end.
If the program counter PC is less than K, then the process continues at step 876, during which all of the memory cells being programmed are concurrently verified for all target data states using a single read voltage pulse on the selected word line and data dependent voltages on individual bit lines and individual source lines. Memory cells that verify successfully will be locked out from further programming for the remainder of the programming process. In step 878, the Program Counter PC is incremented by 1 and the program voltage Vpgm is stepped up to the next magnitude. After step 878, the process loops back to step 870 and another program pulse is applied to the selected word line. In one embodiment, the six program pulses are at 19v, 19.6v, 20.2v, 20.8v, 21.4v and 22v.
If, in step 874, it is determined that the program counter is not less than K (i.e. PC=K) then the programming process of
Steps 870-878 implement a loop of applying programming and then verifying. This process is performed in an iterative fashion to avoid over programming
Step 876 of
Step 870 of
Because memory cells being programmed to lower states receive higher source line voltages and bit line voltages, the programming pulses will cause the memory cells being programmed to lower states to increase threshold voltage at a lower rate, as per the graphs of
In step 904, the drain side selection signal is applied. In step 906, the source side selection signal is applied. Steps 904 and 906 can be performed concurrently or sequentially. If performed sequentially, either 904 or 906 can be performed first. In step 910, the set of sense amplifiers concurrently perform sensing operation for all (or a subset) of the memory cells for all data states. That is, the system will sense for S0, S1, S2, S3, S4, S5, S6 and S7 at the same time. Note that in some embodiments, for verifying after the first program pulse, WLs, SGSs, SGDs, BLs, & SLs can all start to rise together in order to save time. They will reach final voltage values at different times.
In another embodiment, the system can start ramping up (raising the voltage of) the word lines, the select gates, the bit lines, and the source lines all together for the selected finger (i.e. word line). The bit lines and the source lines can be slower to rise due to either their RC time constants being longer or the energy requirements being more (which would necessitate an intentional controlled ramp up of these ˜600,000 lines in order not to exceed maximum allowed instantaneous currents), in some embodiments word lines and select gates will reach high voltages before bit lines and source lines reach high voltages. Note that one embodiment charges the bit lines and the source lines in two stages: stage 1 takes lines to VCC or less, and stage 2 takes those lines that have to go to higher than VCC values from VCC to these higher values. Each stage is allotted a minimum of 20 micro seconds based on worst case bit line or source line RC time constants. The maximum time for each stage is based on how many cells will require their bit lines and source lines to be raised in voltage during the BL/SL charging phase which occurs before each program pulse. Some program pulses will have very few numbers of BLs and SLs charging up to high voltages (e.g. charge ups for program pulses #2 & #6, for which the circuit is RC dominated and 20us per stage will be adequate. But there are other charging phases when the system needs to allow more than 20us per one or both stages of charge up before the associated program pulse. Thus, there is a pulse by pulse control of ramp up time and pulse dependent charge up times. There may be a lot of BL & SL charge up activity prior to program pulse #1.
Note that the processes of
In one embodiment, erasing is performed in the same manner as in the prior art. In another embodiment, erasing is performed by taking advantage of Gate Induced Drain Leakage (GIDL). In another embodiment, erasing is performed by the “gated diode effect,” which comprises electron-hole generation assisted by bias across a PN junction and a nearby gate's assisting in increasing the electric field needed to generate electron hole pairs.
In one embodiment, immediately after programming, a read operation is performed to make sure that the bit error rate is sufficiently low. Note that ECC can be used to fix a number of bit errors.
The first two sub stages for the first program pulse include setting the various bit line and source voltages to their data dependent values. This is done in two stages, with the first stage (1.1) bringing the bit lines and source line to the lower of their target or VCC (˜3.1v). The other signals are depicted to transition from 0 to the values noted. For example, SGS0 shows “0→8” which represents a transition from 0 volts to 8 volts. In the second stage (1.2), the bit lines and source lines are raised from VCC to their targets (if they were not already at their targets). In third stage (1.3), the drain side select lines and source side select lines are lowered. The third stages (i.e. 1.3, 2.3, . . . , 6.3) can be eliminated in some embodiments for all program verify pulses. If they are to be eliminated, then select gate source and drain voltages are raised only to 6v as opposed to 8v in the first stages (i.e. 1.1, 2.1, ...,6.1). In the fourth stage, the word lines are raised to Vpass (e.g., 7-10 volts) to boost unselected NAND strings and prevent program disturb. In the fifth stage (1.5), the program pulse is applied. In the sixth stage (1.6), the system transitions to verify without bringing all of the signals down to 0 volts. In one embodiment, the system transitions to verify without bringing any of the listed signals down to 0 volts (or another resting or transition voltage). In the seventh stage, concurrent verification is performed. The stages for the second and subsequent program pulses are similar to the first program pulse, except in the first stage (e.g., 2.1, 3.1, 4.1, 5.1, and 6.1), the transition of voltages is from the previous verify voltage levels rather than 0. For some of the sub stages, the bit line voltage shows “x or 6” which represents applying the data dependent value x or 6 volts because the memory cell is locked out.
Note that chart of
In one embodiment, the memory system does not necessarily have to have its bit lines below memory layers and its source line above. There can be embodiments with bit lines above the memory and source lines below the memory.
There is a description above of two stage charging for the bit lines and source lines. In other embodiments, three stage charging can be used for the bit lines and source lines. Three stage charging could become useful, if VCC<6/2=(BL/SL voltage for inhibit)/2. Then stage 1 takes the lines to VCC or below, stage 2 to takes the lines to slightly lower than 2*VCC, and stage 3 takes the lines to voltages above slightly lower than 3*VCC.
The above-described architecture reduces the number of program pulses and verify pulses, which results in an increase in performance of the memory system. As described, the time needed for verification is dramatically reduced as all states are verified simultaneously. Additionally, because the bit lines are below the stack, there is no need for bit line interconnects that run from below to above the stack, which saves space. Since there is only one word line per block per level, as opposed to multiple word lines on a level, the word line RC is reduced and less space is needed. Additionally, locating the bit line drivers (sense amplifiers) below the stack also save room on the integrated circuit.
If, in some embodiments, programming all states concurrently or verifying all states concurrently proves too costly (e.g. too much leakage or disturb, or too complex the BL drivers), the system can instead deploy a scheme that would break each program pulse into two sets: one set geared for states A, B, C, and the other set geared for states D, E, F, and G for example. For A to C states the Vpgm pulse will start at 16.2V, and when D to G are to be programmed the first pulse for these states starts at 19V. Verify can also be broken up into two sets. This provides semi-concurrency. It will reduce the performance gain and may increase energy per bit programmed, but it may be the last resort to mitigating junction leakages, disturb problem due to very high bit line and source line voltages of full concurrent program and verify, or reducing the number of transistor in each of the ˜300,000 bit line drivers. Also, since it will reduce bit line and source line voltage requirements, it will be able to eliminate or significantly reduce the need to pump up the bit line and source line voltages that have to charge up and maintain voltages significantly higher than VCC.
Another embodiment includes adding more pads to memory chips to bring in other voltage supplies in addition to VCC. For example, the system can bring as many as 6 other voltages from the outside onto the chip (not just 0v & VCC). An example would be to supply 0, 0.8, 1.6, 2.4, 3.2, 4.0, 4.8, & 6.0V from outside the chip. Another example is to bring 0, 0.9, 1.7, 2.5, 3.3, 4.1, 4.9, and 6.1V from outside and regulate them down to supply 0, 0.8, 1.6, 2.4, 3.2, 4.0, 4.8, & 6.0V. This will allow the memory chips to run a lot cooler by not having to use charge pumps to pump up about 600,000 bit lines and source lines to voltages that go as high as 6V. On solid states drives (e.g., SSDs and ESSDs) it may be easier to generate these voltages off chip. If these pads are on the chip and the circuits that accompany them as well, the system will have the option to use them or not depending on the type of product being offered.
Looking back at
As discussed above, the proposed architecture uses multiple source lines and these source lines can carry different voltages. Therefore, there is a need for multiple independent source line drivers. Furthermore, during program and verify operations, the source line voltage and the bit line voltage are both data dependent, meaning that the magnitude of the voltages vary depending on the target data state for programming. As described above with respect to
Detection circuit 1022 receives one or more control signals and current/voltage supplies from one or more control circuits 1004, referred to in the
Detection circuit 1022 receives a benchmark voltage from one or more control circuits 1004. The term “benchmark voltage” is a name given to this reference signal. Detection circuit 1022 derives a reference from the benchmark voltage. Detection circuit 1022 compares the voltage on the bit line BL to the reference and provides the result of that comparison to shorting circuit 1020 and voltage adjustment circuit 1024. When verifying or reading, shorting circuit 1020 generates and applies a voltage to the source line SL that matches the voltage on the bit line BL if the voltage on the bit line is greater than or equal to the reference. When verifying or reading, voltage adjustment circuit 1024 generates and applies a voltage to the source line that is offset by a predetermined constant amount from the voltage on the bit line if the voltage on the bit line is less than the reference. In one embodiment, the predetermined constant amount is 0.5 volts; however, other amounts can also be used. In this manner, for example, during a verify process, the source line voltage is either the same as the bit line voltage or 0.5 volts less than the bit line voltage, which is in agreement with the tables of voltages discussed above. One or more control circuits 1004 can adjust the reference used by detection circuit 1022 by changing the applied benchmark voltage. When programming, one or more control circuits 1004 sends the appropriate one or more control signals and supplies to configure shorting circuit to apply a voltage to the source line SL that matches the voltage on the bit line BL.
In step 1106, the bit line drivers (e.g., sense amplifiers or sense blocks) generate bit line voltages. When performing programming or verify operations, the bit line voltages are generated as data dependent voltages based on the target data states for programming For example,
In step 1108, source line drivers 1002 apply voltages to different source lines based on the sensed information about the voltages on the different bit lines. If performing programming or verify, source line drivers 1002 apply different voltages to different source lines based on the sensed information about the different magnitudes of the voltages on the different bit lines. If performing a read operation, in one embodiment the same voltage will be applied to all source lines.
The source line driver of
Current and voltage supply circuit 1302 comprises current source 1350 (2uA) connected to NMOS transistor N12, current source 1352 (1uA) connected NMOS transistor N10, voltage supply 1356 (−0.7v) connected NMOS transistor N10, current source 1354 (1uA) connected NMOS transistor N11, and voltage supply 1358 (−0.2v) connected NMOS transistor N11. Current and voltage supply circuit 1302 (or a different component of control circuits 1004) connected signal line 1314 to ground. Current and voltage supply circuit 1302 (or a different component of control circuits 1004) drives the benchmark voltage BMV (discussed above) on signal line 1316. In embodiments that perform the HSF multi-pass programming discussed above, during the first pass when high data states are programmed BMV=3.25v-VTP and during the second pass when low data states are programmed BMV=2.45v-VTP. For full sequence programming, either same (or a different) voltage can be made to work. VTP is the threshold voltage of PMOS transistors P1, P2, P3, P4 and P5. In one embodiment, VTP=0.5v; therefore, the benchmark voltage is 2.75 volts for the first pass when high data states are programmed and benchmark voltage is 1.95 volts for the second pass when low data states are programmed
In one embodiment, PMOS transistors P1, P2, P3, P4 and P5 all have the same threshold voltage. In other embodiments, PMOS transistors P1, P2, P3, P4 and P5 have different threshold voltages and VTP is the threshold voltage of PMOS transistor P2.. In one embodiment, NMOS transistors N1, N2, N3, N4, N5, N6, N7 and N8 all have the same threshold voltage, VTN. In other embodiments, NMOS transistors N1, N2, N3, N4, N5, N6, N7 and N8 have different threshold voltages. In one embodiment, VTP=0.5v and VTN=0.5v; however, other values can also be used and the circuit can be adjusted accordingly. Current and voltage supply circuit 1302 also includes switches 1360 and 1362.
Signal line 1318 is connected to NMOS transistors N12, N5 and N6. Signal line 1320 is connected to NMOS transistors N12 and N5, as well as switch 1360. Signal line 1322 is connected to NMOS transistor N6 and switch 1360. Signal line 1324 is connected to NMOS transistors N4 and N10, as well as current source 1352. Signal line 1326 is connected to NMOS transistors N4 and N10, as well as voltage supply 1356. Signal line 1328 is connected to NMOS transistors N3 and N11, as well as voltage supply 1358. Signal line 1330 is connected to NMOS transistors N3 and N11, as well as voltage supply 1358.
Signal lines 1310 and 1312 can be driven by current and voltage supply circuit 1302 (or a different component of control circuits 1004) or another on-chip supply. The voltage applied to signal line 1310 is labeled as VA. In embodiments that perform the HSF multi-pass programming discussed above, during the first pass when high data states are programmed VA=4.0 volts and during the second pass when low data states are programmed VA=3.2 volts. For full sequence programming, either same (or a different) voltage can be made to work. The voltage applied to signal line 1320 is labeled as VB. In embodiments that perform the HSF multi-pass programming discussed above, during the first pass when high data states are programmed VB=3.5 volts and during the second pass when low data states are programmed VB=2.7 volts. For full sequence programming, either (or a different) voltage can be made to work.
NMOS transistor N1 is connected to signal line 1310, the bit line (VBL), PMOS transistor P2, NMOS transistor N2 and NMOS transistor N7. NMOS transistor N2 is connected to signal line 1312, NMOS transistor N1, PMOS transistor P1, NMOS transistor N8 and PMOS transistor P5. PMOS transistor P1 is connected to the source line (VSL), NMOS transistor N2, PMOS transistor P5 and signal line 1314. PMOS transistor P2 is connected to the bit line (VBL), signal line 1316 providing the benchmark voltage BMV, PMOS transistor P3 and NMOS transistor N5. PMOS transistor P3 is connected to the bit line (VBL), PMOS transistor P2, NMOS transistor N6 and NMOS transistor N7. NMOS transistor N8 is connected to NMOS transistor N7, NMOS transistor N4, PMOS transistor P4 and PMOS transistor P5. NMOS transistor N7 is connected to NMOS transistor N1, NMOS transistor N3, NMOS transistor N6, NMOS transistor N8 and PMOS transistor P3.
NMOS transistors N3, N4, N5 and N6 operate as leakers that pull down the connected nodes when the pull up from those nodes is not strong. For example, if P2, P3, N7 and/or N8 are not strongly being pulled up, then the leakers will pull them down.
In one embodiment, detection circuit 1022 of
The source line driver of
To operate in (1) program mode, switch 1360 is open and switch 1362 is closed, based on control signals from the control circuits 1004. The source of N5 will be driven at 4.1v. The gate of N5 will also be driven at 4.1v, providing 3.6v at the gate of P3. Additionally, 4.2 volts is driven on signal line 1316 to cause P2 to turn off and allow N5 to pass 4.2-0.5 (VTP)=3.7 volts, which will turns off P3. The source of N6 is driven to −0.7v. N6 passes the −0.7v to turn on P4 and P5. When on, P4 effectively shunts the bit line (VBL) to the source line (VSL); therefore, during programming, the source line driver is applying a voltage to the source line that matches the voltage sensed on the bit line. This behavior is in agreement with the tables of
To operate in (2) verify/read mode, switch 1360 is closed and switch 1362 is open, based on control signals from the control circuits 1004. Therefore, signal lines 1320 and 1322 are driven to the same voltage causing the sources of N5 and N6 to be driven to the same voltage. In one embodiment, signal line 1322 is at 0.7v during programming and at ground during verify.
During verify, the bit line voltage VBL is compared against a reference by transistor P2. In the embodiment of
If the bit line voltage VBL is greater than or equal to the reference (3.25v during first pass or 2.45v during second pass), then P2 turns ON which causes P3 to turn OFF. N7 and N8 will also turn off, P4 turns ON and P5 turns ON. Because P4 is ON, VSL is effectively shorted to VBL via P4. Having P5 on, prevents P1 from turning on so that P1 (voltage adjustment circuit) does not contribute to the voltage of the source line. So, during verify, if VBL is greater than the reference, the source line driver is applying a voltage to the source line that matches the voltage sensed on the bit line.
If VBL is less than the reference (3.25v during first pass or 2.45v during second pass), the P2 is OFF, which causes P3 to turn ON. Because P3 is on, VBL is provided at the gate of N7, which turns ON N7, which turns on N8. Because N8 is ON, P4 turns OFF, so VSL is not shorted to VBL via P4.
When VBL is less than the reference, the drain of N1 is at VBL−VTN, the drain of N2 is at VBL−2*VTN and VSL is at VBL−2*VTN+VTP. Since, in this embodiment, VTN=VTP then the source line voltage VSL is one threshold voltage drop below the bit line voltage VBL. As, in this embodiment, VTN=VTP=0.5 volts, when VBL is less than the reference then the voltage adjustment circuit is configured to apply a voltage VSL to the source line that is offset from the voltage VBL by 0.5v (a predetermined constant that is also a first multiple of a threshold voltage of a transistor in the voltage adjustment circuit). The circuit can be modified to add additional NMOS transistors so that the offset between VBL and VSL is a different multiple of a threshold voltage of a transistor in the voltage adjustment circuit.
The discussion of the operation of the source line driver of
When reading, one embodiment pre-charges the bit line voltage to 0.5 volts. In response, the source line driver will drive the source line at 0 volts (ie SL=VBL−2VTN+VTP=0.5-2(0.5)+0.5=0).
When locking out a memory cell, the one or more control circuits drive a high bit line voltage which causes the source line voltage to match the bit line voltage and no current will flow through the NAND string.
The source line driver of
Current and voltage supply circuit 1402 comprises current source 1350 (2uA) connected to NMOS transistor N12, voltage supply 1356 (−0.7v) switch 1452, current source 1354 (1uA) connected NMOS transistor N11, and voltage supply 1358 (−0.2v) connected NMOS transistor N11. Current and voltage supply circuit 1302 also includes switches 1450 and 1452. Current and voltage supply circuit 1402 (or a different component of control circuits 1004) connects signal line 1314 to ground. Current and voltage supply circuit 1402 (or a different component of control circuits 1004) drives the benchmark voltage BMV (discussed above) on signal line 1316. In embodiments that perform the HSF multi-pass programming discussed above, during the first pass when high data states are programmed BMV=3.65v-VTP and during the second pass when low data states are programmed BMV=2.45v-VTP. For full sequence programming, either same (or a different) voltage can be made to work. In one embodiment, VTP=0.2v; therefore, the benchmark voltage is 3.45 volts for the first pass when high data states are programmed and benchmark voltage is 2.25 volts for the second pass when low data states are programmed
Signal line 1318 is connected to NMOS transistors N12, N5 and N6. Signal line 1320 is connected to NMOS transistors N12 and N5, as well as switch 1360. Signal line 1430 is connected to NMOS transistor N6 and switches 1450 and 1452. Signal line 1432 is connected to NMOS transistors N3 and N11, as well as current source 1354. Signal line 1434 is connected to NMOS transistors N3 and N11, as well as voltage supply 1358.
Signal lines 1310 and 1312 can be driven by current and voltage supply circuit 1302 (or a different component of control circuits 1004) or another on-chip supply. The voltage applied to signal line 1310 is labeled as VA. In embodiments that perform the HSF multi-pass programming discussed above, during the first pass when high data states are programmed VA=4.0 volts and during the second pass when low data states are programmed VA=3.2 volts. For full sequence programming, either same (or a different) voltage can be made to work. The voltage applied to signal line 1320 is labeled as VB. In embodiments that perform the HSF multi-pass programming discussed above, during the first pass when high data states are programmed VB=3.5 volts and during the second pass when low data states are programmed VB=2.7 volts. For full sequence programming, either same (or a different) voltage can be made to work.
NMOS transistor N1 is connected to signal line 1310, the bit line (VBL), PMOS transistor P1, PMOS transistor P2, PMOS transistor P3, PMOS transistor P5 and NMOS transistor N7. PMOS transistor P1 is connected to the source line (VSL), NMOS transistor N1, NMOS transistor N7, PMOS transistor P5 and signal line 1314. PMOS transistor P2 is connected to the bit line (VBL), signal line 1316 providing the benchmark voltage BMV, PMOS transistor P3 and NMOS transistor N5. PMOS transistor P3 is connected to the bit line (VBL), PMOS transistor P2, NMOS transistor N6 and NMOS transistor N7. NMOS transistor N7 is connected to NMOS transistor N1, NMOS transistor N3, NMOS transistor N6, PMOS transistor P1, PMOS transistor P3 and PMOS transistor P5. NMOS transistors N3, N5 and N6 operate as leakers that pull down the connected nodes when the pull up from those nodes is not strong.
In one embodiment, detection circuit 1022 of
The source line driver of
To operate in (1) program mode, switch 1450 is open and switch 1452 is closed, based on control signals from the control circuits 1004. The source of N5 will be driven at 4.1v. The gate of N5 will also be driven at 4.1v, providing 3.6v at the gate of P3. Additionally, 4.2 volts is driven on signal line 1316 to cause P2 to turn off and allow N5 to pass 4.2-0.5 (VTP)=3.7 volts, which will turns off P3. The source of N6 is driven to −0.7v. N6 passes the −0.7v to turn on P4 and P5. When on, P4 effectively shunts the bit line (VBL) to the source line (VSL); therefore, during programming, the source line driver is applying a voltage to the source line that matches the voltage sensed on the bit line. This behavior is in agreement with the tables of
To operate in (2) verify/read mode, switch 1450 is closed and switch 1452 is open, based on control signals from the control circuits 1004. Therefore, signal lines 1320 and 1430 are driven to the same voltage causing the sources of N5 and N6 to be driven to the same voltage. In one embodiment, signal line 1430 is at 0.7v during programming and at ground during verify.
During verify, the bit line voltage VBL is compared against a reference by transistor P2. In the embodiment of
If the bit line voltage VBL is greater than or equal to the reference (3.65v during first pass or 2.45v during second pass), then P2 turns ON which causes P3 to turn OFF. N7 will also turn off, P4 turns ON and P5 turns ON. Because P4 is ON, VSL is effectively shorted to VBL via P4. Having P5 on, prevents P1 from turning on so that P1 (voltage adjustment circuit) does not contribute to the voltage of the source line. So, during verify, if VBL is greater than the reference, the source line driver is applying a voltage to the source line that matches the voltage sensed on the bit line.
If VBL is less than the reference (3.65v during first pass or 2.45v during second pass), then P2 is OFF, which causes P3 to turn ON. Because P3 is on, VBL is provided at the gate of N7, which turns ON N7. Because N7 is ON, P4 turns OFF, so VSL is not shorted to VBL via P4.
When VBL is less than the reference, the drain of N1 is at VBL−VTN and VSL is at VBL−VTN+VTP. Since, in this embodiment, VTN≠VTP then the source line voltage VSL is offset from the voltage on the bit line by an amount equal to a difference in threshold voltages of transistors N1 and P1 (both in the voltage adjustment circuit). Thus, when VBL is less than the reference then the voltage adjustment circuit is configured to apply a voltage VSL to the source line that is offset from the voltage VBL by a predetermined constant that is an amount equal to a difference in threshold voltages of transistors N1 and P1.
The discussion of the operation of the source line driver of
When reading, one embodiment pre-charges the bit line voltage to 0.5 volts. In response, the source line driver will drive the source line at 0 volts (i.e. SL=VBL−2VTN+VTP=0.5-2(0.5)+0.5=0).
When locking out a memory cell, the one or more control circuits drive a high bit line voltage which causes the source line voltage to match the bit line voltage and no current will flow through the NAND string.
One embodiment includes an apparatus, comprising: a detection circuit connected to a bit line of a non-volatile memory array, the detection circuit configured to compare a voltage on the bit line to a reference; a shorting circuit connected to the bit line, a source line of the non-volatile memory array, and the detection circuit, the shorting circuit configured to apply a voltage to the source line that matches the voltage on the bit line if the voltage on the bit line is greater than the reference; and a voltage adjustment circuit connected to the bit line, the source line, and the detection circuit, the voltage adjustment circuit configured to apply a voltage to the source line that is offset by a predetermined constant amount from the voltage on the bit line if the voltage on the bit line is less than the reference.
One embodiment comprises an apparatus, comprising: a plurality of non-volatile memory cells configured to form a monolithic three dimensional memory structure; a plurality of bit lines connected to the memory cells; a plurality of source lines connected to the memory cells; a plurality of bit line drivers connected to the bit lines; and a plurality of source line drivers connected to the source lines and the bit lines, the source line drivers configured to apply voltages to the source lines based on bit line voltages.
One embodiment includes a method comprising: receiving a bit line voltage on a bit line connected to a source line driver, the source line driver is also connected to a source line; if programming, applying a voltage to the source line that matches the bit line voltage; and if verifying, then applying a voltage to the source line that matches the bit line voltage if the bit line voltage is greater than a reference and applying a voltage to the source line that is offset from the bit line voltage if the bit line voltage is less than the reference.
One embodiment includes an apparatus, comprising: a plurality of non-volatile memory cells forming a monolithic three dimensional memory array; multiple separate and isolated source lines connected to the memory cells; multiple separate and isolated bit lines connected to the memory cells, each bit line is paired with a different source line to form source line/bit line pairs; and means for driving the source lines based on bit line voltages during verify, the means for driving the source lines are connected to the bit lines and the source lines.
For purposes of this document, reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “another embodiment” may be used to describe different embodiments or the same embodiment.
For purposes of this document, a connection may be a direct connection or an indirect connection (e.g., via one or more others parts). In some cases, when an element is referred to as being connected or coupled to another element, the element may be directly connected to the other element or indirectly connected to the other element via intervening elements. When an element is referred to as being directly connected to another element, then there are no intervening elements between the element and the other element. Two devices are “in communication” if they are directly or indirectly connected so that they can communicate electronic signals between them.
For purposes of this document, the term “based on” may be read as “based at least in part on.”
For purposes of this document, without additional context, use of numerical terms such as a “first” object, a “second” object, and a “third” object may not imply an ordering of objects, but may instead be used for identification purposes to identify different objects.
For purposes of this document, the term “set” of objects may refer to a “set” of one or more of the objects.
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. An apparatus, comprising:
- a detection circuit connected to a bit line of a non-volatile memory array, the detection circuit configured to compare a voltage on the bit line to a reference;
- a shorting circuit connected to the bit line, a source line of the non-volatile memory array, and the detection circuit, the shorting circuit configured to apply a voltage to the source line that matches the voltage on the bit line if the voltage on the bit line is greater than the reference; and
- a voltage adjustment circuit connected to the bit line, the source line, and the detection circuit, the voltage adjustment circuit configured to apply a voltage to the source line that is offset by a predetermined constant amount from the voltage on the bit line if the voltage on the bit line is less than the reference.
2. The apparatus of claim 1, further comprising
- a plurality of non-volatile memory cells; and
- one or more control circuits connected to the detection circuit and the memory cells, the one or more control circuits configured to adjust the reference used by the detection circuit by applying a benchmark voltage to the detection circuit, the reference has a mathematical relationship to the benchmark voltage.
3. The apparatus of claim 2, further comprising:
- the one or more control circuits connected to the detection circuit and configured to indicate to the detection circuit whether programming is being performed, the detection circuit further configured to cause the shorting circuit to apply a voltage to the source line that matches the voltage on the bit line in response to receiving an indication from the one or more control circuits that programming is being performed.
4. The apparatus of claim 1, further comprising
- a plurality of non-volatile memory cells; and
- one or more control circuits connected to the detection circuit and the memory cells, the one or more control circuits configured to adjust the reference used by the detection circuit by applying a first voltage to the detection circuit during a first pass of a multi-pass programming process and a second voltage during a second pass of the multi-pass programming process.
5. The apparatus of claim 1, wherein:
- the detection circuit, the shorting circuit and the voltage adjustment circuit consist of PMOS and NMOS transistors having a substantially similar magnitude of threshold voltage.
6. The apparatus of claim 1, wherein:
- the detection circuit, the shorting circuit and the voltage adjustment circuit comprise PMOS transistors and NMOS transistors, the PMOS transistors having a different magnitude of threshold voltage than the NMOS transistors.
7. The apparatus of claim 1, wherein:
- the voltage adjustment circuit is configured to selectively apply a voltage to the source line that is offset from the voltage on the bit line by a multiple of a threshold voltage of a transistor in the voltage adjustment circuit.
8. The apparatus of claim 1, wherein:
- the voltage adjustment circuit is configured to selectively apply a voltage to the source line that is offset from the voltage on the bit line by an amount equal to a difference in threshold voltages of transistors in the voltage adjustment circuit.
9. The apparatus of claim 1, further comprising:
- a plurality of non-volatile memory cells; and
- one or more control circuits connected to the detection circuit and the memory cells, the one or more control circuits are configured to apply a voltage on the bit line based on a target programming voltage level.
10. An apparatus, comprising:
- a plurality of non-volatile memory cells configured to form a monolithic three dimensional memory structure;
- a plurality of bit lines connected to the memory cells;
- a plurality of source lines connected to the memory cells;
- a plurality of bit line drivers connected to the bit lines; and
- a plurality of source line drivers connected to the source lines and the bit lines, the source line drivers configured to apply voltages to the source lines based on bit line voltages.
11. The apparatus of claim 10, wherein:
- each bit line is paired with a different source line to form source line/bit line pairs; and
- each source line driver comprises: a detection circuit connected to a bit line of a source line/bit line pair, a shorting circuit connected to the bit line, a source line of the source line/bit line pair and the detection circuit, and a voltage adjustment circuit connected to the bit line and the source line of the source line/bit line pair and the detection circuit.
12. The apparatus of claim 10, wherein:
- the bit lines are positioned below the memory structure;
- the source lines are positioned above the memory structure;
- the bit line drivers are positioned below the memory structure; and
- the source line drivers are positioned to the side of the memory structure.
13. The apparatus of claim 10, wherein:
- the memory cells form NAND strings in the monolithic three dimensional memory structure;
- each bit line is paired with a different source line to form source line/bit line pairs; and
- each source line/bit line pair is connected to a same set of NAND strings.
14. The apparatus of claim 10, further comprising storage elements, each storage element accessible to one of the bit line drivers and the source line drivers for a paired bit line and source line, each storage element configured to store a programming target and wherein:
- the bit line drivers drive data dependent voltages on the bit lines during programming and verify, the data dependent voltages based on the programming targets.
15. The apparatus of claim 10, wherein each source line driver comprises:
- a detection circuit connected to a bit line of a source line/bit line pair, the detection circuit is configured to detect whether a voltage on the bit line is greater than a reference;
- a shorting circuit connected to the bit line and a source line of the source line/bit line pair and the detection circuit, the shorting circuit is configured to apply a voltage to the source line that matches the voltage on the bit line if the voltage on the bit line is greater than the reference; and
- a voltage adjustment circuit connected to the bit line and the source line of the source line/bit line pair and the detection circuit, the voltage adjustment circuit is configured to apply a voltage to the source line that is offset by a predetermined constant amount from the voltage on the bit line if the voltage on the bit line is not greater than the reference.
16. A method comprising:
- receiving a bit line voltage on a bit line connected to a source line driver, the source line driver is connected to a source line;
- if programming, applying a voltage to the source line that matches the bit line voltage; and
- if verifying, then applying a voltage to the source line that matches the bit line voltage if the bit line voltage is greater than a reference and applying a voltage to the source line that is offset from the bit line voltage if the bit line voltage is less than the reference.
17. The method of claim 16, further comprising:
- generating the bit line voltage as a data dependent voltage based on a programming target for a non-volatile memory cell connected to the bit line and the source line.
18. The method of claim 16, further comprising:
- adjusting the reference based on a type of memory operation being performed by sending different benchmark voltages to the source line driver for different memory operations.
19. The method of claim 16, further comprising:
- sending a control signal to the source line driver to configure the source line driver for programming, verifying or reading.
20. An apparatus, comprising:
- a plurality of non-volatile memory cells forming a monolithic three dimensional memory array;
- multiple separate and isolated source lines connected to the memory cells;
- multiple separate and isolated bit lines connected to the memory cells, each bit line is paired with a different source line to form source line/bit line pairs; and
- means for driving the source lines based on bit line voltages during verify, the means for driving the source lines are connected to the bit lines and the source lines.
Type: Application
Filed: Oct 20, 2016
Publication Date: Apr 27, 2017
Applicant: SANDISK TECHNOLOGIES LLC (Plano, TX)
Inventors: Ali Al-Shamma (San Jose, CA), Nima Mokhlesi (Los Gatos, CA)
Application Number: 15/299,357