TWI313467B - Methods and systems for writing non-volatile memories for increased endurance - Google Patents

Methods and systems for writing non-volatile memories for increased endurance Download PDF

Info

Publication number
TWI313467B
TWI313467B TW95149570A TW95149570A TWI313467B TW I313467 B TWI313467 B TW I313467B TW 95149570 A TW95149570 A TW 95149570A TW 95149570 A TW95149570 A TW 95149570A TW I313467 B TWI313467 B TW I313467B
Authority
TW
Taiwan
Prior art keywords
memory
value
memory system
segments
rti
Prior art date
Application number
TW95149570A
Other languages
Chinese (zh)
Other versions
TW200741739A (en
Inventor
Yosi Pinto
Geoffrey S Gongwer
Oren Honen
Original Assignee
Sandisk Corporatio
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US11/321,217 external-priority patent/US7245556B1/en
Priority claimed from US11/320,916 external-priority patent/US20070150644A1/en
Application filed by Sandisk Corporatio filed Critical Sandisk Corporatio
Publication of TW200741739A publication Critical patent/TW200741739A/en
Application granted granted Critical
Publication of TWI313467B publication Critical patent/TWI313467B/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/40Monitoring; Error detection; Preventing or correcting improper counter operation
    • H03K21/403Arrangements for storing the counting state in case of power supply interruption

Description

1313467 九、發明說明: 【發明所屬之技術領域】 本發明-般係關於大量數位資料儲存系統,更明癌地 說,係關於在需要更高耐久性位準的情況下使用有限耐久 性的記憶體之系統與方法。 【先前技術】 非揮發性記憶體系統(例如’ EEPRC>M記憶體儲存系統或 是快閃記憶體儲存系統)的使用漸漸提昇,因為此等記憶 體系統具有精簡的實體尺寸,且非揮發性記憶體具有反覆 重新程式化的能力。快閃記憶體儲存系統的精簡實體尺寸 有助於此等儲存系統被用在越來越普及的裝置之中。使用 快閃S己憶體儲存系統的裝置包含,但不限於,數位相機、 數位攝錄像機、數位音樂播放器、手持式個人電腦、以及 全球定位裝置。反覆重新程式化快閃記憶體儲存系統中内 含之非揮發性記憶體的功能則使得快閃記憶體儲存系統可 被使用且被重覆使用。 雖然非揮發性記憶體(或更明確地說係非揮發性記憶體 單元,例如EEPI10M或快閃記憶體系統内的非揮發性記憶 體単元)了被反覆地程式化與抹除,不過,每個記憶體單 元或實體位置於其耗損之前均僅可被抹除特定次數。於特 定系統中’一記憶體單元在該單元被視為無法被使用之前 可被抹除高達約一萬次。於其它系統中,一記憶體單元在 "亥單元被視為耗損之前可被抹除高達約十萬次,甚至高達 一百萬次。當一記憶體單元損耗從而對該快閃記憶體系統 117594.doc 1313467 之王邙儲存體積中的一區段造成使用損失或是效能的嚴重 降低時,β亥快閃記憶體系統的使用者便可能受到負面影 響,舉例來說’會損失已儲存的資料或是無法儲存資料。 快閃記憶體系統内已損耗的記憶體單元或實體位置會 取決於每一個該等記憶體單元被程式化的頻率而改變。倘 右:記憶體單元,或更-般的說法係-記憶體元件,僅被 程式化次然後便未再被重新程式化的話,那麼與該記憶 體單元有關㈣耗便通常會非常的低n倘若該記憶1313467 IX. DESCRIPTION OF THE INVENTION: TECHNICAL FIELD OF THE INVENTION The present invention relates generally to a large number of digital data storage systems, more clearly, to the use of memory with limited durability in situations where higher durability levels are required. System and method of body. [Prior Art] The use of non-volatile memory systems (such as 'EEPRC> M memory storage systems or flash memory storage systems) is increasing because these memory systems have a compact physical size and are non-volatile. Memory has the ability to repeatedly reprogram. The compact physical size of the flash memory storage system facilitates the use of such storage systems in increasingly popular devices. Devices that use the flash memory system include, but are not limited to, digital cameras, digital video cameras, digital music players, handheld personal computers, and global positioning devices. The function of repeatedly reprogramming the non-volatile memory contained in the flash memory storage system allows the flash memory storage system to be used and reused. Although non-volatile memory (or more specifically non-volatile memory cells, such as EEPI10M or non-volatile memory cells in flash memory systems) is repeatedly programmed and erased, each A memory cell or entity location can only be erased a certain number of times before it is consumed. In a particular system, a memory cell can be erased up to about 10,000 times before the cell is considered unusable. In other systems, a memory cell can be erased up to about 100,000 times, or even up to one million times, before the "Hai unit is considered to be wasted. When a memory cell is depleted to cause a loss of use or a significant decrease in performance in a segment of the memory volume of the flash memory system 117594.doc 1313467, the user of the beta flash memory system May be negatively affected, for example, 'will lose stored data or can not store data. The loss of memory cells or physical locations within the flash memory system will vary depending on the frequency at which each of the memory cells is programmed. If the right: memory unit, or more generally the system-memory component, is only programmed and then not reprogrammed, then it is related to the memory unit. (4) The consumption is usually very low. If the memory

體單元被反覆地寫人與抹除的話,那麼與該記憶體單元有 關的損耗便通常會非常的高。當主機(舉例來說,存取或 使用-快閃記憶體系統的系統)使用邏輯區塊位址(lba)來 存取被儲存在快閃記憶體系統中的資料時,倘若一主機反 覆地使用相同的LBA來寫入與複寫資料的話,那麼該快閃 記憶體系統内相同的實體位置或記憶體單讀會被反覆地 寫入與抹除,熟習本技術的人士便會明白。 體單元的存在通常 。除了和已損耗記 當未損耗的記憶鹘 快閃記憶體系統的 ,當於一快閃記憶 時,該快閃記憶遡 記憶體系統中仍有 當區段記憶體單元有效地損耗而其 地未損耗時,那麼,該等已損耗記憶 連累到該快閃記憶體系統的整體效能 體單元本身有關的效能會下降以外, 元的數置不足以儲存所希資料時,該 體效能亦可能會受到負面影響。通常 系統之中出現大量已損耗記憶體單元 統便可被視為無法使用,即使該快閃 多其它記憶體單元相對地未損耗亦然 117594.doc 1313467 ㈣限制可能會侷限具有雷同性質的非揮發性記憶體使 用在所需要的财久性位準超過該記憶體之安全壽命的應用 中。舉例來說’經常會希望在一記憶卡系統的控制器具有 非揮發性記憶體之形式,用於作為-計數器來監視該系統 :的作業。就此來說’該控制器上的非揮發性記憶體所進 行的寫入或抹除/寫人循環可能會遠高於該記憶體區段中 的其它記憶單元。結果,倘若係利用和該記憶體相同的記If the body unit is written and erased repeatedly, then the loss associated with the memory unit is usually very high. When a host (for example, a system that accesses or uses a flash memory system) uses a logical block address (lba) to access data stored in a flash memory system, if a host repeatedly If the same LBA is used to write and rewrite the data, then the same physical location or memory single read in the flash memory system will be written and erased repeatedly, as will be appreciated by those skilled in the art. The existence of a body unit is usually. In addition to the memory 鹘 flash memory system that has been lost and lost, when in a flash memory, the flash memory 遡 memory system still has an effective loss of the segment memory cell. In the case of loss, then the performance of the lossy memory that is involved in the overall performance of the flash memory system is reduced. If the number of elements is insufficient to store the data, the performance may also be affected. Negative impact. Usually, a large number of lost memory cells in the system can be regarded as unusable, even if the flash is more than other memory cells are relatively not worn out. 117594.doc 1313467 (4) Limitations may limit non-volatile properties with similar properties Sexual memory is used in applications where the required financial level exceeds the safe life of the memory. For example, it is often desirable to have a controller in a memory card system in the form of a non-volatile memory for use as a counter to monitor the operation of the system. In this regard, the write or erase/write cycle performed by the non-volatile memory on the controller may be much higher than other memory cells in the memory segment. As a result, if the same record as the memory is used

憶體技術所形成的話’那麼該控制器上的非揮發性記憶體 便很可月b會决速地損耗,因而在該主快閃記憶體區段損耗 之前便會終止或侷限該記憶體系統的運作。進一步言之, 因為該控制器上的任何非揮發性記憶體可能非常地小,所 以’所以’對再映射以及用於增長壽命的其它缺陷管理技 術的寬容度會比較低。 所以’需要-種用於改良有限壽命之非揮發性記憶體之 生P的方法與ax備。雖然技術的演進已經改良此等記憶體 元件的典型耐久性’不過,進一步增長此等記憶體的安全 壽命仍會有眾多應用因而獲益良多。 【發明内容】 本發明係關於一種以增加一記憶體技術之耐久性的方式 將資料(例如計數或暫存器值)儲存在一非揮發性記憶體之 上的系統與方法。該計數(或暫存器值)會被編碼成一二元 計數,其係由數個欄位所組成,當該計數遞增時,僅有單 一攔位會改變。根據具體實施例,該欄位可能僅係單一位 元或是一更大的粒度,例如一位元組或是可於該處存取該 117594.doc 1313467 α體的其匕非常小型的寫入精。大 可透過更大量的位元來存取 “己隐體 更新的片斷會被複寫m 僅有那些要被 該等變化均勻地分散至等到完整的損耗量。藉由將 - 刀政至荨欄位(例如循環式地寫入它 ㈣倘若_個此等欄㈣話,每—個攔位便僅會在每隔 N-人遞增時才會改變。接著便可將該等攔位儲存在具有n 個可個別存取之非揮發性記憶體區段的—對應組之中。因If the memory technology is formed, then the non-volatile memory on the controller can be quickly depleted, so that the memory system is terminated or limited before the main flash memory segment is worn out. Operation. Further, because any non-volatile memory on the controller can be very small, the tolerance of 'and' for remapping and other defect management techniques for increased lifetime will be lower. Therefore, there is a need for a method for improving the lifetime of non-volatile memory of non-volatile memory with ax. While the evolution of technology has improved the typical durability of these memory components, the further increase in the safe life of such memory has resulted in a number of applications that have benefited. SUMMARY OF THE INVENTION The present invention is directed to a system and method for storing data (e.g., count or scratchpad values) on a non-volatile memory in a manner that increases the durability of a memory technology. The count (or scratchpad value) is encoded into a binary count consisting of several fields. When the count is incremented, only a single stop will change. Depending on the particular embodiment, the field may be a single bit or a larger granularity, such as a one-tuple or a very small write that can access the 117594.doc 1313467 alpha body there. fine. It is possible to access a larger number of bits to access the "hiddenly updated segments will be overwritten m only those that are evenly dispersed by the changes until the complete loss. By - will - knife to the field (For example, write it in a loop (4). If _ such columns (4), each block will only change every N-person increment. Then you can store the blocks in n One of the corresponding groups of non-volatile memory segments that can be individually accessed.

為此作法讓—給定的此類記憶體區段僅會在每隔N個計數 時才會被複寫,所以,該計數器的壽命便會比該特殊記憶 體技術的固有壽命延長N倍。 舉例來說,一示範性具體實施例會使用一組具有複數個 可個別存取之位元組大小的記憶體區段,每一個位元組 (或是僅為其一區段)係用於該經編碼計數的每一個攔位。 另一組具體實施例則使用一位元式可存取EEpR〇M記憶 體。接著’該計數便會被編碼於該等可個別存取的攔位之 中’俾使當該計數遞增時,該等攔位的複寫會均勻地分 散。此項技術可用各種應用之中,例如,一用於形成在— 非揮發性記憶體(例如一快閃記憶卡)之控制器之上的—小 型非揮發性EEPROM記憶體中所保持的控制資料的計數 器。此控制資料可能會被頻繁地更新,因而相較於被儲存 在該快閃記憶體之中的使用者資料,其可能會快速地損_ 記憶單元。使用本發明的技術,便可延長用於儲存此頻繁 更新資料的記憶體的壽命’同時仍可使用和用於儲存使用 者資料的記憶體單元相同的技術。 117594.doc 1313467 本發明於下”的示範性範 。一:=:= :申明案、文早、其它專利公告案、以及其 基於所有目的而全部以引用的方式、、 【實施方式】 中。 Α·記憶體組織與基本定義 本發明係關於在可能會因為抹 P ^ y ,' /、寫入循環次數增加而 隨者時間降低效能的記憶體季 統中增加耐久性。雖然本文 所述之具體實施例說明的係以非滁 ㈣係以非揮發性EEPR0M為主的記 :”不過’本發明的各項觀點仍可應用至容易"損 任何類型儲存媒體。舉例來說,_新穎類型的非揮 山己憶體技術便係相變記憶體。藉由改變一給定材料的 相t便可儲# f訊。在美國專利中請案第刪4U79號中 有提出此等系統的數個其它範例。此等系統還是會有”損 耗的傾向’當該儲存媒體的循環次數增加時,該媒體儲 存資訊的能力便會越低。本發明可輕易地應用至此等技 術。 於一具體實施例中’快閃記憶體儲存系統内的非揮發性 記憶體,存單元可被反覆地程式化與抹除,㈣,每一個 體單元在其損耗之前均僅可被抹除特定次數。當一記 憶體單元損耗時包含該等祕記憶體單元的快閃記憶 體儲存系統之全部儲存體積中的區段有關的效能便會嚴重 :低儲存在該區段之中的資料便可能會損失’或者其可 此a…、去將貝料儲存在該區段之中。已經知道有數種方法 117594.doc 10- 1313467 :改良記憶體壽命’例如’㈣"較溫和,,的操作數值或演 算法(例如智慧型抹除或程式化過程中所用者)、損耗平準 .法(舉例來說,本文以引用的方式完整併入之美國專利申 * 請案第10/686,399號中所述者)、使用邊界值(舉例來說, 本文以引用的方式完整併人之美时㈣第5,532,962號中 所述者)、或是於二元模式中來操作多位準記憶體(舉例來 說,本文以引用的方式完整併入之美國專利案第6,456,528 _ !虎中所述者)。雖然該些與其它技術能夠&良記隐體的持 續長度,不過,其最終仍會出現損耗。倘若該記憶體的一 區段係專門用在需要比由相同技術所形成之該記憶體系統 其它記憶體單元還頻繁被複寫的應用中的話尤為確實。 先參考圖la來說明一包含一非揮發性記憶體裝置(例如 一 Compact Flash記憶卡)的通用主機系統。一主機或電腦 系統100通常包含一系統匯流排1〇4,其會允許一微處理器 1〇8、一隨機存取記憶體(RAM) 112、以及輸入/輸出電路 , 116進行通信。應該明白的係,主機系統1〇〇通常可能包含 其它組件,舉例來說,顯示裝置以及網路襞置,不過,為 達解釋目的’圖中並未顯示。 一般來說,主機系統1〇〇能夠捕捉或儲存資訊,其包 含,但不限於:靜態影像資訊、聲頻資訊、以及視訊影像 資訊。此資訊可被即時捕捉’並且可以無線的方式被傳送 至主機系統100。雖然主機系統1〇〇實質上可能係任何系 統’不過,主機系統100通常係下面的系統,例如,數位 相機、視訊相機、蜂巢式通信裝置、可攜式計算裝置、聲 117594.doc -11 - 1313467 頻播放器、或是視訊播放器。不過,應該明白的係,主機 系統100實質上通常可為用於儲存資料或資訊以及满取資 .訊的任何系統。其亦可為-僅捕捉資料或僅擷取資 .的系、、统也就7^ ’主機系 '统1 〇〇可能係、一儲存資料的專 屬系統’或者主機系統100可能係一讀取資料的專屬系 統。舉例來說,主機系統100可能係一被配置成僅用於寫 入或儲存資料的記憶體寫入器。或者,主機系統100亦可 # ㉟係MP3播放器之類的裝置,其通常會被配置成用於讀取 或擁取資料,而非用於捕捉資料。 一非揮發性記憶體裝置12〇係被配置成用於介接匯流排 104以儲存資訊。一選配的介面電路區塊可讓非揮發性 記憶體裝置120與匯流排1()4進行通信。舉例來說,若存在 時,介面電路區塊130(例如,及介接)會用來減輕匯流排 104上的負載。非揮發性記憶體裝置12〇包含非揮發性記憶 體124以及一記憶體控制系統128。於一具體實施例中,非 • 揮發性記憶體裝置120可被實施在單一晶片或一晶粒之 上或者非揮發性s己憶體裝置120亦可被設計在一多晶 片模組之上,或是被實施成多個離散組件。下文將參考圖 lb來更詳細說明一非揮發性記憶體裝置12〇的其中一具體 實施例。非揮發性記憶體裝置12〇實質上可為任何合宜的 非揮發性記憶體裝置’舉例來說,一可移除式記憶卡或一 嵌入式子系統。 非揮發性記憶體124會被配置成用以儲存資料,以便讓 資料可在必要時被存取與讀取。儲存資料、讀取資料、以 117594.doc -12· 1313467 於 記 及抹除資料的過程通常係受控於記憶體控制系統128。 一具體實施例中,記憶體控制系統128會管理非揮發性 憶體124的作業,以便藉由基本上讓非揮發性記憶體124的 各區段實質上會均等地損耗而實質上最大化其壽命。To do this, the given memory segment will only be overwritten every N counts, so the lifetime of the counter will be N times longer than the inherent lifetime of the particular memory technology. For example, an exemplary embodiment would use a set of memory segments having a plurality of individually accessible byte sizes, each byte (or just a segment thereof) being used for the Each block is counted by the code. Another set of specific embodiments uses a one-dimensional access to the EEpR〇M memory. Then the 'count will be encoded in the individually accessible blocks' so that when the count is incremented, the overwriting of the blocks will be evenly spread. This technique can be used in a variety of applications, such as control data maintained in small non-volatile EEPROM memory used to form a controller on a non-volatile memory such as a flash memory card. Counter. This control data may be updated frequently, so it may quickly damage the memory unit compared to the user data stored in the flash memory. Using the techniques of the present invention, the lifetime of the memory used to store this frequently updated material can be extended while still using the same techniques as the memory unit used to store the user data. 117594.doc 1313467 The exemplary embodiment of the present invention is as follows: one: =:=: the declaration, the text, the other patent publications, and all of them are cited by way of all purposes, in the [embodiment]. Α·MEMORY ORGANIZATION AND BASIC DEFINITIONS The present invention relates to increasing durability in a memory genre that may have a reduced performance over time due to an increase in the number of write cycles of P ^ y , ' / , although described herein. The specific embodiments are described as non-volatile (IV) based on non-volatile EEPROM: "But the views of the present invention are still applicable to the easy "loss of any type of storage medium. For example, the novel type of non-swinging technology is phase change memory. By changing the phase t of a given material, it is possible to store the #f signal. Several other examples of such systems are presented in U.S. Patent No. 4 U79. Such systems will still have a "loss of loss". As the number of cycles of the storage medium increases, the ability of the medium to store information will be lower. The present invention can be readily applied to such techniques. In one embodiment, 'fast Non-volatile memory in the flash memory storage system, the memory unit can be repeatedly programmed and erased, (4), each individual unit can only be erased a certain number of times before its loss. When a memory unit is lost The performance associated with the segments in the entire storage volume of the flash memory storage system containing the secret memory cells can be severe: data stored in the segment may be lost 'or it may be a ..., to store the bait in this section. There are several ways to know 117594.doc 10- 1313467: Improve memory life 'eg '(four) " milder, operational values or algorithms (eg smart wipes) In addition to or used in the stylization process, the loss leveling method (for example, as described in the U.S. Patent Application Serial No. 10/686,399, which is incorporated herein by reference) Boundary values (for example, as described in the context of the complete and esoteric (4) No. 5, 532, 962), or in a binary mode to operate multiple levels of quasi-memory (for example, The method is fully incorporated in U.S. Patent No. 6,456,528, which is incorporated herein by reference. Although these and other techniques are capable of <RTI ID=0.0>> A segment is particularly useful in applications where it is required to be frequently overwritten by other memory cells of the memory system formed by the same technique. First, a non-volatile memory device is described with reference to FIG. A general purpose host system such as a Compact Flash memory card. A host or computer system 100 typically includes a system bus 1 〇 4 that allows a microprocessor 1 〇 8, a random access memory (RAM) 112, And the input/output circuits, 116 for communication. It should be understood that the host system 1〇〇 may typically contain other components, for example, display devices and network devices, however, The purpose of the explanation is not shown in the figure. Generally speaking, the host system can capture or store information, including but not limited to: still image information, audio information, and video image information. This information can be captured instantly. And can be transmitted to the host system 100 in a wireless manner. Although the host system 1 may be essentially any system 'however, the host system 100 is usually the following system, for example, a digital camera, a video camera, a cellular communication device, Portable computing device, sound 117594.doc -11 - 1313467 frequency player, or video player. However, it should be understood that the host system 100 can be generally used for storing data or information and full funding. Any system. It can also be a system that only captures data or only collects funds. The system is also a system that can be used to store data, or the host system 100 may be read. The exclusive system of information. For example, host system 100 may be a memory writer configured to write or store only data. Alternatively, host system 100 may also be a device such as a 35-series MP3 player that is typically configured to read or grab material rather than capture data. A non-volatile memory device 12 is configured to interface with the bus bar 104 for storing information. An optional interface circuit block allows non-volatile memory device 120 to communicate with bus 1()4. For example, interface circuit block 130 (e.g., and interface), if present, can be used to mitigate the load on bus bar 104. The non-volatile memory device 12A includes a non-volatile memory 124 and a memory control system 128. In one embodiment, the non-volatile memory device 120 can be implemented on a single wafer or a die or the non-volatile memory device 120 can also be designed on a multi-chip module. Or implemented as multiple discrete components. One of the specific embodiments of a non-volatile memory device 12A will be described in more detail below with reference to FIG. The non-volatile memory device 12" can be substantially any suitable non-volatile memory device', for example, a removable memory card or an embedded subsystem. The non-volatile memory 124 is configured to store data so that the data can be accessed and read as necessary. The process of storing data, reading data, and erasing data with 117594.doc -12-1313467 is generally controlled by memory control system 128. In one embodiment, the memory control system 128 manages the operation of the non-volatile memory 124 to substantially maximize its loss by substantially causing the segments of the non-volatile memory 124 to be substantially equally lost. life.

非揮發性记憶體裝置12〇通常會被描述成包含一記憶體 控制系統128,也就是’一控制器。明確地說,非揮發性 記憶體裝置120可能包含複數個離散晶片,以達非揮發性 記憶體124與控制器128的功能。舉例來說,雖然非揮發性 記憶體裝置包含’但不限於可被實施在一離散晶片上的ΜThe non-volatile memory device 12A will generally be described as including a memory control system 128, i.e., a controller. In particular, the non-volatile memory device 120 may include a plurality of discrete wafers to function as the non-volatile memory 124 and the controller 128. For example, although non-volatile memory devices include, but are not limited to, 可 that can be implemented on a discrete wafer

外’該控制器亦可能係位在該主機系統之上,而—非揮發 卡、CompactFlash卡、MultiMedia卡、以及 Seeure 卡,但是,其它的非揮發性記憶體裝置卻可能不包含被設 計在一離散晶片上的控制器。於非揮發性記憶體裝置12〇 不包含離散記憶體晶片與控制器晶片的一具體實施例中, 性記憶體裝置120則會透過一連接器或其它類型的介面被 連接至該主機系統上的控制器。無論如何,本發明的範疇 涵蓋所有不同形式與組合的記憶體系統,其中,一記憶體 媒體内的損耗位準則係受控於一控制系統。舉例來說,該 控制器可被實施在該主機系統的微處理器上的軟體内。 現在將參考圖㈣更詳細說明一非揮發性記憶體裝置 12〇的-範例。應該明白的係,圖lb所示的係含有單一快 閃記憶體晶片i 2 4以及一離散控制器i 2 8的非揮發性記憶體 裝置12G的-具體實施例。記憶體124可能係_記憶體單元 117594.doc -13- 1313467 陣列以及形成在一半導體基板上的合宜定址與控制電路系 統’其中’係藉由將二或多個電荷位準其中—者儲存在咳 等記憶體單元的個別記憶體元件之中或是將電荷分散在該 等記憶體單元的個別記憶體元件之中而將一或多個資料位 元儲存在該等個別記憶體單元之中。一非揮發性快閃可電 抹除程式化唯讀記憶體(EEPR0M)便係用於此等系統的一 常見記憶體類型的一範例。 於所述的具體實施例中,控制器128會在一匯流排15上 與一使用該記憶體系統的主電腦或其它系統通信,用以儲 存資料。匯流排15通常係圖la之匯流排ι〇4的一區段。控 制系統128還會控制記憶體124(其可能包含一記憶體單元 陣列11)的作業,用以寫入該主機所提供的資料,讀取該 主機所要求的資料,以及實施各項内部管理功能以操作記 憶體124。控制系統128可能包含一具有相關記憶體、各項 邏輯電路、或是類似元件的通用用途微處理器或微控制 器。通常還會包含一或多個狀態機,用以控制常式效能。 s己憶體單元陣列11通常係透過位址解碼器丨7由控制系統 128來定址。解碼器17可將正確的電壓施加至字元與位元 線陣列11,以便將資料程式化至控制系統128所定址的一 群記憶體單元之中、從控制系統128所定址的一群記憶體 單兀之中讀取資料、或是抹除控制系統128所定址的一群 記憶體單元。額外的電路19可能包含:資料暫存器,用以 暫時儲存要被讀取或寫入的資料;程式化驅動器,其會取 決於要被程式化至一經定址記憶體單元群之中的資料來控 117594.doc -14- 1313467Externally, the controller may also be located on the host system, while - non-volatile cards, CompactFlash cards, MultiMedia cards, and Seeure cards, but other non-volatile memory devices may not be designed to be included in one Controller on discrete wafers. In a specific embodiment in which the non-volatile memory device 12 does not include a discrete memory chip and a controller chip, the memory device 120 is coupled to the host system via a connector or other type of interface. Controller. In any event, the scope of the present invention encompasses all different forms and combinations of memory systems in which loss bit criteria within a memory medium are controlled by a control system. For example, the controller can be implemented in a soft body on the microprocessor of the host system. An example of a non-volatile memory device 12A will now be described in more detail with reference to Figure (4). It should be understood that the embodiment shown in Figure lb contains a single flash memory chip i 24 and a non-volatile memory device 12G of a discrete controller i 28 . The memory 124 may be an array of memory cells 117594.doc - 13-1313467 and a suitable addressing and control circuitry 'on which is formed on a semiconductor substrate by storing two or more charge levels therein Among the individual memory elements of the memory cell, such as cough, one or more data bits are stored in the individual memory cells by dispersing charges among the individual memory elements of the memory cells. A non-volatile flash eraseable stylized read-only memory (EEPR0M) is an example of a common memory type used in such systems. In the particular embodiment described, controller 128 communicates with a host computer or other system using the memory system on a bus 15 for storing data. The busbar 15 is typically a section of the busbar 〇4 of FIG. Control system 128 also controls the operation of memory 124 (which may include a memory cell array 11) for writing data provided by the host, reading the data required by the host, and implementing various internal management functions. To operate the memory 124. Control system 128 may include a general purpose microprocessor or microcontroller with associated memory, various logic circuits, or the like. It usually also contains one or more state machines to control the performance of the routine. The suffix cell array 11 is typically addressed by the control system 128 via the address decoder 丨7. The decoder 17 can apply the correct voltage to the byte and bit line array 11 to program the data into a group of memory cells addressed from the control system 128 to a group of memory cells addressed by the control system 128. The data is read or erased by a group of memory cells addressed by the control system 128. The additional circuitry 19 may include: a data register to temporarily store the data to be read or written; a stylized driver that depends on the data to be programmed into the addressed memory cell group. Control 117594.doc -14- 1313467

制被施加至該陣列中各元件的電麼;以及麵,用以控 制該等各種電塵與控制信號的定序。該些支援與控制電路 19可能還包含用於計數器或其它控制資訊的特定數量非揮 發性記憶體。電路19可能還包含感測放A||及用於須從一 經定址記憶體單元群中讀取資料的必要電路。要被程式化 至陣列11的資料或是最近從陣糾中讀出的資料通常會被 儲存在控制系統128内的一緩衝記憶體21之中。控制系統 128經常還含有各種暫存器,用於暫時儲存命令與狀態資 料以及類似的資料。控制系統128可能還包含特定數量的 非揮發性記憶體2 5,其中能夠儲存即使在關閉電力時仍希 望維持的各種控制資料。於其它情況中,控制系統128可 在非揮發性記憶體124中保有任何此等永久記錄。 於一特殊的具體實施例中,陣列u會被分成大量的記憶 體單元BLOCKO至N。於該較佳具體實施例中,一區塊係 一抹除單位,要被一起抹除的最小數量記憶體單元。每個 區塊通常會被分成數個記憶體頁,同樣如圖lb中所示。一 記憶體頁係最小的程式化單位,而一或多個使用者資料區 段通常會被儲存在每一記憶體頁内。一區段係該主機定址 或傳輸至/自該非揮發性記憶體的最小邏輯資料單元。於 碟片驅動器應用中’此通常係5 12個位元組。特定的非揮 發性記憶體會允許進行區段記憶體頁程式化,其中,於第 一次程式化之後殘留在已抹除狀態中的個別位元可於後續 的記憶體頁程式化作業中被程式化,而不需要先抹除該記 憶體頁。區段多狀態記憶體甚至可在後續記憶體頁程式化 117594.doc -15· 1313467 作業中將已被程式化至較低程式化狀態中的位元程式化至 較高的狀態中。於該些記憶體中,可在不同的時間處程式 . 化複數個區段甚至部分區段。然而’ 一記憶體頁卻會維持 . 基本的程式化單位;其便係可被遮住且於稍後被程式化的 特定位元。本發明可應用於任何合宜的記憶體系統中,而 不論該等抹除、讀取及/或寫入的單位的實體實施方式為 何。 如所述具體實施例的圖1b中所示,一記憶體頁可能同時 包含使用者資料與管理資料。管理資料通常包含一從該記 憶體頁中所含的使用者資料中算出的錯誤校正碼(ECC), 且該ECC可能包含特定或所有管理資料。控制系統128的 一區段23會在資料要被程式化至陣列11之中時來計算該 ECC,並且還會在從該陣列丨丨中讀取資料時來檢查該 ECC »管理資料可能還包含:使用者資料的邏輯位址、記 憶體頁及/或區塊的實體位址、位址映射資訊、該實體區 • 塊所經歷的抹除循環次數、加密資訊、及/或其它統計資 訊或資料。區段或所有管理資料均可被儲存在每一記憶體 頁之中如圖lb中所示。或者,區段或所有管理資料亦可 被儲存在每一區塊内的一特定位置中,甚至還可被儲存在 與使用者資料分開的一區塊之中。 一貝料區段大多被包含在每一記憶體頁之中,不過,二 或多個區段亦可能會構成一記憶體頁,或者,一記憶體頁 亦可月t* J於區#又。舉例來說,美國專利案第I·」號 以及第5,430,859號便說明以記憶塊(chunk)為單位來程式 117594.doc -16· 1313467 化與讀取資料,其中,一記憶塊係一區段的一部分。於特 定的S己憶體系統中’一區段係内含於一記憶體頁之中,而 一頁則可形成一區塊。較常見的係,於NAND記憶體系統 中’ 一或多個區段係内含於每一記憶體頁之中,而8、 16、或32個憶體頁則會形成一區塊。於其它記憶體系統 中’區塊係由非常大量的記憶體頁所形成的,例如5 12、The circuitry is applied to the components of the array; and the faces are used to control the sequencing of the various electrical dust and control signals. The support and control circuitry 19 may also include a specific amount of non-volatile memory for counters or other control information. Circuit 19 may also include sense sink A|| and circuitry necessary for reading data from an address memory cell group. The data to be programmed into the array 11 or the data recently read from the array corrections is typically stored in a buffer memory 21 in the control system 128. Control system 128 also often contains various registers for temporarily storing command and status data and similar data. Control system 128 may also include a specific amount of non-volatile memory 25 in which various control data that are desired to be maintained even when power is turned off can be stored. In other cases, control system 128 can maintain any such permanent record in non-volatile memory 124. In a particular embodiment, array u is divided into a plurality of memory cells BLOCKO through N. In the preferred embodiment, a block is a minimum number of memory cells to be erased together. Each block is usually divided into several memory pages, as shown in Figure lb. A memory page is the smallest stylized unit, and one or more user data segments are typically stored in each memory page. A segment is the smallest logical data unit that the host addresses or transmits to/from the non-volatile memory. In a disc drive application, this is typically 5 12 bytes. Specific non-volatile memory allows for segment memory page stylization, where individual bits remaining in the erased state after the first stylization can be programmed in subsequent memory page stylization jobs. Instead of first erasing the memory page. The segment multi-state memory can even stylize the bits that have been programmed into the lower stylized state to a higher state in the subsequent memory page stylization 117594.doc -15· 1313467 job. In these memories, a plurality of sections or even sections can be programmed at different times. However, a memory page will maintain a basic stylized unit; it will be a specific bit that can be masked and later programmed. The invention is applicable to any suitable memory system, regardless of the physical implementation of the units of such erase, read and/or write. As shown in Figure 1b of the specific embodiment, a memory page may contain both user data and management data. The management profile typically contains an error correction code (ECC) calculated from the user profile contained in the memory page, and the ECC may contain specific or all management data. A section 23 of the control system 128 calculates the ECC when the data is to be programmed into the array 11, and also checks the ECC when reading data from the array. The management data may also contain : logical address of the user data, physical address of the memory page and/or block, address mapping information, number of erase cycles experienced by the physical area, block, encrypted information, and/or other statistical information or data. Sections or all management data can be stored in each memory page as shown in Figure lb. Alternatively, the section or all of the management data may be stored in a particular location within each block or even in a separate block from the user profile. A bedding segment is mostly contained in each memory page, however, two or more segments may also constitute a memory page, or a memory page may also be a month t* J in the region #又. For example, U.S. Patent Nos. I. and No. 5,430,859 describe the programming and reading of data in units of chunks, in which a block of memory is a segment. a part of. In a particular S memory system, a sector is contained in a memory page, and a page forms a block. More commonly, in a NAND memory system, one or more segments are contained in each memory page, and 8, 16, or 32 memory pages form a block. In other memory systems, 'blocks are formed by a very large number of memory pages, such as 5 12,

1024、甚至更多記憶體頁。區塊的數量會經過選擇,以便 為該記憶體系統提供所希的資料儲存容量。陣列丨丨通常會 被分成數個子陣列(圖中並未顯示),每一個陣列均含有該 等區塊的一比例,它們會彼此獨立地運作,以便在執行各 項δ己憶體作業時提高平行度。於前面所參考的美國專利案 第5,890,192號中便說明過多重子陣列的使用範例。 Β·增加耐久性的寫入方法 如上面所述,即使已有增長EEpR〇M、快閃 形式非揮發性記憶體之壽命的技術,不過,上 壽命仍然有限。此可能會限制此等記憶體用在需要= 全複寫作業次數之耐久性的應用中。以—可用於解釋本潑 明各項觀點的示範性具體實施例來說,可探討控制器」 上之非揮發性記憶體25或記憶體12()上之支 =具有小㈣揮發性記留—暫存值、_ = _用以追蹤一記憶體上之事件的計數器)、或是1它 編碼資料的情況。就此來說,其 : 憶==更頻繁地被更新。結果,即使此特殊用途的記 '非揮發性#憶體124之陣列11的儲存元件相同 117594.doc 1313467 的技術所形成,其仍會經歷大額的寫入/抹除循環次數並 且快速地損耗,因此,即使該陣列11仍具有很長的殘餘壽 命’其仍會使得該記憶體系統無法運作。此外,就此來 說,一計數器或雷同的特殊用途記憶體亦比較小,其可能 並不具有太多的餘裕空間來使用經常運用的特殊技術(耗 損平準或再映射等)以延長陣列11的可用壽命》 雖然本發明並不限用在一計數器之中,不過,這卻係一 用來解釋本發明各項觀點的合宜範例。更大體來說,其可 應用至其它形式的資料,因為區段主要觀點大多係關於以 適合依據格雷碼來編碼資料者雷同的方式來重新編碼資 料’因此,其便可被獨立地寫入分散在可存取的記憶體區 段上。舉例來說,下文討論的"計數器"一般可僅被視為係 一用於儲存利用所述技術來編碼之特定種類資料的暫存 器,所以,該暫存器中内含的,,計數”便通常僅係和一計數 器之循序遞增數值相反的特定編碼資料。舉例來說,該暫 存器可能正在儲存一差 數。因此,除了儲存一 組用於產生複數個加密密鑰的隨機1024, or even more memory pages. The number of blocks is selected to provide the data storage capacity for the memory system. The array 丨丨 is usually divided into sub-arrays (not shown), each of which contains a proportion of the blocks that operate independently of each other to improve when performing various δ mnemonics Parallelism. An example of the use of a multi-sub-array is described in U.S. Patent No. 5,890,192, which is incorporated herein by reference. Β·Writing method for increasing durability As described above, even if there is a technique of increasing the life of EEpR〇M, a flash-form non-volatile memory, the upper life is still limited. This may limit the use of such memory in applications that require the durability of the number of full-replication jobs. In the exemplary embodiment, which can be used to explain the various aspects of the present disclosure, the non-volatile memory 25 on the controller or the branch on the memory 12 can be discussed as having a small (four) volatility retention. - a temporary value, _ = _ used to track the counter of an event on a memory), or 1 where it encodes data. In this regard, its : recall == is updated more frequently. As a result, even if the storage element of the array 11 of the special-purpose 'non-volatile # memory 124 is the same as the technique of 117594.doc 1313467, it still experiences a large number of write/erase cycles and is rapidly depleted. Therefore, even if the array 11 still has a long residual life, it still renders the memory system inoperable. In addition, in this regard, a counter or similar special purpose memory is also relatively small, which may not have much margin to use the special techniques (loss leveling or remapping, etc.) that are often used to extend the usability of the array 11. Lifetime Although the invention is not limited to use in a counter, this is a convenient example for explaining the various aspects of the invention. More broadly, it can be applied to other forms of data, since most of the main points of the section are about re-encoding data in a way that is suitable for encoding data according to Gray code. Therefore, it can be written separately. On the accessible memory segment. For example, the "counter" discussed below may generally be considered only as a register for storing a particular type of material encoded using the techniques, so that the register contains, The "count" is usually only a specific encoded data that is inversely proportional to the sequential increment value of a counter. For example, the register may be storing a difference. Therefore, in addition to storing a set of random numbers for generating a plurality of encryption keys.

位元具體實施例中)或多位 117594.doc 1313467 兀欄位之中。因為每個位元僅在其被複寫時才會被抹除, 所此’便會減少該等位元之編號比例的變化。 本發明的示範性具體實施例包含單一位元可存取具體實 施例以及夕位元(例如一位元組)可存取具體實施例。何種 存取粒度位準較佳端視該項特殊應用以及各項考量(例 如,所需要的耐久性數額)(該數額可以所需要的耐久性位 準超出該等個別記憶體單元的耐久性位準的倍數來表示) X及所運用之5己憶體單元或陣列技術的技術性限制而定、。 單一位元存取能夠提供較大的壽命放大倍數;不過,此等 單一位70可存取非揮發性記憶體並不常用。理由係,單一 位兀存取非;^複雜且f要較大的面積,這些均可能係限制 因素。可增加計數器之耐久性的另一種方法係使用標準、 全谷量的非揮發性記憶體,但卻僅使用數個離 資料寫入分散在數個模組上。不過,藉由將計數器寫^ 取分散在兩個全容量模組上而有了兩倍改良的耐久性時, 即使係—非常有限的計數器仍會需要非常龐大數額的記情 體。於特定觀點中,本發明έ士人箭 " 述兩種相反方式的觀點 :引進一種新的方法’其利用-新型計數方法的優點而允 許使用低耐久性非揮發性記憶體。 ” =確地說,根據一觀點,於—具體實施例中,本於明 ::用可在-小粒度上存取的非揮發性記憶體,例如‘有 早Τ兀存取,或具有多位元存取,但卻僅針對 元記憶體可在與此粒度相同的準位處㈣取 一般來說,其可透過更大數量的位元來存取, 117594.doc •19- 1313467 有要被更新的片斷才 斷+ .、。此過程中被存取的其它片 會具有和此窝入片斷相同的損耗位準。 下文將先討論—a . -一 置但卻係多位元(舉例來說’ 8位 疋)存取的記憶體的示範 _可能具有—少量、256: ::!。舉例來說 里256位το的非揮發性記憶體25,豆In the specific embodiment of the bit) or in the 117594.doc 1313467 兀 field. Because each bit is erased only when it is overwritten, this reduces the change in the numbering of the bits. Exemplary embodiments of the present invention include a single bit accessible specific embodiment and a octet (e.g., a one-tuple) accessible specific embodiment. Which access granularity level is preferred depends on the particular application and considerations (eg, the amount of durability required) (the amount of durability required can exceed the durability of the individual memory cells) The multiple of the level is expressed in terms of X and the technical limitations of the 5 memory cells or array technology used. Single bit access provides a large lifetime magnification; however, such single bit 70 access to non-volatile memory is not commonly used. The reason is that a single bit is not accessible; a complex and f is a large area, which may be a limiting factor. Another way to increase the durability of the counter is to use standard, full-grain non-volatile memory, but only use a few discrete data writes scattered across several modules. However, with twice the improved durability by spreading the counters across two full-capacity modules, even a very limited counter would still require a very large amount of ticks. In a particular point of view, the present invention has a two-dimensional approach to the idea of introducing a new method that utilizes the advantages of the new counting method to allow the use of low-durability non-volatile memory. Indeed, according to one aspect, in a specific embodiment, Ben Yuming: uses non-volatile memory that can be accessed at a small granularity, such as 'has early access, or has more Bit access, but only for meta-memory can be at the same level as this granularity. (IV) Generally speaking, it can be accessed through a larger number of bits, 117594.doc •19- 1313467 The updated segment is only +. The other slices accessed during this process will have the same loss level as the nested segment. The following will discuss -a. - one but multiple bits (example For example, the memory of the '8-bit 存取) access _ may have - a small amount, 256: ::!. For example, 256 bits of το non-volatile memory 25, beans

