1. Field of the Invention
This invention relates to non-volatile memory (NVM) devices and, more particularly, is concerned with an apparatus and method for programming and/or verifying programming of a multi-level NVM device.
2. Description of the Background Art
In conventional single-bit per cell memory devices, the memory cell assumes one of two information storage states, either an “on” state or an “off” state. This combination of either “on” or “off” defines one bit of information. As a result, a memory device which can store n-bits of data requires n separate memory cells.
Increasing the number of bits which can be stored in a single-bit per cell memory device relies upon increasing the number of memory cells on a one-for-one basis with the number of bits of data to be stored. Methods for increasing the number of memory bits in a single memory device have relied upon the following advanced manufacturing techniques: manufacture larger die which contain more memory cells; or use improved lithography techniques to build smaller memory cells and allow more memory cells to be placed in a given area on a single chip.
An alternative approach to the single-bit per cell approach involves storing multiple-bits of data in a single memory cell. Previous approaches to implementing multiple-bit per cell non-volatile memory devices have only involved mask programmable read only memories (ROMs). In one of these approaches, the channel width and/or length of the memory cell is varied such that 2n different conductivity values are obtained which correspond to 2n different states corresponding to n-bits of data which can be stored on a single memory cell. In another approach, the ion implant for the threshold voltage is varied such that the memory cell will have 2n different voltage thresholds (Vt) corresponding to 2n different conductance levels corresponding to 2n different states corresponding to n-bits of data which can be stored on a single memory cell. Examples of memory devices of these types are described in U.S. Pat. No. 4,192,014 by Craycraft, U.S. Pat. No. 4,586,163 by Koike, U.S. Pat. No. 4,287,570 by Stark, U.S. Pat. No. 4,327,424 by Wu, and U.S. Pat. No. 4,847,808 by Kobatake.
Single-bit per cell read-only-memory devices are only required to sense, or read, two different levels or states per cell, consequently they have need for only one voltage reference. Sensing schemes for multi-level memory devices are more complex and require 2n−1 voltage references. Examples of such multiple state sensing schemes for ROMs are described in U.S. Pat. No. 4,449,203 by Adlhoch, U.S. Pat. No. 4,495,602 by Shepard, U.S. Pat. No. 4,503,578 by Iwahashi, and U.S. Pat. No. 4,653,023 by Suzuki.
These approaches to a multi-bit ROM commonly have one of 2n different conductivity levels of each memory cell being determined during the manufacturing process by means of a customized mask that is valid for only one data pattern. Thus, for storing n different data information patterns, a minimum of n different masks need to be produced and incorporated into a manufacturing process. Each time a data information pattern needs to be changed a new mask must be created and a new batch of semiconductor wafers processed. This dramatically increases the time between a data pattern change and the availability of a memory product programmed with that new data pattern.
Prior art electrically alterable multiple-bit per cell memory approaches store multiple levels of charge on a capacitive storage element, such as is found in a conventional dynamic random access memory (DRAM) or a charge coupled device (CCD). Such approaches are described in U.S. Pat. No. 4,139,910 by Anantha, U.S. Pat. No. 4,306,300 by Terman, U.S. Pat. No. 4,661,929 by Aoki, U.S. Pat. No. 4,709,350 by Nakagome, and U.S. Pat. No. 4,771,404 by Mano. All of these approaches use volatile storage, that is, the charge levels are not permanently stored. They provide 2n different volatile charge levels on a capacitor to define 2n different states corresponding to n-bits of data per memory cell. All of these approaches have the common characteristic that whatever information is stored on such a memory cell is volatile because such a cell loses its data whenever power is removed. Furthermore, these types of memory cells must be periodically refreshed as they have a tendency to lose charge over time even when power is maintained.
It would be advantageous to develop a multi-bit semiconductor memory cell that has the non-volatile characteristic of a mask programmable read-only-memory (ROM) and the electrically alterable characteristic of a multi-bit per cell DRAM. These characteristics combined in a single cell would provide a multi-bit per cell electrically alterable non-volatile memory (EANVM) capable of storing. Kn bits of data, where “K” is the base of the numbering system being used and “n” is the number of bits to be stored in each memory cell. Additionally, it would be advantageous if the EANVM described above was fully compatible with conventional industry standard device programmers/erasers and programming/erasing algorithms such that a user can program/erase the multi-bit per cell memory in a manner identical to that used for current single-bit per cell memory devices.
The present invention provides a multi-level electrically alterable non-volatile-memory (EANVM) device, wherein some or all of the storage locations have more than two distinct states.
In a specific embodiment, the present invention provides a multi-level memory device. The present multi-level memory device includes a multi-level cell means for storing input information for an indefinite period of time as a discrete state of the multi-level cell means. The multi-level cell means stores information in Kn memory states, where K is a base of a predetermined number system, n is a number of bits stored per cell, and Kn>2. The present multi-level memory device also includes a memory cell programming means for programming the multi-level cell means to a state corresponding to the input information. A comparator means for comparing, the memory state of the multi-level cell means with the input information is also included. The input information corresponds to one of a plurality of reference voltages. The present comparator means further generates a control signal indicative of the memory state as compared to the input information.
An alternative specific embodiment also provides a multi-level memory devices. The present multi-level memory device includes a multi-level cell means for storing input information for an indefinite period of time as a discrete state of the multi-level cell means. The multi-level cell means stores information in Kn memory states, where K is a base of a predetermined number system, n is a number of bits stored per cell, and Kn>2. A memory cell programming means for programming the multi-level cell means to a state corresponding to the input information is also included. The present multi-level memory device further includes a comparator means for comparing the memory state of the multi-level cell means with the input information. The input information corresponds to one of a plurality of reference voltages. The present comparator means further generates a control signal indicative of the memory state as compared to the input information. A reference voltage means for defining the plurality of reference voltages is also included. The present reference voltage means is operably coupled to the comparator means.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
Reference will now be made in detail to the specific embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the specific embodiments, it will be understood that they are not intended to limit the invention to those embodiments. On the contrary, the invention is intended to cover various alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims.
In general, the invention described here allows n-bits of information to be stored on and read from an Electrically Alterable Non-Volatile Memory (EANVM). This is accomplished by electrically varying the conductivity of the channel of a floating gate PET to be within any one of Kn conductivity ranges where “K” represents the base of the numbering system being employed (in a binary system, “K”equals 2). The conductivity range is then sensed and encoded. This forms the basis of an n-bit EANVM memory cell. The floating gate FET conductivity is electrically modified by using external programming hardware and algorithms which supply signals and voltages to the EANVM memory device.
These external signals and voltages are then modified internal to the device to provide an internally controlled program/verify cycle which incrementally stores electrons on the floating gate until the desired conductivity range is achieved. For the purpose of illustration, the n-bit per cell descriptions will assume a binary system which stores 2-bits per memory cell.
I. Prior Art Single-Bit EANVM Devices
The FET memory cell 10 includes a control gate 12 which is used either to select the memory cell for reading or is used to cause electrons to be injected onto the floating gate 14 during the programming process. Floating gate 14 is an electrically isolated structure which can indefinitely store electrons. The presence or absence of electrons on floating gate 14 alters the voltage threshold of the memory cell 10 and as a result alters the conductivity of its channel region. A drain region 16 of the FET is coupled to a source region 18 by a channel region 19. When the floating gate 14 in fully erased and the control gate 12 has been selected, the channel region 19 is in the fully “on”, or high conductivity, state. When the floating gate 14 is fully programmed the channel region 19 is in the fully “off”, or low conductivity state.
For reading the value of the single-bit stored in the cell 32, a sense amplifier 42 compares the voltage at terminal 38 with a reference voltage Vref at terminal 43. If a “0” is stored in the EANVM cell 32, the cell will be in a low conductivity state and as a result the voltage at terminal 38 is above the reference voltage at terminal 43. For a “0” stored in the cell 32, the output terminal 44 of the sense amplifier 42 will be a low voltage which will be transmitted through an output buffer 46 to a terminal 48 and then coupled to the I/O terminal 50 as a logical “0”. If a “1” is stored on the EANVM cell 32, the cell is in a high conductivity state and as a result the voltage at terminal 38 is below the reference voltage at terminal 43. The output of the sense amplifier 42 will be a high voltage which will be transmitted to the I/O terminal 50 as a logical “1”.
For writing the value of an information bit stored in the cell 32, it is assumed that the cell 32 is in the erased, or fully “on”, state which corresponds to a logical “1”. The I/O terminal 50 is connected to the input terminal of an input latch/buffer 52. The output of the input latch/buffer 52 is connected to an enable/disable terminal 54 of a program voltage switch 56. The program voltage switch 56 provides a bit-line program voltage on a signal line 58 connected to terminal 38. Another output from the program voltage switch 56 is the word line program voltage on a signal line 62, which is connected to the control gate 34 of the EANVM cell 32. When a logical “0” is present at terminal 54 of the program voltage switch 56 from the output of Input Latch/Buffer 52 and when the program voltage switch 56 is activated by a program pulse on a signal line 62 from a program pulse 66, activated by a PGM/Write signal, the program voltage switch 56 provides the program voltage Vpp from a terminal 68 to the control gate 34 of the EANVM cell 32. The program voltage switch 56 also biases the drain of the EANVM cell 32 to a voltage, typically between 8 to 9 volts, and the gate of the EANVM cell 32 to the program voltage Vpp, typically 12 volts. Under these conditions, electrons are injected onto the floating gate by a phenomenon known as hot electron injection. This programming procedure raises the voltage threshold of the EANVM cell which increases its source-drain impedance. This continues until the FET memory cell 32 is effectively turned off, which corresponds to a “0”state. When a “1” is present on terminal 54 from the output of the Input Latch/Buffer 52 and when the PGM/Write is enabled, the signal line 58 is driven low and programming is inhibited and the “1”, or erased, state is maintained.
Note that Fowler-Nordheim tunnelling can also be used instead of hot electron injection to place electrons on the floating gate. The multi-bit EANVM device described here functions with either memory cell programming technique. The prior art programming algorithms and circuits for either type of programming are designed to program a single-bit cell with as much margin as possible in as short a time as possible. For a single-bit memory cell, margin is defined as the additional voltage threshold needed to insure that the programmed cell will retain its stored value over time.
II. Memory Array for a Multi-Bit EANVM System
Each of the EANVM cells in a row of cells has its source connected to a ground reference potential and its drain connected to a column bit line, typically shown as 106. Each of the columns is connected to a pull-up device, as indicated by the block 105. All of the control gates of a row are connected to a row select, or word, line, typically shown as 104. Rows are selected with a row select circuit 108 and columns are selected with a column select circuit 110. Sense amplifiers 112 are provided for each of the selected columns. Decode/encode circuits 114 and n-bit input/output latches/buffers 116 are also provided. A PGM/Write signal is provided at an input terminal 118 for activating a mode control circuit 120 and a timing circuit 122.
A significant feature of this n-bit per cell system 100 as compared to a single-bit per cell implementation is that the memory density is increased by a factor of n, where n is the number of bits which can be stored on an individual multi-bit memory cell.
III. Basic Read Mode of an N-Bit Memory Cell
During a read operation of an n-bit memory cell, the levels of the respective output signals S3, S2, S1 of the sense amplifiers 154, 156, 158 are determined by the conductivity value to which the memory cell had been set during a programming operation. A fully erased EANVM cell 102 will be in its lowest threshold voltage state, or the highest conductivity state. Consequently, all of the reference voltages will be higher than the bit line voltage at terminal 168, resulting in a (1,1) state. A fully programmed EANVM cell 102 will be in its highest threshold voltage state, or its lowest conductivity state. Consequently, all reference voltages will be lower than the bit line voltage at terminal 168, resulting in a (0,0) state. The intermediate threshold states are encoded as is illustrated in the truth table for the logic circuit 160.
The system 200 includes a memory cell 102, as described in
IV. Basic Write Mode for a Multi-Bit per Cell EANVM System
In the write mode, a binary n-bit per cell EANVM system must be capable of electrically programming a memory cell to 2n uniquely different threshold levels. In the two-bit per cell implementation, because it is assumed that the cell starts from the erased (1,1) state, it is only necessary to program three different thresholds (Vt1, Vt2, and Vt3) which define the (0,1), (1,0), and (0,0) states. Vt1 is the threshold required such that in the read mode, the bit line voltage will fall between Ref 1 and Ref 2. Vt2 is the threshold required such that in the read mode, the bit line voltage will fall between Ref 2 and Ref 3. Vt3 is the threshold required such that in the read mode, the bit line voltage will be greater than Ref 3.
As will be appreciated from
To accomplish this n-level programming it is necessary to add to or modify the prior art EANVM circuitry.
Accordingly, the programming process for an n-bit per cell EANVM uses program/verify cycles, to incrementally program a cell. The durations of these cycles are determined by the timing circuit 208. A key element of the system is to provide a programming scheme which provides for accurate programming of the memory cell 102. This is accomplished by matching the pulse widths of the timing pulses of the timing circuitry 208 to the program time of the EANVM cell being used. As indicated in
The programming pulse width is set such that if the voltage threshold of the cell 102 after the (n−1)th programming pulse is at a point just below the target voltage threshold, then the (n)th, or final, program pulse will not cause an overshoot resulting in an overprogrammed condition for a memory cell.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
This application is a division of application Ser. No. 10/428,732 filed May 5, 2003, now U.S. Pat. No. 6,724,656, which is a division of application Ser. No. 10/160,402 filed Jun. 4, 2002, now U.S. Pat. No. 6,584,012, which is a division of application Ser. No. 09/794,041 filed Feb. 28, 2001, now U.S. Pat. No. 6,404,675, which is a division of application Ser. No. 09/493,138 filed Jan. 28, 2000, now U.S. Pat. No. 6,243,321, which is a division of application Ser. No. 09/195,201 filed Nov. 18, 1998, now U.S. Pat. No. 6,104,640, which is a division of application Ser. No. 08/911,731 filed Aug. 15, 1997, now U.S. Pat. No. 5,872,735, which is a division of application Ser. No. 08/410,200 filed Feb. 27, 1995, now U.S. Pat. No. 5,764,571, which is a division of application Ser. No. 08/071,816, filed Jun. 4, 1993, now U.S. Pat. No. 5,394,362, which is a continuation of application Ser. No. 07/652,878 filed Feb. 8, 1991, now U.S. Pat. No. 5,218,569.
Number | Name | Date | Kind |
---|---|---|---|
3660819 | Frohman-Bentchkowsky | May 1972 | A |
3755721 | Frohman-Bentchkowksky | Aug 1973 | A |
3801965 | Keller et al. | Apr 1974 | A |
4004159 | Rai et al. | Jan 1977 | A |
4054864 | Audaire et al. | Oct 1977 | A |
4090258 | Cricchi | May 1978 | A |
4122541 | Uchida | Oct 1978 | A |
4139910 | Anantha et al. | Feb 1979 | A |
4149270 | Cricchi et al. | Apr 1979 | A |
4181980 | McCoy | Jan 1980 | A |
4192014 | Craycraft | Mar 1980 | A |
4272830 | Moench | Jun 1981 | A |
4287570 | Stark | Sep 1981 | A |
4300210 | Chakravarti et al. | Nov 1981 | A |
4306300 | Terman et al. | Dec 1981 | A |
4327424 | Wu | Apr 1982 | A |
4357685 | Daniele et al. | Nov 1982 | A |
4388702 | Sheppard | Jun 1983 | A |
4415992 | Adlhoch | Nov 1983 | A |
4417325 | Harari | Nov 1983 | A |
4448400 | Harari | May 1984 | A |
4449203 | Adlhoch | May 1984 | A |
4462088 | Giuliani et al. | Jul 1984 | A |
4495602 | Sheppard | Jan 1985 | A |
4503518 | Iwahashi | Mar 1985 | A |
4558241 | Suzuki et al. | Dec 1985 | A |
4578777 | Fang et al. | Mar 1986 | A |
4586163 | Koike | Apr 1986 | A |
4612629 | Harari | Sep 1986 | A |
4627027 | Rai et al. | Dec 1986 | A |
4653023 | Suzuki et al. | Mar 1987 | A |
RE32401 | Belistein, Jr. et al. | Apr 1987 | E |
4661929 | Aoki et al. | Apr 1987 | A |
4701884 | Aoki et al. | Oct 1987 | A |
4709350 | Nakagome et al. | Nov 1987 | A |
4733394 | Giebel | Mar 1988 | A |
4771404 | Mano et al. | Sep 1988 | A |
4799195 | Iwahashi et al. | Jan 1989 | A |
4809224 | Suzuki et al. | Feb 1989 | A |
4847808 | Kobatake | Jul 1989 | A |
4853892 | Hori | Aug 1989 | A |
4890259 | Simko | Dec 1989 | A |
4903236 | Nakayama et al. | Feb 1990 | A |
4914631 | Johnson et al. | Apr 1990 | A |
4964079 | Devin | Oct 1990 | A |
4989179 | Simko | Jan 1991 | A |
5014242 | Akimoto et al. | May 1991 | A |
5021999 | Kohda et al. | Jun 1991 | A |
5043940 | Harari | Aug 1991 | A |
5095344 | Harari | Mar 1992 | A |
5163021 | Mehrotra et al. | Nov 1992 | A |
5168465 | Harari | Dec 1992 | A |
5172338 | Mehrotra et al. | Dec 1992 | A |
5198380 | Harari | Mar 1993 | A |
5200920 | Norman et al. | Apr 1993 | A |
5200959 | Gross et al. | Apr 1993 | A |
5258958 | Iwahashi et al. | Nov 1993 | A |
5262984 | Noguchi et al. | Nov 1993 | A |
5268318 | Harari | Dec 1993 | A |
5268319 | Harari | Dec 1993 | A |
5268870 | Harari | Dec 1993 | A |
5272669 | Samachisa et al. | Dec 1993 | A |
5293560 | Harari | Mar 1994 | A |
5295255 | Malecek et al. | Mar 1994 | A |
5321655 | Iwahashi et al. | Jun 1994 | A |
5351210 | Saito | Sep 1994 | A |
5394362 | Banks | Feb 1995 | A |
5422845 | Ong | Jun 1995 | A |
5432735 | Parks et al. | Jul 1995 | A |
5434825 | Harari | Jul 1995 | A |
5440505 | Fazio et al. | Aug 1995 | A |
5444656 | Bauer et al. | Aug 1995 | A |
5450363 | Christopherson et al. | Sep 1995 | A |
5457650 | Sugiura et al. | Oct 1995 | A |
5469384 | Lacey | Nov 1995 | A |
5475693 | Christopherson et al. | Dec 1995 | A |
5485422 | Bauer et al. | Jan 1996 | A |
5497119 | Tedrow et al. | Mar 1996 | A |
5506813 | Mochizuki et al. | Apr 1996 | A |
5508958 | Fazio et al. | Apr 1996 | A |
5515317 | Wells et al. | May 1996 | A |
5523972 | Rashid et al. | Jun 1996 | A |
5539690 | Talreja et al. | Jul 1996 | A |
5541886 | Hasbun | Jul 1996 | A |
5544118 | Harari | Aug 1996 | A |
5550772 | Gill | Aug 1996 | A |
5554553 | Harari | Sep 1996 | A |
5568439 | Harari | Oct 1996 | A |
5583812 | Harari | Dec 1996 | A |
5594691 | Bashir | Jan 1997 | A |
5596527 | Tomioka et al. | Jan 1997 | A |
5642312 | Harari | Jun 1997 | A |
5712819 | Harari | Jan 1998 | A |
5764571 | Banks | Jun 1998 | A |
5872735 | Banks | Feb 1999 | A |
6002614 | Banks | Dec 1999 | A |
6011716 | Banks | Jan 2000 | A |
6014327 | Banks | Jan 2000 | A |
6104640 | Banks | Aug 2000 | A |
6118692 | Banks | Sep 2000 | A |
6243321 | Banks | Jun 2001 | B1 |
6246613 | Banks | Jun 2001 | B1 |
6324121 | Banks | Nov 2001 | B2 |
6327189 | Banks | Dec 2001 | B2 |
6339545 | Banks | Jan 2002 | B2 |
6343034 | Banks | Jan 2002 | B2 |
6344998 | Banks | Feb 2002 | B2 |
6353554 | Banks | Mar 2002 | B1 |
6356486 | Banks | Mar 2002 | B1 |
6404675 | Banks | Jun 2002 | B2 |
6381172 | Banks | Aug 2002 | B2 |
6434050 | Banks | Aug 2002 | B2 |
20030202378 | Banks | Oct 2003 | A1 |
Number | Date | Country |
---|---|---|
0 390 404 | Oct 1990 | EP |
2 630 574 | Oct 1989 | FR |
56-114199 | Sep 1981 | JP |
61-239497 | Oct 1986 | JP |
61-239498 | Oct 1986 | JP |
62-6493 | Jan 1987 | JP |
62-24499 | Feb 1987 | JP |
1-159895 | Jun 1989 | JP |
3-242898 | Oct 1991 | JP |
4-507320 | Dec 1992 | JP |
5-217385 | Aug 1993 | JP |
6-68682 | Mar 1994 | JP |
8-195092 | Jul 1996 | JP |
9-181279 | Jul 1997 | JP |
WO8202276 | Jul 1982 | WO |
WO8202976 | Sep 1982 | WO |
WO9001984 | Mar 1990 | WO |
Number | Date | Country | |
---|---|---|---|
20040242009 A1 | Dec 2004 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10428732 | May 2003 | US |
Child | 10808284 | US | |
Parent | 10160402 | Jun 2002 | US |
Child | 10428732 | US | |
Parent | 09794041 | Feb 2001 | US |
Child | 10160402 | US | |
Parent | 09493138 | Jan 2000 | US |
Child | 09794041 | US | |
Parent | 09195201 | Nov 1998 | US |
Child | 09493138 | US | |
Parent | 08911731 | Aug 1997 | US |
Child | 09195201 | US | |
Parent | 08410200 | Feb 1995 | US |
Child | 08911731 | US | |
Parent | 08071816 | Jun 1993 | US |
Child | 08410200 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 07652878 | Feb 1991 | US |
Child | 08071816 | US |