TW201527971A - 資料儲存裝置以及快閃記憶體控制方法 - Google Patents

資料儲存裝置以及快閃記憶體控制方法 Download PDF

Info

Publication number
TW201527971A
TW201527971A TW103144256A TW103144256A TW201527971A TW 201527971 A TW201527971 A TW 201527971A TW 103144256 A TW103144256 A TW 103144256A TW 103144256 A TW103144256 A TW 103144256A TW 201527971 A TW201527971 A TW 201527971A
Authority
TW
Taiwan
Prior art keywords
logical
address mapping
mapping table
physical
collection
Prior art date
Application number
TW103144256A
Other languages
English (en)
Other versions
TWI575373B (zh
Inventor
Chien-Cheng Lin
Chia-Chi Liang
Chang-Chieh Huang
Jie-Hao Lee
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of TW201527971A publication Critical patent/TW201527971A/zh
Application granted granted Critical
Publication of TWI575373B publication Critical patent/TWI575373B/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache 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/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/7202Allocation control and policies
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

高效率的資料儲存裝置以及快閃記憶體控制方法。該資料儲存裝置的一隨機存取記憶體係配置來提供一收集與更新空間,用作一物理-邏輯位址映射表所載之邏輯位址所對應的邏輯-物理位置映射表的收集與更新。將尚未出現在該收集與更新空間的一新邏輯-物理位址映射表記錄至該物理-邏輯位址映射表上時,該資料儲存裝置的一微控制器係設置來收集該新邏輯-物理位址映射表至該收集與更新空間,並且在該更新與收集空間上對該新邏輯-物理位址映射表作更新。

Description

資料儲存裝置以及快閃記憶體控制方法
本發明係有關於快閃記憶體(flash memory)實現之資料儲存裝置以及快閃記憶體控制方法。
現今資料儲存裝置常以快閃記憶體(flash memory)為儲存媒體。例如,快閃記憶體常用作記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)...等產品。另外有一種應用是採多晶片封裝、將一非及閘型快閃記憶體與其控制晶片包裝在同一封裝中-稱為嵌入式快閃記憶體模組(如eMMC)。
快閃記憶體的實體空間通常包括複數個區塊(blocks)。各區塊包括複數個物理頁(pages)。針對快閃記憶體而設計的抹除操作須以區塊為抹除單位,一次釋放一區塊的儲存空間。資料更新時,新資料係寫入閒置空間,而非覆寫在舊資料上。為了管理快閃記憶體,主機端以及快閃記憶體之間的映射資訊需加以維護。相較於其他傳統儲存媒體,快閃記憶體的管理更為複雜。快閃記憶體的映射資訊管理需要相當技巧。
採用高效率快閃記憶體控制技術的資料儲存裝置以及高效率之快閃記憶體控制方法。
根據本案一種實施方式所實現的資料儲存裝置包括一快閃記憶體以及一控制單元。該快閃記憶體係劃分為複數個區塊。各區塊包括複數個物理頁。該控制單元耦接該快閃記憶體至一主機,且具有一微控制器、以及一隨機存取記憶體。該微控制器係設置來在該隨機存取記憶體上、為該快閃記憶體的該等區塊中的一資料接收區塊建立一物理-邏輯位址映射表。該微控制器係更設置來規劃該隨機存取記憶體為該物理-邏輯位址映射表所載的邏輯位址所相關之邏輯-物理位址映射表提供一收集以及更新空間。將尚未出現在該收集以及更新空間的一新邏輯-物理位址映射表所對應的邏輯位址載入該物理-邏輯位址映射表時,該微控制器係設置來將該新邏輯-物理位址映射表收集至該收集以及更新空間、並係於該收集以及更新空間上對該新邏輯-物理位址映射表作更新。將已出現在該收集以及更新空間的一已暫存邏輯-物理位址映射表所對應的邏輯位址載入該物理-邏輯位址映射表時,該微控制器係設置來在該收集以及更新空間作該已暫存邏輯-物理位址映射表之更新。該微控制器係設置來基於該收集以及更新空間所收集且更新的邏輯-物理位址映射表對該快閃記憶體所載之邏輯-物理位址映射關係作更新。
根據本案一種實施方式所實現的一快閃記憶體控制方法包括以下步驟:為一快閃記憶體提供一隨機存取記憶體,該快閃記憶體提供劃分為複數個區塊的儲存空間,且各區塊包括複數個物理頁;在該隨機存取記憶體為該快閃記憶體之該等區塊中的一資料接收區塊建立一物理-邏輯位址映射表;配置 該隨機存取記憶體為該物理-邏輯位址映射表所載之邏輯位址所對應的邏輯-物理位址映射表提供一收集以及更新空間。將尚未出現在該收集以及更新空間的一新邏輯-物理位址映射表所對應的邏輯位址載入該物理-邏輯位址映射表時,該新邏輯-物理位址映射表係收集至該收集以及更新空間,且該新邏輯-物理位址映射係在該收集以及更新空間上作更新。將已出現在該收集以及更新空間的一已暫存邏輯-物理位址映射表之邏輯位址載入該物理-邏輯位址映射表時,該已暫存邏輯-物理位址映射表係在該收集以及更新空間作更新。載於該快閃記憶體上的一邏輯-物理位址映射關係可基於該收集以及更新空間所收集以及更新的邏輯-物理位址映射表作更新。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
100‧‧‧快閃記憶體
102‧‧‧物理頁
104、106、108以及110‧‧‧區段
200‧‧‧資料儲存裝置
202‧‧‧主機
204‧‧‧快閃記憶體
206‧‧‧控制單元
208‧‧‧系統內程式區塊
210‧‧‧系統資訊區塊
212‧‧‧閒置區塊
214‧‧‧資料接收區塊
216‧‧‧資料集合
220‧‧‧微控制器
222‧‧‧隨機存取記憶體
224‧‧‧唯讀記憶體
BLK4、BLK2…BLKN‧‧‧區塊
F2H‧‧‧物理-邏輯位址映射表
H1、H2…Hk…Hm‧‧‧邏輯位址
H2F‧‧‧邏輯-物理位址映射關係
H2F_H1、H2F_H2…H2F_Hk…H2F_Hm‧‧‧邏輯-物理位址映射表
Hm(LBAk0~LBAk0+7)、Hm+1(LBAk1~LBAk1+7)、Hm+2(LBAk2~LBAk2+7)、Hm+3(LBAk3~LBAk3+7)‧‧‧主機頁
S302…S310、S402…S406‧‧‧步驟
第1圖圖解一快閃記憶體100的儲存空間規劃;第2圖為方塊圖,根據本案一種實施方式圖解一資料儲存裝置200;第3圖為流程圖,根據本案一種實施方式圖解邏輯-物理位址映射關係(H2F)之即時下載以及更新技術,其中,寫入資料係寫入該資料接收區塊214;且第4圖為流程圖,圖解如何更新該邏輯-物理位址映射關係H2F。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
第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。資料儲存裝置200係根據主機202所下達的資料運作,包括一快閃記憶體204以及一控制單元206。快閃記憶體204的複數個區塊(blocks)係配置作多種用途。部分區塊208係用於儲存系統內程式碼(in-system programs,簡稱ISPs)。部分區塊210儲存系統資訊(system information),包括一邏輯-物理位址映射關係H2F。部分區塊212為閒置區塊。資料接收區塊 214係配置自該等閒置區塊,用以寫入資料,且將推入資料集合216作為資料區塊。快閃記憶體204可更包括未作任何配置使用的區塊(free blocks),未顯示於圖示中。
控制單元206耦接該快閃記憶體204至該主機202,且包括一微控制器220、一隨機存取記憶體222以及一唯讀記憶體224。唯讀程式碼係儲存於唯讀記憶體224中。微控制器220包括執行該唯讀記憶體224內的唯讀程式碼(ROM code)或/以及執行該快閃記憶體204之該些區塊208內的系統內程式碼,據以操作該快閃記憶體204。微控制器220係設置來執行該快閃記憶體204之區塊配置(如第2圖所示),並於該隨機存取記憶體222上建立一物理-邏輯位址映射表F2H,並於該快閃記憶體204內儲存邏輯-物理位址映射關係H2F。物理-邏輯位址映射表F2H係建立在隨機存取記憶體220上,動態紀載資料接收區塊214之物理位址所對應的邏輯位址。如圖所示,主機頁H1、H2…Hk…Hm係循序對應資料接收區塊214的多個區段。邏輯-物理位址映射關係H2F顯示主機202位址(即邏輯位址)以及快閃記憶體204之間的映射,係載於快閃記憶體204上作非揮發性儲存。邏輯-物理位址映射關係H2F可以複數個邏輯-物理位址映射表呈現。如圖所示,對應主機頁H1、H2…Hk…Hm…的邏輯-物理位址映射表H2F_H1、H2F_H2…H2F_Hk…H2F_Hm可自邏輯-物理位址映射關係H2F取得。各邏輯-物理位址映射表可包含一串邏輯位址的映射資訊。
除了在隨機存取記憶體222上為資料接收區塊214建立物理-邏輯位址映射表F2H,微控制器220可更設置來配置 該隨機存取記憶體222供應一收集以及更新空間H2F_M_A給該物理-邏輯位址映射表F2H所載之邏輯位址H1、H2…Hk…Hm對應的邏輯-物理位址映射表H2F_H1、H2F_H2…H2F_Hk…H2F_Hm,實現即時的邏輯-物理位址映射關係H2F之下載以及更新。將尚未出現在該收集以及更新空間H2F_M_A的一新邏輯-物理位址映射表所對應的一邏輯位址更新至該物理-邏輯位址映射表F2H時,該微控制器220係設置來自該快閃記憶體204所載的該邏輯-物理位址映射關係H2F獲取該新邏輯-物理位址映射表,並將該新邏輯-物理位址映射表收集至該收集以及更新空間H2F_M_A。該為控制器220係設置來在該收集以及更新空間H2F_M_A實施該新邏輯-物理位址映射表的更新。將已出現在該收集以及更新空間H2F_M_A的一已暫存邏輯-物理位址映射表所對應的一邏輯位址紀載至該物理-邏輯位址映射表F2H時,該微控制器220不再次讀取該快閃記憶體204收集該已暫存邏輯-物理位址映射表。該微控制器220係設置來在該收集以及更新空間H2F_M_A上實施該已暫存邏輯-物理位址映射表的更新。該收集以及更新空間H2F_M_A所收集以及更新的該已暫存邏輯-物理位址映射表更會由該微控制器222讀取,以寫入該快閃記憶體204更新該邏輯-物理位址映射關係H2F。
根據前述技術,頻繁變動之資料所對應的邏輯-物理位址映射表不會反覆自該快閃記憶體204下載做修正再上傳回該快閃記憶體204。寫入序列資料(具連續邏輯位址)至快閃記憶體204時,一序列的寫入邏輯位址可能對應同樣的邏輯-物理位址映射表。因此,需求的邏輯-物理位址映射表僅一次下載 至該收集以及更新空間H2F_M_A,隨一序列寫入操作後最終方上傳回該快閃記憶體204。
第3圖為流程圖,根據本案一種實施方式圖解邏輯-物理位址映射關係(H2F)的即時下載與更新,其中寫入資料係寫入該資料接收區塊214。步驟S302檢查邏輯寫入頁HPage_Write所對應的邏輯-物理位址映射表H2F_Hpage_Write是否已存入該收集以及更新空間H2F_M_A。若否,步驟S304檢查該收集以及更新空間H2F_M_A是否還足以容納該邏輯-物理位址映射表H2F_HPage_Write。若該收集以及更新空間H2F_M_A不足以儲存該邏輯-物理位址映射表H2F_HPage_Write,步驟S306令該收集以及更新空間H2F_M_A上的資料無效。若該收集以及更新空間H2F_M_A尚有空間儲存該邏輯-物理位址映射表H2F_HPage_Write,步驟S308以及S310自該快閃記憶體204將該邏輯-物理位址映射表H2F_HPage_Write載入該收集以及更新區域H2F_M_A,並在該收集以及更新空間H2F_M_A上作該邏輯-物理位址映射表H2F_HPage_Write的更新。特別是,當步驟S302判定對應該邏輯寫入頁HPage_Write的該邏輯-物理位址映射表H2F_HPage_Write已儲存於該收集以及更新空間H2F_M_A,流程將省略步驟S304以及S308而進行步驟S310,在該收集以及更新空間H2F_M_A上對已經儲存於該收集以及更新空間H2F_M_A的該邏輯-物理位址映射表HPage_Write作更新。
第4圖為流程圖,圖解該邏輯-物理位址映射關係H2F係如何更新。步驟S402檢查該收集以及更新空間H2F_M_A。 若該收集以及更新空間H2F_M_A的資料有效,步驟S404將該收集以及更新空間H2F_M_A所收集且更新的邏輯-物理位址映射表上傳至該快閃記憶體204更新該邏輯-物理位址映射關係H2F。該收集以及更新空間H2F_M_A上的資料為無效時,表示該收集以及更新空間H2F_M_A上的資料必須被捨棄,步驟S406因而執行,掃描該物理-邏輯位址映射表F2H,將該物理-邏輯位址映射表F2H所載的邏輯位址對應之邏輯-物理位址映射表自該隨快閃記憶體204隨著該物理-邏輯位址映射表F2H之掃描下載至該隨機存取記憶體222、並在該隨機存取記憶體222上進行更新再上傳回該快閃記憶體204。
其他採用上述概念控制一快閃記憶體的技術都屬於本案所欲保護的範圍。基於以上技術內容,本案更涉及快閃記憶體的控制方法,不限定以特定架構的控制單元實現。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200‧‧‧資料儲存裝置
202‧‧‧主機
204‧‧‧快閃記憶體
206‧‧‧控制單元
208‧‧‧系統內程式區塊
210‧‧‧系統資訊區塊
212‧‧‧閒置區塊
214‧‧‧資料區塊
216‧‧‧資料集合
220‧‧‧微控制器
222‧‧‧隨機存取記憶體
224‧‧‧唯讀記憶體
F2H‧‧‧物理-邏輯位址映射表
H1、H2…Hk…Hm‧‧‧邏輯位址
H2F‧‧‧邏輯-物理位址映射關係
H2F_H1、H2F_H2…H2F_Hk…H2F_Hm‧‧‧邏輯-物理位址映射表

