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

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

Info

Publication number
CN104750615B
CN104750615B CN201410821110.4A CN201410821110A CN104750615B CN 104750615 B CN104750615 B CN 104750615B CN 201410821110 A CN201410821110 A CN 201410821110A CN 104750615 B CN104750615 B CN 104750615B
Authority
CN
China
Prior art keywords
block
flash memory
mapping table
data
physics
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
CN201410821110.4A
Other languages
English (en)
Other versions
CN104750615A (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 CN104750615A publication Critical patent/CN104750615A/zh
Application granted granted Critical
Publication of CN104750615B publication Critical patent/CN104750615B/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)动态收集。动态以非挥发性存储器收集的物理-逻辑地址映射信息需上传至快闪存储器作非挥发性储存。上传映射信息的方式与时间点须妥善设计。
发明内容
根据本案一种实施方式所实现的数据储存装置包括一快闪存储器以及一控制单元。该快闪存储器系划分为多个区块。各区块包括多个物理页。该控制单元耦接该快闪存储器至一主机,且具有一微控制器。该微控制器系设置来配置该快闪存储器自所具有的这些区块供应一第一区块,作为数据接收区块,以接收写入数据。此外,在打断该第一区块的写入操作的一非预期掉电事件所对应的一复电程序中,该微控制器系设置来配置该快闪存储器以所具有的这些区块提供一第二区块,作该第一区块的完整数据修复,以取代该第一区块作为上述数据接收区块。
在一种实施方式中,该控制单元更包括一随机存取存储器。该微控制器系设置来在该随机存取存储器建立一物理-逻辑地址映射表,记录该快闪存储器的这些区块中的一表格待更新区块的物理地址所对应的逻辑地址。该微控制器系设置来在结束该表格待更新区块的写入时配置该快闪存储器提供该第一区块作为上述数据接收区块。该微控制器系设置来在该数据接收区块的多个写入操作之间间隙,根据该物理-逻辑地址映射表更新一逻辑-物理地址映射表。该逻辑-物理地址映射表系建立于该快闪存储器。在一种实施方式中,该微控制器系设置来在该表格待更新区块写满时配置该快闪存储器供应该第一区块作为上述数据接收区块。在另一种实施方式中,该微控制器系设置来在打断该表格待更新区块的写入操作的一非预期掉电事件所对应的一复电程序中配置该第一区块作为上述数据接收区块。
根据本案另外一种实施方式所实现的一快闪存储器控制方法包括以下步骤:配置一快闪存储器自所具有的多个区块供应一第一区块,作为一数据接收区块,以接收写入数据;以及,在打断该第一区块的写入操作的一非预期掉电事件所对应的一复电程序中,配置该快闪存储器自这些区块供应一第二区块,作该第一区块的完整数据修复,以取代该第一区块作为上述数据接收区块。
在一种实施方式中,该快闪存储器控制方法更包括以下步骤:在一随机存取存储器建立一物理-逻辑地址映射表,记录该快闪存储器的这些区块中的一表格待更新区块的物理地址所对应的逻辑地址;在结束该表格待更新区块的写入时,配置该快闪存储器供应该第一区块作上述数据接收区块;并且,在该数据接收区块的多个写入操作之间间隙,根据该物理-逻辑地址映射表更新一逻辑-物理地址映射表。该逻辑-物理地址映射表系供应于该快闪存储器中。
在本案一种实施方式中,该快闪存储器系在上述表格待更新区块写满时配置估应上述第一区块,作为上述数据接收区块。另外一种实施方式系在打断该表格待更新区块的写入操作的一非预期掉电事件所对应的一复电程序中,配置该快闪存储器供应上述第一区块,作为上述数据接收区块。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1图解一快闪存储器100的储存空间规划;
图2根据本案一种实施方式图解即时(run-time)且逐片段(partially)完成的F2H_TOB→H2F表格更新,所示技术涉及一表格待更新区块TOB;
图3为方块图,根据本案一种实施方式图解一数据储存装置300;
图4为流程图,图解打断区块314_1的写入操作的一非预期掉电事件所对应的一复电程序(SPOR);且
图5是以图示方式显示非预期掉电事件反复发生时,数据接收区块的完整数据修复亦是反复执行。
【附图标记说明】
100~快闪存储器;102~物理页;
104、106、108以及110~区段;
200~区块;202…208~F2H_TOB信息;
210…216~空间;
300~数据储存装置;302~主机;
304~快闪存储器;306~控制单元;
308~系统内程序区块;310~系统信息区块;
312~闲置区块;314_1、314_2~区块;
316~数据集合;320~微控制器;
322~随机存取存储器;324~只读存储器;
BLK4、BLK2…BLKN~区块;
F2H_TOB~区块TOB的物理-逻辑地址映射表;
H2F~物理-逻辑地址映射表;
Hm(LBAk0~LBAk0+7)、Hm+1(LBAk1~LBAk1+7)、Hm+2(LBAk2~LBAk2+7)、Hm+3(LBAk3~LBAk3+7)~主机页;
S402…S410~步骤;
SPO、SPO‘~非预期掉电事件;
SPOR、SPOR‘~完整数据修复;
TOB~表格待更新区块。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定的。
图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根据本案一种实施方式图解即时(run-time)且逐片段(partially)完成的F2H_TOB→H2F表格更新,所示技术涉及一表格待更新区块TOB。表格待更新区块TOB稍早系配置来接收写入数据。该表格待更新区块TOB的物理-逻辑地址映射表F2H_TOB系动态更新于一随机存取存储器。前数据接收区块(即该表格待更新区块TOB)结束写入时,另一闲置区块200系配置来作为新的数据接收区块。在新的数据接收区块200的多个写入操作之间间隙,一逻辑-物理地址映射表H2F(供应在该快闪存储器上作非挥发性储存)系根据该物理-逻辑地址映射表F2H_TOB作更新。例如,在空间210的写入操作以及空间212的写入操作之间、长于两倍超时时限(run-out period)的一时间间隔内,逻辑-物理地址映射表H2F首先系基于F2H_TOB信息202作更新,接着系根据F2H_TOB信息204更新。在空间212的写入操作以及空间214的写入操作之间、长于超时时限但不及两倍超时时限的一时间间隔中,逻辑-物理地址映射表H2F系基于F2H_TOB信息206作更新。在空间214的写入操作以及空间216的写入操作之间、长于超时时限但不及两倍超时时限的一时间间隔中,逻辑-物理地址映射表H2F系基于F2H_TOB信息208作更新。如此一来,大数据量的物理-逻辑地址映射表F2H_TOB可不霸占系统资源地一片段、一片段用于更新该逻辑-物理地址映射表H2F。
在一种实施方式中,快闪存储器系在前数据接收区块(例如,表格待更新区块TOB)写满时遭配置提供该区块200,替补作为上述数据接收区块。另外一种实施方式系在打断上述前数据接收区块(表格待更新区块TOB)的写入操作的一非预期掉电事件所对应的一复电程序中,令该快闪存储器配置提供该区块200作为上述数据接收区块。由于复电程序之前发生过打断该前数据接收区块的写入操作的该非预期掉电事件,随机存取存储器上需修复该物理-逻辑地址映射表F2H_TOB。逻辑-物理地址映射表H2F系在该数据接收区块200的多个写入操作之间间隙,基于修复后的该物理-逻辑地址映射表F2H_TOB作更新。
然而,非预期掉电事件也可能发生在写入数据至数据接收区块200时,打断该数据接收区块200的写入操作。以下段落针对打断该数据接收区块200写入操作的非预期掉电事件讨论其复电程序。
图3为方块图,图解根据本案一种实施方式所实现的一数据接收装置300。数据接收装置300系根据主机302所下达的指令运作,包括一快闪存储器304以及一控制单元306。快闪存储器304的多个区块系配置作多种用途。部分区块308系用于储存系统内程序码(in-system programs,简称ISPs)。部分区块310储存系统信息(system information)。部分区块312为闲置区块。区块314_1系配置自这些闲置区块312,作为数据接收区块,以接收写入数据。此时,前一数据接收区块系视为表格待更新区块TOB,将被推入数据集合316作为数据区块。快闪存储器304可更包括未作任何配置使用的区块(free blocks,未显示于图示中)。
控制单元306耦接该快闪存储器304至该主机302,且包括一微控制器320、一随机存取存储器322以及一只读存储器324。只读程序码系储存于只读存储器324中。微控制器320包括执行该只读存储器324内的只读程序码(ROM code)或/以及执行该快闪存储器304的这些区块308内的系统内程序码,据以操作该快闪存储器304。微控制器320系设置来实现该快闪存储器304上的区块配置(参考图3),在该随机存取存储器322上针对该表格待更新区块TOB建立一物理-逻辑地址映射表F2H_TOB,并且在该快闪存储器304上维护一逻辑-物理位置映射表H2F(例如,记录在系统信息区块310中)。该物理-逻辑地址映射表F2H_TOB系建立在该随机存取存储器322上,动态记录该表格待更新区块TOB各物理地址所对应的逻辑地址。该逻辑-物理地址映射表H2F系供应于该快闪存储器304中,作映射数据的非挥发性储存。有别于一口气根据整个物理-逻辑地址映射表F2H_TOB更新该逻辑-物理地址映射表H2F,微控制器320系设置来根据一片段、一片段的该物理-逻辑地址映射表F2H_TOB更新该逻辑-物理地址映射表H2F;意即该数据接收区块314_1上的两个写入操作之间,该物理-逻辑地址映射表F2H_TOB仅部分用于更新该逻辑-物理地址映射表H2F。基于该物理-逻辑地址映射表F2H_TOB更新该逻辑-物理地址映射表H2F的动作称为F2H_TOB→H2F更新(或封存)。微控制器320系设置来施行即时(即,于该数据接收区块314_1两个写入操作之间)、且片段(即,仅该物理-逻辑地址映射表F2H_TOB部分内容)的F2H_TOB→H2F更新,显著提升数据储存装置300的系统效能。
若一非预期掉电事件SPO发生,打断该区块314_1的写入操作,特殊设计的复电程序(例如,非预期掉电修复(Sudden Power-Off Recovery,SPOR)程序)因应而生。在打断该区块314_1的写入操作的该非预期掉电事件SPO所对应的复电程序中,微控制器320系设置来配置该快闪存储器304自这些闲置区块312中择一供应一区块314_2,作区块314_1的完整数据修复,并取代该区块314_1作为数据接收区块。特别是,打断该区块314_1的写入操作的该非预期掉电事件SPO所对应的复电程序若发现有任何尚未更新至该逻辑-物理地址映射表H2F的映射信息,微控制器320可在该随机存取存储器322中、基于该表格待更新区块TOB所含的物理-逻辑地址映射信息修复该物理-逻辑地址映射表F2H_TOB。在区块314_1的数据重建于该区块314_2后,前述尚未更新的映射信息可在区块314_2上接续的多个写入操作之间用于更新该逻辑-物理地址映射表H2F。在一种实施方式中,该微控制器320系设置来基于一错误检查与校正(ECC)演算法施行区块314_1至区块314_2的完整数据修复。
图4为流程图,图解一复电(SPOR)程序,对应的非预期掉电事件SPO系打断作数据接收区块用的该区块314_1的写入操作。步骤S402,快闪存储器304系配置来供应另一区块314_2作该区块314_1的完整数据修复。步骤S404,数据修复系基于一错误检查与校正演算法(例如,ecc演算法)施行,将数据自区块314_1搬移到区块314_2。步骤S406用于确认区块314_1的数据是否完整修复至区块314_2。若”否”,步骤S404所述数据修复步骤反复执行。若”是”,则于步骤S408以区块314_2取代区块314_1作为数据接收区块。步骤S410,区块314_1系标示为无效区块,且遭抹除再次利用。
图5是以图示方式显示非预期掉电事件反复发生时,数据接收区块的完整数据修复亦是反复执行。如图所示,一开始,数据系写入作数据接收区块用的区块314_1。接着,区块314_1上的写入操作被非预期掉电事件SPO打断。因此,该非预期掉电事件SPO所对应的复电程序SPOR中,快闪存储器304系配置供应区块314_2作区块314_1的完整数据修复。然而,另一非预期掉电事件SPO’发生,将区块314_2上的写入操作打断。该非预期掉电事件SPO’所对应的复电程序SPOR’中,快闪存储器304系配置自其多个区块中更供应一第三区块314_3,作区块314_1的完整数据修复,并且取代区块314_1作数据接收区块。
如此一来,即便非预期掉电事件反复发生,数据接收区块的数据系完整修复于单一区块中,而非切分为多个段落散布于多个区块上。
其他采用上述概念控制一快闪存储器的技术都属于本案所欲保护的范围。基于以上技术内容,本案更涉及快闪存储器的控制方法,不限定以特定架构的控制单元实现。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视权利要求书所界定者为准。

Claims (20)

1.一种数据储存装置,包括:
一快闪存储器,划分为多个区块,且上述区块各自包括多个物理页;以及
一控制单元,耦接该快闪存储器至一主机,且包括一微控制器;
其中:
该微控制器系设置来配置该快闪存储器自该多个区块中供应一第一区块作为一数据接收区块,以接收写入数据;且
在打断该第一区块上的写入操作的一非预期掉电事件所对应的一复电程序中,该微控制器系设置来配置该快闪存储器自该多个区块中供应一第二区块作该第一区块的完整数据修复,并取代该第一区块作为上述数据接收区块。
2.如权利要求1所述的数据储存装置,其特征在于:
该微控制器系设置在结束写入数据至该快闪存储器的该多个区块间的一表格待更新区块时,配置该快闪存储器供应该第一区块作为上述数据接收区块。
3.如权利要求2所述的数据储存装置,其特征在于:
该控制单元更包括一随机存取存储器;
该微控制器系设置来在该随机存取存储器建立一物理-逻辑地址映射表,记录该表格待更新区块的物理地址所对应的逻辑地址;
该微控制器系设置来在该表格待更新区块写满时,配置该快闪存储器供应该第一区块作为上述数据接收区块;
该微控制器系设置来在该数据接收区块的多个写入操作之间间隙,根据该物理-逻辑地址映射表更新一逻辑-物理地址映射表;且
该逻辑-物理地址映射表系供应在该快闪存储器上。
4.如权利要求3所述的数据储存装置,其特征在于:
该微控制器系在该数据接收区块上一第一写入操作以及一第二写入操作之间根据该物理-逻辑地址映射表仅部分内容更新该逻辑-物理地址映射表。
5.如权利要求3所述的数据储存装置,其特征在于:
在打断该第一区块的写入操作的该非预期掉电事件所对应的该复电程序中,该微控制器系基于该表格待更新区块内所储存的物理-逻辑地址映射信息修复该物理-逻辑地址映射表。
6.如权利要求2所述的数据储存装置,其特征在于:
该控制单元更包括一随机存取存储器;
该微控制器系设置来在该随机存取存储器建立一物理-逻辑地址映射表,记录该表格待更新区块的物理地址所对应的逻辑地址;
该微控制器系设置来在打断该表格待更新区块的写入操作的一非预期掉电事件所对应的一复电程序中,配置该快闪存储器供应该第一区块作为上述数据接收区块;
在打断该表格待更新区块的写入操作的该非预期掉电事件所对应的该复电程序中,该微控制器系设置来修复该物理-逻辑地址映射表;且
在该数据接收区块的多个写入操作之间间隙,该微控制器系设置来根据修复的该物理-逻辑地址映射表更新一逻辑-物理地址映射表;且
该逻辑-物理地址映射表系供应在该快闪存储器上。
7.如权利要求6所述的数据储存装置,其特征在于:
在该数据接收区块上的一第一写入操作以及一第二写入操作之间,该微控制器系基于修复的该物理-逻辑地址映射表的仅部分内容更新该逻辑-物理地址映射表。
8.如权利要求6所述的数据储存装置,其特征在于:
在打断该第一区块的写入操作的该非预期掉电事件所对应的该复电程序中,该微控制器系基于该表格待更新区块内所储存的物理-逻辑地址映射信息修复该物理-逻辑地址映射表。
9.如权利要求1所述的数据储存装置,其特征在于:
在打断该第二区块的写入操作的一非预期掉电事件所对应的一复电程序中,该微控制器系设置来标示该第二区块无效,且配置该快闪存储器自其中上述区块供应一第三区块,作该第一区块的完整数据修复,并取代该第一区块作为上述数据接收区块。
10.如权利要求1所述的数据储存装置,其特征在于:
该微控制器系设置来基于一错误检查与校正演算法施行该第一区块的完整数据修复。
11.一种快闪存储器控制方法,包括:
配置一快闪存储器自所具有的多个区块中供应一第一区块,作为一数据接收区块,以接收写入数据;以及
在打断该第一区块的写入操作的一非预期掉电事件所对应的一复电程序中,配置该快闪存储器自该多个区块中供应一第二区块作该第一区块的完整数据修复,并取代该第一区块作为上述数据接收区块。
12.如权利要求11所述的快闪存储器控制方法,其特征在于,更包括:
在结束写入数据至该快闪存储器的该多个区块间的一表格待更新区块时,配置该快闪存储器供应上述第一区块作为上述数据接收区块。
13.如权利要求12所述的快闪存储器控制方法,其特征在于,更包括:
在一随机存取存储器建立一物理-逻辑地址映射表,记录该表格待更新区块的物理地址所对应的逻辑地址;
在该表格待更新区块写满时,配置该快闪存储器供应该第一区块作为上述数据接收区块;以及
在该数据接收区块的多个写入操作之间间隙,根据该物理-逻辑地址映射表更新一逻辑-物理地址映射表;
其中,该逻辑-物理地址映射表系供应在该快闪存储器上。
14.如权利要求13所述的快闪存储器控制方法,其特征在于:
在该数据接收区块上一第一写入操作以及一第二写入操作之间,该逻辑-物理地址映射表系基于该物理-逻辑地址映射表仅部分内容作更新。
15.如权利要求13所述的快闪存储器控制方法,其特征在于:
在打断该第一区块的写入操作的该非预期掉电事件所对应的该复电程序中,该物理-逻辑地址映射表系基于该表格待更新区块内所储存的物理-逻辑地址映射信息作修复。
16.如权利要求12所述的快闪存储器控制方法,其特征在于,更包括:
在一随机存取存储器建立一物理-逻辑地址映射表,记录该表格待更新区块的物理地址所对应的逻辑地址;
在打断该表格待更新区块的写入操作的一非预期掉电事件所对应的一复电程序中,配置该快闪存储器供应该第一区块作为上述数据接收区块;
在打断该表格待更新区块的写入操作的该非预期掉电事件所对应的该复电程序中,修复该物理-逻辑地址映射表;并且
在该数据接收区块的多个写入操作之间的间隙,根据修复的该物理-逻辑地址映射表更新一逻辑-物理地址映射表,
其中,该逻辑-物理地址映射表系供应在该快闪存储器上。
17.如权利要求16所述的快闪存储器控制方法,其特征在于:
在该数据接收区块上一第一写入操作以及一第二写入操作之间,该逻辑-物理地址映射表系基于修复的该物理-逻辑地址映射表的仅部分内容作更新。
18.如权利要求16所述的快闪存储器控制方法,其特征在于:
在打断该第一区块的写入操作的该非预期掉电事件的该复电程序中,该物理-逻辑地址映射表系基于该表格待更新区块内所储存的物理-逻辑地址映射信息作修复。
19.如权利要求11所述的快闪存储器控制方法,其特征在于,更包括:
在打断该第二区块的写入操作的一非预期掉电事件所对应的一复电程序中,令该第二区块无效,且配置该快闪存储器自所具有的该多个区块中供应一第三区块,作该第一区块的完整数据修复,并取代该第一区块作上述数据接收区块。
20.如权利要求11所述的快闪存储器控制方法,其特征在于:
该第一区块的完整数据修复系基于一错误检查与校正演算法而施行。
CN201410821110.4A 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法 Active CN104750615B (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,535 2014-11-06
US14/534,535 US9645894B2 (en) 2013-12-26 2014-11-06 Data storage device and flash memory control method

Publications (2)

Publication Number Publication Date
CN104750615A CN104750615A (zh) 2015-07-01
CN104750615B true CN104750615B (zh) 2017-12-12

Family

ID=53481879

Family Applications (6)

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

Family Applications Before (3)

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

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201410821785.9A Active CN104750616B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法
CN201410825548.XA Active CN104750626B (zh) 2013-12-26 2014-12-25 数据储存装置以及快闪存储器控制方法

Country Status (3)

Country Link
US (8) US9684568B2 (zh)
CN (6) CN104750618B (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 慧榮科技股份有限公司 動態邏輯分段方法以及使用該方法的裝置
TWI646461B (zh) * 2016-10-12 2019-01-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
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 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
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
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
CN107391296B (zh) 2016-04-27 2020-11-06 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
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
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
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 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
TWI591533B (zh) 2016-11-25 2017-07-11 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI670640B (zh) * 2016-11-25 2019-09-01 慧榮科技股份有限公司 可用於資料儲存裝置之資料儲存方法與資料回復程序、以及採用這些方法的資料儲存裝置
TWI691839B (zh) * 2016-11-28 2020-04-21 慧榮科技股份有限公司 資料管理方法
KR20180080589A (ko) * 2017-01-04 2018-07-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI659307B (zh) * 2017-01-06 2019-05-11 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
TWI644250B (zh) * 2017-03-07 2018-12-11 慧榮科技股份有限公司 電子系統及其資料維護方法
TWI653533B (zh) * 2017-03-07 2019-03-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI602116B (zh) 2017-03-07 2017-10-11 Silicon Motion Inc 資料儲存裝置及其資料維護方法
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 江苏华存电子科技有限公司 一种混合型记录实体映像表的方法
CN113168377B (zh) * 2018-10-29 2024-04-23 美光科技公司 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 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
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
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1518000A (zh) * 2003-01-26 2004-08-04 深圳市朗科科技有限公司 闪存介质中的数据管理方法
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
CN103150125A (zh) * 2013-02-20 2013-06-12 郑州信大捷安信息技术股份有限公司 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡

Family Cites Families (52)

* 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
WO2004079575A1 (fr) 2003-03-04 2004-09-16 Netac Technology Co., Ltd. Procede de gestion de donnees pour support a memoire flash
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 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
WO2008070814A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
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 三星电子株式会社 存储器装置、存储器卡、固态驱动器、系统及其操作方法
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
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 光宝科技股份有限公司 固态储存装置及其逻辑至实体对应表建立方法
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
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
TWI477966B (zh) 2012-05-31 2015-03-21 Silicon Motion Inc 資料儲存裝置與快閃記憶體操作方法
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
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1518000A (zh) * 2003-01-26 2004-08-04 深圳市朗科科技有限公司 闪存介质中的数据管理方法
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
CN103150125A (zh) * 2013-02-20 2013-06-12 郑州信大捷安信息技术股份有限公司 提高掉电保护数据缓冲存储器使用寿命的方法及智能卡

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104750615B (zh) 数据储存装置以及快闪存储器控制方法
EP1430386B1 (en) Method of writing data to non-volatile memory
CN104423894B (zh) 数据储存装置以及快闪存储器控制方法
CN106802867B (zh) 固态储存装置及其数据编程方法
CN105740157A (zh) 数据储存装置以及快闪存储器控制方法
US8656090B2 (en) Method for performing block management, and associated memory device and controller thereof
CN104679672B (zh) 数据储存装置以及快闪存储器控制方法
EP3352071B1 (en) Data check method and storage system
CN110389712B (zh) 数据写入方法及其装置、固态硬盘和计算机可读存储介质
GB2411499A (en) Maintaining erased blocks in a non-volatile memory
CN111221750A (zh) 固态储存装置的数据处理方法
JP4488048B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8762623B2 (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
JP4582232B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4720891B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
TWI544335B (zh) 資料儲存裝置以及快閃記憶體控制方法
JP5180726B2 (ja) 記憶装置およびデータ書き込み制御方法
US8200611B2 (en) File system and data management method
JP2010092200A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN110928480A (zh) 固态储存装置的数据处理方法
CN115221072A (zh) 固态存储装置的快闪转换层对应表处理方法
TW202004483A (zh) 資料儲存裝置及系統資訊的編程方法

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