[发明专利]保证安全非易失内存中数据崩溃一致性的方法及处理器有效
申请号: | 202011486323.8 | 申请日: | 2020-12-16 |
公开(公告)号: | CN112540931B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 华宇;李璇;徐豪;陈章玉 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/0811;G06F11/34 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 尹丽媛;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 保证 安全 非易失 内存 数据 崩溃 一致性 方法 处理器 | ||
1.一种保证安全非易失内存中数据崩溃一致性的方法,其特征在于,包括:在处理器的一级缓存控制器中添加事务持久化顺序控制引擎;在内存控制器中添加三个寄存器用于存储需一起写入到内存的密文数据、计数器块以及默克尔树次底层节点,且所述处理器处理事务的步骤包括:
事务持久化顺序控制引擎控制一级数据缓存中事务的日志和数据的刷新及踢出操作,其中,对日志缓存行的刷新和踢出操作采取立即写入内存的方式,对数据缓存行的刷新操作采取先将一级数据缓存中对应日志缓存行写入内存然后将该数据缓存行写入内存的方式;
每次进行事务内存写入时,内存控制器依次将对应计数器块中的次要计数器加一、加密数据、顺序更新默克尔树的各层节点,得到的数据分别存储至对应寄存器;其中,一旦对应的计数器块及默克尔树次底层节点均被更新并存入寄存器中,内存控制器立即将这三个寄存器中存储的内容一起写入内存;其中在写入到写队列之前,判断当前写请求包含的数据是否为日志,若是,则使用已更新计数器块中对应次要计数器覆盖日志中次要计数器并去除计数器块写入;在写入到写队列之后,根据当前写入的安全元数据地址,将写队列中地址一致的安全元数据合并且写入内存。
2.根据权利要求1所述的一种保证安全非易失内存中数据崩溃一致性的方法,其特征在于,在所述顺序更新默克尔树的各层节点时,当默克尔树次底层节点被更新且存入寄存器后,在后台异步更新安全元数据缓存中默克尔树的其他层节点。
3.根据权利要求1所述的一种保证安全非易失内存中数据崩溃一致性的方法,其特征在于,在一级数据缓存的每一缓存行上添加三个元数据字段,分别是时期号、时期类型和日志标识;其中,时期号表示该缓存行的内存写所属的时期;时期类型表示该缓存行的内存写所属时期的类别,包括配对时期和常规时期;日志标识标记该缓存行上的内存写是否是日志写入;每一处理器核心硬件线程维护两个变量:随着内存屏障指令递增的时期计数器;以及随着释放原语及日志写入翻转的时期类型;
所述事务持久化顺序控制引擎包括内存映射寄存器和日志状态表;将日志区域的起止地址写入所述内存映射寄存器中,当处理器核心执行写请求时,通过与所述起止地址进行对比来标记该内存写入是否是日志写入;
则当处理器核心执行一个写请求时,若该写请求中地址所对应的缓存行其状态为“干净”,使用所述时期计数器和时期类型更新该缓存行上的元数据;若缓存行状态为“脏”,一级缓存控制器判断该缓存行上数据地址是否与写请求中地址一致,若是,则对日志缓存行不做更新,对数据缓存行更新缓存行的数据字段;若否,则踢出该缓存行;当缓存踢出一个缓存行时,踢出日志缓存行触发该缓存行的内存写入,所述事务持久化顺序控制引擎将该缓存行刷新到内存控制器,并在所述日志状态表中创建条目以记录该日志缓存行的时期号,该条目在事务持久化顺序控制引擎接收到来自内存控制器的完成反馈后被释放;
当处理器核心执行刷新缓存行指令时,刷新日志缓存行采取立即持久化该日志缓存行的方式;刷新时期类型为配对时期的数据缓存行,先查询日志状态表中是否存在比该数据缓存行的时期号小的相邻时期号的条目,存在则等该条目被释放时持久化该数据缓存行,否则查询一级数据缓存中是否存在比该数据缓存行的时期号小的相邻时期号所对应的日志缓存行,若存在则先持久化该日志缓存行再持久化该数据缓存行,若不存在则立即持久化该数据缓存行;刷新时期类型为常规时期的数据缓存行,所述事务持久化顺序控制引擎扫描一级数据缓存,将时期号比该数据缓存行的时期号小的所有日志缓存行先刷新到内存控制器,再刷新时期号比该数据缓存行的时期号小的所有数据缓存行,然后持久化该数据缓存行。
4.根据权利要求3所述的一种保证安全非易失内存中数据崩溃一致性的方法,其特征在于,内存控制器对写请求的所述完成反馈等待默克尔树完全更新到根节点后通知一级缓存控制器和处理器核心;则当所述三个寄存器中内容被持久化到写队列之后,与当前请求不具有依赖关系的请求被处理,而具有依赖关系的请求等待所述完成反馈返回后被处理。
5.根据权利要求1至3任一项所述的一种保证安全非易失内存中数据崩溃一致性的方法,其特征在于,所述日志包括五项数据,分别是存储元素对应次要计数器、线程标识、事务标识、存储元素地址和存储元素值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011486323.8/1.html,转载请声明来源钻瓜专利网。