TWI351604B - - Google Patents

Download PDF

Info

Publication number
TWI351604B
TWI351604B TW096136871A TW96136871A TWI351604B TW I351604 B TWI351604 B TW I351604B TW 096136871 A TW096136871 A TW 096136871A TW 96136871 A TW96136871 A TW 96136871A TW I351604 B TWI351604 B TW I351604B
Authority
TW
Taiwan
Prior art keywords
block
mapping table
flash memory
address mapping
address
Prior art date
Application number
TW096136871A
Other languages
Chinese (zh)
Other versions
TW200917021A (en
Original Assignee
Memoright Memoritech Corp
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
Application filed by Memoright Memoritech Corp filed Critical Memoright Memoritech Corp
Publication of TW200917021A publication Critical patent/TW200917021A/en
Application granted granted Critical
Publication of TWI351604B publication Critical patent/TWI351604B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

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)
  • Memory System (AREA)

Description

1351604 九、發明說明: 【發明所屬之技術領域】 本發明是有關於-種半導體儲存領域,特別是指一種 能使快閃記憶體區塊的損耗均衡化的快閃記憶體㈣sh,大 陸稱閃存)的區塊管理方法。 【先前技術】 快閃記憶體因爲其具有高密度、大容量、較低的讀寫 知作耗時,非揮發性(n()n_v。祕e)等特點而越來越廣的被應 用於各種領域;同時,快閃記憶體晶片自身存在的一些缺 陷限制了這類記憶體的應用。其一,由於快閃記憶體晶片 特殊的寫和區塊擦除特徵,導致了記憶體的一些特殊操作 ,一般快閃記憶體的寫操作過程是:需要切本次操作的 目標區塊裏的舊資料(data,大陸稱數據)讀出來,放進RAM (隨機存取記憶體)裏面1後,對目標區塊做擦除操作 ,由於快問記憶體晶片區塊是按照頁(又稱頁面)順序寫 入’所以m在區塊中頁順序在前排列的舊資料寫入 擦除後的目標區塊,然後把新的操作資料寫入,其次再把 排列順序在後的目標區塊舊資料寫入,最後更新區塊管理 貧訊;在這樣一個複雜的操作過程中有可能出現不可恢復 曰誤W如’纟目;塊擦除過程中系統掉電,而操作 目標區塊的資料沒能及時寫回,映射表資訊也沒有更新, 原來的舊資料變成了無效資料。另_方面,一般的快閃記 憶體都有-個使用的壽命,這是由快閃記憶體單元自身的 儲存原理所決定的,快閃記憶體單元的操作方式通常是, 5 1351604 首先將储存單it的浮動閘極(Fk)atlng Gate)放電也就是常 說的擦除,到—個通用的狀態’然後在寫資料過程中,再 將浮動閘極充電也就疋常說的編程,使它們達到儲存資料 的需要狀態,纟重復的擦除和編程過程中,浮動間極由於 隧道效應捕獲的電子逐漸增多,當達到一定程度之後,如 果再想對浮動問極充電,就需要更大的㈣,這時,也就 是我們說的這個快閃記憶體晶片結束了它的使用周期。對 於NOR型快閃纪憶體被擦除或者重新編程次數一般爲數萬 次左右,NAND型快閃記憶體擦除或者重新編程次數一般 是十萬次左右。 上述只是一個理論上的平均值,在快閃記憶體晶片的 實際應用中,快閃記憶體設備的實際壽命遠遠低於這樣的 理論值*>其主要原因是快閃記憶體晶片區塊被操作的頻率 是不同的,有一些快閃記憶體區塊被擦除或者重新編程的 頻率,比較高,導致很快就被操作壞了,當壞塊達到一定 的累積量之後,快閃記憶體晶片就不能夠再使用了,那麼 這個快閃記憶體設備結束了它的壽命,而有一些區塊卻不 經常被操作到’甚至直到儲存設備被用壞了,也沒有操作 幾次’這樣就會造成很大的浪費。目前,一般的快閃記憶 體生産廄商都會採用在快閃記憶體晶片中,預留一部分空 間用來替換這些壞塊,但是這種做法也只能適當的延長快 閃5己憶體哥命’而不能夠充分的使用這些快閃記憶體區塊 ’浪費了許多快閃記憶體資源。中國發明專利申請《閃存 介質數據保護方法》(申請號03137423 )公開了一種快閃記 6 憶體介質寫資料方法, 區塊的資料搬遷至一個案包含將本次寫操作目標 可對二而操作過程中通過位址(一對照表 =塊=區塊進行定址,發明目的在這種 S理方法’在寫資料的同時保護在 閃記憶體介質中的資料播案。 …已寫入到决 【發明内容】 善令=門本發明之目的,即在提供一種可有效延長使用 π命的快閃§己憶體的區塊管理方法。 的區=月所解決的技術問題在於,提出一種快閃記憶體 ^ 方法’能使快閃記憶體損耗更加均衡以有效延 並可進一步提高快閃記憶體操作速度及資 料安全性。 爲實現上述目的,本發明採用如下技術方案: 从一種快閃記憶體的區塊管理方法,所述快閃記憶體包 括若:個區塊’每區塊由多個頁構成,每頁分爲資料儲存 品和几餘區’其特徵在於.在所述區塊中劃定—區塊或多 區塊作爲位址映射表保留區,以頁爲單位保存快閃記憶體 區塊的邏輯位址與物理位址的位址映射表;初始選定一個 ^白區塊作爲交換區塊,在所述位址映射表保存頁的冗餘 區建立該交換區塊的位址映射表項;當進行寫操作時,根 據位址映射表資訊,將新資料和/或被操作的目標區塊的舊 y料對應地寫入所述交換區塊,擦除目標區塊,然後將位 址映射表中交換區塊邏輯位址對應的物理位址與目標區塊 邏輯位址對應的物理位址互換。 進一步地,每次操作更新的位址映射表資訊保存到所 述位址映射表保留區的一頁中,並隨操作次數的增加按預 定的規律在所述位址映射表保留區的各頁中循環地保存。 優選地,更新過的位址映射表資訊保存到所述位址映 射表保留區的下一頁中,並隨操作次數的增加從所述位址 映射表保留區的第一頁到最後一頁中循環地保存。 優選地’其中的寫操作包括如下步驟: 1) 讀取位址映射表保留區中的位址映射表資訊丨 2) 根據位址映射表與所述保存位址映射表頁的冗餘區 記載資訊,判斷上次操作是否正常結束; 3) 如果爲非正常結束,則進入異常處理程式;如果爲 正常結束’則進入寫資料步驟; 4) 寫資料時,先將目標區塊中頁位置在前的舊資料寫 入父換區塊,其次將本次操作的新資料寫入交換區塊,再 將剩餘舊資料寫入交換區塊; 5) 將目標區塊擦除; 6) 將位址映射表中交換區塊邏輯位址對應的物理位址 與目標區塊邏輯位址對應的物理位址互換; 7) 將更新後的位址映射表和交換區塊位址映射表項, 分別存入位址映射表保留區下一頁的資料儲存區及冗餘區 〇 所述異常處理程式可包括,判斷是否在向交換區塊寫 資料的過程中掉電’如果是則將寫入了部分内容的交換區 1351604 塊擦除9 所述異常處理程式還可包括,判斷是否在目標區塊擦 除過程中掉電,如果是則將目標區塊擦除,然後將交換區 塊的資料拷貝到目標區塊,最後將交換區塊擦除。 所述異常處理程式還可包括,判斷是否在位址映射表 更新過程中掉電,如果是則根據位址映射表與對應冗餘區 的資訊’找到上次操作的目標區塊和交換區塊,然後將交 換區塊的資料拷貝到目標區塊,並擦除交換區塊。1351604 IX. Description of the Invention: [Technical Field] The present invention relates to the field of semiconductor storage, and more particularly to a flash memory (four) sh, which is a flash memory that can equalize the loss of a flash memory block. Block management method. [Prior Art] Flash memory is more and more widely used because of its high density, large capacity, low read and write time-consuming, non-volatile (n()n_v. secret e). Various fields; at the same time, some of the drawbacks of the flash memory chip itself limit the application of such memory. First, due to the special write and block erase features of the flash memory chip, some special operations of the memory are caused. Generally, the write operation of the flash memory is: in the target block that needs to be cut in this operation. The old data (data, the mainland is called the data) is read out, put into the RAM (random access memory), and then the target block is erased. Since the memory chip block is in accordance with the page (also called the page) ) Write sequentially 'so m writes the old data arranged in the front of the block in the block to the target block after erasing, then writes the new operation data, and then puts the target block in the subsequent order. Data is written, and finally the block management is poor; in such a complicated operation, there is a possibility that unrecoverable errors may occur, such as 'eyes'; during the block erasing process, the system is powered down, and the data of the target block is not processed. Can be written back in time, the mapping table information is not updated, the original old data becomes invalid data. On the other hand, the general flash memory has a lifetime of use, which is determined by the storage principle of the flash memory unit itself. The operation mode of the flash memory unit is usually 5 1351604 will be stored first. Single it's floating gate (Fk) atlng Gate) discharge is also often said to erase, to a common state 'and then in the process of writing data, then charging the floating gate is also often said programming, so that They reach the required state of storing data. During the repeated erasing and programming process, the electrons captured by the floating pole due to the tunneling effect gradually increase. When reaching a certain level, if you want to charge the floating pole, you need a larger one. (4) At this time, that is, the flash memory chip we are talking about has ended its life cycle. The number of erasing or reprogramming of the NOR flash memory is generally tens of thousands of times, and the number of NAND flash memory erasing or reprogramming is generally about 100,000 times. The above is only a theoretical average. In practical applications of flash memory chips, the actual lifetime of flash memory devices is much lower than this theoretical value*> the main reason is the flash memory chip block. The frequency of operation is different. The frequency of some flash memory blocks being erased or reprogrammed is relatively high, which causes the operation to be broken quickly. When the bad blocks reach a certain cumulative amount, the flash memory The body chip can no longer be used, then the flash memory device ends its life, and some blocks are not often operated until 'even until the storage device is used up, and it has not been operated a few times' It will cause a lot of waste. At present, the general flash memory production manufacturers will use a part of the space in the flash memory chip to replace these bad blocks, but this method can only properly extend the flash 5 'Not being able to fully use these flash memory blocks' wastes a lot of flash memory resources. Chinese invention patent application "Flash Media Data Protection Method" (Application No. 03137423) discloses a flash memory 6 memory medium data writing method, the block data is moved to a case containing the current write operation target can be two and the operation process Through the address (a comparison table = block = block addressing, the purpose of the invention is to protect the data broadcast in the flash memory medium while writing the data in the S method]. Contents] Shanling = The purpose of the invention is to provide a block management method that can effectively prolong the use of π-time flash § 己 recall. The technical problem solved by the zone = month is to propose a flash memory. The method ^ can make the flash memory loss more balanced to effectively extend and further improve the flash memory operating speed and data security. To achieve the above object, the present invention adopts the following technical solution: From a flash memory The block management method, the flash memory includes: if a block 'each block is composed of a plurality of pages, each page is divided into data storage items and a plurality of areas', characterized in that. Delimiting - a block or a multi-block as a reserved area of the address mapping table in the block, and storing an address mapping table of a logical address and a physical address of the flash memory block in units of pages; initially selecting one The white block is used as the swap block, and the address mapping table entry of the swap block is established in the redundant area of the address mapping table of the address mapping table; when the write operation is performed, the new data is added according to the address mapping table information. And/or the old y material of the operated target block is correspondingly written into the swap block, the target block is erased, and then the physical address and the target area corresponding to the logical block address of the swap block in the address mapping table are The physical address of the block logical address is interchanged. Further, the address mapping table information updated by each operation is saved to a page of the reserved area of the address mapping table, and is updated according to a predetermined rule as the number of operations increases. The pages of the address mapping table reserved area are cyclically saved. Preferably, the updated address mapping table information is saved in the next page of the reserved area of the address mapping table, and increases with the number of operations. The address mapping table retaining area One page to the last page is stored cyclically. Preferably, the write operation includes the following steps: 1) reading the address mapping table information in the reserved area of the address mapping table 丨 2) according to the address mapping table and the Save the redundant area of the address mapping table page to record information, to determine whether the last operation ended normally; 3) If it ends abnormally, enter the exception handling program; if it is normal, then enter the data writing step; 4) Write data First, the old data in the target block in the target block is first written into the parent swap block, and then the new data of the current operation is written into the swap block, and then the remaining old data is written into the swap block; 5) The target block is erased; 6) the physical address corresponding to the logical address of the swap block in the address mapping table is exchanged with the physical address corresponding to the logical address of the target block; 7) the updated address mapping table and The swap block address mapping table entry is respectively stored in the data storage area and the redundant area of the next page of the address mapping table reserved area, and the exception handling program may include: determining whether the data is being written to the swap block Power down 'if it is then The swap area 1351604 in which the partial content is written is erased. The exception handling program may further include determining whether the power is lost during the target block erasing, and if so, erasing the target block, and then swapping the area The data of the block is copied to the target block, and finally the swap block is erased. The exception handling program may further comprise: determining whether the power is lost during the update of the address mapping table, and if so, finding the target block and the swap block of the last operation according to the information of the address mapping table and the corresponding redundant area. Then, copy the data of the swap block to the target block and erase the swap block.

