CN104360963A - 一种面向内存计算的异构混合内存方法和装置 - Google Patents

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

Info

Publication number
CN104360963A
CN104360963A CN201410696883.4A CN201410696883A CN104360963A CN 104360963 A CN104360963 A CN 104360963A CN 201410696883 A CN201410696883 A CN 201410696883A CN 104360963 A CN104360963 A CN 104360963A
Authority
CN
China
Prior art keywords
memory
nvm
cpu
internal memory
dram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410696883.4A
Other languages
English (en)
Other versions
CN104360963B (zh
Inventor
贡维
林楷智
李鹏翀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201410696883.4A priority Critical patent/CN104360963B/zh
Publication of CN104360963A publication Critical patent/CN104360963A/zh
Application granted granted Critical
Publication of CN104360963B publication Critical patent/CN104360963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明介绍了一种面向内存计算的异构混合内存方法和装置,具有容量大、功耗低、存储速度快等特点。所谓异构混合内存即由DRAM和NVM两种存储介质组成,其中DRAM具有功耗高、速度快、掉电数据丢失等特点,而NVM具有功耗低、数据非易失、但速度慢的特点。而异构混合内存将具有两者的优点,即容量大、功耗低、存储速度快等特点。

Description

一种面向内存计算的异构混合内存方法和装置
一、技术领域
本发明涉及计算机领域,尤其涉及一种异构混合内存的设计方法和装置。
二、背景技术
传统计算机内存和外存之间的I/O性能不匹配一直是造成数据处理速度低下的重要原因。近年来云计算、大数据等新一代信息技术迅速发展,内存计算技术应运而生,内存计算(In-Memory Computing)就是CPU直接从内存而非硬盘上读取数据,将大量的数据装载在内存中,并对数据进行计算、分析。所以传统计算平台面临的问题包括内存容量不够大、能耗高等方面。
另外,传统基于NVM(Non-Volatile Memory,非易失性存储器)的应用是将NVM作为PCIE SSD(即PCIe SSD,SSD为固态硬盘Solid State Drive)或SAS SSD(SAS,Serial Attached SCSI即串行连接SCSI)使用,其主要特征是取代机械硬盘,或者是作为内存与硬盘之间的Cache(缓存)使用。这样做可以使得IO性能提升很大,但是对内存级别,如容量、功耗、速度等没有任何改善。
三、发明内容
针对上述问题,本发明提出基于DRAM和NVM的异构混合内存系统架构,构建大容量、低功耗的异构混合内存系统,以解决现有计算机内存性能和容量较低、需频繁与磁盘I/O交换等一系列问题,以寻求速度接近DRAM、容量和能耗接近NVM的异构混合内存系统。
本发明系统包括处理器、DRAM内存条、NVM控制器和NVM内存条等部分,异构混合内存的存储介质由DRAM和NVM组成,DRAM和NVM两者进行统一编址,可提高CPU的访问效率。同时提出了DRAM作为NVM的Cache使用,根据数据访问频率存放在不同的地址空间以达到优化内存访问性能的目的。采用目录的Home侦听方式实现多个处理器之间的异构内存数据一致性维护。
根据本发明的发明目的,其中提供一种面向内存计算的异构混合内存装置,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条,其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU一致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条,其特征在于:
一方面CPU通过集成的内存控制器访问DRAM内存条;
另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
根据本发明进一步的发明目的,其中容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。
根据本发明进一步的发明目的,其中近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
根据本发明进一步的发明目的,其中近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能。
根据本发明进一步的发明目的,其中根据数据的访问频率将数据存放在不同的地址空间以达到优化内存访问性能的目的。
根据本发明进一步的发明目的,其中通过CPU一致性总线(CPUcoherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。
根据本发明的另一发明目的,其中提供一种面向内存计算的异构混合内存方法,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条,其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU一致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条,其特征在于:
一方面CPU通过集成的内存控制器访问DRAM内存条;
另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
根据本发明进一步的发明目的,其中容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。
根据本发明进一步的发明目的,其中近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
根据本发明进一步的发明目的,其中近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能。
根据本发明进一步的发明目的,其中根据数据的访问频率将数据存放在不同的地址空间以达到优化内存访问性能的目的。
根据本发明进一步的发明目的,其中通过CPU一致性总线(CPUcoherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。
四、附图说明
图1为本发明异构混合内存系统框图。
五、具体实施方式
如图1所示为一种异构混合内存设计方法和装置,其组成包括:CPU处理器、DRAM内存条、NVM控制器和NVM内存条。其中DRAM内存条通过DDR总线连接到CPU内存控制器上,NVM控制器上行接口是通过CPU一致性总线连接到CPU,下行接口是通过NVM总线连接到NVM内存条。
一方面CPU通过集成的内存控制器访问DRAM内存条。
另一方面CPU通过一致性总线(CPU coherence bus)访问NVM控制器下面的NVM内存条。
本发明中速度较快、容量较小的DRAM作为近端内存使用,而速度较慢、容量较大的NVM作为远端内存使用。近端内存和远端内存两者统一编址,可以提高CPU的访问效率。
近端内存就是将DRAM充当NVM非易失存储器的Cache,用于掩盖和缓解NVM相对于DRAM较差的延迟性能,称为DRAM Cache。对于上层而言看到的是一个由NVM构成的具有非易失性的内存空间,它们将是系统内存数据的所在地,而DRAM将成为运行时数据的缓冲区。
对于操作系统而言,其看到的是一个统一编址,统一管理的异构混合内存系统,使用统一的命令对混合内存进行管理。
异构混合内存系统中DRAM内存的访问延迟约为100ns左右,而NVM内存其访问延迟较DRAM内存慢10~20倍左右。因此根据数据的访问频率存放在不同的地址空间以达到优化内存访问性能的目的。
本发明中通过CPU一致性总线(CPU coherence bus)向NVM控制器发出读写请求,NVM控制器根据DRAM Cache是否命中,决定是否返回数据或转换成为NVM读写命令。
对于DRAM和NVM统一线性编址的系统中,内存空间由DRAM地址空间和NVM(非易失性存储)地址空间组成,这两个空间都需要进行全局数据一致性的维护。
对于传统的DRAM地址空间,处理器内部集成DRAM存储控制器,且处理器中专门实现了内存管理模块对与之相关内存地址空间进行全局数据一致性维护,因此无需对异构混合内存空间中的DRAM空间做额外的数据一致性维护。
对于内存空间中的NVM存储空间,其作为系统内存的属性决定了处理器在程序运行的过程中需要将这片非易失性存储空间内的数据搬运到处理器cache中,因此本发明中需要增加一个专门的内存代理(Home Agent)模块,内存代理模块采用基于目录的Home侦听方式实现多个处理器之间的异构内存数据一致性维护。
虽然先前的描述和附图描述了本发明的优选实施例,但是可以理解:在不脱离本发明的精神的情况下,在此可以产生各种附加、修改和替换。本领域普通技术人员很清楚:在不脱离本发明的精神或本质特性的情况下,可以以其他特殊形式、结构、布置、比例、以及利用其他元件、材料和部件来实现本发明。本领域的技术人员将意识到:本发明可以使用发明实际中使用的结构、布置、比例、材料以及部件和其他的许多修改,这些修改在不脱离本发明的原理的情况下而特别适应于特殊环境和操作需求。因此,当前公开的实施例在所有方面应被理解为说明性的而非对其请求保护的范围的限制。

Claims (12)

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读写命令。
CN201410696883.4A 2014-11-26 2014-11-26 一种面向内存计算的异构混合内存方法和装置 Active CN104360963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410696883.4A CN104360963B (zh) 2014-11-26 2014-11-26 一种面向内存计算的异构混合内存方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410696883.4A CN104360963B (zh) 2014-11-26 2014-11-26 一种面向内存计算的异构混合内存方法和装置

Publications (2)

Publication Number Publication Date
CN104360963A true CN104360963A (zh) 2015-02-18
CN104360963B CN104360963B (zh) 2017-12-12

Family

ID=52528227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410696883.4A Active CN104360963B (zh) 2014-11-26 2014-11-26 一种面向内存计算的异构混合内存方法和装置

Country Status (1)

Country Link
CN (1) CN104360963B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326135A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 一种平移非易失性存储器nvm的数据的方法及装置
CN106484368A (zh) * 2016-09-20 2017-03-08 深圳大学 一种基于Spark语义的数据重用方法及其系统
CN106843772A (zh) * 2017-02-14 2017-06-13 郑州云海信息技术有限公司 一种基于一致性总线扩展非易失内存的系统及方法
WO2017107164A1 (zh) * 2015-12-25 2017-06-29 研祥智能科技股份有限公司 异构混合内存架构的计算机系统及其控制方法、内存检测系统
CN107844433A (zh) * 2017-11-24 2018-03-27 郑州云海信息技术有限公司 一种异构混合内存服务器架构
CN108932111A (zh) * 2018-06-15 2018-12-04 深圳市华傲数据技术有限公司 一种数据读写性能的优化方法、介质及设备
US10152435B2 (en) 2016-06-20 2018-12-11 Western Digital Technologies, Inc. Coherent controller
CN109117088A (zh) * 2018-07-24 2019-01-01 联想(北京)有限公司 一种数据处理方法及系统
CN110618872A (zh) * 2019-09-25 2019-12-27 山东师范大学 混合内存动态调度方法及系统
CN111984188A (zh) * 2020-06-30 2020-11-24 重庆大学 混合内存数据的管理方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019624A (zh) * 2012-12-11 2013-04-03 清华大学 一种相变内存装置
CN103020551A (zh) * 2012-12-21 2013-04-03 清华大学 一种内存架构
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019624A (zh) * 2012-12-11 2013-04-03 清华大学 一种相变内存装置
CN103020551A (zh) * 2012-12-21 2013-04-03 清华大学 一种内存架构
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326135A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 一种平移非易失性存储器nvm的数据的方法及装置
WO2017107164A1 (zh) * 2015-12-25 2017-06-29 研祥智能科技股份有限公司 异构混合内存架构的计算机系统及其控制方法、内存检测系统
US10152435B2 (en) 2016-06-20 2018-12-11 Western Digital Technologies, Inc. Coherent controller
CN106484368A (zh) * 2016-09-20 2017-03-08 深圳大学 一种基于Spark语义的数据重用方法及其系统
CN106484368B (zh) * 2016-09-20 2019-08-16 深圳大学 一种基于Spark语义的数据重用方法及其系统
CN106843772A (zh) * 2017-02-14 2017-06-13 郑州云海信息技术有限公司 一种基于一致性总线扩展非易失内存的系统及方法
CN107844433A (zh) * 2017-11-24 2018-03-27 郑州云海信息技术有限公司 一种异构混合内存服务器架构
CN108932111A (zh) * 2018-06-15 2018-12-04 深圳市华傲数据技术有限公司 一种数据读写性能的优化方法、介质及设备
CN109117088A (zh) * 2018-07-24 2019-01-01 联想(北京)有限公司 一种数据处理方法及系统
CN109117088B (zh) * 2018-07-24 2021-02-19 联想(北京)有限公司 一种数据处理方法及系统
CN110618872A (zh) * 2019-09-25 2019-12-27 山东师范大学 混合内存动态调度方法及系统
CN111984188A (zh) * 2020-06-30 2020-11-24 重庆大学 混合内存数据的管理方法、装置及存储介质
CN111984188B (zh) * 2020-06-30 2021-09-17 重庆大学 混合内存数据的管理方法、装置及存储介质

Also Published As

Publication number Publication date
CN104360963B (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN104360963A (zh) 一种面向内存计算的异构混合内存方法和装置
US20210311637A1 (en) Unified addressing and hierarchical heterogeneous storage and memory
Kim et al. Fast, energy efficient scan inside flash memory SSDs
CN104575595B (zh) 非易失性随机存取的存储装置
CN102637147A (zh) 利用固态硬盘作为计算机写缓存的存储系统以及相应的管理调度方法
CN103678166A (zh) 一种采用固态硬盘作为计算机高速缓存的实现方法及系统
CN103514095A (zh) 一种数据库写入ssd 的方法和系统
CN104375578A (zh) 一种高速大容量缓存存储卡
WO2015051694A1 (zh) 一种基于新材料的外接的计算机加速设备
Oukid et al. On the diversity of memory and storage technologies
CN102681792A (zh) 一种固态盘内存分区方法
CN102096559B (zh) 一种提高sata接口固态硬盘数据传输效率的方法
Starke et al. IBM POWER9 memory architectures for optimized systems
CN103500147A (zh) 一种嵌入分层存储的pb级集群存储系统的方法
CN206147469U (zh) 一种提高外部存储设备访问性能的飞腾计算机
US10331385B2 (en) Cooperative write-back cache flushing for storage devices
CN105404471B (zh) 一种分布式云存储高速缓存层实现方法
CN105589912A (zh) 一种利用mram处理频写文件的方法及存储结构
Hung et al. PCI express-based NVMe solid state disk
CN104424124A (zh) 内存装置、电子设备和用于控制内存装置的方法
CN205003680U (zh) 一种用于高速数据防泄漏系统的运行机构
CN204270293U (zh) 多通道Flash控制器
Wang et al. A hybrid main memory applied in virtualization environments
CN208622084U (zh) 全闪存服务器
CN202196389U (zh) 一种高速海量数据存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant