[发明专利]一种非易失性内存的持久化方法和计算设备有效
申请号: | 201610878743.8 | 申请日: | 2016-09-30 |
公开(公告)号: | CN107885671B | 公开(公告)日: | 2021-09-14 |
发明(设计)人: | 卢天越;陈明宇;阮元;杨伟 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F12/0873 | 分类号: | G06F12/0873 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 非易失性 内存 持久 方法 计算 设备 | ||
本申请公开了一种非易失性内存NVM的持久化方法和计算设备,内存控制器关联的至少两个内存写指令集合中每个内存写指令集合配置有信用度值,介质控制器关联的至少两个介质写指令集合中每个介质写指令集合配置为信用度值,通过写指令的收发状态和执行状态变更信用度值,多个内存写指令集合各自对应的信用度值与介质控制器中设置的多个介质写指令集合各自对应的信用度值保持同步,内存控制器与介质控制器的信用度值保持同步后,能准确根据信用度值查询写指令是否完成持久化。同时,通过设置多个内存写指令集合,在持久化查询时能实现以内存写指令集合为粒度的局部阻塞,以提高内存控制器的并行处理效率。
技术领域
本发明涉及计算机领域,尤其涉及一种非易失性内存(Non-Volatile Memory,简称NVM)的持久化方法和计算设备。
背景技术
数据持久性表示数据成功写入持久性的NVM非易失性内存,在系统崩溃或掉电的情况下数据也不会丢失。例如,应用程序的数据具有持久性的属性时,应用程序可以在系统崩溃或掉电之后从NVM上存储的数据中恢复正常运行状态。在目前的应用中,通常将NVM作为内存使用,这样应用程序就可以在系统崩溃或掉电后直接从内存中恢复运行。但是NVM作为内存使用时,现有的DDR(Double Data Rate,双倍数据率)内存协议无法支持数据的持久性确认,这是因为现有的DDR内存协议中的写指令在数据写入CPU(Central ProcessingUnit,中央处理器)缓存中之后就会提交完成,CPU和应用程序无法继续跟踪和获知写指令中数据是否真正写入内存。
为了确认写指令的数据是否写入内存,目前提出了一种持久化确认的方案是:使用PCOMMIT指令和CLFLUSH指令来实现持久化的确认,CLFLUSH指令可以将CPU缓存中的指定的数据写回并生成写指令发送至内存控制器。PCOMMIT指令会将内存控制器中所有写指令都强制写入内存。在PCOMMIT指令的执行过程中,内存控制器会阻塞新的写指令进入内存控制器,直到内存控制器中所有的写指令被发送到内存芯片。通过上述方法可以在确认数据成功写入内存并完成持久化。
目前的持久化确认方案中,PCOMMIT指令用于指示内存控制器中所有写指令完成持久化操作,PCOMMIT指令在执行过程中,会阻塞所有的写指令进入内存控制器,这样就会减少新的写指令发送给内存控制器,避免影响到PCOMMIT指令的执行。在达到上述效果的同时,也会导致所有应用程序的写指令都暂时无法发送到内存控制器中,使得调用PCOMMIT指令的应用程序对其他应用程序造成了比较大的性能影响,导致整个系统的运行效率低下。
发明内容
本发明实施例所要解决的技术问题在于,提供一种NVM的持久化方法和计算设备,通过设置多个内存写指令集合,能实现以内存写指令集合为最小粒度的局部阻塞,提高内存控制器的并行处理效率。
第一方面,本申请提供了一种非易失性内存NVM的持久化方法。
内存控制器关联有至少两个内存写指令集合,至少两个内存写指令集合可设置在内存控制器的内部,例如至少两个内存写指令集合位于内存控制器的缓存空间中,至少两个内存写指令集合中每个内存写指令集合配置有一个信用度值,信用度值表示允许进入内存写指令集合中的写指令的数量,某个内存写指令的信用度值等于0时,则该内存写指令集合不允许进入写指令,每个内存写指令集合的信用度值具有一个最大值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610878743.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地铁辅助系统电源箱
- 下一篇:一种具有散热防尘功能的电力配电箱