一种资料储存型闪存的数据恢复方法和装置制造方法及图纸

技术编号:17304327 阅读:49 留言:0更新日期:2018-02-18 22:15
本发明专利技术公开了一种资料储存型闪存的数据恢复方法和装置。本发明专利技术将资料储存型闪存中的目标物理块设置为具有n个抽象页的抽象模型;从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码;在所述抽象模型中出现有效数据丢失的待恢复抽象页时,根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复。本发明专利技术针对在资料储存型闪存配合资源开销较小的缓冲器时,能够对因数据被破坏而失效的数据进行恢复,并且在进行数据恢复的同时能够保证资料储存型闪存工作的稳定性和安全性不受影响。

A data recovery method and device for data storage flash memory

【技术实现步骤摘要】
一种资料储存型闪存的数据恢复方法和装置
本专利技术涉及存储
,尤其涉及一种资料存储型闪存的数据恢复方法和装置。
技术介绍
目前固态存储设备(如固态硬盘)的存储介质基本上都是资料存储型内存芯片Nandflash,由于资料存储型内存芯片存在数据保存策略(dataretention)、读操作干扰(readdisturb)和磨损等负面因素,可能导致固态存储设备的数据出现被破坏的情况,即可能出现某个物理页的数据丢失的情况。在固态存储设备整个生命周期的工作过程中,对资料存储型内存芯片的进行数据写入操作(即Program,俗称编程),有可能在将数据写入资料存储型内存芯的某个物理页Page时,会发生数据写入错误的情况。例如eMMC(EmbeddedMultiMediaCard,内嵌式存储器标准规格)的一些平台差异性,导致供电情况相差比较大,出现这类写入错误的情况更是普遍。当出现这类问题的时候,往往会导致用户数据的丢失,这对于需要稳定性高的固态存储设备的用户来说无疑是致命的打击。而目前针对资料存储型内存芯片Nandflash出现数据写入错误时,采取的办法并不多,要么比较耗成本,要么会降低固态存储设备的的性能。比如目前常见的两种方法:方案一:采取具有大缓存的缓冲器(Buffer),保证执行完数据写入指令后,若发生数据写入错误时,其错误的数据还保留在缓存Buffer中,这类恢复数据的方法比较简单和直接,但需要资源开销较大的缓冲器进行支持,因而成本比较高,不利于推广和应用。方案二:每次都等待并确认编程成功以后再把Buffer中的数据给冲掉,这样也是一种保险的方法进行数据保护。但是Nandflash的编程时间一般普遍都比较长,所以采取这类方式会导致性能的降低,不利于用户的体验。上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
本专利技术的主要目的在于提供一种资料储存型闪存的数据恢复方法、装置及计算机可读存储介质,旨在解决目前资料储存型闪存在数据被破坏而失效时,恢复失效数据造成资料储存型闪存的稳定性差和安全性不高的问题。为实现上述目的,本专利技术提供一种资料储存型闪存的数据恢复方法,所述方法包括以下步骤:将资料储存型闪存中的目标物理块设置为具有n个抽象页的抽象模型,所述n为资料储存型闪存的通道数量、各通道中使能端数量、各通道的逻辑存储单元的数量、各存储单元中存储矩阵的数量、和所述目标物理块的物理页数量的乘积;从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码;在所述抽象模型中出现有效数据丢失的待恢复抽象页时,根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复。优选地,所述从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码之后,所述方法还包括:根据所述抽象模型建立对应的缓存模型,所述缓存模型包括多个缓存页,以及与所述校验信息页对应的缓存校验页,其中,各缓存页根据所述通道数和所述使能端的数量生成,所述缓存校验页设置有与所述物理校验码对应的缓存校验码;接收外部的数据写入指令,将与所述数据写入指令对应的目标数据拆分为多个部分目标数据;在当前部分目标数据写入与当前缓存页对应的抽象页时,将当前部分目标数据与已写入的部分目标数据进行异或运算,并将运算结果作为所述缓存校验页的缓存校验码;在所述目标数据全部写入所述抽象模型之前,若所述抽象模型中出现部分目标数据丢失的待恢复抽象页时,则根据所述缓存校验码对所述待恢复抽象页进行数据恢复。优选地,所述将当前部分目标数据与已写入的部分目标数据进行异或运算,并将运算结果作为所述缓存校验页的缓存校验码之后,所述方法还包括在所述目标数据全部写入所述抽象模型之后,根据所述缓存校验码对所述校验信息页的物理校验码进行更新;若所述抽象模型中出现部分目标数据丢失的待恢复抽象页时,则根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复。优选地,所述从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码,具体包括:从所述n个抽象页中选取第n个抽象页作为所述校验信息页,为所述校验信息页设置物理校验码,所述物理校验码表征为所述抽象模型中各抽象页的有效数据的异或值;相应地,所述在所述抽象模型中出现有效数据丢失的待恢复抽象页时,根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复,具体包括:在所述抽象模型中出现有效数据丢失的待恢复抽象页时,确定所述抽象模型中剩余抽象页的有效数据,根据所述剩余抽象页的有效数据及所述物理校验码对所述待恢复抽象页进行数据恢复。优选地,所述从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码,具体包括:对所述n个抽象页分别设置校验信息页,为各校验信息页分别设置物理校验码,各物理校验码表征为各抽象页的备份数据;相应地,所述在所述抽象模型中出现有效数据丢失的待恢复抽象页时,根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复,具体包括:在所述抽象模型中出现有效数据丢失的待恢复抽象页时,确定所述待恢复抽象页对应的物理校验码,并根据所述对应的物理校验码对所述待恢复抽象页进行数据恢复。优选地,所述将资料储存型闪存中的目标物理块设置为具有n个抽象页的抽象模型,具体包括:确定所述资料储存型闪存中的目标物理块中物理页的数量;获取所述资料储存型闪存的通道的数量、各通道的逻辑存储单元的数量、各存储单元中存储矩阵的数量和各通道中能端段的数量;根据所述物理页的数量、所述通道的数量、各通道的逻辑存储单元的数量、各存储单元中存储矩阵的数量和各通道中能端段的数量将所述目标物理块设置为具有n个抽象页的抽象模型。优选地,所述确定所述资料储存型闪存中的目标物理块中物理页的数量,具体包括:接收外部输入的分页指令;根据所述分页指令确定所述资料储存型闪存中所述目标物理块的各物理页的数量。优选地,所述物理校验码通过以下公式计算获得:其中,D1表示所述抽象模型中第1个抽象页的有效数据,D2表示所述抽象模型中第2个抽象页的有效数据,D3表示所述抽象模型中第3个抽象页的有效数据,Dn表示所述抽象模型中第n个抽象页的有效数据,P表示各抽象页的有效数据进行异或运算后所生成的物理校验码;相应地,所述缓存校验码通过以下公式计算获得:其中,C1表示已写入所述抽象模型中第1个抽象页的部分目标数据,C2表示已写入所述抽象模型中第2个抽象页的部分目标数据,C3表示已写入所述抽象模型中第3个抽象页的部分目标数据,Cn已写入表示所述抽象模型中第n个抽象页的部分目标数据,P'表示所缓存校验码。此外,为实现上述目的,本专利技术还提出一种资料储存型闪存的数据恢复装置,所述装置包括:处理器,存储器及存储在所述存储器上并可在所述处理器上运行的资料储存型闪存的数据恢复程序;所述资料储存型闪存的数据恢复装置配置为实现如上文所述资料储存型闪存的数据恢复的方法的步骤。此外,为实现上述目的,本专利技术还提出一种计算机可读存储介质,所述存储介质上存储所述资料储存型闪存的数据恢复程序,所述资料储存型闪存的数据恢复程序被处理器执行时实现如上文所述的资料储存型闪存的数据恢复方法的步骤。本专利技术通过将资料储存型闪存中的目标物理块设置为具有n个抽象页的抽象模型,从所述n个抽象页中选定校验信息页本文档来自技高网
...
一种资料储存型闪存的数据恢复方法和装置

