CN104750625B - 数据储存装置以及快闪存储器控制方法 - Google Patents

数据储存装置以及快闪存储器控制方法 Download PDF

Info

Publication number
CN104750625B
CN104750625B CN201410743784.7A CN201410743784A CN104750625B CN 104750625 B CN104750625 B CN 104750625B CN 201410743784 A CN201410743784 A CN 201410743784A CN 104750625 B CN104750625 B CN 104750625B
Authority
CN
China
Prior art keywords
mapping table
physics
address mapping
data receiver
flash memory
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201410743784.7A
Other languages
English (en)
Other versions
CN104750625A (zh
Inventor
林建成
梁嘉旗
黄昌杰
李介豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
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 CN104750625A publication Critical patent/CN104750625A/zh
Application granted granted Critical
Publication of CN104750625B publication Critical patent/CN104750625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/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)。针对快闪存储器而设计的抹除操作须以物理区块为抹除单位,一物理区块接着一物理区块地释放储存空间。为了方便管理快闪存储器,各物理区块的物理-逻辑地址映射资讯动态收集于一挥发式存储器(例如,一静态随机存取存储器(SRAM))。动态收集于该挥发式存储器的物理-逻辑地址映射资讯需上传至快闪存储器作非挥发式储存。上传映射资讯的方式与时间点会显著影响系统效能。特别是,快闪存储器若架构复杂(包括多阶以及单阶存储单元),则须更精心设计映射资讯的上传程序。
发明内容
本发明揭示快闪存储器所实现的数据储存装置以及快闪存储器控制方法,所控制的快闪存储器包括多阶存储单元(Multi-Level Cells,简称MLCs)以及单阶存储单元(Single Level Cells,简称SLCs),且所述技术将妥善地将如此复杂架构的快闪存储器的物理-逻辑地址映射资讯上传至该快闪存储器。
根据本发明一种实施方式所实现的一数据储存装置包括一快闪存储器以及一控制单元。该快闪存储器包括多阶存储单元以及单阶存储单元,且划分为多个物理区块。各物理区块包括多个物理页。该控制单元耦接该快闪存储器至一主机,且包括一微控制器以及一随机存取存储器。该微控制器是运作来在该随机存取存储器上,为该快闪存储器这些物理区块之中的一第一数据接收区块建立一第一物理-逻辑地址映射表。该第一数据接收区块内含多阶存储单元。该微控制器还运作来在该随机存取存储器上,为该快闪存储器这些物理区块之中的一第二数据接收区块建立一第二物理-逻辑地址映射表。该第二数据接收区块内含单阶存储单元。关于原先储存于该第一数据接收区块、且于该第一物理-逻辑地址映射表对应有尚未上传/封存的映射资讯(仅动态更新在该第一物理-逻辑地址映射表上、但尚未用于该快闪存储器上的逻辑-物理地址映射表更新)的数据,随着将之更新至该第二数据接收区块,该微控制器是运作来根据该第一物理-逻辑地址映射表更新该快闪存储器上所维护的该逻辑-物理地址映射表。
若判定写入该第二数据接收区块的数据原先储存于该第一数据接收区块、且其于该第一物理-逻辑地址映射表对应有尚未封存的映射资讯,则在基于该第一物理-逻辑地址映射表更新该逻辑-物理地址映射表后,该微控制器可继续利用该第一数据接收区块。在某些实施方式中,仅该第一数据接收区块上不与特定物理页共用存储单元的闲置空间为可继续利用。上述特定物理页映射资讯已封存至该逻辑-物理地址映射表。
根据本发明一种实施方式所揭示的一种快闪存储器控制方法包括以下步骤:在一随机存取存储器针对一快闪存储器多个物理区块中的一第一数据接收区块建立一第一物理-逻辑地址映射表,该快闪存储器各物理区块包括多个物理页,且该第一数据接收区块包含多阶存储单元;在该随机存取存储器针对该快闪存储器这些物理区块中的一第二数据接收区块建立一第二物理-逻辑地址映射表,该第二数据接收区块包含单阶存储单元;并且,对于原先由该第一数据接收区块储存、且于该第一物理-逻辑地址映射表对应有尚未封存的映射资讯的数据,随着将之更新至该第二数据接收区块,更以该第一物理-逻辑地址映射表更新一逻辑-物理地址映射表。该逻辑-物理地址映射表维护于该快闪存储器上。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1图解了一快闪存储器100的储存空间规划;
图2A图解了多阶存储单元(MLCs)的存储内容分布;
图2B图解了单阶存储单元(SLCs)的存储内容分布;
图3图解了原先储存于物理区块A(内含多阶存储单元)的数据是标号为H_Old且是更新至物理区块B(内含单阶存储单元)且标号为H_New;
图4为方块图,根据本发明一种实施方式图解一数据储存装置400,其中建立、并动态维护主机402以及快闪存储器404之间的映射资讯;
图5图解了一种实施方式,其中已针对数据接收区块R_MLC作局部F2H_MLC H2F封存,物理页0至5的映射资讯已经封存至逻辑-物理地址映射表H2F;
图6为流程图,根据本发明一种实施方式图解了该快闪存储器404的写入操作;且
图7图解了图4的微控制器420运作配置该快闪存储器404根据过期表格区块TO_MLC以及TO_SLC的状况分别供应数据接收区块R_MLC以及R_SLC。
符号说明
100~快闪存储器;102~物理页;
104、106、108以及110~物理区段;
400~数据储存装置;402~主机;
404~快闪存储器;406~控制单元;
408~系统内程序物理区块;
410~系统资讯物理区块;
412~多阶存储单元的闲置物理区块;
414~单阶存储单元的闲置物理区块;
416~数据集合;418~闲置的物理页;
420~微控制器;422~随机存取存储器;
424~只读存储器;
F2H_MLC、F2H_SLC、F2H_TO_MLC、F2H_TO_SLC~物理-逻辑地址映射表;
H2F~逻辑-物理地址映射表;
Hm(LBAk0~LBAk0+7)、Hm+1(LBAk1~LBAk1+7)、Hm+2(LBAk2~LBAk2+7)、Hm+3(LBAk3~LBAk3+7)
~主机页;
H_New、H_Old~新、旧数据;
TO_MLC、TO_SLC~表格过期区块;
R_MLC、R_SLC~数据接收区块;
S602…S610~步骤。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。
图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个主机页之间的映射资讯需记录下来,作储存空间管理。及时更新如此大量的映射资讯相当有难度,特别是复杂、包括多阶存储单元以及单阶存储单元的快闪存储器架构。
图2A图解了多阶存储单元(MLCs)的存储内容分布。2B图图解单阶存储单元(SLCs)的存储内容分布。参阅图2A,各多阶存储单元储存两位元的数据。各多阶存储单元处于四种状态’11’、’10’、’01’以及’00’之一。参阅图2B,各单阶存储单元储存单一位元的数据。各单阶存储单元处于两种状态’1’与’0’之一。单阶存储单元的优点写入数据快速、能量消耗低、且具有良好的存储耐久性。多阶存储单元的优点主要是高数据密度。原先以多阶存储单元储存的数据可能会被更新至单阶存储单元,以受益于单阶存储单元的优点。
图3显示了原先以物理区块A(包含多阶存储单元)储存的数据(标示为H_Old)是更新至物理区块B(包含单阶存储单元)为H_New。在传统技术操作下,若物理区块B早于物理区块A被填满,系统会发生错误。物理区块B填满时,存取新版数据H_New用的新版映射资讯可能会被错误地封存进该快闪存储器,反而是对应无效旧版数据H_Old的旧版映射资讯仍存留在随机存取存储器上动态可存取。甚至,待物理区块A稍后填满,封存于快闪存储器内的新版映射资讯还会被无效的旧版映射资讯覆写。
图4为方块图,根据本发明一种实施方式图解一数据储存装置400,显示主机402以及快闪存储器404之间的映射资讯是如何建立并且动态维护。数据储存装置400包括快闪存储器404以及控制单元406。
快闪存储器404的物理区块是配置作多种用途。部分物理区块408是储存系统内程序(in-system programs,简称ISPs)。部分物理区块410是储存系统资讯。部分物理区块412为包含多阶存储单元的闲置物理区块。部分物理区块414为包含单阶存储单元的闲置物理区块。两种数据写入区块R_MLC以及R_SLC是分别配置自该些闲置物理区块412(多阶存储单元)以及该些闲置物理区块414(单阶存储单元),以接收写入数据,并于后续作为数据区块推入数据集合416。快闪存储器404可还包括未显示在图上的尚未作规划的区块。
控制单元406耦接该快闪存储器404至主机402,且包括一微控制器420、一随机存取存储器422以及一只读存储器424。只读程序码是储存于只读存储器424中。微控制器420包括执行该只读存储器424内的只读程序码或/以及该快闪存储器404的该些物理区块408内的系统内程序码,据以操作该快闪存储器404。微控制器420是运作来实现该快闪存储器404上的物理区块配置(参考图4),在该随机存取存储器422上建立物理-逻辑地址映射表F2H_MLC以及F2H_SLC,并在该快闪存储器404上维护一逻辑-物理位置映射表H2F(例如,记录在系统资讯物理区块410中)。该物理-逻辑地址映射表F2H_MLC是建立在该随机存取存储器422上,以动态记录该数据接收区块R_MLC的物理地址所对应的逻辑地址。该物理-逻辑地址映射表F2H_SLC是建立在该随机存取存储器422上,以动态记录该数据接收区块R_SLC的物理地址所对应的逻辑地址。关于先前储存于数据接收区块R_MLC上、但于该物理-逻辑地址映射表F2H_MLC上对应有尚未封存映射资讯(已更新于该物理-逻辑地址映射表F2H_MLC、但尚未用于该快闪存储器404的逻辑-物理地址映射表H2F的更新)的数据(即旧版数据H_Old),随着其更新至该数据接收区块R_SLC呈新版数据H_New,微控制器420是运作来根据该物理-逻辑地址映射表F2H_MLC更新该逻辑-物理地址映射表。如此一来,包含在物理-逻辑地址映射表F2H_SLC上、存取新版数据H_New用的新版映射资讯不再错误地抢在该物理-逻辑地址映射表F2H_MLC内、存取无效的旧版数据H_Old用的旧版映射资讯之前封存至快闪存储器404(例如,更新至该逻辑-物理地址映射表H2F)。该随机存取存储器422上供动态存取的映射资讯确为较新的映射资讯。因此,物理-逻辑地址映射表F2H_MLC可能是分批封存至该逻辑-物理地址映射表H2F,而非完整一口气更封存至该快闪存储器404。如此根据该物理-逻辑地址映射表F2H_MLC仅部分内容更新该逻辑-物理地址映射表H2F的动作称为“局部F2H_MLC H2F更新(封存)”。
在判断出写入该数据接收区块R_SLC的数据H_New是原先储存于数据接收区块R_MLC、且在物理-逻辑地址映射表F2H_MLC上对应有尚未封存的映射资讯时,待根据该物理-逻辑地址映射表F2H_MLC更新该逻辑-物理地址映射表H2F后,该微控制器420可继续利用该数据接收区块R_MLC。例如,闲置的物理页418仍可用于接收写入数据。考量非预期掉电事件,允许继续利用的闲置区域可限定为不与特定物理页共用存储单元;上述特定物理页是映射资讯已封存至该逻辑-物理地址映射表H2F。图5图解了数据接收区块R_MLC已有局部F2H_MLC H2F封存发生,物理页0至5的映射资讯已上传至逻辑-物理地址映射表H2F。由于是多阶存储技术,共用同样存储单元的同组物理页是以双箭头标示。在物理页5之后,物理页6是与物理页3配对分享同样的存储单元,且物理页8是与物理页5配对分享同样的存储单元。物理页0~5的局部F2H_MLC H2F封存发生后,物理页6以及物理页8被标示为不可使用。由于写入操作不允许施行在物理页6与8上,物理页3(配对物理页6)以及物理页5(配对物理页8)上的数据可受妥善保护,不被发生在物理页0~5的局部F2H_MLC H2F封存后的非预期掉电事件损坏。
在某些实施方式中,微控制器420包括运作来检查该物理-逻辑地址映射表F2H_MLC,以判断写入该数据接收区块R_SLC的数据H_New是否先前储存位置为该数据接收区块R_MLC(存为H_Old)、且于该物理-逻辑地址映射表F2H_MLC对应有尚未封存的映射数据。
图6为流程图,根据本发明一种实施方式图解快闪存储器404的写入操作。步骤S602用于判断写入操作是否是将数据(例如,一个主机页HPage)写入该数据接收区块R_SLC。若”否”,则执行步骤S604,使数据HPage写入该数据接收区块R_MLC。若”是”,则执行步骤S606,检查物理-逻辑地址映射表F2H_MLC,判断该数据HPage是否先前是以该数据接收区块R_MLC储存、且于该物理-逻辑地址映射表R_MLC上对应有尚未封存的映射资讯。若该物理-逻辑地址映射表F2H_MLC的确包括数据HPage尚未封存的映射资讯,则进行步骤S608,实施局部F2H_MLC H2F封存以基于该物理-逻辑地址映射表F2H_MLC更新该逻辑-物理地址映射表H2F,并且将数据HPage写入该数据接收区块R_SLC。若该物理-逻辑地址映射表F2H_MLC并不包括数据HPage尚未封存的映射资讯,则进行步骤S610,无须做局部F2H_MLC H2F封存即将数据HPage写入该数据接收区块R_SLC。
图7图解了图4的微控制器420是运作配置该快闪存储器404根据过期表格区块TO_MLC以及TO_SLC的状况分别供应数据接收区块R_MLC以及R_SLC。表格过期区块TO_MLC包含多阶存储单元(MLCs)。表格过期区块TO_SLC包含单阶存储单元(SLCs)。表格过期区块TO_MLC的映射资讯是暂存于随机存取存储器422为一物理-逻辑地址映射表F2H_TO_MLC。表格过期区块TO_SLC的映射资讯是暂存于随机存取存储器422为一物理-逻辑地址映射表F2H_TO_SLC。
在一种实施方式中,微控制器420是运作来配置该快闪存储器404在该表格过期区块TO_MLC填满时供应该数据接收区块R_MLC,并在该表格过期区块TO_SLC填满时供应该数据接收区块TO_SLC。微控制器420是运作来在该数据接收区块R_MLC的写入操作之间基于该物理-逻辑地址映射表F2H_TO_MLC更新该逻辑-物理地址映射表H2F。微控制器420还运作来在该数据接收区块R_SLC的写入操作之间基于该物理-逻辑地址映射表F2H_TO_SLC更新该逻辑-物理地址映射表H2F。
在另外一种实施方式中,该微控制器420是运作来在该表格过期区块TO_MLC上的写入操作遭非预期掉电事件打断时,于一复电程序配置该快闪存储器404提供该数据接收区块R_MLC。或者,该微控制器420是运作来在该表格过期区块TO_SLC上的写入操作遭非预期掉电事件打断时,于一复电程序配置该快闪存储器404提供该数据接收区块R_SLC。该微控制器420是运作来在该复电程序修复该物理-逻辑地址映射表F2H_TO_MLC,并在该数据接收区块R_MLC上的写入操作之间,基于修复后的物理-逻辑地址映射表F2H_TO_MLC更新该逻辑-物理地址映射表H2F。该微控制器420还运作来在该复电程序修复该物理-逻辑地址映射表F2H_TO_SLC,并在该数据接收区块R_SLC上的写入操作之间,基于修复后的物理-逻辑地址映射表F2H_TO_SLC更新该逻辑-物理地址映射表H2F。
特别是,上述物理-逻辑地址映射表的可靠度由高至低为:F2H_SLC;F2H_TO_SLC;F2H_MLC;F2H_TO_MLC。基于前述设计原则,表格封存顺序为:F2H_TO_MLC;F2H_MLC;F2H_TO_SLC;F2H_SLC─符合此四个物理-逻辑地址映射表的可靠度等级。
其他采用上述概念控制一快闪存储器的技术都属于本发明所欲保护的范围。基于以上技术内容,本发明还涉及快闪存储器的控制方法,不限定以特定架构的控制单元实现。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