進一步地,建立一個參數種子,其值與所述位址映射 表保存頁保存位置的循環次數相關,並與設定的快閃記憶 體區塊的邏輯位址相對應,當種子值變化時,根據位址映 射表資訊,將其值相應邏輯位址對應的快閃記憶體區塊的 資料寫入所述交換區塊,再將位址映射表中交換區塊邏輯 位址對應的物理位址與種子值相應邏輯位址對應的物理位 址互換。Further, a parameter seed is established, the value of which is related to the number of cycles in which the address mapping table saves the page save location, and corresponds to the logical address of the set flash memory block, when the seed value changes, according to The address mapping table information is written into the swap block by the data of the flash memory block corresponding to the corresponding logical address, and the physical address corresponding to the logical address of the swap block in the address mapping table is The physical address of the corresponding logical address of the seed value is interchanged.

優選地’更新位址映射表的時候 位址映射表頁面的冗餘區 優選地’設置-個循環參數N,每經歷N次所述位址 映射表保存頁保存位置的循環時,種子值加i。 優選地,所述位址映射表的保存位置每“到所㈣ 址映射表保留區的第一頁時計爲一次循環。 所述種子值還可用於判斷快閃記憶體的損耗程产。 所述㈣記憶體爲-顆快閃記憶體晶片或包含又多顆快 閃記憶體晶片的快閃記憶體陣列。 9 1351604 本發明有益的技術效果在於·· 本發明的快閃記憶體區塊管理方法,通過在快閃記憶 體區塊中劃定位址映射表保留區,保存快閃記憶體區塊的 邏輯位址與物理位址映射表,並在位址映射表保存頁的冗 餘區建立交換區塊的位址映射表項,在進行寫操作時根 據位址映射表資訊,將資料對應地寫入交換區塊中,擦除 目標區塊,然後將映射表頁中交換區塊邏輯位址對應的物 理位址與寫操作目標區塊邏輯位址對應的物理位址互換。 這種區塊管理方法相當於將物理位&分散地對應到快閃記 憶體區塊邏輯位址中,雖然主機的文件系統在操作過程中 對快閃記憶體邏輯位址的調用是不均衡的,但是從邏輯位 址到物理位址的映射被打亂了,這種位址映射是一種動態 =變化的對應關係,能夠實現把操作均衡地分配給參麵、 管理中的實際的物理快閃記憶體區塊,因此可有效地延長 快閃記憶體的使用壽命。 、 進-步地’可通過建立一個參數種子,強制性地把種 子值大小相應的快閃記憶體邏輯塊推入到上述實現位址均 衡調用的管理過程中’隨著種子值的增加,逐次推動所有 的塊加入損耗均衡的操作’有效地避免了不參與損耗均衡 的死塊的出現。 本發明在一個快閃記憶體晶片中只動態地保持一個交 換區塊’同時,交換區塊有獨立的交換區塊映射位址保存 區’這種把交換區塊資訊獨立出來的方法可以有效地減少 快閃記憶體晶片查找交換區塊的時間,同時交換區塊資訊 10 1351604 紀錄於冗餘區,而無需佔用資料區 省操作時間和節約空間。 本發明在資料的寫操作過財,先把目標區塊的部分 舊資料寫入交換區塊,其次把新資料寫入交換區塊,接著 ’把剩餘舊資料寫入交換區塊,然後,把目標區塊擦除, 在這樣-個過程中,擦除操作是在整個操作的最後完成, 即使有異常情況發生,也能夠保留有效的#料和提供線索 ’實現正常資料的恢復。Preferably, the redundant area of the address mapping table page when the address mapping table is updated is preferably set to a loop parameter N, and the seed value is added every time the address mapping table saves the loop of the page save position N times. i. Preferably, the storage location of the address mapping table is counted as one cycle per time to the first page of the reserved area of the (four) address mapping table. The seed value may also be used to determine the lossy production of the flash memory. (4) The memory is a flash memory chip or a flash memory array including a plurality of flash memory chips. 9 1351604 The beneficial technical effect of the present invention lies in that the flash memory block management method of the present invention By mapping the address mapping table reserved area in the flash memory block, saving the logical address and physical address mapping table of the flash memory block, and establishing an exchange in the redundant area of the address mapping table save page The address mapping table entry of the block, in the write operation, according to the address mapping table information, the data is correspondingly written into the swap block, the target block is erased, and then the logical block address of the swap block in the mapping table page is The corresponding physical address is interchanged with the physical address corresponding to the logical address of the target block of the write operation. This block management method is equivalent to discretely mapping the physical bit & to the logical address of the flash memory block, although Host The file system's call to the flash memory logical address is unbalanced during operation, but the mapping from logical address to physical address is disrupted. This kind of address mapping is a dynamic=changing correspondence. It can realize the operation of distributing the operation to the actual physical flash memory block in the reference and management, so that the service life of the flash memory can be effectively extended. Forcibly pushing the corresponding flash memory block of the seed value size into the above-mentioned management process of implementing the address equalization call. 'As the seed value increases, all the blocks are successively pushed into the wear leveling operation' effectively The invention avoids the appearance of dead blocks that do not participate in wear leveling. The present invention only dynamically maintains one swap block in a flash memory chip 'at the same time, the swap block has an independent swap block map address save area' The method of separating the exchange block information can effectively reduce the time for the flash memory chip to find the swap block, and exchange the block information 10 1351604 Recorded in the redundant area, without occupying the data area, saving operation time and saving space. The invention writes money in the data operation, first writes part of the old data of the target block to the exchange block, and then writes the new data to the exchange. Block, then 'write the remaining old data to the swap block, and then erase the target block. In such a process, the erase operation is completed at the end of the entire operation, even if an abnormal situation occurs, Retain valid #materials and provide clues to achieve recovery of normal data.

