System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于在客户端节点中存储本地内存映射表的内存控制器和方法技术_技高网

用于在客户端节点中存储本地内存映射表的内存控制器和方法技术

技术编号:41734028 阅读:18 留言:0更新日期:2024-06-19 12:54
提供了一种用于在客户端节点中存储本地内存映射表的内存控制器,并且所述内存控制器连接到一个或多个存储节点,其中,每个存储节点包括物理内存,并且所述控制节点包括中央内存映射表,所述中央内存映射表包括多个客户端节点的本地内存映射。所述内存控制器用于:从所述应用程序接收对逻辑地址的内存请求;确定所述逻辑地址是否在所述本地内存映射表中;如果所述逻辑地址在所述本地内存映射表中,则根据所述本地内存映射表执行所述内存请求;如果所述逻辑地址不在所述本地内存映射表中,则将对所述逻辑地址的对应内存请求传输到所述控制节点。所述内存控制器从所述控制器接收响应,并相应地更新所述本地内存映射表。所述内存控制器在存储技术的各种计算节点上提供高效和有效的共享持久内存体验。

【技术实现步骤摘要】
【国外来华专利技术】

本专利技术大体上涉及分布式系统领域,更具体地,涉及一种内存控制器和一种用于在客户端节点的内存控制器中存储本地内存映射表的方法。


技术介绍

1、通常,在评估任何存储技术的整体性能时,存储时延都是最关键的因素。此外,在各种类型的存储技术中,例如在云存储技术、四层单元驱动存储技术、存储级内存技术等中,对低时延存储的需求不断增长。通常,存储级内存被认为是用于传统存储技术中不同应用程序的低时延数据传输的构建块。所述存储级内存还提供了新的字节可寻址的硬件介质和设备,例如传统的动态随机存取存储器和持久内存(例如固态硬盘存储器)。然而,由于在实际应用中面临各种挑战,例如存储级内存的共享和分配,以及虚拟内存在多个存储节点之间的负载均衡等,传统的存储技术仍然是低效和无效的。因此,传统的存储技术效率低下,且无法处理具有低时延和精简配置分配的虚拟内存。因此,存在一个技术问题:如何在各种计算节点之间提供高效和有效的共享持久内存体验。

2、因此,鉴于上述讨论,需要克服上述与传统内存系统和内存分配器相关的缺点。


技术实现思路

1、本专利技术提供了一种内存控制器和一种用于在客户端节点的内存控制器中存储本地内存映射表的方法。本专利技术提供了一种现有问题的技术方案,即如何在配备有新存储技术的各种计算节点上提供高效和有效的共享持久内存体验。本专利技术的目的是提供一种技术方案,其至少部分地克服现有技术中遇到的问题,并提供一种改进的内存控制器和一种用于在客户端节点的内存控制器中存储本地内存映射表的改进的方法。本专利技术还提供了一种具有精简配置分配和域隔离访问的远程分布式随机存取内存池。

2、本专利技术的一个或多个目的是通过所附独立权利要求中提供的技术方案来实现的。本专利技术的有利实施方式在从属权利要求中进一步定义。

3、在一个方面中,本专利技术提供了一种待在客户端节点中使用的内存控制器,所述客户端节点包括用于存储本地内存映射表的本地内存。所述客户端节点用于执行应用程序。此外,所述内存控制器用于可操作地连接到一个或多个存储节点,其中,每个存储节点包括物理内存。此外,所述内存控制器用于可操作地连接到控制节点,控制节点包括中央内存映射表,中央内存映射表包括多个客户端节点的本地内存映射。此外,所述内存控制器用于从所述应用程序接收对逻辑地址的内存请求;确定所述逻辑地址是否在所述本地内存映射表中;如果所述逻辑地址在所述本地内存映射表中,则根据所述本地内存映射表执行所述内存请求。如果所述逻辑地址不在所述本地内存映射表中,则将对所述逻辑地址的对应内存请求传输到所述控制节点。此外,所述内存控制器用于从所述控制器接收响应,并相应更新所述本地内存映射表。

