TWI352354B - Method for preventing read-disturb happened in non - Google Patents
Method for preventing read-disturb happened in non Download PDFInfo
- Publication number
- TWI352354B TWI352354B TW096151575A TW96151575A TWI352354B TW I352354 B TWI352354 B TW I352354B TW 096151575 A TW096151575 A TW 096151575A TW 96151575 A TW96151575 A TW 96151575A TW I352354 B TWI352354 B TW I352354B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- read
- count value
- stored
- volatile memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
PSPD-2007-0026 25292twf.doc/p 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種儲存媒髀从^ 右肋认 _ I體的碩取技術,且特別是 有關於一種防止非揮發性記憶體^ ^ ^ ^ ^ 控制器。 以生哨取干擾的方法及其 【先前技術】 以及於數位減、具㈣4目功㈣手機侧, 需求也+分迅速’所叫得龍者_存媒體的 劇增加。綜觀現今所有的儲存媒體而言,由於供 »憶體(Fhsh Me丽y)具有資料非揮發性、省電、體 及錢械結構等特性,所以最適合内建於上述Ϊ 二」2種可攜式多媒體装置中。再者,由於小型記憶卡 碟科接式產品對於現代人而言的需求也很大,所 旦η豕快閃記憶體的製造廠商無不朝向讓快閃記憶體的容 里,交得更大及使用穩定度提升的研發方向而努力琢磨著。 _ 一般而言,快閃記憶體的種類大致可以按照製程的精 =程度而分成兩種。而眾所皆知的是,由較低精密程度^ 製程所製作出來的是單層記憶胞(Single Level Cell,SLC) [夬閃記憶體,而由較高精密程度之製程所製作出來的是 日。匕憶胞(Multi Level Cell, MLC)快閃記憶體。其中,多 層1己憶胞快閃記憶體的記憶容量會高於單層記憶胞快閃記 憶體的記憶容量 ’但是多層記憶胞快閃記憶體的使用穩定 度部會比單層記憶胞快閃記憶體的使用穩定度來得低。 然而,無論是對多層記憶胞快閃記憶體或是單層記憶 1352354 PSPD-2007-0026 25292twf.doc/p 胞快閃記憶體内的同一個區塊所儲存的資料進行多次讀取 時,例如十萬豈百萬次間的讀取次數,报有可能會發生所 =取的資料是錯誤的’甚至此被多次讀取區塊内所儲存的 資料會發生異常或运失。而此類現象以本發明領域具有通 苇知識者慣稱為『讀取干擾』。也亦因有 著1樣的現象存在著,無不驅使著各家廠商必須發展出防 止讀取干擾的技術,藉以來有效地抑制讀取干擾發生的機 率。 【發明内容】 有鑑於此,本發明的目的就是提供一種防止非揮發性 f思體發生讀取干擾的方法及其控制器,其可有效地抑制 項取干擾發生&機率,以正核地讀取非揮發性記憶體内所 儲存的所有資料。 基於上述及其所欲達成之目的,本發明提出一種防止 非揮發性S己憶體發生讀取干擾的方法,其適用於非揮發性 #憶體儲存|置,其+非揮發性記憶體具有彡數個區塊, 且故些區塊至少分成一資料群組及一備用群组,而每一個 區塊具有多數個分頁。本發明所提出的防止非揮發性記憶 體發生讀取干擾的方法包括下列步驟:首先,紀錄資料群 組的β些區塊中至少-第—區塊被讀取的次數。接著,當 第一區塊之f買取次數大於一個預設值時,更新第一區塊内 原先所儲存的資料。 於本發明一選擇實施例中,紀錄第一區塊被讀取的次 數之步驟包括n讀取錢表紀錄第—區塊被讀取的 6 1352354 PSPD-2007-0026 25292twf.doc/p 次數。其中,此讀取次數表具有對應第一區塊的一第一計 數值’且此第一計數值用以表示為第一區塊被讀取的次數。 於本發明另一選擇實施例中,紀錄第一區塊被讀取的 次數之步驟包括:利用一讀取次數表紀錄第一區塊的該些 分頁中至少一_一分頁被讀取的次數。其中’所述讀取次 數表具有對應第一分頁的一第一計數值,且此第一計數值 用以表示為第一區塊被讀取的次數。PSPD-2007-0026 25292twf.doc/p IX. Description of the Invention: [Technical Field] The present invention relates to a mastering technique for storing media from the right rib, and particularly relates to a Prevent non-volatile memory ^ ^ ^ ^ ^ controller. The method of taking the whistle to take the interference and its [previous technique] and the digital subtraction, (4) 4 mesh power (4) mobile phone side, the demand is also + points quickly 'the caller's dragon _ save the media drama increased. Looking at all the storage media today, because of the non-volatile, power-saving, physical and mechanical structure of the materials, Fhsh Me Li y is the most suitable for the above two types. Portable multimedia device. In addition, because the small memory card and disc-connected products are also in great demand for modern people, the manufacturers of the 豕 豕 flash memory are all facing the volume of the flash memory. And try to use the development direction of stability improvement. _ In general, the types of flash memory can be roughly divided into two according to the degree of precision of the process. What is well known is that the single level memory cell (SLC) is produced by the lower precision level process, and the process is made by a higher precision process. day. Multi Level Cell (MLC) flash memory. Among them, the memory capacity of the multi-layered memory cell will be higher than that of the single-layer memory cell flash memory, but the stability of the multi-layer memory cell flash memory will be faster than that of the single-layer memory cell. The memory usage stability is low. However, whether the data stored in the same block of the multi-layer memory cell flash memory or the single-layer memory 1352354 PSPD-2007-0026 25292twf.doc/p cell flash memory is read multiple times, For example, the number of readings between 100,000 and a million times, the report may occur that the data taken is wrong 'even even the data stored in the block is read abnormally or lost. Such phenomena are commonly referred to as "reading interference" by those having knowledge of the field of the invention. There are also such phenomena, which have driven manufacturers to develop technologies that prevent read interference, effectively suppressing the probability of read interference. SUMMARY OF THE INVENTION In view of the above, an object of the present invention is to provide a method for preventing non-volatile f-study from occurring, and a controller thereof, which can effectively suppress occurrence of interference and probability of occurrence, and positively Read all data stored in non-volatile memory. Based on the above and the objects to be achieved, the present invention provides a method for preventing read disturb of non-volatile S-resonance, which is suitable for non-volatile memory, and its non-volatile memory has There are a plurality of blocks, and thus the blocks are divided into at least one data group and one standby group, and each block has a plurality of pages. The method for preventing read disturb of non-volatile memory proposed by the present invention comprises the following steps: First, the number of times at least - the first block of the beta blocks of the data group is read. Then, when the number of f purchases of the first block is greater than a preset value, the original stored data in the first block is updated. In an alternative embodiment of the invention, the step of recording the number of times the first block is read includes n reading the money record to record the number of times the block is read 6 1352354 PSPD-2007-0026 25292 twf.doc/p. The read count table has a first count value corresponding to the first block and the first count value is used to indicate the number of times the first block is read. In another optional embodiment of the present invention, the step of recording the number of times the first block is read includes: recording, by using a read times table, the number of times at least one of the pages of the first block is read. . Wherein the read count table has a first count value corresponding to the first page, and the first count value is used to indicate the number of times the first block is read.
於本發明一選擇實施例中’更新第一區塊内原先所儲 f的資料之步驟包括:首先,將第一區塊内原先所儲存的 資料複製至備用群組中的一第二區塊,其中所述讀取次數 表更具有對應第二區塊的一第二計數值,且此第二計數值 用以表不為第二區塊被讀取的次數。接著,以第二區塊替 代第一區塊’並且更新所述第一計數值。 於本發明一選擇實施例中,更新第一區塊内原先所儲 存的資料之步驟更包括:首先,將相鄰於第一區塊的至少In an optional embodiment of the present invention, the step of updating the data stored in the first block includes: firstly, copying the original data stored in the first block to a second block in the standby group. The read count table further has a second count value corresponding to the second block, and the second count value is used to indicate the number of times the second block is read. Next, the first block is replaced with the second block' and the first count value is updated. In an optional embodiment of the present invention, the step of updating the originally stored data in the first block further comprises: first, at least adjacent to the first block.
二第二區塊内原先所儲存的資料複製至備用群組中的第四 區塊’其中所述讀取次數表更具有對應第三區塊及第四區 塊的第二計數值與一第四計數值,且此第三計數值及第 四汁數值用以各別表示為第三區塊及第區塊被讀取的次 數。接著,以第四區塊替代第三區塊,並且更新所述第三 計數值。 於本發明另一選擇實施例中,更新第一區塊内原先所 啫^的-貝料之步驟包括.首先,將第一區塊内原先所儲存 的ΐ料複‘至備用群組中的—第二區塊,其中所述讀取次 7 1352354 PSPD-2007-0026 25292twf.doc/p 數表更具有對應第二區塊的該些分頁中至少一第二分頁的 一第二計數值,且此第二計數值用以表示為第二區塊被讀 取的次數。接著,以第二區塊替代第一區塊,並且更新所 述第一計數值。 於本發明另一選擇實施例中,更新第一區塊内原先所 儲存的資料之步驟更包括:首先,將相鄰於第一區塊的至 少一第三區塊内原先所儲存的資料複製至備用群組中的一 第四區塊’其中所述讀取次數表更具有對應第三區塊的該 些分頁中至少一第三分頁的一第三計數值及第四區塊的該 些分頁中至少一第四分頁的一第四計數值,且此第三計數 值及第四計數值用以各別表示為第三區塊及第四區塊被讀 取的次數。接者’以弟四區塊替代第三區塊,並且更新所 述第三計數值。 於本發明再一選擇實施例中’更新第一區塊内原先所 健存的資料之步驟包括:首先,將第一區塊内原先所儲存 的資料讀出,並暫存於非揮發性記憶體儲存農置之控制器 的緩衝記憶體内。接著,抹除第一區塊。之後,將緩衝記 憶體内暫存第一區塊内原先所儲存的資料寫回至第一區 塊。最後,更新所述第一計數值。 於本發明再一選擇實施例中,更新第一區塊内原先所 儲存的資料之步驟更包括:首先’將相鄰於第一區塊的至 少一第二區塊内原先所儲存的資料讀出,並暫存於所述緩 衝記憶體内,其中所述讀取次數表更具有對應第二區塊的 第一计數值,且此第一叶數值用以表不為第二區塊被讀 8 1352354 PSPD-2007-0026 25292twf.doc/p 取的次數。接著’抹除第二區塊 内 最 ^第二區塊内縣所儲存”料= 後,更新所述第二計數值。 e鬼 從另 娜來看’本翻提供-獅场揮發性# 體七生讀取干擾的方法’適用於—非揮發性^計隱 ::其中揮發性記憶體具有多數個區塊,且每:個區=The data stored in the second block is copied to the fourth block in the standby group. The read count table further has a second count value corresponding to the third block and the fourth block. The four count values, and the third count value and the fourth juice value are respectively indicated as the number of times the third block and the first block are read. Next, the third block is replaced with the fourth block, and the third count value is updated. In another optional embodiment of the present invention, the step of updating the original-before-in-the-bean in the first block includes: first, copying the original stored data in the first block to the standby group. a second block, wherein said read times 7 1352354 PSPD-2007-0026 25292 twf.doc/p number table further has a second count value corresponding to at least one of the plurality of pages of the plurality of pages of the second block And the second count value is used to indicate the number of times the second block is read. Next, the first block is replaced with the second block, and the first count value is updated. In another optional embodiment of the present invention, the step of updating the originally stored data in the first block further comprises: first, copying the original stored data in the at least one third block adjacent to the first block. And a fourth block in the standby group, wherein the read count table further has a third count value corresponding to at least one third of the pages of the third block and the fourth block A fourth count value of at least one fourth page of the page, and the third count value and the fourth count value are respectively used to indicate the number of times the third block and the fourth block are read. The receiver replaces the third block with the fourth block and updates the third count value. In another optional embodiment of the present invention, the step of updating the originally stored data in the first block includes: firstly, reading the original stored data in the first block and temporarily storing the data in the non-volatile memory. The body stores the buffer memory of the farm controller. Next, erase the first block. After that, the buffered memory is temporarily written back to the first block in the first block stored in the first block. Finally, the first count value is updated. In still another optional embodiment of the present invention, the step of updating the originally stored data in the first block further comprises: first reading: the original stored information in the at least one second block adjacent to the first block. And being temporarily stored in the buffer memory, wherein the read count table further has a first count value corresponding to the second block, and the first leaf value is used to indicate that the second block is read. 8 1352354 PSPD-2007-0026 25292twf.doc/p Number of fetches. Then, 'Erase the second store in the second block to store the material in the second block', then update the second count value. e Ghost from the other side to see 'this turn offer - lion field volatile # body Seven students read the interference method 'Applicable to - non-volatile ^ count hidden:: Volatile memory has a majority of blocks, and each: area =
的防止非揮發性記憶體發; 儲广㈣ 'L TH百先,將轉發性記憶體 置I ΐ之控咖所執行用以控制詩發性記憶體儲存裝 ,的程式觸齊於婦區塊中的至少—第—區塊。接著, 二仏電至非揮發性記憶體儲存裝置時,將第—區塊内所儲 子的程式碼複製至該些區塊中的至少一第二區塊。 在本發明的一選擇實施例中,本發明所提出的防止非 七1^5己憶體發生讀取干擾的方法更包括以下步驟:紀錄 —一區塊被讀取的次數,並且當第二區塊之讀取次數大於 個預設值時,更新第二區塊内所儲存的程式碼。 於本發明一選擇實施例中’紀錄第二區塊被讀取的次 ,之步驟包括:利用一讀取次數表紀錄第二區塊被讀取的 -欠數’其中所述讀取次數表具有對應第二區塊的一第一計 數值,且此第一計數值用以表示為第二區塊被讀取的次數。 於本發明另一選擇實施例中,紀錄第二區塊被讀取的 -欠數之步驟包括:利用一讀取次數表紀錄第二區塊的該些 分頁中至少一第一分頁被讀取的次數,其中所述讀取次數 表具有對應第一分頁的一第一計數值,且此第一計數值用 9 1352354 PSPD-2007-0026 25292twf.doc/p 以表示為該第二區塊被讀取的次數。 於本發明一選擇實施例中,更新第二區塊内所儲存的 程式碼之步驟包括:首先,將第二區塊内所儲存的程式碼 複製至該些區塊中的至少一第三區塊,其中所述讀取次數 表更具有對應第三區塊的一第二計數值,且此第二計數值 用以表示為第三區塊被讀取的次數。接著,以第三區塊替 代第二區塊,並且更新所述第一計數值。 於本發明一選擇實施例中’更新第二區塊内所儲存的 ® 程式碼之步驟更包括:首先,將相鄰於第二區塊的至少— 第四區塊内原先所儲存的資料複製至該些區塊中的一第五 區塊’其中所述讀取次數表更具有對應第四區塊及第五區 塊的一第三計數值與一第四計數值,且此第三計數值及第 四汁數值用以务別表示為第四區塊及第五區塊被讀取的次 數。接著’以第五區塊替代第四區塊,並且更新所述第三 計數值。 於本發明另一選擇實施例中’更新第二區塊内所儲存 • 的程式碼之步驟包括:首先,將第二區塊内所儲存的程式 碼複製至該些區塊中的至少一第三區塊,其中所述讀取次 數表更具有對應第三區塊的該些分頁中至少一第二分頁的 一第一計數值,且此第二計數值用以表示為第三區塊被讀 取的次數。接著,以第三區塊替代第二區塊,並且更新所 述第一計數值。 於本發明芦一選擇實施例中,更新第二區塊内所儲存 的程式竭之步驟更包括:首先,將相鄰於第二區塊的至少 1352354 PSPD-2007-0026 25292twf.doc/p 一第四區塊内原先所儲存的資料複製至該些區塊中的一第 五區塊,其中所述讀取次數表更具有對應第四區塊的該些 分頁中至少一第三分頁的一第三計數值及第五區塊的該些 分頁中至少一第四分頁的一第四計數值,且此第三計數值 及第四計數值用以各別表示為第四區塊及第五區塊被讀取 的次數。接著以第五區塊替代第四區塊,並且更新所述 第三計數值。 於本發明再一選擇實施例中,更新第二區塊内所儲存 的程式碼之步驟包括:首先,將第二區塊内所儲存的程式 碼讀出,並暫存於所述控制器的缓衝記憶體内。接著,抹 除第二區塊。之後,將緩衝記憶體内暫存第二區塊内所儲 存的程式碼寫回至第二區塊。最後,更新所述第一計數值。 於本發明再一選擇實施例中’更新第二區塊内所儲存 的程式碼之步驟更包括:首先’將相鄰於第二區塊的至少 —第三區塊内原先所儲存的資料讀出’並暫存於緩衝記憶 體内’其中所述讀取次數表更具有對應第三區塊的一第二 計數值,且此第二計數值用以表禾為第三區塊被讀取的次 數。接著,抹除第三區塊。之後,將緩衝記憶體内暫存第 三區塊内原先所儲存的資料寫回炱第三區塊。最後,更新 所述第二計數值。 士 於本發明一選擇實施例中,所述讀取次數表儲存於非 揮發性記憶體的内部或外部。 於本發明一選擇實施例中,#揮發性記憶體為單層記 憶胞快閃滤體或#層記憶胞快’憶體。 1352354 PSPD-2007-0026 25292twf.d〇c/p 再從另-觀點來看,本發明提供—種 記Γ體儲存裝置,所述控制器包“二單 模电面、緩触憶體,叹記憶體管理 、椒。/、中,微處理I元用以控騎述控制器的整體運作。 料騎電性辆至微處科元,並且用以 ί itn,㈣’射揮發性記㈣具❹數個區 鬼且I區塊至少分成一資料群組及Preventing non-volatile memory from being emitted; Storage and Broadcasting (4) 'L TH hundred first, the transferable memory is set to control the execution of the poetic memory storage device, and the program touches the female block. At least - the first block. Then, when the device is switched to the non-volatile memory storage device, the code of the storage in the first block is copied to at least one of the second blocks. In an optional embodiment of the present invention, the method for preventing read interference caused by the non-seven memory of the present invention further includes the following steps: recording - the number of times a block is read, and when the second When the number of readings of the block is greater than a preset value, the code stored in the second block is updated. In an alternative embodiment of the present invention, 'recording the second block to be read, the step of: recording a second block read-under number using a read count table, wherein the read count table There is a first count value corresponding to the second block, and the first count value is used to indicate the number of times the second block is read. In another optional embodiment of the present invention, the step of recording the second-block read-under-number includes: recording, by using a read times table, at least one of the first pages of the second block is read The number of times, wherein the read count table has a first count value corresponding to the first page, and the first count value is represented by 9 1352354 PSPD-2007-0026 25292 twf.doc/p to indicate that the second block is The number of reads. In an optional embodiment of the present invention, the step of updating the code stored in the second block includes: first, copying the code stored in the second block to at least one third of the blocks a block, wherein the read count table further has a second count value corresponding to the third block, and the second count value is used to indicate the number of times the third block is read. Next, the second block is replaced with the third block, and the first count value is updated. In an alternative embodiment of the present invention, the step of updating the stored code of the second block includes: first, copying the original stored data in at least the fourth block adjacent to the second block. a fifth block in the blocks, wherein the read count table further has a third count value and a fourth count value corresponding to the fourth block and the fifth block, and the third count The value and the fourth juice value are used to indicate the number of times the fourth block and the fifth block are read. The fourth block is then replaced by the fifth block and the third count value is updated. In another alternative embodiment of the present invention, the step of updating the code stored in the second block includes: first, copying the code stored in the second block to at least one of the blocks a third block, wherein the read count table further has a first count value corresponding to at least one second page of the plurality of pages of the third block, and the second count value is used to represent the third block The number of times that it was read. Next, the second block is replaced with the third block, and the first count value is updated. In the selected embodiment of the present invention, the step of updating the stored procedures in the second block further includes: first, at least 1352354 PSPD-2007-0026 25292 twf.doc/p adjacent to the second block. The data stored in the fourth block is copied to a fifth block of the blocks, wherein the read count table further has one of the at least one third page of the pages corresponding to the fourth block. a third count value and a fourth count value of at least one of the plurality of pages of the fifth block, and the third count value and the fourth count value are respectively represented as the fourth block and the fifth The number of times the block was read. The fourth block is then replaced with a fifth block and the third count value is updated. In still another optional embodiment of the present invention, the step of updating the code stored in the second block includes: first, reading the code stored in the second block and temporarily storing the code in the controller Buffer memory. Next, erase the second block. After that, the code stored in the second block of the buffer memory is written back to the second block. Finally, the first count value is updated. In a further alternative embodiment of the present invention, the step of updating the code stored in the second block further comprises: first reading the information originally stored in at least the third block adjacent to the second block. Out and temporarily stored in the buffer memory, wherein the read count table further has a second count value corresponding to the third block, and the second count value is used to read the third block The number of times. Next, erase the third block. After that, the previously stored data in the third block of the buffer memory is written back to the third block. Finally, the second count value is updated. In an alternative embodiment of the invention, the read order table is stored internally or externally to the non-volatile memory. In an alternative embodiment of the invention, the #volatile memory is a single layer memory cell flash filter or a # layer memory cell fast' 1352354 PSPD-2007-0026 25292twf.d〇c/p From another point of view, the present invention provides a type of memory storage device, the controller package "two single-mode electrical surface, slow touch memory, sigh Memory management, pepper, /, medium, micro-processing I is used to control the overall operation of the controller. It is suitable for riding the electric vehicle to the micro-section, and is used to ί itn, (4) 'shooting volatile record (four) with a few district ghosts and the I block is divided into at least one data group and
S憶體嫌連接至微處理單元,並且用以暫二儲;ΐ 料0 ·. …記憶體管理模組會電性連接至微處理單元,並且用以 S理非揮發彳i記憶體,其巾此記紐管理模組會孰行一防 止該非揮發性記憶體發生讀取干擾的方法,該方法包括下 列步驟.首先,紀錄資料群組的該些區塊巾至少—第一區 塊被讀取的缝。接著,當第—區塊之讀取次數大於一個 預設值時,更新第一區塊内原先所儲存的資料。 於本發明—選擇實施例中,紀錄第一區塊被讀取的次 ,之步驟包括:利用一讀取次數表紀錄第—區塊被讀取的 次數,其中所述讀取次數表具有對應第一區塊的一第一計 數值’且此第1計數值用以表示為第一區塊被讀取的次數。 於本發明一選擇實施例中,更新第一區塊内原先所儲 存的資料之步驟包括:首先,將第一區塊内原先所儲存的 資料重新寫回第一區塊,並且更新所述第一計數值;或者, 將第一區塊内原先所儲存的資料複製至備用群組中的一第 二區塊’並以第二區塊替代第一區塊,且更新所述第—計 12 1352354 PSPD-2007-0026 25292twf.d〇c/p 數值。其中,所述讀取次數表更具有對應第二區塊的一第 二計數值,且此第二計數值用以表示為第二區塊被讀取的 次數。S memory is connected to the micro-processing unit, and is used for temporary storage; 0 0 0. The memory management module is electrically connected to the micro-processing unit, and is used for the storage of non-volatile memory. The ticket management module performs a method for preventing read disturb of the non-volatile memory. The method includes the following steps. First, at least the first block of the record data group is read. Take the seam. Then, when the number of readings of the first block is greater than a preset value, the original stored data in the first block is updated. In the present invention, in the embodiment, the step of reading the first block is recorded, and the step of: recording the number of times the first block is read by using a reading number table, wherein the reading times table has a corresponding A first count value of the first block 'and the first count value is used to indicate the number of times the first block is read. In an optional embodiment of the present invention, the step of updating the originally stored data in the first block includes: first, rewriting the originally stored data in the first block back to the first block, and updating the first a count value; or, copying the originally stored data in the first block to a second block in the spare group and replacing the first block with the second block, and updating the first 12 1352354 PSPD-2007-0026 25292twf.d〇c/p value. The read count table further has a second count value corresponding to the second block, and the second count value is used to indicate the number of times the second block is read.
於本發明一選擇實施例中,更新第一區塊内原先所儲 存的資料之步驟更皂括:將相鄰於第一區塊的至少一第三 區塊内原先所儲存的資料同時更新。其中,所述讀取次數 表更具有對應第三區塊的一第三計數值,且此第三計數值 用以表不為第二區塊被言買取的次數0 丹攸力----------« T M…八K — ^徑制器,其適用 於-非揮發性記憶體儲存裝置,該控制器包括微處 几、非揮發性記憶體介®、緩衝記憶體,以及記憶體 ,組。其中,微處理單元用以控制所述控制器的整體^ 非揮發性記憶體介面會電性連接至微處理單元, 存取非揮發性記憶體,其中揮發性記憶體呈/用以 塊。緩衝記題會電性連接至贿理單元/並^數^區 地儲存資料。 、’且用以暫時In an alternative embodiment of the present invention, the step of updating the previously stored data in the first block is further included: simultaneously updating the data originally stored in the at least one third block adjacent to the first block. The read count table further has a third count value corresponding to the third block, and the third count value is used to indicate that the second block is bought for the number of times 0 dan 攸 force---- ------«TM...eight K —^ caliper for non-volatile memory storage devices, including micro-locations, non-volatile memory media, buffer memory, and Memory, group. The micro-processing unit is configured to control the overall non-volatile memory interface of the controller to be electrically connected to the micro-processing unit to access non-volatile memory, wherein the volatile memory is in/out of block. The buffering notes will be electrically connected to the bribe unit/and the number of areas to store the data. , and used for the time being
管理= 元,並且心 該非揮發性記憶體發生讀 二1冒執行1止 步驟:首先,將控制器田:方法,该方法包括下列 存裝置的程式碼儲存於該些【塊二,生記it體儲 著,當供電至非揮發性呓 姑乂—第—區塊。接 所儲存的程式碼複製至該;第-區塊内 仃的 於本發明—選擇實施例中,記憶體管理1 仏 1352354 PSP D-2007-0026 25292twf.doc/p 防止該非揮發性記憶體發生讀取干擾的方法更包括下列步 驟:紀錄第二區塊被讀取的次數,並且當第二區塊之讀取 次數大於一個預設值時’更新第二區塊内所儲存的程式碼。 於本發明一選擇實施例中,紀錄第二區塊被讀取的次 數之步驟包括:利用一讀取次數表紀錄第二區塊被讀取的 次數’其中所述讀取次數表具有對應該第二區塊的一第一 計數值,且此第一計數值用以表示為第二區塊被讀取的次 數。 於本發明一選擇實施例中,更新第二區塊内所儲存的 程式碼之步驟包括:將第二區塊内所儲存的程式碼重新寫 回第二區塊,並且更新所述第一計數值;或者,將第二區 塊内所儲存的程式碼複製至該些區塊中的至少一第三區 塊,並以第三區塊替代第二區塊,且更新所述第一計數值。 其中,所述讀取次數表更具有對應第三區塊的一第二計數 值且此第二計數值用以表示為第三區塊被讀取的次數。 於本發明一選擇實施例中,更新第二區塊内所儲存的 程式碼之步驟更包括:將相鄰於第二區塊的至少一第四區 塊内原先所儲存的資料同時更新。其令,所述讀取次數表 更具有對應第四區塊的一第三計數值,且此第三計數值用 以表示為第四區塊被讀取的次數。 為了要防止讀取干擾的產生,本發明所提出的防止非 揮免性記憶體發生讀取干擾的方法主要是利用讀取次數表 來記錄非揮發性記憶體内至少一 /每一區塊或分頁被讀取 的次數。藉此’當非揮發性記憶體内某一個區塊或分頁被 1352354 PSPD-2007-0026 25292twf.doc/p 讀取的次數大於預設值時,將此區塊或將此分頁所隸屬的 區塊所儲存的資料更新。因此,本發明所提出的防止非揮 發性έ己憶體發生讀取干擾的方法,不但可以有效地抑制讀 取干擾發生的機率,且可以正確地讀取非揮發性記憶體内 所儲存的所有資料。 ▲為讓本發明之上述和其他目的、特徵和優點能更明顯Management = yuan, and the heart of the non-volatile memory occurs to read two 1 to perform a stop step: First, the controller field: method, the method includes the following storage device code stored in the [block two, biographer it Stored in the body, when powered to the non-volatile 呓 乂 - the first block. Copying the stored code to the same; in the first block, in the present invention - in the selected embodiment, the memory management 1 仏 1352354 PSP D-2007-0026 25292 twf.doc / p prevents the non-volatile memory from occurring The method for reading interference further includes the steps of: recording the number of times the second block is read, and updating the code stored in the second block when the number of readings of the second block is greater than a preset value. In an optional embodiment of the present invention, the step of recording the number of times the second block is read includes: recording the number of times the second block is read by using a reading number table, wherein the reading times table has corresponding A first count value of the second block, and the first count value is used to indicate the number of times the second block is read. In an optional embodiment of the present invention, the step of updating the code stored in the second block includes: rewriting the code stored in the second block back to the second block, and updating the first meter a value; or, copying the code stored in the second block to at least one third block of the blocks, replacing the second block with the third block, and updating the first count value . The read count table further has a second count value corresponding to the third block and the second count value is used to indicate the number of times the third block is read. In an optional embodiment of the present invention, the step of updating the code stored in the second block further comprises: simultaneously updating the data stored in the at least one fourth block adjacent to the second block. Therefore, the read count table further has a third count value corresponding to the fourth block, and the third count value is used to indicate the number of times the fourth block is read. In order to prevent the occurrence of read disturb, the method for preventing read disturb of the non-volatile memory proposed by the present invention mainly uses a read count table to record at least one/each block in the non-volatile memory or The number of times the page was read. Therefore, when a certain block or page in the non-volatile memory is read by the 1352354 PSPD-2007-0026 25292twf.doc/p is greater than the preset value, the block or the area to which the page belongs is The data stored in the block is updated. Therefore, the method for preventing read disturb of the non-volatile memory of the present invention can not only effectively suppress the probability of occurrence of read interference, but also correctly read all stored in the non-volatile memory. data. ▲In order to make the above and other objects, features and advantages of the present invention more apparent
易懂,下文特舉本發明之較佳實施例,並配合所附圖式, 作泮細說明如下。 【實施方式】 本發明所欲達成的技術功效係為有效地抑制讀取干擾 發生的機率,藉以達到正確地讀取非揮發性記憶體内所儲 存白!所有資料。而以下之内容將係針對本案之技術特徵與 所奴達成之技術功效做一詳加描述,藉以提供給本發明相 關領域之技術人員參詳。 圖1繪示為非揮發性記憶體儲存裝置1〇〇的系統方」 圖。:參照圖1 ’非揮發性記憶體儲存裝置1〇〇 一般包; 控制器101與非揮發性記憶體103。其中,控制器101 } ,制非揮發&記憶體儲存裝置⑽的整體運作,例如] ^的储存、4取與抹除等。於本實施射,控制器^ 兰記憶體管理模組101a、非揮發性記憶體介面1〇1卜緩系 L體101c與;^處理單元1〇ld。《中,記憶體管理模多 用以管理非揮發性記憶體⑻,例如執行本發明咐 =防^轉發性記憶體發生讀取干擾(read disturb)白 損壞區塊管理、維護對映表(脱卯_刚e )等。 15 PSPD-2007-0026 25292twf.doc/p 103 機、攝影機、衝置未;;二可以是⑽ 存資料的任意系統)欲寫二視訊播放器等可儲 體介面101b轉換為非揮發 體^曰經由非揮發性記憶 式。 性口己^思體1〇3所能接受的資料格 緩衝記憶體l〇lc用以 表)或者主機所欲讀取#資料(例如對映 1Π1 寫入的_貝料。在本實施例中,緩 。心& ^為阼‘%隨機存取記憶體(static mnd〇m aCC:SSm_ry,SRAM)。然而,必 態隨機存取記憶體⑽鳩)、磁阻式記憶體 ._綱、相g記㈣(pRAM)或其他適合的記憶體亦可 應用於本發明。微處理單元㈣用以控制控制器仙 體運作。 方、本貫施例控制器101更包括主機傳輸介面 l〇le、錯誤校正模組l〇1f、電源管理模組1〇lg,以及程式 s己憶體101h。其中,主機傳輸介面1〇le用以與主機通訊。 於此’主機傳輸介面l〇lc可以是USB介面、IEEE 1394 介面、SATA介面、PCI Express介面、SAS介面、MS介 面、MMC介面、SD介面、CF介面或ide介面。 錯誤校正模組l〇lf用以計算錯誤校正碼(error correcting code),藉以來檢查與校正主機所讀取或寫入的 資料。電源管理模組101g用以管理非揮發性記憶體儲存裝 置100的電源。程式記憶體101h用以儲存控制器1〇1所執 1352354 PSPD-2007-0026 25292twf.doc/p 订用以控制非揮發性記憶體儲存裝i觸的程式碼。 非揮發性記憶體1〇3用以儲存資料。於本實施例中, 非,發性記憶體1〇3為快閃記憶體,且此快閃記憶體可以 為早層記憶胞(SLC)快閃記憶體或多層記憶胞(m 快閃記憶體。 眾所皆知的是,非揮發性記憶體 個塊且每-個實;區 =SiriL(page)。於本實施例中’非揮發性記 =么具有錄個區塊Β『Β_方式並不限制如圖i f繪不般),且每一個區塊皆會如區塊B〇般具有多 數固^頁PG~Pm(排列方式並不限制如圓i所繪示般)。 料;每—個分頁通常包括有㈣記赫D魚資 以,資料記憶區D用以儲存使用者的資^ 用以儲存系統的資料,例如上述之誤差 更正馬(error correction code,ECC)。 '差 為了有效率地f理非揮發性記憶體他, 揮發性記,_ 1G3的區塊B。〜&在邏輯上二, 、=属貧料群組與_群組。— —體1鮮 :屬的區塊會佔據所有區塊t=;°3 二=下的區塊才屬於系統群紐與備用群組。其中 、, ''的區塊主要是用以記錄系統資料,例如3關系 揮發性記憶體103的區域數、每—區域+疋,# 塊的分、卿實體對映表·.等/ £ 4數、母1 資料群組令的區塊主要是用以儲存使用者的資料。傷 1352354 PSPD,2007-0026 25292twf.doc/p 多次=時對f揮發性記憶體103進行 的防止非揮發性記憶體發本發明所提出 明,藉以讓本發明相關領域二行詳細的說BRIEF DESCRIPTION OF THE DRAWINGS The preferred embodiments of the present invention are described in detail below with reference to the accompanying drawings. [Embodiment] The technical effect to be achieved by the present invention is to effectively suppress the probability of occurrence of read disturb, thereby achieving accurate reading of all the data stored in the non-volatile memory. The following content will be described in detail for the technical features of the case and the technical effects achieved by the slave, and will be provided to the technical personnel of the relevant fields of the present invention. FIG. 1 is a schematic diagram of a system of a non-volatile memory storage device. Referring to Fig. 1 'non-volatile memory storage device 1 〇〇 general package; controller 101 and non-volatile memory 103. Wherein, the controller 101 }, the non-volatile & memory storage device (10) overall operation, such as ^ ^ storage, 4 fetch and erase. In the present embodiment, the controller ^ blue memory management module 101a, the non-volatile memory interface 1 〇 1 slow system L body 101c and ^ ^ processing unit 1 〇 ld. In the middle, the memory management module is used to manage non-volatile memory (8), for example, to perform the present invention. 防=Protective memory, read disturb, white-damaged block management, maintenance mapping table (dislocation) _ just e) and so on. 15 PSPD-2007-0026 25292twf.doc/p 103 machine, camera, punching;; two can be (10) any system for storing data) to write a two-video player such as the storage interface 101b converted to non-volatile body ^ Via non-volatile memory. The mouth of the body is 1 〇 3 can accept the data buffer memory l 〇 lc for the table) or the host wants to read # data (for example, the Π 料 写入 写入 。 。 。 。. , heart & ^ is 阼 '% random access memory (static mnd〇m aCC: SSm_ry, SRAM). However, the state of random access memory (10) 鸠), magnetoresistive memory. Phase (4) (pRAM) or other suitable memory can also be used in the present invention. The microprocessor unit (4) is used to control the operation of the controller. The local and local embodiment controller 101 further includes a host transmission interface, a fault correction module l〇1f, a power management module 1〇lg, and a program s memory 101h. The host transmission interface is configured to communicate with the host. The host transmission interface l lc can be a USB interface, an IEEE 1394 interface, a SATA interface, a PCI Express interface, a SAS interface, an MS interface, an MMC interface, an SD interface, a CF interface, or an ide interface. The error correction module l〇lf is used to calculate an error correcting code, and the data read or written by the host is checked and corrected. The power management module 101g is for managing the power of the non-volatile memory storage device 100. The program memory 101h is used to store the controller 1〇1. 1352354 PSPD-2007-0026 25292twf.doc/p The code for controlling the non-volatile memory storage device is configured. Non-volatile memory 1〇3 is used to store data. In this embodiment, the non-volatile memory 1〇3 is a flash memory, and the flash memory may be an early memory cell (SLC) flash memory or a multi-layer memory cell (m flash memory). It is well known that non-volatile memory blocks and each real area = SiriL (page). In this embodiment, 'non-volatile record= has a recorded block Β Β _ way It is not restricted as shown in the figure of if), and each block will have a majority of solid pages PG~Pm like block B (the arrangement is not limited as shown by circle i). Each of the pages usually includes (4) records of the fish, and the data memory area D is used to store the user's data for storing the system data, such as the above error correction code (ECC). 'Poor in order to efficiently deal with non-volatile memory, volatile, _ 1G3 block B. ~& logically, 2, = is a poor group and _ group. - Body 1 Fresh: The block of the genus will occupy all the blocks t=; °3 The block under the second = belongs to the system group and the standby group. Wherein, the block of '' is mainly used to record system data, such as the number of regions of the 3 relational volatile memory 103, the per-region + 疋, the division of the # block, the binary entity mapping table, etc. / £ 4 The block of the number and parent 1 data group is mainly used to store the user's data. Injury 1352354 PSPD, 2007-0026 25292twf.doc/p Multiple times = anti-volatile memory for f volatile memory 103 is proposed by the present invention, so that the second line of the relevant field of the present invention is described in detail.
圖2繪示為本發明一實施例之防 生讀取干擾的方法流程圖。請合併參照2 t實 W列之防止轉雜記憶體發生讀取顿的方法包括下列 步驟.首先,如步驟S2()1所述,紀錄隸屬於資料群組的 所有區塊中至少一第一區塊被讀取的次數。 於本實施例中,紀錄資料群組中每—個區塊被讀取的 -人數主要疋利用一Ί買取次數表來記錄的,其中此讀取次數 表可以儲存在缓衝記憶體l〇lc,但並不限制於此。另外, 控制器101會控制管理其内部的一計數器(未繪示)去計 數負料群組令母一區塊被言買取的次數,並且將資料群組中 母一區塊被項取的次數紀錄於讀取次數表中。因此,讀取 •^數表中就會具有多數個對應貧料群組中每一個區塊的/ 計數值,而這些計數值則分別表示為資料群組中每一個區 塊被讀取的次數。舉例來說,當讀取次數表中用以紀錄資 料群組中區塊B〇被讀取之次數的計數值為1〇〇時,即表示 區塊B〇内所儲存的資料已被讀取了 100次。 基此,本實施例即利用上述讀取次數表紀錄第一區塊 1352354 PSPD-2007-0026 25292twf.doc/p 被讀取的次數,且此讀取次數表具有對 -計數值’其中該第一計數值_ =-=第 取的次數。 I不為弟-區塊被讀 於此值付-㈣是,在非揮發性記憶體 的運作顧,每當讀取資料群財的任—區 ^ 憶體如内之讀取次數表所紀錄的内容就會 被^2 is a flow chart of a method for preventing read interference according to an embodiment of the present invention. Please combine the reference to the 2 t real W column to prevent the miscellaneous memory from being read. The method includes the following steps. First, as described in step S2 () 1, recording at least one of all the blocks belonging to the data group. The number of times the block was read. In this embodiment, the number of people read in each block of the record data group is mainly recorded by using a buy order table, wherein the read count table can be stored in the buffer memory l lc , but not limited to this. In addition, the controller 101 controls a counter (not shown) that manages its internal counting to count the number of times the negative group is called a block, and the number of times the parent block is taken by the item in the data group. Recorded in the readings table. Therefore, the read/number table has the /count value of each of the plurality of corresponding lean groups, and these count values are respectively expressed as the number of times each block in the data group is read. . For example, when the count value of the number of times the block B is read in the record data group is 1〇〇, it means that the data stored in the block B〇 has been read. 100 times. Therefore, in this embodiment, the number of times that the first block 1352354 PSPD-2007-0026 25292 twf.doc/p is read is recorded by using the above-mentioned reading times table, and the reading number table has a pair-count value 'where the number A count value _ =-= the number of times taken. I is not a brother - the block is read at this value - (4) is, in the operation of non-volatile memory, whenever you read the data group, the record of the number of readings in the area The content will be ^
器皿所更新,並且例如在非揮發性記憶體儲存裂 ,運作或者,作-定次數後’讀取次數料所紀錄的 内谷就會被控制器101紀錄至系統群組的至少—區塊中, 或者會被相對應的紀錄於被讀取之區塊的資料冗餘區R 中’而此備份動作是為了魏免因非揮發性記憶體儲存裝 置100發生不正常斷電所造紅更新之讀取次數表所紀錄 的内容遺失。 故依據上述可知,上述讀取次數表可以儲存在非揮發 性記憶體103的外部(亦即儲存在控制器1〇1内部的緩衝 記憶體105令),且亦可以儲存在非揮發性記憶體1〇3的 内部(亦即儲存在系統群組的至少一區塊中或儲存於被讀 取之區塊的資料冗餘區R中),甚至更可以獨身自立於^ 制器101的系統當中。此外,上述被控制器1〇1所控制管 理的計數器之計數方式可以設計成上數或下數。 接著,如步驟S203所述,當資料群組中的第一區塊 之讀取次數大於預設值時,更新第一區塊内原先所儲存的 資料。於本實施例中,假設資料群組中的第一區塊(例如 區塊B〇)之讀取次數大於預設值(即有可能發生讀取干擾 1352354 PSPD-2007-0026 25292twf.doc/p .的讀取次數,例如百萬次’但不限制於此)時,此時控制器 1G1會將第-區塊B。_先所儲存的f料複製至備用群植 中的-第二區塊(例如區塊Bni),而此過程也就是步驟 S2〇3所述及的更新第-區塊内原先所儲存的資料;反之, 當資料群組中的第-區塊B0之讀取次數未大於預設值 時,第一區塊B 0内原先所儲存的資料並不會被更新。 於本實施例中,上述讀取次數表更具有對應此第二區 齡塊Bn]的第二計數值’且此第二計數值則用以表示為第二 區塊Βη-ι被讀取的次數。 緊接著,控制器101會再去修正邏輯實體對映表的對 應關係,以將第二區塊B n _,替代第—區塊B。,並且更新讀 取-人數表用以紀錄第-區塊B。被讀取之次數的第一計數 值’例如將紀錄第一區塊B〇被讀取之次數的第一計數值重 新歸0(亦即從百萬次的計數值歸〇)。在此值得一提的是, 過於頻繁地執行資料更新會影響整個非揮發性减體儲存 裝置100的效能,而若太長時間不執行資料更新的話,則 • 會增加㈣讀取錯誤的驗,故上咖設值的設定可以透 過多次貫驗的結果而定義出一個合理值,例如10萬次至 1〇〇〇萬次依不同的設計需求來設定不同的數值。 故依據上述可知’當第一區塊Bo之讀取次數大於百萬 次的同時’控制器101會致使第一區塊B◦内原先所儲存的 資料複製至備用群組中的第二區塊Βηι,並且修正邏輯實 體對映表的對應關係,以將第二區塊Blll替代第一區塊 B〇 ’所以本貫施例之防止非揮發性記憶體發生讀取干擾的 20 1352354 PSPD-2007-0026 25292twf.doc/p . 方法即可有效地抑制對非揮發性記憶體i〇3於一特定的區 塊進行多次讀取時所發生的讀取干擾。 ° 然而,更得一提的是,由於製程因素的影響,當第一 區塊B〇之讀取次數越來越多的同時,有可能會間接影塑到 相鄰於第一區塊B0的一第三區塊(例如區塊Βι)内^先 所儲存的資料。因此’當第-區塊Bq之讀取次數大於百萬 次的同時,控制urn除了會致使第—區塊B〇内原先所儲 • f的資料複製至備用群組中的第二區塊Bni外,更會致使 第二區塊B!内原先所儲存的資料複製至備用群組中的一 第四區塊(例如區塊Bn)。 於本實施例中,上述讀取次數表更具有對應第三區塊 B丨及第四區塊Bn的一第三計數值與—第四計數值,且此 第二及第四計數值用以各別表示為第三區塊及第四區 ,Bn被讀取的次數。緊接著,控制器1〇1會再去修正邏輯 貫體對映表的對應關係,以將第四區塊&替代第三區塊 $,並且更新讀取次數表用以、纟己_三區塊$被讀^之次 _ 數的第三計數值。 故基於上述可知,當資料群組中的某一區塊之讀取次 ,達到設定的預設值時,本實施例之防止非揮發性記憶體 备生讀取干擾的方法除了會更新讀取次數大於預設值之區 塊所儲存的資料外,還更會同時將與讀取次數大於預設值 =區塊相鄰之區塊(例如左右/上下相鄰之區塊)所儲存的 二料併更新。因此,本實施例之防止非揮發性記憶體 Λ生嗔取干擾的方法即可制正確地讀取非揮發性記憶體 ν 21 1352354 PSPD-2007-0026 25292twf.doc/p 103内所儲存的所有資料。 ^再者,依據本發明的精神並不限制於上述實施例的實 =方式。在本發明另一實施例中,假設資料群組中的第— 區f* (例如區塊B〇)之讀取次數大於預設值(即有可能發 生項取干擾的t買取次數’例如百萬次,但不限制於此)時, 此時控制器1G1會先將第—區塊B。内原先所儲存的資料讀 出,並暫存於緩衝記憶體101c内。 、 +、接著,控制器1〇1會抹除第一區塊队内所儲存的所有 資料。之後,控制器101會將緩衝記憶體1〇lc内暫存第— 區塊B0内原先所儲存的資料寫回至第一區塊B〇,並且更 新讀取次數表用以紀錄第—區塊Bq被讀取之次數的第— 叶數值,而此過程同樣也就是步驟S2〇3所述及的更新第 區塊内原先所储存的資料。然而,於本實施例中,控制 器101並不需要去修正邏輯實體對映表的對應關係。 :上述所明的資料更新指的是將區塊内原先所儲存的資 料重新寫入的動作(亦即抹除後再寫入),其可以寫入於 不同的區塊或原來的區塊。因此,只要是區塊内原先所儲 存的貢料被重知寫入,該區塊發生讀取干擾的可能性即會 大大地減少,且當區塊内原先所儲存的資料被重新寫入 時,讀取次數表用以記錄區塊被讀取的計數值也會隨即被 重置(例如歸〇)。 相似地’由於製程因素的影響,當第一區塊B〇之讀取 次數越來越多的同時,有可能會間接影響到相鄰於第一區 壤B〇的至少一第二區塊(例如區塊Βι)内原先所儲存的 22 1352354 PSPD-2007-0026 25292twf.d〇c/p % 資料。因此,當第一區塊Bq之讀取次數大於百萬A _ 時’控制器101除了會將第一區塊B0内原先所館存次=同 讀出並暫存於緩衝記憶體101c外,更會將第_广子=貪料 原先所儲存的資料同樣讀出並暫存於缓衝記憶體10内 接著,控制器101也會抹除第二區塊内所儲广 有資料’並將緩衝記憶體101c内暫存第二區塊B ^的所 所儲存的資料寫回至第二區塊匕,且更新讀取次^表=先 紀錄第二區塊Bi被讀取之次數的第二計數值。藉此^ j 施例之防止非揮發性記憶體發生讀取干擾的方法"亦。、實 正確地讀取非,發性記憶體1〇3内所儲存的所有資=達到 據此’值得一提的是’上述實施例用以紀錄:二料群 中每一個區塊被讀取的次數之單位為整個區塊,但是依摅 本發明的精神並不限制於此。在本發明的再—實施^中< 紀錄資料群組中每—個區塊被讀取的次數同^是利用结 取次數表來記_,但是控㈣1G1卻會㈣f理叶數^ ,計數資料群組中每-憾塊内的每—個分頁㈣㈣^ 任—區塊内的任—分頁被讀取時,此被讀取分 頁所 <隶屬的區塊就會被視為已讀取一次。 舉例來說,當第—區塊(例如區塊β。)内的第―分頁 (例如分頁PG)所儲存的資料被讀取時,讀取次數表用以 區塊B。被讀取之次數的第―計數值就會累加— ;而當第二區塊(例如區塊B1)内的第二分 以纪餘1 P1)所儲存的#料被讀取時,讀取次數表用 、、韻-區塊B,被讀取之次數的第〜計數值就會累加 23 1352354 PSPD-2007-0026 25292twf.doc/p 一次或遞減一次。 相似地,當第三區塊(例如區塊BO内的第三分 如刀頁P2)所摊存的資料被讀取時,讀取次數表用以紀 第三區塊B2被讀取之次數的第三計數值就會累加 遞減一次;而當第四區塊(例如區塊内的第四分頁^或 如分頁P3)所儲存的資料被讀取時,讀取次數表用以紀例 第四區塊B3被讀取之次數的第四計數值就會累加 遞減一次,依此類推之。 人或 當然,為了實現此實施方式,讀戚次數表内就必 有多數個對應資料群組中每一個區塊内的每一個分頁的、:、 數值,且這些計數值分別表示為資料群組中每一個區塊。十 的每一個分頁被讀取的次數。另外,於本實施例中了 ^ 任-區塊内料所儲存的資料之流程大致與上述實 = 揭露的内容類似,故在此並不再加以贅述之。 斤 從另一觀點來說,控制器101所執行用以控制 |生記憶體儲存裝置綱的程式碼一般會儲存在程式記^ 内。然而,於本發明的一選擇實施例中,控制器U 所執行用以控制非揮發性記憶體儲存裝置則的程合 被儲,在非揮發性記憶體期中的至少—區塊。故可想二 ^的是’此區塊所儲存的程式碼在非揮發性記憶體儲^ 置100的運作_必然會很頻繁地被讀取。因此,對此區 塊所儲存的H碼騎乡倾讀取後 為此、,本靖供另一種防止非揮發性 買干擾的方法,藉以提供給本發明領域之技術人員參 24 1352354 PSPD-2007-0026 25292twf.doc/p 詳。 圖3繪示為本發明另一實施例之防止非揮發性記憶體 發生讀取干擾的方法流程圖。請合併參照圖〗及圖3,本 實施例之防止非揮發性記憶體發生讀取干擾的方法適用於 非揮發性記憶體儲存裝置1〇〇,其中揮發性記憶體1〇3具 有多數個區塊、,且每一個區塊具有多數個分頁,該方法同 樣由記憶體管理模組101a來執行,且其包括下列^驟% ; 先,如步驟S301所述,將非揮發性記憶體儲存裝置工⑻ 之控制器101所執行用以控制非揮發性記憶體儲存裝置 的程式碼儲存於非揮發性記憶體103内所有區塊中的 至少一第一區塊。接著,如步驟S303所述,當佴電至非 揮發性記憶體儲存裝置1〇〇時,將第一區塊内所儲存的浐 式碼複製至非揮發性記憶體103内所有區塊中的至 = 二區塊。 乐 於本實施例中,當第-區塊内所儲存的程式碼複 非揮發性s己憶,體103内所有區塊中的至少—第二區 後’記憶體^理模組l〇la更會紀錄第二區塊被讀取的次 數’並且當第二區塊之讀取次數大於一個預設值時 第二區塊内所儲存的程式碼。 故基於上述可知,由於控制器1〇1所執行用以控 揮發性記憶體儲存裝置觸的程式碼已被儲存在非揮發性 記憶體103中的至少—區塊,所以控制器i()i ^ 憶體藤即可省略,藉以節省控制器1〇1的成本^ 當主機供電至非揮發性記憶體儲存裝置1〇〇時,存有程式 25 1352354 PSPD-2007-0026 25292twf.doc/p 碼的區塊會被控制器1〇丨複製至 —。 * 製存有程式碼的區塊就會替代原存^f巾冑此’被複 用意乃是為了要顧全原存有程式广碼的區塊’而此 體儲;=====記憶 =;=神,當被複製存有程==讀= 例如百萬次,但不限制於此時) 數, 塊之資料更財式會與上述實施彳丨有程式碼的區 贅述之。 ,、上迷―例類似,於此並不再加以 *有鑑於此,本發明所提出的防止非揮發性記怜體 頃取干擾的方法不但可以顧讀取轉性記憶體助^ 儲存的所有轉之正雜外,亦可確保當控㈣⑼所= :丁用以控辦揮發性記憶體儲存裝置⑽的 = 揮性記憶體103的完整性。 ·^予任非 因此、’本發明所S出的防止非揮發性記憶體發 干擾的方法可賴於各種財揮發性記憶體作為儲存 的裝置。例如圖4所緣示的刪快閃碟4〇2、數位、= 影機)404所使用的SD卡4〇4a、MMC卡4〇41^卡 與記憶棒(memory stick) 404d,以及固態硬碟4〇6等。^ ^尤以固態硬碟406更需要好的防止非揮發性記憶體發^ 讀取干擾的方法,來抑制讀取干擾發生的機率。" 26 1352354 PSPD-2007-0026 25292twf.doc/p 矣示上所述’本發明所提供的防止非揮發性記憶體發生 讀取干擾的方法主要是利用計數器及讀取次數表來各別計 數及記錄非揮發性記憶體内每一個區塊或分頁被讀取的次 數。藉此,當非揮發性記憶體内某一個區塊或分頁被讀取 的次數大於預設值時,將此區塊或將此分頁所隸屬的區塊 所儲存的資料更新。因此,本發明所提出的防止非揮發性 δ己憶體發生讀取干擾的方法,不但可以有效地抑制讀取干 擾發生的機率,且可以正確地讀取非揮發性記憶體内所儲 存的所有資料。 雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何熟習此技藝者,在不脫離本發明之精神 和範圍内,當可作些許之更動與潤飾,因此本發明之^護 範圍當視後附之申請專利範圍所界定者為準。 【圖式簡單說明】 圖1繪示為非揮發性記憶體儲存裝置的簡易系統方塊 圖。 圖2纷示為本發明-實施狀防止_發性記憶體發 生讀取干擾的方法流程圖。 圖3繪示為本發明另一實施例之防止非揮發性記情體 發生讀取干擾的方法流桎圖。 μ a 圖4繪示為本發明之防止非揮發性記憶體發生讀取 擾的方法可應用之裝置的示意圖。 項 【主要元件符號說明】 100 :非揮發性記憶體儲存裝置 27 1352354 PSPD-2007-0026 25292twf.doc/p 101:控制器 101a :記憶體管理模組 • 101b :非揮發性記憶體介面 101c :緩衝記憶體 101d :微處理單元 101e :主機傳輸介面 101f :錯誤校正模組 101g :電源管理模組 • 101h:程式記憶體 103 :非揮發性記憶體 B〇〜.區塊 P〇〜Pm :分頁 D ··資料記憶區 R:資料冗餘區 402 : USB快閃碟 404 :數位相機(攝影機) 404a : SD 卡 ® 404b : MMC 卡 404c : CF 卡 404d :記憶棒(memory stick) 406 :固態硬碟 S201、S203 :本發明一實施例之防止非揮發性記憶體 發生讀取干擾的方法各步驟 S301、S303 :本發明另一實施例之防止非揮發性記憶 體發生讀取干擾的方法各步驟 28The vessel is updated and, for example, stored in a non-volatile memory, operated, or, after a predetermined number of times, the inner valley recorded by the reading count is recorded by the controller 101 into at least a block of the system group. , or will be recorded in the data redundancy area R of the block being read', and this backup action is for the red update of the non-volatile memory storage device 100 due to abnormal power failure. The content recorded in the reading times table is lost. Therefore, according to the above, the reading times table can be stored outside the non-volatile memory 103 (that is, the buffer memory 105 stored in the controller 1〇1), and can also be stored in the non-volatile memory. The internals of 1〇3 (that is, stored in at least one block of the system group or stored in the data redundancy area R of the block being read) may even be singularly independent in the system of the controller 101. . Further, the above-described counting method of the counter managed by the controller 1〇1 can be designed as an upper or lower number. Then, as described in step S203, when the number of readings of the first block in the data group is greater than a preset value, the originally stored data in the first block is updated. In this embodiment, it is assumed that the number of readings of the first block (for example, block B〇) in the data group is greater than a preset value (ie, read interference may occur 1352354 PSPD-2007-0026 25292twf.doc/p The number of readings, for example, 'million times' but not limited to this, at this time the controller 1G1 will be the first block B. _ The first stored material is copied to the second block (eg, block Bni) in the alternate cluster, and the process is the original stored data in the updated block described in step S2〇3. Conversely, when the number of readings of the first block B0 in the data group is not greater than the preset value, the original stored data in the first block B 0 is not updated. In this embodiment, the read count table further has a second count value corresponding to the second block block Bn] and the second count value is used to indicate that the second block Βη-ι is read. frequency. Next, the controller 101 will then modify the corresponding relationship of the logical entity mapping table to replace the second block B n _ with the first block B. And update the read-number table to record the first block B. The first count value of the number of times read is, for example, the first count value of the number of times the first block B is read is reset to 0 (i.e., from the count value of millions). It is worth mentioning that the data update performed too frequently will affect the performance of the entire non-volatile storage device 100, and if the data update is not performed for a long time, it will increase (4) read errors. Therefore, the setting of the value of the coffee can be defined by a plurality of results, for example, 100,000 to 100,000 times to set different values according to different design requirements. Therefore, according to the above, when the number of readings of the first block Bo is greater than one million times, the controller 101 causes the original stored data in the first block B to be copied to the second block in the standby group. Βηι, and correct the correspondence relationship of the logical entity mapping table, in order to replace the second block B11 with the second block B 〇 ' so the local anti-volatile memory is prevented from reading interference 20 1352354 PSPD-2007 -0026 25292twf.doc/p . The method can effectively suppress the read interference that occurs when the non-volatile memory i〇3 is read multiple times in a particular block. ° However, it is worth mentioning that due to the influence of process factors, when the number of readings of the first block B〇 is more and more, it may indirectly be indirectly adjacent to the first block B0. The data stored in a third block (for example, block Βι). Therefore, when the number of readings of the first block Bq is more than one million, the control urn will cause the data stored in the first block B to be copied to the second block Bni in the standby group. In addition, the original stored data in the second block B! is copied to a fourth block (for example, the block Bn) in the standby group. In this embodiment, the read count table further has a third count value and a fourth count value corresponding to the third block B丨 and the fourth block Bn, and the second and fourth count values are used. Each is represented as the third block and the fourth zone, and the number of times Bn is read. Then, the controller 1〇1 will further correct the correspondence relationship of the logical intersecting mapping table, so that the fourth block & replaces the third block $, and updates the reading times table for use, The third count value of the number of times the block $ is read ^. Therefore, based on the above, when the reading of a certain block in the data group reaches the set preset value, the method for preventing the non-volatile memory preparing for reading interference in this embodiment is updated and read. In addition to the data stored in the block whose number is greater than the preset value, it will also be stored in the block adjacent to the block with the number of readings greater than the preset value = (for example, the block adjacent to the left/right/upper and lower) And updated. Therefore, the method for preventing the interference of the non-volatile memory in the present embodiment can correctly read all the non-volatile memory stored in the non-volatile memory ν 21 1352354 PSPD-2007-0026 25292 twf.doc/p 103 data. Further, the spirit of the present invention is not limited to the real mode of the above embodiment. In another embodiment of the present invention, it is assumed that the number of readings of the first region f* (for example, the block B〇) in the data group is greater than a preset value (that is, the number of times the purchase is likely to occur for the item to be interfered with) When it is 10,000 times, but not limited to this, the controller 1G1 will first block the block B. The data stored in the original is read out and temporarily stored in the buffer memory 101c. , +, Then, controller 1〇1 erases all data stored in the first block team. After that, the controller 101 writes back the original data stored in the temporary storage block B0 to the first block B〇 in the buffer memory 1〇lc, and updates the read times table to record the first block. The value of the first leaf of the number of times Bq is read, and this process is also the information stored in the updated block described in step S2〇3. However, in this embodiment, the controller 101 does not need to correct the correspondence of the logical entity mapping table. : The above-mentioned data update refers to the action of rewriting the originally stored data in the block (that is, writing after erasing), which can be written in different blocks or original blocks. Therefore, as long as the tribute originally stored in the block is erroneously written, the possibility of reading interference in the block is greatly reduced, and when the original stored data in the block is rewritten, The count value used by the read count table to record the block is also reset (eg, blamed). Similarly, due to the influence of process factors, when the number of readings of the first block B〇 is more and more, it may indirectly affect at least one second block adjacent to the first zone B〇 ( For example, 22 1352354 PSPD-2007-0026 25292twf.d〇c/p % data originally stored in the block Βι). Therefore, when the number of readings of the first block Bq is greater than one million A _, the controller 101 will read and temporarily store the first block B0 in the first block B0, and temporarily store it in the buffer memory 101c. In the same way, the data stored in the first block will be read out and temporarily stored in the buffer memory 10. Then, the controller 101 will erase the accumulated data stored in the second block. The stored data in the buffer memory 101c temporarily storing the second block B^ is written back to the second block 匕, and the update read table is the first record of the number of times the second block Bi is read. Two count values. By way of example, the method for preventing read disturb of non-volatile memory is " Really correctly read all the resources stored in the non-volatile memory 1〇3=According to this, it is worth mentioning that the above embodiment is used for recording: each block in the second group is read. The unit of the number of times is the entire block, but the spirit of the present invention is not limited thereto. In the re-implementation of the present invention < the number of times each block is read in the record data group is the same as ^ using the number of times of acquisition to record _, but the control (four) 1G1 will (four) f leaf number ^, count Each page in each data block in the data group (four) (four) ^ If any of the pages in the block are read, the block that is read by the page will be regarded as read. Take it once. For example, when the data stored in the first page (e.g., page PG) in the first block (e.g., block β.) is read, the read count table is used for block B. The first count value of the number of times read is accumulated - and when the second material stored in the second block (for example, block B1) is stored, the # material is read. The number of times table, rhyme - block B, the number of times the number of times read will be accumulated 23 1352354 PSPD-2007-0026 25292twf.doc / p once or decremented once. Similarly, when the data accumulated in the third block (for example, the third point in the block BO such as the knife page P2) is read, the number of times of reading is used to read the number of times the third block B2 is read. The third count value is accumulated and decremented once; and when the data stored in the fourth block (for example, the fourth page in the block or the page P3) is read, the number of readings is used for the case number The fourth count value of the number of times the four blocks B3 are read is cumulatively decremented once, and so on. Or, of course, in order to implement this embodiment, the number of readings of each page in each of the plurality of corresponding data groups must be present in the number of reading times, and the count values are respectively represented as data groups. Every block in it. The number of times each page of ten is read. In addition, in the embodiment, the flow of the data stored in the block is substantially similar to the content disclosed in the above, and therefore will not be further described herein. From another point of view, the code executed by the controller 101 for controlling the memory storage device is generally stored in the program record. However, in an alternative embodiment of the invention, the controller U executes a method for controlling the non-volatile memory storage device to be stored, at least in the non-volatile memory phase. Therefore, it is conceivable that the code stored in this block is inevitably read frequently in the operation of the non-volatile memory storage device 100. Therefore, after the H code stored in the block is read and read, the present invention provides another method for preventing non-volatile buying interference, so as to provide the technical personnel in the field of the invention. 24 1352354 PSPD-2007 -0026 25292twf.doc/p Details. 3 is a flow chart of a method for preventing read disturb of non-volatile memory according to another embodiment of the present invention. Please refer to FIG. 3 and FIG. 3 , the method for preventing read interference of non-volatile memory in this embodiment is applicable to a non-volatile memory storage device, wherein the volatile memory 1 〇 3 has a plurality of regions. Block, and each block has a plurality of pages, the method is also performed by the memory management module 101a, and includes the following steps; first, as described in step S301, the non-volatile memory storage device The code executed by the controller 101 of the worker (8) for controlling the non-volatile memory storage device is stored in at least one first block in all the blocks in the non-volatile memory 103. Then, as described in step S303, when the device is powered to the non-volatile memory storage device, the code stored in the first block is copied into all the blocks in the non-volatile memory 103. To = two blocks. In the present embodiment, when the code stored in the first block is non-volatile, at least one of all the blocks in the body 103 is the second memory module. The number of times the second block is read is recorded, and the code stored in the second block when the number of times the second block is read is greater than a preset value. Therefore, based on the above, since the code executed by the controller 101 to control the volatile memory storage device has been stored in at least the block in the non-volatile memory 103, the controller i()i ^ Recalling the body can be omitted, so as to save the cost of the controller 1. When the host is powered to the non-volatile memory storage device, there is a program 25 1352354 PSPD-2007-0026 25292twf.doc/p The block will be copied to the controller by the controller. * The block that stores the code will replace the original memory. This is reused in order to take care of the block that has the original program code and store it. =====Memory= ; = God, when the copy is stored == read = for example, a million times, but not limited to this time), the data of the block is more detailed with the above-mentioned implementation of the coded area. The above is similar to the case, and is not used here. In view of this, the method for preventing non-volatile memory in the present invention can not only read all the storage of the memory. In addition, it is also possible to ensure that the control (4) (9) = : is used to control the integrity of the volatile memory 103 of the volatile memory storage device (10). Therefore, the method for preventing non-volatile memory interference caused by the present invention can be relied on by various volatile memory as a storage device. For example, the SD card 4〇4a, the MMC card 4〇41^ card and the memory stick 404d used in the flash drive 4〇2, digital, = camera 404 shown in FIG. 4, and the solid state hard Dish 4〇6 and so on. ^ ^ Especially solid-state hard disk 406 needs a better way to prevent non-volatile memory from reading interference, to suppress the probability of read interference. " 26 1352354 PSPD-2007-0026 25292twf.doc/p The above-mentioned method for preventing read disturb of non-volatile memory provided by the present invention mainly uses a counter and a reading count table to count separately. And record the number of times each block or page in the non-volatile memory is read. Thereby, when a certain block or page in the non-volatile memory is read more than a preset value, the data stored in the block or the block to which the page belongs is updated. Therefore, the method for preventing read disturb of the non-volatile δ-remembrance body proposed by the invention can not only effectively suppress the probability of occurrence of reading interference, but also can correctly read all stored in the non-volatile memory. data. While the present invention has been described in its preferred embodiments, the present invention is not intended to limit the invention, and the present invention may be modified and modified without departing from the spirit and scope of the invention. The scope of protection is subject to the definition of the scope of the patent application. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram showing a simplified system of a non-volatile memory storage device. Fig. 2 is a flow chart showing a method for preventing read disturb from occurring in the present invention. 3 is a flow diagram of a method for preventing read disturb of a non-volatile grammatical body according to another embodiment of the present invention. μ a Fig. 4 is a schematic view showing a device to which the method for preventing read disturb of non-volatile memory is applied. Item [Main component symbol description] 100: Non-volatile memory storage device 27 1352354 PSPD-2007-0026 25292twf.doc/p 101: Controller 101a: Memory management module • 101b: Non-volatile memory interface 101c: Buffer memory 101d: Micro processing unit 101e: Host transmission interface 101f: Error correction module 101g: Power management module • 101h: Program memory 103: Non-volatile memory B〇~. Block P〇~Pm: Pagination D ··Data memory area R: Data redundancy area 402 : USB flash drive 404 : Digital camera (camera) 404a : SD card ® 404b : MMC card 404c : CF card 404d : Memory stick 406 : Solid state hard Discs S201, S203: Method for preventing read disturb of non-volatile memory in an embodiment of the present invention, steps S301, S303: steps of a method for preventing read disturb of non-volatile memory according to another embodiment of the present invention 28
Claims (1)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096151575A TWI352354B (en) | 2007-12-31 | 2007-12-31 | Method for preventing read-disturb happened in non |
US12/025,475 US8055834B2 (en) | 2007-12-31 | 2008-02-04 | Method for preventing read-disturb happened in non-volatile memory and controller thereof |
US13/240,430 US8533385B2 (en) | 2007-12-31 | 2011-09-22 | Method for preventing read-disturb happened in non-volatile memory and controller thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW096151575A TWI352354B (en) | 2007-12-31 | 2007-12-31 | Method for preventing read-disturb happened in non |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200929227A TW200929227A (en) | 2009-07-01 |
TWI352354B true TWI352354B (en) | 2011-11-11 |
Family
ID=40799993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096151575A TWI352354B (en) | 2007-12-31 | 2007-12-31 | Method for preventing read-disturb happened in non |
Country Status (2)
Country | Link |
---|---|
US (2) | US8055834B2 (en) |
TW (1) | TWI352354B (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI375953B (en) * | 2008-02-21 | 2012-11-01 | Phison Electronics Corp | Data reading method for flash memory, controller and system therof |
KR101033465B1 (en) * | 2008-12-30 | 2011-05-09 | 주식회사 하이닉스반도체 | Flash Memory Apparatus and Read Operation Control Method Therefor |
US8806144B2 (en) | 2009-05-12 | 2014-08-12 | Stec, Inc. | Flash storage device with read cache |
US7856528B1 (en) | 2009-08-11 | 2010-12-21 | Texas Memory Systems, Inc. | Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system |
US7818525B1 (en) | 2009-08-12 | 2010-10-19 | Texas Memory Systems, Inc. | Efficient reduction of read disturb errors in NAND FLASH memory |
US8189379B2 (en) | 2009-08-12 | 2012-05-29 | Texas Memory Systems, Inc. | Reduction of read disturb errors in NAND FLASH memory |
US9081663B2 (en) * | 2011-11-18 | 2015-07-14 | Stec, Inc. | Optimized garbage collection algorithm to improve solid state drive reliability |
US8687421B2 (en) * | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
KR101329748B1 (en) * | 2012-03-07 | 2013-11-14 | 삼성메디슨 주식회사 | Image processing apparatus and operating method thereof |
TWI467376B (en) * | 2012-06-11 | 2015-01-01 | Phison Electronics Corp | Data protecting method, and memory controll and memory storage device using the same |
JP6167646B2 (en) * | 2013-04-30 | 2017-07-26 | 富士通株式会社 | Information processing apparatus, control circuit, control program, and control method |
KR20150140496A (en) * | 2014-06-05 | 2015-12-16 | 삼성전자주식회사 | Read reclaim method for performing real time data recovery and therefore memory system |
US9552171B2 (en) | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9747177B2 (en) | 2014-12-30 | 2017-08-29 | International Business Machines Corporation | Data storage system employing a hot spare to store and service accesses to data having lower associated wear |
US10014060B2 (en) * | 2015-01-30 | 2018-07-03 | Sandisk Technologies Llc | Memory system and method for reducing read disturb errors |
TWI604306B (en) * | 2016-08-08 | 2017-11-01 | 慧榮科技股份有限公司 | Data management method for data storage device and memory controller |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3176019B2 (en) | 1995-04-05 | 2001-06-11 | 株式会社東芝 | Storage system including nonvolatile semiconductor storage unit |
US6931480B2 (en) * | 2001-08-30 | 2005-08-16 | Micron Technology, Inc. | Method and apparatus for refreshing memory to preserve data integrity |
JP2004310650A (en) | 2003-04-10 | 2004-11-04 | Renesas Technology Corp | Memory device |
US7349258B2 (en) * | 2005-12-06 | 2008-03-25 | Sandisk Corporation | Reducing read disturb for non-volatile storage |
US7616481B2 (en) * | 2005-12-28 | 2009-11-10 | Sandisk Corporation | Memories with alternate sensing techniques |
US7814263B2 (en) * | 2006-10-26 | 2010-10-12 | Sandisk Il Ltd. | Erase history-based flash writing method |
US7539050B2 (en) * | 2006-11-22 | 2009-05-26 | Qimonda North America Corp. | Resistive memory including refresh operation |
TWM320715U (en) | 2007-01-24 | 2007-10-11 | C One Technology Corp | Operating system for extending life-time of flash memory |
JP2008181380A (en) * | 2007-01-25 | 2008-08-07 | Toshiba Corp | Memory system, and method for controlling the same |
JP5661227B2 (en) * | 2007-02-07 | 2015-01-28 | 株式会社メガチップス | Memory controller |
JP2008287404A (en) * | 2007-05-16 | 2008-11-27 | Hitachi Ltd | Apparatus for detecting and recovering data corruption in reading in non-access memory cell, and method thereof |
US7849275B2 (en) * | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US8775758B2 (en) * | 2007-12-28 | 2014-07-08 | Sandisk Technologies Inc. | Memory device and method for performing a write-abort-safe firmware update |
-
2007
- 2007-12-31 TW TW096151575A patent/TWI352354B/en active
-
2008
- 2008-02-04 US US12/025,475 patent/US8055834B2/en active Active
-
2011
- 2011-09-22 US US13/240,430 patent/US8533385B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8533385B2 (en) | 2013-09-10 |
US20120011309A1 (en) | 2012-01-12 |
US8055834B2 (en) | 2011-11-08 |
TW200929227A (en) | 2009-07-01 |
US20090172254A1 (en) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI352354B (en) | Method for preventing read-disturb happened in non | |
AU2017228544B2 (en) | Nonvolatile media dirty region tracking | |
TWI604305B (en) | Weave sequence counter for non-volatile memory systems | |
US20200133503A1 (en) | Method and device for rebuilding data in storage array group | |
KR101870521B1 (en) | Methods and systems for improving storage journaling | |
TWI506417B (en) | Handling unclean shutdowns for a system having non-volatile memory | |
TWI375962B (en) | Data writing method for flash memory and storage system and controller using the same | |
US20160217040A1 (en) | Raid parity stripe reconstruction | |
TWI494849B (en) | Firmware code loading method, memory controller and memory storage apparatus | |
CN101494085B (en) | Prevent nonvolatile memory from method and the controller thereof of interference occurring to read | |
TW201128648A (en) | Memory management and writing method and rewritable non-volatile memory controller and storage system thereof | |
CN102157202B (en) | Method and controller for preventing nonvolatile memory from occurring read interference | |
TW201931366A (en) | Data storage device and control method for non-volatile memory | |
CN105224891A (en) | Magnetic disc optic disc fused data method for secure storing, system and device | |
CN106168920A (en) | Controlling a Redundant Array of Independent Disks (RAID) comprising read only flash data storage devices | |
TW201007740A (en) | Method for managing data and storage apparatus thereof and controller thereof | |
TW201926357A (en) | Method for correcting memory device and memory device | |
TWI278745B (en) | Raid consistency initialization method | |
Gao et al. | Reprogramming 3D TLC flash memory based solid state drives | |
Choi et al. | Hil: A framework for compositional ftl development and provably-correct crash recovery | |
US9594792B2 (en) | Multiple processor system |