Claims (14)

  1. 一種資料儲存裝置,包括:一快閃記憶體,劃分為複數個區塊,且上述區塊各自包括複數個物理頁;以及一控制單元,耦接該快閃記憶體至一主機,且包括一微控制器以及一隨機存取記憶體;其中:該微控制器係設置來在該隨機存取記憶體上為該快閃記憶體之該等區塊中的一資料接收區塊建立一物理-邏輯位址映射表;該微控制器係更設置來配置該隨機存取記憶體為該物理-邏輯位址映射表上所記載的邏輯位址所對應的邏輯-物理位址映射表供應一收集以及更新空間;以及將尚未出現在該收集以及更新空間的一新邏輯-物理位址映射表所對應的一邏輯位址載入該物理-邏輯位址映射表時,該微控制器係更設置來將該新邏輯-物理物址映射表收集至該收集以及更新空間,並在該收集以及更新空間上對該新邏輯-物理位址映射表作更新。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中:將已出現在該收集以及更新空間的一已暫存邏輯-物理位址映射表所對應的一邏輯位址載入該物理-邏輯位址映射表時,該微控制器係更設置來在該收集以及更新空間上對該已暫存邏輯-物理位址映射表作更新。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中: 該微控制器係設置來根據該收集以及更新空間所收集以及更新的邏輯-物理位址映射表更新該快閃記憶體所載的一邏輯-物理位址映射關係。
  4. 如申請專利範圍第2項所述之資料儲存裝置,其中:該微控制器係設置來在該收集以及更新空間不足以紀錄該物理-邏輯位址映射表所載之邏輯位址所對應的邏輯-物理位址映射表時,令該收集以及更新空間無效。
  5. 如申請專利範圍第4項所述之資料儲存裝置,其中:該微控制器係設置來在該收集以及更新空間非無效時,將該收集以及更新空間內所收集以及更新的邏輯-物理位址映射表上傳至該快閃記憶體,以更新該快閃記憶體所載的一邏輯-物理位址映射關係。
  6. 如申請專利範圍第5項所述之資料儲存裝置,其中:該微控制器係設置來在該收集以及更新空間無效時,捨棄該收集以及更新空間中的資料。
  7. 如申請專利範圍第6項所述之資料儲存裝置,其中:該收集以及更新空間中的資料被捨棄時,該微控制器係設置來掃描該物理-邏輯位址映射表,據以將該物理-邏輯位址映射表所載之邏輯位址所對應的邏輯-物理位址映射表自該快閃記憶體載入該隨機存取記憶體;以及隨著掃描該物理-邏輯位址映射表而下載至該隨機存取記憶體的邏輯-物理位址映射表係在該隨機存取記憶體上更新,繼而上傳回該快閃記憶體。
  8. 一種快閃記憶體控制方法,包括: 為一快閃記憶體供應一隨機存取記憶體,該快閃記憶體之儲存空間係劃分為複數個區塊,且上述區塊各自包括複數個物理頁;在該隨機存取記憶體上為該快閃記憶體之該等區塊中的一資料接收區塊建立一物理-邏輯位址映射表;以及配置該隨機存取記憶體為該物理-邏輯位址映射表上所記載的邏輯位址所對應的邏輯-物理位址映射表供應一收集以及更新空間;其中,將尚未出現在該收集以及更新空間的一新邏輯-物理位址映射表所對應的一邏輯位址載入該物理-邏輯位址映射表時,將該新邏輯-物理物址映射表收集至該收集以及更新空間,並在該收集以及更新空間上對該新邏輯-物理位址映射表作更新。
  9. 如申請專利範圍第8項所述之快閃記憶體控制方法,其中:將已出現在該收集以及更新空間的一已暫存邏輯-物理位址映射表所對應的一邏輯位址載入該物理-邏輯位址映射表時,該已暫存邏輯-物理位址映射表之更新係於該收集以及更新空間上執行。
  10. 如申請專利範圍第9項所述之快閃記憶體控制方法,更包括:根據該收集以及更新空間所收集以及更新的邏輯-物理位址映射表,更新該快閃記憶體所載的一邏輯-物理位址映射關係。
  11. 如申請專利範圍第9項所述之快閃記憶體控制方法,更包 括:在該收集以及更新空間不足以紀錄該物理-邏輯位址映射表所載之邏輯位址所對應的邏輯-物理位址映射表時,令該收集以及更新空間無效。
  12. 如申請專利範圍第11項所述之快閃記憶體控制方法,更包括:在該收集以及更新空間非無效時,將該收集以及更新空間內所收集以及更新的邏輯-物理位址映射表上傳至該快閃記憶體,以更新該快閃記憶體所載的一邏輯-物理位址映射關係。
  13. 如申請專利範圍第12項所述之快閃記憶體控制方法,更包括:在該收集以及更新空間無效時,捨棄該收集以及更新空間中的資料。
  14. 如申請專利範圍第13項所述之快閃記憶體控制方法,其中:該收集以及更新空間中的資料被捨棄時,該物理-邏輯位址映射表係經掃描,以將該物理-邏輯位址映射表所載之邏輯位址所對應的邏輯-物理位址映射表自該快閃記憶體載入該隨機存取記憶體;且隨著掃描該物理-邏輯位址映射表而下載至該隨機存取記憶體的邏輯-物理位址映射表係在該隨機存取記憶體上更新,繼而上傳回該快閃記憶體。
