直接内存访问的方法和系统技术方案

技术编号:32205782 阅读:18 留言:0更新日期:2022-02-09 17:11
描述了一种方法和装置。该方法包括接收数据包和地址数据,该数据包包括要写入计算系统的该内存的数据,地址数据包括计算系统的第一地址空间的地址集合中的地址,识别由与计算系统的内存相关联的第二地址空间中的地址子集识别的地址集合的子集,确定来自第二地址空间中的另一地址子集中的地址,将数据写入与确定地址相关联的内存的区域,以及基于确定地址更新计算系统上的地址转换表。新计算系统上的地址转换表。新计算系统上的地址转换表。

【技术实现步骤摘要】
【国外来华专利技术】直接内存访问的方法和系统


[0001]本公开涉及一种对计算系统的内存写入数据的系统和方法。本公开尤其涉及用于对计算系统的内存执行直接内存访问操作的系统和方法。

技术介绍

[0002]直接内存访问(Direct memory access,DMA)使计算系统中的设备或子系统可以直接从计算系统的物理内存中读取、向其写入数据。DMA可以通过诸如图形处理单元或声卡之类的设备或多核系统中的其他处理器核在计算系统中实现。DMA释放了计算系统中的计算资源。特别地,当程序在主处理器上运行时,可以同时执行DMA操作。
[0003]远程直接内存访问(Remote direct memory access,RDMA)使计算系统可以通过网络从另一计算系统的内存读取数据或向其写入数据。RDMA可以提高网络性能,从而可以在未实现RDMA的系统上实现更高的吞吐量及更低的网络延迟。

技术实现思路

