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

技术编号:28836911 阅读:22 留言:0更新日期:2021-06-11 23:34
本申请公开了一种数据恢复方法、装置、设备及介质,包括:在对物理块组进行数据写入时,将该物理块组的物理块组号写入该物理块组的每个块中;物理块组为各存储芯片上特定块号的块组成的块组;当获取到数据恢复请求,从物理块组的每个块中读取物理块组号;利用读取出的所述物理块组号以及每个块的块号构建对应的第一物理块组映射关系;基于所述第一物理块组映射关系进行数据恢复。这样,在数据写入时,将物理块组号写入物理块组的每个块,在进行数据恢复时,从相应的块中读取物理块组号,利用读取出的物理块组号和块号构建对应的物理块组映射关系,基于构建出的物理块组映射关系进行数据恢复,能够有效的进行数据恢复,从而避免数据丢失。

【技术实现步骤摘要】
一种数据恢复方法、装置、设备及介质
本申请涉及数据恢复
,特别涉及一种数据恢复方法、装置、设备及介质。
技术介绍
固态硬盘在使用过程中,可能因为软件或者硬件的原因,导致硬盘不可用,比如软件上进入死循环。厂家通常提供了方法或者工具,用于对这类盘进行全盘数据的恢复,将数据迁移到另外的盘上面,尽量减少用户的损失。目前的解决方案在进行数据恢复的过程中需要利用到盘上之前的坏块表,如果该坏块表因为某些原因丢失,那么整个盘的数据就无法进行恢复。
技术实现思路
有鉴于此,本申请的目的在于提供一种数据恢复方法、装置、设备及介质,能够有效的进行数据恢复,从而避免数据丢失。其具体方案如下:第一方面,本申请公开了一种数据恢复方法,包括:在对物理块组进行数据写入时,将该物理块组的物理块组号写入该物理块组的每个块中;其中,所述物理块组为各存储芯片上特定块号的块组成的块组;当获取到数据恢复请求,从所述物理块组的每个块中读取所述物理块组号;利用读取出的所述物理块组号以及每个块的块号构建对应的第一物理块组映射关系;基于所述第一物理块组映射关系进行数据恢复。可选的,所述从所述物理块组的每个块中读取所述物理块组号之前,还包括:获取待恢复数据的固态硬盘的坏块表;若无法获取到所述坏块表,则触发所述从所述物理块组的每个块中读取所述物理块组号的步骤。可选的,所述从所述物理块组的每个块中读取所述物理块组号之前,还包括:获取待恢复数据的固态硬盘的坏块表;基于所述坏块表确定第二物理块组映射关系;若无法基于所述坏块表确定所述第二物理块组映射关系,则触发所述从所述物理块组的每个块中读取所述物理块组号的步骤。可选的,若成功基于所述坏块表确定所述第二物理块组映射关系,所述方法还包括:利用所述第一物理块组映射关系对所述第二物理块组映射关系进行校验。可选的,所述将该物理块组的物理块组号写入该物理块组的每个块中,包括:将该物理块组的物理块组号写入该物理块组的每个块的预设页中。第二方面,本申请公开了一种数据恢复装置,包括:物理块组号写入模块,用于在对物理块组进行数据写入时,将该物理块组的物理块组号写入该物理块组的每个块中;其中,所述物理块组为各存储芯片上特定块号的块组成的块组;物理块组号读取模块,用于当获取到数据恢复请求,从所述物理块组的每个块中读取所述物理块组号;物理块组映射关系构建模块,用于利用读取出的所述物理块组号以及每个块的块号构建对应的第一物理块组映射关系;数据恢复模块,用于基于所述第一物理块组映射关系进行数据恢复。可选的,所述装置还包括:坏块表获取模块,用于获取待恢复数据的固态硬盘的坏块表。可选的,所述装置还包括:物理块组映射关系确定模块,用于基于所述坏块表确定第二物理块组映射关系。第三方面、本申请公开了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述的数据恢复方法。第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据恢复方法。可见,本申请在对物理块组进行数据写入时,将该物理块组的物理块组号写入该物理块组的每个块中;其中,所述物理块组为各存储芯片上特定块号的块组成的块组,当获取到数据恢复请求,从所述物理块组的每个块中读取所述物理块组号,然后利用读取出的所述物理块组号以及每个块的块号构建对应的第一物理块组映射关系,最后基于所述第一物理块组映射关系进行数据恢复。也即,本申请实施例在数据写入时,将物理块组号写入物理块组中的每个块中,在进行数据恢复时,即可从相应的块中读取物理块组号,利用读取出的物理块组号和块号构建对应的物理块组映射关系,基于构建出的物理块组映射关系进行数据恢复,这样,能够有效的进行数据恢复,从而避免数据丢失。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种数据恢复方法流程图;图2为本申请提供的一种数据存储结构示意图;图3为本申请公开的一种具体的数据恢复方法流程图;图4为本申请公开的一种数据恢复装置结构示意图;图5为本申请公开的一种电子设备结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。固态硬盘在使用过程中,可能因为软件或者硬件的原因,导致硬盘不可用,比如软件上进入死循环。厂家通常提供了方法或者工具,用于对这类盘进行全盘数据的恢复,将数据迁移到另外的盘上面,尽量减少用户的损失。目前的解决方案在进行数据恢复的过程中需要利用到盘上之前的坏块表,如果该坏块表因为某些原因丢失,那么整个盘的数据就无法进行恢复。为此,本申请公开了一种数据恢复方法,能够有效的进行数据恢复,从而避免数据丢失。参见图1所示,本申请实施例公开了一种数据恢复方法,包括:步骤S11:在对物理块组进行数据写入时,将该物理块组的物理块组号写入该物理块组的每个块中;其中,所述物理块组为各存储芯片上特定块号的块组成的块组。需要指出的是,SSD(即SolidStateDisk,固态硬盘),通常使用NANDFLASH作为存储介质,DIE为一个存储芯片,一个NANDFLASH的芯片封装可能存在多个DIE,各个DIE之间可独立访问,BLOCK为NANDFLASH上擦除最小单元,通常一个DIE含有多个BLOCK(块),PAGE(页)为Nandflash上读写最小单元,BLOCK由多个PAGE组成,SBLK(物理块组)为由所有DIE上块号相同的物理BLOCK组成的一个组,存在部分块被替换为其他块的情况。也即,物理块组理论上是各存储芯片上块号相同的块组成,但如果其中的某一块是坏块,也可以被其他块替代。例如,假设固态硬盘有4个DIE,编号0~3;每个DIE有100个BLOCK,编号0~99;每个BLOCK有100个PAGE,编号0~99。为便于管理和提升性能,固态硬盘通常以SBLK作为基本单位进行使用,SBLK中所有块一起擦除,一起按顺序写入数据。因为有原始坏块和新增坏块的存在,如果按照物理块编号组成SBLK,就会有很多SBLK可能因为有一个物理BLOCK损坏而整体不能用,导致空间的极大浪费。因此通常的做法是维护坏块表,提供SBLK到物理块的映射。比如SBLK70,通过查坏块表得到物理块号分别是70、70、9本文档来自技高网...

