The present invention generally relates to the field of non-volatile memory (“NVM”) cells. More specifically, the present invention relates to a system, circuit and method for programming one or more NVM cells using a multi-phase programming sequence or algorithm.
Non-volatile memory (“NVM”) cells are fabricated in a large variety of structures, including but not limited to Poly-silicon floating gate, as shown in
Different threshold voltage ranges are associated with different logical states, and a NVM cell's threshold voltage level may be correlated to the amount of charge (e.g. electrons) stored in a charge storage region of the cell.
The amount of charge stored in a charge storage region of an NVM cell, may be increased by applying one or more programming pulses to the cell. While the amount of charge in the cell may decrease by applying an erase pulse to the NVM cell which may force the charge reduction in the cell's charge storage region, and consequently may decrease the NVM's threshold voltage.
A simple method used for operating NVM cells (e.g. programming, reading, and erasing) uses one or more reference structures such as reference cells to generate the reference levels (i.e. PVs, EVs). Each of the one or more reference structures may be compared against a memory cell being operated in order to determine a condition or state of the memory cell being operated. Generally, in order to determine whether an NVM cell is at a specific state, for example erased, programmed, or programmed at one of multiple possible program states within a multi-level cell (“MLC”), the cell's threshold level is compared to that of a reference structure whose threshold level is preset and known to be at a voltage level associated with the specific state being tested for. Comparing the threshold voltage of an NVM cell to that of a reference cell is often accomplished using a sense amplifier. Various techniques for comparing an NVM's threshold voltage against those of one or more reference cells, in order to determine the state(s) of the NVM's cells, are well known.
When programming an NVM cell to a desired state, a reference cell with a threshold voltage set at a voltage level defined as a “program verify” level for the given state may be compared to the threshold voltage of the cell being programmed in order to determine whether a charge storage area or region of the cell being programmed has been sufficiently charged so as to be considered “programmed” at the desired state. If after a programming pulse has been applied to a cell, it has been determined that a cell has not been sufficiently charged in order for its threshold voltage to be at or above a “program verify” level (i.e. the threshold voltage of the relevant reference cell) associated with the target program state, the cell is typically hit with another programming pulse to try to inject more charge into its charge storage region. Once a cell's threshold value reaches or exceeds the “program verify” level to which it is being programmed, no further programming pulse should be applied to the cell.
Groups of cells within an NVM array may be programmed concurrently. The group of NVM cells may consist of cells being programmed to the same logical state, or may consist of cells being programmed to several possible states, such as may be the case with MLC arrays. Since not all cells have the same susceptibility to being programmed, cells may not program at the same rate. Some cells may reach a target program state before other cells in the same set of cells that are being programmed together.
The need to increase NVM's performance dictates more aggressive programming algorithm using stronger programming pulses. The stronger pulses may cause the Vt of the NVM cell to change significantly hence increasing the variations in the response of the different cells to the programming algorithm. This is reflected in the programming tail that may become larger using more aggressive algorithms. Larger Programming tails may not be wanted since they reduce the endurance and retention figures of an NVM cell.
With MLC arrays the situation is finer. The voltage threshold boundaries which define a given logical state in an MLC cell (e.g. between two read levels) are usually considerably smaller than those for a binary NVM cell.
The simple solution of reducing the steps of a programming algorithm to smaller and smaller steps does not assure the similar reduction of the PGM tail voltage distribution. This is due to practical limitations of array non uniformities in many parameters (e.g. physical dimensions, resistances of current paths, number of cells that need programming pulses simultaneously, etc. . . . ). Since cells are programmed in groups, the applied voltages experiences by each cell may different to some extent from the pulse voltage as supplied by power supplies.
There is a need in the field of semiconductors for improved systems, circuits and methods for the programming of NVM cells in a NVM array that has more control of the PGM rates hence the variations in the programming tail.
Algorithms for programming MLC cells are known. U.S. patent application Ser. No. 10/354,050, filed on Jan. 30, 2003, assigned to the same assignee as the present invention, teaches several programming algorithms for MLC memory arrays. The specification of U.S. patent application Ser. No. 10/354,050, is hereby incorporated by reference in its entirety into the present application.
The present invention is a method circuit and system for programming non-volatile memory (“NVM”) cells in an NVM array. According to some embodiments of the present invention, one or more NVM cells of a memory array may be programmed using a controller or programming circuit adapted to provide a first programming phase and a second programming phase, wherein programming pulses associated with the second programming phase may induce lower programming rate, hence lower programming variations.
According to some embodiments of the present invention, one or more NVM cells of a memory array may be programmed using a controller or programming circuit adapted to provide a first programming phase and a second programming phase, wherein programming pulses associated with the second programming phase may induce relatively greater threshold voltage changes in cells having less stored charge than in cells having relatively more stored charge. According to some embodiments of the present invention, the second programming phase may induce relatively greater threshold voltage changes in cells having relatively lower threshold voltages after the first phase programming.
According to some embodiments of the present invention, a first set of NVM cells to be programmed to a first target threshold voltage level may receive first phase programming pulses until one or more of the cells in the first set reaches or exceeds a first intermediate threshold voltage level, after which the cells in the first set may receive second phase programming pulses until one or more, or substantially all, of the cells in the first set reach the first target threshold voltage.
According to some embodiments of the present invention, a second set of NVM cells to be programmed to a second target threshold voltage level may be programmed with first phase programming pulses whose initial voltage levels may correspond to initial voltage levels associated with the second phase programming of the first set of cells. The second set may receive first phase programming pulses until one or more of the cells in the second set reaches or exceeds a second intermediate threshold voltage level, after which the cells in the second set may receive second phase programming pulses until one or more, or substantially all, of the cells in the second set reach the second target threshold voltage.
According to some embodiments of the present invention, a third set of NVM cells may be programmed to a third target threshold voltage in a manner similar and corresponding to that describer for the first and second sets above. This process can be extended to arbitrary large number of sets of cells, associated an arbitrarily large number of target threshold voltages.
According to some embodiments of the present invention, first phase programming may be characterized by applying to a terminal of one or more NVM cells of a set of NVM cells incrementally increasing programming pulses in concert with pulses of substantially fixed voltage to a gate of the one or more NVM cells. According to some embodiments of the present invention, second phase programming may be characterized by applying to a terminal of one or more cell of the set programming pulses of substantially fixed voltage in concert with gate pulses of incrementally increasing voltage. According to an alternative embodiment of the present invention, second phase programming may be characterized by applying to a terminal of one or more cells programming pulses of incrementally increasing voltage in concert with gate pulses of a relatively reduced and substantially fixed voltage. According to some embodiments of the present invention, initial second phase gate and drain voltage levels may be deduced from a verify process of the cells during the first phase.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following non limiting detailed description when read with the accompanied drawings in which:
It will be appreciated that for simplicity and clarity of these non-limiting illustrations, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods and procedures have not been described in detail so as not to obscure the present invention.
The present invention is a method circuit and system for programming non-volatile memory (“NVM”) cells in an NVM array. According to some embodiments of the present invention, one or more NVM cells of a memory array may be programmed using a controller or programming circuit adapted to provide a first programming phase and a second programming phase, wherein programming pulses associated with the second programming phase may induce relatively greater threshold voltage changes in cells having less stored charge than in cells having relatively more stored charge.
According to some embodiments of the present invention, a first set of NVM cells to be programmed to a first target threshold voltage level may receive first phase programming pulses until one or more of the cells in the first set reaches or exceeds a first intermediate threshold voltage level, after which the cells in the first set may receive second phase programming pulses until one or more, or substantially all, of the cells in the first set reach the first target threshold voltage.
According to some embodiments of the present invention, a second set of NVM cells to be programmed to a second target threshold voltage level may be programmed with first phase programming pulses whose initial voltage levels may correspond to initial voltage levels associated with the second phase programming of the first set of cells. The second set may receive first phase programming pulses until one or more of the cells in the second set reaches or exceeds a second intermediate threshold voltage level, after which the cells in the second set may receive second phase programming pulses until one or more, or substantially all, of the cells in the second set reach the second target threshold voltage.
According to some embodiments of the present invention, a third set of NVM cells may be programmed to a third target threshold voltage in a manner similar and corresponding to that describer for the first and second sets above. This process can continue to complete a large number of sets of cells to be programmed.
According to some embodiments of the present invention, first phase programming may be characterized by applying to a terminal of one or more NVM cells of a set of NVM cells incrementally increasing programming pulses in concert with pulses of substantially fixed voltage to a gate of the one or more NVM cells. According to some embodiments of the present invention, second phase programming may be characterized by applying to a terminal of one or more cell of the set programming pulses of substantially fixed voltage in concert with gate pulses of incrementally increasing voltage. According to an alternative embodiment of the present invention, second phase programming may be characterized by applying to a terminal of one or more cells programming pulses of incrementally increasing voltage in concert with gate pulses of a relatively reduced and substantially fixed voltage.
Turning now to
Data to be stored on the NVM array 100 may be first received in a buffer 120 (e.g. Static Random Access Memory—SRAM) and may then be read by the controller 110, which may respond by instructing a charge pump circuit 130 to produce first and second phase programming pulses corresponding to the data to be stored. The controller 110 may determine to which set of NVM cells in the NVM array 100 to store the data and in what format (e.g. dual-level/binary-level, multi-level format) the data is to be stored on the selected set of cells. The controller 110 may instruct a cell selection and masking circuit 140 to provide the charge pump circuit 130 with access to the selected cells. A program verify circuit 150 may be used by the controller 110 to determine when a cell reaches or exceeds a given threshold voltage, for example, either the final target threshold voltage level associated with a logical state of a binary or MLC cell, or an intermediate threshold voltage associated with the above mentioned logical states.
Turning now to
Turning now to
The actual threshold voltage defined as an “intermediate threshold voltage level” for a cell or set of cells depends on the program state to which the cell(s) is to be charged. For example, if the cell or set of cells is to be charged to first program state defined by a threshold voltage (program verify voltage) of 4.5 Volts, the target threshold voltage may be 4.5 Volts while the intermediate threshold voltage may be anywhere between 4.0 to 4.5 Volts. Likewise, if the cell or set of cells is to be charged to a second program state defined by a threshold voltage (program verify voltage) of 6 Volts, the target threshold voltage may be 6 Volts while the intermediate threshold voltage may be anywhere between 5.5 to 6 Volts.
As visible from
Turning now to
Turning now to
Turning now to
According to some embodiments of the present invention, a first set of cells to be charged/programmed to a first target threshold voltage receive first phase programming pulses until one or more of the cells of the first set reach or exceed an first intermediate threshold voltage level correspond to the first target threshold voltage level. Once one or more cells of the first set reach to exceed the first intermediate threshold voltage level, some or all of the cells of the first set receive second phase programming pulses. According to further embodiments of the present invention, a second set of cells to be programmed to a second target threshold voltage level may receive first phase programming pulse, where the voltage level of the second set's programming first phase programming pulses are a function of the last programming pulse applied to the cells of the first set during first phase programming. Turning now to
Turning now to
Turning now to
Once one or more of the cells of the first set reach the first intermediate Vt, the first set of cells may begin receiving second phase programming pulses, and a second set of cells may start receiving first phase programming pulses, where the initial Vd of the second set's first phase programming pulses may be related to the (e.g. substantially equal) to the find Vd applied to the first set during first phase programming. According to some embodiment of the present invention, the second set of cells may continue receiving programming pulses with an incrementing Vd until one or more cells in the second reach a second intermediate Vt. According to some embodiments of the present invention, there may be multiple intermediate and target threshold voltages, where each target threshold voltage is associated with a different logical state of an MLC array. Thus, there may be a third set, a fourth set, etc., where the voltage of the first phase programming pulses of each set of cells may be partially a function of the results of the programming of the previous set of cells.
Turning now to
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
The present application claims priority from U.S. provisional patent application Ser. No. 60/421,786, filed Oct. 29, 2002, which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3895360 | Cricchi et al. | Jul 1975 | A |
4527257 | Cricchi | Jul 1985 | A |
4725984 | Ip et al. | Feb 1988 | A |
4761764 | Watanabe | Aug 1988 | A |
5027321 | Park | Jun 1991 | A |
5042009 | Kazerounian et al. | Aug 1991 | A |
5172338 | Mehrotra et al. | Dec 1992 | A |
5293563 | Ohta et al. | Mar 1994 | A |
5295108 | Higa | Mar 1994 | A |
5345425 | Shikatani | Sep 1994 | A |
5349221 | Shimoji | Sep 1994 | A |
5359554 | Odake et al. | Oct 1994 | A |
5361343 | Kosonocky et al. | Nov 1994 | A |
5418743 | Tomioka et al. | May 1995 | A |
5422844 | Wolstenholme et al. | Jun 1995 | A |
5424978 | Wada et al. | Jun 1995 | A |
5434825 | Harari | Jul 1995 | A |
5440505 | Fazio et al. | Aug 1995 | A |
5450341 | Sawada et al. | Sep 1995 | A |
5450354 | Sawada et al. | Sep 1995 | A |
5521870 | Ishikawa | May 1996 | A |
5523972 | Rashid et al. | Jun 1996 | A |
5530803 | Chang et al. | Jun 1996 | A |
5537358 | Fong | Jul 1996 | A |
5563823 | Yiu et al. | Oct 1996 | A |
5579199 | Kawamura et al. | Nov 1996 | A |
5608679 | Mi et al. | Mar 1997 | A |
5623438 | Guritz et al. | Apr 1997 | A |
5644531 | Kuo et al. | Jul 1997 | A |
5657332 | Auclair et al. | Aug 1997 | A |
5677869 | Fazio et al. | Oct 1997 | A |
5689459 | Chang et al. | Nov 1997 | A |
5694356 | Wong et al. | Dec 1997 | A |
5712815 | Bill et al. | Jan 1998 | A |
5717632 | Richart et al. | Feb 1998 | A |
5717635 | Akatsu | Feb 1998 | A |
5748534 | Dunlap et al. | May 1998 | A |
5751637 | Chen et al. | May 1998 | A |
5768193 | Lee et al. | Jun 1998 | A |
5774395 | Richart et al. | Jun 1998 | A |
5787036 | Okazawa | Jul 1998 | A |
5805500 | Campardo et al. | Sep 1998 | A |
5812449 | Song | Sep 1998 | A |
5812457 | Arase | Sep 1998 | A |
5822256 | Bauer et al. | Oct 1998 | A |
5870334 | Hemink et al. | Feb 1999 | A |
5870335 | Khan et al. | Feb 1999 | A |
5892710 | Fazio et al. | Apr 1999 | A |
5926409 | Engh et al. | Jul 1999 | A |
5946258 | Evertt et al. | Aug 1999 | A |
5949714 | Hemink et al. | Sep 1999 | A |
5969993 | Takeshima | Oct 1999 | A |
5991202 | Derhacobian et al. | Nov 1999 | A |
5999444 | Fujiwara et al. | Dec 1999 | A |
6011725 | Eitan | Jan 2000 | A |
6034896 | Ranaweera et al. | Mar 2000 | A |
6064591 | Takeuchi et al. | May 2000 | A |
6075724 | Li et al. | Jun 2000 | A |
6078518 | Chevallier | Jun 2000 | A |
6091640 | Kawahara et al. | Jul 2000 | A |
6097639 | Choi et al. | Aug 2000 | A |
6118692 | Banks | Sep 2000 | A |
6147904 | Liron | Nov 2000 | A |
6157570 | Nachumovsky | Dec 2000 | A |
6169691 | Pasotti et al. | Jan 2001 | B1 |
6181605 | Hollmer et al. | Jan 2001 | B1 |
6192445 | Rezvani | Feb 2001 | B1 |
6205056 | Pan et al. | Mar 2001 | B1 |
6215148 | Eitan | Apr 2001 | B1 |
6215697 | Lu et al. | Apr 2001 | B1 |
6240032 | Fukumoto | May 2001 | B1 |
6240040 | Akaogi et al. | May 2001 | B1 |
6252799 | Liu et al. | Jun 2001 | B1 |
6285589 | Kajitani | Sep 2001 | B1 |
6292394 | Cohen et al. | Sep 2001 | B1 |
6304485 | Harari et al. | Oct 2001 | B1 |
6307807 | Sakui et al. | Oct 2001 | B1 |
6320786 | Chang et al. | Nov 2001 | B1 |
6324094 | Chevallier | Nov 2001 | B1 |
6331950 | Kuo et al. | Dec 2001 | B1 |
6353554 | Banks | Mar 2002 | B1 |
6353555 | Jeong | Mar 2002 | B1 |
6396741 | Bloom et al. | May 2002 | B1 |
6438031 | Fastow | Aug 2002 | B1 |
6442074 | Hamilton et al. | Aug 2002 | B1 |
6456528 | Chen | Sep 2002 | B1 |
6477085 | Kuo | Nov 2002 | B1 |
6490204 | Bloom et al. | Dec 2002 | B1 |
6519180 | Tran et al. | Feb 2003 | B1 |
6519182 | Derhacobian et al. | Feb 2003 | B1 |
6522585 | Pasternak | Feb 2003 | B1 |
6552387 | Eitan | Apr 2003 | B1 |
6567303 | Hamilton et al. | May 2003 | B1 |
6567312 | Torii et al. | May 2003 | B1 |
6577532 | Chevallier | Jun 2003 | B1 |
6584017 | Maayan et al. | Jun 2003 | B1 |
6590811 | Hamilton et al. | Jul 2003 | B1 |
6618290 | Wang et al. | Sep 2003 | B1 |
6636440 | Maayan et al. | Oct 2003 | B1 |
6639837 | Takano et al. | Oct 2003 | B1 |
6639844 | Liu et al. | Oct 2003 | B1 |
6639849 | Takahashi et al. | Oct 2003 | B1 |
6643170 | Huang et al. | Nov 2003 | B1 |
6643177 | Le et al. | Nov 2003 | B1 |
6665769 | Cohen et al. | Dec 2003 | B1 |
6670669 | Kawamura | Dec 2003 | B1 |
6690602 | Le et al. | Feb 2004 | B1 |
6738289 | Gongwer et al. | May 2004 | B1 |
6967872 | Quader et al. | Nov 2005 | B1 |
20010006477 | Banks | Jul 2001 | A1 |
20020034097 | Banks | Mar 2002 | A1 |
20020132436 | Eliyahu et al. | Sep 2002 | A1 |
20020191444 | Gregori et al. | Dec 2002 | A1 |
20020191465 | Maayan et al. | Dec 2002 | A1 |
20030021155 | Yachareni et al. | Jan 2003 | A1 |
20030028709 | Micheloni et al. | Feb 2003 | A1 |
20030072192 | Bloom et al. | Apr 2003 | A1 |
20030131186 | Buhr | Jul 2003 | A1 |
20030142544 | Maayan et al. | Jul 2003 | A1 |
20030156456 | Shappir et al. | Aug 2003 | A1 |
20040008541 | Maayan et al. | Jan 2004 | A1 |
20040151034 | Shor et al. | Aug 2004 | A1 |
20040153621 | Polansky et al. | Aug 2004 | A1 |
20050128810 | Lutze et al. | Jun 2005 | A1 |
Number | Date | Country |
---|---|---|
0 656 628 | Apr 2003 | EP |
07193151 | Jul 1995 | JP |
408297988 | Nov 1996 | JP |
09162314 | Jun 1997 | JP |
10-106276 | Apr 1998 | JP |
WO 0184552 | Nov 2001 | WO |
WO 03063167 | Jul 2003 | WO |
WO 03088259 | Oct 2003 | WO |
WO 03088260 | Oct 2003 | WO |
Number | Date | Country | |
---|---|---|---|
20050105337 A1 | May 2005 | US |
Number | Date | Country | |
---|---|---|---|
60421786 | Oct 2002 | US |