具有32個前述可個別存取的8位元區段。根據另一項觀 點’该資料(此處為計數)的編碼方式和格雷計數編喝雷 同,不過,經編碼的計數卻可被分散在該等8位元可存取 記憶體片斷中的多個片斷上,俾使倘若用_個此等片斷 的話’一'給定片斷僅會每隔则固計數才會被複寫。格雷碼 的典型動機係減低電力或是讓資料比較不會受到損壞;雖 然這些一直都是重要考量,不過,本文的動機卻係要更均 勻地分散該等複寫作業。從而可讓該計數器的壽命增加Ν 倍0 圖2為本發明中所使用之記憶體的一範例的示意圖。如 已討論者,這係該控制器(128)中的一小型非揮發性記憶體 (圖lb中的NVM 25)或者可能係該記憶體(124)上的一狀態 機(於19中)。圖2中的特殊範例係一由32列(具有對應的字 元線WL1至WL32)fX及8行(位元線BL1至BL8)所形成的256 位元記憶體,圖中概略顯示的記憶體單元係位在該等位元 線與字元線的交點處。舉例來說’ s己憶體单元M C1、8、 215係位於位元線8處的字元線1上。於該示範性具體實施 例中,該等記憶體單元係EEPROM單元’因為此等記憶體 單元的形成會輕易地整合至示範大量儲存記憶體11之快閃 117594.doc •20-There are 32 aforementioned 8-bit segments that are individually accessible. According to another point of view, the encoding of the data (here the count) is similar to that of the Gray count, but the encoded count can be spread across multiple of the 8-bit accessible memory fragments. On the snippet, if you use _ one of these snippets, the 'one' given snippet will only be rewritten every second. The typical motivation for Gray code is to reduce power or make data less damaging; although these have always been important considerations, the motivation for this article is to spread the replication more evenly. Thereby, the life of the counter can be increased by a factor of 0. Fig. 2 is a schematic diagram showing an example of the memory used in the present invention. As discussed, this is a small non-volatile memory (NVM 25 in Figure lb) in the controller (128) or may be a state machine (in 19) on the memory (124). The special example in FIG. 2 is a 256-bit memory formed by 32 columns (having corresponding word lines WL1 to WL32) fX and 8 rows (bit lines BL1 to BL8), and the memory shown schematically in the figure. The unit is located at the intersection of the bit line and the word line. For example, the 's memory cells M C1, 8, 215 are located on the word line 1 at the bit line 8. In the exemplary embodiment, the memory cells are EEPROM cells' because the formation of such memory cells can be easily integrated into the flash of the exemplary mass storage memory 11 117594.doc • 20-

