一种CXL内存模组、内存的处理方法及计算机系统技术方案

技术编号:38205814 阅读:12 留言:0更新日期:2023-07-21 16:52
本公开实施例公开了一种CXL内存模组、内存的处理方法及计算机系统,控制器芯片被配置为执行如下操作:建立逻辑物理地址翻译表;接收基于逻辑地址的操作指令,基于逻辑物理地址翻译表把逻辑地址翻译成DRAM芯片的物理地址,根据物理地址进行操作。及通过CXL接口接收申请内存指令,申请内存指令携带内存的尺寸信息;根据内存的尺寸信息进行内存分配,并将为主体分配的内存地址返回给主体。CXL内存模组能够运行虚拟内存,通过一个映射表把逻辑地址映射到不同的物理地址,可提高系统的安全性,相较于目前CXL内存模组被动的按照物理地址的读写,更加智能;及CXL内存模组具有内存分配功能,能够有效地分担主机的计算负载。能够有效地分担主机的计算负载。能够有效地分担主机的计算负载。

【技术实现步骤摘要】
一种CXL内存模组、内存的处理方法及计算机系统


[0001]本公开涉及但不仅限于存储技术,尤指一种CXL内存模组、内存的处理方法及计算机系统。

技术介绍

[0002]CXL是一种新的基于PCIe物理层的内存接口协议,CXL协议使得可以用CXL内存模组对计算机进行内存扩充。CXL内存模组可以被多个CPU芯片甚至多个计算节点共享,是该技术的一大优势。
[0003]目前的CXL内存模组是被动的按照物理地址的进行读写等操作,不够智能。及对于任何计算系统,内存分配是一个重要任务。在软件层面,通过malloc()或free()等函数完成。这些函数的计算量很大,常常占据了很多CPU的计算时间。当多个CPU芯片共享同一个CXL内存模组时,内存分配将更复杂。

技术实现思路

