CN108733510A - 数据储存装置及映射表重建方法 - Google Patents
数据储存装置及映射表重建方法 Download PDFInfo
- Publication number
- CN108733510A CN108733510A CN201710473881.2A CN201710473881A CN108733510A CN 108733510 A CN108733510 A CN 108733510A CN 201710473881 A CN201710473881 A CN 201710473881A CN 108733510 A CN108733510 A CN 108733510A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- data
- block
- mapping table
- address mapping
- 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.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 125
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013500 data storage Methods 0.000 title abstract description 6
- 230000008439 repair process Effects 0.000 claims description 24
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 abstract description 36
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种数据储存装置及映射表重建方法,其具有非挥发性存储器以及微控制器。非挥发性存储器中存有数据区块。微控制器自数据区块中选取来源区块以及目地区块并将来源区块的有效数据复制至目地区块,当有效数据的一者毁损且无法修复时,将有效数据之一者所对应的不可修复错误位元记录至目地区块。
Description
技术领域
本发明有关于数据重建技术,特别有关于一种适用于数据储存装置的逻辑到实体地址映射表(logical-to-physical address mapping table)重建方法。
背景技术
随着电脑科技的演进,逐渐发展出各式的密集储存装置,其中又以存储器为最广受使用的储存媒介,一般来说,依据储存特性之别,存储器又可区分为挥发性(volatile)存储器与非挥发性(non-volatile)存储器,其中挥发性存储器所储存的数据会在电源供应中断后消失,而非挥发性存储器所储存的数据即使在断电时依旧能够被保存下来,只要重新供电就能够读取内存数据。
以非挥发性存储器为例,其于近年来被大量使用于电子产品中,特别是可携式电子产品(如:行动电话、数位相机、以及小型游戏机等),用以长时间保存数据。目前市面上有许多种不同类型的非挥发性存储器,包括:快闪存储器(flash memory)、磁阻式随机存取存储器(Magneto-resistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)、以及自旋转移力矩随机存取存储器(Spin TransferTorque-RAM,STT-RAM)等。
在非挥发性存储器的使用过程中,需要以映射表来管理主机端的逻辑地址以及非挥发性存储器端的实体地址之间的映射关系,以实现正确的数据存取操作。然而,在使用上若发生不当断电或突然断电,将可能造成内存数据的毁损,例如:映射表毁损。因此,亟需有一种映射表重建方法,能够有效解决映射表毁损的问题。
发明内容
为了解决上述问题,本发明提出一种数据储存装置及映射表重建方法,特别将逻辑到实体地址映射表中的不可修复错误(uncorrectable error,UNC error)位元备份到实体到逻辑地址映射表(physical-to-logical address mapping table)、以及/或数据页备用区(data page spare area),使得于重建逻辑到实体地址映射表时也能够快速重建不可修复错误位元。
本发明的一实施例提供了一种数据储存装置,包括一非挥发性存储器以及一微控制器。上述非挥发性存储器包括多个数据区块。上述微控制器自上述数据区块中选取一来源区块以及一目地区块并将上述来源区块的多个有效数据复制至上述目地区块,当上述有效数据之一者毁损且无法修复时,将上述有效数据之上述一者所对应的一不可修复错误位元记录至上述目地区块。
较佳的情况是,上述不可修复错误位元是记录于上述目地区块的一区块终端,或者,上述不可修复错误位元记录于上述目地区块的一备用区域。
本发明的另一实施例提供了一种数据储存装置,包括一非挥发性存储器以及一微控制器。上述非挥发性存储器包括多个数据区块。上述微控制器读取每一上述数据区块中的一实体到逻辑地址映射表,每一上述实体到逻辑地址映射表包括一不可修复错误位元,以及依据上述实体到逻辑地址映射表的先后顺序建立一逻辑到实体地址映射表,其中上述逻辑到实体地址映射表包括上述不可修复错误位元。
较佳的情况是,上述实体到逻辑地址映射表储存于上述数据区块的区块终端。上述数据区块的先后顺序记录于一时序列表中,或者,上述数据区块的先后顺序参照每一上述数据区块的一时间戳记而决定。
本发明的另一实施例提供了一种映射表重建方法,适用于一数据储存装置,上述映射表重建方法包括以下步骤:令上述数据储存装置的一非挥发性存储器的空间划分为至少一系统资讯区块以及至少一数据区块;以及在上述系统资讯区块中的一逻辑到实体地址映射表毁损时,从上述数据区块中的一实体到逻辑地址映射表或一数据页备用区域读取一不可修复错误位元,以重建上述逻辑到实体地址映射表。
较佳的情况是,映射表重建方法还包括以下步骤:在写入数据至上述数据区块时,从上述逻辑到实体地址映射表读取上述不可修复错误位元并写入至上述实体到逻辑地址映射表或上述数据页备用区域;在从上述数据区块读取数据却发生错误时,执行一数据修复程序;以及在上述数据修复程序失败时,将上述逻辑到实体地址映射表中的上述不可修复错误位元设为"真"。
上述逻辑到实体地址映射表用以指示一主机至上述非挥发性存储器的映射资讯,上次实体到逻辑地址映射表还用以指示上述非挥发性存储器至上述主机的映射资讯。
上述实体到逻辑地址映射表储存于上述数据区块的一区块终端。
上述数据页备用区域还用以储存上述数据区块中每一数据页的元数据。
关于本发明其他附加的特征与优点,此领域的熟悉本技术领域者,在不脱离本发明的精神和范围内,当可根据本案实施方法中所揭示的数据储存装置以及映射表重建方法做些许的更动与润饰而得到。
附图说明
图1A以及图1B是显示一范例快闪存储器的物理空间配置的示意图。
图2是根据本发明一实施例所述的数据储存装置的示意图。
图3是显示以逻辑地址为索引的H2F映射表的示意图。
图4是根据本发明一实施例所述的H2F映射表重建方法的流程图。
符号说明
100 快闪存储器;
102 数据区域;
104 备用区域;
200 数据储存装置;
210 快闪存储器;
211 线上编程区块池;
212 系统资讯区块池;
213 闲置区块池;
214 数据区块池;
220 控制单元;
221 微控制器;
222 随机存取存储器;
223 只读存储器;
300 主机;
S401~S405 步骤编号;
BLK#1、BLK#2、BLK#Z 物理区块;
U#i、U#(i+1)、U#(i+2)、U#(i+3) 储存单元;
BLK# 物理区块编号;
U# 储存单元编号;
H2F_H#1、H2F_H#2 主机区块映射表;
H2F H2F映射表;
F2H F2H映射表;
EOB 区块终端。
具体实施方式
本章节所叙述的是实施本发明的最佳方式,目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
非挥发性存储器包括:快闪存储器、磁阻式随机存取存储器、铁电随机存取存储器、电阻式存储器、自旋转移力矩随机存取存储器等,其具有长时间保存数据的特性。以下特别以快闪存储器为例进行说明。
现今数据储存装置常以快闪存储器为储存媒介,常用来实现记忆卡(memorycard)、通用序列汇流排闪存装置(USB flash device)、以及固态硬碟(Solid StateDrive,SSD)等产品。其中一种应用是采多晶片封装,将快闪存储器与其控制器包装在一起,称为嵌入式快闪存储器模组(如:嵌入式多媒体卡(embedded MultiMedia Card,eMMC))。
以快闪存储器为储存媒介的数据储存装置可应用于多种电子装置中,包括:智慧型手机、穿戴装置、平板电脑、以及虚拟实境设备等,而一般来说,这般电子装置中的中央处理单元(Central Processing Unit,CPU)可被视为操作所述数据储存装置的一主机。
图1A以及图1B是显示一范例快闪存储器的物理空间配置的示意图。
如图1A所示,快闪存储器100的数据储存空间可被划分为多个区块(或称物理区块(physical block))BLK#1、BLK#2、…BLK#Z,其中Z为正整数。各物理区块包括多个物理页(physical page),或可称为数据页(data page),例如:256个数据页。
如图1B所示,每一数据页包括数据区域(data area)102、以及备用区域(sparearea)104。数据区域102可进一步划分为多个储存单元U#i、U#(i+1)、U#(i+2)、U#(i+3),经配置后,对应主机端的逻辑地址储存数据。主机端的逻辑地址有多种形式,例如,以逻辑区块地址(Logical Block Address,LBA)、或全域主机页(Global Host Page,GHP)进行编号。
在一实施例,数据区域102的大小为16KB(Kilo-Byte,千位元组),储存单元U#i、U#(i+1)、U#(i+2)、U#(i+3)的大小各为4KB,每个储存单元可对应到8个逻辑区块地址(如:LBA#0~LBA#7)、或对应到1个全域主机页。
备用区域104用来储存所属数据页的元数据(metadata),包括映射资讯、以及区块识别码。区块识别码用以记录所属物理区块的区块识别码。映射资讯用以指示储存单元U#i、U#(i+1)、U#(i+2)、U#(i+3)所储存的内容对应到的主机端的逻辑地址。举例来说,映射资讯可记录4段逻辑区块地址(各段包括8个逻辑区块地址的编号)、或4个全域主机页的编号。以下以全域主机页为例进行说明,但不以此为限。
图2是根据本发明一实施例所述的数据储存装置的示意图。数据储存装置200包括快闪存储器210以及控制单元220,其中控制单元220耦接于主机300与快闪存储器210之间,并根据主机300所下达的指令(如:读取、写入、或重置等)操作快闪存储器210。
控制单元220包括微控制器221、随机存取存储器222、以及只读存储器223,其中,随机存取存储器222与微控制器221可设置于同一个晶粒(die),或是分开制作,且可能空间有限(相较于大尺寸DRAM)。举例来说,一安全数位(Secure Digital,SD)卡可使用512KB的静态随机存取存储器(Static Random Access Memory,SRAM)来实现随机存取存储器222。
只读存储器223用以储存只读程序码(如,ROM code)。微控制器221可载入并执行只读存储器223所储存的只读程序码、以及/或快闪存储器210的线上编程(in-systemprogramming,ISP)区块池211所储存的线上编程程序,以进行运作,且运作中可利用随机存取存储器222作动态资讯储存。微控制器221的运作内容还特别包括:动态整理快闪存储器210的逻辑地址(主机300的视角)与物理地址(快闪存储器210的视角)之间的映射资讯,包括主机至快取存储器(Host to Flash,H2F)映射表(文后简称为H2F映射表)、以及数据区块各自的快取存储器至主机(Flash to Host,F2H)映射表(文后简称为F2H映射表)。
快闪存储器210的空间配置包括:线上编程区块池211、系统资讯区块池212、闲置区块池213、以及数据区块池214。
系统资讯区块池212中的区块是用以储存系统资讯,包括H2F映射表的非挥发式存储,H2F映射表的范例将于文后图3做进一步说明。
闲置区块池213中的区块可由微控制器221配置来储存数据(例如,作为主动区块接收主机300写入数据、或作为垃圾回收的目标区块),并待数据储存完成(写满、或中断不再利用)即推入数据区块池214定义为数据区块。
数据区块池214中的区块又可被称为数据区块,是由实体地址所定义出来的数据储存空间,也就是主机300要读取的数据的真实所在位置。F2H映射表是储存于对应区块的区块终端(End of Block,EOB)中,而区块终端较佳是储存于对应区块的最末数据页。
一般运作下,数据储存装置200的控制单元220会动态整理映射表,包括:H2F映射表、以及F2H映射表。H2F映射表可以全域主机页为索引,记录各全域主机页的数据(有效数据)是被储存至快闪存储器210的哪个物理地址,也就是哪一物理区块中的哪一数据页或哪一储存单元。F2H映射表则可记录所描述的物理区块中,数据页或储存单元所储存的内容所对应到的全域主机页为何。由此可知,映射表是数据储存装置200运作所需重要依据。
图3是显示以逻辑地址为索引的H2F映射表的示意图。H2F映射表中的每个项目(entry)记录不同逻辑地址(如,逻辑区块地址、或全域主机页)的数据是被储存至快闪存储器100中哪一物理区块(图中标示为BLK#)的哪一储存单元(图中标示为U#),即物理物址。在一实施例中,逻辑地址与物理物址的数据长度为32位元,其中,BLK#的数据长度为16位元,U#的数据长度也为16位元。而为了因应庞大的储存空间,H2F映射表还可以主机区块(hostblock)为单位,细分为主机区块映射表H2F_H#0、H2F_H#1…等。在一实施例,每个主机区块映射表的大小为64KB。该些主机区块映射表H2F_H#0、H2F_H#1…可以一指标列表管理。
在本发明中,H2F映射表中的每个项目除了记录全域主机页与实体地址的对应关系之外,还记录一不可修复错误(uncorrectable error,UNC error)位元(图中标示为UNC位元),用以指示所属的全域主机页是否曾经在被读取时发生不可修复的错误。在一实施例,不可修复错误位元可以是每个项目中的任何一个未使用的位元,较佳为每个项目中的逻辑地址的第31个位元或物理物址的第31个位元或第15个位元。
一开始在H2F映射表中每个有效数据(逻辑地址或物理地址)所对应的不可修复错误位元的预设值皆为"假(false)"。当数据储存装置200执行垃圾收集(garbagecollection)或其他数据搬移机制时,会选取一来源区块以及一目的区块,其中,来源区块较佳为数据区块池214中具有最大抹写次数(erase count)或抹写次数超过一预设值的数据区块,或是具有最大错误位元数(error bit count)或错误位元数超过一预设值的数据区块,例如物理区块BLK#1;目的区块较佳为闲置区块池213中具有最小抹写次数的闲置区块、任一或伫列中的闲置区块,例如物理区块BLK#2。其中,垃圾收集或其他数据搬移机制较佳于背景模式下执行,亦可于前景模式下执行。当有效数据由来源区块搬移(或复制)至目的区块时,如果来源区块的一物理物址的有效数据毁损时,数据储存装置200会先执行数据修复程序试图修复毁损的有效数据,而当数据修复程序失败时,则认定是不可修复的错误并将H2F映射表中此有效数据所对应的不可修复错误位元设为"真"。最后,数据储存装置200可停止搬移(或复制)此有效数据,并更新此H2F映射表中此有效数据所对应的不可修复错误位元;或直接将此毁损的有效数据搬移(或复制)至目的区块,并更新H2F映射表中此有效数据所对应的不可修复错误位元及储存此有效数据所对应的不可修复错误位元至备用区域104,并于目的区块写入EOB资讯时,将此有效数据所对应的不可修复错误位元写入至F2H映射表。在一实施例,数据修复程序可使用错误修复码(Error Correction Code,ECC)的机制来实现错误侦测及修复,关于错误修复码的运作机制将于后续进一步说明。
于此之后,当主机300欲读取此有效数据时,数据储存装置200根据此有效数据在H2F映射表中的不可修复错误位元来直接回应主机300的数据读取要求。一旦不可修复错误位元被设为"真",则数据储存装置200可直接省略数据读取作业,即省略对快闪存储器210的操作,直接回传不可修复错误、或读取错误至主机300,如此一来,有效提升数据储存装置200的整体系统效能。另外,本发明提出一映射表重建方法能够连同不可修复错误位元一并快速重建。
在本发明中,除了H2F映射表有记录有效数据的不可修复错误位元,F2H映射表以及每个数据页的备用区域也有记录此有效数据的不可修复错误位元。因此,当H2F映射表毁损时,微控制器221可于重建H2F映射表的过程中,根据F2H映射表或备用区域中的不可修复错误位元,快速重建H2F映射表中的不可修复错误位元。
图4是根据本发明一实施例所述的H2F映射表重建方法的流程图。在此实施例,H2F映射表重建方法适用于一数据储存装置,如数据储存装置200,特别是,在该数据储存装置中,除了H2F映射表有记录不可修复错误位元,F2H映射表以及数据页的备用区域也有记录不可修复错误位元。
首先,当数据储存装置侦测到H2F映射表毁损时(步骤S401),会执行第一修复程序试图从H2F映射表中所含的错误修复码(Error Correction Code,ECC)直接修复H2F映射表(步骤S402),其中,H2F映射表乃储存于系统资讯区块池212中的区块的数据区域102,错误修复码乃储存于系统资讯区块池212中的区块的备用区域104。
造成H2F映射表毁损的原因有很多,例如:在数据读取或写入的过程中发生传输线松脱、或数据储存装置的不当断电或突然断电、或储存媒介的实体磨损。
在一实施例,H2F映射表可于每个字节(word)(例如:32位元)中嵌入一核对码(checksum)及错误修复码,其中核对码于数据写入至该字节时根据数据内容所计算出来的,之后,在读取数据时,会再次根据数据内容重新计算出新的核对码,若新的核对码与先前写入的核对码不同,则表示数据毁损,接着使用错误修复码尝试修复数据,然而,错误修复码对于修复毁损数据有其极限,仅能修复有限位元数的毁损数据,若毁损的数据超过可修复的位元数,则修复失败。
接续步骤S402,若修复成功,则流程结束;反之,若修复失败,则执行第二修复程序试图根据F2H映射表来重建H2F映射表(步骤S403)。
明确来说,第二修复程序包括:根据数据区块的F2H映射表,例如,物理区块BLK#2的区块终端所储存的F2H映射表,所记录的物理地址到全域主机页的对应关系,反向回推出全域主机页到物理地址的对应关系,即可重建H2F映射表中的映射资讯;以及将F2H映射表所记录的不可修复错误位元复制到重建的H2F映射表中的不可修复错误位元。由于数据区块池214中数据区块的数目可能超过1,因此,当读取数据区块的F2H映射表时,较佳是依据时序列表(linklist)或依据数据区块建立时所记录的时间戳记(timestamp)来决定数据区块的F2H映射表的读取顺序。
接续步骤S403,若重建成功,则流程结束;反之,若重建失败,则执行第三修复程序试图根据数据区块的备用区域,例如:物理区块BLK#2的备用区域104,来重建H2F映射表(步骤S404)。
明确来说,第三修复程序包括:根据每个备用区域所记录的映射资讯(指示了物理地址到全域主机页的对应关系),反向回推出全域主机页到物理地址的对应关系,即可重建H2F映射表中的映射资讯;以及将每个备用区域所记录的不可修复错误位元复制到重建的H2F映射表中的不可修复错误位元。
接续步骤S404,若重建成功,则流程结束;反之,若重建失败,则产生错误讯息,指示数据储存装置发生数据毁损(步骤S405),然后流程结束。
在一实施例,如果第一到第三修复程序都无法修复/重建H2F映射表,那么连接到数据储存装置的主机,例如:主机300,在接收到错误讯息时,可选择重置(如:重新初始化)数据储存装置。
本发明虽以各种实施例揭示如上,然而其仅为范例参考而非用以限定本发明的范围,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰。因此上述实施例并非用以限定本发明的范围,本发明的保护范围当由权利要求书界定为准。
Claims (13)
1.一种数据储存装置,包括:
一非挥发性存储器,包括多个数据区块;以及
一微控制器,自上述数据区块中选取一来源区块以及一目地区块并将上述来源区块的多个有效数据复制至上述目地区块,当上述有效数据之一者毁损且无法修复时,将上述有效数据之上述一者所对应的一不可修复错误位元记录至上述目地区块。
2.如权利要求1所述的数据储存装置,其特征在于,上述不可修复错误位元记录于上述目地区块的一区块终端。
3.如权利要求1所述的数据储存装置,其特征在于,上述不可修复错误位元记录于上述目地区块的一备用区域。
4.一种数据储存装置,包括:
一非挥发性存储器,包括多个数据区块;以及
一微控制器,读取每一上述数据区块中的一实体到逻辑地址映射表,每一上述实体到逻辑地址映射表包括一不可修复错误位元,以及依据上述实体到逻辑地址映射表的先后顺序建立一逻辑到实体地址映射表,其中上述逻辑到实体地址映射表包括上述不可修复错误位元。
5.如权利要求4所述的数据储存装置,其特征在于,上述数据区块的先后顺序记录于一时序列表中。
6.如权利要求4所述的数据储存装置,其特征在于,上述数据区块的先后顺序参照每一上述数据区块的一时间戳记而决定。
7.如权利要求4所述的数据储存装置,其特征在于,上述实体到逻辑地址映射表储存于上述数据区块的区块终端。
8.一种映射表重建方法,适用于一数据储存装置,包括:
令上述数据储存装置的一非挥发性存储器的空间划分为至少一系统资讯区块以及至少一数据区块;以及
在上述系统资讯区块中的一逻辑到实体地址映射表毁损时,从上述数据区块中的一实体到逻辑地址映射表或一数据页备用区域读取一不可修复错误位元,以重建上述逻辑到实体地址映射表。
9.如权利要求8所述的映射表重建方法,其特征在于,还包括:在写入数据至上述数据区块时,从上述逻辑到实体地址映射表读取上述不可修复错误位元并写入至上述实体到逻辑地址映射表或上述数据页备用区域。
10.如权利要求8所述的映射表重建方法,其特征在于,还包括:
在从上述数据区块读取数据却发生错误时,执行一数据修复程序;以及
在上述数据修复程序失败时,将上述逻辑到实体地址映射表中的上述不可修复错误位元设为“真”。
11.如权利要求8所述的映射表重建方法,其特征在于,上述逻辑到实体地址映射表用以指示一主机至上述非挥发性存储器的映射资讯,上次实体到逻辑地址映射表还用以指示上述非挥发性存储器至上述主机的映射资讯。
12.如权利要求8所述的映射表重建方法,其特征在于,上述实体到逻辑地址映射表储存于上述数据区块的一区块终端。
13.如权利要求8所述的映射表重建方法,其特征在于,上述数据页备用区域还用以储存上述数据区块中每一数据页的元数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106113731 | 2017-04-25 | ||
TW106113731A TWI639917B (zh) | 2017-04-25 | 2017-04-25 | 資料儲存裝置及映射表重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108733510A true CN108733510A (zh) | 2018-11-02 |
CN108733510B CN108733510B (zh) | 2023-03-28 |
Family
ID=63852310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710473881.2A Active CN108733510B (zh) | 2017-04-25 | 2017-06-21 | 数据储存装置及映射表重建方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10635525B2 (zh) |
CN (1) | CN108733510B (zh) |
TW (1) | TWI639917B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597712A (zh) * | 2018-11-27 | 2019-04-09 | 杭州宏杉科技股份有限公司 | 空间分配方法及装置 |
CN110704337A (zh) * | 2019-09-23 | 2020-01-17 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
CN111324289A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN111399758A (zh) * | 2019-01-02 | 2020-07-10 | 慧荣科技股份有限公司 | 数据储存装置、存取装置及数据处理方法 |
CN111400201A (zh) * | 2020-03-19 | 2020-07-10 | 合肥兆芯电子有限公司 | 快闪存储器的数据整理方法、存储装置及控制电路单元 |
CN111813703A (zh) * | 2019-04-10 | 2020-10-23 | 慧荣科技股份有限公司 | 数据储存装置及逻辑至物理地址映射表的更新方法 |
CN113971964A (zh) * | 2020-07-24 | 2022-01-25 | 深圳市江波龙电子股份有限公司 | 一种数据恢复方法及存储设备、终端设备 |
CN115563026A (zh) * | 2022-12-07 | 2023-01-03 | 合肥康芯威存储技术有限公司 | 一种映射表的重建方法及数据存储设备 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI639917B (zh) * | 2017-04-25 | 2018-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及映射表重建方法 |
CN109582599B (zh) * | 2017-09-29 | 2023-12-22 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
KR20200113047A (ko) * | 2019-03-20 | 2020-10-06 | 삼성전자주식회사 | 오픈 채널 스토리지 장치의 동작 방법 |
US10877900B1 (en) * | 2019-06-26 | 2020-12-29 | Western Digital Technologies, Inc. | Enabling faster and regulated device initialization times |
TWI756854B (zh) * | 2020-04-27 | 2022-03-01 | 慧榮科技股份有限公司 | 管理資料儲存的方法及裝置以及電腦程式產品 |
CN111581022B (zh) * | 2020-04-30 | 2022-07-08 | 江苏芯盛智能科技有限公司 | 一种数据恢复方法及系统 |
KR20210137679A (ko) * | 2020-05-11 | 2021-11-18 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 |
CN113918082B (zh) * | 2020-07-08 | 2024-03-08 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
US11527300B2 (en) | 2020-08-26 | 2022-12-13 | Western Digital Technologies, Inc. | Level dependent error correction code protection in multi-level non-volatile memory |
US11436083B2 (en) | 2020-09-04 | 2022-09-06 | Western Digital Technologies, Inc. | Data address management in non-volatile memory |
CN112634975A (zh) * | 2020-12-24 | 2021-04-09 | 杭州华澜微电子股份有限公司 | 一种数据存储纠错方法、装置及电子设备 |
US11556467B1 (en) * | 2021-07-13 | 2023-01-17 | Micron Technology, Inc. | Optimizing garbage collection that uses a logical-to-physical table search |
KR20230013558A (ko) * | 2021-07-19 | 2023-01-26 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이의 동작 방법 및 이를 포함하는 컴퓨팅 시스템 |
CN115202933A (zh) * | 2022-07-19 | 2022-10-18 | 合肥兆芯电子有限公司 | 映射表重建方法、存储器存储装置及存储器控制电路单元 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070016719A1 (en) * | 2004-04-09 | 2007-01-18 | Nobuhiro Ono | Memory device including nonvolatile memory and memory controller |
CN101046803A (zh) * | 2006-03-28 | 2007-10-03 | 大唐移动通信设备有限公司 | 文件系统的安全管理方法及装置 |
US20130124782A1 (en) * | 2011-11-11 | 2013-05-16 | Lite-On It Corporation | Solid state drive and method for constructing logical-to-physical table thereof |
TW201339835A (zh) * | 2012-03-29 | 2013-10-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
CN103377143A (zh) * | 2012-04-27 | 2013-10-30 | 群联电子股份有限公司 | 存储器管理方法、存储器控制器与存储器存储装置 |
CN103631721A (zh) * | 2012-08-23 | 2014-03-12 | 华为技术有限公司 | 一种隔离内存中坏块的方法及系统 |
CN103902406A (zh) * | 2012-12-31 | 2014-07-02 | 杨威锋 | 高可靠性固态存储设备的映射表信息的保存和恢复技术 |
CN104166636A (zh) * | 2013-05-17 | 2014-11-26 | 宇瞻科技股份有限公司 | 存储器储存装置及其还原方法与存储器控制器 |
CN104750625A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN105740157A (zh) * | 2014-11-03 | 2016-07-06 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE202007009033U1 (de) * | 2007-06-26 | 2007-08-30 | Kiekert Ag | Elektronische Zustandserfassungseinrichtung |
US20100325374A1 (en) | 2009-06-17 | 2010-12-23 | Sun Microsystems, Inc. | Dynamically configuring memory interleaving for locality and performance isolation |
US8327092B2 (en) | 2009-09-21 | 2012-12-04 | Freescale Semiconductor, Inc. | Memory device configurable as interleaved or non-interleaved memory |
TWI407310B (zh) * | 2009-10-09 | 2013-09-01 | Silicon Motion Inc | 資料儲存裝置及資料存取方法 |
US8407449B1 (en) * | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
TWI455142B (zh) * | 2010-04-08 | 2014-10-01 | Silicon Motion Inc | 快閃記憶體之資料讀取的方法以及資料儲存裝置 |
US9003102B2 (en) * | 2011-08-26 | 2015-04-07 | Sandisk Technologies Inc. | Controller with extended status register and method of use therewith |
US20130179726A1 (en) | 2012-01-08 | 2013-07-11 | Synology Incorporated | Automatic remapping in redundant array of independent disks and related raid |
US9047922B2 (en) * | 2012-01-27 | 2015-06-02 | Seagate Technology Llc | Autonomous event logging for drive failure analysis |
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 |
US9400745B2 (en) * | 2013-11-06 | 2016-07-26 | International Business Machines Corporation | Physical address management in solid state memory |
TWI579696B (zh) * | 2015-11-06 | 2017-04-21 | 群聯電子股份有限公司 | 資料重建方法與系統及其記憶體控制電路單元 |
TWI639917B (zh) * | 2017-04-25 | 2018-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及映射表重建方法 |
-
2017
- 2017-04-25 TW TW106113731A patent/TWI639917B/zh active
- 2017-06-21 CN CN201710473881.2A patent/CN108733510B/zh active Active
- 2017-12-29 US US15/858,393 patent/US10635525B2/en active Active
-
2020
- 2020-03-20 US US16/825,501 patent/US11249840B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070016719A1 (en) * | 2004-04-09 | 2007-01-18 | Nobuhiro Ono | Memory device including nonvolatile memory and memory controller |
CN101046803A (zh) * | 2006-03-28 | 2007-10-03 | 大唐移动通信设备有限公司 | 文件系统的安全管理方法及装置 |
US20130124782A1 (en) * | 2011-11-11 | 2013-05-16 | Lite-On It Corporation | Solid state drive and method for constructing logical-to-physical table thereof |
TW201339835A (zh) * | 2012-03-29 | 2013-10-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
CN103377143A (zh) * | 2012-04-27 | 2013-10-30 | 群联电子股份有限公司 | 存储器管理方法、存储器控制器与存储器存储装置 |
CN103631721A (zh) * | 2012-08-23 | 2014-03-12 | 华为技术有限公司 | 一种隔离内存中坏块的方法及系统 |
CN103902406A (zh) * | 2012-12-31 | 2014-07-02 | 杨威锋 | 高可靠性固态存储设备的映射表信息的保存和恢复技术 |
CN104166636A (zh) * | 2013-05-17 | 2014-11-26 | 宇瞻科技股份有限公司 | 存储器储存装置及其还原方法与存储器控制器 |
CN104750625A (zh) * | 2013-12-26 | 2015-07-01 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN105740157A (zh) * | 2014-11-03 | 2016-07-06 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597712A (zh) * | 2018-11-27 | 2019-04-09 | 杭州宏杉科技股份有限公司 | 空间分配方法及装置 |
CN111324289B (zh) * | 2018-12-14 | 2024-02-20 | 兆易创新科技集团股份有限公司 | 一种存储器 |
CN111324289A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN111399758A (zh) * | 2019-01-02 | 2020-07-10 | 慧荣科技股份有限公司 | 数据储存装置、存取装置及数据处理方法 |
CN111399758B (zh) * | 2019-01-02 | 2023-08-01 | 慧荣科技股份有限公司 | 数据储存装置、存取装置及数据处理方法 |
CN111813703A (zh) * | 2019-04-10 | 2020-10-23 | 慧荣科技股份有限公司 | 数据储存装置及逻辑至物理地址映射表的更新方法 |
CN110704337B (zh) * | 2019-09-23 | 2021-01-19 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
WO2021056963A1 (zh) * | 2019-09-23 | 2021-04-01 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
US11816038B2 (en) | 2019-09-23 | 2023-11-14 | Shenzhen Unionmemory Information System Limited | Method and apparatus of mapping table reconstruction based on SSD, and computer device |
CN110704337A (zh) * | 2019-09-23 | 2020-01-17 | 深圳忆联信息系统有限公司 | 基于固态硬盘的映射表重建方法、装置和计算机设备 |
US11341039B2 (en) | 2020-03-19 | 2022-05-24 | Hefei Core Storage Electronic Limited | Data arrangement method of flash memory, flash memory storage device and flash memory control circuit unit |
CN111400201A (zh) * | 2020-03-19 | 2020-07-10 | 合肥兆芯电子有限公司 | 快闪存储器的数据整理方法、存储装置及控制电路单元 |
CN113971964A (zh) * | 2020-07-24 | 2022-01-25 | 深圳市江波龙电子股份有限公司 | 一种数据恢复方法及存储设备、终端设备 |
CN113971964B (zh) * | 2020-07-24 | 2023-08-04 | 深圳市江波龙电子股份有限公司 | 一种数据恢复方法及存储设备、终端设备 |
CN115563026A (zh) * | 2022-12-07 | 2023-01-03 | 合肥康芯威存储技术有限公司 | 一种映射表的重建方法及数据存储设备 |
Also Published As
Publication number | Publication date |
---|---|
US20180307558A1 (en) | 2018-10-25 |
CN108733510B (zh) | 2023-03-28 |
US20200218602A1 (en) | 2020-07-09 |
US10635525B2 (en) | 2020-04-28 |
TW201839611A (zh) | 2018-11-01 |
US11249840B2 (en) | 2022-02-15 |
TWI639917B (zh) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733510A (zh) | 数据储存装置及映射表重建方法 | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
CN105122220B (zh) | 固态驱动器中的原子写入命令支持 | |
US10061710B2 (en) | Storage device | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US8909986B2 (en) | Data storing method for solid state drive to preserve data integrity after power failure | |
US11232041B2 (en) | Memory addressing | |
TW202011195A (zh) | 映射表更新方法 | |
TW201933102A (zh) | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 | |
CN110058796A (zh) | 数据储存装置 | |
CN104699413B (zh) | 数据管理方法、存储器存储装置及存储器控制电路单元 | |
US20090172256A1 (en) | Data writing method for flash memory, and flash memory controller and storage device thereof | |
US10061694B2 (en) | Memory system and method for controlling non-volatile memory | |
TWI646535B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
TWI454913B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
EP3627328A1 (en) | Storage device and operating method of storage device | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
CN109426441A (zh) | 数据储存装置以及其操作方法 | |
CN108958961A (zh) | 数据储存装置以及数据错误管理方法 | |
US20170010810A1 (en) | Method and Apparatus for Providing Wear Leveling to Non-Volatile Memory with Limited Program Cycles Using Flash Translation Layer | |
CN108920386B (zh) | 面向非易失性内存的磨损均衡及访问方法、设备和存储介质 | |
US20230236964A1 (en) | Storage controller deallocating memory block, method of operating the same, and method of operating storage device including the same | |
US11269534B2 (en) | Data storage device and non-volatile memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |