The present invention relates to multi-level cell non-volatile FLASH memory. Specifically, the present invention relates to a method for tightening the distribution of the threshold voltages of the erased bits in a multi-level cell flash memory device.
A microelectronic flash or block erase Electrically Erasable Programmable Read-Only Memory (EEPROM) includes an array of cells that can be independently programmed and read. The size of each cell and thereby the memory are made small by omitting transistors known as select transistors that enable the cells to be erased independently. As a result, all of the cells are erased together as a block.
A memory of this type includes individual Metal Oxide Semiconductor Field Effect Transistor (MOSFET) memory cells, each of which includes a source, a drain, a floating gate and a control gate to which various voltages can be applied to program and erase each cell. Upon reading, each programmed level within a cell reads as a binary 0, and each erased level within a cell reads as a binary 1.
The cells are connected in an array of rows and columns, with the control gates of the cells in a row being connected to a respective wordline and the drains of the cells in a column being connected to a respective bitline. The sources of the cells are connected together. This arrangement is known as a NOR memory configuration.
A cell is programmed by applying a voltage, typically 9 or 10 V to the control gate, applying a voltage of approximately 5V to the drain and grounding the source, which causes hot electrons to be injected from a drain depletion region into the floating gate. Upon removal of the programming voltages, the injected electrons are trapped. These trapped electrons lack the energy to jump back off the floating gate, and as they collect on the floating gate, the threshold voltage increases. The desired threshold voltage of a programmed level of a cell is at least 4 V.
A cell is read by applying typically 5V to the control gate, applying 1 V to the bitline to which the drain is connected, grounding the source, and sensing the bitline current. If the cell is programmed and the threshold voltage is relatively high (4V), the bitline current will be zero or at least relatively low. The programmed cell is read as a binary “0.” If the cell is erased, the threshold voltage will be relatively low (2V), the control gate will enhance the channel, and the bitline current will be relatively high. The erased cell is read as a binary “1.”
A programmed cell can be erased in several ways. In one arrangement, a cell is erased by applying a relatively high voltage, typically 12 V, to the source, grounding the control gate and allowing the drain to float. This causes the electrons that were injected into the floating gate during programming to undergo Fowler-Nordheim tunneling from the floating gate through the thin tunnel oxide layer to the source. A cell can also be erased by applying a negative voltage on the order of −10 V to the control gate, applying 5V to the source and allowing the drain to float. Another method of erasing is by applying 5V to the P-well and −10V to the control gate while allowing the source/drain to float.
A problem with conventional flash EEPROM cell arrangement is that due to manufacturing tolerances, some cells become over-erased before other cells become erased sufficiently. The floating gates of the over-erased cells are depleted of electrons and become positively charged. This causes the over-erased cells to function as depletion mode transistors that cannot be turned off by normal operating voltages applied to their control gates. The cells functioning as depletion mode transistors introduce leakage current during subsequent program and read operations.
More specifically, during program and read operations only one wordline that is connected to the control gates of a row of cells is held high at a time, while the other wordlines are grounded. However, a positive voltage is applied to the drains of all of the cells and if the threshold voltage of an unselected cell is zero or negative, the leakage current will flow through the source, channel and drain of the cell.
The undesirable effect of the leakage current from the over-erased cells is as follows. In a typical flash EEPROM, the drains of a large number of memory transistor cells, for example 512 transistor cells are connected to each bit line. If a substantial number of cells on the bitline are drawing background leakage current, the total leakage current on the bitline can exceed the cell read current. This makes it impossible to read the state of any cell on the bitline and therefore renders the memory inoperative.
Because the background leakage current of a cell varies as a function of threshold voltage, the lower (more negative) the threshold voltage the higher the leakage current. It is therefore desirable to prevent cells from being over-erased and reduce the threshold voltage distribution to as narrow a range as possible, with ideally all cells having the same threshold voltage after erase at 2V.
It is known in the art to reduce the threshold voltage distribution by performing an over-erase correction operation, which reprograms the most over-erased cells back up to a higher threshold voltage of 2 V. An over-erase correction operation of this type is generally known as Automatic Program Disturb (APD).
Following application of an erase pulse, under-erase correction is first performed on a cell-by-cell basis by rows. The cell in the first row and column position is addressed and erase verified by applying 4V to the control gate (wordline), 1 V to the drain (bitline), grounding the source, and using sense amplifiers to sense the bitline current and thereby determine if the threshold voltage of the cell is above the acceptable value of 2V. If the cell is under-erased, indicated by a threshold voltage above 2V, the bitline current will be low. In this case, an erase pulse is applied to all of the cells.
After application of each erase pulse and prior to a subsequent erase verify operation, over-erase correction is performed on all of the cells of the memory. Over-erase verify is performed on the bitlines of the array in sequence. This is accomplished by grounding the wordlines, and applying typically 1V to the first bitline, and sensing the bitline current. If the current is above a predetermined value, this indicates that at least one of the cells connected to the bitline is over-erased and is drawing leakage current. In this case, an over-erase pulse correction pulse is applied to the bitline. This is accomplished by applying 5 V to 6 V to the bitline for a predetermined length of time such as 10 micro seconds.
After application of the over-erase correction pulse the bitline is over-erase verified again. If bitline current is still high indicating that an over-erased cell still remains connected to the bitline, another over-erase correction pulse is applied. This procedure is repeated for all of the bitlines in sequence.
The procedure is repeated as many times as necessary until the bitline current is reduced to the predetermined value (2V), which is lower than the read current (5 V). Then, the procedure is performed for the rest of the cells in the first row and following rows until all of the cells in the memory have been erase verified.
By performing the over-erase correction procedure after each erase pulse, the extent to which cells are over-erased is reduced, improving the endurance of cells. Further, because over-erased cells are corrected after each pulse, bitline leakage current is reduced during erase verify, thus preventing under-erased cells from existing upon completion of the erase verify procedure.
The erase procedure causes electron trapping to occur in the tunnel oxide. In addition, the undererase and overerase procedures cause electron trapping to occur in the tunnel oxide. Although each programming/erase cycle adds only a small number of trapped electrons, the cumulative electron trapping increases as each programming/erase cycle is completed which, in turn, increasing degrades the erase time.
In multi-level flash memory cells, each cell is divided into two bits. Each bit can be either programmed (logical “0”) or erased (logical “1”). As shown in
What is needed are ways to tighten threshold voltage distributions of logical states in multi-level flash memory cells.
One embodiment of the present invention pertains to a method of controlling the erase voltage distributions in a flash memory device. The method includes applying an erase pulse, verifying for under-erased bits, verifying for over-erased bits, and applying ramped over-erase correction pulses until all cells pass the over-erase verification, at which point the next erase pulse can be applied to correct any under-erased bits.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Reference will now be made in detail to various embodiments of the invention, examples of which are illustrated, by way of example and not by way of limitation, in the accompanying drawings. The drawings referred to in this description should not be understood as being drawn to scale except if specifically noted.
If any cells are determined to be over-erased (121), an over-erase correction pulse is applied, beginning at Vi (122). Next, an over-erase verify pulse is applied (120). If any cells are determined to be over-erased (121), another over-erase correction pulse is applied, at Vi+ΔV (123). Next, another over-erase verify pulse is applied (120). If any cells are determined to be over-erased (121), another over-erase correction pulse is applied, at Vi+2·ΔV (124), and so on until all cells pass the over-erase verification, i.e. no cells are over-erased. By ramping or stepping the over-erase correction pulse, a tighter voltage distribution of the erased bits will be achieved. When over-erase correction pulses are applied at a constant high voltage, some cells are over-corrected, resulting in wider voltage distributions.
Once it is determined that there are no over-erased cells (121), if there were no under-erased cells (130), the erase process is finished. If there were under-erased cells (130), an erase pulse is applied (100), and the whole process starts again. It is essential to run an over-erase verify and correction (if necessary) after each erase pulse. Over-erased cells result in read errors.
When a cell is over-erased, too many electrons have been removed from the floating gate (520). In an over-erased cell, the threshold voltage is too low. The over-erase correction pulse cures this problem by applying voltage to the drain (570) via the bitline (590). The voltage to the source (540) is held high as in the erase pulse, but instead of allowing the drain to float as in the erase pulse, a voltage is applied to the drain (570) via the bitline (590). In this way, electrons are attracted back onto the floating gate (520), raising the threshold voltage. Ramping voltage of the over-erase correction pulses allows electrons to be attracted back onto the floating gate (520) a few at a time. Once a sufficient amount of electrons have been attracted to the floating gate (520), i.e., the threshold voltage has been raised to the erased-state voltage, i.e. current can flow from the from the source (550) to the drain (570), over-erase correction is done and the next step in the erase procedure is performed, as in
Number | Name | Date | Kind |
---|---|---|---|
6252803 | Fastow et al. | Jun 2001 | B1 |
6285588 | Fastow | Sep 2001 | B1 |
6515908 | Miyawaki et al. | Feb 2003 | B1 |