An erasable non-volatile semiconductor memory array such as an EPROM, EEPROM, of Flash memory conventionally includes memory cells organized into rows and columns where each memory cell includes a floating gate transistor or another device which has a threshold voltage that can be set to indicate stored data values. FIG. 1 illustrates a conventional erasable non-volatile memory 100 and memory array 150 which includes M rows and N columns of memory cells C11 to CMN. In array 150, each memory cell C11 to CMN is a single floating gate transistor which has a control gate coupled to one of word-lines WL1 to WLM, a drain coupled to one of bit-lines BL1 to BLN, and a source connected to a common source-line SL.
When writing a data value to a selected one of memory cells C11 to CMN, programming voltages are applied to the word-line and bit-line coupled to the selected memory cell and to the common source-line SL. For example, to write to memory cell C11, source-line SL is grounded; and a row decoder 130 and a column decoder 110 apply programming voltages to word-line WL1 and bit-line BL1. The magnitudes of the programming voltages depend on structure of memory cells C11 to CMN and may depend on the data value being written. If memory array 150 is a typical Flash memory array, programming voltages of about 12 volts on word-line WL1, about 6 volts on bit-line BL1, and 0 volts (ground or Vss) on source-line SL, respectively program memory cell C11 by channel hot electron (CHE) injection. Conventionally, row decoder 130 contains word-line drivers WLD1 to WLDM which apply a programming voltage Vpp to the word-line selected by a decoder tree 140 during a write. The word-line drivers WLD1 to WLDM conventionally ground unselected word-lines. Column decoder 110 applies the programming voltage to the selected bit line and disconnects unselected bit-lines BL2 to BLN.
Some of the programming voltages are applied in different combinations to unselected memory cells as illustrated in Table 1 and may disturb the threshold voltages of unselected memory cells. As indicated by equation 1, a tunneling current I through an insulating layer such as an interpoly or tunnel dielectric layer in a non-volatile memory cell theoretically depends exponentially on an electric field E in the insulating layer.
Equation 1:
A and B are constants, typically about 2.5×10-6 amp/V2 and 2.5×108 V/cm respectively. As indicated by equations 2, the electric field E1 or E2 in the interpoly or tunnel dielectric depends on a voltage drop V1 or V2 across an effective oxide thickness Tipox of the interpoly dielectric or an effective oxide thickness Ttox of the tunnel layer.
Equations 2:
In a Flash memory cell, Tipox is typically more than 200 Å, and Ttox is typically less than 100 Å. Voltage Vfg is the voltage on the floating gate of the memory cell. Equation 3 indicates the dependence of the floating gate voltage Vfg on: the change δV in threshold voltage from an erased state to a programmed state; the gate, source, and drain voltages Vg, Vs, and Vd of the memory cell; and the floating gate's capacitive couplings Cg, Cs, and Cd to the control gate, the source, and the drain respectively.
Equation 3:
where Ct is the total capacitance (Cd+Cs+Cg). For a typical Flash memory cell, coupling ratios Cg/Ct, Cd/Ct, and Cs/Ct are 0.65, 0.1, and 0.25 respectively.
Table 1 shows exemplary voltages in memory cells C11, C21, C12, and C22 when writing to memory cell C22. In Table 1, voltages Vg, Vs, Vd, δV, Vfg, V1, and V2 are given in volts. Electric fields E1 and E2 are given in Mv/cm and determined assuming Tipox=200 Å and Ttox=100 Å.
Voltage V2 is the voltage across the tunnel layer between the drain and the floating gate, and voltage V1 is the voltage across the interpoly dielectric between the control gate and the floating gate. For the voltages shown in Table 1, the electric field E2 in the tunnel layer of memory cell C12 is more than about twice the electric field E1 in the interpoly dielectric of memory cell C21 because the tunnel layer is typically less than half the thickness of the interpoly dielectric. The worst case for drain disturb occurs when memory cell C12 which is in the same column as the selected memory cell has a high threshold voltage. The drain disturb for memory cell C21 which is in the selected row is largest when the threshold voltage of memory cell C21 is low, but the worst case drain disturb of memory cell C21 is still much less than the worst case for memory cell C12. Accordingly, the tunneling current which causes drain disturb in memory cell C12 (and in the other memory cells C32 to CM2 in the selected column) is the primary concern when reducing stress or disturbance of stored data values.
In accordance with an aspect of the invention, drain disturb is reduced by applying a bias voltage Vbias to word-lines corresponding to unselected memory cells to which data was written. The capacitive coupling between the control gate and the floating gate of these unselected cells increases the potential of the floating gate in proportion to the bias voltage and thereby reduces the voltage drop across the tunnel layer between the drain and floating gate of memory cells subject to drain disturb. As shown in Table 2, a bias voltage Vbias of about 1.5 volts lowers voltage drop V2 across the tunnel layer by about 1 volt for a typical Flash memory cell experiencing drain disturb. This reduces the tunneling current by about two orders of magnitude for the worst case cell C12.
Cells such as memory cell C11 which are not in the same row or column as selected memory cell C22 also have their control gate voltage Vg raised, but disturb caused by the increase in control gate voltage Vg is insignificant (orders of magnitude less than the drain disturb of cells in the selected column). For the example shown in Table 2, the drain disturb of memory cells such as memory cell C12 which are in the selected column drops to a level about equal to the drain disturb of memory cells such as memory cell C21 which are in the selected row. Accordingly, for the example of Table 2, drain disturb in selected row becomes the limiting disturbance.
The reduction in the tunneling current causing a drain disturb results in a substantial reduction in threshold voltage disturbance per write. Viewed in another way, the reduction in the tunneling current proportionally increases the maximum number of memory cells on a bit line (i.e. the number of word-lines and the size of an array) allowed when a limit on accumulated threshold voltage disturb must be maintained. Memory cell density in analog and multi-level memory can therefore be increased providing more storage without extensive overhead in integrated circuit area.
Applying a 1.5-volt bias voltage Vbias to word-lines could cause some of the memory cells to conduct. For example, if memory cell C12 is erased and has a threshold voltage of 1.5 volts or less, a 1.5-volt bias voltage would turn on a current flow through memory cell C12. An accumulation of such currents from memory cells in the selected column can easily overcome the capabilities of a charge pump which supplies the programming voltage to the selected bit line. This reduces the programming voltage and causes poor programming for the selected memory cell. To avoid currents through unselected cells during a write, bias voltage Vbias is only applied to a memory cell if voltage Vbias is less than the threshold voltage of the memory cell. A lower voltage (or ground potential) is applied to the unselected memory cells having threshold voltage below bias voltage Vbias.
One embodiment of the invention is a Flash memory for storing analog data. As is typical for Flash memory, after an erase of a memory array in the Flash memory, memory cells in the array have a distribution of threshold voltages; but the threshold voltages are all less than a cut-off voltage marking a boundary of an erased state for the memory cells. Writing an analog data value to a memory cell raises the threshold voltage of the memory cell to a level within a range that is in one-to-one correspondence with the possible analog data values storable in the memory cell. The range of programmed threshold voltages has a lower boundary which is above the cut-off voltage for the erased state so that all erased memory cells are written to by increasing their threshold voltages. For example, following an erase of a typical Flash memory array, the memory cells in the array have threshold voltages between about 0.5 volts and about 1.5 volts. The minimum threshold voltage corresponding to a data value can be selected to be 2.0 volts or higher so that the selected bias voltage Vbias is below the minimum threshold voltage corresponding to a data value. Accordingly, applying the bias voltage does not turn on any memory cells that store data. However, bias voltage Vbias can be above the threshold voltages of some or all memory cells in the erased state because unselected word-lines connected to memory cells in the erased state are grounded during programming rather than being at bias voltage Vbias. Reducing disturbance of erased memory cells is not critical because such disturbances do not change any data values.
FIG. 2 illustrates part of a non-volatile semiconductor memory 200 in accordance with an embodiment of the invention. Memory 200 includes an array 150 of memory cells C11 to CMN as described above. Memory cells C11 to CMN are single transistor floating gate memory cells, but other embodiments of the invention may employ other types of memory cells. During programming of a selected memory cell, an address signal generator 120 generates a row address signal and a column address signal which identify the selected memory cell, and a column decoder 110 and a row decoder 230 generate programming voltages on a selected bit-line and a selected word-line corresponding to the selected memory cell.
Row decoder 230 includes a decoder tree 240, bias flag circuits F1 to FM, and word-line drivers D1 to DM. Bias flag circuits F1 to FM indicate which rows contain stored data and which rows do not. After each erase of memory array 150, all of bias flag circuits F1 to FM indicate none of rows contain data values. When writing a data value, decoder tree 240 asserts the one of select signals SELECT1 to SELECTM which corresponds to the selected row, and the one of drivers D1 to DM to which the select signal is asserted applies a programming voltage to the selected word-line. After a word-line is selected, the bias flag circuit associated with the selected word line indicates that data has been written to the selected row so that the bias voltage Vbias is applied to the word-line if the word-line is unselected during a subsequent write. In one embodiment of the invention, each bias flag circuit F1 to FM acts as a volatile memory cell or latch which is set when the associated word-line WL1 to WLM is selected during a write. Flag circuits F1 to FM can be cleared when array 150 is erased or alternatively before each memory operation including reading from and writing to memory array 150.
In addition to programming voltage on the selected word-line, drivers D1 to DM also apply bias voltage Vbias to some unselected word-lines and ground other unselected word-lines. Whether particular ones of word-lines WL1 to WLM are grounded or at bias voltage Vbias when unselected depends on signal BIAS-- SELECT1 to BIAS-- SELECTM from the associated bias flag circuits F1 to FM. If a bias flag circuit indicates that an unselected row contains stored data, the associated word-line driver applies bias voltage Vbias to the unselected word-line. If the flag circuit indicates that an unselected row contains no data, the associated word-line grounds the unselected word-line.
In one embodiment of the invention, memory 200 stores a series of samples representing a continuous signal such as an audio signal. Each sample is an analog value or a multi-level value which is written into one of memory cells C11 to CMN. When recording the continuous signal (i.e. writing the samples), address signal generator 120 selects where each sample is written and generates consecutive address signals so that a row of memory cells is filled with data values before writing samples to the next row begins. For example, samples can be written sequentially beginning with memory cell C11 which is in the first row and first column. When the first value is written, a row address signal generator 224 asserts a row address which causes decoder tree 240 to assert signal SELECT1 and set bias flag circuit F1 to indicate row C11 . . . C1N contains data. Programming voltages are applied to the first (i.e. selected) word-line WL1; and while a data value is written to memory cell C11, all of the unselected word-lines WL2 to WLM are grounded because all of bias flag circuits F2 to FM were cleared following an erase.
The row address signal remains constant and the same select signal SELECT1 remains asserted while a column address signal generator 222 sequentially increments the column address signal for writing data values in row C11 . . . C1N. The gate programming voltage is applied to first word-line WL1 while writing to the first row. After a data value is written to the last memory cell C1N in the first row, row address signal generator 224 increments the row address signal, and writing continues with memory cells in the second row C21 . . . C2N. When programming the second row, word-line driver D2 asserts the programming voltage to the selected second word-line WL2. Unselected word-lines WL3 to WLM are grounded when programming memory cells in row C21 . . . C2N, but driver D1 for the now unselected first row C11 . . . C1N applies bias voltage Vbias to word-line WL1 because associated bias flag circuit F1 asserts a signal indicating the first row contains data. None of the memory cells in the first row conduct because each memory cell has been programmed to a threshold voltage level above bias voltage Vbias. After the last memory cell C2N in row C21 . . . C2N is programmed, two unselected word-lines WL1 and WL2 are at bias voltage Vbias during programming. Programming continues in this fashion until the last row CM1 . . . CMN is programmed.
Circuitry which implements the programming process described for memory 200 of FIG. 2, can be implemented in a variety of ways. For example, bias flag circuits F1 to FM can be level triggered latches or edge triggered registers which are set when an associated word-line is selected. Bias flag circuits F1 to FM can alternatively be replaced with a shift register that shifts each time the row address signal changes. Alternatively, a non-volatile memory cell from each row in array 150 can be programmed to indicate whether the remainder of memory cells in a row are in an erased state. In yet another embodiment of the invention, bias flag circuits F1 to FM do not have memory capabilities but instead use the row address signal to directly determine whether rows 1 to M contain data. Rows having row addresses lower than a row selected for a write contain data if memory cells are sequentially programmed.
FIG. 3 shows row decoding circuitry 300 for programming a row of a non-volatile analog or multi-level memory cells connected to word-line WL2 of memory 200 (FIG. 2). Decoding circuitry 300 includes a decoder tree 340, a bias flag circuit F2, and a word-line driver D2 which are associated with word-line WL2. Decoding circuitry 300 for word-line WL2 is an example of similar decoding circuitry for each of word-lines WL1 to WLM. FIG. 4, which is described herein in conjunction with FIG. 3, shows timing diagrams for signals in decoding circuitry 300, and voltages on word-lines WL1 and WL3 which are adjacent to word-line WL2.
Bias flag circuit F2 contains a p-channel transistor 331 and a n-channel transistors 333 which are connected in series between ground and a supply voltage Vcc. Similar p-channel transistor 332 and n-channel transistor 334 are connected in series between voltage Vcc and ground. The gates of transistors 331 and 333 are connected to a node 338 between transistors 332 and 334, and the gates of transistors 332 and 334 are connected to a node 337 between transistors 331 and 333. In the manner of a standard SRAM cell, the voltages at nodes 337 and 338 are complementary and indicate a binary value stored in bias flag circuit F2. The voltage at node 338 is signal BIAS-- SELECT2 and indicates whether word-line WL2 is selected for application of bias voltage Vbias. Bias flag circuit F2 also contains a transistor 336 which is connected in parallel with transistor 333. At the beginning of any operation such as writing or reading or after an erase, a signal RESET is asserted high to the gate of transistor 336 to ground node 337 and reset bias flag circuit F2 to a state where signal BIAS-- SELECT2 is high, indicating word-line WL2 is not selected for application of bias voltage Vbias during programming. Similar circuits in decoding circuits for the other rows of the array are similarly reset by signal RESET. Once all bias flag circuits are reset, memory cells in the array can be selected and programmed if the memory cells were previously erased.
FIG. 4 shows a pulse beginning at time 410 before a write operation. A similar reset pulse is generated before a read operation. Resetting bias flag circuits F1 to FM before a read operation allows decoder tree 340 to select a row for a read but prevents the bias voltage from being applied to unselected word-lines WL1 to WLM during the read. During a read the maximum drain voltage can be kept less than 1.5 volts making the drain disturb orders of magnitude smaller than the programming disturb so that biasing unselected word-lines above the ground potential is not required. A transistor 339 between voltage Vcc and transistors 331 and 335 disconnects voltage Vcc from transistors 335 and 331 during a read. Accordingly, during a read, node 337 cannot be raised nor signal BIAS-- SELECT2 asserted. During a write, transistor 339 applies voltage Vcc to transistors 335 and 331.
Decoder tree 340 generates a signal SELECT2 which indicates whether word-line WL2 is the selected word-line. A signal PRECHARGE and transistors 341 and 344 control dynamic precharge for select signal SELECT2. At a time 420, before a write and while reset signal RESET is still asserted, a signal PRECHARGE is asserted low which turns on a p-channel transistor 341, turns off an n-channel transistor 344, and charges a node 342 providing signal SELECT2 to a voltage Vcp. A charge pump or other high voltage source (not shown) supplies voltage Vcp which is greater than or equal to programming voltage Vpp. Row address signals AO to AX and AO to AX are applied to decoder tree 340 during precharge which charges a conducting string of transistors 343 connected to node 342. Signal DISCHARGE is simultaneously asserted high which causes a transistor 329 to discharge any voltage remaining on word-line WL2. When signal PRECHARGE goes high, signal SELECT2 remains high unless transistors 343 all conduct and pull signal SELECT2 low. A unique combination of row address signals AO to AX and their complements AO to AX is connected to the gates of transistors 343 in each copy of decode circuitry 300 so that only one row is selected.
Signals SELECT2 and BIAS-- SELECT2 control driver D2 and determine the voltage applied to word-line WL2 during a write. Between times 430 and 440, data values are written to the first row, word-line WL2 is unselected, and all of the memory cells connected to word-line WL2 are in the erased state. Accordingly, signals SELECT2 and BIAS-- SELECT2 are both high. Signal being high shuts off p- channel transistors 322 and 324 in driver D2 and disables application of a programming voltage Vpp and a verify voltage Vvfy to word-line WL2. Signal SELECT2 being high also turns on n- channel transistors 326 and 327. Signal BIAS-- SELECT2 being high turns on an n-channel transistor 328 and turns off a p-channel transistor 325. Accordingly, word-line WL2 is grounded through transistors 327 and 328, and is not connected to bias voltage Vbias through transistors 325 and 326.
At time 440, signals PRECHARGE and DISCHARGE are again asserted in preparation for changing the row address signal to select word-line WL2. Signal SELECT2 is applied to the gate of a p-channel transistor 335 which is connected in parallel with transistor 331. Transistor 335 is off which leaves signal BIAS-- SELECT2 unchanged while signal SELECT2 is high. At a time 450, when signal PRECHARGE is deasserted high, decoder tree 340 pulls signal SELECT2 low, and transistor 335 pulls node 337 high causing signal BIAS-- SELECT2 to fall. Signal BIAS-- SELECT2 remains low. Signal BIAS-- SELECT2 being low shuts off transistor 328 and disconnects word-line WL2 from ground. Signal SELECT2 being low turns on p- channel transistors 322 and 324 which connects word-line WL2 to p- channel transistors 321 and 323 and enables application of voltages Vpp and Vvfy. N-channel transistor 326 is turned off disabling application of bias voltage Vbias.
FIG. 4 shows the voltage applied to word-line WL2 after time 450 when word-line WL2 is first selected for programming. The programming process illustrated in FIG. 4 uses a series of programming pulses 452 which are separated by a series of verify cycles 454. During each programming pulse 452, a signal PGM is asserted low which turns on a p-channel transistor 321 and drives word-line WL2 to programming voltage Vpp (typically about 12 volts). Programming voltage Vpp combined with a programming voltage (typically about 6 volts) applied to the bit-line of the selected memory cell and a grounding of a source-line cause CHE injection which increases the threshold voltage of the selected cell.
During verify cycles 454, a signal VFY is asserted low while signal PGM is high. This turns on a p-channel transistor 323 and shuts off p-channel transistor 321 so that word-line WL2 is driven to voltage Vvfy. Voltage Vvfy at a level indicating the data value being written and is therefore within the range of threshold voltages indicating data values (typically between 2 volts and 5 volts). During verify cycles, a sense circuit (not shown) determines whether the selected memory cell conducts while voltage Vvfy is applied to the control gate of the selected memory cell. The voltage on the selected bit-line during a verify cycle is decreased to about 1.5 volts. When the selected cell just begins to conduct during a verify cycle, the threshold voltage of the selected memory cell is about equal to voltage Vvfy and is at the desired threshold voltage to represent the analog or multi-level data value being written. Further programming pulses 452 are terminated, and the write to the selected memory cell is complete.
The row address signal remains constant while each cell in a selected row is programmed in the same manner described above. For each memory cell, voltage Vvfy changes according to the data value being written. Voltage Vpp can be constant or can vary according to the data value being written. At time 460, after the last memory cell in the second row is programmed, signal PRECHARGE is asserted low again, and the row address signal is changed to select the next row (i.e. word-line WL3). As a result, when signal SELECT2 goes high, signal BIAS-- SELECT2 remains low. Signal SELECT2 being high disables application of the programming voltage to word-line WL2 and turns on transistor 326. Signal BIAS-- SELECT2 being low shuts off n-channel transistor 328 to disconnect word-line WL2 from ground and turns on p-channel transistor 325 to connect word-line WL2 through transistors 325 and 326 to bias voltage Vbias. In a typical 5-volt Vcc application, voltage Vbias is targeted to be about 1.5 volts which is less than the minimum threshold voltage of memory cells storing data values.
If memory 200 of FIG. 2 writes and reads data values sequentially, row address signal generator 224, decoder tree 240, and bias-flag circuits F1 to FM in memory 200 can be replaced by a row decoder 500 shown in FIG. 5. Row decoder 500 includes a set of flip-flops FF0 to FFM coupled in a series with a data output terminal Q of each preceding flip-flop FFI coupled to a data input D of a following flip-flop FF(I+1). The data input terminal of flip-flop FF0 is coupled to supply voltage Vcc. Flip-flops FF0 to FFM are all reset before each operation such as a write or a read of memory array 150. XOR gates X1 to XM have input terminals coupled to data output terminals of two consecutive flip-flops and generate signals which high voltage inverters 525 convert to signals SELECT1 to SELECTM. Initially, all data output signals from flip-flops FF0 to FFM are low, and inverters 525 set row select signals SELECT1 to SELECTM to voltage Vcp to indicate no rows are selected.
When a write or read begins, a first pulse of a signal CLOCK causes the output of flip-flop FF0 to go high, the output signal from XOR gate X1 to go high, and signal SELECT1 to go low selecting the first row. Clock signal CLOCK next clocks flip-flops FF0 to FFM when writing or reading of the first row is complete. At that point, the data output signals from flip-flops FF0 and FF1 are high causing output signal from XOR gate Xi to fall and signal SELECT1 to go high. The output from XOR gate X2 goes high, and signal SELECT2 falls to select the second row for reading or writing. Signal CLOCK clocks flip-flops FF0 to FFM in this same fashion after each row of memory array 150 is written or read, and each time flip-flops FF0 to FFM are clocked the next one of signals SELECT1 to SELECTM selects a corresponding row in array 150. Accordingly, the rows of array 150 are sequentially selected.
Inverters 530 generate signals BIAS-- SELECT1 to BIAS-- SELECTM from the data output signals of flip-flops FF0 to FF(M-1). Initially, all of the data output signals of flip-flops FF0 to FFM are low causing all of signals BIAS-- SELECT1 to BIAS-- SELECTM to be high. Each time signal CLOCK clocks flip-flops FF0 to FFM another of the data output signals goes high and unselected rows are sequentially selected for application of word-line bias voltage Vbias. Inverters 530 are disabled during a read so that none of the unselected rows have a bias voltage applied during a read.
Although the invention has been described with reference to particular embodiments, the description is only an example of the invention's application and should not be taken as a limitation. Various adaptations and combinations of features of the embodiments disclosed are within the scope of the present invention as defined by the following claims.