In accordance with an aspect of the present invention, only memory cells in a non-volatile memory array that require erasing (i.e., a change from a programmed state to an erased state) are erased, which prevents unnecessary erasing and programming of memory cells, thereby improving the endurance and extending the useful life of the memory cells. A combination of two non-zero voltages is applied to these selected memory cells to cause these memory cells to be erased without erasing other memory cells in the same sector. By only erasing memory cells requiring erasing, programming operations can also be reduced since memory cells in a programmed state that are to remain in a programmed state are not erased. As a result, only those memory cells in an erased state that are to be programmed are actually subjected to a programming operation. This further improves the endurance and extends the useful life of the memory cells in the array.
FIG. 1 is a diagram of a Flash memory 100 according to one embodiment of the present invention. Memory 100 contains an array 110 of non-volatile memory cells C11 to CMN. In FIG. 1, each memory cell C11 to CMN is a floating gate transistor, but alternative memory cell architectures include memory cells containing split gate transistors or a combination of memory transistors and select transistors. Array 110 has M rows or word-lines and N columns or bit-lines. Each row of memory cells C11-C1N, C21-C2N, . . . CM1-CMN is associated with the one of word-lines WL1 to WLN that couples to the control gates of the memory cells in the row. Each column of memory cells C11-CM1, C12-CM2, . . . C1N-CMN is associated with the one of bit-lines BL1 to BLN that couples to the drains of the memory cells in the column and the one of N source-lines SL1 to SLN that couples to the sources of the memory cells in the column. Memory 100 is a flash memory such as a Flash EPROM or Flash EEPROM. Accordingly, memory array 110 is further organized into N independently erasable sectors, with each sector containing a single row of memory cells and is associated with the one of source-lines SL1 to SLN and the one of bit-lines BL1 to BLN that is connected to the sources and drains, respectively, of memory cells in the column. For example, memory cells C11 to CM1 comprise one erasable sector.
Connected to array 110 are a word-line decoder and driver A 120, a column decoder 130, erase and virtual ground circuits 140, program and read circuits 150, and word-line decoder and driver B 190. Word-line decoder and driver A 120 couples to word-lines WL1 to WLM and biases word-lines WL1 to WLM as required for program, read, and verify operations, according to one embodiment. As such, word-line decoder and driver A 120 is able to supply negative, positive, ramped or stepped voltages for the various operations and applications, such as disclosed in the above-referenced commonly-owned patents and applications. In the exemplary embodiment, word-line decoder and driver A 120 includes a transistor tree and word-line drivers. The transistor tree decodes a word-line address signal to identify a selected word-line. The word-line drivers control the voltages on the selected word-line and on unselected word-lines. Word-line decoder and driver A 120 selects a word-line voltage according to the desired operation on the selected memory cell. Column decoder 130 couples to bit-lines BL1 to BLN and source-lines SL1 to SLN and applies bias voltages via erase and virtual ground circuits 140 and program and read circuits 150 to bit-lines BL1 to BLN and source-lines SL1 to SLN as required by the desired operation or application.
During a programming operation to a desired memory cell in array 110, in response to an address signal identifying the desired memory cell, word-line decoder and driver A 120 applies a programming voltage Vpp (e.g., 8 to 10 volts) to the word-line containing the selected memory cell. In conjunction with the word-line voltages, column decoder 130 applies an intermediate voltage (e.g., 5 to 6 volts or higher) and applies a low voltage (e.g., approximately ground) to the bit-line and source-line, respectively, containing the selected memory cell. The combination of applied voltages causes channel hot electron (CHE) injection which charges a floating gate in the selected memory cell and changes the threshold voltage to a high state. For example, for conventional memory applications with binary programming, the threshold voltage Vt is typically raised to a voltage higher than the supply voltage Vcc. In this state, the memory cell is "programmed."
During a read operation, word-line decoder and driver A 120 applies a read voltage (e.g., Vcc) to the word-line containing the selected memory cell and applies a low voltage (e.g., ground) to the remaining unselected word-lines, where the unselected word-lines are the ones that do not contain the memory cell selected for the read operation. Also during a read operation, column decoder 130 applies a low voltage (e.g., 1.5 volts to 2 volts) to the bit-line containing the selected memory cell and applies approximately 0 volt to the source-line containing the selected cell. Program and read circuits 150 contain sensing circuits (not shown) that detect current in the corresponding bit-lines for reading the selected memory cell.
During an erase operation, instead of erasing all the memory cells in a sector during an erase operation, only the memory cells in a sector that are required to be erased are erased. This prevents unnecessary repeated erasing of memory cells, which improves the endurance and extends the lifetime of the memory cells. In addition to reducing over-erasing, selective erasing also avoids the need to program all the cells to a programmed state prior to an erase operation (as described above). Selective erasing can be accomplished by applying two non-zero erase voltages to the selected memory cell, which erases the selected memory cell, without erasing other cells coupled to the same sector as the selected memory cell.
In order to selectively erase memory cells within a sector, an erase scheme is employed that applies two non-zero voltages in combination to erase the memory cell. This is analogous to programming schemes that typically require two non-zero voltages in combination to program a selected memory cell. For example, with a two-dimensional array of memory cells, as in array 110, a first non-zero voltage applied to a selected word-line and a second non-zero voltage applied to a selected bit-line or source-line will subject the one selected memory cell to this combination of voltages, which erases the cell. One type of suitable erase scheme (referred to herein as a negative-gate erase scheme) applies a negative voltage (e.g., approximately -8 to -10 volts) to the control gate (or word-line), an intermediate positive voltage (e.g., approximately 5 to 7 volts) to the source (or source-line), and a floating potential or ground to the drain (or bit-line) of the memory cell to be erased.
The combination of voltages produces an electric field between the floating gate and source sufficient to discharge the floating gate, which is typically accomplished through Fowler-Nordheim tunneling. As a result, Fowler-Nordheim tunneling current flows through the thin tunnel oxide film from the floating gate to the source region, and electrons are removed from the floating gate to complete the erase operation and lower the threshold voltage to a desired erase threshold voltage. For example, with binary data being written and erased, the erase threshold voltage is typically less than the supply voltage Vcc. Thus, by applying a negative voltage to the word-line containing the selected memory cell and a positive voltage to source-line containing the selected memory cell, a single selected memory cell associated with the sector can be erased.
For example, in FIG. 1, if it is desired to erase memory cells C12 and C32 in the second sector, 5 to 7 volts is applied to source-line SL2, while a floating potential or ground is applied to the remaining source-lines. A negative erase voltage (e.g., -8 to -10 volts) is applied to word-lines WL1 and WL3, while a ground potential is applied to the remaining word-lines. The bit-lines are at a floating potential or ground. Thus, only memory cells C12 and C32 receive the negative erase voltage at the control gate along with the positive voltage (5 to 7 volts) at the source. As discussed above, this combination generates an electric field sufficient to cause Fowler-Nordheim tunneling current to erase memory cells C12 and C32. However, memory cells on the same word-line or source-line are not erased because of an insufficient electric field between the floating gate and the source. For example, while the same negative erase voltage (-8 to -10 volts) is applied to the control gates of memory cells on the selected word-line(s), e.g., memory cell C13 or C31, the sources of these cells are floating or at ground instead of at a positive voltage (e.g., 5 to 7 volts). Similarly, while the same positive voltage is applied to the sources of memory cells on the selected source-line, e.g., memory cell C12, the control gates of these cells are at ground instead of the negative erase voltage. These combinations of voltages do not create an electric field large enough to generate sufficient Fowler-Nordheim tunneling current to erase the cells or cause significant erase disturb.
In contrast to negative-gate erase, another conventional erase scheme (referred to herein as a grounded-gated erase scheme) only applies one non-zero voltage and cannot selectively erase a memory cell in a sector. A high positive voltage (e.g., approximately 10 to 12 volts) is applied to the source, a low voltage (e.g., approximately 0 volt) is applied to the control gate, and the drain is left floating to generate the electric field for Fowler-Nordheim tunneling. As seen from FIG. 1, the grounded-gated erase scheme is not suitable for selectively erasing a memory cell in a given sector. Application of 0 volt to the unselected word-lines in the same sector as the selected memory cell, in conjunction with the high source-line voltage, causes other memory cells in the sector to be erased. In addition, the high voltage applied to the source during erasing requires a gate-modulated junction breakdown voltage at the side of the source region overlapped by the floating gate to be increased, which can make it necessary to make the source region deeper than the drain region. A deeper source junction requires a longer channel length and limits the ability for device scaling.
Negative-gate erase schemes, on the other hand, allow lower voltages to be applied to the source regions. Therefore, the junction depth at the source region can be made shallower than cells utilizing grounded-gated erase schemes, resulting in shorter channel lengths and smaller memory arrays. A typical non-volatile floating gate transistor 200 for use with the negative-gate erase scheme is shown in FIG. 2. Transistor 200 has a channel 205 extending between n+ source region 210 and n+drain region 215 formed in a p- substrate 220. N+source region 210 is formed in a deep n- source junction 225 so that transistor 200 has an asymmetric source/drain. A floating gate 230 is insulated from the surface of p- substrate 220 by a thin tunneling oxide layer 235. A control gate 240 is insulated from floating gate 230 by an oxide-nitride-oxide (ONO) insulating layer 245. Word-line, bit-line, and source-line voltages are applied to control gate 240, n+ drain region 215, and n+ source region 210, respectively, for the various program, verify, erase, and read operations.
A negative-gate erase scheme can be implemented with memory 100 of FIG. 1 utilizing transistor 200, according to one embodiment of the invention. Word-line decoder and driver B 190 couples to corresponding word-lines WL1 to WLM and applies either a negative erase voltage, Verase, (e.g., -8 to -10 volts) to selected word-lines or a ground potential to unselected word-lines. Selected word-lines are ones that contain memory cells selected for erasing. Whether a driver is on depends on whether the selected cell on the corresponding word-line is to be erased. A memory cell is selected to be erased only if the cell has been programmed and needs to be erased. For example, when binary data is being programmed and erased, a programmed memory cell has a high threshold voltage (i.e., above supply voltage Vcc) corresponding to a stored "1", and an erased memory cell has a low threshold voltage (i.e., below supply voltage Vcc) corresponding to a stored "0". Thus, in this case, only memory cells with stored "1"s that are to be erased to store "0"s are selected for the erasing operation. Table 1 below lists the possible situations when a memory cell is to be erased or not and the voltage applied to the word-line containing the memory cell, according to one embodiment. As shown in Table 1, only cells whose currently stored data is "1" and whose new data to be stored is "0" will require erasing.
Word-line decoder and driver B 190 compares the currently stored data transferred from program and read circuits 150 with the new data to be stored from serial input Din for the M memory cells in a selected sector and applies the appropriate voltage depending on the comparison, according to Table 1. In this embodiment, word-line decoder and driver B 190 is active during erase operations, while word-line decoder and driver A 120 is active during program, read, and verify operations.
In other embodiments, word-line decoder and driver A 120 is active during read and verify operations, while word-line decoder and driver B 190 is active during both program and erase operations. When one decoder and driver is active, the other one is inactive. FIG. 3 is a circuit diagram of one implementation of word-line decoder and driver B 190, which in addition to selective erasing, also allows memory cells to be selectively programmed. Word-line driver B 190 includes M tri-state drivers 300-1 to 300-M, with the output of each of the M tri-state drivers coupled to a corresponding word-line WL1 to WLM in array 110. When the input to a tri-state driver is low, that driver is off and the corresponding word-line is grounded. When the input to a tri-state driver is high, that driver is on and applies an appropriate. program voltage (Vpp) or erase voltage (Verase) to the corresponding word-line.
Each tri-state driver 300-1 to 300-M has its input coupled to one of M NOR gates 310. Each NOR gate 310 has a first input terminal coupled to receive the complement of the data value currently stored in the selected memory cell and a second input terminal coupled to receive the data value ("0" corresponding to an erased state or "1" corresponding to a programmed state) to be stored in the selected memory cell. A first set of M registers 320 can be used to store the current data value in each of the corresponding M memory cells in a selected sector or bit-line. Each of the first set of M registers 320 is coupled between program and read circuits 150, which supply the registers with the current data values of the memory cells, and the first input terminal of each NOR gate 310. A second set of M registers 330 can be used to hold the data value to be stored in each of the corresponding M memory cells, e.g., either a "0" or a "1". Data is stored sequentially in the first and second set of registers via a first and second shift register, respectively. First and second shift registers are well-known and can be formed from a serial chain of M flip- flops 340 and 350, respectively. The input of the first one of flip-flops 340 is coupled to an output of program and read circuits 150, and the input of the first one of flip-flops 350 is coupled to signal DIN, which is a serial stream of M data values to be stored in the M memory cells of a sector. The output of each of the flip- flops 340 and 350 is connected to the input of a succeeding flip-flop, with each of flip- flops 340 and 350 clocked with an input clock (not shown) to form the first and second shift registers. At the output of the last of the M flip- flops 340 and 350, the data stored in the first and second shift registers can be read out serially, e.g., for verifying the data or other functions.
Prior to an erase operation, word-line decoder and driver A 120 is active and initiates a read operation, such as those described in the above-referenced patents and applications, on a particular sector, as selected by column decoder 130. Word-line driver A 120 sequentially applies read voltages to the word-lines, while program and read circuits 150 detect current in the selected sector. In this manner, as is well-known, the data values in the memory cells of the selected sector are serially read out. Typically, the time required to read out the data is smaller than the time required to erase the memory cells. The serial data is then transferred to the first set of flip-flops 340 and loaded into the first set of registers 320. For example, if the second sector (corresponding to bit-line BL2) is selected, the data values of the memory cells can be read out with the data in memory cell CM2 read out first and the data in memory cell C12 read out last. This data is then transferred serially, such that the data in memory cell CM2 is first transferred to the first flip-flop 340 of the first shift register. The data in memory cell C(M-1)2 is then transferred to the first flip-flop and the data in memory cell CM2 is transferred to the second flip-flop. Data propagates through the flip-flops 340 of the first shift register until the data in memory cell C12 is transferred to the first flip-flop and the data in memory cell CM2 is transferred to the last flip-flop. The data in the first set of M flip-flops 340, representing the data currently stored in the M memory cells of the selected sector, can then be loaded into the first set of M registers 320.
The data values which are to be written into the memory cells in the selected sector are loaded similarly into the second set of M registers 330. Serial input DIN, representing a stream of M data values, is sequentially transferred along the second set of M flip-flops 350. Using the above example, the data value which is to stored in the last memory cell CM2 of the selected sector is transferred to the first flip-flop of the second shift register. This value propagates through the second shift register until all M data values of DIN have been transferred into the M flip-flops 350. The data value in each flip-flop 350 is loaded into a corresponding one of registers 330. The transfer and loading of to-be-stored data into respective flip-flops 350 and registers 330 can occur before, after, or during the transfer and loading of currently-stored data into respective flip-flops 340 and registers 320.
Once both sets of data are loaded into registers 320 and 330, tri-state drivers 300-1 to 300-M are activated to apply the appropriate program or erase voltages to the corresponding word-lines. FIG. 4 is a circuit diagram of registers 320 and 330. Once the data has been transferred to the first and second shift registers, a signal LOAD is clocked high (with complementary signal LOAD low) to load the data into registers 320 and 330. A p-channel transistor 401 and an n-channel transistor 402 form a transmission gate (referred to herein as a load transmission gate) to allow data to be input to registers 320 and 330 when signal LOAD is high (by turning on n-channel transistor 402 and p-channel transistor 401).
For an erase operation, signal Erase is set high (signal Erase low) and signal PGM is set low (signal PGM high), which turns on the transmission gate formed from p-channel transistor 403 and n-channel transistor 404 (referred to herein as an erase transmission gate) and turns off the transmission gate formed from p-channel transistor 409 and n-channel transistor 410 (referred to herein as a program transmission gate). As a result, the data transferred to NOR gate 310 corresponds to the same state as the data loaded into registers 320 and 330 from flip- flops 340 and 350, respectively. Thus, if the data currently stored in a memory cell in the selected sector is a "1", corresponding to a programmed state, and a "0" is to be stored in the same memory cell, corresponding to erasing the memory cell, then the output of the associated NOR gate 310 will be "1" or a high signal. As a result, the attached tri-state driver 300 will be activated and apply the power supply voltage to the corresponding word-line. In the other three situations listed in Table 1 above, the output of the NOR gate 310 will be "0" or a low signal, which leaves the attached tri-state driver 300 de-activated and the corresponding word-line grounded.
Also, for an erase operation, the power supply to tri-state drivers 300-1 to 300-M is switched to erase voltage Verase (e.g., -8 to -10 volts). Thus, tri-state drivers 300-1 to 300-M apply erase voltage Verase only to those word-lines containing memory cells selected for erasing. With column decoder 130 (FIG. 1) applying a positive voltage (e.g., 5 to 7 volts) to the source-line of the sector selected for erasing and grounding the source-lines of the unselected sectors, only memory cell(s) in the selected sector and word-line(s) are erased. Consequently, during an erase operation for each sector, only those memory cells in the sector selected for erasing will have the negative erase voltage applied to the control gates, resulting in only those selected cells being erased. By only erasing memory cells that require erasing, the endurance and useful lifetime of the memory cells can be extended.
After the selected memory cells have been properly erased, memory cells in a sector can be selectively programmed to further improve the cell's endurance and useful lifetime. Programming raises the threshold voltage of a memory cell to a value corresponding to a stored "1". Because programmed cells (stored "1") are only erased when required (i.e., only when cells stored with a "1" are to be stored with a "0"), programmed cells that are to remain programmed retain their programmed state (stored "1"). Thus, the only memory cells requiring programming are those that have been erased (stored "0") and are to be stored with a "1", which reduces the total number of programming operations. Table 2 below lists the possible situations when a memory cell is to be programmed or not and the voltage applied to the word-line containing the memory cell, according to one embodiment. As shown in Table 2, only cells whose currently stored data is "0" and whose new data to be stored is "1" will require programming, with application of programming voltage Vpp (e.g., 8 to 10 volts). Word-lines containing memory cells not selected for programming remain at ground.
Referring to FIG. 4, after the erasing operation is completed, signal Erase is set low (signal Erase high) to turn off the erase transmission gate and prevent currently-stored data and to-be-stored data from being transferred to NOR gates 310. For a programming operation, signal PGM is set high (signal PGM low), which turns on the program transmission gate. Located between the program transmission gate and load transmission gate is a standard SRAM cell formed from a p-channel transistor 405 and an n-channel transistor 406 connected in series between ground and a supply voltage Vcc and from a p-channel transistor 407 and an n-channel transistor 408 similarly connected in series between ground and voltage Vcc. The gates of transistors 405 and 406 are connected to a node A between transistors 407 and 408, and the gates of transistors 407 and 408 are connected to a node B between transistors 405 and 406. In the manner of a standard SRAM cell, the voltages at nodes A and B are complementary and thus, node A provides, as an input to the program transmission gate, a signal complementary to the one from the load transmission gate. Thus, with the program transmission gate on, currently-stored and to-be-stored data are complemented before being input to the NOR gates 310. Table 3 below summarizes when tri-state drivers 300 are activated to apply an appropriate programming voltage (e.g., 8 to 10 volts) and when they are de-activated to apply ground to corresponding word-lines.
FIG. 5 shows the various possible states (programmed or erased) of a memory cell to illustrate the endurance improvement according to the present invention. Assume, initially, that a memory cell is in the erased state. The next state of the memory cell can be still an erased state or changed to a programmed state, neither of which requires erasing prior to entering that state. If the memory cell is in the erased state, as before, the memory cell can remain in an erased state or change to a programmed state. However, if the memory state is in the programmed state, the memory cell can remain in the programmed state or change to an erased state, which requires an erase operation. With conventional erase methods that erase the entire sector, all memory cells in the same sector are erased regardless of whether the cell's current state or subsequent desired state. However, with the present invention, only the memory cell that is changing from a current programmed state to an erased state is erased, as shown by shaded states 500, 501, and 502.
Thus, erasing is performed only when a memory cell is in one of four possible state transitions (only from programmed to erased) instead of erasing when the memory cell is in any of the four possible state transitions. Accordingly, assuming equal probability of the four cases, endurance is improved by four times over conventional sector erasing. Even in a worst case scenario, when the memory cell is changing from a programmed state to an erased state to a programmed state, endurance is doubled because an erase operation is only performed when the cell changes from a programmed state to an erased state, but not when the cell changes from an erased state to a programmed state.
With programming operations, only memory cells in an erased state that are to be changed to a programmed state are programmed, as shown by programmed states 520, 521, 522, and 523. When applied in conjunction with the selective erasing of the present invention, programming operations can be reduced by approximately 50 percent. As seen from FIG. 5, the programmed state 540 does not require programming because the previously programmed state 520 of the cell was not erased to an erased state. Similarly, in the next stage, only memory cells in programmed states 522 and 523 are programmed, while memory cells in programmed states 541 and 542 are not programmed. Thus the frequency of programming is reduced, which again improves the endurance and expected useful lifetime of the memory cell.
Endurance can be further improved by slowly ramping the control gate (or word-line) voltage from 0 volt down to the negative erase voltage of, e.g., -8 to -10 volts, and/or ramping the source (or source-line) voltage from 0 volt up to the positive source voltage of, e.g., 5 to 7 volts during an erase operation. By starting at 0 volt at the start of an erase period, instead of applying the full voltage(s), the memory cell is subjected to less stress during erasing, thereby lengthening the life of the cell. Endurance can also be improved by programming the memory cells with slow or soft programming using small pulses and slow ramping gate and/or drain voltages.
In addition to improving endurance and extending the lifetime of the memory cell, selective erasing and programming according to the present invention also provides other advantages, such as, but not limited to, application with content addressable memories (CAMs) comprising of an array of CAM cells, where each CAM cell is formed from two non-volatile floating gate transistors or any other suitable memory device, such as described in commonly-owned U.S. patent application Ser. No. 09/263,134, entitled "Flash Content Addressable Memory", filed concurrently, which is incorporated by reference herein in its entirety. In a CAM array, a plurality of CAM cells forming a word, i.e., sharing the same word-line and source-line, are programmed and erased at the same time, so that the CAM array has to be designed with devices capable of handling large current requirements. By having the ability to only program and erase selected memory cells, the large current requirements are relaxed, thereby reducing power consumption and costs of the array.
Note that the memory cells of memory array 110 in FIG. 1 are configured as sectors having one bit-line and source-line per sector and each memory cell in the sector having the control gate coupled to an individual word-line. However, other configurations are also suitable for this invention, where the memory cells are configured so that two voltages applied via two separate lines coupling the memory cells uniquely erase a selected cell while leaving unselected cells in their original state. One such memory array is a CAM array, such as described in the above-referenced U.S. patent application entitled "Flash Content Addressable Memory".
Memory 100 of FIG. 1, described above, is one embodiment for using the negative-gate erase scheme to erase non-volatile memory cells. However, as noted earlier, other erase schemes are also suitable that apply two non-zero voltages to two terminals of the memory cell, and which in combination, are sufficient to erase a selected memory cell in a sector. One type of suitable erase scheme (herein referred to as a channel-erase scheme) applies a negative erase voltage (e.g., -8 to -10 volts) to the control gate of the selected cell, as before, while applying a positive voltage (e.g., 5 to 7 volts) to a shallow p-well of the selected cell. The source and drain of the selected are left floating during a channel-erase operation.
Such a memory cell structure is shown FIG. 6. Similar to transistor 200 of FIG. 2, non-volatile floating gate transistor 600 has a channel 605 extending between n+ source region 610 and n+ drain region 615 formed in a p- substrate 620. However, unlike transistor 200, n+ source region 610 and n+ drain region 615 are formed in a shallow p- well 623, which is formed in a deep n- well 627 in p- substrate 620. Without an additional deep source junction, transistor 600 has a symmetric source/drain and is capable of shorter channel lengths, thereby allowing smaller memories. A floating gate 630 is insulated from the surface of p- well 623 by a thin tunneling oxide layer 635. A control gate 640 is insulated from floating gate 630 by a gate oxide or insulating layer 645. Word-line, bit-line, and source-line voltages are applied to control gate 640, n+ drain region 615, and n+ source region 610, respectively, for the various program, verify, erase, and read operations. For the channel-erase scheme, one combination of voltages to erase a selected cell are -8 to -10 volts applied to control gate 640, a floating potential applied to n+ source region 610 and n+ drain region 615, 5 to 7 volts applied to shallow p- well 623, at least 5 to 7 volts applied to deep n- well 627, and ground applied to p- substrate 620.
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 invention as defined by the following claims.