【實施方式】 有關本發明之前述及其他技術内容、特點與功效,在 以下配合參相式之—個較佳實施例的詳細說明中,將可 清楚的呈現。 如圖1所示’―般快閃記憶體儲存裝置20主要包括介 面20卜介面控制器2〇2、快閃記憶體控制器2〇3以及^[Embodiment] The foregoing and other technical contents, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments. As shown in FIG. 1 , the flash memory storage device 20 mainly includes a interface 20 interface controller 2 快 2, a flash memory controller 2 〇 3, and ^

因此,可以有效地節 記憶體晶片陣列204。介面控制器202 一般包含微控制器( MCU)以及㈣(Finnware)。快閃記憶.體儲存裝置2〇通 過介面2G1接收職機應用程式21發來的操作命令,然後 介面201把命令傳給介面控制器2〇2,由介面控制器加中 的勃體以及微控制器把主機命令解析成底層的操作命令, 然後發給快閃記憶體控制器2〇3,最後快閃記憶體控制器 203把命令解析錢閃記憶體㈣錢,來㈣快閃記憶體 晶片陣列綱的操作。其中柄體把主機指令解析成底層操 作命令,就包含了它對快閃記憶體晶片區塊的管理方法。 在對快閃記憶體晶片進行管理以前,首先要對它進行 11 1351604 區域的劃分。一般的快閃記憶體晶片陣列204包含有數行 數列個快閃記憶體晶片,每個快閃記憶體晶片的讀寫一般 以頁(Page)爲單位進行,每個頁包括2〇48Byte的資料儲 存區和64Byte的冗餘區,每64個頁組成一個區塊(Bi〇ck) ,每顆快閃記憶體晶片區塊的數目取決於晶片記憶空間的 大小,本說明主要以單顆快閃記憶體晶片儲存空間在 64MByte以内,當儲存空間在64_沖以上時,每Therefore, the memory chip array 204 can be efficiently saved. The interface controller 202 typically includes a microcontroller (MCU) and (four) (Finnware). The flash memory device 2 receives the operation command sent by the job application 21 through the interface 2G1, and then the interface 201 transmits the command to the interface controller 2〇2, which is added by the interface controller and the micro control. The host parses the host command into the underlying operation command, and then sends it to the flash memory controller 2〇3, and finally the flash memory controller 203 parses the command flash memory (4) money to (4) the flash memory chip array The operation of the program. The handle body parses the host command into the underlying operation command, which includes its management method for the flash memory chip block. Before managing a flash memory chip, it is first divided into 11 1351604 regions. A typical flash memory chip array 204 includes a plurality of rows and columns of flash memory chips. Each flash memory chip is generally read and written in units of pages, and each page includes 2 to 48 bytes of data storage. Zone and 64Byte redundant area, each 64 pages form a block (Bi〇ck), the number of each flash memory chip block depends on the size of the chip memory space, this description is mainly a single flash memory The body chip storage space is within 64MByte, when the storage space is above 64_pun, each

64MByte擁有—個位址映射表保留區,操作方法跟單顆 64MByte以内類似。 本發明區塊管理的方法在於實現以下三個方面:其一 是儘量少做快間記憶體擦除或者重新編程操作,這樣可以 減少快閃記憶體晶片的損耗次數;其二是盡可能的把捧除 或者重新編程操作平均的分配到所有快閃記憶體區塊,也 就是說讓快閃記憶體區塊擁有相同的操作機率;第三還要 提供-種安全的區塊管理方法和系統策略,能夠確保快閃64MByte has an address mapping table reserved area, and the operation method is similar to a single 64MByte. The method for managing the block of the present invention is to realize the following three aspects: one is to minimize the fast memory erasing or reprogramming operation, thereby reducing the number of loss of the flash memory chip; the second is to try to reduce the number of flash memory chips; The addition or reprogramming operation is evenly distributed to all flash memory blocks, which means that the flash memory blocks have the same probability of operation; the third is to provide a safe block management method and system strategy. , can ensure fast flash