1313467 記憶體的快閃記憶體製程之中。更一般來說,該等記憶體 單元可由任何各種非揮發性記憶體技術來形成,例如美國 專利公告案第US-2005-0251617-A1號中所述者。圖2僅顯 示記憶體25的特定選擇元件,此等記憶體結構的更詳細說 明可在本文所述的各篇專利與其它文件中尋得。圖中所示 的特疋元件包含行電路210與列電路220,用於讀取、寫 入、抹除、以及一般性解碼各記憶體單元位址,以便存取 該陣列。 於該不範性具體實施例中,有四列(例如wu至WL4)專 屬於該計數器,而記憶體25的剩餘區段則可供該控制器使 用,作為離散計數器或其它用途。於一多位元寫入片斷具 體實施例中’ 4 -個寫人片斷均可由—列所組成,因此, 前四列中的每一列便會係可於其上儲存該計數的複數個可 個別存取位元組中的其中K组。於單—位元寫入片斷 具體實施例中,每一記憶體單元均可被個別複寫。 計數的編碼方式和格雷計數器雷同,但並不完全相同。 本發明並未使用習知的格雷計數器,因為在進行大區段計 數器更新時’最小意義位元組並不需要被複寫。舉例來 說,於一 8位元計數器或更高計數器i,僅在第256個計數 上才會有另-位元組被更新。因&,整個計數器僅略為增 力才久f生為將寫人分散在該等非揮發性記憶體單元上, 將會用到—新的計數方法。此㈣係僅可能不要太頻繁複 寫每一個位元組。 本文將利用1313467 The memory of the flash memory system. More generally, the memory cells can be formed by any of a variety of non-volatile memory technologies, such as those described in U.S. Patent Publication No. US-2005-0251617-A1. Figure 2 shows only the particular selection elements of memory 25, and a more detailed description of such memory structures can be found in the various patents and other documents described herein. The features shown in the figure include row circuit 210 and column circuit 220 for reading, writing, erasing, and generally decoding each memory cell address to access the array. In this non-standard embodiment, four columns (e.g., wu to WL4) are dedicated to the counter, and the remaining segments of memory 25 are available to the controller for use as discrete counters or for other purposes. In a specific embodiment of a multi-bit write segment, the '4-writer segments can be composed of-columns. Therefore, each of the first four columns can be stored on the plurality of individual counts. Access the K group in the byte. In a single-bit write segment, in a particular embodiment, each memory cell can be individually overwritten. The encoding of the count is the same as the Gray counter, but it is not exactly the same. The conventional Gray counter is not used in the present invention because the 'minimum significance byte' does not need to be overwritten when performing a large segment counter update. For example, in an 8-bit counter or higher counter i, only the other-bit tuple is updated on the 256th count. Because &, the entire counter is only slightly energized for a long time to spread the writer on the non-volatile memory unit, and a new counting method will be used. This (4) is only possible not to rewrite each byte too often. This article will make use of

