SSD异常掉电后恢复block信息的方法及相关组件技术

技术编号:23099066 阅读:24 留言:0更新日期:2020-01-14 20:35
本发明专利技术公开了一种SSD异常掉电后恢复block信息的方法,包括:获取任意一个待恢复block信息的super block中的第一个和最后一个super page的状态;判断第一个super page是否为写过状态,且最后一个是否为擦除状态;若是则通过二分法确定出super block的各个super page中的最后一个状态为写过状态的super page,并进行该super page的编号记录,确定super block为部分写过状态。应用本申请的方案,极大地缩短了block信息的恢复的耗时,且不会降低准确度。本申请还提供了SSD异常掉电后恢复block信息的相关组件,具有相应效果。

Recovery of block information and related components after SSD abnormal power failure

【技术实现步骤摘要】
SSD异常掉电后恢复block信息的方法及相关组件
本专利技术涉及计算机
,特别是涉及一种SSD异常掉电后恢复block信息的方法及相关组件。
技术介绍
SSD(SolidStateDisk,固态硬盘)可能会发生异常掉电的情况,在上电之后,便需要恢复SSD中的block信息,即确定出superblock中哪些页被使用,哪些未被使用,将恢复后的block信息保存至基于DDR(DoubleDataRate,双倍数据速率)的缓存中。传统方案中,在进行block信息的恢复时,按照superpage的编码,依次读取每一个superpage的状态。当确定出某一个superpage为擦除状态时,便可以确定该superblock从第一个superpage使用至该superpage,进而将该superpage的页号以及状态保存至DDR,完成该superblock的block信息的恢复。由于大容量的SSD包含的superblock数目多,并且一个superblock中含有的superpage的数目也多达几百或者上千,使得传统方案在进行block信息的恢复时,耗时非常长。综上所述,如何有效地降低SSD异常掉电后,上电恢复block信息的耗时,是目前本领域技术人员急需解决的技术问题。
技术实现思路
本专利技术的目的是提供一种SSD异常掉电后恢复block信息的方法及相关组件,以降低SSD异常掉电后上电恢复block信息的耗时。为解决上述技术问题,本专利技术提供如下技术方案:一种SSD异常掉电后恢复block信息的方法,包括:获取任意一个待恢复block信息的superblock中的第一个superpage的状态以及最后一个superpage的状态;判断第一个superpage的状态是否为写过状态,且最后一个superpage的状态是否为擦除状态;如果是,则通过二分法确定出所述superblock的各个superpage中的最后一个状态为写过状态的superpage,并进行该superpage的编号记录,结束所述superblock的block信息恢复流程,并确定所述superblock为部分写过状态。优选的,在获取任意一个待恢复block信息的superblock中的第一个superpage的状态以及最后一个superpage的状态之后,还包括:当判断出第一个superpage的状态以及最后一个superpage的状态均为擦除状态时,结束所述superblock的block信息恢复流程,并确定所述superblock为擦除状态;当判断出第一个superpage的状态以及最后一个superpage的状态均为写过状态时,结束所述superblock的block信息恢复流程,并确定所述superblock为完全写过状态。优选的,在确定任意一个superpage的状态时,当确定出该superpage的第一个block的第一个基本存储单元的状态为擦除状态时,确定该superpage为擦除状态;当确定出该superpage的第一个block的第一个基本存储单元的状态为写过状态时,确定该superpage为写过状态。优选的,在确定任意一个superpage的状态时,当确定出该superpage的每一个block的第一个基本存储单元的状态为擦除状态时,确定该superpage为擦除状态;当确定出该superpage中至少有一个block的第一个基本存储单元的状态为写过状态时,确定该superpage为写过状态。优选的,在获取任意一个待恢复block信息的superblock中的第一个superpage的状态以及最后一个superpage的状态之前,还包括:读取所述superblock的物理坏块表,并判断所述物理坏块表中的坏块数量是否低于预设阈值;如果否,则执行获取所述superblock中的第一个superpage的状态以及最后一个superpage的状态的操作;如果是,则停止所述superblock的block信息的恢复。优选的,在判断出所述物理坏块表中的坏块数量低于预设阈值之后,在获取所述superblock中的第一个superpage的状态以及最后一个superpage的状态之前,还包括:根据所述物理坏块表排除所述superblock中的各个坏块,以使得在确定所述superblock中的任意一个superpage的状态时,基于所述superblock中的各个好块进行该superpage的状态确定。优选的,在所述停止所述superblock的block信息的恢复之后,还包括:进行事件记录并输出提示信息。一种SSD异常掉电后恢复block信息的系统,包括:初始superpage状态获取模块,用于获取任意一个待恢复block信息的superblock中的第一个superpage的状态以及最后一个superpage的状态;第一判断模块,用于判断第一个superpage的状态是否为写过状态,且最后一个superpage的状态是否为擦除状态;如果是,则触发第一结果确定模块,用于通过二分法确定出所述superblock的各个superpage中的最后一个状态为写过状态的superpage,并进行该superpage的编号记录,结束所述superblock的block信息恢复流程,并确定所述superblock为部分写过状态。一种SSD异常掉电后恢复block信息的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序以实现如上述任一项所述的SSD异常掉电后恢复block信息的方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的SSD异常掉电后恢复block信息的方法的步骤。应用本专利技术实施例所提供的技术方案,采用二分法进行block信息的恢复。具体的,获取任意一个待恢复block信息的superblock中的第一个superpage的状态以及最后一个superpage的状态。由于在使用superblock的superpage时是按照先后顺序依次使用,因此,当第一个superpage的状态为写过状态,且最后一个superpage的状态为擦除状态时,便通过二分法确定出该superblock的各个superpage中的最后一个状态为写过状态的superpage,并进行该superpage的编号记录。由于superpage数量众多,且通常会被大量使用,因此相较于传统方案中逐个superpage的检验,采用二分法的方式可以极大地缩短耗时,实现block信息的恢复,并且并不会降低准确度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一本文档来自技高网...

