[发明专利]一种保证非易失内存中故障原子性的方法及系统有效
申请号: | 202010407572.7 | 申请日: | 2020-05-14 |
公开(公告)号: | CN111638996B | 公开(公告)日: | 2023-04-11 |
发明(设计)人: | 童薇;冯丹;刘景宁;魏学亮;朱蔚霖 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F11/34 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 非易失 内存 故障 原子 方法 系统 | ||
本发明公开了一种保证非易失内存中故障原子性的方法及系统,属于计算机存储领域,包括:按照如下步骤执行由一个或多个需要保证故障原子性的操作封装而成的事务:依次执行当前事务内的各项操作,对于当前事务内的每个写操作,判断其对应的数据的最旧值是否被保存到非易失内存的日志中,若是,则为其创建UndoRedo日志项,否则,为其创建Redo日志项;根据日志项的类型采用相应的日志管理策略;执行完所有操作后,提交当前事务;当前事务执行完成;其中,UndoRedo日志项记录的信息包括:事务编号、写操作地址、对应数据的最旧值和新值;Redo日志项记录的信息包括:事务编号、写操作地址以及对应数据的新值。本发明能够减少NVMM中保证故障原子性造成的开销。
技术领域
本发明属于计算机存储领域,更具体地,涉及一种保证非易失内存中故障原子性的方法及系统。
背景技术
在过去的几十年中,动态随机访问存储器(DynamicRandom Access Memory,DRAM)作为内存被广泛应用于计算机系统中。然而,近年来由于刷新功耗、工艺尺寸等限制,DRAM的发展遇到瓶颈,逐渐无法满足现在计算机系统对于内存的需求。而新型非易失存储器(Non-VolatileMemory,NVM)的出现为内存的发展提供了新的可能。典型的NVM包括相变存储器(Phase Change Memory,PCM)、自旋转移矩随机存储器(Spin Transfer TorqueRandom Access Memory,STT-RAM)、阻变式存储器(Resistive Random Access Memory,RRAM)等。这些NVM由于具备类似DRAM的性能以及低功耗、可字节寻址等特性,被视为最具潜力的DRAM替代品之一。此外,NVM还具备非易失性,即掉电时不丢失数据。因此,NVM作为内存时也被称为非易失内存(Non-VolatileMainMemory,NVMM)。NVMM让应用能够通过高速的内存接口访问持久性数据,避免了通过低速的I/O操作从磁盘、固态硬盘等外存中读取数据。
NVMM在为内存系统的发展带来新的可能性的同时,也为内存系统的设计带来了新的挑战。最重要的挑战之一是,为NVMM写操作提供高效的故障原子性支持。这是因为意外的系统故障(例如掉电、崩溃等)会中断当前正在执行的写操作,导致NVMM中存储的数据处于不完整更新的状态,从而造成数据损坏或丢失。而故障原子性保证了在系统故障后,能够将NVMM中的数据恢复到未被更新的或者被完整更新的状态。
为了提供故障原子性支持,现有的方法将一组写操作封装为一个事务,并通过日志保证事务的故障原子性。日志的基本思想是,先将写操作对应的数据保存到在NVMM中申请的日志区,然后执行写操作对NVMM中的数据进行更新。当系统故障发生后,可以利用日志将NVMM中的数据恢复到未被更新的或者被完整更新的状态。根据日志操作(例如日志的创建、保存等)的执行方式,提供故障原子性支持的方法可以划分为:基于软件日志的方法、基于硬件日志的方法。前者通过软件的方式在事务执行的关键路径上执行日志操作,故会造成较大的性能开销。而后者通过硬件的方式执行日志操作,使得日志操作能够与事务并行执行,从而减少了日志操作带来的性能开销。然而,现有的基于硬件日志的方法未能最小化日志开销,会在NVMM中保存冗余的日志数据,还会在写操作间引入非必要的顺序约束。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种保证非易失内存中故障原子性的方法及系统,其目的在于,减少NVMM中保证故障原子性造成的开销。
为实现上述目的,按照本发明的一个方面,提供了一种保证非易失内存中故障原子性的方法,包括:
按照如下步骤执行由一个或多个需要保证故障原子性的操作封装而成的事务:
(S1)依次执行当前事务内的各项操作,对于当前事务内的每个写操作,若其对应的数据的最旧值未被保存到非易失内存的日志中,则为其创建UndoRedo日志项,若其对应的数据的最旧值已被保存到非易失内存的日志中,则为其创建Redo日志项;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010407572.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防爆司钻控制台
- 下一篇:一种跨平台高效键值存储方法