[0004]本公开实施例提供了一种CXL内存模组,包括:控制器芯片和至少一组DRAM芯片,所述控制器芯片具有CXL接口,所述CXL内存模组执行以下至少一种操作:
[0005]所述CXL内存模组运行虚拟内存;及所述CXL内存模组进行内存分配。
[0006]本公开实施例还提供了一种内存的处理方法,应用于设置有控制器芯片和至少一组DRAM芯片的CXL内存模组,控制器芯片具有CXL接口,所述方法包括以下至少一种:
[0007]运行虚拟内存;及进行内存分配。
[0008]本公开实施例还提供了一种CXL内存模组的控制器芯片,所述控制器芯片包括内存接口、CXL接口以及与所述内存接口和所述CXL接口耦合的存储控制器,所述存储控制器被配置为执行任一实施例所述的内存的处理方法。
[0009]本公开实施例还提供了一种计算机系统,包括主体,及任一实施例所述的CXL内存模组,所述主体通过CXL接口与所述CXL内存模组连接;
[0010]所述主体能够通过cxl.mem协议向CXL内存模组发送内存读指令或内存写指令;所述主体能够通过cxl.io协议向CXL内存模组发送申请内存指令或释放内存指令。
[0011]本公开至少一个实施例提供的CXL内存模组、内存的处理方法及计算机系统,与现有技术相比,具有以下有益效果:CXL内存模组能够运行虚拟内存,通过一个映射表把逻辑地址映射到不同的物理地址,可提高系统的安全性,相较于目前CXL内存模组被动的按照物理地址的读写,更加智能;及CXL内存模组具有内存分配功能,能够接受和处理内存分配指令,具有内存分配功能的CXL内存模组能够有效地分担主机的计算负载。
[0012]本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
[0013]附图用来提供对本公开技术方案的理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
[0014]图1为本公开一示例实施例提供的CXL内存模组的结构框图;
[0015]图2为本公开另一示例实施例提供的CXL内存模组的结构框图;
[0016]图3为本公开又一示例实施例提供的CXL内存模组的结构框图;
[0017]图4为本公开一示例实施例提供的内存的处理方法的流程图;
[0018]图5为本公开另一示例实施例提供的内存的处理方法的流程图;
[0019]图6为本公开一示例实施例提供的CXL内存模组的控制器芯片的结构框图;
[0020]图7为本公开一示例实施例提供的计算机系统的结构框图;
[0021]图8为本公开另一示例实施例提供的计算机系统的结构框图。
具体实施方式
[0022]本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
[0023]本公开包括并设想了与本领域普通技术人员已知的特征和元件的组合。本公开已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的专利技术方案。任何实施例的任何特征或元件也可以与来自其它专利技术方案的特征或元件组合,以形成另一个由权利要求限定的独特的专利技术方案。因此,应当理解,在本公开中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
[0024]此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
[0025]图1为本公开一示例实施例提供的CXL内存模组的结构框图,图2为本公开另一示例实施例提供的CXL内存模组的结构框图,如图1和图2所示,CXL内存模组可以包括:控制器芯片11和至少一组DRAM芯片12,控制器芯片具有CXL接口,CXL内存模组执行以下至少一种操作:CXL内存模组运行虚拟内存;及CXL内存模组进行内存分配。
[0026]本公开实施例中,提供一种带虚拟内存的CXL内存模组,能够运行虚拟内存。和/或,CXL内存模组具有内存分配功能,能够接收和处理内存分配指令。
[0027]在本公开一示例实施例中,CXL内存模组运行虚拟内存,控制器芯片被配置为执行
如下操作:
[0028]建立逻辑物理地址翻译表;
[0029]接收基于逻辑地址的操作指令,基于逻辑物理地址翻译表把逻辑地址翻译成DRAM芯片的物理地址,根据物理地址进行操作。
[0030]本公开实施例中,提供一种带虚拟内存的CXL内存模组,能够运行虚拟内存。CXL内存模组运行虚拟内存,可通过CXL内存模组中的控制器芯片实现,控制器芯片可内置一个逻辑物理地址翻译表,通过一个映射表把逻辑地址映射到不同的物理地址,可提高系统的安全性,相较于目前CXL内存模组被动的按照物理地址的读写,更加智能。
[0031]带虚拟内存的CXL内存模组具有以下优点:
[0032]在内存芯片有坏块时,可以通过虚拟内存换到其他地址,可以提高内存芯片良率,降低成本。
[0033]在内存分配碎片化,而主体需要本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CXL内存模组,包括:控制器芯片和至少一组DRAM芯片,所述控制器芯片具有CXL接口,其特征在于,所述CXL内存模组执行以下至少一种操作:所述CXL内存模组运行虚拟内存;及所述CXL内存模组进行内存分配。2.根据权利要求1所述的CXL内存模组,其特征在于,所述CXL内存模组运行虚拟内存,所述控制器芯片被配置为执行如下操作:建立逻辑物理地址翻译表;接收基于逻辑地址的操作指令,基于所述逻辑物理地址翻译表把所述逻辑地址翻译成所述DRAM芯片的物理地址,根据所述物理地址进行操作。3.根据权利要求2所述的CXL内存模组,其特征在于,所述CXL内存模组支持多个主体读取,所述控制器芯片为每一个主体建立一个逻辑物理地址对照表;所述控制器芯片接收基于逻辑地址的操作指令,基于所述逻辑物理地址翻译表把所述逻辑地址翻译成所述DRAM芯片的物理地址,根据所述物理地址进行操作,包括:收到基于逻辑地址的操作指令时,根据所述操作指令中的主体标识查找到所述主体对应的逻辑物理地址对照表,根据查找到的所述逻辑物理地址对照表把所述逻辑地址翻译成所述DRAM芯片的物理地址,并根据所述物理地址对所述DRAM芯片进行操作。4.根据权利要求2所述的CXL内存模组,其特征在于,所述控制器芯片接收基于逻辑地址的操作指令,基于所述逻辑物理地址翻译表把所述逻辑地址翻译成所述DRAM芯片的物理地址,根据所述物理地址进行操作,包括:接收主体通过cxl.mem协议发送的内存读指令,所述内存读指令携带所读取数据的目标逻辑地址;基于所述逻辑物理地址翻译表把所述目标逻辑地址翻译成所述DRAM芯片的目标物理地址;根据所述目标物理地址从DRAM芯片中读出相应数据并返回给所述主体。5.根据权利要求2所述的CXL内存模组,其特征在于,所述控制器芯片接收基于逻辑地址的操作指令,基于所述逻辑物理地址翻译表把所述逻辑地址翻译成所述DRAM芯片的物理地址,根据所述物理地址进行操作,包括:接收主体通过cxl.mem协议发送的内存写指令,所述内存写指令携带所写入数据存储的目标逻辑地址;基于所述逻辑物理地址对照表将所述目标逻辑地址翻译成所述DRAM芯片的目标物理地址;根据所述目标物理地址将所述写入数据写入DRAM芯片相应的物理地址中。6.根据权利要求2所述的CXL内存模组,其特征在于,所述CXL内存模组还进行内存分配,所述控制器芯片还被配置为执行如下操作:通过所述CXL接口接收主体发送的申请内存指令,所述申请内存指令携带内存的尺寸信息;根据所述内存的尺寸信息进行内存分配,并将为主体分配的内存的逻辑地址返回给所述主体。7.根据权利要求6所述的CXL内存模组,其特征在于,所述控制器芯片根据所述内存的尺寸信息进行内存分配,并将为主体分配的内存的逻辑地址返回给所述主体,包括:
根据所述内存的尺寸信息,为所述主体分配不连续的多个内存页,将分配的多个内存页的物理地址对应到一段连续的逻辑地址返回给所述主体。8.根据权利要求1所述的CXL内存模组,其特征在于,所述CXL内存模组进行内存分配,所述控制器芯片被配置为执行如下操作:通过所述CXL接口接收申请内存指令,所述申请内存指令携带内存的尺寸信息;根据所述内存的尺寸信息进行内存分配,并将为主体分配的内存地址返回给所述主体。9.根据权利要8所述的CXL内存模组,其特征在于,所述CXL内存模组为多个主体共享;所述控制器芯片接收的所述申请内存指令还携带主体标识,所述控制器芯片根据所述主体标识将为所述主体分配的内存地址返回给所述主体。10.根据权利要求3或9所述的CXL内存模组,其特征在于,所述主体包括主CPU、主机或计算节点。11.根据权利要求3或9所述的CXL内存模组,其特征在于,所述主体标识包括主体的端口号或来源地址。12.根据权利要求8所述的CXL内存模组,其特征在于,所述控制器芯片还被配置为执行如下操作:通过所述CXL接口接收释放内存指令,所述释放内存指令携带被释放的地址块的起始地址;根据所述起始地址进行内存释放,释放所述地址块对应的内存数据。13.一种内存的处理方法,应用于设置有控制器芯片和至少一组DRAM芯片的CXL内存模组,控制器芯片具有CXL接口,其特征在于,所述方法包括以下至少一种:运行虚拟内存;及进行内存分配。14.根据权利要求13所述的方法,其...

【专利技术属性】
技术研发人员:戴瑾
申请(专利权)人:北京超弦存储器研究院
类型:发明
国别省市:

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

1