一种固态硬盘上的连续时间数据保护方法

xiaoxiao2020-10-23  14

一种固态硬盘上的连续时间数据保护方法
【技术领域】
[0001]本发明涉及固态硬盘存储领域,特别涉及一种固态硬盘上的连续时间数据保护方法。
【背景技术】
[0002]存储设备常面临各种风险,包括:硬件障碍、病毒入侵、恶意攻击、偶然性错误等等。为了更好的保护数据,建立强健的存储系统是很必要的。备份,snapshots和⑶P(Continuous Data Protect1n)是很多研究者通常使用的数据保护技术。backup和snapshots定期保存硬盘镜像的确定个数的vers1n。⑶P理论上来说可以提供任意数目的vers1ns,应用范围更广泛。随着固态硬盘的应用更加广泛,在固态硬盘上的数据保护技术的应用也慢慢涌现,多数是在特定的时间点做硬盘数据的备份。目前已有的基于固态硬盘的数据保护方法大多是在设定的时间间隔上定期保存某个时间点的硬盘数据,当用户发现错误时只能恢复到特定的某几个时间点,这对数据的保护并不健全,不能对数据进行连续时间点的恢复。另外已有的能够应用在固态硬盘上的连续时间点的数据恢复的方法占用大量的内存空间来记录FTL中映射信息的每次变化,也会加大硬盘的额外操作时间,过多的影响硬盘的正常读写,并且现有技术中由于记录数据的变化会造成内存占用过多的问题。

【发明内容】