記憶體資料的安全性。本發明兼顧了以上三個方面,在實 施過程中主要包括動態均衡和靜態均衡兩種處理方法。本 發明實施例的流程圖如目6所示,其中包含了本發明區塊 管理的動態均衡和靜態均衡。下面結合兩個具體實施 來說明: 具體實施方式一 本發月實施過程中首先對每顆快閃記憶體晶片建立一 =址映射表,用來維護㈣記憶體區塊在文件系統中的 L位址與在快閃記憶體晶片中的實際物理位址的映射關 12 !3516〇4 係;其次’在每個快閃記憶體晶片中,專門劃分一塊位址 映射表保留區用來保存這個位址映射表,位址映射表保留 區的大小跟快閃記憶體晶片的資料區設計的壽命有關’更 新的位址映射表每次保存在一個頁中,本例中更新的位址 映射表係保存於此頁的資料儲存區;接下來,初始化這個 映射關係,然後,在資料區十選定—個空白區塊作交換區 塊同時單獨建立-個交換區塊的位址映射表項,保存 每次保存位址映射表頁的冗餘區。 如圖2與圖3所示,一顆快閃記憶體晶片1被分成若 干個區塊,根據需要選定一個或幾個區塊劃分給位址映射 表保留區2’區塊的塊數由設計㈣存設備的壽命決定的, -定要保證位址映射表保留& 2的壽命比資料區的壽命長 。圖中例子,劃分2個區塊給位址映射表保留區2。每個區 塊^括64個頁,每次操作之後的映射表就會被保存在一個 頁之中’映射表中主要記錄了本顆粒中邏輯位& (以下簡 稱LBA)跟物理位址(以下簡稱pBA)之間的對應關係(如 圖3所示)。圖2的頁3為當前映射表保留區操作頁,圖3 是頁3的放大圖,是映射表的主要記錄資訊,資料儲存區* 紀錄快閃記憶體晶月1中任意-個區塊的LBA與PBA的映 射關係(指位址映射表),冗餘區5紀錄快閃記憶體晶月i中 的交換區塊的位址映射表項。另夕卜此快閃記憶體晶片! 剩餘區塊作為資料區,並於操作時從中劃分一空白區塊作 為父換區塊。 本發明實施例所述的動態均衡包括以下步驟:首先, 13 1351604 在快閃記憶體晶片i進行寫操作時,先把本次操作目標區 &中頁位置在前的舊資料寫入交換區塊,其次把本次 資料寫入交換區塊,再把剩餘舊資料寫入交換區塊,之後 把本次寫操作的目標區塊擦除;緊接著,把目標區塊的 LBA對應的PBA,跟交換區塊的LBA對應的pBA進行交 換;最後把更新後的Μ票區塊位址映射表和交換區塊位址 映射表,分別存入快閃記憶體晶β !預留的位址映射表保 留區2中一頁的資料儲存區4及冗餘區5。 • 圖4係顯示實現本實施例的快閃記憶體損耗均衡的動 態均衡管理方法。頁6是當前操作中保存位址映射表資訊 的頁。映射關係8是位於冗餘區中的當前操作交換區塊的 LBA跟PBA的映射關係’映射關係7表示的是當前操作目 標區塊的LBA與PBA的映射關係。標號9和1〇分別是當 前操作目標區塊和交換區塊的PBA,指在㈣記憶體晶片田i 中的實際位置。當進行寫操作時,介面控制器2〇2的細體 φ 先把快閃記憶體中位址映射表保留區2中記錄的位址映射 表貝訊頃出來’含目標區塊位址映射表以及交換區塊的位 址映射表項,按照位址映射表記錄的LBA與pBA之間的對 應關係,根據目標區塊中資料頁的順序,先把操作目標區 塊順序在前的舊資料寫入交換區塊中對應位置再把操作 . _資料寫入交換區塊對應的位置,接著,把剩餘舊資料 寫入交換區塊,然後,再把本次操作目標區塊邏輯位址對 應的物理區塊作擦除操作,接著,把交換區塊邏輯位址對 應的物理位址跟本次操作目標區塊邏輯位址對應的物理位 14 1351604 址作交換,最後,在所有操作完成之後,把更新的映射表 項在掉電以前保存到位址映射表保留區2下一個物理頁中 。在動態均衡過程中,爲了保證儲存位址映射表的位址映 射表保留區2不至於因爲反復操作,而導致過早損壞一 般給其分配多個區塊’來依照PBA的次序,循環保存。通 過動態均衡,基本可以保證區塊能夠被平均的操作。The security of the memory data. The present invention takes into consideration the above three aspects, and mainly includes two methods of dynamic equalization and static equalization in the implementation process. A flowchart of an embodiment of the present invention is shown in Figure 6, which includes dynamic equalization and static equalization of the block management of the present invention. The following is a description of two specific implementations: In the implementation process of the present month, an address map is first established for each flash memory chip to maintain (4) the L bit of the memory block in the file system. The mapping between the address and the actual physical address in the flash memory chip is 12!3516〇4; secondly, in each flash memory chip, a block address table reserved area is reserved to hold this bit. Address mapping table, the size of the reserved area of the address mapping table is related to the lifetime of the data area design of the flash memory chip. 'The updated address mapping table is saved in one page at a time, and the updated address mapping table in this example. Save the data storage area of this page; next, initialize the mapping relationship, and then, in the data area, select a blank block as the exchange block and separately establish an address mapping entry of the exchange block, save each The redundant area of the address mapping table page is saved. As shown in FIG. 2 and FIG. 3, a flash memory chip 1 is divided into a plurality of blocks, and one or several blocks are selected as needed to be allocated to the address mapping table. The number of blocks in the 2' block is designed by the design. (4) Determine the life of the storage device, and ensure that the lifetime of the address mapping table & 2 is longer than the life of the data area. In the example of the figure, two blocks are divided into the address mapping table reservation area 2. Each block includes 64 pages, and the mapping table after each operation is saved in a page. The mapping table mainly records the logical bits & (hereinafter referred to as LBA) and physical addresses (hereinafter referred to as LBA). The correspondence between pBA and hereinafter (referred to as Figure 3). Page 3 of Figure 2 is the current mapping table reserved area operation page, Figure 3 is an enlarged view of page 3, which is the main record information of the mapping table, and the data storage area* records any block of the flash memory crystal 1 The mapping relationship between the LBA and the PBA (refer to the address mapping table), the redundant area 5 records the address mapping entry of the swap block in the flash memory crystal i. In addition, this flash memory chip! The remaining block is used as a data area, and a blank block is divided therefrom as a parent swap block during operation. The dynamic equalization described in the embodiment of the present invention includes the following steps: First, when the write operation of the flash memory chip i is performed, the old data of the current operation target area & middle position is written into the exchange area. Block, secondly, write the current data to the swap block, and then write the remaining old data to the swap block, and then erase the target block of the write operation; then, the PBA corresponding to the LBA of the target block, The pBA corresponding to the LBA of the swap block is exchanged; finally, the updated ticket block address mapping table and the swap block address mapping table are respectively stored in the address map of the reserved flash memory crystal β! The data storage area 4 and the redundant area 5 of one page in the table reserved area 2. • Fig. 4 is a diagram showing a dynamic equalization management method for realizing the flash memory loss equalization of the present embodiment. Page 6 is the page that holds the address mapping table information in the current operation. The mapping relationship 8 is a mapping relationship between the LBA and the PBA of the current operation switching block located in the redundant area. The mapping relationship 7 indicates the mapping relationship between the LBA and the PBA of the current operation target block. Reference numerals 9 and 1 denote the PBA of the current operation target block and the exchange block, respectively, and refer to the actual position in the (4) memory wafer field i. When performing a write operation, the thin body φ of the interface controller 2〇2 first puts the address mapping table recorded in the address storage table of the flash memory in the reserved area 2, and includes the target block address mapping table. And the address mapping table entry of the swap block, according to the correspondence between the LBA and the pBA recorded in the address mapping table, according to the order of the data pages in the target block, first write the old data in the order of the operation target block first. Enter the corresponding position in the swap block and then write the operation. _ data to the location corresponding to the swap block. Then, write the remaining old data to the swap block, and then, the physics corresponding to the logical address of the target block of the operation. The block is erased. Then, the physical address corresponding to the logical address of the swap block is exchanged with the physical bit 14 1351604 corresponding to the logical address of the operation target block. Finally, after all operations are completed, The updated mapping entry is saved to the next physical page in the address mapping table reservation area 2 before power down. In the dynamic equalization process, in order to ensure that the address mapping table of the storage address mapping table retains the area 2 without causing premature failure due to repeated operations, it is generally assigned a plurality of blocks' to be cyclically stored in accordance with the order of the PBA. Through dynamic equalization, it is basically guaranteed that blocks can be averaged.

:本發明在資料寫操作過程中,擦除操作是在整個操作 的最後完成’即使有異常情況發生也能夠進人—異常處理 程式以保留有效的資料和提供線索,實現正常資料的恢 復。異常處理程式處理的異常情況與處理方式說明如下 異常情況一:如果當資料在向交換區塊寫的過程中μ 備非法掉電;由於操作沒有完成,位址映射表沒有更新叹 在儲=設備操作正常後,通過位址映射表仍然可以讀到原 來的貝料’只需要把位址映射表中的交換區塊做—次擦除 操作,這樣,就可以恢復到操作前的狀態。In the data writing operation of the present invention, the erasing operation is completed at the end of the entire operation', even if an abnormal situation occurs, the exception handling program can retain the valid data and provide clues to restore the normal data. The exception handling and processing mode handled by the exception handler is as follows: If the data is in the process of writing to the swap block, the device is illegally powered down; since the operation is not completed, the address mapping table is not updated. After the operation is normal, the original bead material can still be read through the address mapping table. Only the swap block in the address mapping table needs to be erased, so that the state before the operation can be restored.

β異常情況二:如果在所有資料已經寫到交換區塊,但 是在目標區塊擦除過程中設備非法掉電;由於位址映射: 沒有更新,讀取位址映射表發現舊資料由於上次異常操作 :被刀刪除’而交換區塊由於上次資料寫操作完成所以 是非空的,物體只需要根據這些判斷條件,然後把目標區 塊擦除’然後把交換區塊的資料拷貝到目標區塊,這樣目 仏區塊破寫人了新資料,最後再把交換區塊擦除就可以 〇 ^ /、*情況三:如果在位址映射表更新過程中設備非法 15 1351604 掉電,可以根據上次位址映射表的記錄與冗餘區記載的交 肖區塊的資訊,找到上次操作的目標區塊和交換區塊這 種情況下目標區塊是空白區塊,而交換區塊是正常非空白 • f料區塊體只冑要根據這些判斷㈣,然冑把交換區 塊的資料拷貝到目標區塊,並擦除交換區塊,最後將更新 的位址映射表寫入位址映射表保留區。 具體實施方式二 • «通過動態均衡方法能使大部分快閃記憶體區塊擁 彳相同的機率被操作到,但是,還會有—些從來沒操作到 的死塊。所謂死塊是指從來沒有被操作過,沒有參與到損 耗均衡操作的快閃記憶體區塊’是上述動態均衡不能解決 的問題,因此又提出了一個靜態均衡的方法。本發明的位 址映射表保留區中’位址映射表是以頁爲單位在快閃記憶 體晶片的區塊内依次保存,當一個區塊被寫過一遍之後, 就會按照PBA的順序寫入下一個區塊,直到整個的位址映 • 射表保留區皆破寫人以完成—次循環(cycle),然後,又重新 回到位址映射表保留區的開始位置。一般情況下,位址映 射表保留區的循環使用一次需要執行位址映射表保留區中 區塊數的64倍次寫操作。在靜態均衡過程中,首先建立一 • 個參數’將其命名爲種子(Seed),並以如下方式維護該種 子的值.每次執行一次位址映射表保留區的循環都要求把 ,子的值加1 ’或者設定—個循環次數的參數N,當循環N 次之後,種子值加1 ;然後,在每次更新映射表的時候把種 *值保存到映射表的冗餘區。當種子值發生變化時,強 16 1351604 制把種子值大小相應的快閃記憶體LBA對應物理區塊内資 料拷貝至】交換區塊,對交換區塊和種子值對應的快閃記憶 體邏輯區塊進行—次動態均衡,然後,擦除、保存。靜態 均衡母次都會推動一個邏輯區塊,強制性地參與動態均衡 ’當快閃記憶體中存在死料,會隨著種子的逐漸增加推 動死塊加入到這種損耗均衡的管理中來,一旦加入進來, 就會被均衡的分配操作。 本實施例中,除了包含實施例中的動態均衡管理方法 和異常操作處理方法,冑包括上述的快閃記憶體區塊靜態 均衡管理方法。如5所示,快閃記憶體晶片於本實施中 預先選定了 2個區塊作位址映射表㈣區^。剩餘的區塊 於本例中被劃爲資料區12。當前操作過程中,位址映射表 項保存的物理頁位£ 13,當本次操作進行完之後按照一 般操作方法,韌體會把它的物理位址加丨,然後再保存到保 留塊,但是在本例中如果按照這樣的做法,會把映射表保 存頁寫到資料區12所示的位置15,因此在本例中動體會把 映射表保存頁重新循環到初始位置,例如圖中的位置Μ。 同時,每做這樣一個循環操作時,或者設定一個循環參數n ,當進行了 N次這樣的循環時,韌體維護的種子(Seed) 值(以下簡稱Seed值)就會加丨,來記錄循環次數或者循 環參數N,每當Seed值加丨時,韌體會強行啓動一次操作 把Seed值大小的邏輯位址對應物理位址的資料寫到交換 區塊中,同時,把Seed值對應的目標區塊做擦除操作,然 後,担父換區塊的物理位址跟Seed值大小邏輯位址對應區 17 1351604 塊的物理位址交換,把Seed值對應的區塊作交換區塊,最 後’把資料區塊位址映射表項保存到下一個物理的頁中, 把交換區塊位址映射表保存到這個頁的冗餘區。這樣做, 會強行的逐次推動所有的區塊加入損耗均衡的操作中來, 這樣做能夠有效地避免不參與損耗均衡的死塊的出現。 圖6係顯示結合前述二具體實施方式的本實施例的快 閃記憶體的區塊管理方法的操作流程,在此以寫操作為例 來說明。首先,在步驟301,讀取位址映射表保留區中對應 此次寫操作的位址映射資訊,含此頁中位址映射表與位址 映射表項。而後,於步驟3〇2中,依據位址映射表與目標 區塊與交換區塊來判斷上次操作是否正常結束。若步驟3〇2 判斷為否時,執行步驟3〇3的異常處理程式(如前述第15 頁第11行至第16頁第6行的異常情況的處理說明)。若步 驟302判斷為是時,繼續執行步驟3〇4,拷貝目標區塊中位 址在新資料前的舊資料於交換區塊中,接著將新資料寫入 父換區塊後,再拷貝目標區塊内的剩餘舊資料於交換區塊 内。步驟3〇4結束後,繼續步驟3〇s。在步驟3〇5中,抹除 目標區塊’將映射表中交換區塊邏輯位址對應的物理位址 與目標區塊邏輯位址對應的物理位址互換,以更新位址映 射表資訊n於步驟规判斷是否符合Seed值加i的 條件,指是否完成-次擔環操作3戈N次循環,細言之,位 =映射表保留區中將寫入更新位址映射資訊的頁是否為第 :頁或者為第N次回到第一頁。若步驟规判斷為是時, 仃步驟307,將更新後的位址映射表和交換區塊位址映射 18 1351604 表項分別存入位址映射表保留區下—頁的映射表區及映射 表几餘區,並將Seed值加1及執行靜態均衡(如前述第17 頁第8行至第18頁第5行的靜態均衡的說明),以有效地 避免不參與損耗均衡的死塊的出現若步驟3〇6判斷為否 時,將更新後的位址映射表和交換區塊位址映射表項分別 存入位址映射表保留區下一頁的映射表區及映射表冗餘區 ,以完成此次寫操作。β abnormal case 2: If all the data has been written to the swap block, but the device is illegally powered down during the target block erase process; due to the address mapping: no update, the read address mapping table finds the old data due to the last time Abnormal operation: deleted by the knife' and the swap block is non-empty due to the completion of the last data write operation, the object only needs to be based on these judgment conditions, and then the target block is erased' and then the data of the swap block is copied to the target area. Block, so that the witness block breaks the new data, and finally erases the swap block. ^ /, * Case 3: If the device is illegal during the update of the address mapping table, 15 1351604 power down, according to The information of the last address mapping table and the information of the intersection block recorded in the redundant area, find the target block and the swap block of the last operation. In this case, the target block is a blank block, and the swap block is Normal non-blank • The f block block only needs to judge (4) according to these judgments, then copy the data of the swap block to the target block, erase the swap block, and finally write the updated address map. The address mapping table is reserved. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 2 «The dynamic equalization method enables most of the flash memory blocks to be operated with the same probability, but there are also dead blocks that have never been operated. The so-called dead block refers to a flash memory block that has never been operated and does not participate in the loss equalization operation. The above-mentioned dynamic equalization cannot solve the problem, and therefore a static equalization method is proposed. In the address mapping table reserved area of the present invention, the 'address mapping table is sequentially stored in the block of the flash memory chip in units of pages. When a block is written once, it is written in the order of PBA. The next block is entered until the entire address mapping area is broken to complete the cycle - and then back to the beginning of the reserved area of the address mapping table. In general, the loop of the address map reservation area needs to perform a 64-times write operation of the number of blocks in the reserved area of the address mapping table. In the static equalization process, first establish a parameter 'name it as seed, and maintain the value of the seed in the following way. Each time the address mapping table is reserved, the loop of the reserved area is required. The value is incremented by 1 ' or set to a loop number of parameters N. When the loop is N times, the seed value is incremented by 1; then, the seed value is saved to the redundant area of the map table each time the map is updated. When the seed value changes, the strong 16 1351604 system copies the data corresponding to the physical value of the flash memory LBA corresponding to the seed value to the swap block, and the flash memory logical region corresponding to the swap block and the seed value. The block is subjected to dynamic balancing, and then erased and saved. Statically balanced mother-and-child will promote a logical block and forcefully participate in dynamic equalization. 'When there is a dead material in the flash memory, the dead block will be added to the management of this wear leveling as the seed gradually increases. When you join in, you will be assigned a balanced operation. In this embodiment, in addition to the dynamic equalization management method and the abnormal operation processing method in the embodiment, the above-described flash memory block static equalization management method is included. As shown in Fig. 5, in the present embodiment, the flash memory chip is preselected by two blocks as the address mapping table (four) area. The remaining blocks are classified as data area 12 in this example. During the current operation, the physical page bit saved by the address mapping entry is 13, and after the operation is completed, according to the general operation method, the firmware will add its physical address and then save it to the reserved block, but in the In this example, if the mapping table save page is written to the location 15 shown in the data area 12, in this example, the dynamic body will re-circulate the mapping table save page to the initial position, such as the position in the figure. . At the same time, each time such a loop operation is performed, or a loop parameter n is set, when the loop is performed N times, the seed value of the firmware maintenance (hereinafter referred to as the Seed value) is added to record the loop. The number of times or the loop parameter N, each time the Seed value is added, the firmware will force an operation to write the data of the physical address of the seed value of the Seed value to the swap block, and at the same time, the target area corresponding to the Seed value. The block is erased. Then, the physical address of the parent block is exchanged with the physical address of the block corresponding to the seed size of the seed value, and the block corresponding to the seed value is exchanged. Finally, The data block address mapping table entry is saved to the next physical page, and the swap block address mapping table is saved to the redundant area of the page. In doing so, it will forcibly push all the blocks into the wear leveling operation one by one, which can effectively avoid the occurrence of dead blocks that do not participate in the wear leveling. Fig. 6 is a flow chart showing the operation of the block management method of the flash memory of the present embodiment in combination with the foregoing two embodiments, and the write operation is taken as an example. First, in step 301, the address mapping information corresponding to the write operation in the reserved area of the address mapping table is read, and the address mapping table and the address mapping table entry in the page are included. Then, in step 3〇2, it is determined whether the last operation is normally ended according to the address mapping table and the target block and the swap block. If the determination in step 3〇2 is no, the exception handling procedure in step 3〇3 is executed (as described in the above-mentioned page 15 on line 11 to page 16 on line 6 for exception handling). If the determination in step 302 is YES, proceed to step 3〇4, copy the old data in the target block before the new data in the swap block, and then write the new data into the parent swap block, and then copy the target. The remaining old data in the block is in the exchange block. After step 3〇4 is over, continue with step 3〇s. In step 3〇5, the erase target block 'interchanges the physical address corresponding to the logical address of the swap block in the mapping table with the physical address corresponding to the logical address of the target block to update the address mapping table information n In the step rule to determine whether the condition of the Seed value plus i is met, whether the completion-secondary ring operation is 3 times N times, in detail, the bit = the page in the reserved area of the mapping table to be written to update the address mapping information is Page: or return to the first page for the Nth time. If the step rule determines that it is YES, in step 307, the updated address mapping table and the exchange block address mapping 18 1351604 table entries are respectively stored in the address mapping table reserved area - the page mapping table area and the mapping table A few intervals, and add 1 to the Seed value and perform static equalization (as described in the static equalization on line 8 to page 18, line 5 above) to effectively avoid the appearance of dead blocks that do not participate in wear leveling. If the step 3〇6 is negative, the updated address mapping table and the swap block address mapping table are respectively stored in the mapping table area and the mapping table redundant area of the next page of the address mapping table reserved area. To complete the write operation.

綜上所述,本發明快閃記憶體的區塊管理方法中利用 交換區塊來替代目標區塊執行寫操作的動態均衡方法,搭 配於Seed值變化執行強制寫操作的靜態均衡方法,以強迫 所有的區塊加入操作並把操作均衡地分配給參與到管理中 的快閃記憶體區塊’使快閃記憶體損耗更加均衡以有效延 長其使用壽命,進而可提高快閃記憶體操作速度及資料安 全性。In summary, the block management method of the flash memory of the present invention uses a swap block to replace the target block to perform a write operation dynamic equalization method, and a static equalization method that performs a forced write operation with a Seed value change to force All blocks are added and the operation is evenly distributed to the flash memory blocks participating in the management' to make the flash memory loss more balanced to effectively extend its lifetime, thereby improving the operating speed of the flash memory and Data security.

惟以上所述者,僅為本發明之較佳實施例而已,當不 能以此限定本發明實施之範圍,即大凡依本發明中請專利 範圍及發明說明内容所作之簡單的等效變化與修飾,皆仍 屬本發明專利涵蓋之範圍内。 【圖式簡單說明】 圖1是快閃記憶體儲存裝置的結構示意圖。 圖2是本發明中快閃記憶體晶片的分區劃分示意圖 圖3是圖2中的頁3放大了的示意圖。 中的 動態本圖發明快閃記憶體的區塊管理方法實施例 19 1351604However, the above is only the preferred embodiment of the present invention, and the scope of the invention is not limited thereto, that is, the simple equivalent change and modification according to the scope of the patent and the description of the invention in the present invention. All remain within the scope of the invention patent. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic structural view of a flash memory storage device. Figure 2 is a schematic diagram showing the division of the flash memory chip in the present invention. Figure 3 is an enlarged view of the page 3 of Figure 2. Dynamic picture in the present invention, embodiment of the block management method for flash memory invention 19 1351604

圖5是本發明快閃記憶體的區塊管理方法實施例中的 靜態均衡示意圖。 圖6是本發明快閃記憶體的區塊管理方法的實施例流 程圖。 20 1351604 【主要元件符號說明】 20快閃記憶體儲存裝置 201介面 202介面控制器 203快閃記憶體控制器 204快閃記憶體晶片陣列 21應用程式 1快閃記憶體晶片 2位址映射表保留區 3頁 4資料儲存區 5冗餘區 6頁 7、8映射關係 9目標區塊的PBA 10交換區塊的PBA 11位址映射表保留區 12資料區 13位址映射表項保存的物 理頁位置 14、15位置 301〜309步驟FIG. 5 is a schematic diagram of static equalization in an embodiment of a block management method for a flash memory according to the present invention. Fig. 6 is a flow chart showing an embodiment of a block management method of the flash memory of the present invention. 20 1351604 [Description of main component symbols] 20 flash memory storage device 201 interface 202 interface controller 203 flash memory controller 204 flash memory chip array 21 application program 1 flash memory chip 2 address mapping table retention Zone 3 page 4 data storage area 5 redundant area 6 pages 7, 8 mapping relationship 9 PBA of the target block 10 PBA of the exchange block 11 address mapping table reserved area 12 data area 13 address mapping table saved physical page Position 14, 15 position 301~309 steps

21twenty one

Claims (1)

1351604 十、申請專利範圍: 1·:種快閃記憶體的區塊管理方法,所述快閃記憶體包括 右干個區塊,母塊區塊由多個頁構成,每頁分爲資料儲 存區和冗餘區,該方法包含以下步驟: 在所述區填中劃定-區塊或多區塊作爲位址映射表 保留區以頁爲單位保存快閃記憶體區塊的邏輯位址與 物理位址的位址映射表; 初始選定一個空白區塊作爲交換區塊,在所述位址 映射表保存頁的几餘區建立該交換區塊的位土止映射表項 ;以及 S進行寫操作時,根據位址映射表資訊,將新資料 和/或被操作的目標區塊的舊資料對應地寫入所述交換區 塊,擦除目標區塊,然後將位址映射表中交換區塊邏輯 位址對應的物理位址與目標區塊邏輯位址對應的物理位 址互換。 2. 依據申請專利範圍第i項所述之快閃記憶體的區塊管理 方法’其中’每次操作更新的位址映射表資訊保存到所 述位址映射表保留區的一頁中,並隨操作次數的增加按 預定的規律在所述位址映射表保留區的各頁中循環地保 存。 3. 依據申請專利範圍第2項所述之快閃記憶體的區塊管理 方法’其中’所述規律爲,更新過的位址映射表資訊保 存到所述位址映射表保留區的下一頁中,並隨操作次數 的增加從所述位址映射表保留區的第一頁到最後一頁中 22 1351604 循環地保存。 4.依據申請專利範圍第 區塊管理方法,其中 1或2或3項所述之快閃記憶體的 ’該寫操作包括如下步驟: 1)讀取所述位址映射表保留區中的位址映射表資訊 2) 根據所述位址映射表與所述保存位址映射表頁的 冗餘區記載資訊,判斷上次操作是否正常結束; 3) 如果爲非正常結束,則進入異常處理程式;如果 爲正常結束,則進入寫資料步驟; 4) 寫資料時,先將目標區塊中頁位置在前的舊資料 寫入交換區塊,其次將本次操作的新資料寫入交換區塊 ’再將剩餘舊資料寫入交換區塊; . 5)將目標區塊擦除; 6) 將位址映射表中交換區塊邏輯位址對應的物理位 址與目標區塊邏輯位址對應的物理位址互換;以及 7) 將更新後的位址映射表和交換區塊位址映射表項 ’分別存入位址映射表保留區下一頁的資料儲存區及冗 餘區。 5. 依據申請專利範圍第4項所述之快閃記憶體的區塊管理 方法’其中,所述異常處理程式包括:判斷是否在向交 換區塊寫資料的過程中掉電’如果是則將寫入了部分内 容的交換區塊擦除。 6. 依據申請專利範圍第4項所述之快閃記憶體的區塊管理 方法’其中,所述異常處理程式包括:判斷是否在目標 23 1351604 區塊擦除過程巾掉電,如果是㈣目標區塊擦除, 將交換區塊的資料拷貝到目標區塊,最後將交換區塊捧 除。 ① 7. 依據中請專利範圍第4項所述之快閃記憶體的區塊管理 方法’其中’所述異常處理程式包括:#斷是否在位址 映射表更新過程中掉電,如果是則根據位址映射表與對 應冗餘區的資訊,找到上次操作的目標區塊和交換區塊 ,然後將交換區塊的資料拷貝到目標區塊,並擦除交換 區塊。 8. 依據申明專利範圍第2或3項所述之快閃記憶體的區塊 管理方法,其中,建立一個參數種子,其值與所述映射 表保存頁保存位置的循環次數相關,並與設定的快閃記 憶體區塊的邏輯位址相對應,當種子值變化時,根據位 址映射表資訊,將其值相應邏輯位址對應的快閃記憶體 區塊的資料寫入所述交換區塊,再將映射表中交換區塊 邏輯位址對應的物理位址與種子值相應邏輯位址對應的 物理位址互換。 9. 依據申請專利範圍第8項所述之快閃記憶體的區塊管理 方法’其中,更新位址映射表的時候將種子值保存到保 存位址映射表頁面的冗餘區。 I 〇·依據申請專利範圍第8項所述之快閃記憶體的區塊管理 方法,其中,設置一個循環參數N,每經歷n次所述位址 映射表保存頁保存位置的循環時,種子值加1。 II 依據申請專利範圍第10項所述之快閃記憶體的區塊管理 24 1JD10U4 方法,其t,所逑位址映射表的保存位 位址映射表保留區的第一頁砗 母-人回到所述 只吁汴爲一次循環。 Π·依據申請專利範圍第8項所述 . 古、土廿士 u體的區塊管理 〜、,所述種子值可用於判斷快閃記 程度。 π相耗 13.㈣:請專利範圍第1或2或3項所述之快閃記憶體的 區塊官理方法’其中,所述快閃記憶體爲-顆快閃記憶 體晶片或包含多顆快閃記憶體晶片的快閃記憶體陣列。〜1351604 X. Patent application scope: 1·: A block management method for flash memory, the flash memory includes a right-hand block, the mother block is composed of a plurality of pages, and each page is divided into data storage. The area and the redundant area, the method comprises the steps of: delineating - block or multi-block as the address mapping table reserved area in the area filling, storing the logical address of the flash memory block in units of pages and An address mapping table of a physical address; initially selecting a blank block as a swap block, establishing a bit-drilling mapping entry of the swap block in a plurality of areas of the address mapping table; and writing the S In operation, according to the address mapping table information, the new data and/or the old data of the operated target block are correspondingly written into the swap block, the target block is erased, and then the swap area in the address mapping table is The physical address corresponding to the block logical address is interchanged with the physical address corresponding to the logical address of the target block. 2. The block management method of the flash memory according to item i of the patent application scope, wherein the information of the address mapping table updated in each operation is saved to a page of the reserved area of the address mapping table, and As the number of operations increases, it is cyclically saved in each page of the address mapping table reserved area according to a predetermined rule. 3. According to the block management method of the flash memory described in claim 2, wherein the updated rule is that the updated address mapping table information is saved to the next of the address mapping table reserved area. In the page, and as the number of operations increases, it is cyclically saved from the first page of the address mapping table reserved area to the last page 22 1351604. 4. According to the patent application area block management method, the flash memory of the 1 or 2 or 3 item of the write operation includes the following steps: 1) reading the bit in the reserved area of the address mapping table The address mapping table information 2) judges whether the last operation ends normally according to the address mapping table and the redundant area description information of the saved address mapping table page; 3) If the abnormal end is ended, the exception handling program is entered. If it is normal, it will enter the data writing step; 4) When writing data, first write the old data in the target block to the swap block, and then write the new data of this operation to the swap block. 'Write the remaining old data to the swap block; 5) erase the target block; 6) match the physical address corresponding to the logical address of the swap block in the address mapping table with the logical address of the target block The physical address is exchanged; and 7) the updated address mapping table and the exchange block address mapping table entry are respectively stored in the data storage area and the redundant area of the next page of the address mapping table reserved area. 5. The method for managing a block of a flash memory according to claim 4, wherein the exception handling program includes: determining whether power is lost during writing of data to the swap block, if yes, The swap block erase of the partial content is written. 6. The block management method of the flash memory according to claim 4, wherein the exception handling program includes: determining whether the target erasing process is powered off in the target 23 1351604, if it is (four) target Block erase, copy the data of the swap block to the target block, and finally remove the swap block. 1 7. The block management method of the flash memory according to item 4 of the patent scope of the patent application, wherein the exception processing program includes: #断断的 power down during the address mapping table update process, if yes According to the information of the address mapping table and the corresponding redundant area, the target block and the swap block of the last operation are found, then the data of the swap block is copied to the target block, and the swap block is erased. 8. The method for managing a block of a flash memory according to claim 2 or 3, wherein a parameter seed is established, the value of which is related to the number of cycles in which the map saves the page save position, and is set Corresponding to the logical address of the flash memory block, when the seed value changes, according to the address mapping table information, the data of the flash memory block corresponding to the corresponding logical address is written into the exchange area. The block further exchanges the physical address corresponding to the logical address of the swap block in the mapping table with the physical address corresponding to the logical address of the seed value. 9. The block management method of the flash memory according to claim 8 wherein the seed value is saved to the redundant area of the save address map page when the address mapping table is updated. The block management method of the flash memory according to claim 8, wherein a loop parameter N is set, and each time the address mapping table is n times, the page saves the position of the page save position, the seed Add 1 to the value. II According to the patent management scope of claim 10, the block management of the flash memory 24 1JD10U4 method, t, the first page of the reserved address address mapping table of the address mapping table of the address mapping table It is only a loop to the above. Π·According to item 8 of the scope of patent application. Block management of ancient and earthy gentlemen, the seed value can be used to judge the degree of flashing. π phase consumption 13. (4): The block method of the flash memory according to the first or second or third aspect of the patent range, wherein the flash memory is a flash memory chip or contains a plurality of A flash memory array of flash memory chips. ~ 2525
TW096136871A 2007-01-17 2007-10-02 Method for managing flash memory block TW200917021A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100729806A CN100504814C (en) 2007-01-17 2007-01-17 Flash-memory zone block management method

