一种数据恢复方法、装置、设备及存储介质与流程

文档序号:35015596发布日期:2023-08-04 06:59阅读:32来源:国知局
一种数据恢复方法、装置、设备及存储介质与流程

本发明涉及计算机,特别涉及一种数据恢复方法、装置、设备及存储介质。


背景技术:

1、nandflash在寿命周期内会出现不同程度的位翻转,通常存储厂商会使用ldpc(low density parity check,一种数据纠错算法)来校验和恢复数据。如果错误位数超过ldpc纠错能力,ldpc就无法检验和恢复,如果主控芯片采取了raid5架构,出现了ldpc不可纠的情况可以采用raid(redundant array of inexpensive disks,磁盘阵列)机制来恢复。ssd(solid state drive,固态驱动器)使用过程中,die(同lun,nandflash最小执行单元)失效后会影响到数据的完整性和可靠性,目前通常技术是让ssd进入read only(只读)模式,认定这个盘只读,这种方案大大降低了ssd的使用寿命。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种数据恢复方法、装置、设备和存储介质,能够保障后续写入的数据的可靠性,提升数据的访问效率。其具体方案如下:

2、第一方面,本技术公开了一种数据恢复方法,包括:

3、对当前条带执行预设数据纠正算法,以便基于执行结果判断所述当前条带是否满足预设数据恢复条件;

4、若所述当前条带满足所述预设数据恢复条件,则判断固态驱动器是否满足预设磁盘阵列降级条件;

5、当所述固态驱动器满足所述预设磁盘阵列降级条件时,按照预设磁盘阵列降级方式调整原始条带对应的原始比例,以得到调整后的目标比例对应的目标条带;

6、基于预设数据回收方法将所述原始条带中的原始数据回收至所述目标条带,以得到填充后目标条带,并利用所述填充后目标条带恢复对应的数据。

7、可选的,所述判断固态驱动器是否满足预设磁盘阵列降级条件之前,还包括:

8、判断所述当前条带上是否标记用于表征失效的标识信息,以得到判断结果;

9、若所述判断结果为所述当前条带上标记用于表征失效的所述标识信息,则执行所述判断固态驱动器是否满足预设磁盘阵列降级条件的步骤;

10、当所述固态驱动器不满足所述预设磁盘阵列降级条件时,确定所述当前条带对应的最近轮次的降级磁盘阵列;所述降级磁盘阵列为执行过所述预设磁盘阵列降级方式的磁盘阵列;

11、基于最近轮次的所述降级磁盘阵列恢复所述当前条带的所述数据;

12、若所述判断结果为所述当前条带上未标记用于表征失效的所述标识信息,则执行所述判断固态驱动器是否满足预设磁盘阵列降级条件的步骤;

13、当所述固态驱动器不满足所述预设磁盘阵列降级条件时,确定所述当前条带对应的原始磁盘阵列;所述原始磁盘阵列为未执行过所述预设磁盘阵列降级方式的磁盘阵列;

14、基于所述原始磁盘阵列恢复所述当前条带的所述数据。

15、可选的,所述判断固态驱动器是否满足预设磁盘阵列降级条件,包括:

16、基于预设判断方法判断所述固态驱动器上的最小执行单元是否失效,以得到判断结果;

17、基于所述判断结果判断所述固态驱动器是否满足所述预设磁盘阵列降级条件。

18、可选的,所述基于预设判断方法判断所述固态驱动器上的所述最小执行单元是否失效,以得到判断结果,包括:

19、定期检测所述最小执行单元中的物理块,并获取所述最小执行单元中的坏块数量;

20、若所述坏块数量超出预设坏块阈值,则判定所述最小执行单元失效;

21、相应的,所述基于所述判断结果判断所述固态驱动器是否满足所述预设磁盘阵列降级条件,包括:

22、当所述最小执行单元失效时,判定所述固态驱动器满足所述预设磁盘阵列降级条件。

23、可选的,所述判定所述固态驱动器满足所述预设磁盘阵列降级条件之后,还包括:

24、当所述固态驱动器满足所述预设磁盘阵列降级条件时,对所述最小执行单元标记用于表征失效的所述标识信息。

25、可选的,所述基于预设数据回收方法将所述原始条带中的原始数据回收至所述目标条带,以得到填充后目标条带之后,还包括:

26、判断是否被允许继续建立最新的所述降级磁盘阵列;

27、若不被允许继续建立最新的所述降级磁盘阵列,则结束;

28、若被允许继续建立最新的所述降级磁盘阵列,则在最新的所述降级磁盘阵列建立后重新进入所述对当前条带执行预设数据纠正算法,以便基于执行结果判断所述当前条带是否满足预设数据恢复条件的步骤。

29、可选的,所述按照预设磁盘阵列降级方式调整原始条带对应的原始比例,以得到调整后的目标比例对应的目标条带,包括:

30、获取所述原始条带的最小执行单元总数;

31、基于所述最小执行单元总数、预设校验位位数以及预设比例确定公式确定所述原始比例;所述原始比例为原始有效最小执行单元数值与所述预设校验位位数的比例;

32、获取所述原始条带中的失效最小执行单元数量;

33、基于所述失效最小执行单元数量、所述最小执行单元总数以及所述预设校验位位数计算目标有效最小执行单元数值;

34、基于所述目标有效最小执行单元数值以及所述预设校验位位数确定所述目标比例,得到所述目标比例对应的所述目标条带。

35、第二方面,本技术公开了一种数据恢复装置,包括:

36、数据恢复判断模块,用于对当前条带执行预设数据纠正算法,以便基于执行结果判断所述当前条带是否满足预设数据恢复条件;

37、磁盘阵列降级判断模块,用于若所述当前条带满足所述预设数据恢复条件,则判断固态驱动器是否满足预设磁盘阵列降级条件;

38、条带调整模块,用于当所述固态驱动器满足所述预设磁盘阵列降级条件时,按照预设磁盘阵列降级方式调整原始条带对应的原始比例,以得到调整后的目标比例对应的目标条带;

39、数据回收模块,用于基于预设数据回收方法将所述原始条带中的原始数据回收至所述目标条带,以得到填充后目标条带;

40、数据恢复模块,用于利用所述填充后目标条带恢复对应的数据。

41、第三方面,本技术公开了一种电子设备,包括:

42、存储器,用于保存计算机程序;

43、处理器,用于执行所述计算机程序,以实现如前述公开的数据恢复方法的步骤。

44、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的数据恢复方法。

45、可见,本技术提供了一种数据恢复方法,包括:对当前条带执行预设数据纠正算法,以便基于执行结果判断所述当前条带是否满足预设数据恢复条件;若所述当前条带满足所述预设数据恢复条件,则判断固态驱动器是否满足预设磁盘阵列降级条件;当所述固态驱动器满足所述预设磁盘阵列降级条件时,按照预设磁盘阵列降级方式调整原始条带对应的原始比例,以得到调整后的目标比例对应的目标条带;基于预设数据回收方法将所述原始条带中的原始数据回收至所述目标条带,以得到填充后目标条带,并利用所述填充后目标条带恢复对应的数据。由此可见,本技术通过调整原始条带对应的原始比例将磁盘阵列降级,通过降级后的磁盘阵列回收原始数据,通过降级后的磁盘阵列保护目标条带,保障后续写入的数据的可靠性,提升数据的访问效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1