CN108958961A - 数据储存装置以及数据错误管理方法 - Google Patents
数据储存装置以及数据错误管理方法 Download PDFInfo
- Publication number
- CN108958961A CN108958961A CN201710362875.XA CN201710362875A CN108958961A CN 108958961 A CN108958961 A CN 108958961A CN 201710362875 A CN201710362875 A CN 201710362875A CN 108958961 A CN108958961 A CN 108958961A
- Authority
- CN
- China
- Prior art keywords
- unit
- data
- rank
- specified
- mentioned
- 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
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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- 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/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
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)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明提出一种高可靠度数据储存装置,其中非易失性存储器的储存空间包括多个第一阶单元,且该多个第一阶单元更分组为多个第二阶单元。控制单元使第一阶单元各自编有检正校验码,并在读取一指定的第一阶单元时,根据该指定的第一阶单元的检正校验码判断该指定的第一阶单元的检正校验码的数据状况,据以自我检测含括该指定的第一阶单元的一指定的第二阶单元的其他空间。
Description
技术领域
本发明是有关于数据储存装置。
背景技术
数据储存装置所采用的非易失性存储器可以是快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin TransferTorque-RAM,简称STT-RAM)…等,用于长时间数据保存。如何确保非易失性存储器储存内容的可靠度为本技术领域一项重要课题。
发明内容
根据本发明一种实施方式所实现的一数据储存装置包括一非易失性存储器以及一控制单元。该非易失性存储器提供划分为多个第一阶单元的储存空间,且这些第一阶单元更分组为多个第二阶单元,使一个上述第二阶单元包括多个上述第一阶单元。该控制单元使这些第一阶单元分别编有检正校验码,并在读取一指定的第一阶单元时,根据该指定的第一阶单元的检正校验码判断该指定的第一阶单元的数据状况,据以自我检测该非易失性存储器的其他数据。该指定的第一阶单元属于这些第二阶单元中一指定的第二阶单元。基于该指定的第一阶单元的检正校验码辨别出该指定的第一阶单元的数据超过一第一临界错误量时,该控制单元检测另外N个第一阶单元,N为数量。上述N个第一阶单元属于该指定的第二阶单元。上述N个第一阶单元中多于M个的数据超过一第二临界错误量时,该控制单元标示该指定的第二阶单元为损毁,M为数量。
根据本案一种实施方式所实现的一种数据错误管理方法,应用于一数据储存装置且包括:对一非易失性存储器进行检正校验码编码,其中,该非易失性存储器提供划分为多个第一阶单元的储存空间,且这些第一阶单元更分组为多个第二阶单元,使一个上述第二阶单元包括多个上述第一阶单元;使这些第一阶单元分别编有上述检正校验码;且在读取一指定的第一阶单元时,根据该指定的第一阶单元的检正校验码判断该指定的第一阶单元的数据状况,据以自我检测该非易失性存储器的其他数据。该指定的第一阶单元属于这些第二阶单元中一指定的第二阶单元。基于该指定的第一阶单元的检正校验码辨别出该指定的第一阶单元的数据超过一第一临界错误量时,其他N个第一阶单元更受检测,其中,N为数量。上述N个第一阶单元属于该指定的第二阶单元。上述N个第一阶单元中多于M个的数据超过一第二临界错误量时,该指定的第二阶单元标示为损毁,其中,M为数量。
本案另一种实施方式所提出的一数据储存装置包括一非易失性存储器以及一控制单元。该非易失性存储器包括多个物理区块,每一这些物理区块包括多个数据页。该控制单元可对这些物理区块的一目标区块的这些数据页的一目标页执行一读取要求以取得一目标数据。当该目标数据的一错误位数大于一预设值时,该控制单元主动地对该目标区块的至少一其他数据页执行该读取要求以取得至少一其他数据。如果该至少一其他数据的至少一错误位也大于该预设值时,该控制单元主动地将该目标区块所储存的有效数据复制至另一这些物理区块。
本案所揭露技术使得损坏的储存空间得以在数据无法救回前被发现。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1以方块图图解根据本案一种实施方式所实现的一数据储存装置100;
图2图解一物理页的储存空间规划;
图3为流程图,根据本案第一种实施方式图解快闪存储器102的数据错误管理程序;
图4为流程图,根据本案第二种实施方式图解快闪存储器102的数据错误管理程序;
图5为流程图,更将快闪存储器102的数据错误管理程序应用至面(plane)的管理;且
图6为流程图,更将快闪存储器102的数据错误管理程序应用至管芯(die)的管理。
图中元件标号说明如下:
100~数据储存装置;
102~快闪存储器;
104~控制单元;
106~主机;
202、204~物理页的部分空间;
BLK~物理区块;
LUN#0…LUN#k~逻辑单元编号0…k;
Plane#0、Plane#1~面;以及
S302…S312、S402…S412、S502…S508、S602…S608~步骤。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围界定的。
关于一数据储存装置的实现,本案所使用的非易失性存储器可以是快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,简称STT-RAM)…等,具有长时间数据保存的存储器装置。以下特别以快闪存储器(flash memory)为例进行讨论,但并不意图限定之。
图1以方块图图解根据本发明一种实施方式所实现的一数据储存装置100,其中包括快闪存储器102以及一控制单元104。数据储存装置100以控制单元104耦接一主机106。根据主机106所下达的指令,控制单元104操作该快闪存储器102。控制单元104可包括运算元件以及储存指令或运算数据用的记忆空间。
图1更图解快闪存储器102的储存空间规划。快闪存储器102包括多个管芯(dies),各管芯对应一逻辑单元(logical unit,简称LUN),图中包括标号LUN#0…LUN#k。一逻辑单元的储存空间可更划分为多个面(planes)─例如,图示中,逻辑单元LUN#0的空间包括面Plane#0以及面Plane#1。各面包括多个物理区块(physical blocks)BLK。各物理区块BLK包括多个物理页(physical pages),例如:256个物理页。数据储存装置100可为存储卡(memory card)、通用串行总线闪存装置(USB flash device)、固态硬盘(SSD)…等产品。有一种应用是采多芯片封装、将快闪存储器102与其控制单元104包装在一起─称为嵌入式快闪存储器模块(如eMMC)。可携式电子装置─例如,手机、平板…等─也常以快闪存储器实现其中数据储存装置。图示中的主机106可为可携式电子装置的微处理器。
快闪存储器102的数据更新并非对同样储存空间作复写,而是将更新数据储存在闲置空间。原储存空间的储存内容则转为无效。频繁的写入操作容易致使储存空间充斥无效的储存内容,致使快闪存储器102的储存内容的有效率低落。对于充斥无效物理页的物理区块,快闪存储器102具有垃圾回收(Garbage Collection)设计。待整理的物理区块的有效物理页将被复制至其他物理区块,使该物理区块空留无效物理页,得以借抹除(erase)操作释出其空间。然而,抹除操作对物理区块的可靠度会有伤害,危及数据保存(dataretention)。此外,快闪存储器102更有读取扰动问题(read disturbance issues)。读取操作时,目标字线(WL)的周边字线须备施加高电压,将使得周边字线的所操控的记忆单元内容产生扰动。快闪存储器102可靠度也会因而降低。
因应快闪存储器102至少以上的操作瓶颈,快闪存储器102通常需要搭配错误校验机制─例如,除了储存数据至各物理页外,亦储存数据的检正校验码(如错误校验码ECC(Error Correction Code))至各物理页。检正校验码其他较佳实施方式为BCH码(BoseChaudhuri Hocquengham Code)或低密度奇偶修正码(Low Density Parity Check Code,LDPC)。基于ECC、BCH或LDPC的检证校验都可以硬件或软件方式来实现。另外,数据储存装置100中可设置多重检正校验码,并依实际情况需启动其中之一或依序启动检正校验码。在下述中将以LDPC为例进行说明,但不以此为限。
图2图解一物理页,其中除了提供空间202储存主机106发下的数据,更规划了空间204储存检正校验码与映射信息…等后设数据(metadata)。以LDPC为例,其最大检正校验值为1KB数据的76位错误。另外,一个物理页的大小可储存一组或多组数据。
图3为流程图,根据本案第一种实施方式图解快闪存储器102的数据错误管理程序。步骤S302收到主机106发下的数据读取指令,其中,该数据读取指令包括一逻辑地址。所述逻辑地址可为逻辑区块地址(Logical Block Addressing,LBA)或全局主机页(GlobalHost Page,GHP)。步骤S304读取逻辑地址所对应的物理地址(对应的目标区块及对应的目标页)的目标数据,其中,逻辑地址与物理地址的映射关系是记录在一映射表H2F(Hostlogical-Flash physical)中。步骤S306判断目标数据是否无法校验(即1KB数据是否有超过76位以上的错误)?若否,则流程结束。若是,控制单元104主动选取目标数据所在的存储器物理区块中的N个数据(步骤S308),其中,N个数据的选取可与主机106发下的数据读取指令无关,或者,N个数据的物理地址不同于目标数据的物理地址。步骤S310判断N个(例如,N=5)数据中是否有多于M个(例如,M=3)数据无法校验?若否,则流程结束。若是,步骤S312令控制单元104标示该物理区块为损毁,并将该物理区块的数据(全部、或仅有效数据)搬移(或复制)至另一物理区块,以维护数据正确性。
图4为流程图,根据本案第二种实施方式图解快闪存储器102的数据错误管理程序。步骤S402收到主机106发下的数据读取指令。步骤S404读取逻辑地址所对应的物理地址的目标数据。步骤S406判断目标数据的错误位数是否大于一临界错误量(例如,1KB是否有70位以上错误)?若否,流程结束。若是,控制单元104主动选取目标数据所在的物理区块中的N个数据(步骤S408)。步骤S410判断N个数据中是否有多于M个数据的错误位数大于该临界错误量?若否,流程结束。若是,步骤S412令控制单元106标示该物理区块为损毁,并将该物理区块的数据(全部或仅有效数据)搬移(或复制)至另一物理区块,以维护数据正确性。
图3和图4的主要差别在于步骤S306与S406、步骤S310与S410的判断条件。步骤S306与S310的判断条件为无法校验,即数据的位错误数量超过LDPC最大校验能力(即1KB数据中有超过76位以上错误)。步骤S406与S410的判断条件为数据的错误位数是否大于一临界错误量(例如,1KB有70位以上错误),即数据的位错误数量未超过LDPC的最大校验能力。借由使用该临界错误量,第二种实施方式可在目标数据尚未损毁(即无法校验)前,进行其他数据的检测,并依据检测的结果来决定是否将数据搬移(或复制)至另一物理区块,以维护数据正确性。
本案更将快闪存储器102的数据错误管理程序应用至面(plane)的管理。图5为流程图。步骤S502判断是否有一物理区块被标示为损毁?(如步骤S312或S412中被标示为损毁的物理区块)。步骤S504自该损毁物理区块所在的面(plane)中主动选取N1个物理区块执行损毁检测程序,其中,损毁检测可参考步骤S308至S312或是步骤S408至S412等用以检测物理区块是否为损毁物理区块的程序,N1为正整数。步骤S506判断N1个物理区块中是否有多于M1个损毁物理区块。若否,则流程结束。若是,步骤S508令控制单元104标示该面为损毁,并将该面的数据(全部或仅有效数据)搬移(或复制)至另一面,以维护数据正确性。
本案更将快闪存储器102的数据错误管理程序应用至管芯(die)的管理。图6为流程图。步骤S602判断是否有一物理区块被标示为损毁?(如步骤S312或S412中被标示为损毁的物理区块)。步骤S604自该损毁物理区块所在的逻辑单元(LUN)主动选取N2个物理区块执行损毁检测程序,其中,损毁检测可参考步骤S308至S312或是步骤S408至S412等用以检测物理区块是否为损毁物理区块的程序,N2为正整数。步骤S606判断N2个物理区块中是否有多于M2个损毁物理区块。若否,则流程结束。若是,步骤S608令控制单元104标示对应该逻辑单元的该管芯为损毁,并将该管芯的数据(全部或仅有效数据)搬移(或复制)至另一管芯,以维护数据正确性。
以上阶层式自我检测与维护概念,可用于任何阶层划分架构。一种实施方式是以超级页(superpage)为数据写入单位,所述超级页是多个面(plane)或管芯(die)的多个数据页所提供的储存空间。如此实施方式是基于「超级页」概念选择检测标的。其他实施方式繁多,此处不再赘述。
整理之,本案并不只回应来自主机106的数据读取指令对快闪存储器102空间做检测与维护。本案更由控制单元104主导储存空间的检测与维护。例如,步骤S308以及S408所检测的N个物理页、步骤S504所检测的N1个物理区块以及步骤S604所检测的N2个物理区块,皆非步骤S302或S402的主机106所欲读取的逻辑地址所对应的物理地址。如此自发的数据错误管理程序可在储存空间损毁而数据无法校验前,即搬移(或复制)数据至其他储存空间。如此一来,快闪存储器102的数据可靠度大大提升。甚至,适当设计的临界错误量可大大降低数据无法以检正校验码修复的可能性。
一种实施方式中,所述的数据错误管理程序是由主机106的读取要求触发,即进入步骤S302或S402。
一种实施方式中,所述的数据错误管理程序可以是由主机106的写入要求触发。控制单元104在对快闪存储器102执行主机106发下的写入要求后,可将写入数据回读。如此回读动作可用来进入图3、或图4程序。
一种实施方式中,所述的数据错误管理程序可以是由垃圾回收机制(garbagecollection)触发。控制单元104在对快闪存储器102进行垃圾回收时,其中所涉及的数据读取即可更用来进入图3、或图4程序。
一种实施方式中,所述的数据错误管理程序可以是以前景方式或背景方式(控制单元104非根据主机106指令操作快闪存储器102)进行数据自我检测与维护。
特别是,本案是以多个数据(遍及多个物理页)的状况来判断所属物理区块的状态─相较以单一数据(于单一物理页)判断所属物理区块损坏与否更为可靠。
在一种实施方式中,数据若无法以LDPC进行校验,数据储存装置100仍可采用独立硬盘冗余阵列(Redundant Array of Independent Disks,RAID)来进行数据修复。
其他采用上述概念完成数据自我检测与维护的技术都属于本案所欲保护的范围。基于以上技术内容,本案更涉及数据储存装置操作方法。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (27)
1.一种数据储存装置,包括:
一非易失性存储器,提供划分为多个第一阶单元的储存空间,且该多个第一阶单元更分组为多个第二阶单元,使一个上述第二阶单元包括多个上述第一阶单元;以及
一控制单元,使该多个第一阶单元分别编有检正校验码,并在读取一指定的第一阶单元时,根据该指定的第一阶单元的检正校验码判断该指定的第一阶单元的数据状况,据以自我检测该非易失性存储器的数据;
其中:
该指定的第一阶单元属于该多个第二阶单元中一指定的第二阶单元;
基于该指定的第一阶单元的检正校验码判别该指定的第一阶单元的数据超过一第一临界错误量时,该控制单元检测其他N个第一阶单元,N为数量;
上述N个第一阶单元属于该指定的第二阶单元;且
上述N个第一阶单元中多于M个的数据超过一第二临界错误量时,该控制单元标示该指定的第二阶单元为损毁,M为数量。
2.如权利要求1所述的数据储存装置,其特征在于:
该控制单元标示该指定的第二阶单元损毁时,更搬移该指定的第二阶单元的数据至另一上述第二阶单元。
3.如权利要求1所述的数据储存装置,其特征在于:
该多个第二阶单元更分组为多个第三阶单元,使一个上述第三阶单元包括多个上述第二阶单元;
该控制单元在标示该指定的第二阶单元为损毁时,更检测分布于N1个第二阶单元的其他N2个第一阶单元,N1与N2为数量;且
上述N1个第二阶单元与该指定的第二阶单元同属上述第三阶单元中一指定的第三阶单元。
4.如权利要求3所述的数据储存装置,其特征在于:
上述N2个第一阶单元中多于M2个的数据超过一第三临界错误量时,该控制单元标示该指定的第三阶单元为损毁,M2为数量。
5.如权利要求4所述的数据储存装置,其特征在于:
该控制单元标示该指定的第三阶单元为损毁时,更搬移该指定的第三阶单元的数据至另一上述第三阶单元。
6.如权利要求5所述的数据储存装置,其特征在于:
该非易失性存储器为快闪存储器;
上述第一阶单元为物理页;
上述第二阶单元为物理区块;且
上述第三阶单元为管芯。
7.如权利要求6所述的数据储存装置,其特征在于:
上述管芯更各自包括多个面,上述面各自包括多个上述物理区块;
该控制单元判别为损毁的物理区块属于一指定管芯的一指定面;且
该控制单元包括自该指定管芯除上述指定面以外的其他面选择物理页做检测。
8.如权利要求6所述的数据储存装置,其特征在于:
上述检正校验码的检正能力为每千字节检正L位错误,L为数字;且
上述第一、第二以及第三临界错误量全数小于L。
9.如权利要求1所述的数据储存装置,其特征在于:
该控制单元是根据一主机的一读取指令读取该指定的第一单元、或根据该主机对该指定的第一单元的一写入指令读取该指定的第一单元以回读写入之内容。
10.如权利要求1所述的数据储存装置,其特征在于:
该控制单元是在垃圾收集时读取该指定的第一单元。
11.一种数据错误管理方法,可应用于一数据储存装置,该方法包括:
对一非易失性存储器进行检正校验码编码,其中,该非易失性存储器提供划分为多个第一阶单元的储存空间,且该多个第一阶单元更分组为多个第二阶单元,使一个上述第二阶单元包括多个上述第一阶单元;
使该多个第一阶单元分别编有上述检正校验码;且
在读取一指定的第一阶单元时,根据该指定的第一阶单元的检正校验码判断该指定的第一阶单元的数据状况,据以自我检测该非易失性存储器的数据;
其中:
该指定的第一阶单元属于该多个第二阶单元中一指定的第二阶单元;
基于该指定的第一阶单元的检正校验码判别该指定的第一阶单元的数据超过一第一临界错误量时,另外N个第一阶单元更受检测,其中,N为数量;
上述N个第一阶单元属于该指定的第二阶单元;且
上述N个第一阶单元中多于M个的数据超过一第二临界错误量时,该指定的第二阶单元标示为损毁,其中,M为数量。
12.如权利要求11所述的数据错误管理方法,更包括:
标示该指定的第二阶单元为损毁时,更搬移该指定的第二阶单元的数据至另一上述第二阶单元。
13.如权利要求11所述的数据错误管理方法,更包括:
标示该指定的第二阶单元为损毁时,更检测分布于N1个第二阶单元的N2个第一阶单元;
其中:
N1与N2为数量;
该多个第二阶单元更分组为多个第三阶单元,使一个上述第三阶单元包括多个上述第二阶单元;且
上述N1个第二阶单元与该指定的第二阶单元同属上述第三阶单元中一指定的第三阶单元。
14.如权利要求13所述的数据错误管理方法,更包括:
上述N2个第一阶单元中多于M2个的数据超过一第三临界错误量时,标示该指定的第三阶单元为损毁,其特征在于,,M2为数量。
15.如权利要求14所述的数据错误管理方法,更包括:
标示该指定的第三阶单元为损毁时,更搬移该指定的第三阶单元的数据至另一上述第三阶单元。
16.如权利要求15所述的数据错误管理方法,其特征在于:
该非易失性存储器为快闪存储器;
上述第一阶单元为物理页;
上述第二阶单元为物理区块;且
上述第三阶单元为管芯。
17.如权利要求16所述的数据错误管理方法,其特征在于:
上述管芯更各自包括多个面,上述面各自包括多个上述物理区块;
判别为损毁的物理区块属于一指定管芯的一指定面;且
所述数据储存装置操作方法包括自该指定管芯除上述指定面以外的其他面选择物理页做检测。
18.如权利要求16所述的数据错误管理方法,其特征在于:
上述检正校验码的检正能力为每千字节检正L位错误,L为数字;且
上述第一、第二以及第三临界错误量全数小于L。
19.如权利要求11所述的数据错误管理方法,更包括:
根据一主机的一读取指令读取该指定的第一单元、或根据该主机对该指定的第一单元的一写入指令读取该指定的第一单元以回读写入之内容。
20.如权利要求11所述的数据错误管理方法,更包括:
在垃圾收集时读取该指定的第一单元。
21.一种数据储存装置,包括:
一非易失性存储器,包括多个物理区块,每一该多个物理区块包括多个数据页;以及
一控制单元,可对该多个物理区块的一目标区块的该多个数据页的一目标页执行一读取要求以取得一目标数据,当该目标数据的一错误位数大于一预设值时,主动地对该目标区块的至少一其他数据页执行该读取要求以取得至少一其他数据,如果该至少一其他数据的至少一错误位也大于该预设值时,主动地将该目标区块所储存的有效数据复制至另一该多个物理区块。
22.如权利要求21所述的数据储存装置,其特征在于:
该预设值等于一检正校验码的一最大检正校验能力值。
23.如权利要求21所述的数据储存装置,其特征在于:
该预设值小于一检正校验码的一最大检正校验能力值。
24.如权利要求21所述的数据储存装置,其特征在于:
该读取要求是来自于一主机。
25.如权利要求21所述的数据储存装置,其特征在于:
该读取要求是对应至一主机的一写入要求。
26.如权利要求21所述的数据储存装置,其特征在于:
该读取要求是由一垃圾回收机制所触发。
27.如权利要求21所述的数据储存装置,其特征在于:
该目标区块包括多个该多个物理区块,该目标页包括多个该多个数据页。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710362875.XA CN108958961B (zh) | 2017-05-22 | 2017-05-22 | 数据储存装置以及数据错误管理方法 |
TW106121559A TWI650647B (zh) | 2017-05-22 | 2017-06-28 | 資料儲存裝置以及數據錯誤管理方法 |
US15/864,219 US10446252B2 (en) | 2017-05-22 | 2018-01-08 | Data storage device and method for data error management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710362875.XA CN108958961B (zh) | 2017-05-22 | 2017-05-22 | 数据储存装置以及数据错误管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958961A true CN108958961A (zh) | 2018-12-07 |
CN108958961B CN108958961B (zh) | 2021-11-30 |
Family
ID=64272666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710362875.XA Active CN108958961B (zh) | 2017-05-22 | 2017-05-22 | 数据储存装置以及数据错误管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10446252B2 (zh) |
CN (1) | CN108958961B (zh) |
TW (1) | TWI650647B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099985A (zh) * | 2019-06-17 | 2020-12-18 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI697006B (zh) * | 2019-05-09 | 2020-06-21 | 點序科技股份有限公司 | 快閃記憶體管理方法及快閃記憶體 |
KR20210003633A (ko) * | 2019-07-02 | 2021-01-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
TWI805231B (zh) | 2022-02-18 | 2023-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
CN116665756A (zh) | 2022-02-18 | 2023-08-29 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI802279B (zh) * | 2022-02-18 | 2023-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243417A (zh) * | 2005-07-15 | 2008-08-13 | 松下电器产业株式会社 | 非易失性存储装置、存储控制器以及不良区域检测方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
CN103488583A (zh) * | 2013-09-09 | 2014-01-01 | 华中科技大学 | 一种高性能高可靠的固态盘实现方法 |
CN103814409A (zh) * | 2011-07-28 | 2014-05-21 | 桑迪士克科技股份有限公司 | 使用以二进制格式和多状态格式写入的数据的比较的非易失性存储器中的写入后读取 |
US20140237287A1 (en) * | 2009-09-15 | 2014-08-21 | Marvell World Trade Ltd. | Implementing raid in solid state memory |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631245B2 (en) * | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
TWI408688B (zh) * | 2009-10-12 | 2013-09-11 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 |
US8645776B2 (en) * | 2010-03-24 | 2014-02-04 | Apple Inc. | Run-time testing of memory locations in a non-volatile memory |
US9329948B2 (en) * | 2012-09-15 | 2016-05-03 | Seagate Technology Llc | Measuring cell damage for wear leveling in a non-volatile memory |
TWI501249B (zh) * | 2012-11-14 | 2015-09-21 | Winbond Electronics Corp | 晶片上之反及閘快閃記憶體及其損壞區塊管理方法 |
US9071281B2 (en) * | 2013-03-10 | 2015-06-30 | Intel Corporation | Selective provision of error correction for memory |
US9389956B2 (en) * | 2014-01-10 | 2016-07-12 | International Business Machines Corporation | Implementing ECC control for enhanced endurance and data retention of flash memories |
US10432353B2 (en) * | 2014-12-04 | 2019-10-01 | Samsung Display Co., Ltd. | Memory-efficient methods of transporting error correction codes in a symbol encoded transmission stream |
US9916237B2 (en) * | 2014-12-12 | 2018-03-13 | Sandisk Technologies Llc | Model based configuration parameter management |
DE102015103809B3 (de) * | 2015-03-16 | 2016-07-07 | Intel IP Corporation | Verfahren und Vorrichtung zum Schützen eines Datentransportblocks gegen Speicherfehler und Übertragungsfehler |
US10373695B2 (en) * | 2016-12-30 | 2019-08-06 | Western Digital Technologies, Inc. | Methods and apparatus for read disturb detection and handling |
-
2017
- 2017-05-22 CN CN201710362875.XA patent/CN108958961B/zh active Active
- 2017-06-28 TW TW106121559A patent/TWI650647B/zh active
-
2018
- 2018-01-08 US US15/864,219 patent/US10446252B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243417A (zh) * | 2005-07-15 | 2008-08-13 | 松下电器产业株式会社 | 非易失性存储装置、存储控制器以及不良区域检测方法 |
US20140237287A1 (en) * | 2009-09-15 | 2014-08-21 | Marvell World Trade Ltd. | Implementing raid in solid state memory |
CN103814409A (zh) * | 2011-07-28 | 2014-05-21 | 桑迪士克科技股份有限公司 | 使用以二进制格式和多状态格式写入的数据的比较的非易失性存储器中的写入后读取 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
CN103488583A (zh) * | 2013-09-09 | 2014-01-01 | 华中科技大学 | 一种高性能高可靠的固态盘实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099985A (zh) * | 2019-06-17 | 2020-12-18 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN112099985B (zh) * | 2019-06-17 | 2023-09-12 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180336961A1 (en) | 2018-11-22 |
TW201901450A (zh) | 2019-01-01 |
US10446252B2 (en) | 2019-10-15 |
TWI650647B (zh) | 2019-02-11 |
CN108958961B (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI639917B (zh) | 資料儲存裝置及映射表重建方法 | |
CN108958961A (zh) | 数据储存装置以及数据错误管理方法 | |
TWI613652B (zh) | 資料儲存裝置以及其操作方法 | |
Birrell et al. | A design for high-performance flash disks | |
US8769232B2 (en) | Non-volatile semiconductor memory module enabling out of order host command chunk media access | |
JP5675954B2 (ja) | メタデータタグを介した不規則なパリティ分布の検出 | |
CN104978281B (zh) | 数据存储设备中的数据完整性管理 | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
US8645776B2 (en) | Run-time testing of memory locations in a non-volatile memory | |
CN101599305B (zh) | 具有数据修复功能的储存系统及其数据修复方法 | |
US20090172256A1 (en) | Data writing method for flash memory, and flash memory controller and storage device thereof | |
CN108089951A (zh) | 存储系统中的加速数据恢复 | |
WO2019174205A1 (zh) | 一种垃圾回收的方法、装置及存储设备 | |
TWI646535B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
US9465537B2 (en) | Memory system and method of controlling memory system | |
TWI336890B (en) | Built-in self-repair method for nand flash memory and system thereof | |
TW200921360A (en) | Data preserving method and data accessing method for non-volatile memory | |
TW201730892A (zh) | 邏輯性移除非揮發性記憶體儲存裝置缺陷頁之裝置及方法 | |
CN109426441A (zh) | 数据储存装置以及其操作方法 | |
JP2013117840A (ja) | メモリアクセス制御装置および方法 | |
JP2012517068A (ja) | メモリ装置、メモリ管理装置、およびメモリ管理方法 | |
TWI490875B (zh) | 非揮發性記憶體的管理 | |
CN113838511A (zh) | 具有备份块的缓存编程 | |
CN107045484A (zh) | 数据存储装置 | |
CN113590502A (zh) | 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收系统 |
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 |