TWI611293B - 資料儲存裝置以及快閃記憶體控制方法 - Google Patents
資料儲存裝置以及快閃記憶體控制方法 Download PDFInfo
- Publication number
- TWI611293B TWI611293B TW103138872A TW103138872A TWI611293B TW I611293 B TWI611293 B TW I611293B TW 103138872 A TW103138872 A TW 103138872A TW 103138872 A TW103138872 A TW 103138872A TW I611293 B TWI611293 B TW I611293B
- Authority
- TW
- Taiwan
- Prior art keywords
- physical
- address mapping
- mapping table
- logical
- flash 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/60—Details of cache memory
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7202—Allocation control and policies
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本案揭露快閃記憶體所實現之資料儲存裝置、以及快閃記憶體控制技術,其中係分段將一物理區塊所對應的物理-邏輯位址映射資訊封存至快閃記憶體。一微控制器係設置來規劃該快閃記憶體提供一第一資料接收區塊。在該第一資料接收區塊上的一第一寫入操作以及一第二寫入操作之間,該微控制器基於一第一物理-邏輯映射表的僅部分空間更新一邏輯-物理位址映射表。該邏輯-物理位址映射表係維護於該快閃記憶體中。該第一物理-邏輯位址映射表係建立於隨機存取記憶體中,負責記錄一個物理區塊之物理位址所對應的邏輯位址。
Description
本發明係有關於快閃記憶體(flash memory)實現之資料儲存裝置以及快閃記憶體控制方法。
現今資料儲存裝置常以快閃記憶體(flash memory)為儲存媒體。例如,快閃記憶體常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)...等產品。另外有一種應用是採多晶片封裝、將一非及閘型快閃記憶體與其控制晶片包裝在同一封裝中-稱為嵌入式快閃記憶體模組(如eMMC)。
快閃記憶體的實體空間通常包括複數個物理區塊(blocks)。各物理區塊包括複數個物理頁(pages)。針對快閃記憶體而設計的抹除操作須以物理區塊為抹除單位,一物理區塊接著一物理區塊地釋放儲存空間。為了方便管理快閃記憶體,各物理區塊的物理-邏輯位址映射資訊係動態收集於一揮發式記憶體(例如,一靜態隨機存取記憶體(SRAM))。傳統技術中,針對一個完整物理區塊動態收集到的物理-邏輯位址映射資訊係一次性地上傳至該快閃記憶體作非揮發性儲存。一個完整物理區塊之物理-邏輯位址映射資訊之上傳非常耗時。
本案揭露快閃記憶體所實現的資料儲存裝置以及快閃記憶體控制方法,係分段將一物理區塊所對應的物理-邏輯位址映射資訊上傳至快閃記憶體。
根據本案一種實施方式所實現的資料儲存裝置包括一快閃記憶體以及一控制單元。該快閃記憶體係劃分為複數個物理區塊。各物理區塊包括複數個物理頁。該控制單元耦接該快閃記憶體至一主機,且包括一微控制器以及一隨機存取記憶體。該微控制器係運作來配置該快閃記憶體的該等物理區塊其一為一第一資料接收區塊。在該第一資料接收區塊上的一第一寫入操作以及一第二寫入操作之間,該微控制器基於一第一物理-邏輯映射表的僅部分空間更新一邏輯-物理位址映射表。該邏輯-物理位址映射表係維護於該快閃記憶體中。該第一物理-邏輯位址映射表係建立於該隨機存取記憶體上,記載一物理區塊之物理頁所對應的邏輯頁。
根據本案一種實施方式所實現的一快閃記憶體控制方法包括以下步驟:配置一快閃記憶體的複數個物理區塊其一為一第一資料接收區塊,各物理區塊係包括複數個物理頁;並且在該第一資料接收區塊上一第一寫入操作以及一第二寫入操作之間,根據一第一物理-邏輯位址映射表的僅部分內容更新一邏輯-物理位址映射表。該邏輯-物理位址映射表係維護於該快閃記憶體之上。該第一物理-邏輯位址映射表係建立於該隨機存取記憶體上,記錄一物理區塊之邏輯位址所對應的物理位址。
下文特舉實施例,並配合所附圖示,詳細說明本
發明內容。
100‧‧‧快閃記憶體
102‧‧‧物理頁
104、106、108以及110‧‧‧物理區段
200‧‧‧資料儲存裝置
202‧‧‧主機
204‧‧‧快閃記憶體
206‧‧‧控制單元
208‧‧‧系統內程式區
210‧‧‧系統資訊區塊
212‧‧‧閒置區塊
214、214_1、214_2‧‧‧資料接收區塊
216‧‧‧資料集合
218、218_1、218_2‧‧‧表格過期區塊
220‧‧‧微控制器
222‧‧‧隨機存取記憶體
224‧‧‧唯讀記憶體
302、306、310以及314‧‧‧各為32個物理頁
304、308、312以及316‧‧‧對應302、306、310以及314的映射資訊
402‧‧‧多個物理頁
404‧‧‧一串4K尺寸資料
406、408、410、412‧‧‧各自為4K尺寸資料
414、416、418、420‧‧‧物理-邏輯位址映射資訊
422‧‧‧區域
502、504、506、508‧‧‧物理-邏輯位址映射資訊
510、512、514、516‧‧‧儲存空間
BLK1、BLK2…BLKN…‧‧‧物理區塊
F2H、F2H1、F2H2‧‧‧物理-邏輯位址映射表
H2F‧‧‧邏輯-物理位址映射表
Hm(LBAk0~LBAk0+7)、Hm+1(LBAk1~LBAk1+7)、Hm+2(LBAk2~LBAk2+7)、Hm+3(LBAk3~LBAk3+7)‧‧‧主機頁
第1圖圖解一快閃記憶體100的儲存空間規劃;第2圖為方塊圖,根據本案一種實施方式實現一資料儲存裝置200,其中顯示主機202以及快閃記憶體204之間的映射資訊係如何建立且動態更新;第3圖根據本案一種實施方式圖解如此在區塊內寫入操作之間執行的局部F2H→H2F封存,其中該物理-邏輯位址映射表F2H係根據該資料接收區塊214上的寫入操作建立於該隨機存取記憶體222上;第4圖根據本案另一種實施方式圖解如此在區塊內寫入操作之間執行的局部F2H→H2F封存,其中該物理-邏輯位址映射表F2H係根據該資料接收區塊214上的寫入操作建立於該隨機存取記憶體222上;第5圖根據本案另一種實施方式圖解如此在區塊內寫入操作之間執行的局部F2H→H2F封存,其中上述物理-邏輯位址映射表F2H係針對表格過期區塊218建立於該隨機存取記憶體222中;第6圖說明兩種不同型態寫入操作所對應物理區塊規劃以及映射資訊更新。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明
範圍應依照申請專利範圍界定之。
第1圖圖解一快閃記憶體100的儲存空間規劃。快閃記憶體100所供應的儲存空間係劃分為複數個物理區塊(blocks)BLK1、BLK2…BLKN…等。各物理區塊包括複數物理頁(pages)。各物理頁包括複數物理區段(sectors)。例如,物理區塊BLKN上的物理頁102包括四個物理區段104、106、108以及110。若各物理區段係配置儲存一主機頁的使用者資料(對應一串邏輯位址,如LBAk~LBAk+7),各物理頁係配置給四個主機頁使用。例如,物理區段104、106、108以及110係分別對應主機頁Hm(即,LBAk0~LBAk0+7)、Hm+1(即,LBAk1~LBAk1+7)、Hm+2(即,LBAk2~LBAk2+7)、Hm+3(即,LBAk3~LBAk3+7)。若一物理區塊包括128個物理頁,則係有128x4個主機頁對應一物理區塊之128x4個物理區段。針對各物理區塊,128x4個物理區段以及128x4個主機頁之間的映射資訊需記錄下來,作儲存空間管理。
第2圖為方塊圖,根據本案一種實施方式實現一資料儲存裝置200,其中顯示主機202以及快閃記憶體204之間的映射資訊係如何建立且動態更新。資料儲存裝置200除了包括快閃記憶體204、更包括一控制單元206。
快閃記憶體204的物理區塊係配置作多種用途。部分物理區塊208係儲存系統內程式(in-system programs,簡稱ISPs)。部分物理區塊210係儲存系統資訊。部分物理區塊212為閒置物理區塊。配置自該些閒置區塊212的一資料接收區塊214則是負責接收寫入資料,將推入資料集合216為一資料區塊。
在另外一種實施方式中,資料接收區塊214的映射資訊可能正確更新在隨機存取記憶體222上,但在快閃記憶體204上已過時;參考虛線標示,如此資料接收區塊214可先標示為表格過期區塊218,待映射表更新完成,方自表格過期區塊218改標示為資料區塊,推入資料集合216中。快閃記憶體204可更包括未作任何配置使用的物理區塊(free blocks,未顯示於圖示中)。
控制單元206係耦接該快閃記憶體204至主機202,且包括一微控制器220、一隨機存取記憶體222以及一唯讀記憶體224。唯讀程式碼係儲存於唯讀記憶體224中。微控制器220包括執行該唯讀記憶體224內的唯讀程式碼或/以及該快閃記憶體204之該些物理區塊208內的系統內程式碼,據以操作該快閃記憶體204。微控制器220係運作來實現該快閃記憶體204上的物理區塊配置(參考第2圖),在該隨機存取記憶體222上建立物理-邏輯位址映射表F2H,以及在該快閃記憶體204上維護一邏輯-物理位置映射表H2F(例如,記錄在系統資訊物理區塊210中)。該物理-邏輯位址映射表F2H係建立在該隨機存取記憶體222上,以動態紀錄該資料接收區塊214(或該表格過期區塊218)之物理位址所對應的邏輯位址。不同於將物理-邏輯位址映射表F2H完整地一口氣用來更新該邏輯-物理位址映射表H2F,微控制器220係運作來在該資料接收區塊214上兩個寫入操作之間,僅基於該物理-邏輯位址映射表F2H局部內容更新該邏輯-物理位址映射表H2F。基於該物理-邏輯位址映射表F2H而對該邏輯-物理位址映射表H2F所作的更新動作可稱為「F2H→H2F更新/封存」。微控制器220係運作來在區塊內寫入操作之間
(run-time,在資料接收區塊214兩個寫入操作之間)執行局部F2H→H2F封存(即,僅封存該物理-邏輯位址映射表F2H局部內容)-將顯著改善資料儲存裝置200的系統效能。
第3圖根據本案一種實施方式圖解如此在區塊內寫入操作之間執行的局部F2H→H2F封存,其中該物理-邏輯位址映射表F2H係根據該資料接收區塊214上的寫入操作建立於該隨機存取記憶體222上。第2圖控制器220係運作來在寫入特定尺寸的使用者資料(例如,32個物理頁,小於該資料接收區塊214的完整尺寸(128個物理頁))至該資料接收區塊214後,封存對應該特定尺寸使用者資料的該段物理-邏輯位址映射表F2H至該快閃記憶體204上的該邏輯-物理位址映射表H2F。如圖所示,物理-邏輯位址映射資訊304係基於32個物理頁302之寫入操作產生,用於組成該隨機存取記憶體222上的物理-邏輯位址映射表F2H。上述32個物理頁302的寫入操作完成後,快閃記憶體204上的邏輯-物理位址映射表H2F係隨後根據上述物理-邏輯位址映射資訊304作更新。上述物理-邏輯位址映射資訊304即物理-邏輯位址映射表F2H中對應上述32個物理頁302的段落。類似地,物理-邏輯位址映射資訊308係基於32個物理頁306之寫入操作產生,用於組成該隨機存取記憶體222上的物理-邏輯位址映射表F2H。上述32個物理頁306的寫入操作完成後,快閃記憶體204上的邏輯-物理位址映射表H2F係隨後根據上述物理-邏輯位址映射資訊308作更新。類似地,物理-邏輯位址映射資訊312係基於32個物理頁310之寫入操作產生,用於組成該隨機存取記憶體222上的物理-邏輯位址映射表F2H。上述32個
物理頁310的寫入操作完成後,快閃記憶體204上的邏輯-物理位址映射表H2F係隨後根據上述物理-邏輯位址映射資訊312作更新。至於尚未填滿的32個物理頁314,其物理-邏輯位址映射資訊316同樣尚未完全建立。因此,快閃記憶體204上的邏輯-物理位址映射表H2F尚未基於該段物理-邏輯位址映射資訊316作更新。第2圖之微控制器220可更運作來以一指標標示該段物理-邏輯位址映射資訊316,以標示尚未封存至該快閃記憶體204的該段映射資訊。因此,面對搜尋該段未封存映射資訊的需求時,微控制器220係即刻根據上述指標尋得該段物理-邏輯位址映射資訊316,相當省時,且大幅縮小未封存之映射資訊的搜尋區域。
第4圖根據本案另一種實施方式圖解如此在區塊內寫入操作之間執行的局部F2H→H2F封存,其中該物理-邏輯位址映射表F2H係根據該資料接收區塊214上的寫入操作建立於該隨機存取記憶體222上。如此在區塊內寫入操作之間執行的局部F2H→H2F封存係由一連串短於一物理頁的使用者資料觸發。如圖所示,在一系列物理頁402後,一連串的短資料404、406~412(一連串4K尺寸的資料)寫入該資料接收區塊214。物理-邏輯位址映射資訊F2H係根據該資料接收區塊214的寫入操作建立於該物理-邏輯位址映射表F2H。例如,物理-邏輯位址映射資訊414~420係對應多個物理頁402以及該串4K尺寸資料404形成,而區域422內的物理-邏輯映射資訊係針對該串4K尺寸資料406~412形成。在感測到該串4K尺寸資料404的寫入操作時,第2圖微控制器220係於該資料接收區塊214接續的寫入操作之
間基於該物理-邏輯位址映射表F2H更新該邏輯-物理位址映射表H2F。在4K尺寸資料406寫入該資料接收區塊214之前,該邏輯-物理位址映射表H2F係根據該物理-邏輯位址映射資訊414更新。在4K尺寸資料406以及4K尺寸資料408的寫入操作之間,邏輯-物理位址映射表H2F係根據該物理-邏輯位址映射資訊416更新。在4K尺寸資料408以及4K尺寸資料410的寫入操作之間,邏輯-物理位址映射表H2F係根據該物理-邏輯位址映射資訊418更新。在4K尺寸資料410以及4K尺寸資料412的寫入操作之間,邏輯-物理位址映射表H2F係根據該物理-邏輯位址映射資訊420更新。第2圖的微控制器220可更運作來以一指標標示儲存空間422內剩餘的物理-邏輯位址映射資訊(即,尚未封存的映射資訊)。因此,面對搜尋該段未封存的映射資訊的需求時,微控制器220係即刻根據上述指標尋得儲存空間422,相當省時,且大幅縮小未封存之映射資訊的搜尋區域。
第5圖根據本案另一種實施方式圖解如此在區塊內寫入操作之間執行的局部F2H→H2F封存,其中上述物理-邏輯位址映射表F2H係針對表格過期區塊218建立於該隨機存取記憶體222中。
在一種實施方式中,第2圖之微控制器220可設置來在該表格過期區塊218寫滿時令該快閃記憶體204配置供應上述資料接收區塊214。在此例中,微控制器220可設置來在該資料接收區塊214的寫入操作間根據該物理-邏輯位址映射表F2H更新上述邏輯-物理映射表H2F。
在另一實施方式中,表格過期區塊218的寫入操作
係曾被非預期掉電事件打斷,第2圖之微控制器220係運作來在一復電程序中配置該快閃記憶體204供應上述資料接收區塊214。在此實施例中,微控制器220係運作於該復電程序修復該物理-邏輯位址映射表格F2H,並在該資料接收區塊214的寫入操作之間將修復後的該物理-邏輯位址映射表格F2H封存至該邏輯-物理位址映射表H2F。
在第5圖,儲存空間510的寫入操作以及儲存空間512的寫入操作間隔係長於該資料儲存裝置200之負荷警示時間(time out period)兩倍。在儲存空間510的寫入操作以及儲存空間512的寫入操作之間,該微控制器220先基於該物理-邏輯位址映射資訊502更新該邏輯-物理位址映射表H2F,再基於該物理-邏輯位址映射資訊504更新該邏輯-物理位址映射表H2F。至於儲存空間512的寫入操作以及儲存空間514的寫入操作間隔則是較該資料儲存裝置200之負荷警示時間的兩倍短。在儲存空間512的寫入操作以及儲存空間514的寫入操作之間,該微控制器220係基於該物理-邏輯位址映射資訊506更新該邏輯-物理位址映射表H2F。至於儲存空間514的寫入操作以及儲存空間516的寫入操作間隔同樣是較該資料儲存裝置200之負荷警示時間的兩倍短。在儲存空間514的寫入操作以及儲存空間516的寫入操作之間,該微控制器220係基於該物理-邏輯位址映射資訊508更新該邏輯-物理位址映射表H2F。使用者資料接收以及映射資訊封存係交錯實行。此外,更有一指標可設計來標示出尚未封存至該邏輯-物理位址映射表H2F的物理-邏輯位址映射資訊。
在某些實施方式中,主機202下達的寫入操作係有兩種分類。例如,序列資料以及零散資料可分開寫入該快閃記憶體204。第6圖圖解針對以上兩種寫入操作而設計物理區塊配置以及映射資訊更新。資料接收區塊214_1以及表格過期區塊218_1係供應來寫入序列資料,資料接收區塊214_2以及表格過期區塊218_2係供應來寫入零散資料。對應表格過期區塊218_1的物理-邏輯位址映射係記錄於物理-邏輯位址映射表F2H1。對應表格過期區塊218_2的物理-邏輯位址映射係記錄於物理-邏輯位址映射表F2H2。
在一種實施方式中,第2圖微控制器220係運作來在該表格過期區塊218_1滿載時,配置該快閃記憶體204供應該資料接收區塊214_1。微控制器220在該資料接收區塊214_1的寫入操作之間,穿插將該物理-位址邏輯映射表F2H1封存至該邏輯-物理位址映射表H2F。微控制器220在該資料接收區塊214_2的寫入操作之間,穿插將該物理-位址邏輯映射表F2H2封存至該邏輯-物理位址映射表H2F。
在另一種實施方式中,若表格過期區塊218_1的寫入操作因非預期掉電事件中斷,第2圖該微控制器220在一復電程序係運作來配置該快閃記憶體204供應上述資料接收區塊214_1。該微控制器220係運作來在該復電程序修復該物理-邏輯位址映射表F2H1。該微控制器220會在該資料寫入區塊214_1的寫入操作間,穿插將修復後的物理-邏輯位址映射表F2H1封存至該邏輯-物理位址映射表H2F。若表格過期區塊218_2的寫入操作因非預期掉電事件中斷,第2圖該微控制器220在一復電
程序係運作來配置該快閃記憶體204供應上述資料接收區塊214_2。該微控制器220係運作來在該復電程序修復該物理-邏輯位址映射表F2H2。該微控制器220會在該資料寫入區塊214_2的寫入操作間,穿插將修復後的物理-邏輯位址映射表F2H2封存至該邏輯-物理位址映射表H2F。
其他採用上述概念控制一快閃記憶體的技術都屬於本案所欲保護的範圍。基於以上技術內容,本案更涉及快閃記憶體的控制方法,不限定以特定架構的控制單元實現。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200‧‧‧資料儲存裝置
202‧‧‧主機
204‧‧‧快閃記憶體
206‧‧‧控制單元
208‧‧‧系統內程式區塊
210‧‧‧系統資訊區塊
212‧‧‧閒置區塊
214‧‧‧資料接收區塊
216‧‧‧資料集合
218‧‧‧表格過期區塊
220‧‧‧微控制器
222‧‧‧隨機存取記憶體
224‧‧‧唯讀記憶體
F2H‧‧‧物理-邏輯位址映射表
H2F‧‧‧邏輯-物理位址映射表
Claims (16)
- 一種資料儲存裝置,包括:一快閃記憶體,劃分為複數個物理區塊,且上述物理區塊各自包括複數個物理頁;以及一控制單元,耦接該快閃記憶體至一主機,且包括一微控制器以及一隨機存取記憶體;其中:該微控制器係運作來配置該快閃記憶體以該等物理區塊之一作一第一資料接收區塊;在該第一資料接收區塊上一第一寫入操作以及一第二寫入操作之間,該微控制器根據物理-邏輯資訊之一第一部分更新至一邏輯-物理位址映射表,而物理-邏輯資訊之一第二部分於執行於上述第一資料接收區塊上的另一對寫入操作間之一時間間隔中等待被更新至上述邏輯-物理位址映射表;該邏輯-物理位址映射表係設置在該快閃記憶體上;且用以提供物理-邏輯資訊之上述第一部分以及上述第二部分之一第一物理-邏輯位址映射表係建立於該隨機存取記憶體上,以記錄一個物理區塊之物理頁所對應的邏輯位址。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該微控制器包括根據該主機對該第一資料接收區塊所下達的寫入操作建立該第一物理-邏輯位址映射表。
- 如申請專利範圍第2項所述之資料儲存裝置,其中:在寫入各短於一物理頁的一串使用者資料進該第一資料接收區塊後,該微控制器係運作來在該第一資料接收區塊上 接續的寫入操作之間,穿插將該第一物理-邏輯位址映射表封存至該邏輯-物理位址映射表。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該微控制器係運作來在該快閃記憶體之該等物理區塊之間對應該第一物理-邏輯位址映射表的一第一表格過期區塊填滿時,配置該快閃記憶體供應上述第一資料接收區塊;且該微控制器係運作來在該第一資料接收區塊之寫入操作之間,穿插將該第一物理-邏輯位址映射表封存至該邏輯-物理位址映射表。
- 如申請專利範圍第4項所述之資料儲存裝置,其中:該微控制器係運作來在該快閃記憶體之該等物理區塊之間對應一第二物理-邏輯位址映射表的一第二表格過期區塊填滿時,配置該快閃記憶體供應一第二資料接收區塊,該第二物理-邏輯位址映射表係建立於該隨機存取記憶體上;該微控制器係運作來在該第二資料接收區塊之寫入操作之間,穿插將該第二物理-邏輯位址映射表封存至該邏輯-物理位址映射表;該第一資料接收區塊以及該第一表格過期區塊係配置作一第一型態的寫入操作;且該第二資料接收區塊以及該第二表格過期區塊係配置作一第二型態的寫入操作。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該微控制器係運作來在該快閃記憶體之該等物理區塊之間對應該第一物理-邏輯位址映射表的一第一表格過期區塊遭 非預期掉電事件中斷時,於一復電程序配置該快閃記憶體供應上述第一資料接收區塊;該微控制器係運作來在該復電程序修復該第一物理-邏輯位址映射表;以及該微控制器係運作來在該第一資料接收區塊之寫入操作之間,穿插將修復後的該第一物理-邏輯位址映射表封存至該邏輯-物理位址映射表。
- 如申請專利範圍第6項所述之資料儲存裝置,其中:該微控制器係運作來在該快閃記憶體之該等物理區塊之間對應一第二物理-邏輯位址映射表的一第二表格過期區塊遭非預期掉電事件中斷時,於該復電程序配置該快閃記憶體供應一第二資料接收區塊,該第二物理-邏輯位址映射表係建立於該隨機存取記憶體上;該微控制器係運作來在該復電程序修復該第二物理-邏輯位址映射表;該微控制器係運作來在該第二資料接收區塊之寫入操作之間,穿插將修復後的該第二物理-邏輯位址映射表封存至該邏輯-物理位址映射表;該第一資料接收區塊以及該第一表格過期區塊係配置作一第一型態的寫入操作;且該第二資料接收區塊以及該第二表格過期區塊係配置作一第二型態的寫入操作。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該微控制器係更運作來使用一指標標示該第一物理-邏輯位 址映射表中尚未封存至該邏輯一物理位址映射表的一段內容;且該微控制器係運作來根據該指標搜尋該第一物理-邏輯位址映射表。
- 一種快閃記憶體控制方法,包括:配置一快閃記憶體,以由該快閃記憶體的複數個物理區塊供應一第一資料接收區塊,上述物理區塊各自包括複數個物理頁;以及在該第一資料接收區塊上一第一寫入操作以及一第二寫入操作之間,根據物理-邏輯資訊之一第一部分更新至一邏輯-物理位址映射表,而物理-邏輯資訊之一第二部分於執行於上述第一資料接收區塊上的另一對寫入操作間之一時間間隔中等待被更新至上述邏輯-物理位址映射表;其中:該邏輯-物理位址映射表係維護於該快閃記憶體上;且用以提供物理-邏輯資訊之上述第一部分以及上述第二部分之一第一物理-邏輯位址映射表係建立於一隨機存取記憶體上,以記錄一個物理區塊之物理頁所對應的邏輯位址。
- 如申請專利範圍第9項所述之快閃記憶體控制方法,其中:該第一物理-邏輯位址映射表係根據一主機對該第一資料接收區塊所下達的寫入操作而建立。
- 如申請專利範圍第10項所述之快閃記憶體控制方法,其中:在寫入各短於一物理頁的一串使用者資料進該第一資料接 收區塊後,在該第一資料接收區塊上接續的寫入操作之間,穿插將該第一物理-邏輯位址映射表封存至該邏輯-物理位址映射表。
- 如申請專利範圍第9項所述之快閃記憶體控制方法,其中:該快閃記憶體係在該快閃記憶體之該等物理區塊之間對應該第一物理-邏輯位址映射表的一第一表格過期區塊填滿時,配置供應上述第一資料接收區塊;且該第一物理-邏輯位址映射表係穿插在該第一資料接收區塊之寫入操作之間封存至該邏輯-物理位址映射表。
- 如申請專利範圍第12項所述之快閃記憶體控制方法,更包括:在該快閃記憶體之該等物理區塊之間對應一第二物理-邏輯位址映射表的一第二表格過期區塊填滿時,配置該快閃記憶體更供應一第二資料接收區塊,該第二物理-邏輯位址映射表係建立於該隨機存取記憶體上;以及穿插在該第二資料接收區塊之寫入操作之間封存該第二物理-邏輯位址映射表至該邏輯-物理位址映射表;其中:該第一資料接收區塊以及該第一表格過期區塊係配置作一第一型態的寫入操作;且該第二資料接收區塊以及該第二表格過期區塊係配置作一第二型態的寫入操作。
- 如申請專利範圍第9項所述之快閃記憶體控制方法,其中:在該快閃記憶體之該等物理區塊之間對應該第一物理-邏輯 位址映射表的一第一表格過期區塊之寫入操作遭非預期掉電中斷後,該快閃記憶體係於一復電程序配置供應上述第一資料接收區塊;該第一物理-邏輯位址映射表係在上述復電程序修復;並且修復後的該第一物理-邏輯位址映射表係穿插在該第一資料接收區塊之寫入操作之間封存至該邏輯-物理位址映射表。
- 如申請專利範圍第14項所述之快閃記憶體控制方法,更包括:在該快閃記憶體之該等物理區塊之間對應一第二物理-邏輯位址映射表的一第二表格過期區塊之寫入操作遭非預期掉電中斷後,配置該快閃記憶體於上述復電程序更配置供應一第二資料接收區塊,該第二物理-邏輯位址映射表係建立於該隨機存取記憶體上;在上述復電程序修復該第二物理-邏輯位址映射表;並且穿插在該第二資料接收區塊之寫入操作之間將修復後的該第二物理-邏輯位址映射表係封存至該邏輯-物理位址映射表;其中:該第一資料接收區塊以及該第一表格過期區塊係配置作一第一型態的寫入操作;且該第二資料接收區塊以及該第二表格過期區塊係配置作一第二型態的寫入操作。
- 如申請專利範圍第9項所述之快閃記憶體控制方法,更包括: 使用一指標標示該第一物理-邏輯位址映射表中尚未封存至該邏輯-物理位址映射表的一段內容;且根據該指標搜尋該第一物理-邏輯位址映射表。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361920830P | 2013-12-26 | 2013-12-26 | |
US61/920,830 | 2013-12-26 | ||
US14/534,488 US9632880B2 (en) | 2013-12-26 | 2014-11-06 | Data storage device and flash memory control method |
US14/534,488 | 2014-11-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201525691A TW201525691A (zh) | 2015-07-01 |
TWI611293B true TWI611293B (zh) | 2018-01-11 |
Family
ID=53481879
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103138870A TWI561982B (en) | 2013-12-26 | 2014-11-10 | Data storage device and flash memory control method |
TW103138872A TWI611293B (zh) | 2013-12-26 | 2014-11-10 | 資料儲存裝置以及快閃記憶體控制方法 |
TW103138991A TWI520139B (zh) | 2013-12-26 | 2014-11-11 | 資料儲存裝置以及快閃記憶體控制方法 |
TW103144258A TWI570737B (zh) | 2013-12-26 | 2014-12-18 | 資料儲存裝置以及快閃記憶體控制方法 |
TW103144257A TWI516935B (zh) | 2013-12-26 | 2014-12-18 | 資料儲存裝置以及快閃記憶體控制方法 |
TW103144256A TWI575373B (zh) | 2013-12-26 | 2014-12-18 | 資料儲存裝置以及快閃記憶體控制方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103138870A TWI561982B (en) | 2013-12-26 | 2014-11-10 | Data storage device and flash memory control method |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103138991A TWI520139B (zh) | 2013-12-26 | 2014-11-11 | 資料儲存裝置以及快閃記憶體控制方法 |
TW103144258A TWI570737B (zh) | 2013-12-26 | 2014-12-18 | 資料儲存裝置以及快閃記憶體控制方法 |
TW103144257A TWI516935B (zh) | 2013-12-26 | 2014-12-18 | 資料儲存裝置以及快閃記憶體控制方法 |
TW103144256A TWI575373B (zh) | 2013-12-26 | 2014-12-18 | 資料儲存裝置以及快閃記憶體控制方法 |
Country Status (3)
Country | Link |
---|---|
US (8) | US9684568B2 (zh) |
CN (6) | CN104750625B (zh) |
TW (6) | TWI561982B (zh) |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811275B2 (en) * | 2015-02-27 | 2017-11-07 | Toshiba Memory Corporation | Memory system and data control method |
US10007451B2 (en) * | 2015-03-20 | 2018-06-26 | SK Hynix Inc. | Scalable SPOR algorithm for flash memories |
US9703498B1 (en) * | 2015-06-29 | 2017-07-11 | EMC IP Holding Company LLC | Allocating space in a file system from sequential and random cursors |
TWI563510B (en) * | 2015-07-24 | 2016-12-21 | Phison Electronics Corp | Mapping table accessing method, memory control circuit unit and memory storage device |
TWI575374B (zh) * | 2015-08-04 | 2017-03-21 | 群聯電子股份有限公司 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI534619B (zh) * | 2015-09-11 | 2016-05-21 | 慧榮科技股份有限公司 | 動態邏輯分段方法以及使用該方法的裝置 |
US10073769B2 (en) | 2015-10-15 | 2018-09-11 | Silicon Motion, Inc. | Data storage device and data maintenance method thereof |
TWI646461B (zh) * | 2016-10-12 | 2019-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
TWI537729B (zh) | 2015-10-15 | 2016-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
TWI604308B (zh) | 2015-11-18 | 2017-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
KR102625637B1 (ko) * | 2016-02-01 | 2024-01-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN105868122A (zh) * | 2016-03-28 | 2016-08-17 | 深圳市硅格半导体股份有限公司 | 快闪存储设备的数据处理方法及装置 |
TWI603193B (zh) * | 2016-03-31 | 2017-10-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US9910772B2 (en) * | 2016-04-27 | 2018-03-06 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
US10289487B2 (en) | 2016-04-27 | 2019-05-14 | Silicon Motion Inc. | Method for accessing flash memory module and associated flash memory controller and memory device |
US10019314B2 (en) | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
CN111679787B (zh) | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
CN107391026B (zh) | 2016-04-27 | 2020-06-02 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
CN107391296B (zh) | 2016-04-27 | 2020-11-06 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
TW201742063A (zh) | 2016-05-30 | 2017-12-01 | 慧榮科技股份有限公司 | 資料儲存方法及發生電源中斷事件後之系統初始化之方法 |
CN106201903B (zh) * | 2016-07-05 | 2019-07-30 | 深圳市领存技术有限公司 | 一种三维闪存擦除控制方法及其系统 |
KR20180019419A (ko) | 2016-08-16 | 2018-02-26 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 그 동작방법 |
KR102711037B1 (ko) * | 2016-09-19 | 2024-09-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI607312B (zh) | 2016-10-07 | 2017-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料寫入方法 |
TWI640868B (zh) * | 2016-10-07 | 2018-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料寫入方法 |
TWI619018B (zh) * | 2016-11-10 | 2018-03-21 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之垃圾蒐集方法 |
TWI670640B (zh) * | 2016-11-25 | 2019-09-01 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 |
TWI591533B (zh) | 2016-11-25 | 2017-07-11 | 慧榮科技股份有限公司 | 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置 |
TWI627531B (zh) * | 2016-11-28 | 2018-06-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
KR20180080589A (ko) * | 2017-01-04 | 2018-07-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI659307B (zh) * | 2017-01-06 | 2019-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
TWI602116B (zh) | 2017-03-07 | 2017-10-11 | Silicon Motion Inc | 資料儲存裝置及其資料維護方法 |
TWI653533B (zh) * | 2017-03-07 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
TWI644250B (zh) * | 2017-03-07 | 2018-12-11 | 慧榮科技股份有限公司 | 電子系統及其資料維護方法 |
CN108733575B (zh) * | 2017-04-20 | 2022-12-27 | 深圳市得一微电子有限责任公司 | 一种断电重启后逻辑对物理映像表的重建方法、固态硬盘 |
TWI639917B (zh) | 2017-04-25 | 2018-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及映射表重建方法 |
US10141050B1 (en) * | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
CN108959108B (zh) | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
TWI633437B (zh) | 2017-05-26 | 2018-08-21 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
KR102233400B1 (ko) * | 2017-05-29 | 2021-03-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI672590B (zh) * | 2017-06-27 | 2019-09-21 | 慧榮科技股份有限公司 | 資料儲存裝置 |
TWI630540B (zh) * | 2017-07-13 | 2018-07-21 | 慧榮科技股份有限公司 | 資料儲存裝置及非揮發式記憶體操作方法 |
CN107391046B (zh) * | 2017-08-02 | 2021-04-20 | 郑州云海信息技术有限公司 | 一种raid系统的数据写入方法及装置 |
CN109582599B (zh) * | 2017-09-29 | 2023-12-22 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
CN108132853A (zh) * | 2017-11-24 | 2018-06-08 | 北京动力机械研究所 | 用于发动机控制器软件的上电校验双冗余引导加载方法 |
TWI733964B (zh) * | 2017-12-13 | 2021-07-21 | 英業達股份有限公司 | 記憶體整體測試之系統及其方法 |
CN107967125A (zh) * | 2017-12-20 | 2018-04-27 | 北京京存技术有限公司 | 闪存转换层的管理方法、装置及计算机可读存储介质 |
TWI649755B (zh) * | 2017-12-22 | 2019-02-01 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
TWI668700B (zh) * | 2017-12-22 | 2019-08-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
TWI645404B (zh) * | 2017-12-28 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體操作方法 |
TWI670594B (zh) * | 2018-01-18 | 2019-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置 |
CN108255436A (zh) * | 2018-01-25 | 2018-07-06 | 广东美的制冷设备有限公司 | 数据存取方法、存取装置、家电设备和可读存储介质 |
TWI664527B (zh) * | 2018-03-20 | 2019-07-01 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 |
TWI679538B (zh) * | 2018-03-31 | 2019-12-11 | 慧榮科技股份有限公司 | 資料儲存系統之控制單元以及邏輯至物理映射表更新方法 |
JP2019185350A (ja) * | 2018-04-09 | 2019-10-24 | 東芝メモリ株式会社 | メモリシステム及びメモリシステムの制御方法 |
TWI669610B (zh) * | 2018-06-13 | 2019-08-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TWI678622B (zh) * | 2018-06-15 | 2019-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置的開發系統以及產品化方法 |
US10534551B1 (en) * | 2018-06-22 | 2020-01-14 | Micron Technology, Inc. | Managing write operations during a power loss |
CN110955384B (zh) * | 2018-09-26 | 2023-04-18 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN109446109B (zh) * | 2018-10-25 | 2021-06-29 | 江苏华存电子科技有限公司 | 一种混合型记录实体映像表的方法 |
KR102516246B1 (ko) * | 2018-10-29 | 2023-03-30 | 마이크론 테크놀로지, 인크. | Slc 캐시 할당 |
CN109582222B (zh) * | 2018-10-31 | 2020-11-24 | 华中科技大学 | 一种主机感知瓦记录磁盘中持久缓存的清理方法 |
TW202018513A (zh) * | 2018-11-07 | 2020-05-16 | 威剛科技股份有限公司 | 固態硬碟及其資料存取的方法 |
KR20200058867A (ko) * | 2018-11-20 | 2020-05-28 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 블록의 반복 접근을 줄이는 방법 및 장치 |
TWI704456B (zh) * | 2018-11-22 | 2020-09-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料存取方法 |
KR102637478B1 (ko) | 2018-12-05 | 2024-02-15 | 삼성전자주식회사 | 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법 |
TWI749279B (zh) * | 2018-12-18 | 2021-12-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US11288185B2 (en) | 2019-01-03 | 2022-03-29 | Silicon Motion, Inc. | Method and computer program product for performing data writes into a flash memory |
CN111399750B (zh) * | 2019-01-03 | 2023-05-26 | 慧荣科技股份有限公司 | 闪存数据写入方法及计算机可读取存储介质 |
TWI709854B (zh) * | 2019-01-21 | 2020-11-11 | 慧榮科技股份有限公司 | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 |
JP6708762B1 (ja) * | 2019-01-29 | 2020-06-10 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN111610929B (zh) * | 2019-02-26 | 2023-04-14 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI710905B (zh) * | 2019-05-06 | 2020-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及邏輯至物理位址映射表之載入方法 |
TWI695264B (zh) * | 2019-05-20 | 2020-06-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
TWI745695B (zh) * | 2019-05-22 | 2021-11-11 | 慧榮科技股份有限公司 | 用來進行無預警斷電復原管理之方法、記憶裝置及其控制器以及電子裝置 |
CN112100087B (zh) * | 2019-06-17 | 2024-04-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI726524B (zh) * | 2019-12-09 | 2021-05-01 | 新唐科技股份有限公司 | 電子處理裝置及記憶體控制方法 |
TWI738308B (zh) * | 2020-04-27 | 2021-09-01 | 宇瞻科技股份有限公司 | 基於分頁模式備份資料的固態硬碟以及基於分頁模式的固態硬碟資料備份方法 |
CN112506814B (zh) * | 2020-11-17 | 2024-03-22 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法与存储系统 |
CN112559386B (zh) * | 2020-12-22 | 2024-06-18 | 深圳忆联信息系统有限公司 | 提升ssd性能的方法、装置、计算机设备及存储介质 |
CN112668642A (zh) * | 2020-12-28 | 2021-04-16 | 高新兴智联科技有限公司 | 一种机动车电子标识与视频结合系统及方法 |
KR20220142192A (ko) * | 2021-04-14 | 2022-10-21 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN113535092B (zh) * | 2021-07-20 | 2024-05-17 | 阿里巴巴创新公司 | 用于减少内存元数据的存储引擎、方法和可读介质 |
US11615020B2 (en) | 2021-08-12 | 2023-03-28 | Micron Technology, Inc. | Implementing mapping data structures to minimize sequentially written data accesses |
CN114356246B (zh) * | 2022-03-17 | 2022-05-13 | 北京得瑞领新科技有限公司 | Ssd内部数据的存储管理方法、装置、存储介质及ssd设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169551A1 (en) * | 2008-12-27 | 2010-07-01 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886108B2 (en) | 2000-01-06 | 2011-02-08 | Super Talent Electronics, Inc. | Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device |
US8078794B2 (en) | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
US8266367B2 (en) | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
US6970890B1 (en) | 2000-12-20 | 2005-11-29 | Bitmicro Networks, Inc. | Method and apparatus for data recovery |
US6895490B1 (en) | 2001-04-09 | 2005-05-17 | Matrix Semiconductor, Inc. | Method for making a write-once memory device read compatible with a write-many file system |
US7085879B2 (en) | 2002-02-27 | 2006-08-01 | Microsoft Corporation | Dynamic data structures for tracking data stored in a flash memory device |
CN100590737C (zh) | 2003-01-26 | 2010-02-17 | 深圳市朗科科技股份有限公司 | 闪存介质中的数据管理方法 |
US7904635B2 (en) | 2003-03-04 | 2011-03-08 | Netac Technology Co., Ltd. | Power cut data recovery and data management method for flash media |
TW594477B (en) * | 2003-05-02 | 2004-06-21 | Genesys Logic Inc | Method and related device for accessing non-volatile memory of dual platforms for PC and X-BOX |
US6988175B2 (en) | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7509474B2 (en) | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
KR101257848B1 (ko) | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
US20070156998A1 (en) * | 2005-12-21 | 2007-07-05 | Gorobets Sergey A | Methods for memory allocation in non-volatile memories with a directly mapped file storage system |
EP1966699A2 (en) | 2005-12-22 | 2008-09-10 | Nxp B.V. | Memory with block-erasable locations and a linked chain of pointers to locate blocks with pointer information |
US7711923B2 (en) * | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
CN100583293C (zh) | 2006-08-09 | 2010-01-20 | 安国国际科技股份有限公司 | 存储装置及其读写方法 |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
KR100833188B1 (ko) | 2006-11-03 | 2008-05-28 | 삼성전자주식회사 | 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템 |
US20080140724A1 (en) * | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US8621138B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
EP2225643B1 (en) | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
KR101067457B1 (ko) | 2008-03-01 | 2011-09-27 | 가부시끼가이샤 도시바 | 메모리 시스템 |
TWI472916B (zh) * | 2008-06-02 | 2015-02-11 | A Data Technology Co Ltd | 記憶體儲存空間管理方法 |
US8843691B2 (en) | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
US8321652B2 (en) * | 2008-08-01 | 2012-11-27 | Infineon Technologies Ag | Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks |
CN101667157A (zh) | 2008-09-04 | 2010-03-10 | 群联电子股份有限公司 | 闪存数据传输方法、闪存储存系统及控制器 |
TWI467369B (zh) | 2008-10-01 | 2015-01-01 | A Data Technology Co Ltd | 混合密度記憶體系統及其控制方法 |
US8412880B2 (en) * | 2009-01-08 | 2013-04-02 | Micron Technology, Inc. | Memory system controller to manage wear leveling across a plurality of storage nodes |
US8832353B2 (en) * | 2009-04-07 | 2014-09-09 | Sandisk Technologies Inc. | Host stop-transmission handling |
US20100306451A1 (en) | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
US8688894B2 (en) | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
TWI407310B (zh) | 2009-10-09 | 2013-09-01 | Silicon Motion Inc | 資料儲存裝置及資料存取方法 |
US8291194B2 (en) | 2009-11-16 | 2012-10-16 | Mediatek Inc. | Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof |
US9104546B2 (en) | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
KR101662827B1 (ko) | 2010-07-02 | 2016-10-06 | 삼성전자주식회사 | 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법 |
KR101811297B1 (ko) | 2011-03-15 | 2017-12-27 | 삼성전자주식회사 | 불휘발성 메모리를 제어하는 메모리 컨트롤러 |
CN102682848B (zh) | 2011-03-16 | 2016-12-07 | 三星电子株式会社 | 存储器装置、存储器卡、固态驱动器、系统及其操作方法 |
JP2014513850A (ja) | 2011-05-17 | 2014-06-05 | サンディスク テクノロジィース インコーポレイテッド | 小さな論理グループがアクティブなslcおよびmlcメモリパーティションに分散させられる不揮発性メモリおよび方法 |
US20120297121A1 (en) | 2011-05-17 | 2012-11-22 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions |
CN103106143B (zh) * | 2011-11-11 | 2016-01-13 | 光宝科技股份有限公司 | 固态储存装置及其逻辑至实体对应表建立方法 |
CN102591748A (zh) | 2011-12-29 | 2012-07-18 | 记忆科技(深圳)有限公司 | 固态硬盘及其掉电保护方法、系统 |
TWI544334B (zh) | 2012-05-30 | 2016-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存裝置操作方法 |
US9244833B2 (en) * | 2012-05-30 | 2016-01-26 | Silicon Motion, Inc. | Data-storage device and flash memory control method |
TWI477966B (zh) | 2012-05-31 | 2015-03-21 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體操作方法 |
US20130326169A1 (en) | 2012-05-31 | 2013-12-05 | Amir Shaharabany | Method and Storage Device for Detection of Streaming Data Based on Logged Read/Write Transactions |
US8910017B2 (en) | 2012-07-02 | 2014-12-09 | Sandisk Technologies Inc. | Flash memory with random partition |
US9146857B2 (en) * | 2012-08-18 | 2015-09-29 | Storart Technology Co. Ltd. | Method for mapping management |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9098400B2 (en) | 2012-10-31 | 2015-08-04 | International Business Machines Corporation | Dynamic tuning of internal parameters for solid-state disk based on workload access patterns |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
CN103150125B (zh) | 2013-02-20 | 2015-06-17 | 郑州信大捷安信息技术股份有限公司 | 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡 |
US8990458B2 (en) | 2013-02-28 | 2015-03-24 | Kabushiki Kaisha Toshiba | Controller, semiconductor storage device and method of controlling data writing |
US20150127687A1 (en) * | 2013-11-04 | 2015-05-07 | Roger Graves | System and methods for creating and modifying a hierarchial data structure |
US20150261444A1 (en) | 2014-03-12 | 2015-09-17 | Kabushiki Kaisha Toshiba | Memory system and information processing device |
-
2014
- 2014-11-06 US US14/534,633 patent/US9684568B2/en active Active
- 2014-11-06 US US14/534,603 patent/US9645896B2/en active Active
- 2014-11-06 US US14/534,569 patent/US9645895B2/en active Active
- 2014-11-06 US US14/534,488 patent/US9632880B2/en active Active
- 2014-11-06 US US14/534,686 patent/US9542278B2/en active Active
- 2014-11-06 US US14/534,535 patent/US9645894B2/en active Active
- 2014-11-10 TW TW103138870A patent/TWI561982B/zh active
- 2014-11-10 TW TW103138872A patent/TWI611293B/zh active
- 2014-11-11 TW TW103138991A patent/TWI520139B/zh active
- 2014-12-08 CN CN201410743784.7A patent/CN104750625B/zh active Active
- 2014-12-08 CN CN201410743192.5A patent/CN104750619B/zh active Active
- 2014-12-08 CN CN201410742700.8A patent/CN104750618B/zh active Active
- 2014-12-18 TW TW103144258A patent/TWI570737B/zh active
- 2014-12-18 TW TW103144257A patent/TWI516935B/zh active
- 2014-12-18 TW TW103144256A patent/TWI575373B/zh active
- 2014-12-25 CN CN201410821110.4A patent/CN104750615B/zh active Active
- 2014-12-25 CN CN201410825548.XA patent/CN104750626B/zh active Active
- 2014-12-25 CN CN201410821785.9A patent/CN104750616B/zh active Active
-
2017
- 2017-02-21 US US15/437,543 patent/US9727271B2/en active Active
- 2017-05-17 US US15/597,742 patent/US9842030B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169551A1 (en) * | 2008-12-27 | 2010-07-01 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI611293B (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
TWI639917B (zh) | 資料儲存裝置及映射表重建方法 | |
TWI546666B (zh) | 資料儲存裝置以及快閃記憶體控制方法 | |
US9904490B2 (en) | Solid-state mass storage device and method for persisting volatile data to non-volatile media | |
TWI461913B (zh) | 快閃記憶裝置及其資料讀取方法 | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
US8909986B2 (en) | Data storing method for solid state drive to preserve data integrity after power failure | |
TWI526830B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI759699B (zh) | 能夠快速產生或更新有效頁數目對照表之內容的快閃記憶體控制器、方法及對應的儲存裝置 | |
TWI524183B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9666244B2 (en) | Dividing a storage procedure | |
US20050080985A1 (en) | Data storage device | |
KR102087495B1 (ko) | 저장 파라미터 변경 | |
US20180260319A1 (en) | Writing ssd system data | |
TWI442230B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
KR20100113083A (ko) | 셀당 단일 비트 nand 플래시 메모리를 에뮬레이팅하기 위한 셀당 다수 비트 nand 플래시 메모리에 대한 제어기 | |
TW201814526A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
TWI457755B (zh) | 資料寫入方法、記憶體控制器與儲存裝置 | |
WO2023116346A1 (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
TW201327185A (zh) | 記憶體儲存裝置及其記憶體控制器與資料寫入方法 | |
US20200097215A1 (en) | Adaptive solid state device management based on data expiration time | |
US20140052893A1 (en) | File deletion for non-volatile memory | |
TW201337553A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |