[发明专利]一种存储设备的事务恢复方法,及装置在审
申请号: | 201410357653.5 | 申请日: | 2014-07-25 |
公开(公告)号: | CN105335220A | 公开(公告)日: | 2016-02-17 |
发明(设计)人: | 舒继武;陆游游;王元钢 | 申请(专利权)人: | 华为技术有限公司;清华大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 设备 事务 恢复 方法 装置 | ||
技术领域
本发明涉及存储技术领域,特别涉及一种存储设备的事务恢复方法,及装置。
背景技术
存储数据一致性要求存储系统在意外故障发生后能够恢复到一致性状态(所有数据都具有一致的状态),从而实现后续存储访问请求的处理。事务处理是常见的保证存储系统的数据一致性的方式。在事务处理中,同一操作中不同的数据访问请求构成一个事务。同一事务中的数据访问要求提供原子性(atomicity)与持久性(durability)。原子性要求同一数据中的数据访问请求全部完成或者全部失败。持久性要求同一数据中的数据更新在系统意外掉电后不丢失。
传统的写前日志(Write-AheadLogging,WAL)和影子页(ShadowPaging)方法在软件中实现。写前日志方法首先将数据新版本写入日志区域,等待日志持久化之后写入事务提交记录,直至事务提交记录持久化之后将数据新版本复制到原来位置。影子页方法为数据新版本异地分配存储空间并写入,等待数据新版本持久化之后更新指针索引信息以指向数据新版本,直至指针索引持久化之后方可回收数据旧版本的存储空间。这些方法要求软件系统实现持久化,即频繁使用同步刷写操作将数据更新刷写到非易失性存储器中。由于存储设备中通常使用易失性存储器件,如DRAM(DynamicRandomAccessMemory,动态随机存取存储器)或SRAM(StaticRandomAccessMemory,静态随机存取存储器),作为缓存,同步刷写要求数据从缓存替换到持久性介质中,因而软件控制的同步刷写操作代价较大。此外,写前日志要求数据新版本写入两次,即日志写和原地写,重复数据写入也影响存储系统的性能。
事务提交是指事务处理完毕后生成了正确的数据的这种状态。事务提交中止是指事务在处理过程中发生中止的情况,由于事务处理过程中已经产生了一部分数据,事务处理的中止会导致事务处理产生的数据并不完整,因此也不正确。因此,事务提交状态下的数据满足存储数据一致性的要求,而是他情况,如事务中止状态下的数据不满足存储数据一致性的要求。
新型非易失性存储器件(Non-VolatileMemory,NVM)的发展使得存储设备内部提供事务处理的方式更为高效。其中,闪存(FlashMemory)的存储单元需要擦除后才能写入,因此闪存采用异地更新的方式以避免擦除操作带来的高延迟。该异地更新的特性同时保留了数据的新旧两个版本,因此使得设备内部提供事务处理代价降低。同时,新型字节寻址的非易失性存储器件,如STT-RAM(Spin-TransferTorqueRandomAccessMemory,自旋转移力矩随机存储器)、PCM(PhaseChangeMemory,相变存储器)、RRAM(ResistiveRandomAccessMemory,阻变式存储器)等,也成为设备内部缓存的替代品。由于这些器件能够持久保存数据,因此可以降低数据丢失的概率。尽管非易失性缓存提供了数据持久化,但并不能保证数据的一致性。
发明内容
本发明实施例提供了一种存储设备的事务恢复方法,及装置,用于保证数据的一致性。
本发明实施例一方面提供了一种存储设备的事务恢复方法,包括:
在执行事务处理过程中,将所述事务的第二版本数据存储到存储设备的非易失性缓存;若存在所述事务的第一版本数据,则所述第一版本数据存储在所述存储设备的非易失性缓存或者所述存储设备的非易失性存储器;所述第二版本数据为本次执行事务处理过程中产生的数据;所述第一版本数据为本次之前执行所述事务已提交的数据;
在将所述事务的第二版本数据存储到存储设备的非易失性缓存过程中,保持所述第一版本数据;
若需要对所述事务进行恢复,则获取所述第一版本数据。
结合一方面的实现方式,在第一种可能的实现方式中,所述保持所述第一版本数据包括:
禁止回收所述第一版本数据对应的地址空间;
若所述第一版本数据在非易失性缓存,则设置所述第一版本数据对应的地址空间有效;若所述第一版本数据在非易失性存储器,则禁止缓存替换算法选中所述第一版本数据对应的地址空间。
结合一方面的实现方式,在第二种可能的实现方式中,所述方法还包括:
在第二版本数据递交之后,并且在所述第一版本数据回收之前,将所述第二版本数据作为第一版本数据,并更新第一版本数据的逻辑地址与物理地址之间的映射关系;所述逻辑地址为软件可见的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;清华大学,未经华为技术有限公司;清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410357653.5/2.html,转载请声明来源钻瓜专利网。