一种非易失性内存的持久化方法和计算设备技术

技术编号:17654908 阅读:42 留言:0更新日期:2018-04-08 08:18
本申请公开了一种非易失性内存NVM的持久化方法和计算设备,内存控制器关联的至少两个内存写指令集合中每个内存写指令集合配置有信用度值,介质控制器关联的至少两个介质写指令集合中每个介质写指令集合配置为信用度值,通过写指令的收发状态和执行状态变更信用度值,多个内存写指令集合各自对应的信用度值与介质控制器中设置的多个介质写指令集合各自对应的信用度值保持同步,内存控制器与介质控制器的信用度值保持同步后,能准确根据信用度值查询写指令是否完成持久化。同时,通过设置多个内存写指令集合,在持久化查询时能实现以内存写指令集合为粒度的局部阻塞,以提高内存控制器的并行处理效率。

【技术实现步骤摘要】
一种非易失性内存的持久化方法和计算设备
本专利技术涉及计算机领域,尤其涉及一种非易失性内存(Non-VolatileMemory,简称NVM)的持久化方法和计算设备。
技术介绍
数据持久性表示数据成功写入持久性的NVM非易失性内存,在系统崩溃或掉电的情况下数据也不会丢失。例如,应用程序的数据具有持久性的属性时,应用程序可以在系统崩溃或掉电之后从NVM上存储的数据中恢复正常运行状态。在目前的应用中,通常将NVM作为内存使用,这样应用程序就可以在系统崩溃或掉电后直接从内存中恢复运行。但是NVM作为内存使用时,现有的DDR(DoubleDataRate,双倍数据率)内存协议无法支持数据的持久性确认,这是因为现有的DDR内存协议中的写指令在数据写入CPU(CentralProcessingUnit,中央处理器)缓存中之后就会提交完成,CPU和应用程序无法继续跟踪和获知写指令中数据是否真正写入内存。为了确认写指令的数据是否写入内存,目前提出了一种持久化确认的方案是:使用PCOMMIT指令和CLFLUSH指令来实现持久化的确认,CLFLUSH指令可以将CPU缓存中的指定的数据写回并生成写指令发送本文档来自技高网...
一种非易失性内存的持久化方法和计算设备

【技术保护点】
一种非易失性内存NVM的持久化方法,其特征在于,应用于将内存中的待写数据写入到所述非易失性内存NVM的过程中,所述方法包括:内存控制器接收写指令,所述写指令包括所述待写数据的写地址;所述内存控制器根据所述写地址,从至少两个内存写指令集合中选择目标内存写指令集合,将所述写指令存入所述目标内存写指令集合,并对所述目标内存写指令集合关联的信用度值减少指定数值;所述内存控制器将所述目标内存写指令集合中的所述写指令发送给所述介质控制器;在接收到所述写指令之后,所述介质控制器根据所述写地址,从所述至少两个介质写指令集合中确定目标介质写指令集合,将所述写指令存入所述目标介质写指令集合,将所述目标介质写指令集...

