[发明专利]鲁棒的事务性存储器在审
申请号: | 201980027642.1 | 申请日: | 2019-04-15 |
公开(公告)号: | CN112005222A | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 斯蒂芬·迪斯特尔霍斯特;王伟 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 杨佳婧 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务性 存储器 | ||
提供了用于在数据处理系统中执行事务的方法和装置,响应于事务的每个存储器访问,在持续性存储器中更新事务日志。在事务的执行之后并且在事务日志完成时,事务日志被标记为“待办”。当在事务中被修改的所有值已被写回到持续性存储器时,事务日志被标记为“空闲”。当在重启之后,事务日志被标记为“待办”时,事务日志中存储的数据被拷贝到持续性存储器、在事务日志中指示的地址处。在拷贝完成之后,事务日志被标记为“空闲”。在事务中修改的缓存值在被逐出时可被写回到持续性存储器,并且在事务中读取的值可以是从缓存而不是从事务日志读取的。
背景技术
在数据处理系统中,多个计算线程可共享共同的数据资源,例如存储器。与存储器地址相关联的数据值的拷贝可被存储在数据处理系统中的不同位置处,例如缓存。在这种系统中,一致性机制可用于监视当前状态并且确保过时的数据值不被使用。
在一些情形中,单个线程可要求一组存储器地址处的数据在操作的序列被执行的同时不被任何其他线程改变。操作的这个序列被称为“事务”(transaction)。事务据说具有“多线程原子性”,因为存储器访问看起来是在不能被其他线程分割的单个操作中发生的。确保存储器不被其他线程改变的一种方式是阻止所有其他线程对存储器的访问。然而,这是效率不高的,因为访问受限地址集合之外的存储器地址的线程将被不必要地阻止。另一种方案是将写入操作缓冲在“重做日志”中,直到该操作完成为止,然后在单个操作中写入所有数据,假如没有其他线程访问了受限存储器的话。这有时被称为“懒惰”方案。另一个方案是执行写入操作,但将覆写的值记录在“撤消”日志中。如果任何其他线程访问了受限存储器,则写入操作随后可被撤消。这有时被称为“急切”方案。
在上述方案中,日志可被维护在易失性或持续性(非易失性)存储器中。然而,每种方案都不是最优的。如果日志被维护在易失性存储器中,则它们在电力故障的情况下将丢失并且存储器可遭到破坏。如果日志被维护在非易失性存储器中,则事务内的存储器访问将被重定向到非易失性存储器,非易失性存储器通常比诸如缓存之类的易失性存储器要慢得多。这将减慢执行。
对于维持效率、而在面对电力故障时鲁棒的事务性存储器系统,存在需要。
附图说明
附图提供了视觉表示,这些视觉表示将被用于更完整地描述各种代表性实施例并且可被本领域技术人员用于更好地理解公开的代表性实施例及其内在优点。在这些附图中,相似的标号识别相应的元素。
图1是根据各种代表性实施例的数据处理系统的图形表示。
图2是根据各种代表性实施例示出写入指令的操作的流程图。
图3是根据各种代表性实施例的用于在数据处理系统中实现鲁棒的事务性存储器的方法的流程图。
图4是根据各种代表性实施例的用于提交事务的结果的方法的流程图。
图5A-5D根据各种代表性实施例图示了事务的写入操作。
图6A-6D根据各种代表性实施例图示了在电力故障之后数据处理系统的操作。
图7是根据各种代表性实施例的用于数据处理系统中的鲁棒事务性存储器的操作的方法的流程图。
图8是根据各种代表性实施例的缓存线的图形表示。
图9是根据各种代表性实施例的数据处理系统中的数据流的图形表示。
图10是根据各种代表性实施例的事务日志的状态转变图。
具体实施方式
本文描述的各种装置和设备提供了在面对电力故障或其他重启时鲁棒的硬件事务性存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980027642.1/2.html,转载请声明来源钻瓜专利网。