4、所述内存控制器用于所述客户端节点中,所述客户端节点包括用于存储本地内存映射表的本地内存,以确保低时延。有利地是,所述内存控制器用于从所述应用程序接收对所述逻辑地址的所述内存请求,并确定所述逻辑地址是否在所述本地内存映射表中。此外,所述内存控制器用于从所述控制器接收响应,并相应更新所述本地内存映射表。通过存储所述本地内存映射表,所述内存控制器可以在多个客户端(或计算)节点与所述控制节点之间共享一个或多个存储节点资源(即,访问相同的内存空间)。换句话说,所述内存控制器提供了有效和高效的共享持久内存体验,同时降低了时延。所述低时延进一步提供所述客户端节点上的直接内存读取,并绕过所述内存控制器(或cpu)进行地址转换和多租户保证(即域隔离访问)。所述内存控制器还允许存储内存映射细节并实施内存保护,以通过精简配置和域隔离访问远程分布式内存池。

5、在一种实现方式中,所述本地内存映射表是所述中央内存映射表的子集。

6、所述本地内存映射表可以轻松访问所述逻辑地址,从而进一步降低了所述时延。

7、在另一种实现方式中,如果所述内存请求是写入操作,所述内存控制器用于将对所述逻辑地址的分配请求作为所述对应内存请求传输到所述控制节点,使得所述控制节点在所述一个或多个存储节点中的一个存储节点中分配物理内存;从所述控制器接收所述分配的内存的物理地址作为所述响应。此外,所述内存控制器用于通过将所述逻辑地址映射到所述物理地址来相应地更新所述本地内存映射表,并将写入请求传输到存储所述物理地址的所述存储节点。

8、在所述实现方式中,所述内存控制器在接收到所述内存请求时执行所述写入操作,并进一步更新所述本地内存映射表以存储所述内存映射表,并在每次操作后更新所述内存映射表。

9、在另一种实现方式中,如果所述内存请求是读取操作,所述内存控制器用于:将对所述逻辑地址的内存映射请求作为所述对应内存请求传输到所述控制节点,使得所述控制节点从所述中央内存映射中检索所述逻辑地址的映射;从所述控制器接收对所述请求的逻辑地址的内存映射作为所述响应,所述内存映射包括物理地址。此外,所述内存控制器用于通过将所述逻辑地址映射到所述远程物理地址来相应地更新所述本地内存映射表。所述内存控制器还将所述内存请求传输到所述物理地址的所述存储节点。

10、在所述实现方式中,所述内存控制器在接收到所述内存请求时执行所述读取操作,并在每次存储所述内存映射表操作后更新所述本地内存映射表。

11、在另一种实现方式中,所述内存控制器用于通过以下操作根据所述本地内存映射表执行所述内存请求:将对应内存请求传输到由所述本地映射指示的所述存储节点。所述对应内存请求包括认证键,所述对应内存请求使所述存储节点根据所述认证键对所述对应内存请求进行认证并从所述存储节点接收响应。如果所述响应是无效认证键的指示符,则将对所述逻辑地址的内存映射请求传输到所述控制节点;从所述控制节点的所述中央内存映射接收内存映射,所述内存映射包括更新的认证键;更新所述本地内存映射表;将更新的对应内存请求传输到所述存储节点。所述对应内存请求包括所述更新的认证键。

12、在所述实现方式中,根据所述认证键对所述内存请求的所述认证进行检查,保证了内存请求的安全传输。

13、在另一种实现方式中,所述接收到的内存映射包括另一存储节点的内存映射。所述内存控制器用于更新所述本地内存映射表,并将更新的对应内存请求传输到所述另一存储节点。

14、在所述实现方式中,所述内存控制器处理所述另一存储节点存储所述本地内存表的所述内存映射表,从而提供低时延。

15、在另一种实现方式中,传输到所述存储节点的所述内存请求是远程内存访问命令。

16、通过将所述内存请求传输到所述存储节点,减少了访问时间,也进一步减少了时延。

17、在另一种实现方式中,所述逻辑内存地址与虚拟持久内存相关。

18、通过利用虚拟持久内存,可以获得低时延。

19、在另一个方面中,本专利技术提供了一种待在客户端节点中的内存控制器中使用的方法,所述客户端节点包括用于存储本地内存映射表的本地内存。所述客户端节点用于执行应用程序。此外,所述内存控制器连接到一个或多个存储节点。每个存储节点包括物理内存和控制节点,所述控制本文档来自技高网...

【技术保护点】

1.一种在客户端节点(102)中使用的内存控制器(104),其特征在于,所述客户端节点(102)包括用于存储本地内存映射表的本地内存(112),所述客户端节点(102)用于执行应用程序,所述内存控制器(104)用于可操作地连接至:

2.根据权利要求1所述的内存控制器(104),其特征在于,所述本地内存映射表是所述中央内存映射的子集。

3.根据权利要求1或2所述的内存控制器(104),其特征在于,所述内存请求为写入操作,所述内存控制器(104)还用于:

4.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,所述内存请求为读取操作,所述内存控制器(104)还用于:

5.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,所述内存控制器(104)还用于通过以下操作根据所述本地内存映射表执行所述内存请求:

6.根据权利要求5所述的内存控制器(104),其特征在于,所述接收到的内存映射包括另一存储节点的内存映射,所述内存控制器(104)用于:

7.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,传输到所述存储节点的所述内存请求是远程内存访问命令。

8.根据权利要求7所述的内存控制器(104),其特征在于,所述远程内存访问命令为RDMA命令。

9.根据权利要求7所述的内存控制器(104),其特征在于,所述远程内存访问命令为CXL.mem命令。

10.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,所述逻辑内存地址与虚拟持久内存相关。

11.根据权利要求10所述的内存控制器(104),其特征在于,所述内存控制器(104)用于在VPM中使用。

12.一种用于在客户端节点(102)中的内存控制器(104)中使用的方法(1300),其特征在于,所述客户端节点(102)包括用于存储本地内存映射表的本地内存,所述客户端节点(102)用于执行应用程序,所述内存控制器(104)用于可操作地连接至:

13.根据权利要求12所述的方法(1300),其特征在于,所述本地内存映射表是所述中央内存映射的子集。

14.根据权利要求12或13所述的方法(1300),其特征在于,所述内存请求为写入操作,所述方法(1300)还包括:

15.根据权利要求12至14中任一项所述的方法(1300),其特征在于,所述内存请求为读取操作,所述方法(1300)还包括:

16.根据权利要求12至15中任一项所述的方法(1300),其特征在于,所述方法(1300)还包括通过以下操作根据所述本地内存映射表执行所述内存请求:

17.根据权利要求16所述的方法(1300),其特征在于,所述接收到的内存映射包括另一存储节点的内存映射,所述方法(1300)还包括:

18.根据权利要求12至17中任一项所述的方法(1300),其特征在于,传输到所述存储节点的所述内存请求是远程内存访问命令。

19.根据权利要求18所述的方法(1300),其特征在于,所述远程内存访问命令为远程直接内存访问命令。

20.根据权利要求18所述的方法(1300),其特征在于,所述远程内存访问命令为CXL.mem命令。

21.根据权利要求12至20中任一项所述的方法(1300),其特征在于,所述逻辑内存地址与虚拟持久内存相关。

...

【技术特征摘要】
【国外来华专利技术】

1.一种在客户端节点(102)中使用的内存控制器(104),其特征在于,所述客户端节点(102)包括用于存储本地内存映射表的本地内存(112),所述客户端节点(102)用于执行应用程序,所述内存控制器(104)用于可操作地连接至:

2.根据权利要求1所述的内存控制器(104),其特征在于,所述本地内存映射表是所述中央内存映射的子集。

3.根据权利要求1或2所述的内存控制器(104),其特征在于,所述内存请求为写入操作,所述内存控制器(104)还用于:

4.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,所述内存请求为读取操作,所述内存控制器(104)还用于:

5.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,所述内存控制器(104)还用于通过以下操作根据所述本地内存映射表执行所述内存请求:

6.根据权利要求5所述的内存控制器(104),其特征在于,所述接收到的内存映射包括另一存储节点的内存映射,所述内存控制器(104)用于:

7.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,传输到所述存储节点的所述内存请求是远程内存访问命令。

8.根据权利要求7所述的内存控制器(104),其特征在于,所述远程内存访问命令为rdma命令。

9.根据权利要求7所述的内存控制器(104),其特征在于,所述远程内存访问命令为cxl.mem命令。

10.根据上述权利要求中任一项所述的内存控制器(104),其特征在于,所述逻辑内存地址与虚拟持久内存相关。

11.根据权利要求10所述的内存控制器(104),其特征在于,所述...

【专利技术属性】
技术研发人员:伊戈尔沙夫兰伊加尔·科曼阿米特·格兰德奥默·齐尔伯格
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1