EP1680744A2 - Verfahren und system zum verbessern der robustheit von speicherzellen - Google Patents
Verfahren und system zum verbessern der robustheit von speicherzellenInfo
- Publication number
- EP1680744A2 EP1680744A2 EP04795162A EP04795162A EP1680744A2 EP 1680744 A2 EP1680744 A2 EP 1680744A2 EP 04795162 A EP04795162 A EP 04795162A EP 04795162 A EP04795162 A EP 04795162A EP 1680744 A2 EP1680744 A2 EP 1680744A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- data set
- current data
- changing
- flag
- volatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 44
- 230000002708 enhancing effect Effects 0.000 title description 2
- 230000006870 function Effects 0.000 description 43
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Definitions
- Computer systems, or other data processing systems include integrated circuit devices having a subset of memory in which data is changed more often than data in other subsets of the memory.
- the subset of memory that is more frequently changed tends to fail to due the effects of the great number of change cycles it undergoes .
- a wide variety of endurance enhancement techniques are known to attempt to decrease the potential for failure of the memory cells. For example, redundant memory cells are provided so that if one memory cell fails, another memory cell will take over and provide the required data. Also wear leveling techniques are known in the art . Most endurance enhancement techniques operate at the block level rather than the bit level .
- Counters are often used to keep track of the total number of erase/program cycles of a block and then to switch to a redundant block before the first block fails or to occasionally switch blocks to even out the wear.
- a total-write-counter field indicates a total number of write-erase cycles of the block and an incremental -write- counter field indicates an incremental number of write- erase cycles since a wear-leveling operation for the block. The total and incremental numbers must exceed thresholds for wear leveling for the block change to occur.
- a plurality of non-volatile memory cells, associated with a plurality of flag cells, is used in the present invention to increase the endurance of a non-volatile memory cell. For instance two, three or more nonvolatile memory cells associated with two, three or more flag cells, may be used.
- a pair of non-volatile memory cells with associated first and second flag cells disposed on the integrated circuit.
- the pair of nonvolatile memory cells function as a single larger memory cell with twice the endurance of a regular single nonvolatile memory cell.
- the managing data of the first flag cell and the managing data of the second flag cell form a data set.
- a current data set is utilized to determine to which memory cell of the pair of memory cells to write a new value and from which of the pair of memory cells to read a currently stored value.
- the current data set is changed to a different data set whenever a new value is written to a designated memory cell to indicate an alternate memory cell to be written to next and an alternate memory cell to be read from next .
- the current data set has logic values which are input into logic control means, such as logic control circuitry, forming a part of the integrated circuit to determine to which memory cell to write new data and from which memory cell to read data.
- logic control means also determine from the current data set the logic values to which the data set should be changed after each successive write/erase cycle.
- the memory cells and flag cells are programmed with program circuitry known in the art and according to the determination of the logic control means. With each successive write operation to an alternate non-volatile memory cell, logic control means change the current data set to a different data set which becomes the current data set so that an alternate memory cell is read to and written from.
- sense amplifier 16 is associated with flag cell Fl_ sense amplifier 18 is associated with flag cell F2
- sense amplifier 20 is associated with non-volatile memory cell VI
- sense amplifier 22 is associated with non-volatile memory cell V2 to sense the output of each Fl, F2 , VI and V2 cell.
- a sense signal may be toggled to initialize the system after new value 24 has been written to the designated non-volatile memory cell and after the current data set has been changed to update each flag cell and nonvolatile memory cell .
- flag cell Fl_ flag cell F2 non-volatile memory cell VI and nonvolatile memory cell V2 are erased to 0 as shown in step 30.
- the managing data of flag cell Fl and flag cell F2 form a data set which is used, as shown in block 32, to determine from which memory cell to read a currently stored value and to which memory cell to write a new value.
- the logic control circuitry from the first data set, determines to read a currently stored value from nonvolatile memory cell VI, as shown in block 34.
- the logic control circuitry 12 determines from the second data set to read the currently stored value from non-volatile memory cell V2 , as shown in block 38.
- the logic control circuitry 12 determines to write the new value to non-volatile memory cell VI as shown in block 40.
- the logic control circuitry 12 utilizes the second data set to determine a third data set that is different from the second data set to which to change the second data set.
- the logic control circuitry 12 When a new value 24 is written to one of the pair of nonvolatile memory cells, the logic control circuitry 12, utilizes the third data set to determine to write the new value to non-volatile memory cell V2 , as shown in block 44.
- the logic control circuitry utilizes the third data set to determine a fourth data set that is different from the third data set which to change the third data set to.
- flag cell F2 neither the erase or write function is asserted leaving the value as 1.
- flag cell F2 could be erased and have a 1 written to it .
- the logic control circuitry determines from the fourth data set to read the currently stored value from non-volatile memory cell V2 , as shown in block 46.
- the logic control circuitry from the fourth data set determines to write a new value to non-volatile memory cell VI, as shown in block 48.
- program circuitry 14 before each non-volatile memory cell has the new value written to it, as described above or in other embodiments, program circuitry 14 performs an erase operation to the non-volatile memory cell to which the new value will be written.
- the erase function is coupled to the write function and occurs before the write function.
- managing data is alternately written to the flag cells and alternately erased from the flag cells as the data sets are changed.
- the wear of the flag cells is substantially level and at substantially the same rate as the associated pair of memory cells.
- the group of different data sets is equally divided in number between those current data sets indicating to write a new value to non-volatile memory cell VI and between those current data sets indicating to write a new value to non-volatile memory cell V2.
- a multiplexer 54 which utilizes one of four flag cell data sets to determine from which non-volatile memory cell, VI or V2 , to read a currently stored value.
- a DATA DUT value is read from only one of the memory cells VI and V2 each time a different data set is input into the multiplexer 54.
- Fig. 3B an embodiment of the logic control circuitry of the present invention is shown. This embodiment utilizes the four different data sets shown in Fig. 3A and Fig. 3C.
- a WRITE signal is another input of AND gate 72. If the output of the AND gate 72 is 1, the Fl input/output block 56 will write to one, as shown by the WRITE_TO_ONE function. If a 1 is not asserted, it will not write to
- Inverter 81 is shown in Fig. 3E inverting signal F2 to F2B.
- Data signals FIB and F2B are inputs of AND gate 86, the output of which is an input of AND gate 88.
- a WRITE signal is also an input of the AND gate 88. If the output of the AND gate 88 is 1 the Fl input/output block 60 will write to one, as shown by the WRITE_TO_ONE function. If a 1 is not asserted, it will not write to 1.
- a 1 is the output of AND gate 70, and XOR gates 64, 74 and 78, thus a 1 is an input of the AND gates 66, 72, 76 and 80. Therefore, the erase and write functions may be asserted in flag cell Fl and memory cell VI, though not simultaneously in each cell .
- the WRITE signal of flag cell Fl is a 1 which asserts the WRITE_TO_ONE function. Therefore, a 1 is written to the flag cell Fl, as shown by the "Next" column of Fig. 3C. The 1 becomes DOUT for input/output block 56 for flag cell Fl (Fig. 3B) .
- the input/output block 58 for VI may be erased before writing, although since it is already at 0, this is not necessary.
- the WRITE signal is a 1 which asserts the WRITE_TO_ONE function.
- DATA_IN or the new value, is written to the memory cell VI, as shown by the "Erase/Write to" column of Fig. 3C.
- the new value becomes DOUT for VI.
- the outputs of the XNOR gates 82, 90 and 94 and AND gate 86 are 0. Therefore, the output of the AND gates 84, 88, 92, and 96 must also be 0.
- XOR gates 64, 74 and 78 and AND gate 70 are 0.
- the outputs for the AND gates 66, 72, 76 and 80 must also be 0. Accordingly, neither the erase or write functions are asserted and the values remain the same.
- the currently stored value of non-volatile memory cell VI is "Read from" cell VI, as shown in Fig. 3C.
- the output DOUT of input/output block 56 for flag cell Fl remains 1 (Fig. 3B) .
- a 1 is the output of XNOR gates 82, 90 and 94, thus a 1 is an input for the AND gates 84, 92 and 96.
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/690,082 US7082490B2 (en) | 2003-10-20 | 2003-10-20 | Method and system for enhancing the endurance of memory cells |
| PCT/US2004/033962 WO2005043589A2 (en) | 2003-10-20 | 2004-10-13 | Method and system for enhancing the endurance of memory cells |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1680744A2 true EP1680744A2 (de) | 2006-07-19 |
Family
ID=34521547
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP04795162A Withdrawn EP1680744A2 (de) | 2003-10-20 | 2004-10-13 | Verfahren und system zum verbessern der robustheit von speicherzellen |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US7082490B2 (de) |
| EP (1) | EP1680744A2 (de) |
| CN (1) | CN1871592A (de) |
| TW (1) | TW200518103A (de) |
| WO (1) | WO2005043589A2 (de) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7082490B2 (en) * | 2003-10-20 | 2006-07-25 | Atmel Corporation | Method and system for enhancing the endurance of memory cells |
| US20060282610A1 (en) * | 2005-06-08 | 2006-12-14 | M-Systems Flash Disk Pioneers Ltd. | Flash memory with programmable endurance |
| US7977822B2 (en) * | 2007-11-05 | 2011-07-12 | Arm Limited | Dynamically changing control of sequenced power gating |
| US7876616B2 (en) * | 2007-11-12 | 2011-01-25 | Cadence Design Systems, Inc. | System and method for wear leveling utilizing a relative wear counter |
| US8149607B2 (en) | 2009-12-21 | 2012-04-03 | Sandisk 3D Llc | Rewritable memory device with multi-level, write-once memory cells |
| KR102005888B1 (ko) | 2012-07-06 | 2019-07-31 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 |
| KR102282962B1 (ko) * | 2014-12-22 | 2021-07-30 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
| US10014056B1 (en) * | 2017-05-18 | 2018-07-03 | Sandisk Technologies Llc | Changing storage parameters |
| US10657051B2 (en) * | 2017-12-14 | 2020-05-19 | Macronix International Co., Ltd. | Memory device and operation method thereof |
| CN112230845B (zh) * | 2019-07-15 | 2024-06-14 | 美光科技公司 | 存储器子系统中基于子组写计数的损耗均衡 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US184432A (en) * | 1876-11-14 | Improvement in removable bottoms for puddling-hearths | ||
| IT1214246B (it) | 1987-05-27 | 1990-01-10 | Sgs Microelettronica Spa | Dispositivo di memoria non volatile ad elevato numero di cicli di modifica. |
| US4803707A (en) | 1987-12-21 | 1989-02-07 | Ncr Corporation | Nonvolatile electronic odometer with excess write cycle protection |
| US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
| JP3155847B2 (ja) | 1993-01-13 | 2001-04-16 | 株式会社東芝 | 不揮発性半導体記憶装置およびこれを用いた記憶システム |
| US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
| US5367484A (en) | 1993-04-01 | 1994-11-22 | Microchip Technology Incorporated | Programmable high endurance block for EEPROM device |
| KR960030252A (ko) | 1995-01-24 | 1996-08-17 | 구자홍 | 반도체 메모리소자 및 그의 데이타 쓰기 방법 |
| US5963970A (en) | 1996-12-20 | 1999-10-05 | Intel Corporation | Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields |
| US5793684A (en) | 1997-07-10 | 1998-08-11 | Microchip Technology Incorporated | Memory device having selectable redundancy for high endurance and reliability and method therefor |
| US6000006A (en) | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
| US6400634B1 (en) | 1997-12-23 | 2002-06-04 | Macronix International Co., Ltd. | Technique for increasing endurance of integrated circuit memory |
| FR2787601A1 (fr) | 1998-12-22 | 2000-06-23 | Gemplus Card Int | Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire |
| US6157570A (en) | 1999-02-04 | 2000-12-05 | Tower Semiconductor Ltd. | Program/erase endurance of EEPROM memory cells |
| US6493269B1 (en) | 2001-05-31 | 2002-12-10 | Sandisk Corporation | Dual cell reading and writing technique |
| US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
| US7082490B2 (en) * | 2003-10-20 | 2006-07-25 | Atmel Corporation | Method and system for enhancing the endurance of memory cells |
-
2003
- 2003-10-20 US US10/690,082 patent/US7082490B2/en not_active Expired - Lifetime
-
2004
- 2004-10-13 WO PCT/US2004/033962 patent/WO2005043589A2/en not_active Ceased
- 2004-10-13 CN CNA2004800307654A patent/CN1871592A/zh active Pending
- 2004-10-13 EP EP04795162A patent/EP1680744A2/de not_active Withdrawn
- 2004-10-20 TW TW093131740A patent/TW200518103A/zh unknown
-
2006
- 2006-06-14 US US11/453,953 patent/US7257668B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2005043589A2 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2005043589A3 (en) | 2006-06-01 |
| US7257668B2 (en) | 2007-08-14 |
| US20060236044A1 (en) | 2006-10-19 |
| US7082490B2 (en) | 2006-07-25 |
| CN1871592A (zh) | 2006-11-29 |
| US20050086440A1 (en) | 2005-04-21 |
| TW200518103A (en) | 2005-06-01 |
| WO2005043589A2 (en) | 2005-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9281066B2 (en) | Dynamically configurable MLC state assignment | |
| EP0880782B1 (de) | Mehrfaches schreiben pro einzel-löschung für einen nichtflüchtigen speicher | |
| US6222763B1 (en) | Nonvolatile semiconductor memory and read method | |
| CN100492539C (zh) | 写入多值数据的非易失性半导体存储装置 | |
| KR101807346B1 (ko) | 비휘발성 메모리에 비트 스캔 회로 및 방법 | |
| US8730724B2 (en) | Common line current for program level determination in flash memory | |
| US8719491B2 (en) | Encoding flash memory data with a randomizer using different seeds for different sectors | |
| US20090091991A1 (en) | Apparatuses and methods for multi-bit programming | |
| US6792065B2 (en) | Method for counting beyond endurance limitations of non-volatile memories | |
| TW201413723A (zh) | 在具有多記憶體狀態的非依電性記憶體單元中執行操作之設備及方法 | |
| US7082490B2 (en) | Method and system for enhancing the endurance of memory cells | |
| KR20080101568A (ko) | 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법 | |
| CN102937929A (zh) | 多位/单元非挥发性内存的测试方法及多模式配置方法 | |
| US10340023B1 (en) | Method and system for determining bit values in non-volatile memory | |
| US11101009B1 (en) | Systems and methods to convert memory to one-time programmable memory | |
| EP3522166B1 (de) | Programmierung von speicherzellen | |
| JP3071435B2 (ja) | 多ビット一致回路 | |
| CN117316212A (zh) | 存储器装置及其操作方法 | |
| CN103678159B (zh) | 数据储存装置及其数据写入方法 | |
| JP2001014874A (ja) | 不揮発性半導体メモリ装置 | |
| EP1215679A1 (de) | Programmierverfahren für eine Mehrpegelspeicherzelle |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
| AX | Request for extension of the european patent |
Extension state: AL HR LT LV MK |
|
| 17P | Request for examination filed |
Effective date: 20060714 |
|
| RBV | Designated contracting states (corrected) |
Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB IT |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
| 18W | Application withdrawn |
Effective date: 20091103 |