凡計數器的範例來解釋該項概念,其 117594.doc 1313467An example of a counter to explain the concept, 117594.doc 1313467

中,該等位元中其中兩位位元係被保留在該等可個別存取 多位元可存取記憶體片斷中其中一者(”ws"或是”寫入片斷 #1”)之中,而另外兩位位元則係被保留在另—者("WS α") 之中。a己憶體存取的粒度,或是該等寫入片斷的大小,可 月b係本文中所使用的兩位位元;或者其亦可能更大(舉例 來說,一個位元組)’不過,此處僅需要用到每一位元組 中的兩位位元。當每__寫人片斷係人位元時,此處僅有兩 個位元組係用來儲存該計數,此範例可輕易地擴充至16位 元計數器,而此4位元範例則係用來簡化解釋,且僅顯示 出每一位7L組之中最後兩位元的數值。 该不範性具體實施例之4位元計數器之位元組的等效計 數(經過編碼的4位元計數)以及對應的寫入如下: 等效計數值經過編瑪的4位元計數One of the two bits in the bit is retained in one of the individually accessible multi-bit accessible memory segments ("ws" or "write segment #1") Medium, and the other two bits are kept in the other ("WS α"). The granularity of the memory access, or the size of the written fragments, can be The two bits used in ; or it may be larger (for example, a byte) 'However, only two bits in each tuple are used here. Whenever __ When writing a human fragment, only two bytes are used to store the count. This example can be easily extended to a 16-bit counter, and this 4-bit paradigm is used to simplify the explanation. And only the value of the last two digits of each 7L group is displayed. The equivalent count of the byte of the 4-bit counter of the non-standard embodiment (the encoded 4-bit count) and the corresponding Write as follows: Equivalent count value is encoded by 4-bit count

#0 # 1 #2 #3 #4 #5 #6 #7 #8 #9 0000 0001 0101 0110 1010 1011 1111 1101 1001 1000 計數的寫入順序 (重置上的數值) 寫至 WS#1 : 01 寫至 WS#2 : 01 寫至 WS#1 : 10 寫至 WS#2 : 10 寫至 WS#1 : 11 寫至 WS#2 : 11 寫至 WS#1 : 01 寫至 WS#2 : 10 寫至 WS#1 : 00 117594.doc -22- 1313467 寫至 WS#2 : 01 寫至 WS#1 : 11 寫至 WS#2 : 00 寫至 WS#1 : 10 寫至 WS#2 : 11 寫至 WS#1 : 00 對該經過編碼的計數(中簡Λ#0 # 1 #2 #3 #4 #5 #6 #7 #8 #9 0000 0001 0101 0110 1010 1011 1111 1101 1001 1000 Write order of counts (value on reset) Write to WS#1 : 01 Write To WS#2 : 01 Write to WS#1 : 10 Write to WS#2 : 10 Write to WS#1 : 11 Write to WS#2 : 11 Write to WS#1 : 01 Write to WS#2 : 10 Write to WS#1 : 00 117594.doc -22- 1313467 Write to WS#2 : 01 Write to WS#1 : 11 Write to WS#2 : 00 Write to WS#1 : 10 Write to WS#2 : 11 Write to WS #1 : 00 The count of this coded

、τ间仃)來說,前面兩位元係被儲 存在寫入片斷#1之中的數值, 而後面兩位位元則係被儲存 在寫入片斷#2之中的數值。 從中可以看出,(此處)所有16 個可能的計數器狀態已經被矣_山 散表不出,不過,習知計數的順 序卻已改變’致使每一個蚪盔+Α 7甘> U。卞數均僅有一寫入片斷會改變。In the case of τ, the first two elements are stored in the value written in the fragment #1, and the latter two bits are stored in the value written in the fragment #2. It can be seen that all of the 16 possible counter states (here) have been smashed, but the order of the conventional counts has changed 'causing each helmet + Α 7 甘> U. Only one write segment will change when the number of turns is reached.

