一种基于一致性总线扩展非易失内存的系统及方法与流程

文档序号:12664118阅读:来源:国知局

技术特征:

1.一种基于一致性总线扩展非易失内存的系统,其特征在于,其结构包括若干通过cache一致性高速互连总线互连的节点,每个节点内均配置有处理器、DRAM内存和NVM内存组成的混合内存,其中在处理器与NVM内存之间配置有NVM内存控制器,在处理器与DRAM内存之间配置有DRAM内存控制器,其中处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性。

2.根据权利要求1所述的一种基于一致性总线扩展非易失内存的系统,其特征在于,所述NVM内存控制器采用内存代理的方式管理非易失内存NVM内存,其结构包括内存代理模块、cache一致性目录管理模块、CCB高速传输模块、请求管理模块、NVM内存接口模块、NVMe接口模块及CCB接口模块,其中,

内存代理模块负责在各个携带高速缓存Cache的处理器之间维护系统的数据一致性;

cache一致性目录管理模块负责目录cache查找及管理、目录维护;

请求管理模块负责数据缓存的管理,请求队列、完成队列的管理,和NVM内存接口模块、NVMe接口模块连接,把处理完成的请求结果保存在数据缓存,维护数据缓存和NVM内存的一致性;

CCB高速传输模块负责数据的高速传输、串并转换、错误检验、数据重传及流量控制。

3.根据权利要求2所述的一种基于一致性总线扩展非易失内存的系统,其特征在于,处理器作为访问NVM内存请求的发起者,内存代理模块则作为访存请求的接受者,它代理了它所挂载的NVM内存空间。

4.根据权利要求2所述的一种基于一致性总线扩展非易失内存的系统,其特征在于,所述内存代理模块包含一致性协议流水线单元、协议状态管理单元、协议转换表,首先请求队列进入一致性流水线单元进行处理,协同协议状态管理单元、协议转换表处理完成后,内存代理模块把该请求结果放入完成队列。

5.根据权利要求2所述的一种基于一致性总线扩展非易失内存的系统,其特征在于,cache一致性目录管理模块中,每个目录项对应一个缓存行Cacheline大小的数据块,目录由多个目录项组成;目录项由两部分构成,一部分是状态信息,另一部分是共享信息,目录的状态信息用于表示目录当前所处的状态,该状态信息位是固定的,每个目录项使用2bit数据对目录状态进行记录。

6.根据权利要求5所述的一种基于一致性总线扩展非易失内存的系统,其特征在于,所述目录状态包括:

A:最高权限,标记系统中的某个处理器有可能对数据有独占副本;

S:次高权限,标记系统中的某一个或若干处理器可能对数据有共享副本;

I:最低权限,标记系统中没有任何处理器对数据有副本。

7.一种基于一致性总线扩展非易失内存的方法,基于上述系统,该系统配置有处理器、DRAM内存和NVM内存组成的混合内存,其特征在于,非易失内存的扩展过程为:

处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性,即处理器通过cache一致性高速互连总线连接NVM内存控制器,该NVM内存控制器扩展连接若干NVM内存;处理器通过cache一致性高速互连总线连接DRAM内存控制器,该DRAM内存控制器扩展连接若干DRAM内存。

8.根据权利要求7所述的一种基于一致性总线扩展非易失内存的方法,其特征在于,所述NVM内存地址空间由两个部分构成:PCM区域和NVMe区域,用户程序按需请求不同区域的页面;即,

所述异构混合内存系统,可以是一个由三种存储介质构成的统一内存空间,也可以是一个只有PCM和Flash构成的非易失内存空间,或者处于二者之间。

9.根据权利要求8所述的一种基于一致性总线扩展非易失内存的方法,其特征在于,所述异构混合内存系统对DRAM内存和非易失存储内存统一编址、统一管理,其地址的范围为0~n,即将其视作为一个整体的内存,非易失存储内存部分的地址为统一编址的一部分,该部分地址固定不变;DRAM内存的地址为统一编址的另一部分,该部分动态变化;Cache占用DRAM内存的地址范围A为0~X,X为DRAM内存的最大地址,地址范围A根据需求而调整。

10.根据权利要求8或9所述的一种基于一致性总线扩展非易失内存的方法,其特征在于,当处理器访问NVM内存时,其具体实现过程为:

首先将从高速串行总线接收的命令及其数据存放在请求队列中;

然后从请求队列中读取命令;

当为读命令时,由缓存管理确定所请求数据是否在NVM内存的缓存中命中,若在NVM内存的缓存中命中则读取数据,发送到完成队列中,通过高速串行总线返回;若未在NVM内存的缓存中命中,读命令地址在PCM内存区域内时,由地址映射模块执行转换获得物理地址,随后将物理地址发送给PCM接口,从PCM区域读取的数据将送入NVM内存缓存,发送到完成队列中,通过高速串行总线返回;若未在NVM内存缓存中命中,读命令地址在NVMe内存区域内时,命令将发送给NVMe接口,从NVMe区域读取的将送入NVM内存缓存,发送到完成队列中,通过高速串行总线返回;

当为写命令时,数据将送入NVM内存缓存中,将确认信息发送到完成队列中;当NVM内存缓存的数据块需写回PCM区域时,由地址映射模块执行转换获得物理地址,随后将地址和数据发送给PCM接口;当NVM内存缓存的数据块需写回NVMe区域时,地址和数据将发送给NVMe接口。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1