Claims (16)

1.一种数据储存装置,包括:
一快闪存储器,具有多阶存储单元以及单阶存储单元,其中该快闪存储器划分为多个物理区块,且上述物理区块各自包括多个物理页;以及
一控制单元,耦接该快闪存储器至一主机,且包括一微控制器以及一随机存取存储器;
其中:
该微控制器是在该随机存取存储器上为该快闪存储器的这些物理区块之中的一第一数据接收区块建立一第一物理-逻辑地址映射表,该第一数据接收区块包含多阶存储单元;
该微控制器是在该随机存取存储器上为该快闪存储器的这些物理区块之中的一第二数据接收区块建立一第二物理-逻辑地址映射表,该第二数据接收区块包含单阶存储单元;
关于原先以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯的数据,在将之更新至该第二数据接收区块时,该微控制器还基于该第一物理-逻辑地址映射表更新一逻辑-物理地址映射表;且
该逻辑-物理地址映射表设置在该快闪存储器上。
2.如权利要求1所述的数据储存装置,其特征在于:
该微控制器是运作来检查该第一物理-逻辑地址映射表,以判断写入该第二数据接收区块的数据是否先前是以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯。
3.如权利要求1所述的数据储存装置,其特征在于:
在判定写入该第二数据接收区块的数据先前是以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯后,待已基于该第一物理-逻辑地址映射表更新该逻辑-物理地址映射表,该微控制器继续利用该第一数据接收区块。
4.如权利要求1所述的数据储存装置,其特征在于:
该微控制器是在该快闪存储器上述物理区块之中一第一表格过期区块填满时配置该快闪存储器供应上述第一数据接收区块,该第一表格过期区块包含多阶存储单元、且对应该随机存取存储器上所建立的一第三物理-逻辑地址映射表;以及
该微控制器是在该第一数据接收区块的写入操作之间基于该第三物理-逻辑地址映射表更新该逻辑-物理地址映射表。
5.如权利要求4所述的数据储存装置,其特征在于:
该微控制器是在该快闪存储器上述物理区块之中一第二表格过期区块填满时配置该快闪存储器供应上述第二数据接收区块,该第二表格过期区块包含单阶存储单元、且是对应该随机存取存储器上所建立的一第四物理-逻辑地址映射表;以及
该微控制器是在该第二数据接收区块的写入操作之间基于该第四物理-逻辑地址映射表更新该逻辑-物理地址映射表。
6.如权利要求1所述的数据储存装置,其特征在于:
该微控制器在该快闪存储器上述物理区块之中一第一表格过期区块的写入操作遭非预期掉电事件打断后,于一复电程序,配置该快闪存储器供应上述第一数据接收区块,该第一表格过期区块包含多阶存储单元、且对应该随机存取存储器上所建立的一第三物理-逻辑地址映射表;以及
该微控制器是在该复电程序修复该第三物理-逻辑地址映射表,且是在该第一数据接收区块的写入操作之间基于修复后的该第三物理-逻辑地址映射表更新该逻辑-物理地址映射表。
7.如权利要求6所述的数据储存装置,其特征在于:
该微控制器是在该快闪存储器上述物理区块之中一第二表格过期区块的写入操作遭非预期掉电事件打断后,于该复电程序,配置该快闪存储器供应上述第二数据接收区块,该第二表格过期区块包含单阶存储单元、且对应该随机存取存储器上所建立的一第四物理-逻辑地址映射表;以及
该微控制器是在该复电程序修复该第四物理-逻辑地址映射表,且是在该第二数据接收区块的写入操作之间基于修复后的该第四物理-逻辑地址映射表更新该逻辑-物理地址映射表。
8.如权利要求3所述的数据储存装置,其特征在于:
在判定写入该第二数据接收区块的数据先前是以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯后,待已基于该第一物理-逻辑地址映射表更新该逻辑-物理地址映射表,该微控制器令该第一数据接收区块仅不与特定物理页共用存储单元的闲置空间为可继续利用,上述特定物理页映射资讯已封存至该逻辑-物理地址映射表。
9.一种快闪存储器控制方法,包括:
在一随机存取存储器中,为一快闪存储器的多个物理区块之中的一第一数据接收区块建立一第一物理-逻辑地址映射表,上述物理区块各自包括多个物理页,且该第一数据接收区块包含多阶存储单元;
在该随机存取存储器中,为该快闪存储器的这些物理区块之中的一第二数据接收区块建立一第二物理-逻辑地址映射表,该第二数据接收区块包含单阶存储单元;以及
关于原先以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯的数据,在更新其至该第二数据接收区块时,更基于该第一物理-逻辑地址映射表更新一逻辑-物理地址映射表;
其中,该逻辑-物理地址映射表设置在该快闪存储器上。
10.如权利要求9所述的快闪存储器控制方法,其特征在于,还包括:
检查该第一物理-逻辑地址映射表,以判断写入该第二数据接收区块的数据是否先前是以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯。
11.如权利要求9所述的快闪存储器控制方法,其特征在于,还包括:
在判定写入该第二数据接收区块的数据先前是以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯后,待已基于该第一物理-逻辑地址映射表更新该逻辑-物理地址映射表,继续利用该第一数据接收区块。
12.如权利要求9所述的快闪存储器控制方法,其特征在于,还包括:
在该快闪存储器的这些物理区块之中一第一表格过期区块填满时,配置该快闪存储器供应上述第一数据接收区块,该第一表格过期区块是包含多阶存储单元、且对应该随机存取存储器上所建立的一第三物理-逻辑地址映射表;以及
在该第一数据接收区块的写入操作之间,基于该第三物理-逻辑地址映射表更新该逻辑-物理地址映射表。
13.如权利要求12所述的快闪存储器控制方法,其特征在于,还包括:
在该快闪存储器的这些物理区块之中一第二表格过期区块填满时配置该快闪存储器供应上述第二数据接收区块,该第二表格过期区块包含单阶存储单元、且是对应该随机存取存储器上所建立的一第四物理-逻辑地址映射表;以及
在该第二数据接收区块的写入操作之间,基于该第四物理-逻辑地址映射表更新该逻辑-物理地址映射表。
14.如权利要求9所述的快闪存储器控制方法,其特征在于,还包括:
在该快闪存储器的这些物理区块之中一第一表格过期区块的写入操作遭非预期掉电事件打断后,于一复电程序,配置该快闪存储器供应上述第一数据接收区块,该第一表格过期区块包含多阶存储单元、且是对应该随机存取存储器上所建立的一第三物理-逻辑地址映射表;以及
在该复电程序修复该第三物理-逻辑地址映射表,且在该第一数据接收区块的写入操作之间,基于修复后的该第三物理-逻辑地址映射表更新该逻辑-物理地址映射表。
15.如权利要求14所述的快闪存储器控制方法,其特征在于,还包括:
在该快闪存储器的这些物理区块之中一第二表格过期区块的写入操作遭非预期掉电事件打断后,于该复电程序,配置该快闪存储器供应上述第二数据接收区块,该第二表格过期区块包含单阶存储单元、且是对应该随机存取存储器上所建立的一第四物理-逻辑地址映射表;以及
在该复电程序修复该第四物理-逻辑地址映射表,且是在该第二数据接收区块的写入操作之间基于修复后的该第四物理-逻辑地址映射表更新该逻辑-物理地址映射表。
16.如权利要求9所述的快闪存储器控制方法,其特征在于,还包括:
在判定写入该第二数据接收区块的数据先前是以该第一数据接收区块储存、且于该第一物理-逻辑地址映射表上对应有未封存的映射资讯后,待已基于该第一物理-逻辑地址映射表更新该第一数据接收区块,则令该第一数据接收区块仅不与特定物理页共用存储单元的闲置空间为可续用,上述特定物理页映射资讯已封存至该逻辑-物理地址映射表。
CN201410743784.7A 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法 Active CN104750625B (zh)

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,569 2014-11-06
US14/534,569 US9645895B2 (en) 2013-12-26 2014-11-06 Data storage device and flash memory control method