TW103144256A 2013-12-26 2014-12-18 資料儲存裝置以及快閃記憶體控制方法 TWI575373B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361920830P 2013-12-26 2013-12-26
US14/534,686 US9542278B2 (en) 2013-12-26 2014-11-06 Data storage device and flash memory control method

Publications (2)

Publication Number Publication Date
TW201527971A true TW201527971A (zh) 2015-07-16
TWI575373B TWI575373B (zh) 2017-03-21

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 資料儲存裝置以及快閃記憶體控制方法
TW103144257A TWI516935B (zh) 2013-12-26 2014-12-18 資料儲存裝置以及快閃記憶體控制方法
TW103144258A TWI570737B (zh) 2013-12-26 2014-12-18 資料儲存裝置以及快閃記憶體控制方法
TW103144256A TWI575373B (zh) 2013-12-26 2014-12-18 資料儲存裝置以及快閃記憶體控制方法

Family Applications Before (5)

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 資料儲存裝置以及快閃記憶體控制方法
TW103144257A TWI516935B (zh) 2013-12-26 2014-12-18 資料儲存裝置以及快閃記憶體控制方法
TW103144258A TWI570737B (zh) 2013-12-26 2014-12-18 資料儲存裝置以及快閃記憶體控制方法

Country Status (3)

Country Link
US (8) US9645895B2 (zh)
CN (6) CN104750618B (zh)
TW (6) TWI561982B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073769B2 (en) 2015-10-15 2018-09-11 Silicon Motion, Inc. Data storage device and data maintenance method thereof
US10140026B2 (en) 2015-10-15 2018-11-27 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI646461B (zh) * 2016-10-12 2019-01-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10255192B2 (en) 2015-11-18 2019-04-09 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI739075B (zh) * 2019-01-03 2021-09-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
US11960396B2 (en) 2019-03-22 2024-04-16 Silicon Motion, Inc. Method and computer program product for performing data writes into a flash memory

Families Citing this family (79)

* Cited by examiner, † Cited by third party
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 慧榮科技股份有限公司 動態邏輯分段方法以及使用該方法的裝置
KR102625637B1 (ko) * 2016-02-01 2024-01-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN105868122A (zh) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 快闪存储设备的数据处理方法及装置
TWI603193B (zh) * 2016-03-31 2017-10-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
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
CN107391296B (zh) 2016-04-27 2020-11-06 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US9910772B2 (en) * 2016-04-27 2018-03-06 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
TW201742063A (zh) 2016-05-30 2017-12-01 慧榮科技股份有限公司 資料儲存方法及發生電源中斷事件後之系統初始化之方法
CN106201903B (zh) * 2016-07-05 2019-07-30 深圳市领存技术有限公司 一种三维闪存擦除控制方法及其系统
KR20180019419A (ko) 2016-08-16 2018-02-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작방법
KR20180031851A (ko) * 2016-09-19 2018-03-29 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI640868B (zh) * 2016-10-07 2018-11-11 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI607312B (zh) 2016-10-07 2017-12-01 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI619018B (zh) * 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
TWI670640B (zh) * 2016-11-25 2019-09-01 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI591533B (zh) 2016-11-25 2017-07-11 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI691839B (zh) * 2016-11-28 2020-04-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 資料儲存裝置及其資料維護方法
TWI644250B (zh) * 2017-03-07 2018-12-11 慧榮科技股份有限公司 電子系統及其資料維護方法
TWI653533B (zh) * 2017-03-07 2019-03-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
TWI633437B (zh) * 2017-05-26 2018-08-21 慧榮科技股份有限公司 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法
CN108959108B (zh) * 2017-05-26 2021-08-24 上海宝存信息科技有限公司 固态硬盘访问方法以及使用该方法的装置
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 江苏华存电子科技有限公司 一种混合型记录实体映像表的方法
WO2020087211A1 (en) * 2018-10-29 2020-05-07 Micron Technology, Inc. Slc cache allocation
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 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
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 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
CN112559386A (zh) * 2020-12-22 2021-03-26 深圳忆联信息系统有限公司 提升ssd性能的方法、装置、计算机设备及存储介质
CN112668642A (zh) * 2020-12-28 2021-04-16 高新兴智联科技有限公司 一种机动车电子标识与视频结合系统及方法
KR20220142192A (ko) * 2021-04-14 2022-10-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN113535092A (zh) * 2021-07-20 2021-10-22 阿里巴巴新加坡控股有限公司 用于减少内存元数据的存储引擎、方法和可读介质
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设备

Family Cites Families (55)

* Cited by examiner, † Cited by third party
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 深圳市朗科科技股份有限公司 闪存介质中的数据管理方法
EP1607867B1 (en) 2003-03-04 2016-07-13 Netac Technology Co., Ltd. Data management method for flash memory medium
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
JP2009521044A (ja) 2005-12-22 2009-05-28 エヌエックスピー ビー ヴィ ブロック消去可能なメモリ位置およびポインタ情報を有するブロックを見つけ出すポインタのリンク付けしたチェーンを備えるメモリ
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 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
CN101622594B (zh) * 2006-12-06 2013-03-13 弗森-艾奥公司 使用空数据令牌指令管理来自于请求设备的数据的装置、系统和方法
US7934052B2 (en) * 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
JP4533968B2 (ja) 2007-12-28 2010-09-01 株式会社東芝 半導体記憶装置及びその制御方法、コントローラ、情報処理装置
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 混合密度記憶體系統及其控制方法
JP5198245B2 (ja) * 2008-12-27 2013-05-15 株式会社東芝 メモリシステム
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 三星电子株式会社 存储器装置、存储器卡、固态驱动器、系统及其操作方法
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
EP2710475A1 (en) * 2011-05-17 2014-03-26 SanDisk Technologies Inc. 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

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073769B2 (en) 2015-10-15 2018-09-11 Silicon Motion, Inc. Data storage device and data maintenance method thereof
US10140026B2 (en) 2015-10-15 2018-11-27 Silicon Motion, Inc. Data storage device and data maintenance method thereof
US10255192B2 (en) 2015-11-18 2019-04-09 Silicon Motion, Inc. Data storage device and data maintenance method thereof
TWI646461B (zh) * 2016-10-12 2019-01-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI739075B (zh) * 2019-01-03 2021-09-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
US11960396B2 (en) 2019-03-22 2024-04-16 Silicon Motion, Inc. Method and computer program product for performing data writes into a flash memory

Also Published As

Publication number Publication date
US9632880B2 (en) 2017-04-25
TW201526003A (zh) 2015-07-01
CN104750615B (zh) 2017-12-12
US9684568B2 (en) 2017-06-20
CN104750625B (zh) 2017-10-03
TW201528281A (zh) 2015-07-16
US9842030B2 (en) 2017-12-12
US20150186225A1 (en) 2015-07-02
CN104750618A (zh) 2015-07-01
TW201525691A (zh) 2015-07-01
US9542278B2 (en) 2017-01-10
TWI611293B (zh) 2018-01-11
US9645895B2 (en) 2017-05-09
TWI561982B (en) 2016-12-11
CN104750619A (zh) 2015-07-01
US20150186264A1 (en) 2015-07-02
TWI520139B (zh) 2016-02-01
US20150186263A1 (en) 2015-07-02
US20150186224A1 (en) 2015-07-02
US9645896B2 (en) 2017-05-09
US20150186261A1 (en) 2015-07-02
CN104750616A (zh) 2015-07-01
US20170249219A1 (en) 2017-08-31
CN104750619B (zh) 2018-05-11
CN104750626B (zh) 2018-01-12
TWI570737B (zh) 2017-02-11
US20170160942A1 (en) 2017-06-08
TWI516935B (zh) 2016-01-11
CN104750615A (zh) 2015-07-01
US9645894B2 (en) 2017-05-09
US20150186262A1 (en) 2015-07-02
CN104750625A (zh) 2015-07-01
TW201527974A (zh) 2015-07-16
TWI575373B (zh) 2017-03-21
CN104750616B (zh) 2019-08-06
US9727271B2 (en) 2017-08-08
CN104750618B (zh) 2017-11-24
CN104750626A (zh) 2015-07-01
TW201527970A (zh) 2015-07-16

Similar Documents

Publication Publication Date Title
TWI575373B (zh) 資料儲存裝置以及快閃記憶體控制方法
TWI546666B (zh) 資料儲存裝置以及快閃記憶體控制方法
US7487303B2 (en) Flash memory device and associated data merge method
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
US8407449B1 (en) Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
US20170228154A1 (en) Device and method for power loss protection in solid state drive
TWI515737B (zh) 資料儲存裝置以及其資料抹除方法
US8966157B2 (en) Data management method, memory controller and memory storage apparatus
JP2018101411A (ja) データストレージデバイスおよびその操作方法
CN109521944B (zh) 数据储存装置以及数据储存方法
TW202101222A (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
US20140052893A1 (en) File deletion for non-volatile memory
US7899974B2 (en) Nonvolatile memory, mapping control apparatus and method of the same
JP2008299455A (ja) データ記憶装置及びデータ管理方法
JP4985108B2 (ja) データ記憶装置およびその制御方法
JP2007304920A (ja) フラッシュメモリ制御方法
JP5255389B2 (ja) 記憶装置およびメモリ制御方法
CN111611178A (zh) 数据储存装置以及非挥发式存储器控制方法