Publications (2)

Publication Number Publication Date
TW200917021A TW200917021A (en) 2009-04-16
TWI351604B true TWI351604B (en) 2011-11-01

Family

ID=38715533

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096136871A TW200917021A (en) 2007-01-17 2007-10-02 Method for managing flash memory block

Country Status (5)

Country Link
US (1) US8122184B2 (en)
JP (1) JP5031849B2 (en)
CN (1) CN100504814C (en)
TW (1) TW200917021A (en)
WO (1) WO2008089643A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128822B2 (en) 2012-06-22 2015-09-08 Winbond Electronics Corporation On-chip bad block management for NAND flash memory
TWI501249B (en) * 2012-11-14 2015-09-21 Winbond Electronics Corp On-chip bad block management for nand flash memory
TWI508068B (en) * 2012-07-25 2015-11-11 Silicon Motion Inc Method for managing data stored in flash memory and associated memory device and controller
US9324450B2 (en) 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
US9442798B2 (en) 2014-07-31 2016-09-13 Winbond Electronics Corporation NAND flash memory having an enhanced buffer read capability and method of operation thereof
US9811414B2 (en) 2012-07-25 2017-11-07 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100504814C (en) * 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 Flash-memory zone block management method
CN101419840B (en) * 2007-10-23 2012-05-30 宇瞻科技股份有限公司 Data storage method for flash
US8024557B2 (en) * 2007-12-31 2011-09-20 Icera, Inc. Booting an integrated circuit
EP2592551A3 (en) * 2008-03-11 2013-08-28 Agere System Inc. Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
CN101604291B (en) * 2008-06-12 2012-07-18 联阳半导体股份有限公司 Method for improving data access reliability of non-volatile memory of multistage cell
CN101634967B (en) * 2008-07-24 2012-01-04 群联电子股份有限公司 Block management method for flash memory, storage system and controller
CN101751981B (en) * 2008-12-12 2014-04-30 苏州亮智科技有限公司 Method for protecting the safety of storing data in flash memory storing device
CN101777026B (en) * 2009-01-09 2011-12-28 成都市华为赛门铁克科技有限公司 Memory management method, hard disk and memory system
CN101788954B (en) * 2009-01-24 2012-07-18 群联电子股份有限公司 Block management method for flash memory, memory system and controller thereof
JP4952740B2 (en) * 2009-04-13 2012-06-13 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4952742B2 (en) * 2009-04-15 2012-06-13 Tdk株式会社 MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
US8266481B2 (en) * 2009-07-29 2012-09-11 Stec, Inc. System and method of wear-leveling in flash storage
US8453021B2 (en) 2009-07-29 2013-05-28 Stec, Inc. Wear leveling in solid-state device
TWI421869B (en) * 2009-10-14 2014-01-01 Phison Electronics Corp Data writing method for a flash memory, and controller and storage system using the same
CN101710253B (en) * 2009-11-25 2012-06-13 安凯(广州)微电子技术有限公司 Deep-sleep method of embedded system
TWI416525B (en) * 2009-12-15 2013-11-21 Asolid Technology Co Ltd Nonvolatile memory apparatus and wear leveling method thereof
US20110161553A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Memory device wear-leveling techniques
CN102163131B (en) * 2010-02-24 2013-03-06 慧荣科技股份有限公司 Data access method for flash memory and flash memory device
CN101894076B (en) * 2010-07-22 2012-08-29 深圳市江波龙电子有限公司 Implementation method and system for improving writing speed of storage equipment
CN102375779B (en) * 2010-08-16 2015-08-19 深圳市朗科科技股份有限公司 A kind of data processing method and data processing module
TWI454907B (en) * 2010-09-14 2014-10-01 Via Tech Inc Flash memory device and operation method thereof
CN102622309B (en) * 2011-01-30 2016-03-30 华为数字技术(成都)有限公司 Data security erase method and device
US9727570B2 (en) 2011-06-03 2017-08-08 Apple Inc. Mount-time unmapping of unused logical addresses in non-volatile memory systems
KR101818445B1 (en) 2011-07-08 2018-01-16 삼성전자주식회사 Memory controller, method thereof, and electronic devices having the memory controller
TWI459198B (en) 2011-07-08 2014-11-01 Phison Electronics Corp Memory storage device, memory controller thereof, and method for identifying valid data
CN102890655B (en) * 2011-07-20 2015-07-08 群联电子股份有限公司 Memory storage device, memory controller and valid data recognition method thereof
CN102662849B (en) * 2012-03-07 2015-12-16 忆正科技(武汉)有限公司 The block management method of multi-channel flash memory
CN102650972B (en) * 2012-04-06 2016-12-14 国民技术股份有限公司 Date storage method, Apparatus and system
US11024352B2 (en) 2012-04-10 2021-06-01 Samsung Electronics Co., Ltd. Memory system for access concentration decrease management and access concentration decrease method
CN103531234B (en) * 2012-07-06 2017-02-08 河南思维自动化设备股份有限公司 Power-down protection method in write operation process of NandFlash memory
TWI492051B (en) * 2012-09-05 2015-07-11 Silicon Motion Inc Data storage device and control method for flash memory
CN102915277A (en) * 2012-10-17 2013-02-06 邹粤林 Method for improving copying speed of internal data of flash memory chips, flash memory storage system and controller of system
CN103970669A (en) * 2013-02-06 2014-08-06 Lsi公司 Method for accelerating physical-to-logic address mapping of recycling operation in solid-state equipment
CN104281538B (en) * 2013-07-03 2019-05-31 联想(北京)有限公司 It is a kind of store equipment dilatation and Snapshot Method and storage equipment
JP5472843B1 (en) * 2013-08-23 2014-04-16 利仁 曽根 IC chip used for cartridge system and regular product judgment
US9195590B2 (en) * 2013-08-29 2015-11-24 Micron Technology, Inc. Sub-sector wear leveling in memories
US9208074B2 (en) * 2013-08-30 2015-12-08 Silicon Motion, Inc. Updating address mapping in sub-intervals in a flash memory data storage device
CN103970683A (en) * 2014-05-07 2014-08-06 山东华芯半导体有限公司 Method for accelerating starting of USB flash disk
CN104166627B (en) * 2014-09-02 2017-12-08 科大智能电气技术有限公司 A kind of SCM Based NAND FLASH write operation methods
JP6193834B2 (en) * 2014-10-29 2017-09-06 ファナック株式会社 Data storage system
US20170337212A1 (en) * 2015-01-13 2017-11-23 Hitachi Data Systems Engineering UK Limited Computer program product, method, apparatus and data storage system for managing defragmentation in file systems
US9594623B2 (en) * 2015-03-24 2017-03-14 Nxp Usa, Inc. System on chip and method of updating program code on a system on chip
CN106484630A (en) * 2015-08-31 2017-03-08 晨星半导体股份有限公司 The Memory Controller of the access method of flash memory and correlation and electronic installation
CN105389266B (en) * 2015-10-16 2019-03-01 北京联想核芯科技有限公司 A kind of data managing method and device
KR20170078310A (en) * 2015-12-29 2017-07-07 에스케이하이닉스 주식회사 Memory system and operation methode for the same
US20170255565A1 (en) * 2016-03-02 2017-09-07 Intel Corporation Method and apparatus for providing a contiguously addressable memory region by remapping an address space
CN106229009B (en) * 2016-07-12 2019-06-28 北京兆易创新科技股份有限公司 A kind of folded sealing chip processing unit and method containing abnormal non-volatility memorizer
CN107153793B (en) * 2017-05-17 2020-03-27 深圳市马博士网络科技有限公司 Important data storage anti-deciphering method
CN107273309A (en) * 2017-05-19 2017-10-20 瑞斯康微电子(深圳)有限公司 A kind of serial flash data guard method and device
KR102391499B1 (en) * 2017-08-11 2022-04-28 에스케이하이닉스 주식회사 Storage device and operating method thereof
CN107632941A (en) * 2017-08-16 2018-01-26 南京扬贺扬微电子科技有限公司 A kind of method for improving flash memory write performance
CN109671458A (en) * 2017-10-17 2019-04-23 联发科技股份有限公司 The method of management flash memory module and relevant flash controller
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device
TWI709854B (en) * 2019-01-21 2020-11-11 慧榮科技股份有限公司 Data storage device and method for accessing logical-to-physical mapping table
CN111949559B (en) * 2019-05-16 2024-04-16 兆易创新科技集团股份有限公司 Data writing method and device and storage equipment
CN111949569A (en) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 Storage device and control method and control device thereof
CN111552650B (en) * 2020-04-13 2021-03-02 深圳市时创意电子有限公司 Data storage method and device, storage medium and data storage equipment
US11144471B1 (en) 2020-05-07 2021-10-12 Micron Technology, Inc. Dual address encoding for logical-to-physical mapping
CN111966287B (en) * 2020-08-07 2024-01-19 深圳移航通信技术有限公司 Data storage method, electronic device and storage medium
CN111966302B (en) * 2020-08-26 2024-07-09 江苏扬贺扬微电子科技有限公司 SPI Nand data writing method based on logical-physical mapping table
CN112015341B (en) * 2020-08-26 2024-03-22 合肥康芯威存储技术有限公司 Data storage method, storage system and storage medium
WO2022116067A1 (en) * 2020-12-03 2022-06-09 华为技术有限公司 Data processing method and data processing apparatus for flash memory
CN112612418B (en) * 2020-12-25 2024-03-08 航天信息股份有限公司 Method and system for managing large-capacity NandFlash bad blocks
JP7547231B2 (en) * 2021-01-27 2024-09-09 キオクシア株式会社 MEMORY SYSTEM AND CONTROL METHOD - Patent application
CN113051191B (en) * 2021-03-05 2024-09-13 深圳三地一芯电子股份有限公司 Method for improving capacity of Flash chip
CN114138177B (en) * 2021-09-29 2024-07-09 成都嘉程智宇信息技术有限公司 Data storage method for improving utilization rate of flash memory resources of Internet of things equipment
CN117420965B (en) * 2023-12-18 2024-03-22 合肥康芯威存储技术有限公司 Memory and control method thereof
CN117806572A (en) * 2024-03-01 2024-04-02 合肥康芯威存储技术有限公司 Storage device and memory management method

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544312A (en) * 1994-04-29 1996-08-06 Intel Corporation Method of detecting loss of power during block erasure and while writing sector data to a solid state disk
JP3565583B2 (en) * 1994-08-31 2004-09-15 株式会社日立コミュニケーションテクノロジー Semiconductor file storage device
JPH1139221A (en) * 1997-07-17 1999-02-12 Hitachi Ltd Method for controlling refresh of write access to nonvolatile semiconductor memory and semiconductor file storage device
FR2787601A1 (en) * 1998-12-22 2000-06-23 Gemplus Card Int Memory system with anti-wear memory management and method of managing an anti-wear memory so as to increase duration life of memory
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
EP1523711A1 (en) * 2002-06-19 2005-04-20 Tokyo Electron Device Limited Memory device, memory managing method and program
JP4058322B2 (en) * 2002-10-07 2008-03-05 株式会社ルネサステクノロジ Memory card
ATE372578T1 (en) * 2002-10-28 2007-09-15 Sandisk Corp AUTOMATIC WEAR COMPENSATION IN A NON-VOLATILE STORAGE SYSTEM
US6973531B1 (en) 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most frequently erased blocks in non-volatile memory systems
JP3694501B2 (en) * 2002-10-30 2005-09-14 松下電器産業株式会社 Storage device
CN100377119C (en) 2003-06-20 2008-03-26 深圳市朗科科技有限公司 Protection method for data in flash memory media
US7206893B2 (en) * 2003-12-12 2007-04-17 Phison Electronics Corp. Linking method under mother and child block architecture for building check area and logic page of the child block
TWI253564B (en) 2004-06-29 2006-04-21 Integrated Circuit Solution In Method of efficient data management with flash storage system
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
JP2007164318A (en) * 2005-12-12 2007-06-28 Renesas Technology Corp Storage system
CN100356347C (en) * 2006-04-29 2007-12-19 北京飞天诚信科技有限公司 Safety writing method for flash memory
CN100504814C (en) * 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 Flash-memory zone block management method
KR100857761B1 (en) * 2007-06-14 2008-09-10 삼성전자주식회사 Memory system performing wear levelling and write method thereof
TWI373772B (en) * 2007-10-04 2012-10-01 Phison Electronics Corp Wear leveling method and controller using the same
JP4164118B1 (en) * 2008-03-26 2008-10-08 眞澄 鈴木 Storage device using flash memory
US20090259819A1 (en) * 2008-04-09 2009-10-15 Skymedi Corporation Method of wear leveling for non-volatile memory

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128822B2 (en) 2012-06-22 2015-09-08 Winbond Electronics Corporation On-chip bad block management for NAND flash memory
TWI508068B (en) * 2012-07-25 2015-11-11 Silicon Motion Inc Method for managing data stored in flash memory and associated memory device and controller
US9811414B2 (en) 2012-07-25 2017-11-07 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller
US10324786B2 (en) 2012-07-25 2019-06-18 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller
TWI501249B (en) * 2012-11-14 2015-09-21 Winbond Electronics Corp On-chip bad block management for nand flash memory
US9324450B2 (en) 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
US9442798B2 (en) 2014-07-31 2016-09-13 Winbond Electronics Corporation NAND flash memory having an enhanced buffer read capability and method of operation thereof
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof

Also Published As

Publication number Publication date
US8122184B2 (en) 2012-02-21
TW200917021A (en) 2009-04-16
JP5031849B2 (en) 2012-09-26
WO2008089643A1 (en) 2008-07-31
CN100504814C (en) 2009-06-24
JP2010515179A (en) 2010-05-06
CN101030167A (en) 2007-09-05
US20090271567A1 (en) 2009-10-29

Similar Documents

Publication Publication Date Title
TWI351604B (en)
TWI597605B (en) Method of wear leveling for data storage device
TWI489373B (en) Data storage device and method for managing blocks of a flash memory
KR101686376B1 (en) Erase management in memory systems
US7783851B2 (en) Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices
JP4518951B2 (en) Automatic wear leveling in non-volatile storage systems.
CN106598878B (en) Solid state disk cold and hot data separation method
CN110895514A (en) Mapping table updating method
CN109582217A (en) Data storage device and method for writing data into memory device
CN104750625A (en) Data storage device and flash memory control method
JP2009282989A (en) Scheduling of housekeeping operation in flash memory system
JP2013061799A (en) Memory device, control method for memory device and controller
TW201411343A (en) Data storage device and control method for flash memory
TWI381393B (en) Block management and replacement method, flash memory storage system and controller using the same
CN112130749B (en) Data storage device and non-volatile memory control method
TW200915072A (en) Managing housekeeping operations in flash memory
TW202101223A (en) Data storage device and non-volatile memory control method
US20100306456A1 (en) Method for even utilization of a plurality of flash memory chips
CN109196473B (en) Cache management method, cache manager, shared cache and terminal
JP2006338083A (en) Memory controller
WO2014185038A1 (en) Semiconductor storage device and control method thereof
TWI420528B (en) Method for enhancing performance of a flash memory, and associated portable memory device and controller thereof
CN103123609A (en) Blocking management method of storer
JP2010250534A (en) Memory controller and flash memory system with memory controller and control method for flash memory
JP2003242788A (en) Nonvolatile semiconductor memory device and control method therefor

Legal Events

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