#10 0100 #11 0111 #12 0011 #13 0010 # 14 1110 #15 1100 因此’這係已知的格雷計數的—種擴充類型,不過,卻係 用在不同的用途中且會被配置成針對每一個計數僅有第一 對或第二對位元會以交替的方式來改變。於此範例中假設 該等兩個位元組中每-者均可被分開抹除,且在每—次寫 入之前僅有要被更新/寫入的位元組會被抹除。 依此方式藉由在寫入片斷#1與寫入片斷#2之間錯開該等 寫入,便可使用一具有一半必要耐久性的記憶體;也就 是,耐久性會倍増。舉例來說,具有50K次安全耐久性的 非揮發性δ己憶體便可用於需要1 〇〇K次可靠計數的應用中。 同樣地’對—具有32位元的計數器來說’藉由使用具有8 位το存取的四個區段,便可僅用到必要耐久性的四分之 一;或者,換言之,壽命會增長四倍。(舉例來說,—具 117594.doc -23- 1313467 有25K次寫入耐久性的非揮發性記憶體可用於預期最大總 值為100K次寫入中)於32位元的情況中,對前面數個計數 來說,使用四個可個別存取位元組的32位元之計數器之位 元組的等效計數(經過編碼的32位元計數)以及對應的寫入 如下: 經過編碼的32位元 等效計數值 計數(十六進位) 計數的寫入順序 #0 0000 0000 # 1 0000 0001 寫入至位元組#1 : 0000 0001 #2 0000 0101 寫入至位元組#2 : 00000001 #3 0001 0101 寫入至位元組#3 : 0000 0001 #4 0101 0101 寫入至位元組#4 : 0000 0001 #5 0101 0102 _ -3 Ο . . . . . 寫入至位元組#1 : 0000 0010 對一具有(232- 1 )的等效計數來說,該過程的施行方式和 上面的4位元計數器範例雷同,直到用該等32位位元的所 有組合為止,且該等四個位元組中每一者會被均等地存 取。結果,該記憶體的耐久性便會增加四倍。於該表中所 示的存取順序係循環的。更一般來說,亦可使用其它順序 來將該等複寫均勻地分散在該等不同欄位上,循環順序僅 係一種簡單的實現方式。舉例來說,該等寫入片斷的存取 順序、每一個寫入片斷内的寫入順序、或是兩者均可使用 下面所述類型的平衡格雷碼。 上面所述者可進一步延伸以增加一記憶體的耐久性。使 用32位元計數器為範例來探討需要增加四倍以上壽命的情 況;或者,可將其視為一種耐久性低於該計數器之必要耐 117594.doc -24- 1313467 久性的1/4的技術。舉例來說,根據下面的演算法,針對 一總共有96位元的非揮發性記憶體來討探使用三個32位元 可存取欄位的情況,每次可存取一個位元組: 1) 假設有三個攔位#1、#2、以及#3,每一欄位均係由一 32位元計數器所形成’該32位元計數器具有如上述所用到 之四個可個別存取位元組。 2) 該等寫人係針對來自該等三個計數器的最低數值編號#10 0100 #11 0111 #12 0011 #13 0010 # 14 1110 #15 1100 So 'this is a known type of Gray's expansion type, but it is used in different applications and will be configured for each Only one first pair or second pair of bits in a count will change in an alternating manner. It is assumed in this example that each of the two bytes can be erased separately, and only the bytes to be updated/written before each write are erased. In this way, by shifting the write between the write segment #1 and the write segment #2, a memory having half the necessary durability can be used; that is, the durability is doubled. For example, a non-volatile delta-resonance with 50K safety durability can be used in applications requiring 1 〇〇K reliable counts. Similarly, for a pair of 32-bit counters, by using four segments with 8-bit το access, only one quarter of the necessary durability can be used; or, in other words, the lifetime will increase. Four times. (For example, - 117594.doc -23- 1313467 Non-volatile memory with 25K write endurance can be used for the expected maximum total value of 100K writes) In the case of 32-bit, for the front For a number of counts, the equivalent count of the three-bit counter of the 32-bit counter that can be individually accessed (the encoded 32-bit count) and the corresponding write are as follows: Encoded 32 Bit equivalent count value count (hexadecimal) Count write order #0 0000 0000 # 1 0000 0001 Write to byte #1 : 0000 0001 #2 0000 0101 Write to byte #2 : 00000001 #3 0001 0101 Write to byte #3 : 0000 0001 #4 0101 0101 Write to byte #4 : 0000 0001 #5 0101 0102 _ -3 Ο . . . . Write to byte # 1 : 0000 0010 For an equivalent count with (232-1), the process is performed in the same way as the above 4-bit counter example, until all combinations of the 32-bit bits are used, and such Each of the four bytes is equally accessed. As a result, the durability of the memory is increased by four times. The access sequence shown in this table is cyclic. More generally, other sequences can be used to evenly distribute the replications across the different fields, and the looping sequence is merely a simple implementation. For example, the access sequence of the write segments, the write order within each write segment, or both may use a balanced Gray code of the type described below. The above can be further extended to increase the durability of a memory. Use the 32-bit counter as an example to explore the need to increase life expectancy by more than four times; or, as a technique that is less durable than the 117594.doc -24-1313467, which is less durable than the counter, . For example, according to the following algorithm, for a total of 96-bit non-volatile memory to explore the use of three 32-bit accessible fields, one byte can be accessed at a time: 1) Suppose there are three blocks #1, #2, and #3, each field is formed by a 32-bit counter. The 32-bit counter has four individual access bits as used above. Tuple. 2) The writers are numbered for the lowest value from the three counters