【技术保护点】
1.一种数据恢复方法,其特征在于,包括:/n在对物理块组进行数据写入时,将该物理块组的物理块组号写入该物理块组的每个块中;其中,所述物理块组为各存储芯片上特定块号的块组成的块组;/n当获取到数据恢复请求,从所述物理块组的每个块中读取所述物理块组号;/n利用读取出的所述物理块组号以及每个块的块号构建对应的第一物理块组映射关系;/n基于所述第一物理块组映射关系进行数据恢复。/n

【技术特征摘要】
1.一种数据恢复方法,其特征在于,包括:
在对物理块组进行数据写入时,将该物理块组的物理块组号写入该物理块组的每个块中;其中,所述物理块组为各存储芯片上特定块号的块组成的块组;
当获取到数据恢复请求,从所述物理块组的每个块中读取所述物理块组号;
利用读取出的所述物理块组号以及每个块的块号构建对应的第一物理块组映射关系;
基于所述第一物理块组映射关系进行数据恢复。


2.根据权利要求1所述的数据恢复方法,其特征在于,所述从所述物理块组的每个块中读取所述物理块组号之前,还包括:
获取待恢复数据的固态硬盘的坏块表;
若无法获取到所述坏块表,则触发所述从所述物理块组的每个块中读取所述物理块组号的步骤。


3.根据权利要求1所述的数据恢复方法,其特征在于,所述从所述物理块组的每个块中读取所述物理块组号之前,还包括:
获取待恢复数据的固态硬盘的坏块表;
基于所述坏块表确定第二物理块组映射关系;
若无法基于所述坏块表确定所述第二物理块组映射关系,则触发所述从所述物理块组的每个块中读取所述物理块组号的步骤。


4.根据权利要求3所述的数据恢复方法,其特征在于,若成功基于所述坏块表确定所述第二物理块组映射关系,所述方法还包括:
利用所述第一物理块组映射关系对所述第二物理块组映射关系进行校验。


5.根据权利要求1至4所述的数据恢复方法,其特征在于,所述...

【专利技术属性】
技术研发人员:陈湖广
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南;43

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

1