固态硬盘的数据恢复方法以及固态硬盘技术

技术编号:19903312 阅读:39 留言:0更新日期:2018-12-26 02:52
本申请实施例公开了固态硬盘的数据恢复方法以及固态硬盘,用于在固态硬盘发生断电和通电时分类型同时保存以及同时恢复L2P的元数据,提升了固态硬盘的实用性。本申请实施例方法包括:固态硬盘将逻辑到物理地址转换L2P类型的元数据划分为至少两个元数据类型;为各个元数据类型设置静态随机存储区域;根据L2P类型的元数据的数据容量以及预设的逻辑块地址LBA的数据容量计算LBA的个数;当固态硬盘正常运行时,固态硬盘根据LBA将第一改变量以及第一基数据分别存储至闪存NAND;当固态硬盘断电时,固态硬盘根据LBA将第二改变量以及第二基数据分别存储至NAND;当固态硬盘通电时,固态硬盘根据LBA分别读取基数据,并根据LBA分别读取改变量;用改变量修补对应的基数据。

【技术实现步骤摘要】
固态硬盘的数据恢复方法以及固态硬盘
本申请涉及计算机
,特别涉及一种固态硬盘的数据恢复方法以及该固态硬盘。
技术介绍
固态硬盘(solidstatedisk,SSD)的元数据是用于对SSD内部的用户数据进行管理的数据,常见的元数据有配置数据(configdata)、数据块(block)管理信息数据、逻辑到物理地址转换(logicaltophysicaladdress,L2P)数据以及修剪(trim)数据等。通常L2P类型的元数据占据SSD中所有元数据的绝大部分数据量,L2P表中存储有SSD中所有L2P的映射关系。如果SSD丢失或篡改了一段L2P表,都会直接导致用户数据丢失甚至SSD无法正常工作,所以当SSD发生突然断电,SSD如何在通电时恢复丢失了的用户数据至关重要。目前有一种固态硬盘恢复数据恢复方法,首先是将SSD中需要保存的元数据类型逐一罗列,在SSD运行时保存不同类型的元数据的改变量以及元数据的基数据,断电时同样保存不同类型的元数据的改变量以及元数据的基数据,然后在通电时同时恢复各种类型的元数据。然而,由于SSD中L2P的数据量占据的比例非常大,所以固态硬盘在恢复L2P类型的元数据时需要花费大量的时间,因此导致SSD通电后无法立即开始正常工作,SSD通电后正常运行的效率有待提高。
技术实现思路
本申请实施例提供了固态硬盘的数据恢复方法以及固态硬盘,能够在固态硬盘发生断电和通电时分类型同时保存以及同时恢复L2P的元数据,提升了固态硬盘的实用性。本申请实施例提供了一种固态硬盘的数据恢复方法,包括:固态硬盘将逻辑到物理地址转换L2P类型的元数据划分为至少两个元数据类型;所述固态硬盘为各个所述元数据类型设置静态随机存储区域,所述静态随机存储区域用于存储各个所述元数据类型的元数据的改变量;所述固态硬盘根据所述L2P类型的元数据的数据容量以及预设的逻辑块地址LBA的数据容量计算所述LBA的个数;当所述固态硬盘正常运行时,所述固态硬盘根据所述LBA将各个第一改变量以及各个第一基数据分别存储至闪存NAND(NANDflashmemory),所述第一改变量为在对应的所述静态随机存储区域中存储的所述改变量达到饱和时的改变量,所述第一基数据为所述第一改变量对应的存储在双倍速率同步动态随机存储器(doubledataratesynchronousdynamicrandomaccessmemory,DDRSDRAM)中的各个所述元数据类型的元数据的基数据,所述LBA为当所述固态硬盘将各个待存储数据存储至所述NAND时所分配的LBA,所述待存储数据包含各个所述静态随机存储区域中存储的所述改变量和/或各个存储在所述DDRSDRAM中的所述基数据;当所述固态硬盘断电时,所述固态硬盘根据所述LBA将各个第二改变量以及各个第二基数据分别存储至所述NAND,所述第二改变量为在对应的所述静态随机存储区域中存储的所述改变量未达到饱和时的改变量,所述第二基数据为存储在所述DDRSDRAM中的与所述第二改变量对应的基数据;当所述固态硬盘通电时,所述固态硬盘同时根据各个所述LBA分别读取所述基数据,所述基数据包括所述第一基数据以及所述第二基数据;所述固态硬盘同时根据各个所述LBA分别读取所述改变量,所述改变量包括第一改变量以及所述第二改变量;所述固态硬盘用各个所述改变量修补对应的所述基数据,以使得所述固态硬盘恢复各个所述元数据类型的元数据。可选地,固态硬盘将逻辑到物理地址转换L2P类型的元数据划分为至少两个元数据类型包括:所述固态硬盘根据数据容量最大的目标元数据类型将所述L2P类型的元数据划分为至少两个元数据类型,所述目标元数据类型为固态硬盘中除所述L2P类型以外的元数据类型。可选地,当所述固态硬盘断电时,所述固态硬盘根据所述LBA将各个第二改变量以及各个第二基数据分别存储至所述NAND包括:当所述固态硬盘断电时,所述固态硬盘使用所述LBA申请与所述LBA对应的物理区块地址(physicalblockaddress,PBA);所述固态硬盘将所述PBA保存至所述LBA与所述PBA相对应的映射表中;所述固态硬盘将各个所述第二改变量以及各个所述第二基数据保存至所述NAND的超级数据块区域,并将各个第二改变量以及各个第二基数据的所述PBA分别存储至与所述PBA对应的所述NAND的区域。可选地,当当所述固态硬盘通电时,所述固态硬盘同时根据各个所述LBA分别读取所述基数据包括:当所述固态硬盘通电时,所述固态硬盘同时使用各个所述LBA分别从所述超级数据块区域中读取所述PBA;所述固态硬盘同时使用各个所述PBA分别读取所述基数据;所述固态硬盘同时根据各个所述LBA分别读取所述改变量包括:所述固态硬盘同时使用各个所述PBA分别读取所述改变量。本申请实施例提供了一种固态硬盘,其特征在于,包括:划分单元,用于将逻辑到物理地址转换L2P类型的元数据划分为至少两个元数据类型;设置单元,用于为各个所述元数据类型设置静态随机存储区域,所述静态随机存储区域用于存储各个所述元数据类型的元数据的改变量;计算单元,用于根据所述L2P类型的元数据的数据容量以及预设的逻辑块地址LBA的数据容量计算所述LBA的个数;第一存储单元,用于当所述固态硬盘正常运行时,根据所述LBA将各个第一改变量以及各个第一基数据分别存储至闪存NAND,所述第一改变量为在对应的所述静态随机存储区域中存储的所述改变量达到饱和时的改变量,所述第一基数据为所述第一改变量对应的存储在双倍速率同步动态随机存储器DDRSDRAM中的各个所述元数据类型的元数据的基数据,所述LBA为当所述固态硬盘将各个待存储数据存储至所述NAND时所分配的LBA,所述待存储数据包含各个所述静态随机存储区域中存储的所述改变量和/或各个存储在所述DDRSDRAM中的所述基数据;第二存储单元,用于当所述固态硬盘断电时,根据所述LBA将各个第二改变量以及各个第二基数据分别存储至所述NAND,所述第二改变量为在对应的所述静态随机存储区域中存储的所述改变量未达到饱和时的改变量,所述第二基数据为存储在所述DDRSDRAM中的与所述第二改变量对应的基数据;读取单元,用于当所述固态硬盘通电时,同时根据各个所述LBA分别读取所述基数据,所述基数据包括所述第一基数据以及所述第二基数据;修补单元,用于同时根据所述LBA分别读取所述改变量,所述改变量包括第一改变量以及所述第二改变量;用各个所述改变量修补对应的所述基数据,以使得所述固态硬盘恢复各个所述元数据类型的元数据。可选地,所述划分单元具体用于根据数据容量最大的目标元数据类型将所述L2P类型的元数据划分为至少两个元数据类型,所述目标元数据类型为固态硬盘中除所述L2P类型以外的元数据类型。可选地,所述第二存储单元具体用于当所述固态硬盘断电时,使用所述LBA申请与所述LBA对应的物理区块地址PBA;将所述PBA保存至所述LBA与所述PBA相对应的映射表中;将各个所述第二改变量以及各个所述第二基数据的所述PBA保存至所述NAND的超级数据块区域,并将各个第二改变量以及各个第二基数据分别存储至所述PBA对应的所述NAND的区域。可选地,所述读取单元具体用于当所述固态硬盘通电时,同时使用各个所述LBA分别从本文档来自技高网...