來進行’低攔位編號具有優先權(倘若兩個攔位具有相同 數值的話)。 該等三個計數器的最高數值編號 3 )讀取則必定係從來 處來進行。 4)每一攔位的計數方法均和上述者相同。 每—次寫人作業會係在全㈣個給定位元組中的一< 元組上來進行。所以,此情 + 寫入次數)/12。 的必要耐久性將會係(、纟 =’舉例來說’—具有歸次寫人循環之_久性的 出。可從-具有8K次耐久性的非揮發性記憶體技術" 〜 取不·5兄,該計數器可赫γ、+、& " ^ 、 态』被撝述程係由數個(Ν個” 幻存取、複寫的非揮發性記愔 .°己隐體區段或"寫入片斷,,月 。於s亥等範例中.,每一個可個^ + !個办-, 個了個別存取的寫入片斷均名 個位兀組所組成。接著,該計數 ,The 'lower block number has priority (if both blocks have the same value). The reading of the highest value of these three counters 3) must be done from time to time. 4) The counting method for each block is the same as above. Each write job will be performed on all (four) of the < tuples in the positioning tuple. So, this situation + number of writes) / 12. The necessary durability will be (, 纟 = 'for example' - has the _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ · 5 brothers, the counter can be γ, +, &" ^, state is described by several (one) phantom access, copy of the non-volatile record. ° hidden body section Or "write a piece, month. In the example of shai, etc., each can be a ^ + ! - -, each of the individual access write segments are named a group of bits. Then, count,

Am Jsb jj. $被·竭碼成一對應j 個攔位,其中,當計數遞 Tai 分埒遠些N個欄位便會以 刀政的方式來更新;也就是,在 有/、匕攔位具有相同 H7594.doc -25- 1313467 , 之則,其中一攔位不會被複寫第二次。因為本發明 的目=係藉由減少複寫次數來增加耐久性,所以,如下文 針對單纟兀具體實施例所述者,該等複寫未必要完全均 ?也分散’而僅係實質上均句分散便可;也就是,於更_ ^的具體實施例中,該等攔位的更新僅需要實質均勻的分 政便針對5亥a十數或暫存器值的複寫次數造成顯著的縮減 I7可、’、α果,當该計數遞增時,該等N個記憶體區段便會 被均勻地分散地複寫。此會最大化該耐久性,讓其增加N 倍。於4位元計數器的範例中’該計數會保 攔位(各來自每一寫入g齡、甘+ 疋 斷)’其中’該等2位元欄位中每一 者均對應於該等兩個寫入片斷中其中-者。對32位元計數 器來說,會用到四個8位元攔位,對應於本範例中的位元 組#1至#4。依此方式來進行編碼,該計數便僅會改變該n 欄位中的單一攔位…且因而改變該記憶體中其對應的可個 別存取區段…且其施行方式會讓該等位元組的存取均句地 分散。這會將損耗率降為1/N。雖然亦可使用其它配置, 不過’所有該等示範性具體實施例均將相同的位元數指派 給母一攔位(4位元計數φ古a μ ^ 态中有兩個二位元的攔位,32位元 S十數器中有四個八^立7Γ 4?^ Λχ. \ 位疋的攔位),❿使得該計數為該等記 憶體區段之數量的倍數。 圖3為使用具有一循環左·^面也 循衣存取圖案之複數個多位元寫入片 斷的-具體實施例的此些觀點之特定觀點的概略示意圖。 如此圖中所示,-計數⑷會被編碼成一分散在該等Ν個攔 位上的難元計數,該編碼方式會使得於該計數每次遞增 117594.doc • 26 · 1313467 (或遞減)時僅會改變單—攔位。(這與標準的格雷碼不同, 於標準的格雷碼中,每次該計數遞增時僅會改變單—位 ',但是卻通常係落在和該計數崩解時的相同欄位之内) 接著,該等計數攔位中每一者便均會被儲存在nvm㈣ 對應的區&之中(此處為位元組#1至細)。當該計數遞增 時’位元組#1至崎會依照圖中所示之循環順序中它們對 應攔位的新數值來複寫。雖然圖中的箭頭僅顯示出當該計Am Jsb jj. $ is exhausted into a corresponding j-block, in which, when counting the number of Tai, the N fields will be updated in a knife-like manner; that is, in the presence of /, 匕With the same H7594.doc -25-1313467, one of the blocks will not be overwritten a second time. Since the object of the present invention is to increase the durability by reducing the number of times of rewriting, as described below with respect to the specific embodiments, the rewriting is not necessarily completely uniform, but only a substantially uniform sentence. Disperse; that is, in the specific embodiment of the _ ^, the update of the blocks only requires a substantially uniform splitting, which results in a significant reduction in the number of times of copying 5 or a number of registers. Yes, ', alpha fruit, when the count is incremented, the N memory segments are evenly and repeatedly rewritten. This will maximize this durability and increase it by a factor of N. In the example of a 4-bit counter, 'this count will protect the bits (each from each write g-age, Gan + break)' where each of these 2-bit fields corresponds to the two Among the ones written in the fragment. For a 32-bit counter, four 8-bit blocks are used, corresponding to bits #1 through #4 in this example. Coding in this way, the count will only change a single block in the n field... and thus change its corresponding individually accessible segment in the memory... and its implementation will cause the bit to be The access of the group is uniformly dispersed. This will reduce the loss rate to 1/N. Although other configurations may be used, 'all of these exemplary embodiments assign the same number of bits to the parent one (4 bit count φ ancient a μ ^ state with two two bits) Bits, there are four in the 32-bit S-number device, and the number is a multiple of the number of memory segments. Figure 3 is a schematic illustration of a particular point of view of a particular embodiment of a particular embodiment using a plurality of multi-bit write breaks having a loop left and right side access pattern. As shown in this figure, the -count (4) is encoded as a hard-to-element count scattered over the two blocks, which is such that the count is incremented by 117594.doc • 26 · 1313467 (or decremented) each time the count is incremented. Only the single-barrier will be changed. (This is different from the standard Gray code. In the standard Gray code, each time the count is incremented, only the single-bit' is changed, but it usually falls within the same field as when the count collapses.) Each of these counting blocks will be stored in the corresponding area & (here, byte #1 to fine) of nvm(4). When the count is incremented, 'bytes #1 to Saki will be overwritten according to the new values they correspond to in the cyclic sequence shown in the figure. Although the arrows in the figure only show when the meter

數遞增時要如何編碼與寫人該計數,而讀取該計數基本上 則係相反的過程。 取應該注意的係’圖3僅係解釋一特殊具體實施例(具有循 %存取的多位疋寫人片斷)’而實際的實現方式則可改 =。舉例來說,圖中所示之位元組#1至(計數攔位會被 -入其中)雖然係被置放在記㈣NVM 25的旁邊或是依 序置放,不過實際上並未必要如此,且通常可以其它方式 來配置。另外,所有攔位亦未必係相同的尺寸,且亦不必 依照該等㈣性具體實施例的循環順序來被寫人,不過, =係最簡單的方式且會最佳化延長該計數器的壽命。於 八匕具體實施例中,存丨如置 ,.-. Τ例如早一位兀存取、平衡式格雷碼且 體實施例,則會對圖3進行相應的變更。 、 接著將提出具有單-位元存取的具體實施例。如上面所 然並不常用’不過’單一位元存取卻可提供較大的 :命放大倍數。於此範例中,該記憶體(例如NVM25 單元均可被個別存取與複寫。於該示範性具 體實施財’將同樣又細PROM單元,不過如前述,亦 117594.doc •27- 1313467 可使用美國專利公告案第US-2005-025 161 7-A1號中所述的 八匕D己隐體技術。因為此範例在該計數遞增時允許以較精 細的粒度來分散各次寫入,所以便會相應地增長壽命。舉 例來說,於圖2之32位元計數器的情況中,倘若針對該計 數器的每次遞增僅有-(或者有時候係兩)位元複寫而其 它位元保持不變的話,壽命便會增長—放大等級。 如上面所述,該計數的編碼方式和袼雷碼略微相同;不How to encode and write the count when the number is incremented, and reading the count is basically the reverse process. It should be noted that Fig. 3 merely explains a particular embodiment (having a plurality of snippet segments with % access) and the actual implementation can be changed. For example, the bytes #1 to (the count block will be entered into the figure) shown in the figure are placed next to the (4) NVM 25 or placed in sequence, but it is not necessary. And can usually be configured in other ways. In addition, all of the blocks are not necessarily the same size, and are not necessarily written in the cyclic order of the (four) embodiment, however, = is the simplest way and will optimize the life of the counter. In the specific embodiment of the gossip, as shown in Fig. 3, for example, the first one access, the balanced gray code and the body embodiment, the corresponding change is made to Fig. 3. Next, a specific embodiment with single-bit access will be proposed. As mentioned above, it is not commonly used to 'but' a single bit access but provides a larger: life magnification. In this example, the memory (eg, NVM25 units can be individually accessed and overwritten. In this exemplary implementation, the same PROP unit will be used, but as mentioned above, also 117594.doc • 27-1313467 can be used The gossip-dual stealth technique described in US Patent Publication No. US-2005-025 161 7-A1, because this example allows the writes to be dispersed at a finer granularity as the count is incremented. The lifetime will be increased accordingly. For example, in the case of the 32-bit counter of Figure 2, only - (or sometimes two) bits are overwritten for each increment of the counter and the other bits remain unchanged. If you live, the life will increase - the level of amplification. As mentioned above, the encoding of the count is slightly the same as the 袼 code;

過,在格雷碼中,其目標則伤 __ ▲ 知則係在垓計數遞增時僅會有最少 數的位元改變。這能夠謓魅$帕 、、、編碼的資料比較不容易有誤 差,且於依此順序來寫入資粗姓^ 、ft , ^ n A #枓時會有最小的功率消耗;不 過,對本發明來說其並非 α . . ,, a . ^ ^ M糸攱佳,因為,此處的目標係用 以最小化且均等化每—位 舉例來複冑讀,歧降低損耗。 下: ^十數器來說,-標準的格雷碼如 等效計數 #〇 #1 #2 #3 #4 #5 #6 #7 #8 ^準的格雷碼 0000 0001 0011 0010 0110 0111 0101 0100 1100 117594.doc -28- 1313467 #9 1101 #10 1111 #11 1110 #12 1010 #13 1011 #14 1001 #15 1000 從中可以看出,最小意義位元(位元〇)每隔一次寫入便 會改變,或是會改變23 = 8次,而左邊的每一位元的寫入次 數則會減半:位元1會改變4次,位元2會2次,而位元3則 為1次。更一般來說,對一 η位元的計數器來說,最小意義 位元將會改變2(η·υ次,而最大意義位元將僅會改變1次, 相較於LSB會改變2η-1次的標準二元計數,此作法僅略作 改良(改良約2倍)。 這與本發明的目的不同。取而代之的係,下面將探討更 均勻散佈該等變化的情況: 等效計數 均勻分散的變 #0 0000 #1 0001 #2 0011 #3 0111 #4 0110 #5 1110 #6 0010 117594.doc -29- #71313467 #8 #9 #10 #11 loio 1000 0101 〇1〇〇 1100 #12 #13 #14However, in the Gray code, the target is injured __ ▲ know that there will be only a minimum number of bit changes when the 垓 count is incremented. This can enchant $Pa, and the encoded data is less prone to errors, and there is minimal power consumption when writing the capital name ^, ft, ^ n A #枓 in this order; however, the present invention In other words, it is not α. . , , a . ^ ^ M糸攱佳, because the goal here is to minimize and equalize every bit example to read, and reduce the loss. Bottom: ^ For the number of devices, the standard Gray code such as the equivalent count #〇#1 #2 #3 #4 #5 #6 #7 #8 ^The Gray code 0000 0001 0011 0010 0110 0111 0101 0100 1100 117594.doc -28- 1313467 #9 1101 #10 1111 #11 1110 #12 1010 #13 1011 #14 1001 #15 1000 It can be seen that the smallest meaning bit (bit 〇) changes every other write. Or it will change 23 = 8 times, and the number of writes per bit on the left will be halved: bit 1 will change 4 times, bit 2 will be 2 times, and bit 3 will be 1 time. More generally, for a η-bit counter, the least significant bit will change by 2 (η·υ, and the largest significant bit will only change once, compared to LSB, which changes 2η-1 The standard binary count of the second, this practice is only slightly improved (about 2 times improvement). This is different from the purpose of the present invention. Instead, the following will discuss the more uniform distribution of these changes: Equivalent counts are evenly dispersed Change #0 0000 #1 0001 #2 0011 #3 0111 #4 0110 #5 1110 #6 0010 117594.doc -29- #71313467 #8 #9 #10 #11 loio 1000 0101 〇1〇〇1100 #12 #13 #14

Π〇ιHU l〇ll 1001Π〇ιHU l〇ll 1001

於此情況中’每次遞增僅有一位元(式β &、 4疋彳月況僅有兩位 元)會改變,其中,位元0與3會被複鸾丄 ❺/、次,而位元1與2 則會被複寫四次(包含從15變成0)。此gs _ , ."、貝不出,編碼僅係可 使用的眾多範例中其中一者,其中,每 可-人遞增時所改變的 欄位數會最小化。(此處最小化的意蠤仫 我係相較於習知的實 現方式而盡可能地減少4可能未必係、可達成的絕對可得 到最小值)更一般來說’亦可使用其它均勾分散碼,或是 平衡式格雷碼。(此平衡式格雷碼係在Gs. Bhat與CD. The Electr〇nic J〇urnal 〇f c⑽3 (1996) ’ #R25,第1至11頁中所發表的 中所開發出來的,在美國專利案第2,632,〇58號中便 提出循環式格雷碼的一特殊範例) 於使用一具有單一位元之寫入單位且使用均等或平衡存 取的°己憶體的一特殊範例中,會用到圖2的32位元計數 器 〇 董子 目 /、有1 5 K次财久性的記憶體技術來說,其會提供 117594.doc -30· 1313467 約15 Κχ32=480 K次的安全計數值。(此等實際數值將會略 低’因為某些遞增可能會更變兩位位元)另一種替代的探 °子方式係’倘若該系統需要1 ο 〇 Κ次的保證安全計數的 冶’那麼藉由使用一 17位元計數器,該等記憶體單元便會 逹到該等記憶體單元在約130 Κ/17=〜7.6 Κ次内會很安全的 要求’完全符合每一記憶體單元丨5 κ次的安全複寫次數。 和多位元存取具體實施例相同,藉由將該等複寫均勻地分 散在該等寫入單元上,單一位元具體實施例便可讓一具有 已知複寫次數之耐久性的非揮發性記憶體用在一具有高額 增加耐久性的計數器之中。 所以’本發明的範例應被視為具解釋性而不具限制性, 且本發明亦不限於本文提出的細節,確切地說,可在隨附 申睛專利範圍的範疇内進行修飾。 【圖式簡單說明】 >考下文說明,配合附圖,便可更瞭解本發明,其中: 一圖la為一包含一非揮發性記憶體裝置的通用主機系統的 示意性代表圖。 圖1^^為―記憶體系統的示意性代表圖,舉例來說,圖u 的記憶體裝置120。 ( 圖2為—示範性非揮發性記憶體中特定元件的方塊圖。 圖3為其中一項主具體實施例之特定主觀點的示意圖。 【主要元件符號說明】 11 記憶體單元陣列 15 匯流排 117594.doc •31 - 1313467In this case, 'every increment is only one bit (the formula β & 4 months, only two digits) will change, where bits 0 and 3 will be revamped /, and then Bits 1 and 2 are overwritten four times (including from 15 to 0). This gs _ , .", and the code is only one of many examples that can be used, where the number of columns that are changed each time the person can be incremented is minimized. (The minimum meaning here is that we are as much as possible compared to the conventional implementation. 4 may not necessarily be the absolute minimum that can be achieved.) More generally, 'others can be used. Code, or balanced Gray code. (This balanced Gray code is developed in Gs. Bhat and CD. The Electr〇nic J〇urnal 〇f c(10)3 (1996) '#R25, published on pages 1 to 11, in the US patent case A special example of a circular Gray code is proposed in No. 2, 632, 〇 58. It is used in a special example of using a single-bit write unit and using equal or balanced access. The 32-bit counter of Figure 2, the Dongzimu/, with a memory technology of 15 K times, provides a safe count value of 117594.doc -30· 1313467 about 15 Κχ 32 = 480 K times. (The actual values will be slightly lower 'because some increments may change to two bits.) Another alternative way is to 'if the system requires 1 ο 的 guarantee of safe counting By using a 17-bit counter, the memory cells will reach these memory cells and will be safely required within approximately 130 Κ/17=~7.6 '. 'Completely match each memory cell 丨5 κ times of safe copying times. As with the multi-bit access specific embodiment, by uniformly distributing the overwrites on the write units, a single bit embodiment can achieve a non-volatile durability with a known number of repetitions. The memory is used in a counter with a high increase in durability. Therefore, the present invention is to be construed as illustrative and not restrictive, and the invention is not limited to the details disclosed herein, and may be modified within the scope of the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS The invention will be more fully understood from the following description, in which: FIG. 1a is a schematic representation of a general-purpose host system including a non-volatile memory device. Figure 1 is a schematic representation of a "memory system", for example, the memory device 120 of Figure u. Figure 2 is a block diagram of a particular element in an exemplary non-volatile memory. Figure 3 is a schematic diagram of a particular principal aspect of one of the main embodiments. [Key element symbol description] 11 Memory cell array 15 bus 117594.doc •31 - 1313467

17 位址解碼器 19 支援與控制電路 21 緩衝記憶體 23 ECC區段 25 非揮發性記憶體 100 主機糸統 104 匯流排 108 微處理器 112 隨機存取記憶體 116 輸入/輸出電路 120 非揮發性記憶體裝置 124 非揮發性記憶體 128 記憶體控制系統 130 介面電路區塊 210 行電路 215 記憶體單元 220 列電路 BL1 位元線 BL2 位元線 BL3 位元線 BL4 位元線 BL5 位元線 BL6 位元線 BL7 位元線 117594.doc -32- 1313467 BL8 位元線 WL1 字元線 WL2 字元線 WL3 字元線 WL4 字元線 WL32 字元線17 address decoder 19 support and control circuit 21 buffer memory 23 ECC sector 25 non-volatile memory 100 host system 104 bus 108 microprocessor 112 random access memory 116 input / output circuit 120 non-volatile Memory device 124 Non-volatile memory 128 Memory control system 130 Interface circuit block 210 Row circuit 215 Memory unit 220 Column circuit BL1 Bit line BL2 Bit line BL3 Bit line BL4 Bit line BL5 Bit line BL6 Bit Line BL7 Bit Line 117594.doc -32- 1313467 BL8 Bit Line WL1 Word Line WL2 Word Line WL3 Word Line WL4 Word Line WL32 Word Line

117594.doc •33117594.doc •33

Claims (1)

d 號專利申請案 '中文申請專利範圍替換本(98年4月)- '十、申請專利範圍··Patent application No. d [Chinese patent application scope replacement (April 1998) - '10, patent application scope·· .種於一含有由多個可抹除與再程式化非揮發性記憶體 單元所組成之複數N個可個別存取區段的記憶體系統中 用來儲存一數值之方法,其包括: 將邊數值編碼成一由]^個攔位所組成的二元值,俾使 對母人遞增來說,該數值僅會改變該等攔位中的單一 攔位,且當該數值遞增時,該等N個欄位的變化實質上 會均勻地分散在該等N個欄位之中;以及 田該數值遞增時,將該等N個攔位中該單一攔位的變 化儲存在該等N個區段中的一對應區段之中,同時讓該 等N個攔位中的其它攔位保持不變。 2·如請求項1之方法,其中當該數值遞增時,該等n個攔位 的變化會循環地分散在該等N個攔位之中。 3·如凊求項丨之方法,其中每一個該等可個別存取區段均 含有一個位元組的儲存能力。 如叫求項1之方法,其中該儲存包括以二元的形式將該 等攔位儲存在該等區段的該等記憶體單元之中。 5·如印求項丨之方法,其中每一個該等攔位均具有相同數 量的位元。 6. 如請求項丨之方法,其中該數值係一 Μ位元值,其中μ 為Ν的倍數。 7. 如請求項丨之方法,其中該記憶體系統包含一控制器部 與—記憶體部,且該等可個別存取區段係形成在該控制 117594-980417.doc 1313467 如4求項7之方, -事件。 〃中4數值對應於該記憶體部上的 9. 如睛求項1之方法’其中該 與—己掊躺a 』糸統包含-控制器部 °己隐體部’且該等可個別存取 體部之上的-狀態機的一區段。 ㈣成為㈣ 10. 如請求項1夕士、土 ^ 播触 其中該等可個別存取區段的該等—己 Η隐體單元係EEPROM記憶體單元。 ° I片H於—具有複數Ν個可個別存取、可複_發性 片斷的記憶體系統中之方法,其包括: 遞增一暫存器的數值; 將該暫存器數值編碼成複數Ν個二元搁位 等搁位均對應㈣等可個別存取、可複寫片斷中的一;; =片斷’其中’該編碼會使得#該暫存器數值遞增時會 =每一個計數中會改變的攔位數,且該等欄位的變 化實質上會均勻地分散;以及 將該遞增暫存器數值複寫在個別棚位數值已經改變的 片斷之中。 12.如請求項u之方法,其中該編媽係使用平衡式 α如請求項η之方法,其中每一個該等可個別存取、可複 寫片斷均係由複數個記憶體單元所組成。 14. 如請求項13之方法,其中當該暫存器數值遞增時,該等 Ν個攔位的變化會循環地分散在該等Ν個欄位之中。 15. 如請求項〗3之方法,其中每一個該等可個別存取:可複 寫片斷均含有一個位元組的儲存能力。 117594-980417.doc 1313467 16·如請求項11之方法,其中N大於或等於三,且― 等可個別存取、可複寫片斷;且母-個該 成。 你甶早C憶體單元所組 1 7 ·如請求項16之方法,盆中 18 中該編碼係使用平衡式格雷#。 如凊未項U之方法,宜 宙碼。 ,、甲母一個該等可個別存 寫片斷均具有相同數量的位元。 了複 19. 如請求項11之方法,其中該暫存器數值_ 其中Μ為N的倍數。 ’、位兀值, 20. 如請求項i i之方法,i中 ,、甲4 3己憶體系統包含一 與一記憶體部,且該等可個在 控制益邻 在該控制器之上。 啤係形成 21 ·如請求項2〇之方法,其中續勒 部上的-事件。中^暫存益數值對應於該記憶體 22. 如凊求㈣之方法’其中該記憶體系統包含—控制 與一記憶體部,且該等可個別存 ° ^ 财取、可複寫片斷會形成 為該記憶體部之上的一狀態機的一區段。 23. 如請求項U之方法,其中該 孫pbPPDDA 了個別存取、可複寫片斷 係由EEPROM記憶體單元所構成。 24. —種記憶體系統,其包括: 由多個可抹除與再程式化非 评\性。己憶體早το所组成 之複數N個可個別存取區段; 二暫存器’其將-數值編碼成—由關攔位所組成的 二,’俾使該數值的每-次遞增均僅會改變該等搁位 的早—欄位,且當該數值遞增時,該等N個攔位的變 117594-980417.doc 1313467 化實質上會均勻地分散在該等N個欄位之中;以及 複寫電路,其可連接至該等可個別存取區段並且用以 接收該等經過編碼的暫存器數值,藉此,當該數值遞增 時’該經過編碼的暫存器數值的變化會被儲存至該等二 個區段中的—對應區段之中的該等⑽欄位中的該單— 攔位,同時讓該等N個攔位中的其它棚位保持不變。 仏如請求項24之記憶體系統,其中當該數值遞增時,該暫 器會將該等Ν個攔位的變化循環地分散在該等ν個攔位 之中。 26.如請求項24之記憶體系統,其中每—個該等可個別存取 區段均含有一個位元組的儲存能力。 27·如請求項24之記憶體系、統,其中該經過編碼的計數會以 二凡的形式被儲存在該等區段的該等記憶體單元中的該 等欄位之中。 8.如叫求項24之5己憶體系統’其中每一個該等攔位均具有 &gt; 相同數量的位元。 如清求項24之δ己憶體系統,其中該數值係一職元計 數’其中Μ為Ν的倍數。 月长員24之°己憶體系統,其中該記憶體系統包含一控 制^與—5己憶體部’且該等可個別存取區段係形成在 該控制器之上。 31·如清求項3〇之記悟辦么 心體糸統,其中該數值對應於該記憶體 部上的一事件。 如叫求項24之δ己憶體系統,其中該記憶體系統包含—控 117594-980417.doc 1313467 制益部與一記憶體部,且該等可個別存取區段會形成為 該記憶體部之上的一狀態機的一區段。 认如請求項24之記憶體系統,其令該等可個別存取區段的 該等記憶體單元係EEPR0M記憶體單元。 34·—種記憶體系統,其包括: 複數N個可個別存取、可複寫非揮發性片斷,· 一暫存器,該暫存器包含; —邏輯電路,其用以將數值編碼成複數N個二元攔位, 母一個該等攔位均對應於該等可個別存取、可複寫片斷 中的-個別片斷’其中該編碼會使得#該數值遞增時會 最小化該數值每-次遞增中會改變的攔位數,且該等棚 位的變化實質上會均勻地分散;以及 、、寫電4纟可連接至該等可偏別存取、可複寫片斷 並且用以接收來自該暫存器的該等經過編碼的暫存器數 值’藉此,該經過編瑪的暫存器數值的變化會被儲存在 個別攔位數值已經改變的片斷之中。 35.如明求項34之記憶體系、統’其中該等攔位的存取順序會 依照—平衡式格雷碼來編碼。 A:請,項34之記憶體系統,其中每-個該等可個別存 可複寫片斷均係由複數個記憶體單元所組成。 37.如請求項36之記憶體系統’其中當該數值遞增時 N個攔位的變化會循環地分散在該等n個攔位之中。〆 I:清:項36之記憶體系統,其中每-個該等可個別存 取、可複寫片斷均含有—個位元組的儲存能力。 117594-980417.doc 1313467 39.如請求項34之記憶體系绩 糸統,其中N大於或等於三,且每 一個该等可個別存取、 一 J複寫片斷均係由單一記憶體單 几所組成。 4〇.Γ=項39之記憶體系統,其中該等計數值會依照一平 衡式格雷碼來編碼。 41. 如請求項34之記憶體系絲, ― '、、先其中母一個該等可個別存 '、可複寫片斷均具有相同數量的位元。 42. 如請求項34之記憶體系統, 开佶^ 具中該暫存益數值係-Μ位 70值’其中Μ為Ν的倍數。 43. = 34之記憶體系統,其中該記憶體系統包含—控 卜與一記憶體部’且該等可個別存取、可複 係形成在該控制器之上。 ’ 44. 如請求項43之記憶體系 體部上的一事件。 ,、中該暫存&quot;對應於該記憶A method for storing a value in a memory system comprising a plurality of N individually accessible segments consisting of a plurality of erasable and reprogrammed non-volatile memory cells, comprising: The edge value is encoded into a binary value consisting of ^^ blocks, so that for the parent to increment, the value only changes the single block in the block, and when the value is incremented, The changes of the N fields are substantially evenly dispersed among the N fields; and when the value is incremented, the changes of the single block in the N blocks are stored in the N areas. Among the corresponding segments in the segment, the other of the N interceptors remain unchanged. 2. The method of claim 1, wherein when the value is incremented, the changes of the n blocks are cyclically dispersed among the N blocks. 3. The method of claiming, wherein each of the individually accessible segments has a storage capacity of one byte. The method of claim 1, wherein the storing comprises storing the blocks in binary form in the memory cells of the segments. 5. The method of printing the item, wherein each of the blocks has the same number of bits. 6. The method of claim ,, where the value is a Μ bit value, where μ is a multiple of Ν. 7. The method of claim 1, wherein the memory system comprises a controller portion and a memory portion, and the individually accessible segments are formed in the control 117594-980417.doc 1313467, such as 4 item 7 The party, - the event. The value of 4 in the 对应 corresponds to the 9. on the memory. The method of the item 1 is where the 与 掊 掊 ” ” ” ” ” ” ” ” ” ” ” ” Take a section of the state machine above the body. (4) Becoming (4) 10. If the request item 1 s, the land ^ broadcasts the crypto cell units of the EEPROM memory cells in which the individually accessible segments are located. ° I slice H - a method in a memory system having a plurality of individually accessible, replicable fragments, comprising: incrementing a register value; encoding the register value into a complex number Each binary position, such as a binary position, corresponds to one of the four (48) individually accessible and rewritable fragments;; = the fragment 'where' the code will cause #. The register value will be incremented = every count will change The number of blocks, and the changes in the fields are substantially evenly dispersed; and the increment register value is overwritten in the segment where the individual booth values have changed. 12. The method of claim u, wherein the programming mother uses a method of balancing alpha, such as claim η, wherein each of the individually readable and rewritable segments is comprised of a plurality of memory cells. 14. The method of claim 13, wherein when the register value is incremented, the changes in the ones of the blocks are cyclically dispersed among the fields. 15. The method of claim 3, wherein each of the individual accesses: the rewritable fragment contains a storage capacity of a byte. 117594-980417.doc 1313467. The method of claim 11, wherein N is greater than or equal to three, and ― is individually readable, rewritable, and parental. If you have a method of claim 16, the method in claim 18 uses the balanced gray #. If the method of U is not selected, it should be a code. One, each of the individually stored segments has the same number of bits. 19. The method of claim 11, wherein the register value _ where Μ is a multiple of N. </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> </ RTI> The formation of a beer system 21 • The method of claim 2, wherein the event is continued. The value of the temporary storage value corresponds to the memory 22. The method of claim (4), wherein the memory system includes a control and a memory portion, and the plurality of memory segments can be formed. Is a segment of a state machine above the memory portion. 23. The method of claim U, wherein the individual pbPPDDA has an individual access, and the rewritable fragment is composed of an EEPROM memory unit. 24. A memory system comprising: a plurality of erasable and reprogrammable non-evaluation. a plurality of N individually accessible segments consisting of the first το; the second register 'which encodes the value into a number 2 consisting of the closing bits,' causes each value of the value to be incremented Only the early-field of the seats will be changed, and when the value is incremented, the changes of the N-blocks will be substantially evenly distributed among the N fields. And a replication circuit connectable to the individually accessible segments and for receiving the encoded register values, whereby the encoded register value changes as the value is incremented The one-block in the (10) field in the corresponding section of the two sections will be stored while leaving the other of the N intercepts unchanged. For example, the memory system of claim 24, wherein when the value is incremented, the server cyclically spreads the changes of the one of the blocks in the ν blocks. 26. The memory system of claim 24, wherein each of said individually accessible segments comprises a byte of storage capability. 27. The memory system of claim 24, wherein the encoded counts are stored in the fields of the memory cells of the segments in a binary form. 8. As claimed in claim 24, each of the blocks has &gt; the same number of bits. For example, the delta-recall system of claim 24, wherein the value is a multi-counter count 'where Μ is a multiple of Ν. The monthly memory system of the month member 24, wherein the memory system includes a control unit and a memory unit and the individually accessible sections are formed on the controller. 31. If the clarification of the item is ambiguous, the value corresponds to an event on the memory. For example, the δ hexa memory system of claim 24, wherein the memory system includes a control portion 117594-980417.doc 1313467 a profit portion and a memory portion, and the individually accessible segments are formed into the memory A section of a state machine above the department. The memory system of claim 24 is such that the memory cells of the individually accessible segments are EEPR0M memory cells. 34. A memory system comprising: a plurality of N individually accessible, rewritable non-volatile segments, a register, the register comprising: - a logic circuit for encoding a value into a plurality N binary intercepts, each of which corresponds to the - individual fragment of the individually readable, rewritable fragments, wherein the encoding causes the value to be incremented to minimize the value every time - The number of blocks that are changed in increment, and the changes in the booths are substantially evenly dispersed; and, the writes are connectable to the biasable access, rewritable segments, and are received from the The encoded register values of the register 'by this, the changes in the programmed register values are stored in the segments in which the individual block values have changed. 35. The memory system of claim 34, wherein the access order of the blocks is encoded according to a balanced Gray code. A: The memory system of item 34, wherein each of the individually rewritable segments is composed of a plurality of memory cells. 37. The memory system of claim 36 wherein the changes in the N blocks are cyclically dispersed among the n blocks as the value is incremented. 〆 I: Clear: The memory system of item 36, wherein each of the individually readable and rewritable fragments contains a storage capacity of one byte. 117594-980417.doc 1313467 39. The memory system of claim 34, wherein N is greater than or equal to three, and each of the individually accessible and one-replicated fragments is composed of a single memory. . 4. The memory system of item 39, wherein the count values are encoded in accordance with a balanced Gray code. 41. In the memory system of claim 34, ― ', first, one of the mothers can be individually stored, and the rewritable fragments have the same number of bits. 42. The memory system of claim 34, wherein the temporary value of the temporary value is - a value of 70, where Μ is a multiple of Ν. 43. The memory system of claim 34, wherein the memory system includes a control and a memory portion and the plurality of individually accessible, reconfigurable forms are formed on the controller. 44. An event on the body of the memory system of claim 43. , , the temporary storage &quot; corresponds to the memory 仏如請求項34之記憶體系統,其中該記憶體系 一 制盗部與一記憶體部,且該等可個別存取、可3控 會形成為該記憶體部之上的一狀態機的一區段。寫片斷 6·如β求項34之記憶體系統,其中該等可個別存取口, 寫片斷係由EEPROM記憶體單元所構成。 可複 117594-980417.docFor example, in the memory system of claim 34, wherein the memory system is a thief and a memory portion, and the individually accessible and steerable controls are formed as one of a state machine above the memory portion. Section. Write a fragment 6. A memory system such as the β-item 34, wherein the individual access ports and the write segments are composed of EEPROM memory cells. Recoverable 117594-980417.doc
TW95149570A 2005-12-28 2006-12-28 Methods and systems for writing non-volatile memories for increased endurance TWI313467B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/321,217 US7245556B1 (en) 2005-12-28 2005-12-28 Methods for writing non-volatile memories for increased endurance
US11/320,916 US20070150644A1 (en) 2005-12-28 2005-12-28 System for writing non-volatile memories for increased endurance

Publications (2)

Publication Number Publication Date
TW200741739A TW200741739A (en) 2007-11-01
TWI313467B true TWI313467B (en) 2009-08-11

Family

ID=38218856

Family Applications (1)

Application Number Title Priority Date Filing Date
TW95149570A TWI313467B (en) 2005-12-28 2006-12-28 Methods and systems for writing non-volatile memories for increased endurance

Country Status (2)

Country Link
TW (1) TWI313467B (en)
WO (1) WO2007076492A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867289B2 (en) 2012-11-08 2014-10-21 Industrial Technology Research Institute Chip with embedded non-volatile memory and testing method therefor

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ533737A (en) 2002-01-11 2006-02-24 Matthias Rath A nutrient pharmaceutical formulation comprising polyphenols and use in treatment of cancer
US7573969B2 (en) 2007-09-27 2009-08-11 Sandisk Il Ltd. Counter using shift for enhanced endurance
KR101437123B1 (en) * 2008-04-01 2014-09-02 삼성전자 주식회사 Memory system and wear leveling method thereof
KR101526497B1 (en) * 2008-11-27 2015-06-10 삼성전자주식회사 System on chip and information processing method thereof
TWI473253B (en) * 2010-04-07 2015-02-11 Macronix Int Co Ltd Nonvolatile memory array with continuous charge storage dielectric stack
JP2018065315A (en) * 2016-10-20 2018-04-26 富士ゼロックス株式会社 Image formation apparatus and program

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2180083A (en) * 1985-09-06 1987-03-18 Motorola Inc Non-volatile electronic counters
US5181231A (en) * 1990-11-30 1993-01-19 Texas Instruments, Incorporated Non-volatile counting method and apparatus
US6084935A (en) * 1998-08-13 2000-07-04 Microchip Technology Incorporated Binary counter and method for counting to extend lifetime of storage cells
US6249562B1 (en) * 1999-08-23 2001-06-19 Intel Corporation Method and system for implementing a digit counter optimized for flash memory
US7113432B2 (en) * 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6772276B2 (en) * 2002-01-04 2004-08-03 Intel Corporation Flash memory command abstraction
US6792065B2 (en) * 2003-01-21 2004-09-14 Atmel Corporation Method for counting beyond endurance limitations of non-volatile memories
US6794997B2 (en) * 2003-02-18 2004-09-21 Sun Microsystems, Inc. Extending non-volatile memory endurance using data encoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867289B2 (en) 2012-11-08 2014-10-21 Industrial Technology Research Institute Chip with embedded non-volatile memory and testing method therefor

Also Published As

Publication number Publication date
WO2007076492A3 (en) 2007-11-29
TW200741739A (en) 2007-11-01
WO2007076492A2 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
US7245556B1 (en) Methods for writing non-volatile memories for increased endurance
US10169143B2 (en) Preferred state encoding in non-volatile memories
US10949123B2 (en) Using interleaved writes to separate die planes
US20070150644A1 (en) System for writing non-volatile memories for increased endurance
JP4787266B2 (en) Scratch pad block
JP5660615B2 (en) Data storage system including multi-bit memory device and method of operating the same
TWI313467B (en) Methods and systems for writing non-volatile memories for increased endurance
US9280420B2 (en) Memory systems and block copy methods thereof
JP4834676B2 (en) System and method using on-chip non-volatile memory write cache
US8526605B2 (en) Data encryption to provide data security and memory cell bit wear leveling
JP4960882B2 (en) Automatic cluster alignment
TWI446358B (en) Data collection and compression in a solid state storage device
CN109799950B (en) Storage device and method for adaptive management of intermediate storage
US20150149789A1 (en) Memory system, host system, and method of performing write operation in memory system
US20120297111A1 (en) Non-Volatile Memory And Method With Improved Data Scrambling
US9183938B2 (en) Nonvolatile memory device and method of programming nonvolatile memory device
TW201007737A (en) Method for page and block based scrambling in non-volatile memory
JP6994136B1 (en) Monotonic counter in memory
US10748598B2 (en) Memory devices with selective page-based refresh
KR20160050394A (en) Memory System, and Methods of Operating the Memory System
TW201535115A (en) Memory system controller including a multi-resolution internal cache
US11347479B2 (en) Memory system
US11386018B2 (en) Memory system and operating method thereof
US11307777B2 (en) Memory system and operating method thereof
US11288007B2 (en) Virtual physical erase of a memory of a data storage device

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees