CN113342577A - 存储设备及其数据恢复方法 - Google Patents
存储设备及其数据恢复方法 Download PDFInfo
- Publication number
- CN113342577A CN113342577A CN202110703225.3A CN202110703225A CN113342577A CN 113342577 A CN113342577 A CN 113342577A CN 202110703225 A CN202110703225 A CN 202110703225A CN 113342577 A CN113342577 A CN 113342577A
- Authority
- CN
- China
- Prior art keywords
- storage
- memory
- page
- pages
- data
- 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
- 238000011084 recovery Methods 0.000 title claims description 36
- 238000000034 method Methods 0.000 title claims description 31
- 239000000872 buffer Substances 0.000 claims description 44
- 230000003139 buffering effect Effects 0.000 claims description 9
- 239000000126 substance Substances 0.000 claims description 9
- 238000012795 verification Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/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/1448—Management of the data involved in backup or backup restore
-
- 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
- G06F11/1469—Backup restoration techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明实施例提供了一种存储设备,包括:至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据。
Description
技术领域
本发明实施例涉及半导体技术领域,特别涉及一种存储设备及其数据恢复方法。
背景技术
存储设备,如固态硬盘(SSD,Solid State Disk)可以包括多个存储芯片,如NAND闪存,每个存储芯片可以包括多个存储平面,每个存储平面可以包括多个存储块,每个存储块可以包括多个存储页,每个存储页可以包括多个存储单元,每个存储单元可以被编程并存储一位或多位数据。在存储设备中出现少数位数的数据错误时,一般采用可以纠错的错误检查和纠正(ECC,Error Checking and Correction)编码对错误数据进行纠错或恢复。
然而,当出现多个位数据错误时,ECC校验算法无法对多个位错误数据进行纠错或恢复。
发明内容
为解决相关技术问题,本发明实施例提出一种存储设备及其数据恢复方法。
本发明实施例提供一种存储设备,包括:
至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;
所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据。
上述方案中,所述第一存储区域包括最大编号的存储页形成的存储页行或者最小编号的存储页形成的存储页行。
上述方案中,所述多个存储页中的每个存储页包括多个存储单元;所述多个存储单元中的每个存储单元的存储位数包括一位或多位;
所述第一存储区域包括至少与所述存储位数相同数量的存储页行。
上述方案中,每个所述存储单元的存储位数包括三位;
所述第一存储区域包括至少三个存储页行;其中,
所述三个存储页行中的第一个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号能够被三整除的存储页存储数据的第一校验数据;所述三个存储页行中的第二个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余一的存储页存储数据的第一校验数据;所述三个存储页行中的第三个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余二的存储页存储数据的第一校验数据。
上述方案中,所述存储设备还包括第一缓存器;所述第一缓存器的容量与所述第一存储区域的容量相同,用于缓存所述第一存储区域中的第一校验数据。
上述方案中,所述存储芯片包括三维NAND存储器。
本发明实施例还提供了一种存储设备,包括:
至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;
所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据;
所述存储阵列还包括第二存储区域;所述第二存储区域包括一个存储平面中具有连续编号的多个存储页;所述第二存储区域中的每个存储页用于存储第二校验数据;其中,所述第二校验数据包括所述存储阵列中间隔预设个存储页行中各存储页存储数据的校验数据;所述第一存储区域与所述第二存储区域不存在重叠的存储页。
上述方案中,所述第一存储区域包括最大编号的存储页形成的存储页行中的部分存储页;所述第二存储区域包括一个存储页列中具有连续编号,且包含最大编号的多个存储页。
上述方案中,所述存储设备还包括第一缓存器及第二缓存器;其中,
所述第一缓存器的容量大于所述第一存储区域的容量,用于缓存各存储平面除第一存储区域所在存储页行外存储数据的校验数据;
所述第二缓存器的容量与所述第二存储区域的容量相同,用于缓存所述第二存储区域中的第二校验数据。
上述方案中,所述存储阵列中的每个存储页包括多个存储单元;所述多个存储单元中的每个存储单元的存储位数包括一位或多位;
所述第一存储区域包括至少与所述存储位数相同数量的存储页行。
上述方案中,每个所述存储单元的存储位数包括三位;
所述第一存储区域包括至少三个存储页行;其中,
所述三个存储页行中的第一个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号能够被三整除的存储页存储数据的第一校验数据;所述三个存储页行中的第二个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余一的存储页存储数据的第一校验数据;所述三个存储页行中的第三个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余二的存储页存储数据的第一校验数据。
上述方案中,所述存储芯片包括的多个存储平面能够同时执行编程操作。
上述方案中,所述存储芯片包括三维NAND存储器。
本发明实施例又提供了一种存储设备的数据恢复方法,应用于本发明上述实施例中所述的存储设备,所述方法包括:
获取所述第一存储区域中的第一校验数据;
利用获取的第一校验数据,对所述存储设备中的错误数据进行第一数据恢复。
本发明实施例还提供了另一种存储设备的数据恢复方法,应用于本发明上述实施例中所述的存储设备,所述方法包括:
获取所述第一存储区域中的第一校验数据;
利用所述第一校验数据,对所述存储设备中的错误数据进行第一数据恢复。
上述方案中,所述方法还包括:
在进行第一数据恢复后,确定所述存储设备中仍存在错误数据;
获取所述第二存储区域中的第二校验数据;
利用所述第二校验数据,对所述存储设备中的错误数据进行第二数据恢复。
本发明实施例提供了一种存储设备及其数据恢复方法,其中,所述存储设备包括:至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据。本发明实施例中,将存储阵列中包括的多个存储页行中的至少一个存储页行设置为第一存储区域,该第一存储区域的存储页行中的每个存储页用于存储相应存储页所属存储平面中除该相应存储页之外剩余存储页存储数据的校验数据。该校验数据可以用于对相应存储页所属存储平面中多个错误数据进行数据恢复,如此可以提高存储设备的可靠性。
附图说明
图1为本发明实施例与相关技术中同一存储芯片下的四个存储平面所需的用于存储校验数据的存储页数量对比示意图;
图2为本发明实施例一存储设备的数据恢复方法的实现流程示意图;
图3为本发明实施例另一存储设备的数据恢复方法的实现流程示意图。
具体实施方式
为使本发明实施例的技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在下列段落中参照附图以举例方式更具体的描述本发明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
随着存储设备的小型化发展,存储设备中存储芯片的密度在增加,进而促使每个存储芯片中包括的存储平面数量在增多。由于同一个存储芯片下的存储平面数量越来越多,多个存储平面之间存在资源共用的情况,例如,多个存储平面共用一个行驱动器。因此,在执行编程操作的过程中,共用资源的存储平面之间容易出现干扰。例如,一个存储平面中的存储数据出现问题时,可能会导致同一个存储芯片下其他存储平面中的存储数据也出现问题。
可以理解的是,在存储设备中出现少量数据失效或者特定模式下的数据出错时,可以通过ECC编码校验的方式对少量失效数据进行纠错和恢复。需要说明的是,ECC是可以用于存储设备的差错检测和修正算法。如果操作时序和电路稳定性不存在问题的话,存储设备在编程操作出错的时候一般不会造成整个存储平面或存储页不能读取或全部出错,而是整个存储页中只有一个或几个位出错。ECC能纠正1个位错误和检测2个位错误,而且计算速度很快。然而,对于1位以上的错误数据无法纠正,对于2位以上的错误数据不保证能检测出。
然而,当一存储平面在编程操作的过程中发生烧坏(英文表达为Burnout)现象造成电流泄露(LKG,Leakage)时,会导致这个存储平面中与电流泄露相关的字线上的存储单元中存储的数据均发生丢失,同时,该存储平面所属的存储芯片中与该存储平面相邻的存储平面中存储的数据也会受到干扰。
示例性的,如表1所示,存储设备包括4个存储芯片,即存储芯片0、存储芯片1、存储芯片2、存储芯片3;每个存储芯片中均包括两个存储平面,即存储平面0和存储平面1。其中,存储芯片0中包括两个存储平面,即存储平面0和存储平面1,在对存储平面1中的第18页(D18)存储页执行编程操作的过程中发生数据错误或失效时,会对相邻存储平面中的相应存储页,即存储平面0中的第18页(D18)存储页产生干扰,造成数据错误或失效问题。
实际应用中,当存储芯片0在执行编程操作时采用多平面编程(英文表达为Multi-Plane Program)模式(在多平面编程模式下,同一个存储芯片中的不同存储平面可以并行的进行写操作)时,如果存储平面1中的第18页(D18)存储页发生严重的数据错误问题,例如,电流泄露等,会导致存储平面1中的第0页(D0)至第17页(D17)存储页中的存储数据均发生丢失。
表1
针对上述问题,可以采用了如下两种技术方案来解决。
为了更清楚描述该两种技术方案,首先对存储设备的组成先进行说明。
如前所述,存储设备,如SSD包括一个或多个NAND存储芯片,每个NAND存储芯片包括多个存储平面,每个存储平面包括多个存储块,每个存储块包括多个存储页。其中,NAND存储芯片包括的存储块是基本的操作单元,每个块包括多个存储页(例如,64个存储页)。
示例性的,如表2、表3所示,存储设备包括4个存储芯片,即存储芯片0、存储芯片1、存储芯片2及存储芯片3;每个存储芯片包括2个存储平面,即存储平面0和存储平面1;每个存储平面包括1152个存储页,即第0页至第1151页存储页。也就是说,上述存储设备包括4个存储芯片、8个存储平面或者9216个存储页。
可以看出,多存储平面中的每个存储平面中的多个存储页均按照同一编号规则进行数字编号,从而使得每个存储平面中的每个存储页都具有不同编号;这时,多个存储平面的每个存储平面中都具有相同编号的存储页。为了表述的简洁性,将多个存储平面的每个存储平面中相同编号的存储页称为存储页行。示例性地,如表2、表3中所示的存储芯片0、存储芯片1、存储芯片2、存储芯片3的存储平面0和存储平面1中均存在存储页第0页,此时所有的第0页形成了一个存储页行。可以理解的是,存储设备中包括多个存储页行,如表2和表3中示出的存储设备均包括1152个存储页行。
为了表述的简洁性,将一个存储平面中的所有存储页称为存储页列。示例性地,如表2、表3中所示的存储芯片3中的存储平面1中包括1152个存储页,该1152个存储页形成了一个存储页列。可以理解的是,存储设备中包括多个存储页列,如表2和表3中示出的存储设备均包括8个存储页列。
技术方案一:
首先,将存储设备中多个存储页行进行冗余阵列标签编号(英文表达为RaidTag)。接下来,将具有相同编号的多个存储页行对应的校验数据设置在一个冗余阵列校验(Raid Rarity)存储页,所有的冗余阵列校验存储页组成一个冗余阵列标签组(Raid TagGroup)中。这里,所述冗余阵列校验存储页为存储设备多个存储页中的某一存储页,该冗余阵列校验存储页不用来存储实际的数据而是存储校验数据。
表2
具体地,如表2所示,对于存储设备的9216个存储页,用于存储校验数据的冗余阵列校验存储页有64个(位于表2右下角的标出的阴影部分即存储芯片3中存储平面1的第1088页至第1151页中);剩余的9152个存储页按照0-63编号进行分组,形成144个冗余阵列标签组,这样,每个具有相同编号的多个存储页行可以包括143个存储页,即D0至D142。可以理解的是,冗余阵列标签编号为0的存储页行中存储页所存储的数据对应的校验数据(第0组校验数据)均放置在存储芯片3中存储平面1的第1088页存储页中;相应的,冗余阵列标签编号为1的存储页行中存储页所存储的数据对应的校验数据(第1组校验数据)均放置在存储芯片3中存储平面1的第1089页存储页中;以此类推,冗余阵列标签编号为63的存储页行中存储页所存储的数据对应的校验数据(第63组校验数据)均放置在存储芯片3中存储平面1的第1151页存储页中。这里,这些校验数据是随存储数据的写入一起写入到相应的冗余阵列校验存储页中的。
这样,在某些存储页中数据出现错误时,可以通过存储于冗余阵列校验存储页中的校验数据对这些存储页中的错误数据进行纠错及数据恢复。
然而,对于同一个存储芯片下的两个存储平面同时发生了数据错误时,采用上述技术方案一中的方法无法恢复错误数据。
技术方案二:
与技术方案一不同的是,在技术方案二中,将不同存储平面包含的存储页的校验数据放在不同的冗余阵列标签组中。
表3
具体地,如表3所示,对于存储设备的9216个存储页,用于存储校验数据的冗余阵列校验存储页有128个(位于表3右下角的标出的阴影部分即存储芯片3中存储平面0和存储平面1的第1088页至第1151页中)。每个冗余阵列校验存储页中对应71个(即D0至D70)存储页的校验数据。
冗余阵列标签编号为0,且存储平面为0的存储页行中存储页所存储的数据对应的校验数据(第0组校验数据)均放置在存储芯片3中存储平面0的第1088页存储页中;冗余阵列标签编号为0,且存储平面为1的存储页行中存储页所存储的数据对应的校验数据(第64组校验数据)均放置在存储芯片3中存储平面1的第1088页存储页中。相应的,冗余阵列标签编号为1,且存储平面为0的存储页行中存储页所存储的数据对应的校验数据(第1组校验数据)均放置在存储芯片3中存储平面0的第1089页存储页中;冗余阵列标签编号为1,且存储平面为1的存储页行中存储页所存储的数据对应的校验数据(第65组校验数据)均放置在存储芯片3中存储平面1的第1089页存储页中。以此类推,冗余阵列标签编号为63,且存储平面为0的存储页行中存储页所存储的数据对应的校验数据(第63组校验数据)均放置在存储芯片3中存储平面0的第1151页存储页中;冗余阵列标签编号为63,且存储平面为1的存储页行中存储页所存储的数据对应的校验数据(第127组校验数据)均放置在存储芯片3中存储平面1的第1151页存储页中。这里,这些校验数据是随存储数据的写入一起写入到相应的冗余阵列校验存储页中的。
这样,在其他存储芯片中的存储数据不存在问题时,对于同一个存储芯片下的两个存储平面同时发生了数据错误时,采用上述技术方案二中的方法可以对错误数据进行数据恢复。
可以理解的是,实际应用中,当同一存储芯片下包括四个存储平面时,按照技术方案二的思想,所属存储设备中需要形成256个校验数据,并该256个校验数据存储于256个冗余阵列校验存储页中,需要占据该存储平面组中的256个存储页。
由此可知,对于技术方案二,在同一存储芯片下包括的存储平面逐渐增多时,用于存储校验数据的存储页也在增加,占据的存储空间逐渐增大。
基于上述问题,本发明实施例提出了一种存储设备,包括:
至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;
所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据。
这里,每个存储阵列可以包括多个存储芯片;多个存储芯片中的每个存储芯片可以包括多个存储平面;多个存储平面中的每个存储平面可以包括多个存储页。为了便于执行编程操作的存储页寻址,每个存储平面中包括的所有存储页均会按照同一编号规则进行编号;在同一存储平面中,每个存储页的编号均不重复。在一些实施例中,所述存储设备可以包括SSD,所述存储芯片可以包括三维NAND存储器。
这里,多存储平面中的每个存储平面中的多个存储页均按照同一编号规则进行数字编号,从而使得每个存储平面中的每个存储页都具有不同编号;这时,多个存储平面的每个存储平面中都具有相同编号的存储页。为了表述的简洁性,将多个存储平面的每个存储平面中相同编号的存储页称为存储页行。示例性地,如表4中所示的存储芯片0、存储芯片1、存储芯片2、存储芯片3的存储平面0和存储平面1中均存在存储页第0页,此时所有的第0页形成了一个存储页行。可以理解的是,存储设备中包括多个存储页行,如表2和表3中示出的存储设备均包括1152个存储页行。
实际应用中,所述第一存储区域中的每个存储页用于存储第一校验数据;这里,所述第一校验数据包括相应存储页所属存储平面中除所述相应存储页以外的剩余存储页存储数据的校验数据。这里,第一校验数据可以为相应存储页所属存储平面中除所述相应存储页以外的剩余存储页存储数据进行异或运算后得到的数据。
这里,所述第一存储区域可以包括一个存储页行或多个存储页行。当第一存储区域包括一个存储页行时,剩余所有存储页的存储数据进行异或运算后形成的第一校验数据存储在存储页行中的相应存储页中;当第一存储区域包括M个存储页行时,剩余所有存储页可以分成M组,每组存储页的存储数据进行异或运算后形成的第一校验数据存储在相应存储页行中的相应存储页中。这里,所述M为大于一的正整数。
需要说明的是,这里所述第一存储区域中的每个存储页用于存储相应的第一校验数据而不用于存储实际的数据。并且,第一存储区域中的第一校验数据是随存储数据的写入一起写入到相应的冗余阵列校验存储页中的。实际应用中,随着存储阵列中写入数据的不同,第一存储区域中存储的第一校验数据也相应随之更新。为了实现更新,所述第一存储区域中的存储页还可以配置有相应的缓存器。
基于此,在一些实施例中,所述存储设备还包括第一缓存器;所述第一缓存器的容量与所述第一存储区域的容量相同,用于缓存所述第一存储区域中的第一校验数据。
实际应用中,所述第一缓存器可以包括动态随机存取存储器(DRAM,DynamicRandom Access Memory),但不限于此。存储设备在执行写入操作时,相应存储页对应的校验数据随着写入的数据量在不断的更新,每次更新的校验数据可以存储在第一缓存器中,并在存储设备掉电前,将第一缓存器中存储的校验数据存入第一存储区域,之后在存储设备上电时,读取第一存储区域中的第一校验数据作为当前的校验数据,如此,第一校验数据可以实现更新。
实际应用中,缓存器的容量与第一存储区域的容量相同,可以使得第一存储区域中的每个存储页均可以通过缓存器进行数据的缓存,进而使得第一存储区域中存储的第一校验数据能够实现及时更新。
可以理解的是,存储阵列中,除第一存储区域之外的其它用于存储写入数据的存储页并不需要配置相应的缓存器。当然,在执行读取或写入操作时所用的缓存器并不包括在其它用于存储写入数据的存储页需要配置的缓存器之内。实际应用中,在对一个存储平面中的存储页执行写入操作时,一般会按照一定的顺序进行写入,如从编号最小的存储页开始,根据存储页的编号增大的顺序依次写入,直至编号最大的存储页;或者从编号最大的存储页开始编写,根据存储页的编号减小的顺序依次写入,直至编号最小的存储页。
在一些实施例中,所述第一存储区域包括最大编号的存储页形成的存储页行或者最小编号的存储页形成的存储页行。
这里,一个存储阵列可以包括多个存储页行,所述多个存储页行可以按照同一编号规则进行编号,进行编号后的多个存储页行可以由存储阵列的顶部向存储阵列的底部排布。
实际应用中,所述第一存储区域可以是相应存储阵列顶部的存储页行,也可以是相应存储阵列底部的存储页行,还可以是相应存储阵列中部(存储页编号为中间)的存储页行。
可以理解的是,当第一存储区域包括最大编号的存储页形成的存储页行或者最小编号的存储页形成的存储页行或者说第一存储区域是相应存储阵列顶部的存储页行或者底部的存储页行时,在执行写入操作时,不用跳过位于中部的第一存储区域,如此,可以与存储设备本来的写入的顺序进行配合,较好地兼容存储设备的写入规则。
在一些实施例中,所述多个存储页中的每个存储页包括多个存储单元;所述多个存储单元中的每个存储单元的存储位数包括一位或多位;
所述第一存储区域包括至少与所述存储位数相同数量的存储页行。
实际应用中,在每个存储单元的存储位数包括一位时,所述存储单元可以是单层单元(SLC,Single-Level Cell)。这里,每个存储单元可以存储一位数据,也就是只有0、1两种存储状态。此时,存储芯片的一个物理页对应一个逻辑存储页。
在每个存储单元的存储位数包括两位时,所述存储单元可以是两层单元(MLC,Multi-Level Cell)。这里,每个存储单元可以存储两位数据,其存储状态有00,01,10,11四种。此时,存储芯片的一个物理页对应两个逻辑存储页,该两个逻辑存储页可以分为上位页(英文表达为Upper Page)和下位页(英文表达为Lower Page)。
在每个存储单元的存储位数包括三位时,所述存储单元可以是三层单元(TLC,Triple-Level Cell)。这里,每个存储单元可以存储三位数据,其存储状态有000、001、010、100、011、110、101、111八种。此时,存储芯片的一个物理页对应三个逻辑存储页,该三个逻辑存储页可以分为上位页、中位页(英文表达为Middle Page)和下位页。
在每个存储单元的存储位数包括四位时,所述存储单元可以是四层单元(QLC,Quad-Level Cell)。这里,每个存储单元可以存储四位数据,其存储状态有0000、0001、0010、0100、1000、1100、1010、1001、0011、0101、0110、1101、1110、1011、0111、1111十六种。此时,存储芯片的一个物理页对应四个逻辑存储页,即上位页、中位页、第二下位页(英文表达为Second lower Page)和下位页。
在一些实施例中,每个所述存储单元的存储位数包括三位;
所述第一存储区域包括至少三个存储页行;其中,
所述三个存储页行中的第一个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号能够被三整除的存储页存储数据的第一校验数据;所述三个存储页行中的第二个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余一的存储页存储数据的第一校验数据;所述三个存储页行中的第三个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余二的存储页存储数据的第一校验数据。
这里,所述存储单元的存储位数包括三位时,第一存储区域包括的三个存储页行,即上位页行、中位页行和下位页行。这样,可以将相应存储页所属存储平面中剩余存储页存储数据的校验数据分别对应存储于上位页、中位页和下位页中。
需要说明的是,上述的上位页、中位页、第二下位页和下位页都是相对的概念,并不用来限定具体存储页中的相应存储数据。
实际应用中,可以将相应存储页所属存储平面中剩余存储页存储数据的第一校验数据平均分成三等份,存储在三个存储页中;其中,将相应存储页所属存储平面中剩余存储页的编号能够被三整除的存储页存储数据的第一校验数据存储于上位页中;将相应存储页所属存储平面中剩余存储页的编号被三整除余一的存储页存储数据的第一校验数据存储于中位页中;将相应存储页所属存储平面中剩余存储页的编号被三整除余二的存储页存储数据的第一校验数据存储于下位页中。
可以理解的是,当每个存储单元的存储位数包括N位时,相应第一存储区域也需要包括至少N个存储页行,以及N的整数倍个存储页行。这里,所述N为大于一的正整数。
本发明实施例中,将存储阵列中包括的多个存储页行中的至少一个存储页行设置为第一存储区域,该第一存储区域的存储页行中的每个存储页用于存储相应存储页所属存储平面中除该相应存储页之外剩余存储页存储数据的校验数据。该校验数据可以用于对相应存储页所属存储平面中多个错误数据进行数据恢复,如此可以提高存储设备的可靠性。
下面将结合表4中列举的存储设备,对上述实施例的方案进行详细的描述。
表4
示例性地,如表4所示,存储设备包括4个存储芯片,即存储芯片0、存储芯片1、存储芯片2及存储芯片3;每个存储芯片包括2个存储平面,即存储平面0和存储平面1;每个存储平面包括1152个存储页,即第0页至第1151页存储页。也就是说,上述存储设备包括4个存储芯片、8个存储平面或者9216个存储页。
在本示例中,所述存储单元为TLC,基于此,所述第一存储区域包括三个存储页行,该三个存储页行为最大的三个编号的存储页形成的存储页行,即表4中第1149页所在的存储页行(下位页)、第1150页所在的存储页行(中位页)以及第1151页所在的存储页行(上位页)。存储设备中除第一存储区之外的其它存储区域用于存储数据。第一存储区域中各存储页分别用于存储相应纵向(一个存储平面中各存储页编号变化的方向)多个存储页中存储数据的校验值。
具体地,存储芯片0的存储平面0中的下位页用于存储存储芯片0的存储平面0中编号能被3整除的所有存储页,即第0页、第3页、第6页…第1146页中存储数据的校验数据;存储芯片0的存储平面0中的中位页用于存储存储芯片0的存储平面0中编号能被3整除余1的所有存储页,即第1页、第4页、第7页…第1147页中存储数据的校验数据;存储芯片0的存储平面0中的上位页用于存储存储芯片0的存储平面0中编号能被3整除余2的所有存储页,即第2页、第5页、第8页…第1148页中存储数据的校验数据。
存储芯片0的存储平面1中的下位页用于存储存储芯片0的存储平面1中编号能被3整除的所有存储页,即第0页、第3页、第6页…第1146页中存储数据的校验数据;存储芯片0的存储平面1中的中位页用于存储存储芯片0的存储平面1中编号能被3整除余1的所有存储页,即第1页、第4页、第7页…第1147页中存储数据的校验数据;存储芯片0的存储平面1中的上位页用于存储存储芯片0的存储平面1中编号能被3整除余2的所有存储页,即第2页、第5页、第8页…第1148页中存储数据的校验数据。
其它存储芯片及其它存储平面中的下位页、中位页、上位页中存储的数据以此类推。
在本发明实施例中,可以通过第一存储区域中存储的校验数据对每个存储平面中的错误数据进行恢复,当错误数据超出64个时,此时需要进一步的纠错处理。
本发明实施例又提出了一种存储设备,包括:
至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;
所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据;
所述存储阵列还包括第二存储区域;所述第二存储区域包括一个存储平面中具有连续编号的多个存储页;所述第二存储区域中的每个存储页用于存储第二校验数据;其中,所述第二校验数据包括所述存储阵列中间隔预设个存储页行中各存储页存储数据的校验数据;所述第一存储区域与所述第二存储区域不存在重叠的存储页。
这里,在一些实施例中,所述存储设备可以包括SSD,所述存储芯片可以包括三维NAND存储器,且在对所述三维NAND存储器进行编程时,采用多平面编程模式进行编程,即一个三维NAND存储器中存储多个存储平面能够同时执行编程操作。
需要说明的是,本发明实施例中第一存储区域实现校验数据存储的方式与前述实施例中的第一存储区域实现第一校验数据的存储方式相同,第一存储区域中各存储页分别用于存储相应纵向存储页中存储数据的校验值,即第一校验数据。这里不再赘述。
这里,所述第二存储区域中各存储页分别用于存储相应横向多个存储页中存储数据的校验值。第二存储区域可以是一个存储平面中具有连续编号的多个存储页,在一些实施例中,这些具有连续编号的多个存储页设置在相应存储平面的一个存储块中。
实际应用中,第二存储区域的每个存储页用于存储多个存储页行中各存储页存储数据的第二校验数据。这样,可以在每个相应存储页所属存储页行中除该相应存储页以外的剩余存储页存储数据出现错误时,通过所述第二存储区域相应存储页中存储的第二校验数据进行有效的数据恢复。
需要说明的是,存储阵列中间隔预设个存储页行可以理解为,存储阵列包括的多个存储页中具有相同编号的存储页形成的存储页行,以及与该存储页行间隔相同个数的存储页行。
实际应用中,所述存储设备是以存储块为基本的操作单元,每个存储块可以包括多个存储页(例如,64个存储页)。在一些实施例中,每个存储块可以包括P个存储页,所述第二存储区域中包含的存储页的个数为P个;所述P为大于一的正整数。其中,所述存储设备中的多个存储页可以按照前述的方式进行冗余阵列标签组的分组;
接下来,将分组中具有相同编号的多个存储页行对应的校验数据设置在一个冗余阵列校验存储页中,所有的冗余阵列校验存储页组成了所述第二存储区域。这里,关于冗余阵列标签编号的方式前已述及,这里不再赘述。第二存储区域中存储的第二校验数据也可参考前述技术方案一中校验数据的存放规则。
需要说明的是,所述第一存储区域与所述第二存储区域不存在重叠的存储页可以理解为多个第一存储区域中的包含的存储页与第二存储区域中包含存储页不存在公共的存储页。
示例性地,第一存储区域包括至少一个存储页行,该至少一个存储页行位于存储阵列靠顶部的位置,同时,第二存储区域包括一个存储平面中的多个存储页(如64个),该多个存储页位于存储阵列靠底部的位置。此时第一存储区域与第二存储区域不存在公共的存储页。
当然,也可能第一存储区域包括至少一个存储页行,该至少一个存储页行位于存储阵列靠底部的位置,同时,第二存储区域包括一个存储平面中的多个存储页(如64个),该多个存储页也位于存储阵列靠底部的位置。此时,二者可能存在公共的存储页。此时,为了满足第一存储区域与第二存储区域不存在重叠的存储页的条件,可以将第一存储区域与第二存储区域可能存在的公共存储页归为第一存储区域或第二存储区域中的一方。
在一些实施例中,所述第一存储区域包括最大编号的存储页形成的存储页行中的部分存储页;所述第二存储区域包括一个存储页列中具有连续编号,且包含最大编号的多个存储页。
这里,一个存储阵列可以包括多个存储页行,所述多个存储页行可以按照同一编号规则进行编号(如,0页至1151页),进行编号后的多个存储页行可以由存储阵列的顶部向存储阵列的底部排布。同时,一个存储阵列还可以包括多个存储页列,所述多个存储页列可以按照相应的存储芯片的编号及存储平面编号,由存储阵列的左端向存储阵列的右端排布。
实际应用中,所述第一存储区域可以包括存储阵列底部的存储页行(最大编号的存储页形成的存储页行);也可以包括存储阵列底部的部分存储页行(最小编号的存储页形成的存储页行)。而第二存储区域可以包括存储阵列右端的存储页列中一个存储块中的所有存储页此时,将可以将第一存储区域与第二存储区域可能存在的公共存储页归为第二存储区域,同时将第一存储区域缺失的存储页对应的校验数据存储在第一缓存器中。这样,可以使得第一存储区域中的存储页不与第二存储区域中的存储页重叠。
可以理解的是,将可以将第一存储区域与第二存储区域可能存在的公共存储页归为第二存储区域,同时将第一存储区域缺失的存储页对应的校验数据存储在第一缓存器中可以保证第一存储区域中各存储页中存储的第一校验数据所对应的存储数据的个数是相同的,从而导致第一存储区中校验数据计算算法的统一性和简便性。
在一些实施例中,所述存储设备还包括第一缓存器及第二缓存器;其中,
所述第一缓存器的容量大于所述第一存储区域的容量,用于缓存各存储平面除第一存储区域所在存储页行外存储数据的校验数据;
所述第二缓存器的容量与所述第二存储区域的容量相同,用于缓存所述第二存储区域中的第二校验数据。
实际应用中,所述第一缓存器及第二缓存器均可以包括DRAM,但不限于此。存储设备在执行写入操作时,相应存储页对应的校验数据随着写入的数据量在不断的更新,每次存储页横向的校验数据可以存储在第一缓存器中,并在存储设备掉电前,将部分第一缓存器中存储的校验数据存入第一存储区域,同时将剩余部分第一缓存器中存储的校验数据存入其它非易失性的缓存器中,之后在存储设备上电时,读取第一存储区域及该其它非易失性的缓存器中的校验数据作为当前的横向校验数据;每次存储页横向的校验数据可以存储在第二缓存器中,并在存储设备掉电前,将第二缓存器中存储的校验数据存入第二存储区域,之后在存储设备上电时,读取第二存储区域中的第二校验数据作为当前的纵向校验数据,如此,第二校验数据可以实现更新。
在一些实施例中,所述存储阵列中的每个存储页包括多个存储单元;所述多个存储单元中的每个存储单元的存储位数包括一位或多位;
所述第一存储区域包括至少与所述存储位数相同数量的存储页行。
在一些实施例中,每个所述存储单元的存储位数包括三位;
所述第一存储区域包括至少三个存储页行;其中,
所述三个存储页行中的第一个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号能够被三整除的存储页存储数据的第一校验数据;所述三个存储页行中的第二个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余一的存储页存储数据的第一校验数据;所述三个存储页行中的第三个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余二的存储页存储数据的第一校验数据。
这里,在每个存储单元包括的存储位数与第一存储区域之间的设置规则前已述及,这里不再赘述。在本发明实施例中,可以通过第一存储区域及第二存储区域中存储的校验数据对存储设备中存储的数据进行纠错和数据恢复,可以实现存储平面内、及存储平面内间的纠错和数据恢复。
下面将结合表5中列举的存储设备,对上述实施例的方案进行详细的描述。
表5
示例性地,参考表5,存储设备包括4个存储芯片,即存储芯片0、存储芯片1、存储芯片2及存储芯片3;每个存储芯片包括2个存储平面,即存储平面0和存储平面1;每个存储平面中包括1152个存储页,即0页至1151页存储页。也就是说,上述存储设备包括4个存储芯片、8个存储平面或者9216个存储页。
在本示例中,所述存储单元为TLC,基于此,所述第一存储区域包括三个存储页行,该三个存储页行为最大的三个编号的存储页形成的存储页行,即表4中第1149页所在的存储页行(下位页)、第1150页所在的存储页行(中位页)以及第1151页所在的存储页行(上位页)。第一存储区域中各存储页分别用于存储相应纵向多个存储页中存储数据的校验值。所述第二存储区域包括一个存储平面中多个编号连续的存储页,即表5中存储芯片3中存储平面1中第1088页至第1151页所在的存储页。第二存储区域中各存储页分别用于存储相应横向向多个存储页中存储数据的校验值。需要说明的是,存储芯片3中存储平面1中对应的纵向校验数据未存在在第一存储区域而是放置在第一缓存器中。此外,存储设备中除第一存储区、第二存储区域之外的其它存储区域用于存储数据。
具体地,对于第一存储区域,存储芯片0的存储平面0中的下位页用于存储存储芯片0的存储平面0中编号能被3整除的所有存储页,即第0页、第3页、第6页…第1146页中存储数据的校验数据;存储芯片0的存储平面0中的中位页用于存储存储芯片0的存储平面0中编号能被3整除余1的所有存储页,即第1页、第4页、第7页…第1147页中存储数据的校验数据;存储芯片0的存储平面0中的上位页用于存储存储芯片0的存储平面0中编号能被3整除余2的所有存储页,即第2页、第5页、第8页…第1148页中存储数据的校验数据。其它存储芯片及其它存储平面中的下位页、中位页、上位页中存储的数据以此内推。
对于第二存储区域,冗余阵列标签编号为0的存储页行中存储页所存储的数据对应的校验数据(第0组校验数据)均放置在存储芯片3中存储平面1的第1088页存储页中;相应的,冗余阵列标签编号为1的存储页行中存储页所存储的数据对应的校验数据(第1组校验数据)均放置在存储芯片3中存储平面1的第1089页存储页中;以此类推,冗余阵列标签编号为63的存储页行中存储页所存储的数据对应的校验数据(第63组校验数据)均放置在存储芯片3中存储平面1的第1151页存储页中。
需要说明的是,最后的三个存储页行中存储的第二校验数据可以视为类似其它存储页行中存储的存储数据与相应存储页行中存储的存储数据进行异或运算之后存入到冗余阵列标签组的第61组校验数据至第63组校验数据中。
在本发明实施例中,将所有的存储平面的校验数据混合到一个冗余阵列标签组(第二存储区域)的同时,再根据存储芯片编号及相应存储平面的数量增加几组的冗余阵列标签组(第二存储区域),如此既可以帮助恢复相邻存储平面间干扰过程中丢失的数据,也不至于占用过大的存储空间。下面结合上述表5的示例对本发明实施例产生的效果具体进行分析:
本发明实施例中,用于存储两种校验数据的存储页包括第一存储区域和第二存储区域;其中,第一存储区域中包含21个存储页,第二存储区域中包含64个存储页,这样,用于存储两种校验数据的存储页总共有85个存储页。
相较于上述技术方案二中用于存储两种校验数据的128个存储页;本发明实施例中用于存储校验数据的存储页减少了43个存储页,即用于存储校验数据的存储空间减少了34%。实际上存储空间的减少并不止34%,因为与存储页对应配置的缓存器的空间也会相应的减少。
进一步地,可以理解的是,如图1所示,如果在一个存储芯片包括四个存储平面时,本发明实施例中存储设备需要形成109个存储页用于存储校验数据。相较于上述技术方案二中用于存储两种校验数据的256个存储页,用于存储校验数据的存储空间减少了57%。实际上存储空间的减少并不止57%,因为与存储页对应配置的缓存器的空间也会相应的减少。
也就是说,在存储芯片包括的存储平面数越多时,采用本发明实施例中的方案用于存储校验数据的存储页所占据存储空间的比例越少,节约存储空间的优势体现得更加明显。
基于前述一存储设备,本发明实施例还提供了一种存储设备的数据恢复方法,应用于本发明上述一实施例中所述的存储设备,图2为本发明实施例一存储设备的数据恢复方法的实现流程示意图。如图2所示,所述方法包括以下步骤:
步骤201:获取所述第一存储区域中的第一校验数据;
步骤202:利用获取的第一校验数据,对所述存储设备中的错误数据进行第一数据恢复。
这里,在步骤201中,所述第一校验数据为纵向多个存储页中存储数据的校验值。实际应用中,所述校验数据可以是冗余阵列校验数据,具体可以是对纵向多个存储页中存储数据进行异或运算后得到的。
实际应用中,可以通过对执行存储芯片的读取操作来获取第一存储区域中的第一校验数据。
在步骤202中,可以利用该获取的第一校验数据与写入数据本身携带的校验位进行比较,并通过比较结果确定错误数据,以及对各存储平面内的错误数据进行第一数据恢复。
基于前述另一存储设备,本发明实施例又提供了一种存储设备的数据恢复方法,应用于本发明上述另一实施例中所述的存储设备,图3为本发明实施例另一存储设备的数据恢复方法的实现流程示意图。如图3所示,所述方法包括以下步骤:
步骤301:获取所述第一存储区域中的第一校验数据;
步骤302:利用所述第一校验数据,对所述存储设备中的错误数据进行第一数据恢复。
这里,步骤301与步骤201的实现方式类似;步骤302与步骤201的实现方式类似,这里不再赘述。
在一些实施例中,所述方法还包括:
步骤303:在进行第一数据恢复后,确定所述存储设备中仍存在错误数据;
步骤304:获取所述第二存储区域中的第二校验数据;
步骤305:利用所述第二校验数据,对所述存储设备中的错误数据进行第二数据恢复。
这里,在步骤303中,在进行第一数据恢复后,主控芯片确定所述存储设备中仍存在错误数据。
在步骤304中,所述第二校验数据为横向多个存储页中存储数据的校验值。实际应用中,所述校验数据可以是冗余阵列校验数据,具体可以是对横向多个存储页中存储数据进行异或运算后得到的。
实际应用中,可以通过对执行存储芯片的读取操作来获取第二存储区域中的第二校验数据。
在步骤305中,可以利用该获取的第二校验数据与写入数据本身携带的校验位进行比较,并通过比较结果确定错误数据,以及对各存储平面间的错误数据进行第二数据恢复。
本发明实施例中,在纠错的过程中,先解析纵轴的冗余阵列标签组,将每个存储平面恢复出正确的数据,如果恢复不出,再解析横轴的冗余阵列标签组,以进一步帮助恢复数据。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (16)
1.一种存储设备,其特征在于,包括:
至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;
所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据。
2.根据权利要求1所述的存储设备,其特征在于,所述第一存储区域包括最大编号的存储页形成的存储页行或者最小编号的存储页形成的存储页行。
3.根据权利要求1所述的存储设备,其特征在于,所述多个存储页中的每个存储页包括多个存储单元;所述多个存储单元中的每个存储单元的存储位数包括一位或多位;
所述第一存储区域包括至少与所述存储位数相同数量的存储页行。
4.根据权利要求3所述的存储设备,其特征在于,每个所述存储单元的存储位数包括三位;
所述第一存储区域包括至少三个存储页行;其中,
所述三个存储页行中的第一个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号能够被三整除的存储页存储数据的第一校验数据;所述三个存储页行中的第二个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余一的存储页存储数据的第一校验数据;所述三个存储页行中的第三个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余二的存储页存储数据的第一校验数据。
5.根据权利要求1所述的存储设备,其特征在于,所述存储设备还包括第一缓存器;所述第一缓存器的容量与所述第一存储区域的容量相同,用于缓存所述第一存储区域中的第一校验数据。
6.根据权利要求1所述的存储设备,其特征在于,所述存储芯片包括三维NAND存储器。
7.一种存储设备,其特征在于,包括:
至少一个存储阵列;所述存储阵列包括多个存储芯片;所述多个存储芯片中的每个存储芯片均包括多个存储平面;所述多个存储平面中的每个存储平面均包括按照同一编号规则进行编号的多个存储页;
所述存储阵列包括第一存储区域;所述第一存储区域包括至少一个存储页行;所述存储页行包括所述多个存储平面中具有相同编号的多个存储页;所述第一存储区域中的每个存储页用于存储第一校验数据;其中,所述第一校验数据包括相应存储页所属存储平面中剩余存储页存储数据的校验数据;
所述存储阵列还包括第二存储区域;所述第二存储区域包括一个存储平面中具有连续编号的多个存储页;所述第二存储区域中的每个存储页用于存储第二校验数据;其中,所述第二校验数据包括所述存储阵列中间隔预设个存储页行中各存储页存储数据的校验数据;所述第一存储区域与所述第二存储区域不存在重叠的存储页。
8.根据权利要求7所述的存储设备,其特征在于,所述第一存储区域包括最大编号的存储页形成的存储页行中的部分存储页;所述第二存储区域包括一个存储页列中具有连续编号,且包含最大编号的多个存储页。
9.根据权利要求8所述的存储设备,其特征在于,所述存储设备还包括第一缓存器及第二缓存器;其中,
所述第一缓存器的容量大于所述第一存储区域的容量,用于缓存各存储平面除第一存储区域所在存储页行外存储数据的校验数据;
所述第二缓存器的容量与所述第二存储区域的容量相同,用于缓存所述第二存储区域中的第二校验数据。
10.根据权利要求7所述的存储设备,其特征在于,所述存储阵列中的每个存储页包括多个存储单元;所述多个存储单元中的每个存储单元的存储位数包括一位或多位;
所述第一存储区域包括至少与所述存储位数相同数量的存储页行。
11.根据权利要求10所述的存储设备,其特征在于,每个所述存储单元的存储位数包括三位;
所述第一存储区域包括至少三个存储页行;其中,
所述三个存储页行中的第一个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号能够被三整除的存储页存储数据的第一校验数据;所述三个存储页行中的第二个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余一的存储页存储数据的第一校验数据;所述三个存储页行中的第三个存储页行中的每个存储页用于存储相应存储页所属存储平面中剩余存储页的编号被三整除余二的存储页存储数据的第一校验数据。
12.根据权利要求7所述的存储设备,其特征在于,所述存储芯片包括的多个存储平面能够同时执行编程操作。
13.根据权利要求7所述的存储设备,其特征在于,所述存储芯片包括三维NAND存储器。
14.一种存储设备的数据恢复方法,其特征在于,所述方法应用于权利要求1至权利要求6任一项所述的存储设备,所述方法包括:
获取所述第一存储区域中的第一校验数据;
利用获取的第一校验数据,对所述存储设备中的错误数据进行第一数据恢复。
15.一种存储设备的数据恢复方法,其特征在于,所述方法应用于权利要求7至权利要求13任一项所述的存储设备,所述方法包括:
获取所述第一存储区域中的第一校验数据;
利用所述第一校验数据,对所述存储设备中的错误数据进行第一数据恢复。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
在进行第一数据恢复后,确定所述存储设备中仍存在错误数据;
获取所述第二存储区域中的第二校验数据;
利用所述第二校验数据,对所述存储设备中的错误数据进行第二数据恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110703225.3A CN113342577B (zh) | 2021-06-24 | 2021-06-24 | 存储设备及其数据恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110703225.3A CN113342577B (zh) | 2021-06-24 | 2021-06-24 | 存储设备及其数据恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342577A true CN113342577A (zh) | 2021-09-03 |
CN113342577B CN113342577B (zh) | 2023-11-03 |
Family
ID=77478232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110703225.3A Active CN113342577B (zh) | 2021-06-24 | 2021-06-24 | 存储设备及其数据恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342577B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579057A (zh) * | 2022-03-11 | 2022-06-03 | 长江存储科技有限责任公司 | 缓存设备的校验数据的存储方法、存储装置及存储系统 |
CN114579057B (zh) * | 2022-03-11 | 2024-05-14 | 长江存储科技有限责任公司 | 缓存设备的校验数据的存储方法、存储装置及存储系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018373A (ja) * | 2004-06-30 | 2006-01-19 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
CN103544082A (zh) * | 2013-10-28 | 2014-01-29 | 公安部第三研究所 | 基于闪存芯片实现存储设备数据恢复的方法 |
US20160210210A1 (en) * | 2012-12-31 | 2016-07-21 | Ramaxel Technology (Shenzhen) Limited | Solid-state storage system, apparatus and method of writing data |
JP2020064350A (ja) * | 2018-10-15 | 2020-04-23 | ハギワラソリューションズ株式会社 | フラッシュメモリの管理方法 |
CN112445421A (zh) * | 2019-08-28 | 2021-03-05 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN112632643A (zh) * | 2020-12-29 | 2021-04-09 | 深圳大普微电子科技有限公司 | 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘 |
-
2021
- 2021-06-24 CN CN202110703225.3A patent/CN113342577B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018373A (ja) * | 2004-06-30 | 2006-01-19 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
US20160210210A1 (en) * | 2012-12-31 | 2016-07-21 | Ramaxel Technology (Shenzhen) Limited | Solid-state storage system, apparatus and method of writing data |
CN103544082A (zh) * | 2013-10-28 | 2014-01-29 | 公安部第三研究所 | 基于闪存芯片实现存储设备数据恢复的方法 |
JP2020064350A (ja) * | 2018-10-15 | 2020-04-23 | ハギワラソリューションズ株式会社 | フラッシュメモリの管理方法 |
CN112445421A (zh) * | 2019-08-28 | 2021-03-05 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN112632643A (zh) * | 2020-12-29 | 2021-04-09 | 深圳大普微电子科技有限公司 | 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579057A (zh) * | 2022-03-11 | 2022-06-03 | 长江存储科技有限责任公司 | 缓存设备的校验数据的存储方法、存储装置及存储系统 |
CN114579057B (zh) * | 2022-03-11 | 2024-05-14 | 长江存储科技有限责任公司 | 缓存设备的校验数据的存储方法、存储装置及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113342577B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10643733B2 (en) | Method, flashing memory controller, memory device for accessing 3D flash memory having multiple memory chips | |
CN107391026B (zh) | 闪存装置及闪存存储管理方法 | |
CN106409344B (zh) | 数据储存设备及其操作方法 | |
US10846173B2 (en) | Method for accessing flash memory module and associated flash memory controller and memory device | |
CN107403646B (zh) | 闪存装置及闪存存储管理方法 | |
US9996417B2 (en) | Data recovery in memory having multiple failure modes | |
US9164830B2 (en) | Methods and devices to increase memory device data reliability | |
US9465552B2 (en) | Selection of redundant storage configuration based on available memory space | |
US10348332B2 (en) | Method for accessing flash memory module and associated flash memory controller and memory device | |
KR102407659B1 (ko) | 메모리 내 데이터 복원 작업의 수행 | |
US20150067449A1 (en) | Flash subsystem organized into pairs of upper and lower page locations | |
US20120324148A1 (en) | System and method of protecting metadata from nand flash failures | |
CN111710358B (zh) | 闪存装置、闪存控制器及闪存存储管理方法 | |
US9230684B2 (en) | Memory controller, storage device, and memory control method | |
CN112463433B (zh) | 存取闪存模块的方法及相关的闪存控制器与记忆装置 | |
CN111538676A (zh) | 数据储存装置及其数据存取方法 | |
US20240154624A1 (en) | Flash memory apparatus and storage management method for flash memory | |
US11048597B2 (en) | Memory die remapping | |
CN110389716B (zh) | 数据存储装置及应用其的预防数据错误方法 | |
CN113342577B (zh) | 存储设备及其数据恢复方法 | |
US9411694B2 (en) | Correcting recurring errors in memory | |
US9195540B2 (en) | Multiple sector parallel access memory array with error correction | |
CN114783491A (zh) | 存储器控制器及其操作方法、存储器系统 | |
CN112486416A (zh) | 数据处理方法、装置、存储介质及处理器 | |
CN116069237A (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 |