Publications (2)

Publication Number Publication Date
CN104750625A CN104750625A (zh) 2015-07-01
CN104750625B true CN104750625B (zh) 2017-10-03

Family

ID=53481879

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201410743784.7A Active CN104750625B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410743192.5A Active CN104750619B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410742700.8A Active CN104750618B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410825548.XA Active CN104750626B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410821785.9A Active CN104750616B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410821110.4A Active CN104750615B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法

Family Applications After (5)

Application Number Title Priority Date Filing Date
CN201410743192.5A Active CN104750619B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410742700.8A Active CN104750618B (zh) 2013-12-26 2014-12-08 数据储存装置以及快闪存储器控制方法
CN201410825548.XA Active CN104750626B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410821785.9A Active CN104750616B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410821110.4A Active CN104750615B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法

Country Status (3)

Country Link
US (8) US9542278B2 (zh)
CN (6) CN104750625B (zh)
TW (6) TWI611293B (zh)

Families Citing this family (85)

* 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
CN106095699B (zh) * 2015-03-20 2020-12-01 爱思开海力士有限公司 用于快闪存储器的可扩展spor算法
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
TWI537729B (zh) 2015-10-15 2016-06-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI646461B (zh) * 2016-10-12 2019-01-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
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 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
US10133664B2 (en) 2016-04-27 2018-11-20 Silicon Motion Inc. Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
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
US9910772B2 (en) * 2016-04-27 2018-03-06 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
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 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI607312B (zh) * 2016-10-07 2017-12-01 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI640868B (zh) * 2016-10-07 2018-11-11 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI619018B (zh) * 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
TWI591533B (zh) 2016-11-25 2017-07-11 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI670640B (zh) * 2016-11-25 2019-09-01 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI627531B (zh) * 2016-11-28 2018-06-21 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
KR20180080589A (ko) * 2017-01-04 2018-07-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI659307B (zh) * 2017-01-06 2019-05-11 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
TWI653533B (zh) * 2017-03-07 2019-03-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI602116B (zh) 2017-03-07 2017-10-11 Silicon Motion Inc 資料儲存裝置及其資料維護方法
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 北京京存技术有限公司 闪存转换层的管理方法、装置及计算机可读存储介质
TWI668700B (zh) * 2017-12-22 2019-08-11 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
TWI649755B (zh) * 2017-12-22 2019-02-01 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
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 江苏华存电子科技有限公司 一种混合型记录实体映像表的方法
US11341048B2 (en) * 2018-10-29 2022-05-24 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 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US11288185B2 (en) 2019-01-03 2022-03-29 Silicon Motion, Inc. Method and computer program product for performing data writes into a flash memory
TWI739075B (zh) * 2019-01-03 2021-09-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设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455437A (zh) * 2012-05-30 2013-12-18 慧荣科技股份有限公司 数据储存装置与数据储存装置操作方法
CN103455428A (zh) * 2012-05-31 2013-12-18 慧荣科技股份有限公司 数据储存装置与闪存操作方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078794B2 (en) 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
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
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
WO2007072313A2 (en) * 2005-12-22 2007-06-28 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 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
KR20090087119A (ko) * 2006-12-06 2009-08-14 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 빈 데이터 토큰 지시어를 사용한 저장 장치 내의 데이터 관리 장치, 시스템 및 방법
US8245101B2 (en) * 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
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 三星电子株式会社 存储器装置、存储器卡、固态驱动器、系统及其操作方法
CN103688246A (zh) 2011-05-17 2014-03-26 桑迪士克科技股份有限公司 具有在活跃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 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
US9244833B2 (en) * 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455437A (zh) * 2012-05-30 2013-12-18 慧荣科技股份有限公司 数据储存装置与数据储存装置操作方法
CN103455428A (zh) * 2012-05-31 2013-12-18 慧荣科技股份有限公司 数据储存装置与闪存操作方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104750625B (zh) 数据储存装置以及快闪存储器控制方法
US8909986B2 (en) Data storing method for solid state drive to preserve data integrity after power failure
US20190129842A1 (en) Memory system having persistent garbage collection
EP2605142B1 (en) Lba bitmap usage
CN103699344B (zh) 非易失性存储器装置及其操作方法
CN104699413B (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
CN107844431A (zh) 映射表更新方法、存储器控制电路单元与存储器存储装置
CN104679437B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
US8656090B2 (en) Method for performing block management, and associated memory device and controller thereof
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
CN104360958A (zh) 基于块保留区替换的坏块管理系统及管理方法
WO2007058617A1 (en) A controller for non-volatile memories, and methods of operating the memory controller
CN109977034A (zh) 数据储存装置以及非挥发式存储器操作方法
CN107111456A (zh) 用于生成与主机命令相关联的提示信息的系统和方法
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
CN109521944A (zh) 数据储存装置以及数据储存方法
US20150220433A1 (en) Method for managing flash memories having mixed memory types using a finely granulated allocation of logical memory addresses to physical memory addresses
CN105988939A (zh) 数据储存装置以及快闪存储器控制方法
CN105988950B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN103577344B (zh) 数据写入方法、存储器控制器与存储器储存装置
US8856425B2 (en) Method for performing meta block management, and associated memory device and controller thereof
CN100456263C (zh) 在税控收款机中使用闪存时处理坏块的方法
CN107943710A (zh) 存储器管理方法及使用所述方法的存储控制器
CN106814968A (zh) 存储器管理方法与系统及其存储器存储装置
Feng et al. Mapping granularity adaptive ftl based on flash page re-programming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant