CN106843772A - 一种基于一致性总线扩展非易失内存的系统及方法 - Google Patents
一种基于一致性总线扩展非易失内存的系统及方法 Download PDFInfo
- Publication number
- CN106843772A CN106843772A CN201710078934.0A CN201710078934A CN106843772A CN 106843772 A CN106843772 A CN 106843772A CN 201710078934 A CN201710078934 A CN 201710078934A CN 106843772 A CN106843772 A CN 106843772A
- Authority
- CN
- China
- Prior art keywords
- memory
- nvm
- uniformity
- internal memories
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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
本发明公开了一种基于一致性总线扩展非易失内存的系统及方法,其结构包括若干通过cache一致性高速互连总线互连的节点,每个节点内均配置有处理器、DRAM内存和NVM内存组成的混合内存,其中在处理器与NVM内存之间配置有NVM内存控制器,在处理器与DRAM内存之间配置有DRAM内存控制器,其中处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性,方法则基于该系统实现。该一种基于一致性总线扩展非易失内存的系统及方法与现有技术相比,解决DRAM内存现有的技术瓶颈,提升NVM内存访问性能,提高整系统数据处理能力,实用性强,适用范围广泛,易于推广。
Description
技术领域
本发明涉及计算机技术领域,具体地说是一种实用性强、基于一致性总线扩展非易失内存的系统及方法。
背景技术
近几年,全球的数据量以每年58%的速度增长,未来这个速度会更快,这使得用户对于海量数据的处理和实施分析的及时高效性越来越重视。现有的以计算为中心的技术难以满足大数据的应用需求,因此,IT架构的重构势在必行。新型非易失性存储器件的出现和成本的不断降低,为以数据为中心的大数据处理模式即内存计算创造了机会。
内存和外存之间的I/O性能不匹配一直是造成数据处理速度低下的重要原因。内存计算消除了传统计算模式中的I/O性能瓶颈,将大量的数据装载在内存中,大规模数据的处理性能得到显著提升,然而数据的快速增长和数据类型的不断扩充令内存计算平台的内存系统面临容量、能耗、可靠性等方面的巨大挑战。
NVM Express(简称NVMe)是一个针对使用PCI Express SSD的企业和普通客户端系统开发的可扩展的主机控制芯片接口标准。NVMe由Intel主导,得到了包括Cisco、Dell、EMC、NetApp、Oracle在内的众多大厂商的支持与参与,其目标是统一PCIe SSD存储装置标准,让未来的PCIe SSD可以方便的安装到所有平台使用。NVMe优化了PCIe SSD的寄存器接口和指令集,其全双工、多请求处理能力及无序处理能力可以给存储器性能带来极大的提升。NVMe中定义了若干队列的传输与管理机制,以实现主机与SSD控制器间的数据传输。
为了让主机更好地控制SSD,在NVMe中定义了若干高级命令,这些命令允许主机驱动程序向SSD控制器传递数据集属性信息,诸如数据的访问频率属性等,其设计初衷是为了主机与SSD控制器间提供更完善的传输支持,但是如何充分利用这些高级命令尚未得到充分地开发。此外,NVMe中提出的读写机制较为繁琐,对于作为内存使用的非易失性存储器软件开销较大,有待优化。采用NVMe扩展非易失性内存的方法,其本质为将非易失性存储作为一个I/O访问的块设备,而不是传统意义上的内存,因此性能上和传统的内存有较大差距。
基于此,现提供一种基于一致性总线扩展非易失内存的系统及方法,来解决DRAM、Cache中存储的数据与NVM中的数据可能存在不一致的问题,这里的DRAM是指DynamicRandom Access Memory,即动态随机访问存储器。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于一致性总线扩展非易失内存的系统及方法。
一种基于一致性总线扩展非易失内存的系统,其结构包括若干通过cache一致性高速互连总线Cache Coherence Bus,即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接口。
本发明的一种基于一致性总线扩展非易失内存的系统及方法,具有以下优点:
本发明的一种基于一致性总线扩展非易失内存的系统及方法,设计了面向非易失存储器的异构混合内存系统架构,能够对异构混合内存统一编址,进行统一管理,通过新型非易失存储器与传统DRAM内存混合应用,解决DRAM内存现有的技术瓶颈,提升NVM内存访问性能,提高整系统数据处理能力,实用性强,适用范围广泛,易于推广。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明的异构混合内存系统架构图。
附图2为异构混合内存空间地址分布图。
附图3为NVM控制芯片内存代理模块图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图及具体实施例对本发明作进一步说明。
由于NVM内存具有非易失性,在DRAM内存与NVM内存进行混合组成混合内存时,如果采用DRAM内存作为NVM内存的Cache架构,那么由于NVM内存的非易失性,DRAM内存、Cache中存储的数据与NVM内存中的数据可能存在不一致的问题。
基于此,如附图1-3所示,本发明提供一种基于一致性总线扩展非易失内存的系统,基于一致性总线扩展非易失内存,采用cache一致性高速互连总线(CCB)对NVM内存介质的系统内存进行扩展,对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性,采用多队列管理,粗细颗粒度自适应等NVM内存访存优化技术。异构混合内存系统架构图如附图1所示,每个节点通过cache一致性高速互连总线(CCB)彼此互连,每个节点有两个内存控制器,对应DRAM内存和NVM内存,实现对不同内存介质的访问。
其结构包括若干通过cache一致性高速互连总线互连的节点,每个节点内均配置有处理器、DRAM内存和NVM内存组成的混合内存,其中在处理器与NVM内存之间配置有NVM内存控制器,在处理器与DRAM内存之间配置有DRAM内存控制器,其中处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性。
所述NVM内存控制器采用内存代理的方式管理非易失内存NVM内存,其结构包括内存代理(Home Agent)的方式管理非易失内存,主要功能模块有内存代理模块、cache一致性目录管理模块、CCB高速传输模块、请求管理模块、NVM内存接口模块、NVMe接口模块及CCB接口模块。
内存代理模块负责在各个携带高速缓存Cache的处理器(Cache Agent)之间维护系统的数据一致性,处理器作为访存(NVM内存)请求的发起者,非易失性内存代理单元(Home Agent)则作为访存请求的接受者,它代理了它所挂载的这一片NVM内存空间。如附图2内存代理包含了一致性流水线、协议状态管理、协议转换表,请求队列进入一致性流水线进行处理,处理完成后,HA把该请求结果放入完成队列。对于每个内存代理而言,其实现的一致性协议必须与处理器CA一端所支持的协议兼容,因此HA的一致性协议实现了资源预分配机制,如附图3所示,即每个HA必须能够全部接收CA所发送的最大请求数,以解决不同CA对同地址的访存冲突,避免造成CA一侧请求信道阻塞导致死锁。
cache一致性目录管理模块负责目录cache查找及管理,目录维护,每个目录项对应一个Cacheline大小的数据块,目录由多个目录项组成,目录项的数目与存储器的总容量成正比关系。目录项由两部分构成,一部分是状态信息(State),另一部分是共享信息。目录的状态信息用于表示目录当前所处的状态,该状态信息位基本是固定的,不会随着系统规模的增长而变化。本系统中每个目录项使用2bit数据对目录状态进行记录,目录状态描述如下:
A:最高权限,标记系统中的某个CA有可能对数据有独占副本
S:次高权限,标记系统中的某一个或若干CA可能对数据有共享副本
I:最低权限,标记系统中没有任何CA对数据有副本
请求管理模块负责数据缓存的管理,请求队列、完成队列的管理,和NVM内存接口、NVMe接口连接,把处理完成的请求结果保存早数据缓存,维护数据缓存和NVM内存的一致性。NVM内存接口模块和NVM内存连接,NVMe接口和NVM内存子卡相连,通过NVM内存子卡可扩展多个NVM内存单元。
CCB高速传输模块负责数据的高速传输,串并转换,错误检验,数据重传及流量控制。
一种基于一致性总线扩展非易失内存的方法,基于上述系统,该系统配置有处理器、DRAM内存和NVM内存组成的混合内存,非易失内存的扩展过程为:
处理器与NVM内存、DRAM内存之间均通过cache一致性高速互连总线互连,且对DRAM内存和NVM内存统一编址实现异构混合内存系统的全局cache一致性,即处理器通过cache一致性高速互连总线连接NVM内存控制器,该NVM内存控制器扩展连接若干NVM内存;处理器通过cache一致性高速互连总线连接DRAM内存控制器,该DRAM内存控制器扩展连接若干DRAM内存。
所述NVM内存地址空间由两个部分构成:PCM区域和NVMe区域,用户程序按需请求不同区域的页面;即,
所述异构混合内存系统,可以是一个由三种存储介质构成的统一内存空间,也可以是一个只有PCM和Flash构成的非易失内存空间,或者处于二者之间,其整个地址空间分布如附图2所示。
所述异构混合内存系统对DRAM内存和非易失存储内存统一编址、统一管理,其地址的范围为0~n,即将其视作为一个整体的内存,具体器件类型不可见。非易失存储内存部分的地址为统一编址的一部分,该部分地址固定不变;DRAM内存的地址为统一编址的另一部分,该部分动态变化;Cache占用DRAM内存的地址范围A为0~X,X为DRAM内存的最大地址,地址范围A根据上层请求的特性而调整。例如,如果请求是读多写少的类型,则A将会变小,即直接让读请求发生在非易失存储器上;相反,如果请求是读少写多的类型,则A会变大,也即利用更多的DRAM内存来充当非易失存储器的Cache,以掩盖它的写速度,并提高寿命。
当处理器访问NVM内存时,其具体实现过程为:
首先将从高速串行总线接收的命令及其数据存放在请求队列中;
然后从请求队列中读取命令;
当为读命令时,由缓存管理确定所请求数据是否在NVM内存的缓存中命中,若在NVM内存的缓存中命中则读取数据,发送到完成队列中,通过高速串行总线返回;若未在NVM内存的缓存中命中,读命令地址在PCM内存区域内时,由地址映射模块执行转换获得物理地址,随后将物理地址发送给PCM接口,从PCM区域读取的数据将送入NVM内存缓存,发送到完成队列中,通过高速串行总线返回;若未在NVM内存缓存中命中,读命令地址在NVMe内存区域内时,命令将发送给NVMe接口,从NVMe区域读取的将送入NVM内存缓存,发送到完成队列中,通过高速串行总线返回;
当为写命令时,数据将送入NVM内存缓存中,将确认信息发送到完成队列中;当NVM内存缓存的数据块需写回PCM区域时,由地址映射模块执行转换获得物理地址,随后将地址和数据发送给PCM接口;当NVM内存缓存的数据块需写回NVMe区域时,地址和数据将发送给NVMe接口。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于一致性总线扩展非易失内存的系统及方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (10)
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接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078934.0A CN106843772A (zh) | 2017-02-14 | 2017-02-14 | 一种基于一致性总线扩展非易失内存的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078934.0A CN106843772A (zh) | 2017-02-14 | 2017-02-14 | 一种基于一致性总线扩展非易失内存的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106843772A true CN106843772A (zh) | 2017-06-13 |
Family
ID=59128182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710078934.0A Pending CN106843772A (zh) | 2017-02-14 | 2017-02-14 | 一种基于一致性总线扩展非易失内存的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106843772A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107368435A (zh) * | 2017-07-19 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种精简目录及利用该精简目录实现Cache一致性监听的方法 |
CN107634982A (zh) * | 2017-07-27 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种多路服务器互联芯片远端代理目录实现方法 |
CN107766001A (zh) * | 2017-10-18 | 2018-03-06 | 成都索贝数码科技股份有限公司 | 一种基于用户群组的存储配额方法 |
CN107784121A (zh) * | 2017-11-18 | 2018-03-09 | 中国人民解放军国防科技大学 | 一种基于非易失内存的日志文件系统的小写优化方法 |
CN107797944A (zh) * | 2017-10-24 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种层次式异构混合内存系统 |
CN107844433A (zh) * | 2017-11-24 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种异构混合内存服务器架构 |
CN108572932A (zh) * | 2017-12-29 | 2018-09-25 | 贵阳忆芯科技有限公司 | 多平面nvm命令融合方法与装置 |
WO2018232736A1 (zh) * | 2017-06-23 | 2018-12-27 | 华为技术有限公司 | 内存访问技术及计算机系统 |
CN109117088A (zh) * | 2018-07-24 | 2019-01-01 | 联想(北京)有限公司 | 一种数据处理方法及系统 |
CN109189700A (zh) * | 2018-10-19 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种扩展内存装置、扩展内存系统、扩展内存的访存方法 |
CN109558250A (zh) * | 2018-11-02 | 2019-04-02 | 锐捷网络股份有限公司 | 一种基于fpga的通信方法、设备、主机及异构加速系统 |
CN110727530A (zh) * | 2019-09-12 | 2020-01-24 | 无锡江南计算技术研究所 | 基于窗口的错误访存请求重传系统及方法 |
US20220350746A1 (en) * | 2020-09-18 | 2022-11-03 | Kioxia Corporation | Dynamic buffer caching of storage devices |
WO2023000784A1 (zh) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | 数据访问方法以及相关设备 |
CN116644006A (zh) * | 2023-07-27 | 2023-08-25 | 浪潮电子信息产业股份有限公司 | 一种内存页面管理方法、系统、装置、设备及计算机介质 |
CN117807013A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种内存扩展装置、服务器以及服务器集群 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810112A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失性内存系统及其管理方法 |
CN103858111A (zh) * | 2013-10-08 | 2014-06-11 | 华为技术有限公司 | 一种实现聚合虚拟化中内存共享的方法、设备和系统 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN104360963A (zh) * | 2014-11-26 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种面向内存计算的异构混合内存方法和装置 |
CN104461941A (zh) * | 2014-12-26 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种内存系统架构及管理方法 |
-
2017
- 2017-02-14 CN CN201710078934.0A patent/CN106843772A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103858111A (zh) * | 2013-10-08 | 2014-06-11 | 华为技术有限公司 | 一种实现聚合虚拟化中内存共享的方法、设备和系统 |
CN103810112A (zh) * | 2014-01-28 | 2014-05-21 | 华中科技大学 | 一种非易失性内存系统及其管理方法 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN104360963A (zh) * | 2014-11-26 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种面向内存计算的异构混合内存方法和装置 |
CN104461941A (zh) * | 2014-12-26 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种内存系统架构及管理方法 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018232736A1 (zh) * | 2017-06-23 | 2018-12-27 | 华为技术有限公司 | 内存访问技术及计算机系统 |
US10732876B2 (en) | 2017-06-23 | 2020-08-04 | Huawei Technologies Co., Ltd. | Memory access technology and computer system |
US11231864B2 (en) | 2017-06-23 | 2022-01-25 | Huawei Technologies Co., Ltd. | Memory access technology and computer system |
US11681452B2 (en) | 2017-06-23 | 2023-06-20 | Huawei Technologies Co., Ltd. | Memory access technology and computer system |
CN107368435A (zh) * | 2017-07-19 | 2017-11-21 | 郑州云海信息技术有限公司 | 一种精简目录及利用该精简目录实现Cache一致性监听的方法 |
CN107368435B (zh) * | 2017-07-19 | 2020-03-06 | 郑州云海信息技术有限公司 | 一种精简目录及利用该精简目录实现Cache一致性监听的方法 |
CN107634982A (zh) * | 2017-07-27 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种多路服务器互联芯片远端代理目录实现方法 |
CN107766001A (zh) * | 2017-10-18 | 2018-03-06 | 成都索贝数码科技股份有限公司 | 一种基于用户群组的存储配额方法 |
CN107766001B (zh) * | 2017-10-18 | 2021-05-25 | 成都索贝数码科技股份有限公司 | 一种基于用户群组的存储配额方法 |
CN107797944A (zh) * | 2017-10-24 | 2018-03-13 | 郑州云海信息技术有限公司 | 一种层次式异构混合内存系统 |
CN107784121B (zh) * | 2017-11-18 | 2020-04-24 | 中国人民解放军国防科技大学 | 一种基于非易失内存的日志文件系统的小写优化方法 |
CN107784121A (zh) * | 2017-11-18 | 2018-03-09 | 中国人民解放军国防科技大学 | 一种基于非易失内存的日志文件系统的小写优化方法 |
CN107844433A (zh) * | 2017-11-24 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种异构混合内存服务器架构 |
CN108572932A (zh) * | 2017-12-29 | 2018-09-25 | 贵阳忆芯科技有限公司 | 多平面nvm命令融合方法与装置 |
CN109117088B (zh) * | 2018-07-24 | 2021-02-19 | 联想(北京)有限公司 | 一种数据处理方法及系统 |
CN109117088A (zh) * | 2018-07-24 | 2019-01-01 | 联想(北京)有限公司 | 一种数据处理方法及系统 |
CN109189700A (zh) * | 2018-10-19 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种扩展内存装置、扩展内存系统、扩展内存的访存方法 |
CN109558250A (zh) * | 2018-11-02 | 2019-04-02 | 锐捷网络股份有限公司 | 一种基于fpga的通信方法、设备、主机及异构加速系统 |
CN110727530A (zh) * | 2019-09-12 | 2020-01-24 | 无锡江南计算技术研究所 | 基于窗口的错误访存请求重传系统及方法 |
US20220350746A1 (en) * | 2020-09-18 | 2022-11-03 | Kioxia Corporation | Dynamic buffer caching of storage devices |
US11797452B2 (en) * | 2020-09-18 | 2023-10-24 | Kioxia Corporation | Dynamic buffer caching of storage devices |
WO2023000784A1 (zh) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | 数据访问方法以及相关设备 |
CN116644006A (zh) * | 2023-07-27 | 2023-08-25 | 浪潮电子信息产业股份有限公司 | 一种内存页面管理方法、系统、装置、设备及计算机介质 |
CN116644006B (zh) * | 2023-07-27 | 2023-11-03 | 浪潮电子信息产业股份有限公司 | 一种内存页面管理方法、系统、装置、设备及计算机介质 |
CN117807013A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 一种内存扩展装置、服务器以及服务器集群 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843772A (zh) | 一种基于一致性总线扩展非易失内存的系统及方法 | |
CN105740164B (zh) | 支持缓存一致性的多核处理器、读写方法、装置及设备 | |
US8930637B2 (en) | Arrangement | |
CN104111907B (zh) | 一种访问NVMe存储设备的方法和NVMe存储设备 | |
CN102804152B (zh) | 对存储器层次结构中的闪存的高速缓存一致性支持 | |
CN103946826B (zh) | 用于在公共存储器通道上实现多级存储器层级的设备和方法 | |
CN109582214B (zh) | 数据访问方法以及计算机系统 | |
CN107729268B (zh) | 一种基于capi接口的内存扩展装置与方法 | |
CN106462501A (zh) | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 | |
DE112011106078T5 (de) | Mehrstufiger Arbeitsspeicher mit Direktzugriff | |
CN109196829A (zh) | 远程存储器操作 | |
CN103999057B (zh) | 具有开关的相变存储器(pcms)的元数据管理和支持 | |
WO2018090255A1 (zh) | 内存访问技术 | |
CN102804151A (zh) | 访问作为缓存一致性域的部分的内存刀片的内存代理 | |
WO2019128958A1 (zh) | 缓存替换技术 | |
US20220004488A1 (en) | Software drive dynamic memory allocation and address mapping for disaggregated memory pool | |
CN103970678B (zh) | 目录设计方法及装置 | |
CN109684237A (zh) | 基于多核处理器的数据访问方法和装置 | |
US20230229593A1 (en) | Hybrid memory module | |
CN102043731A (zh) | 一种存储系统的缓存系统 | |
CN116795767A (zh) | 一种基于CHI协议的多核Cache共享一致性协议构建方法 | |
JP2002140232A (ja) | マルチプロセッサシステム及びキャッシュを制御する方法 | |
CN111651380B (zh) | 一种基于描述符表的参数加载方法 | |
CN117009264B (zh) | 在soc中实现高速内存扩展的方法、系统、芯片及存储介质 | |
US11954037B2 (en) | Memory address allocation and cache mapping to retain data in cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170613 |