【技术特征摘要】
1.一种非易失性内存NVM的持久化方法,其特征在于,应用于将内存中的待写数据写入到所述非易失性内存NVM的过程中,所述方法包括:内存控制器接收写指令,所述写指令包括所述待写数据的写地址;所述内存控制器根据所述写地址,从至少两个内存写指令集合中选择目标内存写指令集合,将所述写指令存入所述目标内存写指令集合,并对所述目标内存写指令集合关联的信用度值减少指定数值;所述内存控制器将所述目标内存写指令集合中的所述写指令发送给所述介质控制器;在接收到所述写指令之后,所述介质控制器根据所述写地址,从所述至少两个介质写指令集合中确定目标介质写指令集合,将所述写指令存入所述目标介质写指令集合,将所述目标介质写指令集合的信用度值减少所述指定数值;所述介质控制器将所述目标介质写指令集合中的所述写指令发送给所述NVM,在所述NVM成功执行所述写指令后,所述介质控制器将所述目标介质写指令集合的信用度值增加所述指定数值;所述介质控制器将所述目标介质写指令集合的信用度值发送给所述内存控制器;在接收到所述目标介质写指令集合的信用度值之后,所述内存控制器根据所述目标介质写指令集合的信用度值更新所述目标内存写指令集合的信用度值。2.如权利要求1所述的方法,其特征在于,所述至少两个内存写指令集合中每个内存写指令集合关联有所述NVM的一个地址区间;所述内存控制器根据所述写地址,从所述至少两个内存写指令集合中选择目标内存写指令集合,将所述写指令存入所述目标内存写指令集合,并对所述目标内存写指令集合的信用度值减少指定数值包括:所述内存控制器确定所述写地址所在的目标地址区间,将所述目标地址区间关联的内存写指令集合作为所述目标内存写指令集合;所述内存控制器将所述写指令存入所述目标内存写指令集合,以及将所述目标内存写指令集合的信用度值减1。3.如权利要求2所述的方法,其特征在于,所述至少两个介质写指令集合中每个介质写指令集合配置有所述NVM的一个地址区间;所述介质控制器根据所述写地址,从所述至少两个介质写指令集合中确定目标介质写指令集合,将所述写指令存入所述目标介质写指令集合,将所述目标介质写指令集合的信用度值减少所述指定数值包括:所述介质控制器确定所述写地址所在的目标地址区间,将所述目标地址区间关联的介质写指令集合作为所述目标介质写指令集合;所述介质控制器将所述写指令存入所述目标介质写指令集合,以及将所述目标介质写指令集合的信用度值减1。4.如权利要求3所述的方法,其特征在于,所述内存控制器接收写指令之前,还包括:所述内存控制器通过调用库函数配置所述至少两个内存写指令集合中每个内存写指令集合的地址区间,以及配置所述至少两个介质写指令集合中每个介质写指令集合的地址区间;其中,所述至少两个内存写指令集合与所述至少两个介质写指令集合呈一一映射关系,关联的内存写指令集合和介质写指令集合具有相同的地址区间。5.如权利要求1-4任意一项所述的方法,其特征在于,所述介质控制器将所述目标介质写指令集合的信用度值发送给所述内存控制器包括:所述介质控制器接收所述内存控制器发送的查询请求;所述查询请求用于查询所述目标介质写指令集合的信用度值;所述介质控制器向所述内存控制器发送携带所述目标介质写指令集合的信用度值的查询响应。6.如权利要求1-4任意一项所述的方法,其特征在于,所述介质控制器将所述目标介质写指令集合的信用度值发送给所述内存控制器包括:所述介质控制器周期性的主动向所述内存控制器发送所述目标介质写指令集合的信用度值。7.如权利要求1所述的方法,其特征在于,还包括:所述内存控制器接收针对所述目标内存写指令集合的持久化查询指令,以及获取所述持久化查询指令的接收时刻;在所述接收时刻之后,所述内存控制器阻塞进入所述目标内存写指令集合的写指令;所述内存控制器读取所述目标内存写指令集合的信用度值;若读取到的信用度值等于预设的最大值,所述内存控制器确定所述目标内存写指令集合中的写指令完成持久化。8.如权利要求7所述的方法,其特征在于,在所述接收时刻之后,所述内存控制器阻塞进入所述目标内存写指令集合的写指令包括:在所述接收时刻之后,所述内存控制器将进入所述目标内存写指令集合的写指令进行缓存处理;或在所述接收时刻,所述内存控制器将所述目标内存写指令集合加软件互斥锁。9.如权利要求1所述的方法,其特征在于,还包括:所述介质控制器接收针对目标介质写指令集合的持久化查询指令;所述介质控制器读取所述目标介质写指令集合的信用度值;若读取到的信用度值等于预设的最大值,所述介质控制器确定所述目标介质写指令集合中的写指令完成持久化操作。10.一种计算设备,其特征在于,包括:内存控制器、介质控制器和非易失性内存NVM,所述内存控制器包括缓存空间,所述内存控制器的缓存空间用来存储至少两个内存写指令集合,所述至少两个内存写指令集合中每个内存写指令集合配置有一个信用度值;所述介质控制器包括缓存空间,所述介质控制器的缓存空间用来存储至少两个介质写指令集合,所述至少两个内存写指令集合中每个介质写指令集合配置有一个信用度值;所述内存控制器,用于:接收写指令,所述写指令包括待写数据的写地址;根据所述写地址,从所述内存控制器的缓存空间存储的所述至少两个内存写指令集合中选择目标内存写指令集合,将所述写指令存入所述目标内存写指令集合,并对...

【专利技术属性】
技术研发人员:卢天越陈明宇阮元杨伟
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1