【技术保护点】
一种资料储存型闪存的数据恢复方法,其特征在于,所述方法包括:将资料储存型闪存中的目标物理块设置为具有n个抽象页的抽象模型,所述n为资料储存型闪存的通道数量、各通道中使能端数量、各通道的逻辑存储单元的数量、各存储单元中存储矩阵的数量、和所述目标物理块的物理页数量的乘积;从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码;在所述抽象模型中出现有效数据丢失的待恢复抽象页时,根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复。

【技术特征摘要】
1.一种资料储存型闪存的数据恢复方法,其特征在于,所述方法包括:将资料储存型闪存中的目标物理块设置为具有n个抽象页的抽象模型,所述n为资料储存型闪存的通道数量、各通道中使能端数量、各通道的逻辑存储单元的数量、各存储单元中存储矩阵的数量、和所述目标物理块的物理页数量的乘积;从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码;在所述抽象模型中出现有效数据丢失的待恢复抽象页时,根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复。2.如权利要求1所述的方法,其特征在于,所述从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码之后,所述方法还包括:根据所述抽象模型建立对应的缓存模型,所述缓存模型包括多个缓存页,以及与所述校验信息页对应的缓存校验页,其中,各缓存页根据所述通道数和所述使能端的数量生成,所述缓存校验页设置有与所述物理校验码对应的缓存校验码;接收外部的数据写入指令,将与所述数据写入指令对应的目标数据拆分为多个部分目标数据;在当前部分目标数据写入与当前缓存页对应的抽象页时,将当前部分目标数据与已写入的部分目标数据进行异或运算,并将运算结果作为所述缓存校验页的缓存校验码;在所述目标数据全部写入所述抽象模型之前,若所述抽象模型中出现部分目标数据丢失的待恢复抽象页时,则根据所述缓存校验码对所述待恢复抽象页进行数据恢复。3.如权利要求2所述的方法,其特征在于,所述将当前部分目标数据与已写入的部分目标数据进行异或运算,并将运算结果作为所述缓存校验页的缓存校验码之后,所述方法还包括:在所述目标数据全部写入所述抽象模型之后,根据所述缓存校验码对所述校验信息页的物理校验码进行更新;若所述抽象模型中出现部分目标数据丢失的待恢复抽象页时,则根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复。4.如权利要求1所述的方法,其特征在于,所述从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码,具体包括:从所述n个抽象页中选取第n个抽象页作为所述校验信息页,为所述校验信息页设置物理校验码,所述物理校验码表征为所述抽象模型中各抽象页的有效数据的异或值;相应地,所述在所述抽象模型中出现有效数据丢失的待恢复抽象页时,根据所述校验信息页的物理校验码对所述待恢复抽象页进行数据恢复,具体包括:在所述抽象模型中出现有效数据丢失的待恢复抽象页时,确定所述抽象模型中剩余抽象页的有效数据,根据所述剩余抽象页的有效数据及所述物理校验码对所述待恢复抽象页进行数据恢复。5.如权利要求1所述的方法,其特征在于,所述从所述n个抽象页中选定校验信息页,为所述校验信息页设置物理校验码,具体包括:对所述n个抽象页分别设置校验信息页,为各校验信息页分别设置物理校验码,各物理校验码表征为各抽象页的备份数据;相应地,所述在所述抽象模型中出...

【专利技术属性】
技术研发人员:余云锋吴大畏李晓强
申请(专利权)人:深圳市硅格半导体股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1