【技术保护点】
1.一种固态硬盘的数据恢复方法,其特征在于,包括:固态硬盘将逻辑到物理地址转换L2P类型的元数据划分为至少两个元数据类型;所述固态硬盘为各个所述元数据类型设置静态随机存储区域,所述静态随机存储区域用于存储各个所述元数据类型的元数据的改变量;所述固态硬盘根据所述L2P类型的元数据的数据容量以及预设的逻辑块地址LBA的数据容量计算所述LBA的个数;当所述固态硬盘正常运行时,所述固态硬盘根据所述LBA将各个第一改变量以及各个第一基数据分别存储至闪存NAND,所述第一改变量为在对应的所述静态随机存储区域中存储的所述改变量达到饱和时的改变量,所述第一基数据为所述第一改变量对应的存储在双倍速率同步动态随机存储器DDRSDRAM中的各个所述元数据类型的元数据的基数据,所述LBA为当所述固态硬盘将各个待存储数据存储至所述NAND时所分配的LBA,所述待存储数据包含各个所述静态随机存储区域中存储的所述改变量和/或各个存储在所述DDRSDRAM中的所述基数据;当所述固态硬盘断电时,所述固态硬盘根据所述LBA将各个第二改变量以及各个第二基数据分别存储至所述NAND,所述第二改变量为在对应的所述静态随机存储区域中存储的所述改变量未达到饱和时的改变量,所述第二基数据为存储在所述DDR SDRAM中的与所述第二改变量对应的基数据;当所述固态硬盘通电时,所述固态硬盘同时根据各个所述LBA分别读取所述基数据,所述基数据包括所述第一基数据以及所述第二基数据;所述固态硬盘同时根据各个所述LBA分别读取所述改变量,所述改变量包括第一改变量以及所述第二改变量;所述固态硬盘用各个所述改变量修补对应的所述基数据,以使得所述固态硬盘恢复各个所述元数据类型的元数据。...

【技术特征摘要】
1.一种固态硬盘的数据恢复方法,其特征在于,包括:固态硬盘将逻辑到物理地址转换L2P类型的元数据划分为至少两个元数据类型;所述固态硬盘为各个所述元数据类型设置静态随机存储区域,所述静态随机存储区域用于存储各个所述元数据类型的元数据的改变量;所述固态硬盘根据所述L2P类型的元数据的数据容量以及预设的逻辑块地址LBA的数据容量计算所述LBA的个数;当所述固态硬盘正常运行时,所述固态硬盘根据所述LBA将各个第一改变量以及各个第一基数据分别存储至闪存NAND,所述第一改变量为在对应的所述静态随机存储区域中存储的所述改变量达到饱和时的改变量,所述第一基数据为所述第一改变量对应的存储在双倍速率同步动态随机存储器DDRSDRAM中的各个所述元数据类型的元数据的基数据,所述LBA为当所述固态硬盘将各个待存储数据存储至所述NAND时所分配的LBA,所述待存储数据包含各个所述静态随机存储区域中存储的所述改变量和/或各个存储在所述DDRSDRAM中的所述基数据;当所述固态硬盘断电时,所述固态硬盘根据所述LBA将各个第二改变量以及各个第二基数据分别存储至所述NAND,所述第二改变量为在对应的所述静态随机存储区域中存储的所述改变量未达到饱和时的改变量,所述第二基数据为存储在所述DDRSDRAM中的与所述第二改变量对应的基数据;当所述固态硬盘通电时,所述固态硬盘同时根据各个所述LBA分别读取所述基数据,所述基数据包括所述第一基数据以及所述第二基数据;所述固态硬盘同时根据各个所述LBA分别读取所述改变量,所述改变量包括第一改变量以及所述第二改变量;所述固态硬盘用各个所述改变量修补对应的所述基数据,以使得所述固态硬盘恢复各个所述元数据类型的元数据。2.根据权利要求1所述的方法,其特征在于,固态硬盘将逻辑到物理地址转换L2P类型的元数据划分为至少两个元数据类型包括:所述固态硬盘根据数据容量最大的目标元数据类型将所述L2P类型的元数据划分为至少两个元数据类型,所述目标元数据类型为固态硬盘中除所述L2P类型以外的元数据类型。3.根据权利要求1或2所述的方法,其特征在于,当所述固态硬盘断电时,所述固态硬盘根据所述LBA将各个第二改变量以及各个第二基数据分别存储至所述NAND包括:当所述固态硬盘断电时,所述固态硬盘使用所述LBA申请与所述LBA对应的物理区块地址PBA;所述固态硬盘将所述PBA保存至所述LBA与所述PBA相对应的映射表中;所述固态硬盘将各个所述第二改变量以及各个所述第二基数据的所述PBA保存至所述NAND的超级数据块区域,并将各个第二改变量以及各个第二基数据分别存储至与所述PBA对应的所述NAND的区域。4.根据权利要求3所述的方法,其特征在于,当所述固态硬盘通电时,所述固态硬盘同时根据各个所述LBA分别读取所述基数据包括:当所述固态硬盘通电时,所述固态硬盘同时使用各个所述LBA分别从所述超级数据块区域中读取所述PBA;所述固态硬盘同时使用各个所述PBA分别读取所述基数据;所述固态硬盘同时根据各个所述LBA分别读取所述改变量包括:所述固态硬...

【专利技术属性】
技术研发人员:苗森
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东,37

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

1