[0004]本公开旨在提供一种用于计算系统的方法,诸如可以用于对计算系统的内存执行直接内存访问操作。
[0005]前述和其它目的通过独立权利要求的特征来实现。根据从属权利要求、说明书和附图,进一步的实现方式是显而易见的。
[0006]第一方面,提供了一种方法。所述方法包括接收数据包和地址数据,所述数据包包括要写入计算系统的所述内存的数据,所述地址数据包括所述计算系统的第一地址空间的地址集合中的地址。所述方法包括识别由与所述计算系统的内存相关联的第二地址空间中的地址子集识别所述地址集合的子集;确定来自所述第二地址空间中的另一地址子集的地址;将所述数据写入与所述确定地址相关联的所述内存的区域;以及基于所述确定地址更新所述计算系统上的地址转换表。
[0007]根据第一方面所述的方法将数据写入计算系统的内存中,例如,当数据包的目的地址未映射并且尚未在第二地址空间中分配地址时。所述方法改善了延迟,并减少了在计算系统中执行直接内存访问操作的开销。
[0008]根据第二方面,提供了一种用于计算系统的装置。所述装置被布置为识别来自数据包和地址数据的计算系统的第一地址空间的地址集合中的地址,所述数据包包括要写入计算系统的内存的数据,所述地址数据包括所述地址;识别用与所述计算系统的内存相关联的第二地址空间的地址子集识别的所述地址集合的子集。所述装置被布置为确定来自所述第二地址空间中的另一地址子集的地址;将所述数据写入与所述确定地址相关联的所述内存的区域;以及将消息发送到所述计算系统,以基于所述确定地址更新计算系统上的地址转换表。
[0009]在一种实现方式中,识别用所述第二地址中的地址子集识别的所述地址子集,包括访问所述地址转换表;以及基于所述地址转换表识别所述子集。
[0010]在另一实现方式中,所述第二地址空间为所述计算系统的物理内存的物理地址空间。
[0011]在另一实现方式中,所述第一地址空间为虚拟地址空间。
[0012]在另一实现方式中,确定来自所述第二地址空间中的另一地址子集的地址,包括将地址数据存储在所述另一子集的一个或多个地址中;以及确定来自所述存储的地址数据的所述另一子集中的地址。
[0013]根据本实现方式所述的方法提供了一种方法,用于从存储地址池中选择地址,以将第一地址空间中未映射地址映射到所述地址中。
[0014]在另一实现方式中,确定来自所述第二地址空间中的另一地址子集的地址,包括向所述计算系统发送包括请求的查询,以识别来自所述另一子集的地址;以及接收包括地址数据的响应,用于来自所述计算系统的另一子集的地址。
[0015]根据本实现方式所述的方法提供了一种替代方法,用于从可用地址池中确定地址以将未映射地址映射到该地址中。
[0016]在另一实现方式中,所述方法包括移除来自所述第二地址空间的所述另一子集的确定地址。
[0017]根据本实现方式所述的方法提供了一种方法,以移除来自所述第二地址空间的所述另一子集的所述确定地址,并且因此不再可用于将未映射地址映射到该地址中。
[0018]在另一实现方式中,所述方法包括确定所述另一子集中所述第二地址空间的地址数;以及当所述地址数低于阈值数时,补充所述另一子集。
[0019]根据本实现方式所述的方法补充所述地址池,以确保所述池中有足够的地址来承受包括所述第一地址空间中的未映射地址的大量请求。
[0020]在另一实现方式中,补充所述另一子集,包括基于标准确定所述第二地址空间中的地址的所述可用性;以及根据所述确定将所述地址包括在所述另一子集中。
[0021]在另一实现方式中,所述标准包括所述计算系统使用所述地址的标准。
[0022]根据本实现方式所述的方法提供了一种基于内存地址的使用的标准,用于确定地址的可用性以补充地址池。所述方法的本实现方式确保所述计算系统未充分使用的地址被回收并包括在用于映射未映射地址的池中。
[0023]在另一实现方式中,所述方法包括存储用于所述另一子集的地址数据。
[0024]在另一实现方式中,所述数据包的地址为直接内存访问(direct memory access,DMA)请求的目的地址。
[0025]在另一实现方式中,所述数据包的地址为直接内存访问(direct memory access,DMA)请求的目的地址。
[0026]在另一实现方式中,所述方法包括访问至少一个其他地址转换表,每个表包括所述集合中每个地址的条目,更新与所述数据包地址对应的所述至少一个其他地址转换表的条目,以使用所述确定的地址来识别所述数据包的地址。
[0027]在另一实现方式中,所述地址转换表存储在所述计算系统中。
[0028]在另一实现方式中,所述地址转化表存储在设备中,所述设备对所述计算系统执行直接内存访问或远程直接内存访问请求。
[0029]根据下文所述的实施例,本申请的以上各个方面以及其他方面是显而易见的。
附图说明
[0030]为了更完整地理解本公开及其优点,现结合附图参考以下描述,其中:
[0031]图1示出了根据示例的计算系统。
[0032]图2A为根据示例的远程直接内存访问请求的示意图。
[0033]图2B为根据示例的远程直接内存访问请求的示意图。
[0034]图3示出了根据示例用于计算系统的方法的流程图。
具体实施方式
[0035]以下下文将充分详尽描述示例性实施例以使本领域普通技术人员能够体现并实现本文描述的系统及过程。应理解,实施例可以以多种不同的形式体现,并且对其解释不应局限于本文所述示例。
[0036]因此,实施例可以以各种方式进行修改,并且采取各种替代形式,其特定实施例以附图示出并且在下文中以示例形式进行详细描述。本文无意限定所公开的特定形式。相反,应包括落入所附权利要求书范围内的所有修改、等同形式和替代形式。在附图及适当详细描述中,示例性实施例的元件始终由相同的附图标记表示。
[0037]本文中所用描述实施例的术语并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:接收数据包和地址数据,所述数据包包括要写入计算系统的内存的数据,所述地址数据包括所述计算系统的第一地址空间的地址集合中的地址;识别由与所述计算系统的内存相关联的第二地址空间中的地址子集识别所述地址集合的子集;确定来自所述第二地址空间中的另一地址子集的地址;将所述数据写入与所述确定地址相关联的所述内存的区域;以及基于所述确定地址更新所述计算系统上的地址转换表。2.根据权利要求1所述的方法,其中,识别由所述第二地址中的地址子集识别的所述地址子集,包括:访问所述地址转换表;以及基于所述地址转换表识别所述子集。3.根据权利要求1所述的方法,其中,所述第二地址空间为所述计算系统的物理内存的物理地址空间。4.根据权利要求1所述的方法,其中,所述第一地址空间为虚拟地址空间。5.根据权利要求1所述的方法,其中,确定来自根据所述第二地址空间中的另一地址子集的子集,包括:访问存储的地址数据,用于所述另一子集中的一个或多个地址;以及确定来自所述存储的地址数据的所述另一子集中的地址。6.根据权利要求1所述的方法,其中,确定来自所述第二地址空间中的另一地址子集的地址,包括:向所述计算系统发送请求,以识别来自所述另一子集的地址;以及接收包括地址数据的响应,用于来自所述计算系统的另一子集中的地址。7.权利要求1所述的方法,包括,移除来自所述第二地址空间的另一地址子集的确定地址。8.根据权利要求1所述的方法,包括:确定所述另一子集中所述第二地址空间的地址数;以及当所述地址数低于阈值数时,补充所述另一子集。9.根据权利要求8所述的方法,其中,补充所述另一子集包括:基于标准确定所述第二地址空间中的地址的所述可用性;以及根据所述确定将所述地址包括在所述另一子集中。10.根据权利要求9所述的方法,其中,所述标准包括所述计算系统使用所述地址的标准。11.根据权利要求1所述的方法,其中,所述数据包的地址为直接内存访问(DMA)请求的目的地址。12.根据权利要求1所述的方法,其中,所述数据包的地址为远程直接内存访问(RDMA)请求的目的地址。13.根据权利要求1所述的方法,包括:访问一个或多个另一地址转换表,每个表包括所述集合中每个地址的条目;以及
更新与所述数据包地址对应的所述一个或多个另一地址转换表的条目,以由所述确定地址识别所述数据包的地址。14.根据权利要求1所述的方法,其中,所述地址转换表存储在所述计算系统中。15.根据权利要求1所述的方法,其中,所述地址转化表存储在设备中,所述设备对所述计算系统执行直接内存访问或远程直接内存访问请求。16.一种用于计算系统的装置,被布置为:识别来自数据包和地址数据的计算系统的第...

【专利技术属性】
技术研发人员:本沙哈尔
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1