【技术保护点】
1.一种SSD异常掉电后恢复block信息的方法,其特征在于,包括:/n获取任意一个待恢复block信息的super block中的第一个super page的状态以及最后一个super page的状态;/n判断第一个super page的状态是否为写过状态,且最后一个super page的状态是否为擦除状态;/n如果是,则通过二分法确定出所述super block的各个super page中的最后一个状态为写过状态的super page,并进行该super page的编号记录,结束所述super block的block信息恢复流程,并确定所述super block为部分写过状态。/n

【技术特征摘要】
1.一种SSD异常掉电后恢复block信息的方法,其特征在于,包括:
获取任意一个待恢复block信息的superblock中的第一个superpage的状态以及最后一个superpage的状态;
判断第一个superpage的状态是否为写过状态,且最后一个superpage的状态是否为擦除状态;
如果是,则通过二分法确定出所述superblock的各个superpage中的最后一个状态为写过状态的superpage,并进行该superpage的编号记录,结束所述superblock的block信息恢复流程,并确定所述superblock为部分写过状态。


2.根据权利要求1所述的SSD异常掉电后恢复block信息的方法,其特征在于,在获取任意一个待恢复block信息的superblock中的第一个superpage的状态以及最后一个superpage的状态之后,还包括:
当判断出第一个superpage的状态以及最后一个superpage的状态均为擦除状态时,结束所述superblock的block信息恢复流程,并确定所述superblock为擦除状态;
当判断出第一个superpage的状态以及最后一个superpage的状态均为写过状态时,结束所述superblock的block信息恢复流程,并确定所述superblock为完全写过状态。


3.根据权利要求1所述的SSD异常掉电后恢复block信息的方法,其特征在于,在确定任意一个superpage的状态时,当确定出该superpage的第一个block的第一个基本存储单元的状态为擦除状态时,确定该superpage为擦除状态;当确定出该superpage的第一个block的第一个基本存储单元的状态为写过状态时,确定该superpage为写过状态。


4.根据权利要求1所述的SSD异常掉电后恢复block信息的方法,其特征在于,在确定任意一个superpage的状态时,当确定出该superpage的每一个block的第一个基本存储单元的状态为擦除状态时,确定该superpage为擦除状态;当确定出该superpage中至少有一个block的第一个基本存储单元的状态为写过状态时,确定该superpage为写过状态。


5.根据权利要求1至4任一项所述的SSD异常掉电后恢复block信息的方法,其特征在于,在获取任意一个待恢复block信息的superblock中的第一个superpage的状态...

【专利技术属性】
技术研发人员:宋琪
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1