一种面向内存计算的异构混合内存方法和装置制造方法

文档序号:6636028阅读:291来源:国知局
一种面向内存计算的异构混合内存方法和装置制造方法
【专利摘要】本发明介绍了一种面向内存计算的异构混合内存方法和装置,具有容量大、功耗低、存储速度快等特点。所谓异构混合内存即由DRAM和NVM两种存储介质组成,其中DRAM具有功耗高、速度快、掉电数据丢失等特点,而NVM具有功耗低、数据非易失、但速度慢的特点。而异构混合内存将具有两者的优点,即容量大、功耗低、存储速度快等特点。
【专利说明】一种面向内存计算的异构混合内存方法和装置
一、【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种异构混合内存的设计方法和装置。

二、【背景技术】
[0002]传统计算机内存和外存之间的I/O性能不匹配一直是造成数据处理速度低下的重要原因。近年来云计算、大数据等新一代信息技术迅速发展,内存计算技术应运而生,内存计算(In-Memory Computing)就是CPU直接从内存而非硬盘上读取数据,将大量的数据装载在内存中,并对数据进行计算、分析。所以传统计算平台面临的问题包括内存容量不够大、能耗闻等方面。
[0003]另外,传统基于NVM(Non-VolatiIe Memory,非易失性存储器)的应用是将NVM作为 PCIE SSD(即 PCIe SSD, SSD 为固态硬盘 Solid State Drive)或 SAS SSD(SAS, SerialAttached SCSI即串行连接SCSI)使用,其主要特征是取代机械硬盘,或者是作为内存与硬盘之间的Cache(缓存)使用。这样做可以使得1性能提升很大,但是对内存级别,如容量、功耗、速度等没有任何改善。

三、
【发明内容】

[0004]针对上述问题,本发明提出基于DRAM和NVM的异构混合内存系统架构,构建大容量、低功耗的异构混合内存系统,以解决现有计算机内存性能和容量较低、需频繁与磁盘I/O交换等一系列问题,以寻求速度接近DRAM、容量和能耗接近NVM的异构混合内存系统。
[0005]本发明系统包括处理器、DRAM内存条、NVM控制器和NVM内存条等部分,异构混合内存的存储介质由DRAM和NVM组成,DRAM和NVM两者进行统一编址,可提高CPU的访问效率。同时提出了 DRAM作为NVM的Cache使用,根据数据访问频率存放在不同的地址空间以达到优化内存访问性能的目的。采用目录的Home侦听方式实现多个处理器之间的异构内存数据一致性维护。
[0006]根据本发明的发明目的,其中提供一种面向内存计算的异构混合内存装置,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条,其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU —致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条,其特征在于:
[0007]一方面CPU通过集成的内存控制器访问DRAM内存条;
[0008]另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
[0009]根据本发明进一步的发明目的,其中容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。
[0010]根据本发明进一步的发明目的,其中近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
[0011]根据本发明进一步的发明目的,其中近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能。
[0012]根据本发明进一步的发明目的,其中根据数据的访问频率将数据存放在不同的地址空间以达到优化内存访问性能的目的。
[0013]根据本发明进一步的发明目的,其中通过CPU—致性总线(CPU coherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。
[0014]根据本发明的另一发明目的,其中提供一种面向内存计算的异构混合内存方法,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条,其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU —致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条,其特征在于:
[0015]一方面CPU通过集成的内存控制器访问DRAM内存条;
[0016]另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
[0017]根据本发明进一步的发明目的,其中容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。
[0018]根据本发明进一步的发明目的,其中近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
[0019]根据本发明进一步的发明目的,其中近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能。
[0020]根据本发明进一步的发明目的,其中根据数据的访问频率将数据存放在不同的地址空间以达到优化内存访问性能的目的。
[0021]根据本发明进一步的发明目的,其中通过CPU—致性总线(CPU coherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。

四、【专利附图】

【附图说明】
[0022]图1为本发明异构混合内存系统框图。

五、【具体实施方式】
[0023]如图1所示为一种异构混合内存设计方法和装置,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条。其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU —致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条。
[0024]一方面CPU通过集成的内存控制器访问DRAM内存条。
[0025]另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
[0026]本发明中速度较快、容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
[0027]近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能,称为DRAM Cache。对于上层而言看到的是一个由NVM构成的具有非易失性的内存空间,它们将是系统内存数据的所在地,而DRAM将成为运行时数据的缓冲区。
[0028]对于操作系统而言,其看到的是一个统一编址,统一管理的异构混合内存系统,使用统一的命令对混合内存进行管理。
[0029]异构混合内存系统中DRAM内存的访问延迟约为10ns左右,而NVM内存其访问延迟较DRAM内存慢10?20倍左右。因此根据数据的访问频率存放在不同的地址空间以达到优化内存访问性能的目的。
[0030]本发明中通过CPU—致性总线(CPU coherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。
[0031]对于DRAM和NVM统一线性编址的系统中,内存空间由DRAM地址空间和NVM(非易失性存储)地址空间组成,这两个空间都需要进行全局数据一致性的维护。
[0032]对于传统的DRAM地址空间,处理器内部集成DRAM存储控制器,且处理器中专门实现了内存管理模块对与之相关内存地址空间进行全局数据一致性维护,因此无需对异构混合内存空间中的DRAM空间做额外的数据一致性维护。
[0033]对于内存空间中的NVM存储空间,其作为系统内存的属性决定了处理器在程序运行的过程中需要将这片非易失性存储空间内的数据搬运到处理器cache中,因此本发明中需要增加一个专门的内存代理(Home Agent)模块,内存代理模块采用基于目录的Home侦听方式实现多个处理器之间的异构内存数据一致性维护。
[0034]虽然先前的描述和附图描述了本发明的优选实施例,但是可以理解:在不脱离本发明的精神的情况下,在此可以产生各种附加、修改和替换。本领域普通技术人员很清楚:在不脱离本发明的精神或本质特性的情况下,可以以其他特殊形式、结构、布置、比例、以及利用其他元件、材料和部件来实现本发明。本领域的技术人员将意识到:本发明可以使用发明实际中使用的结构、布置、比例、材料以及部件和其他的许多修改,这些修改在不脱离本发明的原理的情况下而特别适应于特殊环境和操作需求。因此,当前公开的实施例在所有方面应被理解为说明性的而非对其请求保护的范围的限制。
【权利要求】
1.一种面向内存计算的异构混合内存装置,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条,其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU —致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条,其特征在于: 一方面CPU通过集成的内存控制器访问DRAM内存条; 另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
2.如权利要求1所述的面向内存计算的异构混合内存装置,其中容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。
3.如权利要求2所述的面向内存计算的异构混合内存装置,其中近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
4.如权利要求2所述的面向内存计算的异构混合内存装置,其中近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能。
5.如权利要求2所述的面向内存计算的异构混合内存装置,其中根据数据的访问频率将数据存放在不同的地址空间以达到优化内存访问性能的目的。
6.如权利要求2所述的面向内存计算的异构混合内存装置,其中通过CPU—致性总线(CPU coherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。
7.一种面向内存计算的异构混合内存方法,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条,其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU —致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条,其特征在于: 一方面CPU通过集成的内存控制器访问DRAM内存条; 另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
8.如权利要求7所述的面向内存计算的异构混合内存方法,其中容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。
9.如权利要求8所述的面向内存计算的异构混合内存方法,其中近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
10.如权利要求8所述的面向内存计算的异构混合内存方法,其中近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能。
11.如权利要求8所述的面向内存计算的异构混合内存方法,其中根据数据的访问频率将数据存放在不同的地址空间以达到优化内存访问性能的目的。
12.如权利要求8所述的面向内存计算的异构混合内存方法,其中通过CPU—致性总线(CPU coherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。
【文档编号】G06F13/16GK104360963SQ201410696883
【公开日】2015年2月18日 申请日期:2014年11月26日 优先权日:2014年11月26日
【发明者】贡维, 林楷智, 李鹏翀 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1