一种基于一致性总线扩展非易失内存的系统及方法技术方案

技术编号:15638710 阅读:93 留言:0更新日期:2017-06-15 18:57
本发明专利技术公开了一种基于一致性总线扩展非易失内存的系统及方法,其结构包括若干通过cache一致性高速互连总线互连的节点,每个节点内均配置有处理器、DRAM内存和NVM内存组成的混合内存,其中在处理器与NVM内存之间配置有NVM内存控制器,在处理器与DRAM内存之间配置有DRAM内存控制器,其中处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性,方法则基于该系统实现。该一种基于一致性总线扩展非易失内存的系统及方法与现有技术相比,解决DRAM内存现有的技术瓶颈,提升NVM内存访问性能,提高整系统数据处理能力,实用性强,适用范围广泛,易于推广。

【技术实现步骤摘要】
一种基于一致性总线扩展非易失内存的系统及方法
本专利技术涉及计算机
,具体地说是一种实用性强、基于一致性总线扩展非易失内存的系统及方法。
技术介绍
近几年,全球的数据量以每年58%的速度增长,未来这个速度会更快,这使得用户对于海量数据的处理和实施分析的及时高效性越来越重视。现有的以计算为中心的技术难以满足大数据的应用需求,因此,IT架构的重构势在必行。新型非易失性存储器件的出现和成本的不断降低,为以数据为中心的大数据处理模式即内存计算创造了机会。内存和外存之间的I/O性能不匹配一直是造成数据处理速度低下的重要原因。内存计算消除了传统计算模式中的I/O性能瓶颈,将大量的数据装载在内存中,大规模数据的处理性能得到显著提升,然而数据的快速增长和数据类型的不断扩充令内存计算平台的内存系统面临容量、能耗、可靠性等方面的巨大挑战。NVMExpress(简称NVMe)是一个针对使用PCIExpressSSD的企业和普通客户端系统开发的可扩展的主机控制芯片接口标准。NVMe由Intel主导,得到了包括Cisco、Dell、EMC、NetApp、Oracle在内的众多大厂商的支持与参与,其目标是统一PCIeSSD存储装置标准,让未来的PCIeSSD可以方便的安装到所有平台使用。NVMe优化了PCIeSSD的寄存器接口和指令集,其全双工、多请求处理能力及无序处理能力可以给存储器性能带来极大的提升。NVMe中定义了若干队列的传输与管理机制,以实现主机与SSD控制器间的数据传输。为了让主机更好地控制SSD,在NVMe中定义了若干高级命令,这些命令允许主机驱动程序向SSD控制器传递数据集属性信息,诸如数据的访问频率属性等,其设计初衷是为了主机与SSD控制器间提供更完善的传输支持,但是如何充分利用这些高级命令尚未得到充分地开发。此外,NVMe中提出的读写机制较为繁琐,对于作为内存使用的非易失性存储器软件开销较大,有待优化。采用NVMe扩展非易失性内存的方法,其本质为将非易失性存储作为一个I/O访问的块设备,而不是传统意义上的内存,因此性能上和传统的内存有较大差距。基于此,现提供一种基于一致性总线扩展非易失内存的系统及方法,来解决DRAM、Cache中存储的数据与NVM中的数据可能存在不一致的问题,这里的DRAM是指DynamicRandomAccessMemory,即动态随机访问存储器。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种实用性强、基于一致性总线扩展非易失内存的系统及方法。一种基于一致性总线扩展非易失内存的系统,其结构包括若干通过cache一致性高速互连总线CacheCoherenceBus,即CCB互连的节点,每个节点内均配置有处理器、DRAM内存和NVM内存组成的混合内存,其中在处理器与NVM内存之间配置有NVM内存控制器,在处理器与DRAM内存之间配置有DRAM内存控制器,其中处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性。所述NVM内存控制器采用内存代理的方式管理非易失内存NVM内存,其结构包括内存代理模块、cache一致性目录管理模块、CCB高速传输模块、请求管理模块、NVM内存接口模块、NVMe接口模块及CCB接口模块,其中,内存代理模块负责在各个携带高速缓存Cache的处理器之间维护系统的数据一致性;cache一致性目录管理模块负责目录cache查找及管理、目录维护;请求管理模块负责数据缓存的管理,请求队列、完成队列的管理,和NVM内存接口模块、NVMe接口模块连接,把处理完成的请求结果保存在数据缓存,维护数据缓存和NVM内存的一致性;CCB高速传输模块负责数据的高速传输、串并转换、错误检验、数据重传及流量控制。处理器作为访问NVM内存请求的发起者,内存代理模块则作为访存请求的接受者,它代理了它所挂载的NVM内存空间。所述内存代理模块包含一致性协议流水线单元、协议状态管理单元、协议转换表,首先请求队列进入一致性流水线单元进行处理,协同协议状态管理单元、协议转换表处理完成后,内存代理模块把该请求结果放入完成队列。cache一致性目录管理模块中,每个目录项对应一个缓存行Cacheline大小的数据块,目录由多个目录项组成;目录项由两部分构成,一部分是状态信息,另一部分是共享信息,目录的状态信息用于表示目录当前所处的状态,该状态信息位是固定的,每个目录项使用2bit数据对目录状态进行记录。所述目录状态包括:A:最高权限,标记系统中的某个处理器有可能对数据有独占副本;S:次高权限,标记系统中的某一个或若干处理器可能对数据有共享副本;I:最低权限,标记系统中没有任何处理器对数据有副本。一种基于一致性总线扩展非易失内存的方法,基于上述系统,该系统配置有处理器、DRAM内存和NVM内存组成的混合内存,非易失内存的扩展过程为:处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性,即处理器通过cache一致性高速互连总线连接NVM内存控制器,该NVM内存控制器扩展连接若干NVM内存;处理器通过cache一致性高速互连总线连接DRAM内存控制器,该DRAM内存控制器扩展连接若干DRAM内存。所述NVM内存地址空间由两个部分构成:PCM区域和NVMe区域,用户程序按需请求不同区域的页面;即,所述异构混合内存系统,可以是一个由三种存储介质构成的统一内存空间,也可以是一个只有PCM和Flash构成的非易失内存空间,或者处于二者之间。所述异构混合内存系统对DRAM内存和非易失存储内存统一编址、统一管理,其地址的范围为0~n,即将其视作为一个整体的内存,非易失存储内存部分的地址为统一编址的一部分,该部分地址固定不变;DRAM内存的地址为统一编址的另一部分,该部分动态变化;Cache占用DRAM内存的地址范围A为0~X,X为DRAM内存的最大地址,地址范围A根据需求而调整。当处理器访问NVM内存时,其具体实现过程为:首先将从高速串行总线接收的命令及其数据存放在请求队列中;然后从请求队列中读取命令;当为读命令时,由缓存管理确定所请求数据是否在NVM内存的缓存中命中,若在NVM内存的缓存中命中则读取数据,发送到完成队列中,通过高速串行总线返回;若未在NVM内存的缓存中命中,读命令地址在PCM内存区域内时,由地址映射模块执行转换获得物理地址,随后将物理地址发送给PCM接口,从PCM区域读取的数据将送入NVM内存缓存,发送到完成队列中,通过高速串行总线返回;若未在NVM内存缓存中命中,读命令地址在NVMe内存区域内时,命令将发送给NVMe接口,从NVMe区域读取的将送入NVM内存缓存,发送到完成队列中,通过高速串行总线返回;当为写命令时,数据将送入NVM内存缓存中,将确认信息发送到完成队列中;当NVM内存缓存的数据块需写回PCM区域时,由地址映射模块执行转换获得物理地址,随后将地址和数据发送给PCM接口;当NVM内存缓存的数据块需写回NVMe区域时,地址和数据将发送给NVMe接口。本专利技术的一种基于一致性总线扩展非本文档来自技高网
...
一种基于一致性总线扩展非易失内存的系统及方法

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

【技术特征摘要】
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.一种基于一致性总线...

【专利技术属性】
技术研发人员:周恒钊刘璧怡李拓
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1