[0003]本发明通过一种固态硬盘上的连续时间数据保护方法,实现了连续时间上的数据保护,用户只需要选择自己需要数据恢复的时间点,硬盘即可以恢复到指定时间点的数据状态,克服了单个时间点的数据保护的不完整性,并且大大降低了对硬盘数据正常的读写的影响。
[0004]本发明采用如下技术方案:
[0005]一种固态硬盘上的连续时间数据保护方法,包括:
[0006]在硬盘写过程中,FTL的页映射表中加入时间戳信息;
[0007]将需要恢复的时间点写入到NOR FLASH中;
[0008]从NAND FLASH中恢复映射表的备份;
[0009]确认NOR FLASH的恢复时间点;
[0010]根据NOR FLASH的恢复时间点,对FLASH中的数据块进行排序;
[0011]跳跃扫描排序后的数据块中的数据物理页获取数据写入时间;
[0012]比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到“恢复时间”的完整映射信息。
[0013]优选地,其中,所述将需要恢复的时间点写入到NOR FLASH中进一步包括下述步骤:
[0014]提出回退到一个相对安全的时间点的请求;
[0015]发送请求指令获取允许恢复的时间段;
[0016]选取所述时间段中需要恢复的时间点;
[0017]发送指令通知FTL需要恢复的时间点;
[0018]将需要恢复的时间点写入到NOR FLASH中。
[0019]优选地,所述发送请求指令获取允许恢复的时间段进一步包括:N0R FLASH保存的最新的窗口值后,再将允许恢复的时间段反馈给用户。
[0020]优选地,其中,根据NOR FLASH中是否有“恢复时间”,来确认是否进行数据恢复。[0021 ] 优选地,其中,根据NOR FLASH的恢复时间点,对FLASH中的数据块进行排序,包括下述步骤:
[0022]读取硬盘中每个数据块的标识;
[0023]按照标识号由小到大进行排序。
[0024]优选地,在完成将需要恢复的时间点写入到NOR FLASH中的步骤后关机,重新上电后开始从NAND FLASH中恢复映射表的备份。
[0025]优选地,所述跳跃扫描排序后的数据块中的数据物理页获取数据写入时间,包括:在每一个物理页中存有其前面若干个物理页的数据写入时间。
[0026]优选地,所述比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到恢复时间的完整映射信息包括:
[0027]在扫描数据页时,对于其中扫描到的因搬移而写入的页,如果该页写入时间大于映射表中该条映射信息中记录的时间戳,则更新映射表;
[0028]对于其中扫描到的每一个HOST端写入的页,如果该页写入时间大于映射表中该条映射信息中记录的时间戳,并且小于要恢复的时间,则更新映射信息。
[0029]优选地,在完成跳跃扫描排序后的数据块中的数据物理页获取数据写入时间的步骤后还包括擦除NOR FLASH中的回退时间。
[0030]本发明通过一种固态硬盘上的连续时间数据保护方法,实现了连续时间上的数据保护,克服了单个时间点的数据保护的不完整性,它不需要占用额外的硬盘空间保存数据的几份拷贝,也不需要占用大量的内存空间记录映射信息的每次变化。用户只需要选择自己需要数据恢复的时间点,硬盘即可以恢复到指定时间点的数据状态。本专利提出带有时间戳的地址映射表,只有在用户发现数据出现问题需要回退时才动态建立映射表,而不是对每一次数据更新进行记录,并且大大降低了对硬盘数据正常的读写的影响。
【附图说明】
[0031]图1为本发明实施例提供的一种负载均衡的空间数据处理方法;
[0032]图2为本发明实施例提供的获得需要恢复的时间点的方法;
[0033]图3为本发明实施例提供的映射表内容示意图。
【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]本发明实施例提供了一种固态硬盘上的连续时间数据保护方法,包括:
[0036]在硬盘写过程中,FTL的页映射表中加入时间戳信息;
[0037]将需要恢复的时间点写入到NOR FLASH中;
[0038]从NAND FLASH中恢复映射表的备份;
[0039]确认NOR FLASH的恢复时间点;
[0040]根据NOR FLASH的恢复时间点,对FLASH中的数据块进行排序;
[0041]跳跃扫描排序后的数据块中的数据物理页获取数据写入时间;
[0042]比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到“恢复时间”的完整映射信息。
[0043]本发明通过一种固态硬盘上的连续时间数据保护方法,实现了连续时间上的数据保护,用户只需要选择自己需要数据恢复的时间点,硬盘即可以恢复到指定时间点的数据状态,克服了单个时间点的数据保护的不完整性,并且大大降低了对硬盘数据正常的读写的影响。
[0044]实施例1:
[0045]请参阅图1所示,为本发明一种固态硬盘上的连续时间数据保护方法流程图。该方法包括下述步骤:
[0046]跳跃扫描排序后的数据块中的数据物理页获取数据写入时间;
[0047]比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来
[0048]修改映射表。
[0049]步骤S1:在硬盘写过程中,FT L的页映射表中加入时间戳信息;
[0050]步骤S2:将需要恢复的时间点写入到NOR FLASH中;
[0051]如图1所示,其中,所述将需要恢复的时间点写入到NOR FLASH中进一步包括下述步骤:提出回退到一个相对安全的时间点的请求;发送请求指令获取允许恢复的时间段;选取所述时间段中需要恢复的时间点;发送指令通知FTL需要恢复的时间点;将需要恢复的时间点写入到NOR FLASH中;
[0052]所述发送请求指令获取允许恢复的时间段进一步包括:N0R FLASH保存的最新的窗口值后,再将允许恢复的时间段反馈给用户。
[0053]其中,根据NOR FLASH中是否有“恢复时间”,来确认是否进行数据恢复;
[0054]在完成将需要恢复的时间点写入到NOR FLASH中的步骤后关机,重新上电后开始从NAND FLASH中恢复映射表的备份。
[0055]步骤S3:从NAND FLASH中恢复映射表的备份。
[0056]步骤S4:确认NOR FLASH的恢复时间点;
[0057]其中,根据NOR FLASH中是否有恢复时间,来确认是否进行数据恢复。
[0058]步骤S5:根据NOR FLASH的恢复时间点,对FLASH中的数据块进行排序;
[0059]其中,根据NOR FLASH的恢复时间点,对FLASH中的数据块进行排序,包括下述步骤:读取硬盘中每个数据块的标识;按照标识号由小到大进行排序。
[0060]步骤S6:跳跃扫描排序后的数据块中的数据物理页获取数据写入时间;
[0061]其中,所述跳跃扫描排序后的数据块中的数据物理页获取数据写入时间,包括:在每一个物理页中存有其前面若干个物理页的数据写入时间;
[0062]步骤S7:比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到恢复时间的完整映射信息;
[0063]所述比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到恢复时间的完整映射信息包括:
[0064]在扫描数据页时,对于其中扫描到的因搬移而写入的页,如果该页写入时间大于映射表中该条映射信息中记录的时间戳,则更新映射表;
[0065]对于其中扫描到的每一个HOST端写入的页,如果该页写入时间大于映射表中该条映射信息中记录的时间戳,并且小于要恢复的时间,则更新映射信息;
[0066]如图3为本实施例提供的映射表内容示意图;
[0067]在完成跳跃扫描排序后的数据块中的数据物理页获取数据写入时间的步骤后还包括擦除NOR FLASH中的回退时间。
[0068]本发明实施例通过一种固态硬盘上的连续时间数据保护方法,实现了连续时间上的数据保护,克服了单个时间点的数据保护的不完整性,它不需要占用额外的硬盘空间保存数据的几份拷贝,也不需要占用大量的内存空间记录数据的每次变化。用户只需要选择自己需要数据恢复的时间点,硬盘即可以恢复到指定时间点的数据状态。本专利提出带有时间戳的地址映射表,只有在用户发现数据出现问题需要回退时才动态建立影射表,而不是对每一次数据更新进行记录,并且大大降低了对硬盘数据正常的读写的影响。
[0069]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种固态硬盘上的连续时间数据保护方法,其特征在于,包括: 在硬盘写过程中,FTL的页映射表中加入时间戳信息; 将需要恢复的时间点写入到NOR FLASH中; 从NAND FLASH中恢复映射表的备份; 确认NOR FLASH的恢复时间点; 根据NOR FLASH的恢复时间点,对FLASH中的数据块进行排序; 跳跃扫描排序后的数据块中的数据物理页获取数据写入时间; 比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到恢复时间的完整映射信息。2.根据权利要求1所述的方法,其特征在于,其中,所述将需要恢复的时间点写入到NOR FLASH中进一步包括下述步骤: 提出回退到一个相对安全的时间点的请求; 发送请求指令获取允许恢复的时间段; 选取所述时间段中需要恢复的时间点; 发送指令通知FTL需要恢复的时间点; 将需要恢复的时间点写入到NOR FLASH中。3.根据权利要求2所述的方法,其特征在于,所述发送请求指令获取允许恢复的时间段进一步包括:N0R FLASH保存的最新的窗口值后,再将允许恢复的时间段反馈给用户。4.根据权利要求1所述的方法,其特征在于,其中,根据NORFLASH中是否有恢复时间,来确认是否进行数据恢复。5.根据权利要求1所述的方法,其特征在于,其中,根据NORFLASH的恢复时间点,对FLASH中的数据块进行排序,包括下述步骤: 读取硬盘中每个数据块的标识; 按照标识号由小到大进行排序。6.根据权利要求1所述的方法,其特征在于,在完成将需要恢复的时间点写入到NORFLASH中的步骤后关机,重新上电后开始从NAND FLASH中恢复映射表的备份。7.根据权利要求1所述的方法,其特征在于,其中,所述跳跃扫描排序后的数据块中的数据物理页获取数据写入时间,包括:在每一个物理页中存有其前面若干个物理页的数据写入时间。8.根据权利要求1所述的方法,其特征在于,所述比较映射表中的时间戳、 数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到恢复时间的完整映射信息包括: 在扫描数据页时,对于其中扫描到的因搬移而写入的页,如果该页写入时间大于映射表中该条映射信息中记录的时间戳,则更新映射表; 对于其中扫描到的每一个HOST端写入的页,如果该页写入时间大于映射表中该条映射信息中记录的时间戳,并且小于要恢复的时间,则更新映射信息。9.根据权利要求1所述的方法,其特征在于,在完成跳跃扫描排序后的数据块中的数据物理页获取数据写入时间的步骤后还包括擦除NOR FLASH中的回退时间。
【专利摘要】本发明涉及固态硬盘存储领域,提供一种固态硬盘上的连续时间数据保护方法,包括:在硬盘写过程中,FTL的页映射表中加入时间戳信息;将需要恢复的时间点写入到NOR FLASH中;从NAND FLASH中恢复映射表的备份;确认NOR FLASH的恢复时间点;根据NOR FLASH的恢复时间点,对FLASH中的数据块进行排序;跳跃扫描排序后的数据块中的数据物理页获取数据写入时间;比较映射表中的时间戳、数据页中的写入时间、恢复时间点之间的关系来修改映射表,得到恢复时间的完整映射信息。本发明实现了连续时间上的数据保护,克服了单个时间点的数据保护的不完整性,并且大大降低了对硬盘数据正常的读写的影响。
【IPC分类】G06F11/14
【公开号】CN104899114
【申请号】CN201410083612
【发明人】袁芳, 刘伟, 张耀辉
【申请人】中国科学院苏州纳米技术与纳米仿生研究所
【公开日】2015年9月9日
【申请日】2014年3月7日

最新回复(0)