CN114297737A - 一种数据保护方法、固态硬盘控制器及固态硬盘 - Google Patents
一种数据保护方法、固态硬盘控制器及固态硬盘 Download PDFInfo
- Publication number
- CN114297737A CN114297737A CN202111628557.6A CN202111628557A CN114297737A CN 114297737 A CN114297737 A CN 114297737A CN 202111628557 A CN202111628557 A CN 202111628557A CN 114297737 A CN114297737 A CN 114297737A
- Authority
- CN
- China
- Prior art keywords
- die
- check
- data
- solid state
- state disk
- 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.)
- Pending
Links
- 239000007787 solid Substances 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012795 verification Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 17
- 238000011084 recovery Methods 0.000 claims description 17
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 15
- 101100072644 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) INO2 gene Proteins 0.000 description 7
- 102100040381 Dol-P-Glc:Glc(2)Man(9)GlcNAc(2)-PP-Dol alpha-1,2-glucosyltransferase Human genes 0.000 description 6
- 101000890957 Homo sapiens Dol-P-Glc:Glc(2)Man(9)GlcNAc(2)-PP-Dol alpha-1,2-glucosyltransferase Proteins 0.000 description 6
- 239000002245 particle Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
本发明涉及固态硬盘技术领域,具体涉及一种数据保护方法、固态硬盘控制器及固态硬盘。本发明提供一种数据保护方法,应用于固态硬盘,所述固态硬盘纵向划分为多个依次编号的die,该方法包括:确定固态硬盘中校验die与数据die数量的分配比例;基于所述分配比例对固态硬盘中的die进行分组;确定所述校验die在对应组中的位置;根据对应组中的所述数据die,结合所述校验die的位置生成校验die。本发明实施例通过设置校验die与数据die的配比,来保证在固态硬盘容量提升的情况下能维持稳定的数据保护强度,提高了对数据的保护强度,而且可以根据客户的自身需要来调整校验die的比例,以达到合适的数据保护效果。
Description
技术领域
本发明涉及固态硬盘技术领域,具体涉及一种数据保护方法、固态硬盘控制器及固态硬盘。
背景技术
固态硬盘中使用大量的nand颗粒,由于nand颗粒本身的性质,die中的数据可能会出错,需要用独立磁盘冗余阵列RAID(Redundant Arrays of Independent Disks)将数据保护起来,用于数据读错时做数据恢复,具体表现为当固态硬盘的一页中有一个die的数据出错时,可以通过RAID中的校验die来进行数据恢复。而随着固态硬盘相关技术的发展,固态硬盘的容量增大,其中die的数量也随之大幅增长,这样,一个条带中die出错的概率大幅增加,而若是一个条带中有两个及以上的die的数据出错,就不能通过校验die进行数据恢复,即现有技术中,校验die对数据的保护强度随固态硬盘容量的提升而降低。
发明内容
本发明实施方式主要解决的技术问题是现有技术中的校验die对数据的保护强度随固态硬盘容量的提升而降低。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种数据保护方法,应用于固态硬盘,所述固态硬盘纵向划分为多个依次编号的die,所述方法包括:确定固态硬盘中校验die与数据die数量的分配比例;基于所述分配比例对固态硬盘中的die进行分组,以使每一页中的所述校验die与所述数据die的比例满足所述分配比例;确定所述校验die在对应组中的位置,以使一组内的每一页均存在一个校验die;根据对应组中的所述数据die,结合所述校验die的位置生成校验die。
可选的,所述确定固态硬盘中校验die与数据die数量的分配比例包括:确定所述校验die的保护强度,其中,所述校验die的保护强度为一个校验die所保护的数据die的第一数量n;基于所述校验die的保护强度计算所述固态硬盘的一页中所述校验die的第二数量m。
可选的,所述校验die的第二数量m的计算方法为:m=固态硬盘中die的数量/(n+1)。
可选的,所述确定所述校验die在对应组中的位置包括:在组内选定一个die的编号,将拥有所述编号的die的位置作为对应组内每页中校验die的位置。
可选的,所述确定所述校验die在对应组中的位置包括:以(n+1)页为一个位置模型的周期,每个所述周期中,组内第一个die的位置为第一页的所述校验die的位置,随着页的增加,所述校验die的位置依次对应增加。
可选的,所述确定所述校验die在对应组中的位置包括:以2n页为一个位置模型的周期,每个所述周期中,组内第一个die的位置为第一页的校验die的位置,所述校验die的位置随着页的增加依次对应增加,直至组内最后一个die的位置时,所述校验die的位置随着页的增加依次对应减少。
可选的,所述方法还包括:当检测到错误数据die时,根据所述错误数据die对应组内的所述校验die恢复所述错误数据die。
可选的,所述根据所述错误数据die对应组内的所述校验die恢复所述错误数据die包括:根据所述错误数据die的位置获取所述错误数据die对应的组和对应的页;获取所述对应的组的对应的页中,除所述错误数据die以外的其他数据die和对应的校验die;将所述校验die与所述其他数据die进行异或计算,得到所述错误数据die的恢复数据,以恢复所述错误数据die。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种固态硬盘固件系统,包括:比例分配模块,用于确定固态硬盘中校验die与数据die数量的分配比例;die分组模块;用于基于所述分配比例对固态硬盘中的die进行分组,以使每一页中的所述校验die与所述数据die的比例满足所述分配比例;位置确定模块,用于确定所述校验die在对应组中的位置,以使一组内的每一页均存在一个校验die;校验die生成模块,用于根据对应组中的所述数据die,结合所述校验die的位置生成校验die。
为解决上述技术问题,本申请实施方式采用的又一个技术方案是:提供一种固态硬盘控制器,包括:上述所述的固态硬盘固件系统;至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述所述的数据保护方法。
为解决上述技术问题,本申请实施方式采用的再一个技术方案是:提供一种固态硬盘,包括:上述所述的固态硬盘控制器,以及与所述固态硬盘控制器通信连接的至少一个闪存介质。
为解决上述技术问题,本申请实施方式采用的还一个技术方案是:提供一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使固态硬盘能够执行如上所述的数据保护方法。
区别于相关技术的情况,本发明提供一种数据保护方法,应用于固态硬盘,所述固态硬盘纵向划分为多个依次编号的die,该方法包括:确定固态硬盘中校验die与数据die数量的分配比例;基于所述分配比例对固态硬盘中的die进行分组;确定所述校验die在对应组中的位置;根据对应组中的所述数据die,结合所述校验die的位置生成校验die。本发明实施例通过设置校验die与数据die的配比,来保证在固态硬盘容量提升的情况下能维持稳定的数据保护强度,提高了对数据的保护强度,而且可以根据客户的自身需要来调整校验die的比例,以达到合适的数据保护效果。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是固态硬盘的nand颗粒中die的分布示意图;
图2是本发明实施例提供的一种数据保护方法的流程示意图;
图3是本发明实施例提供的一种确定校验die与数据die数量的分配比例的方法示意图;
图4是本发明实施例相较于图1的情况提供的校验die在对应组中的位置的示意图;
图5a是另一种校验die的位置的示意图,图5b是本发明实施例相较于图5a的情况提供的校验die在对应组中的位置的示意图;
图6a是又一种校验die的位置的示意图,图6b是本发明实施例相较于图6a的情况提供的校验die在对应组中的位置的示意图;
图7是本发明实施例提供的根据校验die恢复错误数据die的方法示意图;
图8是本发明实施例提供的固态硬盘固件系统的结构示意图;
图9是本发明实施例提供的一种固态硬盘的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互组合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,图1是固态硬盘的nand颗粒中的数据布局示意图,根据逻辑层的需要,将其抽象划分为如图所示的排布,横向划分为多个sblk(superBlock,超级区块),每个sblk包含多个页(page);纵向划分为多个依次编号的die,例如图中所示的固态硬盘纵向划分为8个die,分别为DIE0、DIE1、…、DIE7,第8个die(DIE7)作为校验die,图中将校验die以深色作为区分,以第N个sblk为例,sblk中有N页,其中,每一页对应的校验die都可以通过对数据die进行异或运算得到,例如以sblk N的任一页为例,由图可知该页对应包括有7个数据die(die0、die1、die2、die3、die4、die5和die6)和一个校验die(die7),基于校验die数据的计算规则,die7的Parity校验die数据=die0^die1^die2^die3^die4^die5^die6,其中,“^”为异或运算符(xor)。
需要说明的是,如图1中所示,nand颗粒除了纵向划分为多个die之外,实际情况中对nand颗粒的纵向划分还包括划分为多个LUN(Logical Unit Number,逻辑单元号)、CE(Chip Enable,片选)、CH(Channel,通道)或者plane(面)等,由于本发明实施例中基本不涉及到这些划分,在本发明实施例中仅以die的视角进行说明。
本发明实施例提供一种数据保护方法,应用于固态硬盘,所述固态硬盘纵向划分为多个依次编号的die,请参阅图2,所述方法包括:
S11、确定固态硬盘中校验die与数据die数量的分配比例。对每一页的数据来说,检验die可以一定程度上保护这一页中的数据die,还是以图1中sblk N的任一页为例,假设die1中的数据出错,固态硬盘后端固件检查报错,此时可以通过校验die(die7)来对错误数据die(die1)进行恢复,具体的恢复计算方式为die1=die0^die2^die3^die4^die5^die6^die7(parity)。
若是固态硬盘的容量增大,相对应的,die的数量也会大幅增长,例如SSD有64个die的情况,其中die63为校验die,以一个页为例,假设读die0数据出问题,即die0为错误数据die,那么进行数据恢复时根据上述恢复计算规则:数据die0=die1^die2^die3……die63;又例如SSD有64个die的情况,其中die127为校验die,以一个页为例,假设读die0数据出问题,那么进行数据恢复时根据上述恢复计算规则:数据die0=die1^die2^die3……die127。根据上述数据恢复计算规则可以看出,当SSD中的die数量越多,一个校验die需要进行异或计算的次数越多,且数据恢复只能有一个die的数据错误才能恢复,若有两个及以上的数据die出错,那么错误数据die将无法被恢复。因此,图1中校验die对数据die的保护强度会因为die数量的提升而降低,即固态硬盘中校验die对数据die的保护强度与固态硬盘中die的总数量成反比。
请结合图3,所述确定固态硬盘中校验die与数据die数量的分配比例包括:
S111、确定所述校验die的保护强度,其中,所述校验die的保护强度为一个校验die所保护的数据die的第一数量n。
S112、基于所述校验die的保护强度计算所述固态硬盘的一页中所述校验die的第二数量m。
具体的,所述校验die的第二数量m的计算方法可以是:
m=固态硬盘中die的数量/(n+1)。
其中,校验die的保护强度n可以由工作人员自行设定,例如,若是希望校验die的保护强度很高,可以将n的值设置的小一些,比如将n设置为3,表示一个校验die可以保护除自身外的3个数据die;若是希望校验die的保护强度不用很高,则可以将n的值设置的稍大一些,比如将n设置为15,表示一个校验die可以保护除自身外的15个数据die,在一些情况下,为了便于计算,n的值通常为(2^a)-1,即校验die加上它可以保护的数据die的总数量为2的a次方,其中,a为大于或等于2的整数。需要说明的是,本方案是牺牲了部分固态硬盘的容量,来增强对数据的保护强度,即在一些情况下,n的取值不适合过小。
S12、基于所述分配比例对固态硬盘中的die进行分组,以使每一页中的所述校验die与所述数据die的比例满足所述分配比例。根据上述步骤S11确定校验die与数据die数量的分配比例后,就能够计算出每一页中的所述校验die的数量了。以图1和图4为例,图1是现有技术中校验die的分布示意图,即固态硬盘的8个die中只有一个校验die(图中表示为DIE7),每一页的校验die都可以保护该页中其他的数据die,当某一页中的某个数据die出错,可以根据上述恢复计算规则通过该页对应的校验die进行数据恢复。请结合图4,图4中对应的分配比例为一个校验die保护3个数据die,固态硬盘的一页中所述校验die的第二数量为2,即具体表现为将固态硬盘中的8个die分为两组,每组包含一个校验die和3个数据die。
S13、确定所述校验die在对应组中的位置,以使一组内的每一页均存在一个校验die。其中,所述确定所述校验die在对应组中的位置可以是:在组内选定一个die的编号,将拥有所述编号的die的位置作为对应组内每页中校验die的位置。仍以图4为例,图4中将固态硬盘的8个die分为两组,第一组中包括DIE0、DIE1、DIE2和DIE3,选定DIE3为校验die;第二组中包括DIE4、DIE5、DIE6和DIE7,选定DIE7为校验die。具体的,第一组中每页的校验die(DIE3)保护该页其它的三个数据die(DIE0、DIE1和DIE2)的数据;第二组中每页的校验die(DIE7)保护该页其它的三个数据die(DIE4、DIE5和DIE6)的数据,根据图4表现的校验die的位置规律,可以将该种校验die位置分布方式称为同die分布。
在其它一些实施例中,所述确定所述校验die在对应组中的位置还可以是:以(n+1)页为一个位置模型的周期,每个所述周期中,组内第一个die的位置为第一页的所述校验die的位置,随着页的增加,所述校验die的位置依次对应增加。
请结合图5a和图5b,该示例中的固态硬盘包括16个die,每一页中的校验die如图中所示,图5a中表现的是未分组的情况,即每一页中只有一个校验die,校验die的位置分布为:从第一页的第一个die开始,页数加1后,校验die的位置加1,直至最后一个died的位置,然后再从第一个die开始循环增加。具体的,在某个sblk中,每页有一个校验die,每个校验die保护该页其它15个数据die的数据,校验die的位置如图5a所示。
以图5a中的示例为例,固态硬盘包括16个die,结合图5b,经过步骤S11至S13的过程后,设置分配比例为一个校验die保护3个数据die,固态硬盘某sblk的一页中所述校验die的第二数量为4,将这16个die分为4组,以4页为一个位置模型的周期(本示例中一个校验die保护3个数据die的数据,即n为3,周期为3+1=4),每个所述周期中,组内第一个die的位置为第一页的所述校验die的位置,随着页的增加,所述校验die的位置依次对应增加。即图5b中第一组中包括DIE0、DIE1、DIE2和DIE3;第二组中包括DIE4、DIE5、DIE6和DIE7;第三组中包括DIE8、DIE9、DIE10和DIE11;第四组中包括DIE12、DIE13、DIE14和DIE15。而每组中校验die的位置如图中所示,在周期内随着页的增加,所述校验die的位置依次对应增加。根据图5a和图5b表现的校验die的位置规律,可以将该种校验die位置分布方式称为增长分布。
需要说明的是,“第一组”、“第二组”、“第三组”和“第四组”等说法仅是为了区分固态硬盘中对die的分组,并不用于指示或暗指分组间的相对重要关系。
在其它一些实施例中,所述确定所述校验die在对应组中的位置还可以是:以2n页为一个位置模型的周期,每个所述周期中,组内第一个die的位置为第一页的校验die的位置,所述校验die的位置随着页的增加依次对应增加,直至组内最后一个die的位置时,所述校验die的位置随着页的增加依次对应减少。
请结合图6a和图6b,该示例中的固态硬盘包括16个die,每一页中的校验die如图中所示,图6a中表现的是未分组的情况,即每一页中只有一个校验die,校验die的位置分布为:从第一页的第一个die开始,页数加1后,校验die的位置加1,直至最后一个die的位置后,随着页数的增长,校验die的位置随之减小,直至第一个die的位置,如此循环。具体的,在某个sblk中,每页有一个校验die,每个校验die保护该页其它15个数据die的数据,校验die的位置如图6a所示。
以图6a中的示例为例,固态硬盘包括16个die,结合图6b,经过步骤S11至S13的过程后,设置分配比例为一个校验die保护3个数据die,固态硬盘某sblk的一页中所述校验die的第二数量为4,将这16个die分为4组,以6页为一个位置模型的周期(同样,本示例中一个校验die保护3个数据die的数据,即n为3,周期为2*3=6),每个所述周期中,组内第一个die的位置为第一页的所述校验die的位置,随着页的增加,所述校验die的位置依次对应增加,但是增长到尾部时,随着页的增长,校验die的位置随之减小。具体表现为,图6b中第一组中包括DIE0、DIE1、DIE2和DIE3;第二组中包括DIE4、DIE5、DIE6和DIE7;第三组中包括DIE8、DIE9、DIE10和DIE11;第四组中包括DIE12、DIE13、DIE14和DIE15。而每组中校验die的位置如图中所示,根据图6a和图6b表现的校验die的位置规律,可以将该种校验die位置分布方式称为旋转分布,在周期内随着页的增加,所述校验die的位置依次对应增加,直至增加至该组内最后一个die的位置后,随着页的增长,校验die的位置随之减小,实现组内校验die位置的旋转。
需要说明的是,本发明实施例列举了上述同die分布、增长分布和旋转分布等三种校验die的位置分布方式,但并不用于限定校验die的位置只能根据这三种分布方式来确定,在一些实施例中,还可以采用不同于上述三种方式之外的其他合适的方式来确定每组中校验die的位置,本发明实施例对此并不做限定。
S14、根据对应组中的所述数据die,结合所述校验die的位置生成校验die。
校验die的计算方式是同组且同页的数据die进行异或运算得到对应的校验die。请结合图4,本发明实施例以图4的示例为例,第一组中每页的校验die(DIE3)保护该页其它的三个数据die(DIE0、DIE1和DIE2)的数据;第二组中每页的校验die(DIE7)保护该页其它的三个数据die(DIE4、DIE5和DIE6)的数据。其中,根据校验die数据的计算规则,die3的Parity校验die数据=die0^die1^die2;die7的Parity校验die数据=die4^die5^die6。
请结合图5b,本发明实施例以图5b的示例为例,同样,每组中每页的校验die保护该页其它的三个数据die,校验die的计算方式是同组且同页的数据die进行异或运算得到对应的校验die。由于不同页的校验die的位置不同,所以计算校验die的数据时不同于上述附图4中的示例,例如,图5b的第一组中,第一页(page0)中的校验die0=die1^die2^die3;第二页(page1)中的校验die1=die0^die2^die3;第三页(page2)中的校验die2=die0^die1^die3,以此类推,第二组至第四组中校验die的计算方式同理,此处不再赘述。
在一些实施例中,所述方法还包括S15、当检测到错误数据die时,根据所述错误数据die对应组内的所述校验die恢复所述错误数据die。请参阅图7,所述根据所述错误数据die对应组内的所述校验die恢复所述错误数据die包括:
S151、根据所述错误数据die的位置获取所述错误数据die对应的组和对应的页。以图6b的示例为例,假设固态硬盘的后端固件检测到某sblk的某个数据die中的数据出错,首先获取错误数据die的位置,例如是第一页中的数据die6出错,获取到错误数据die6对应的组为第二组,对应的页为page0,其中,错误数据die6的die编号为6,每组中包含4个die,6/4=1……2,具体的,错误数据die6的位置可以记为1*4+2。由于die的编号是从0开始,进而得知错误数据die6的位置是第二组的第三个。
S152、获取所述对应的组的对应的页中,除所述错误数据die以外的其他数据die和对应的校验die。以上述错误数据die6为例,获取第二组page0中的其余数据die(die5和die7)和对应的校验die(die4),具体的,这三个die的位置确定方式为:1*4+1;1*4+3以及1*4+0。
S153、将所述校验die与所述其他数据die进行异或计算,得到所述错误数据die的恢复数据,以恢复所述错误数据die。以上述错误数据die6为例,根据die5、die7和die4计算die6,即die6=die4^die5^die7。由此计算出die6的恢复数据,以恢复所述错误数据die6。
本发明实施例通过设置校验die与数据die的配比,来保证在固态硬盘容量提升的情况下能维持稳定的数据保护强度,提高了对数据的保护强度,而且可以根据客户的自身需要来调整校验die的比例,以达到合适的数据保护效果。
本发明实施例提供一种固态硬盘固件系统,请参阅图8,所述固态硬盘固件系统包括:比例分配模块21、die分组模块22、位置确定模块23和校验die生成模块24。所述比例分配模块21用于确定固态硬盘中校验die与数据die数量的分配比例;所述die分组模块22用于基于所述分配比例对固态硬盘中的die进行分组,以使每一页中的所述校验die与所述数据die的比例满足所述分配比例;所述位置确定模块23用于确定所述校验die在对应组中的位置,以使一组内的每一页均存在一个校验die;所述校验die生成模块24用于根据对应组中的所述数据die,结合所述校验die的位置生成校验die。
在其它一些实施例中,所述固态硬盘固件系统还包括:数据die恢复模块25,所述数据die恢复模块25用于当检测到错误数据die时,根据所述错误数据die对应组内的所述校验die恢复所述错误数据die。
需要说明的是,上述固态硬盘固件系统可执行本发明实施例所提供的数据保护方法,具备执行方法相应的功能模块和有益效果。未在固态硬盘固件系统实施例中详尽描述的技术细节,可参见本发明实施例所提供的数据保护方法。
请参阅图9,图9是本发明实施例提供的一种固态硬盘控制器的结构示意图,该芯片300可用于执行上述数据保护方法。该固态硬盘控制器300包括:
如上所述的固态硬盘固件系统;一个或多个处理器31以及存储器32,图9中以一个处理器31为例。
处理器31和存储器32可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的芯片时钟树的验证方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例芯片时钟树的验证方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据芯片时钟树的验证装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至芯片时钟树的验证装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的数据保护方法,例如,执行以上描述的图2、图3或图7中的方法步骤和实现图8中的模块的功能。
本发明实施例还提供一种固态硬盘,所述固态硬盘纵向划分为多个依次编号的die,所述固态硬盘包括上述的固态硬盘控制器和与所述固态硬盘控制器通信连接的至少一个闪存介质。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种数据保护方法,其特征在于,应用于固态硬盘,所述固态硬盘纵向划分为多个依次编号的die,所述方法包括:
确定固态硬盘中校验die与数据die数量的分配比例;
基于所述分配比例对固态硬盘中的die进行分组,以使每一页中的所述校验die与所述数据die的比例满足所述分配比例;
确定所述校验die在对应组中的位置,以使一组内的每一页均存在一个校验die;
根据对应组中的所述数据die,结合所述校验die的位置生成校验die。
2.根据权利要求1所述的方法,其特征在于,所述确定固态硬盘中校验die与数据die数量的分配比例包括:
确定所述校验die的保护强度,其中,所述校验die的保护强度为一个校验die所保护的数据die的第一数量n;
基于所述校验die的保护强度计算所述固态硬盘的一页中所述校验die的第二数量m。
3.根据权利要求2所述的方法,其特征在于,所述校验die的第二数量m的计算方法为:
m=固态硬盘中die的数量/(n+1)。
4.根据权利要求2所述的方法,其特征在于,所述确定所述校验die在对应组中的位置包括:
在组内选定一个die的编号,将拥有所述编号的die的位置作为对应组内每页中校验die的位置。
5.根据权利要求2所述的方法,其特征在于,所述确定所述校验die在对应组中的位置包括:
以(n+1)页为一个位置模型的周期,每个所述周期中,组内第一个die的位置为第一页的所述校验die的位置,随着页的增加,所述校验die的位置依次对应增加。
6.根据权利要求2所述的方法,其特征在于,所述确定所述校验die在对应组中的位置包括:
以2n页为一个位置模型的周期,每个所述周期中,组内第一个die的位置为第一页的校验die的位置,所述校验die的位置随着页的增加依次对应增加,直至组内最后一个die的位置时,所述校验die的位置随着页的增加依次对应减少。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:当检测到错误数据die时,根据所述错误数据die对应组内的所述校验die恢复所述错误数据die。
8.根据权利要求7所述的方法,其特征在于,所述根据所述错误数据die对应组内的所述校验die恢复所述错误数据die包括:
根据所述错误数据die的位置获取所述错误数据die对应的组和对应的页;
获取所述对应的组的对应的页中,除所述错误数据die以外的其他数据die和对应的校验die;
将所述校验die与所述其他数据die进行异或计算,得到所述错误数据die的恢复数据,以恢复所述错误数据die。
9.一种固态硬盘固件系统,其特征在于,包括:
比例分配模块,用于确定固态硬盘中校验die与数据die数量的分配比例;
die分组模块;用于基于所述分配比例对固态硬盘中的die进行分组,以使每一页中的所述校验die与所述数据die的比例满足所述分配比例;
位置确定模块,用于确定所述校验die在对应组中的位置,以使一组内的每一页均存在一个校验die;
校验die生成模块,用于根据对应组中的所述数据die,结合所述校验die的位置生成校验die。
10.一种固态硬盘控制器,其特征在于,包括:
权利要求9所述的固态硬盘固件系统;
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-8任一项所述的数据保护方法。
11.一种固态硬盘,其特征在于,包括:权利要求9所述的固态硬盘控制器,以及与所述固态硬盘控制器通信连接的至少一个闪存介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628557.6A CN114297737A (zh) | 2021-12-28 | 2021-12-28 | 一种数据保护方法、固态硬盘控制器及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111628557.6A CN114297737A (zh) | 2021-12-28 | 2021-12-28 | 一种数据保护方法、固态硬盘控制器及固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297737A true CN114297737A (zh) | 2022-04-08 |
Family
ID=80971860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111628557.6A Pending CN114297737A (zh) | 2021-12-28 | 2021-12-28 | 一种数据保护方法、固态硬盘控制器及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297737A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038830A (zh) * | 2010-03-23 | 2013-04-10 | 苹果公司 | 借助元数据标签的非规则奇偶校验分布检测 |
JP2020064350A (ja) * | 2018-10-15 | 2020-04-23 | ハギワラソリューションズ株式会社 | フラッシュメモリの管理方法 |
CN113419684A (zh) * | 2021-07-09 | 2021-09-21 | 深圳大普微电子科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
-
2021
- 2021-12-28 CN CN202111628557.6A patent/CN114297737A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103038830A (zh) * | 2010-03-23 | 2013-04-10 | 苹果公司 | 借助元数据标签的非规则奇偶校验分布检测 |
JP2020064350A (ja) * | 2018-10-15 | 2020-04-23 | ハギワラソリューションズ株式会社 | フラッシュメモリの管理方法 |
CN113419684A (zh) * | 2021-07-09 | 2021-09-21 | 深圳大普微电子科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
王蓉晖: "大规模闪存固态存储并行访问控制关键技术的研究与实现", 中国博士学位论文全文数据库 信息科技辑, no. 2017, 15 August 2017 (2017-08-15), pages 137 - 29 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10191804B2 (en) | Updating reliability data | |
US9465552B2 (en) | Selection of redundant storage configuration based on available memory space | |
CN101256842B (zh) | 纠错码控制器和包括该纠错码控制器的存储器系统 | |
KR102385138B1 (ko) | 정정 불가능한 ecc 오류를 갖는 데이터를 복구하도록 구성되는 raid 컨트롤러 장치 및 스토리지 장치 | |
US20170250714A1 (en) | Error correction circuit and error correction method | |
CN109669800B (zh) | 用于写入路径错误的高效数据恢复 | |
US10210042B2 (en) | Memory system | |
CN110349616B (zh) | 针对nand闪存中的位线故障的动态交织器变化 | |
KR20190038964A (ko) | 에러 정정 코드 유닛, 그것의 인코딩 및 디코딩 방법 | |
US9189327B2 (en) | Error-correcting code distribution for memory systems | |
CN101030168A (zh) | 一种实现高可靠性链表的方法及装置 | |
JP6491482B2 (ja) | 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置 | |
US9959166B2 (en) | Error correction for non-volatile memory | |
KR102414202B1 (ko) | 계층적 디코더를 이용한 오류 정정 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
CN114297737A (zh) | 一种数据保护方法、固态硬盘控制器及固态硬盘 | |
CN113424262A (zh) | 一种存储校验方法及装置 | |
US20230126507A1 (en) | Apparatus and method for programming data in a memory device | |
CN110431531B (zh) | 存储控制器、数据处理芯片及数据处理方法 | |
CN111796774B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
WO2022169444A1 (en) | Low-energy write scheme for ssd power loss protection | |
CN108170554B (zh) | 一种nand的数据编码方法和装置 | |
CN114047880B (zh) | 多Pass编程的NAND写入功耗优化方法、装置及计算机设备 | |
WO2023035136A1 (zh) | 用于存储器的数据保护方法及其存储装置 | |
CN117632579B (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 |