一种SSD的元数据恢复方法、装置、设备及介质制造方法及图纸

技术编号:37794949 阅读:11 留言:0更新日期:2023-06-09 09:25
本申请公开了一种SSD的元数据恢复方法,属于数据存储技术领域,该方法包括:当SSD上电时,则获取SSD的坏块表,并利用坏块表创建Block info表;利用Block info表读取SSD中所有Block上的任意一个page,以建立一级表;利用一级表对SSD中的所有元数据进行恢复。相较于现有技术而言,由于该方法只需要根据Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表,并对SSD内的元数据进行数据恢复,这样就可以极大的缩减在创建一级表时所需要的时间,由此就可以极大的缩短SSD在恢复元数据时所需要的时间。相应的,本申请所提供的一种SSD的元数据恢复装置、设备及介质,同样具有上述有益效果。同样具有上述有益效果。同样具有上述有益效果。

【技术实现步骤摘要】
一种SSD的元数据恢复方法、装置、设备及介质


[0001]本专利技术涉及数据存储
,特别涉及一种SSD的元数据恢复方法、装置、设备及介质。

技术介绍

[0002]SSD(Solid State Disk,固态硬盘)因其能够存储大量的数据,所以,SSD被广泛应用于军事、车载、工控、视频监控、电力、医疗、航空以及数据存储等领域当中。SSD一般是使用NAND(NAND Flash Memory,NAND闪存)作为存储介质。当主机端向SSD发送存储命令时,SSD会将主机端所发送的数据写入至NAND,并产生元数据表。当SSD下电时,SSD会对其内部的数据进行保存,当SSD再次上电时,主机端会对SSD内部所存储的元数据进行恢复。
[0003]在现有技术中,SSD通常按照元数据表

一级表

二级表

Block info表的顺序来对SSD内部的数据进行保存,并按照Block info表

二级表

一级表

元数据表的顺序来对SSD内部的数据进行恢复。其中,元数据表是指主机端将数据写入至SSD后所产生的NAND地址存储表;一级表是指元数据表写入SSD后所产生的NAND地址存储表;二级表是指一级表写入SSD后所产生的NAND地址存储表;Block info表是指管理元数据表、一级表和二级表的信息表。
[0004]在实际应用中,如果SSD突然发生断电现象,那么SSD在很大概率上不能对二级表和Block info表进行保存。SSD在再次上电时为了保证其内部存储数据的完整性,就需要对Block info表进行重建,并对SSD内的数据进行全盘扫描才能对SSD内部的元数据进行数据恢复。但是,由于SSD的此种数据恢复方法需要读取SSD中所有Block(数据块)上的所有page(页面)才能建立一级表,并利用一级表对SSD中的所有元数据进行数据恢复,这样就导致SSD在恢复元数据时需要耗费大量的时间,进而极大地降低了用户在使用SSD时的用户体验。目前,针对这一技术问题,还没有较为有效的解决办法。
[0005]由此可见,如何进一步缩短SSD在恢复元数据时所需要的时间,是本领域技术人员亟待解决的技术问题。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提供一种SSD的元数据恢复方法、装置、设备及介质,以在进一步缩短SSD在恢复元数据时所需要的时间。其具体方案如下:
[0007]为了解决现有技术中的技术缺陷,本申请提供了一种SSD的元数据恢复方法,包括:
[0008]当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;
[0009]利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;
[0010]利用所述一级表对所述SSD中的所有元数据进行恢复。
[0011]优选的,所述获取所述SSD的坏块表的过程,包括:
[0012]利用所述SSD的生产商所提供的坏块数据获取所述SSD的所述坏块表。
[0013]优选的,所述获取所述SSD的坏块表的过程,包括:
[0014]对所述SSD进行全盘读写和/或擦写,以获取所述SSD的所述坏块表。
[0015]优选的,还包括:
[0016]若在所述SSD的运行过程中发现新增加的目标坏块数据,则利用所述目标坏块数据对所述坏块表进行更新。
[0017]优选的,所述利用所述Block info表读取所述SSD中所有Block上的任意一个page的过程,包括:
[0018]利用所述Block info表读取所述SSD中所有Block上的第一个page。
[0019]优选的,所述SSD中NAND的结构具体为SLC或MLC或TCL或QLC或PLC。
[0020]优选的,所述利用所述一级表对所述SSD中的所有元数据进行恢复的过程,包括:
[0021]利用所述一级表和元数据存储标志位对所述SSD中的所有元数据进行恢复;其中,所述元数据存储标志位为任意一个元数据在写入至SSD时所对应的存储标志位。
[0022]为了解决现有技术中的技术缺陷,本申请还提供了一种SSD的元数据恢复装置,包括:
[0023]SSD上电模块,用于当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;
[0024]数据读取模块,用于利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;
[0025]数据恢复模块,用于利用所述一级表对所述SSD中的所有元数据进行恢复。
[0026]为了解决现有技术中的技术缺陷,本申请还提供了一种SSD的元数据恢复设备,包括:
[0027]存储器,用于存储计算机程序;
[0028]处理器,用于执行所述计算机程序时实现如前述所公开的一种SSD的元数据恢复方法的步骤。
[0029]为了解决现有技术中的技术缺陷,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所公开的一种SSD的元数据恢复方法的步骤。
[0030]可见,在本专利技术所提供的元数据恢复方法中,当SSD上电时,首先是获取SSD的坏块表,并利用SSD的坏块表创建Block info表;之后,再利用Block info表读取SSD中所有Block上的任意一个page,因为SSD中每一个Block内所有page所存储的数据格式相同,所以,通过Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表;最后,再利用一级表对SSD中的所有元数据进行恢复。相较于现有技术而言,由于该方法只需要根据Block info表读取SSD中所有Block上的任意一个page就可以建立得到SSD的一级表,这样就可以节省SSD在建立一级表时所需要的时间,由此就可以极大地缩短SSD在恢复元数据时所需要的时间。相应的,本专利技术所提供的一种SSD的元数据恢复装置、设备及介质,同样具有上述有益效果。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0032]图1为本专利技术实施例所提供的一种SSD的元数据恢复方法的流程图;
[0033]图2为本专利技术实施例所提供的一种SSD的元数据恢复装置的结构图;
[0034]图3为本专利技术实施例所提供的一种SSD的元数据恢复设备的结构图。
具体实施方式
[0035]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SSD的元数据恢复方法,其特征在于,包括:当SSD上电时,则获取所述SSD的坏块表,并利用所述坏块表创建Block info表;利用所述Block info表读取所述SSD中所有Block上的任意一个page,以建立一级表;利用所述一级表对所述SSD中的所有元数据进行恢复。2.根据权利要求1所述的元数据恢复方法,其特征在于,所述获取所述SSD的坏块表的过程,包括:利用所述SSD的生产商所提供的坏块数据获取所述SSD的所述坏块表。3.根据权利要求1所述的元数据恢复方法,其特征在于,所述获取所述SSD的坏块表的过程,包括:对所述SSD进行全盘读写和/或擦写,以获取所述SSD的所述坏块表。4.根据权利要求1所述的元数据恢复方法,其特征在于,还包括:若在所述SSD的运行过程中发现新增加的目标坏块数据,则利用所述目标坏块数据对所述坏块表进行更新。5.根据权利要求1所述的元数据恢复方法,其特征在于,所述利用所述Block info表读取所述SSD中所有Block上的任意一个page的过程,包括:利用所述Block info表读取所述SSD中所有Block上的第一个page。6.根据权利要求1所述的元数据恢复方法,其特征在于,所述SS...

【专利技术属性】
技术研发人员:王思润白建家建奎
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1