Alternate Sensing Techniques for Non-Volatile Memories
The present invention presents a scheme for sensing memory cells. Selected memory cells are discharged through their channels to ground and then have a voltage level placed on the traditional source and another voltage level placed on the control gate, and allowing the cell bit line to charge up. The bit line of the memory cell will then charge up until the bit line voltage becomes sufficiently high to shut off any further cell conduction. The rise of the bit line voltage will occur at a rate and to a level dependent upon the data state of the cell, and the cell will then shut off when the bit line reaches a high enough level such that the body effect affected memory cell threshold is reached, at which point the current essentially shuts off. A particular embodiment performs multiple such sensing sub-operations, each with a different control gate voltage, but with multiple states being sensed in each operation by charging the previously discharged cells up through their source.
The present application is a divisional of U.S. application Ser. No. 11/321,996, filed Dec. 28, 2005. The present application is also related to U.S. application Ser. No. 11/320,917, filed Dec. 28, 2005. The applications are hereby incorporated herein, in their entirety, by this reference.
FIELD OF THE INVENTIONThis invention relates generally to non-volatile memories and their operation, and, more specifically, to techniques for reading such memories.
BACKGROUND OF THE INVENTIONThe principles of the present invention have application to various types of non-volatile memories, those currently existing and those contemplated to use new technology being developed. Implementations of the present invention, however, are described with respect to a flash electrically erasable and programmable read-only memory (EEPROM), wherein the storage elements are floating gates, as exemplary.
It is common in current commercial products for each floating gate storage element of a flash EEPROM array to store a single bit of data by operating in a binary mode, where two ranges of threshold levels of the floating gate transistors are defined as storage levels. The threshold levels of a floating gate transistor correspond to ranges of charge levels stored on their floating gates. In addition to shrinking the size of the memory arrays, the trend is to further increase the density of data storage of such memory arrays by storing more than one bit of data in each floating gate transistor. This is accomplished by defining more than two threshold levels as storage states for each floating gate transistor, four such states (2 bits of data per floating gate storage element) now being included in commercial products. More storage states, such as 8 or even 16 states per storage element, are contemplated. Each floating gate memory transistor has a certain total range (window) of threshold voltages in which it may practically be operated, and that range is divided into one range for each of the number of states plus margins between the states to allow for them to be clearly differentiated from one another.
As the number of states stored in each memory cell increases, the tolerance of any shifts in the programmed charge level on the floating gate storage elements decreases. Since the ranges of charge designated for each storage state must necessarily be made narrower and placed closer together as the number of states stored on each memory cell storage element increases, the programming must be performed with an increased degree of precision and the extent of any post-programming shifts in the stored charge levels that can be tolerated, either actual or apparent shifts, is reduced. Actual shifts in the charge stored in one cell can be disturbed when reading, programming and erasing other cells that have some degree of electrical coupling with that cell, such as those in the same column or row, and those sharing a line or node.
Apparent shifts in the stored charge occur because of field coupling between storage elements. The degree of this coupling is necessarily increasing as the sizes of memory cell arrays are being decreased and as the result of improvements of integrated circuit manufacturing techniques. The problem occurs most pronouncedly between two sets of adjacent cells that have been programmed at different times. One set of cells is programmed to add a level of charge to their floating gates that corresponds to one set of data. After the second set of cells is programmed with a second set of data, the charge levels read from the floating gates of the first set of cells often appear to be different than programmed because of the effect of the charge on the second set of floating gates being coupled with the first. This is described in U.S. Pat. Nos. 5,867,429 and 5,930,167, which patents are incorporated herein in their entirety by this reference. These patents describe either physically isolating the two sets of floating gates from each other, or taking into account the effect of the charge on the second set of floating gates when reading that of the first. Further, U.S. Pat. No. 5,930,167 describes methods of selectively programming portions of a multi-state memory as cache memory, in only two states or with a reduced margin, in order to shorten the time necessary to initially program the data. This data is later read and re-programmed into the memory in more than two states, or with an increased margin.
This effect is present in various types of flash EEPROM cell arrays. A NOR array of one design has its memory cells connected between adjacent bit (column) lines and control gates connected to word (row) lines. The individual cells contain either one floating gate transistor, with or without a select transistor formed in series with it, or two floating gate transistors separated by a single select transistor. Examples of such arrays and their use in storage systems are given in the following U.S. patents and pending applications of SanDisk Corporation that are incorporated herein in their entirety by this reference: U.S. Pat. Nos. 5,095,344, 5,172,338, 5,602,987, 5,663,901, 5,430,859, 5,657,332, 5,712,180, 5,890,192, and 6,151,248, and Ser. No. 09/505,555, filed Feb. 17, 2000, and 09/667,344, filed Sep. 22, 2000.
A NAND array of one design has a number of memory cells, such as 8, 16 or even 32, connected in series along each string formed between a bit line and a reference potential line through select transistors at either end. Word lines are connected with control gates of cells and are formed over different series strings. Relevant examples of such arrays and their operation are given in the following U.S. patents that are incorporated herein in their entirety by this reference: U.S. Pat. Nos. 5,570,315, 5,774,397 and 6,046,935. Briefly, two bits of data, often from different logical pages of incoming data are programmed into one of four states of the individual cells in two steps, first programming a cell into one state according to one bit of data and then, if the data makes it necessary, re-programming that cell into another one of its states according to the second bit of incoming data.
In addition to improving memory performance by making programming faster, performance can also be improved by speeding up the sensing process. Shortening sensing times will improve performance both during read and verify operations; and if the memory can speed up verify, this will improve write speed. This is particularly true for multi-state memories, where a verify step is needed between any two consecutive pulses, and multi-state memories require several sensing steps in each verify operation. The performance of non-volatile memory systems could be improved if these shortcomings could be reduced or eliminated.
SUMMARY OF THE INVENTIONBriefly and generally, the present invention presents a scheme for sensing memory cells that is particularly useful for improving performance in multi-level non-volatile memory systems. This is achieved by setting an initial state in selected memory cells by discharging their channels to ground, placing a voltage level on the traditional source (such as the common electrode that connects the same end of the NAND strings in one block together) and the control gate, and allowing the cell bit line to charge up for some time as a result of conduction of current through the cell during the signal integration period. The bit line of the memory cell will then charge up until the bit line voltage becomes sufficiently high enough to shut off any further cell conduction. The rise of the bit line voltage will occur at a rate and to a level dependent upon the data state of the cell, and the cell will then shut off when the bit line, which now plays the role of the source for the NAND string, voltage reaches a high enough level such that the body effect affected memory cell threshold is reached at which point the current essentially shuts off. More specifically, an exemplary embodiment uses this technique for sensing in both the verify phase of write operations and for read operations. A plurality of cells along the same word line are sensed concurrently by placing a constant, data independent voltage on the word line and constant, data independent common voltage level on the source side of these cells. The source side is now playing the role of the drain in the sense that its voltage is higher than the bit line side. The bit lines of cells, having previously been discharged, will then cause a voltage on their respective bit lines indicative of their individual data content.
In a sub-aspect of the present invention, the present invention allows for a single pass of verify operation to verify the state of all cells being programmed, regardless of the cells target state. As the level to which the corresponding bit line will rise depends, due to the body effect, upon the state of the cell. This level can then be compared against the reference value corresponding to the respective target values. This improves performance over prior art techniques requiring multiple charge-discharge, and signal integration cycles following each program pulse, one cycle for each target state requiring a verify operation.
In another sub-aspect of the present invention, read performance is improved as all data levels can be determined based upon the single discharge-charge cycle. As the level on a given cells bit line approaches an asymptotic value determined by the data content, once these levels are reached the level on the bit line can be compared to a set of reference levels, the comparison phase performed either sequentially or concurrently.
In a further sub-aspect of the present invention, and in one set of embodiments, the peripheral circuitry supplies the reference voltages to the bit line comparators sequentially. The reference values can all be available concurrently to a multiplexing circuit that supplies the different value, or the line supplying the reference values to the comparator can itself receive the various reference values in a time multiplexed manner. Although this last technique requires the changing of the voltage level on the reference supply line, this can be effected more rapidly than recharging and discharging the bit lines for each data level.
Another aspect of the present invention is sensing the state of the multi-state memory cells by performing multiple sensing sub-operations, each with a different control gate voltage, but with multiple states being sensed in each operation by charging the previously discharged cells up through their source. By combining elements of the two diverse sensing techniques, the sensing operation is sped up, as multiple states are read in each sensing sub-operation, while the use of multiple word line voltages provides sufficient dynamic range to resolve all of the data states.
A specific embodiment of these aspects is based upon a flash memory with a NAND architecture. The cells along a selected word line are connected along bit lines to a common source line. Either an all bit line architecture or an architecture where the bit lines are divided into sets that are sensed alternately can be used.
Additional aspects, features, advantages and applications of the present invention are included in the following description of exemplary embodiments, which description should be taken in conjunction with the accompanying drawings.
With reference to
The data stored in the memory cells (M) are read out by the column control circuit 2 and are output to external I/O lines via an I/O line and a data input/output buffer 6. Program data to be stored in the memory cells are input to the data input/output buffer 6 via the external I/O lines, and transferred to the column control circuit 2. The external I/O lines are connected to a controller 20.
Command data for controlling the flash memory device are input to a command interface) connected to external control lines that are connected with the controller 20. The command data informs the flash memory of what operation is requested. The input command is transferred to a state machine 8 that controls the column control circuit 2, the row control circuit 3, the c-source control circuit 4, the c-p-well control circuit 5 and the data input/output buffer 6. The state machine 8 can output a status data of the flash memory such as READY/BUSY or PASS/FAIL.
The controller 20 is connected or connectable with a host system such as a personal computer, a digital camera, or a personal digital assistant. It is the host that initiates commands, such as to store or read data to or from the memory array 1, and provides or receives such data, respectively. The controller converts such commands into command signals that can be interpreted and executed by the command circuits 7. The controller also typically contains buffer memory for the user data being written to or read from the memory array. A typical memory system includes one integrated circuit chip 21 that includes the controller 20, and one or more integrated circuit chips 22 that each contain a memory array and associated control, input/output and state machine circuits. The trend, of course, is to integrate the memory array and controller circuits of a system together on one or more integrated circuit chips. The memory system may be embedded as part of the host system, or may be included in a memory card that is removably insertable into a mating socket of host systems. Such a card may include the entire memory system, or the controller and memory array, with associated peripheral circuits, may be provided in separate cards.
With reference to
During a user data read and programming operation, 4,256 cells (M) are simultaneously selected, in this example. The cells (M) selected have the same word line (WL), for example WL2, and the same kind of bit line (BL), for example the even bit lines BLe0, Ble2, to BLe4254. Therefore, 532 bytes of data can be read or programmed simultaneously and this unit of data is referred to as a page. Since in this example each NAND string contains 4 cells and there are two bit lines per sense amp, one block can store at least eight pages. When each memory cell (M) stores two bits of data, namely a multi-level cell, one block stores 16 pages. In this embodiment, the storage element of each of the memory cells, in this case the floating gate of each of the memory cells, stores two bits of user data.
Each memory cell has a floating gate (FG) that stores an amount of charge corresponding to the data being stored in the cell, the word line (WL) forming the gate electrode, and drain and source electrodes made of the n-type diffusion layer 12. The floating gate (FG) is formed on the surface of the c-p-well via a tunnel oxide film (14). The word line (WL) is stacked on the floating gate (FG) via an insulator film (15). The source electrode is connected to the common source line (c-source) made of the first metal (M0) via the second select transistor (S) and the first contact hole (CB). The common source line is connected to the c-source control circuit (4). The drain electrode is connected to the bit line (BL) made of a second metal (M1) via the first select transistor (S), the first contact hole (CB), an intermediate wiring plate of the first metal (M0) and a second contact hole (VI). The bit line is connected to the column control circuit (2).
Table I of
In order to store electrons in the floating gate (FG) during a programming operation, the selected word line WL2 is connected to a program pulse Vpgm and the selected bit lines BLe are grounded. On the other hand, in order to inhibit the program on the memory cells (M) in which programming is not to take place, the corresponding bit lines BLe are connected to a positive voltage Vdd, for example 3V, at the onset of programming, in order to isolate their string channels and have them float up to an inhibit condition as mentioned earlier. This program inhibit is also done on all of the unselected bit lines BLo. The unselected word lines WL0, WL1 and WL3 are connected to 10V, the first select gate (SGD) is connected to Vdd, and the second select gate (SGS) is grounded. As a result, a channel potential of the memory cell (M) that is being programmed is set at 0V. The channel potential of a cell that is being inhibited is raised to around 8V as a result of the channel potential being pulled up by the capacitive coupling with the word lines (WL). As explained above, a strong electric field is thus applied to only the tunnel oxide films 14 of the memory cells (M) during programming, and the tunnel current flows across the tunnel oxide film 14 in the reverse direction compared to the erase, and then the logical state is changed from “11” to one of the other states “10”, “01, or “00”. Various other coding schemes may be selected to represent these states so that the designation E (erase), A (lowest threshold program state), B (threshold higher than A), and C (highest threshold program state) will be used in the subsequent discussion.
In the read and verify operations, the select gates (SGD and SGS) and the unselected word lines (WL0, WL1, and WL3) are raised to a read pass voltage of 4.5V to insure that current between the bit line and common source line can pass through them. The selected word line (WL2) is connected to a voltage, a level of which is specified for each read and verify operation in order to determine whether a threshold voltage of the concerned memory cell has reached such level. For example, in a READ 10 operation (state A), the selected word line WL2 is grounded, so that it is detected whether the threshold voltage is higher than 0V. In this read case, it can be said that a read level is 0V. In a VERIFY01 operation (state C), the selected word line WL2 is connected to 2.4V, so that it is verified that whether the threshold voltage has reached 2.4V. In this verify case, it can be said that a verify level is 2.4V.
The selected bit lines (BLe) are pre-charged to a high level, for example 0.7V. If the threshold voltage is higher than the read or verify level, the potential level of the concerned bit line (BLe) maintains the high level, because of the non-conductive memory cell (M). On the other hand, if the threshold voltage is lower than the read or verify level, the potential level of the concerned bit line (BLe) decreases to a low level, for example less than 0.5V, because of the conductive memory cell (M). Further details of the read and verify operations are explained below.
In this example, each of the two bits stored in a single memory cell (M) is from a different logical page. That is, each bit of the two bits stored in each memory cell carries a different logical page address from the other. The lower page bit shown in
In order to provide improved reliability, it is better for the individual distributions to be tightened (the threshold distribution narrowed), because the tighter distribution results in a wider read margin (distance between them). According to the present invention, the distribution width remains tighter without a conspicuous degradation in the programming speed.
According to the article “Fast and Accurate Programming Method for Multi-level NAND EEPROMs”, Digest of 1995 Symposium on VLSI Technology, pp 129-130, which article is incorporated herein by this reference, in principle, limiting a distribution to a 0.2V-width requires that the usual repetitive programming pulses be incremented 0.2V between steps.
In periods between the pulses, the verify (read) operations are carried out. That is, the programmed level of each cell being programmed in parallel is read between each programming pulse to determine whether it is equal to or greater than the verify level to which it is being programmed. This is shown in
One specific existing technique of programming a 4-state NAND memory cell in an array of the type described above is now described. In a first programming pass, the cell's threshold level is set according to the bit from the lower logical page. If that bit is a “1”, nothing is done since it is in that state as a result of having been earlier erased. However, if that bit is a “0”, the level of the cell is increased to the A programmed state 34 using VVA as the verify voltage to inhibit further programming. That concludes the first programming pass.
In a second programming pass, the cell's threshold level is set according to the bit being stored in the cell from the upper logical page. If a “1”, no programming occurs since the cell is in one of the states 33 or 34, depending upon the programming of the lower page bit, both of which carry an upper page bit of “1”. If the upper page bit is a “0”, however, the cell is programmed a second time. If the first pass resulted in the cell remaining in the erased or E state 33, the cell is programmed from that state to the highest threshold state 36 (state C), as shown by the upper arrow
Of course, if the memory is operated with more than four states, there will be a number of distributions within the defined voltage threshold window of the memory cells that is equal to the number of states. Further, although specific bit patterns have been assigned to each of the distributions, different bit patterns may be so assigned, in which case the states between which programming occurs can be different than those described above. A few such variations are discussed in the patents previously referenced in the Background for NAND systems. Further, techniques for reducing the consequences of adjacent cell coupling in NAND and other types of memory arrays that are operated in multiple states are described in U.S. Pat. No. 6,522,580, which is also incorporated herein in its entirety by this reference.
The voltages VRA, VRB and VRC, positioned roughly halfway between adjacent ones of the distributions 33-36, are used to read data from the memory cell array. These are the threshold voltages with which the threshold voltage state of each cell being read is compared. This is accomplished by comparing a current or voltage measured from the cell with reference currents or voltages, respectively. Margins exist between these read voltages and the programmed threshold voltage distributions, thus allowing some spreading of the distributions from disturbs and the like, as discussed above, so long as the distributions do not overlap any of the read voltages VRA, VRB and VRC. As the number of storage state distributions increases, however, this margin is reduced and the programming is then preferably carried out with more precision in order to prevent such spreading.
The previous description assumes that two logical pages reside in one physical page and that only the lower logical page or the upper logical page but not both are programmed during a given programming cycle. U.S. patent application publication US 2003/0112663 titled “Method and System for Programming and Inhibiting Multi-Level Non-Volatile Memory Cells”, hereby incorporated by reference, describes programming all of the physical states of the page during one programming operation. In the case of four states per cell as shown in
Although a specific programming scheme has been described, there are other possibilities that can be used. For example, U.S. Pat. No. 6,046,935 describes a programming method in which selected cells are programmed from state E to state B during a first programming cycle. During a second programming cycle cells are programmed from state E to state A and from state B to state C. U.S. Pat. No. 6,657,891 elaborates on this method by teaching that the initial distribution of state B may be allowed to extend to a lower threshold limit and even overlap final state A at the end of the first programming cycle, being tightened to its distribution only during the second programming cycle. Furthermore, the binary coding adopted to represent states E, A, B and C may be chosen differently that that shown in
As noted in the Background, it is desirable to improve the performance of multi-state non-volatile memories. The present section is addressed to improving sensing operations, such as occur during read operations and the verify phase of the program operations. As described above with respect to
In sensing a non-volatile memory cell, whether as part of a read operation or as part of the verify phase of a program operation, there will typically be several phases. These include applying voltages to the cell so that it is biased appropriately with the correct initial conditions for its data content to be sensed or measured, followed by an integration period that measures a parameter related to the state of the cell. In an EEPROM cell, the parameter is usually a voltage or the source-drain current, but can also be a time or frequency that is governed by the state of the cell. An example of one embodiment for the sense voltages of this measurement process is shown schematically in
The use of the sensing technique requires a balance in the choice of t′ and the reference voltage, Vref, used to the sense the state of the cell: if t′ is taken too short, 501 and 503 will not have sufficiently separated, while if t′ is taken too long, 503 and 501 will have bottomed out at ground; similarly if Vref is taken too high, even an off cell may be mistakenly read as on due to low level leakage currents, while if Vref is taken too low, even an on cell may be mistakenly read as off since on cells can carry a finite amount of current. (Note that the question to be determined is whether the applied control gate voltage, VCG, is above or below the cell threshold and, since this is not known before the measurement is made, there is no VCG within the range of values which is, a priori, too high or too low; i.e. the application of different VCG values is not a mistake, but choosing an inappropriate t′, or Vref is a mistake). This problem is aggravated in multi-state memories where closely lying levels must be differentiated. Consequently, this is typically implemented by a precharge and discharge (and corresponding Vref,) for each state or target value.
As shown in
When applied to the writing process, a principle aspect of the present invention replaces the (N−1) (or somewhat fewer) verify operations per program pulse with only a single verify operation. This is achieved by applying a single, fixed, high valued read voltage (e.g. 2.4V which is the typical word line voltage for discriminating between the highest programmed threshold state and the other lower programmed states) to the selected word line, and simultaneously verifying each cell against its own target state by taking advantage of the body effect in the following manner: A voltage of, for example, 2V is applied to the traditional source line of the NAND array (
In addition to the control gate, source and drain voltages for the selected element, for a NAND embodiment the other voltages needed on a NAND string need to be set: the other storage elements in the string will need to be turned fully, the drain side select gate (SGD) will need to be turned on, at the latest, by the beginning of the pre-charge (or, more accurately, the pre-discharge) phase, and the source side select gate (SGS) will need to be turned on, at the latest, by time t=0. The relative values for these other voltages after t=0 are shown schematically by the broken lines on
As shown in
As the same VWL is applied to all cells, a given cell's bit line will charge up at a rate and, due to the body effect, towards an asymptotic voltage value based upon the data state stored on the cell. This is shown for a four state cell along the time axis of
At t=t′, the level on each bit line can be compared to multiple reference values concurrently or sequentially during the read process of phase 4.
All of the NAND strings in a selected read page will have the same Vsource and same VWL applied, as they also will for the rest of voltages associated with the selected NAND block (to the non-selected word lines and the select gates): what differs is the charge stored on the floating gates of cells of the selected row, which will determine how fast and how far the voltage level on the corresponding bit line will rise, corresponding to the differing lines of
The advantages of sensing all levels concurrently include a gain in performance due to parallelization of the comparison operations. However, concurrent sensing of all levels entails a penalty in terms of area and complexity of the sense amplifiers, where each sense amplifier would include (N−1) comparators. In addition, (N−1) bus lines will be required to deliver the (N−1) reference voltages required for concurrently sensing and distinguishing N states from one another. Alternatively, if the compare operations are performed sequentially then the sense amplifiers can be designed to be much simpler and occupy smaller portions of the die. It should be noted that in the typical ABL architecture, every global bit line has a dedicated sense amplifier, and in the more conventional odd/even sensing, one sense amplifier is dedicated to every global bit line pair. Another advantage of performing the comparison phase in a sequential manner is that a single bus line running in the same direction as the word lines can be used for delivering the reference voltages in a time multiplexed manner to all sense amplifiers residing at the end of each memory plane. This also saves die area. However there will be some performance and power/energy penalties associated with charging the reference bus line voltage (N−1) times. It is also possible to design the memory to time multiplex the compare operations, but to do so using several reference voltages bus lines. Combinations are also possible where, for example, an 8 state memory (N=8) could have 4 bus lines, and the sense amps can be designed to each concurrently sense 2 states using two of the reference bus lines while the other 2 reference bus lines are charging to the next pair of reference voltages, reducing the performance impact of the reference bus lines' charging time. It is important to note that the bit line charging or discharging phase is a relatively slow process, taking on the order of several microseconds. This time is dictated by the formula I=C dV/dt, where I is the current which can be no bigger than the memory cell transistor's saturation current (for an on cell, a typically value for I is on the order of a micro-amperes or less), C is typically the bit line capacitance, which is usually dominated by the global bit line capacitance, and dV is the minimum change in sensing node voltage required for a reliable, and noise-free operation, and it is in the range [50 mV, 500 mV]. U.S. patent publications US-2005-0169082-A1 and 2004-0057318-A1, which are hereby incorporated by reference, describes the use of a sensing node that is not the global bit line in, for example, the ABL architecture; consequently, this sort of arrangement allows faster sensing since the capacitance of the sensing node is considerably smaller than the global bit line capacitance. The compare operation which compares the sensing node voltage with the reference voltage is a very fast operation which may take only a few nano-seconds, or tens of nano-seconds. These exemplary numbers are provided to illustrate the point that performance is increased by going from (N−1) sequential sensing operations to using, for example, a single sensing operation which may utilize up to (N−1) sequential compare operations.
The discussion so far mainly looked at the case of four state memory cells, each storing 2-bits of data. However, when even more states are stored on each cell, it may not be possible to differentiate all of the states by using a single word line voltage. Even if it is possible to discriminate all of the possible data states, whether there be three, four, or more such states, it may be preferable to break the process up into more than one read. For example, to differentiate all states at once may require bias conditions that would produce an high number of read disturbs. To be able to read multiple data states by using the same word line voltage and varying amounts of body effect delivered from the bit lines, the VREAD voltage applied to the non-selected word lines of a NAND block will have to be overdriven by a higher amount than that needed for conventional reading of NAND memories. A higher VREAD value should be selected that enables the turning on of memory cells that have been programmed to the highest threshold voltage and who are now being read by having a positive source bias which will further raise their high threshold values. Consequently, higher VREAD values may be necessary. These high VREAD values can lead to read disturb. To alleviate this issue read scrubbing (such as is described in U.S. Pat. No. 5,532,962, which is hereby incorporated by reference) can be performed at a frequency that guarantees that no block will experience enough read disturb exposure before its data is rewritten. This rewriting of the data can be performed by moving the data to another block as is done in wear leveling schemes (such as described in U.S. Pat. No. 6,230,233, publication number US-2004-0083335-A1, and application Ser. Nos. 10/990,189 and 10/281,739, all of which are hereby incorporated by reference). It is also possible to design a hybrid sensing scheme where (N−1) sensing operations are performed in M (M<N) sequential sensing operations, where each of the M operations requires discharging/charging of the sense nodes. This hybrid scheme may be employed to alleviate the issues that may arise from the lack of availability of dynamic range in allowed source/drain voltages, where the magnitude of the body effect, together with disturb and reliability issues may necessitate the breaking down of a single verify for all (N−1) compares into more than a single verify operation. Although such a hybrid sensing scheme requires combining two seemingly contrary approaches (using multiple word line read voltages, but also sensing multiple states at a time by charging the cells up through their sources), it can be quite advantageous in multi-state applications as described below with respect to
The following set of exemplary values will help elucidate this new read method: External instruments using DC biases of 0V on the source and 0.5V on the drain can measure the threshold voltage of a memory cell. A sweep of the control gate voltage will result in a drain-to-source-current vs. control-gate-voltage characteristic. A suitable current value, such as 100 nA, may be chosen to define the threshold voltage of the cell. Erased and subsequently soft-programmed cells in state E will have negative threshold values in the range −1.5V to −0.5V, cells in state A will have Vths in the range 0.3V to 0.9V, cells in state B will have VT's in the range 1.5V to 2.1V, and cells in state C will have Vths in the range 2.7V to 3.3V as measured by this static method. The actual memory chips typically employ dynamic sensing which involves pre-charging the bit lines (drains) before the onset of integration, and some amount of discharging of the bit line during the integration period which would indicate whether the cell being sensed is on or off. The parameters of dynamic sensing can be chosen such that a Vth measured by the sort of dynamic sensing described above with respect to
Given the above distribution of threshold values, a typical read operation for a four state memory using the dynamic sensing method described above with respect to
During DC sensing, and with a source voltage of 0V and a drain voltage of 0.5V the threshold voltage of a cell may be 1V. The same cell with exactly the same amount of charge on its floating gate will have a body effect shifted VT of 2.0V if the source voltage is raised to 0.5V and the drain voltage is raised to 1.0V, maintaining the same value of drain to source voltage. (In this discussion, a source body effect factor of 2 has been assumed; for other factors, the values should be adjusted accordingly.) In other words, a 0.5V increase in body bias can correspond to a 1.0V increase in cell Vth. Again, all above numerical values are exemplary only. Conventional dynamic sensing, as described with respect to
For the new sensing scheme that uses the body effect to raise the VT of cells being sensed, the overdrive requirement is also increased, requiring a VREAD that can be in excess of 7.5V. This high VREAD value does not pose an issue during program/verify operations as the exposure to this VREAD value is a one time exposure per block write operation. However, a read operation can be performed many times, exposing the memory cells to read disturbs that are exacerbated by higher VREAD values which can cause excessive tunneling of charge into floating gates after multiple read operations. Read scrubbing techniques, such as those described in U.S. Pat. No. 5,532,962 can be utilized in order to remedy such read disturb issues. It should be noted that in most implementations care is taken to design the read operations to mimic the verify operation as closely as possible. This is done to increase the fidelity of the read. Therefore, one preferable embodiment consists of using the body bias single read operation not only during program/verify operations, but also during read operations.
During programming operations, the same latches that have stored the states that are to be programmed into their corresponding cells can be accessed in order to select the appropriate level of sensing trip point required for verifying the target state on a bit line by bit line basis. For example, if a cell is to be programmed to state A, then the reference trip point voltage for that cell would be (using the exemplary values from above) 1.5V, whereas programming to state B would require a trip point voltage of 1.0V, and programming to state C would require a trip point voltage of 0.5V. In one embodiment, shown in
In a different embodiment, shown in
As noted above, for cells storing many states, there may be enough dynamic range in allowed source/drain voltages such that the magnitude of the body effect, together with disturb and reliability issues, allow all of the states to be determined in a single sensing operation. For example, consider the case of where the memory cells in the process of
To overcome this lack of dynamic range, in a further aspect, the present invention employs a hybrid sensing technique. In these embodiments, multiple VWL values are used, but each according to the method described with respect to
It should be noted that the hybrid approach is combining two somewhat antithetical techniques: the technique of
Referring to
Once these states stabilize the sense node voltage can be compared with the various compare values as described above with respect to
Once the first sensing sub-operation is done at t2, the word line voltage is raised to VWL2 to differentiate states resolved at VWL1>VWL2. (Here, the word line voltage is stepped up from one sensing operation to the next, although other embodiments could use VWL1>VWL2.) Between t2 and t3 the level on the bit lines transition from their response to VWL1 to their response to VWL2.
In the embodiment shown in
For any of the embodiments, at time t3 the new word line voltage VWL2 will have resolved some of the states that were not resolved for VWL1. In the example, the bias conditions using VWL2 are able to separate states 4, 5, 6, and 7, although the lower states (determined between t2 and t2) have now all coalesced above state 4. Once the bit line levels have sufficiently stabilized at t3 the second sensing sub-operation is executed. Here, this is done in the same way and with the same values as for VWL2, although different values and techniques could be used in the two cases. For the example, the two reads with the two word line values were sufficient to cover all of the cells. In other cases, the process can continue on to a third or more additional sensing sub-operations if needed to cleanly resolve all of the states.
The various alternate sensing techniques described in this section can be particularly advantageous when used in conjunction with a programming method that writes multiple states at the same time. Such a method allows the simultaneous programming of multiple states by proportionately retarding the programming of cells whose target threshold voltage levels are lower. This target state dependent retarding of programming is achieved by creating semi-inhibit or semi-boosting conditions of various strengths depending on the target state. The resulting efficiencies can greatly enhance memory performance by combining these verify/read methods with such concurrent programming of all, or at least multiple states. Such concurrent programming can be based on the program voltage of the different cells being dependent upon their target state (as described in U.S. Pat. No. 6,738,289, which is hereby incorporated by reference) or controller the program rate on a bit line by bit line basis based on the target state of each memory cell. Such bit line data dependent programming is described in U.S. patent application Ser. No. 11/196,547, which is hereby incorporated by reference, where either the voltage bias level, amount of current allowed to flow, or both is governed independently for each cell based on its corresponding target state. For any of these approaches, the number of programming pulses can be reduced; as the sensing techniques described above reduce the number of verify reads needed between each such pulse, the efficiencies combine multiplicatively to improve memory performance.
Alternate Use of Dielectric Storage ElementsThe forgoing examples have been described with respect to the type of cell that utilizes conductive floating gates as charge storage elements. However, the various aspects of the present invention can be used in conjunction with nano-crystal memories, and phase change memories, MRAM, FERAM and the other various memory technologies described in U.S. patent application Ser. No. 10/841,379 filed May 7, 2004, which is hereby incorporated by reference. For example, the invention may also be implemented in a system that uses a charge trapping dielectric as the storage elements in individual memory cells in place of floating gates. The dielectric storage element is sandwiched between a conductive control gate and the substrate within the cell's channel region. Although the dielectric can be separated into individual elements with the same sizes and positions as the floating gates, it is usually not necessary to do so since charge is trapped locally by such a dielectric. The charge trapping dielectric can extend over the entire array except in areas occupied by the select transistors or the like.
Dielectric storage element memory cells are generally described in the following technical articles and patent, which articles and patent are incorporated herein in their entirety by this reference: Chan et al., “A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device,” IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, pp. 93-95; Nozaki et al., “A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application,” IEEE Journal of Solid State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501; Eitan et al., “NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell,” IEEE Electron Device Letters, Vol. 21, No. 11, November 2000, pp. 543-545, and U.S. Pat. No. 5,851,881.
There are specific charge trapping dielectric materials and configurations that are practical for use. One is a three-layer dielectric with silicon dioxide initially grown on the substrate, a layer of silicon nitride deposited there over and another layer of silicon oxide, grown and/or deposited, over the silicon nitride layer (“ONO”). Another is a single layer of silicon rich silicon dioxide sandwiched between the gate and the semiconductor substrate surface. This later material is described in the following two articles, which articles are incorporated herein in their entirety by this reference: DiMaria et al., “Electrically-alterable read-only-memory using Si-rich SI02 injectors and a floating polycrystalline silicon storage layer,” J. Appl. Phys. 52(7), July 1981, pp. 4825-4842; Hori et al., “A MOSFET with Si-implanted Gate-Si02 Insulator for Nonvolatile Memory Applications,” IEDM 92, April 1992, pp. 469-472. Dielectric storage elements are also discussed further in the U.S. patent application Ser. No. 10/280,352, filed Oct. 25, 2002, which is hereby incorporated by this reference.
Although the present invention has been described in terms of specific examples and variations thereof, it is understood that the invention is to be protected within the full scope of the appended claims.
Claims
1. A method of concurrently determining the state of a plurality of multi-state memory cells from a memory array, wherein said plurality of memory cells are connected along a common word line, have sources connected to a common source line, and are formed along distinct bit lines, the method comprising:
- discharging the memory cells to ground through the corresponding bit lines; subsequently applying a first voltage level to the common source line;
- subsequently applying a second voltage level to the word line;
- in response to applying the second voltage level to the word line, determining whether the data content of each of the memory cells corresponds to one of a first subset of said multi-states;
- subsequently applying a third voltage level to the word line, wherein the third voltage level differs from the second voltage level; and
- in response to applying the third voltage level to the word line, determining whether the data content of each of the memory cells corresponds to one of a second subset of said multi-states, wherein the first and second subsets of said multi-states are distinct and each contain a plurality of states.
2. The method of claim 1, wherein determining whether the data content of each of the memory cells corresponds to one of a first or second subset of said multi-states includes:
- allowing a voltage to develop upon each of the corresponding bit lines; and
- comparing the voltages developed along the bit lines to a plurality of reference values in order to determine the data content of the memory cells.
3. The method of claim 1, wherein the first and second subsets of said multi-states are non-overlapping.
4. The method of claim 1, wherein the combination of the first and second subsets of said multi-states contain less than all of said multi-states.
5. The method of claim 1, wherein said array has a NAND architecture.
6. The method of claim 1 wherein said array has an all bit line architecture.
7. The method of claim 1, wherein determining whether the data content of each of the memory cells corresponds to one of a first subset and determining whether the data content of each of the memory cells corresponds to one of a second subset are performed during the verification phase of a write operation.
8. The method of claim 1, wherein determining whether the data content of each of the memory cells corresponds to one of a first subset and determining whether the data content of each of the memory cells corresponds to one of a second subset are performed during a read operation.
9. A method of writing multi-state data concurrently to a plurality of multi-state memory cells from a memory array, wherein said plurality of memory cells are connected along a common word line, have sources connected to a common source line, and are formed along distinct bit lines, the method comprising:
- applying a common programming pulse to the word line while controlling the amount of charge injected into each Qf said memory cell on a bit line by bit line basis based on the corresponding target state of each of said memory cells; and
- subsequently performing a verify operation, comprising: discharging the memory cells to ground through the corresponding bit lines; subsequently applying a first voltage level to the common source line;
- subsequently applying a second voltage level to the word line;
- in response to applying the second voltage level to the word line, determining whether the data content of each of the memory cells corresponds to one of a first subset of said multi-states;
- subsequently applying a third voltage level to the word line, wherein the third voltage level differs from the second voltage level; and
- in response to applying the third voltage level to the word line, determining whether the data content of each of the memory cells corresponds to one of a second subset of said multi-states, wherein the first and second subsets of said multi-states are distinct and each contain a plurality of states.
10. The method of claim 9, wherein determining whether the data content of each of the memory cells corresponds to one of a first or second subset of said multi-states includes:
- allowing a voltage to develop upon each of the corresponding bit lines; and
- comparing the voltages developed along the bit lines to a plurality of reference values in order to determine the data content of the memory cells.
11. The method of claim 9, wherein said controlling the amount of charge injected into each of said memory cell on a bit line by bit line basis based on the corresponding target state of each of said memory cells includes setting a voltage level on said bit lines on a bit line by bit line basis based on said corresponding target state of each of said memory cells.
12. The method of claim 9, wherein said controlling the amount of charge injected into each of said memory cell on a bit line by bit line basis based on the corresponding target state of each of said memory cells includes setting a current limit on said bit lines on a bit line by bit line basis based on said corresponding target state of each of said memory cells.
Type: Application
Filed: Jan 31, 2008
Publication Date: May 29, 2008
Patent Grant number: 7460406
Inventors: Nima Mokhlesi (Los Gatos, CA), Jeffrey W. Lutze (San Jose, CA)
Application Number: 12/023,317
International Classification: G11C 16/04 (20060101); G11C 16/06 (20060101);