在主机和存储器模块之间交换网络分组的方法和系统技术方案

技术编号:36373522 阅读:17 留言:0更新日期:2023-01-18 09:32
提供了一种用于在存储器系统中交换网络分组的方法和系统。确定要被发送的每个网络分组的大小。基于网络分组的大小将每个网络分组分离到多个队列之一中。根据网络分组被分离到的队列,通过共享存储器发送每个网络分组。通过共享存储器发送每个网络分组。通过共享存储器发送每个网络分组。

【技术实现步骤摘要】
在主机和存储器模块之间交换网络分组的方法和系统
[0001]相关申请的交叉引用
[0002]本申请要求于2021年7月13日向印度知识产权局提交的印度专利申请No.202141031489的优先权,其全部内容通过引用整体并入本文。


[0003]本公开涉及存储器模块领域,并且更具体地,涉及使用多个队列在主机和存储器模块之间交换网络分组。

技术介绍

[0004]像网络双列直插式存储器模块(NW

DIMM)这样的存储器模块/设备可以用于分布式计算、机器学习(ML)、人工智能(AI)、数据库加速等领域。NW

DIMM可以是通过低延迟双倍数据速率(DDR)接口(IF)连接的网络处理器的应用透明实施。NW

DIMM包括处理单元和共享存储器。处理单元可以用作以太网物理层以建立主机和NW

DIMM之间的网络链路。共享存储器可以用于与主机交换网络分组。
[0005]在相关技术中,在发送可变大小的网络分组时,较小的网络分组可能夹在较大的网络分组之间。因此,较小的网络分组必须等待已经在生成较小的网络分组之前被调度的较大的网络分组的传输完成,进而导致较小的网络分组的传输的高延迟。
[0006]此外,因为较小的网络分组必须等待较大分组的传输完成,因此可能暂缓确认,从而减小带宽,因为在接收到确认之前可能不会生成后续的网络分组。
[0007]因此,使用相关技术方法在主机和NW

DIMM之间交换网络分组可能影响接口(主机和NW

DIMM之间)的整体延迟和带宽利用率。

技术实现思路

[0008]根据一个或多个实施例的一方面,提供了一种用于在存储器系统中的第一设备和第二设备之间交换至少一个网络分组的方法,该方法包括:由第一设备确定至少一个网络分组中的每个网络分组的大小;由第一设备基于被确定的网络分组的大小将至少一个网络分组中的每个网络分组分离到多个队列之一中;以及由第一设备根据网络分组被分离到的相应队列,通过共享存储器将每个网络分组发送到第二设备。
[0009]根据一个或多个实施例的一方面,提供了一种存储器系统,包括:第一设备;以及第二设备,通过共享存储器耦合到第一设备,其中,第一设备被配置为:确定至少一个网络分组中的每个网络分组的大小;基于被确定的网络分组的大小将每个网络分组分离到多个队列之一中;以及根据网络分组被分离到的相应队列,通过共享存储器将每个网络分组发送到第二设备。
[0010]根据一个或多个实施例的另一方面,提供了一种存储器系统中的存储器模块,该存储器模块包括:共享存储器;以及存储器驱动器,耦合到共享存储器,其中,存储器驱动器被配置为:确定要被发送到主机的至少一个网络分组中的每个网络分组的大小;基于网络
分组的大小,将至少一个网络分组中的每个网络分组分离到多个队列之一中,多个队列包括延迟队列对(LQP)和性能队列对(PQP);以及根据网络分组被分离到的相应队列,通过共享存储器将每个网络分组发送到主机,其中存储器模块包括网络双列直插式存储器模块。
附图说明
[0011]通过参考附图对各种实施例的描述,这些和其他方面将得到更好的理解和理解,其中:
[0012]图1描绘了在主机和存储器模块之间交换网络分组的相关技术方法的示例;
[0013]图2A

图2C描绘了根据各种实施例的存储器系统的示例;
[0014]图3A和图3B描绘了根据各种实施例的存储器系统的示例;
[0015]图4A和图4B是描绘根据各种实施例的用于交换网络分组的方法的流程图的示例;
[0016]图5是描绘根据各种实施例的用于执行轮询以交换网络分组的方法的流程图的示例;
[0017]图6是描绘根据各种实施例的用于发送网络分组的方法的流程图的示例;
[0018]图7是描绘根据各种实施例的用于接收网络分组的方法的流程图的示例;
[0019]图8是描绘根据各种实施例的用于发送网络分组的方法的流程图的示例;
[0020]图9是描绘根据各种实施例的用于接收网络分组的方法的流程图的示例;并且
[0021]图10是描绘关于使用根据各种实施例的多个队列和使用相关技术方法的普通队列交换网络分组测量的延迟和带宽的比较的示例表。
具体实施方式
[0022]参考在附图中示出并在以下描述中详述的非限制性实施例更充分地解释本文的示例实施例及其各种特征和有利细节。省略了对众所周知的组件和处理技术的描述,以免不必要地混淆本文的实施例。本文的描述仅旨在促进对可以实践本文的示例实施例的方式的理解,并进一步使本领域技术人员能够实践本文的示例实施例。因此,本公开不应被解释为限制本文示例实施例的范围。
[0023]在相关技术方法中,网络双列直插式存储器模块(NW

DIMM)可以使用在共享存储器中实施的环形缓冲器对发送(tx)和接收(rx)网络分组进行排队,同时分别地将网络分组发送到主机并从主机接收网络分组。可以基于循环(round robin)/先进先出(FIFO)方式对tx和rx网络分组进行排队。然而,在环形缓冲器中传输大小可变的网络分组时,较小的网络分组可能夹在较大的网络分组之间。因此,较小的网络分组必须等待已经在生成较小的网络分组之前被调度的较大的网络分组的传输完成,进而导致较小的网络分组的传输的高延迟。
[0024]此外,由于较小的网络分组必须等待较大分组的传输完成,因此可能暂缓确认(如图1所描绘的),其必须在NW

DIMM和主机之间交换以用于每个网络分组的发送和接收。这种确认暂缓减少了带宽,因为在接收到确认之前可能不会生成后续的网络分组。
[0025]因此,使用相关技术方法在主机和NW

DIMM之间交换网络分组可能影响接口(主机和NW

DIMM之间)的整体延迟和带宽利用率。
[0026]一方面提供了用于使用多个队列在主机和存储器模块之间交换网络分组的方法
和系统。
[0027]另一方面提供了用于基于每个网络分组的大小将每个网络分组分离(segregate)到多个队列之一中并在相应队列中在主机和存储器模块之间交换每个网络分组的方法和系统,其中多个队列包括延迟队列对(LQP)和性能队列对(PQP)。
[0028]又一方面提供了用于在主机或存储器模块上基于每个网络分组的大小将每个接收的网络分组分离和存储到多个队列之一中的方法和系统。
[0029]又一方面提供了用于对多个队列中的每一个执行轮询以检查至少一个网络分组的到达以用于发送或接收的方法和系统。
[0030]与本公开一致的方法和系统提供了使用多个队列在存储器模块和主机之间交换网络分组。存储器模块可以是网络双列直插式(NW

DIMM)。
[0031]现在参考附图,并且更具体地参考图2A到图10,其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于在存储器系统中的第一设备和第二设备之间交换至少一个网络分组的方法,所述方法包括:由所述第一设备确定所述至少一个网络分组中的每个网络分组的大小;由所述第一设备基于被确定的网络分组的大小将所述至少一个网络分组中的每个网络分组分离到多个队列之一中;以及由所述第一设备根据所述网络分组被分离到的相应队列,通过共享存储器将每个网络分组发送到所述第二设备。2.根据权利要求1所述的方法,其中,所述第一设备和所述第二设备分别是主机和存储器模块,或者分别是存储器模块和主机,以及其中,所述存储器模块包括网络双列直插式存储器模块。3.根据权利要求1所述的方法,还包括:由所述第二设备基于所述网络分组的大小将从所述第一设备接收的每个网络分组分离和存储到多个队列之一中。4.根据权利要求1所述的方法,其中,所述多个队列包括延迟队列对LQP和性能队列对PQP,以及其中,LQP和PQP是不同类型的环形缓冲器。5.根据权利要求4所述的方法,其中,所述第一设备和所述第二设备通过以下方式创建所述多个队列:基于指示要创建的多个队列的数量的用户可配置参数,将所述共享存储器划分为多个环形缓冲器;以及将所述多个环形缓冲器中的一个分配为所述多个队列中的一个,其中,为所述多个队列中的每一个维护控制寄存器。6.根据权利要求1所述的方法,其中,所述至少一个网络分组包括多个网络分组,并且所述分离包括:如果所述多个网络分组中的网络分组是大小小于或等于基于共享存储器的可用性和网络分组的类型中的至少一个设置的传输分组大小的较小的网络分组,则将所述网络分组分离到延迟队列对LQP中;以及如果所述多个网络分组中的网络分组是大小大于传输分组大小的较大的网络分组,则将所述网络分组分离到性能队列对PQP中。7.根据权利要求1所述的方法,其中,所述第一设备是存储器模块,所述第二设备是主机,并且所述发送包括:将所述共享存储器划分为多个变量槽,每个变量槽对应于所述多个队列中的一个;以及将每个网络分组从所述多个队列复制到所述共享存储器的对应变量槽,其中,所述共享存储器将每个网络分组从相应变量槽发送到所述主机。8.根据权利要求7所述的方法,其中,所述复制包括:如果与所述网络分组相关联的队列是延迟队列对LQP,则使用存储器复制命令将所述网络分组从所述共享存储器发送到所述主机;以及如果与所述网络分组相关联的队列是性能队列对PQP,则使用直接存储器访问DMA命令
将所述网络分组从所述共享存储器发送到所述主机。9.根据权利要求3所述的方法,其中,所述第一设备是主机,所述第二设备是存储器模块,并且由所述第二设备进行的分离和存储包括:基于所述网络分组的大小,将从所述主机接收的每个网络分组复制到所述共享存储器的多个变量槽之一中;以及将所述网络分组从所述多个变量槽中的相应一个传递到所述多个队列中的对应队列进行存储。10.根据权利要求9所述的方法,其中如果从所述主机接收的网络分组是大小小于或等于基于共享存储器的可用性和网络分组的类型中的至少一个设置的传输分组大小的较小的网络分组,则所述网络分组被复制到对应于延迟队列对LQP的所述共享存储的多个变量槽中的变量槽中;以及如果从所述主机接收的网络分组是大小大于传输分组大小的较大分组,则网络分组被复制到对应于性能队列对PQP的所述共享存储器的多个变量槽中的变量槽中。11.根据权利要求1所述的方法,还包括:由所述第一设备和所述第二设备对所述多个队列中的每一个执行轮询以检查至少一个网络分组的到达以进行发送或接收,其中,所述轮询通...

【专利技术属性】
技术研发人员:N谢蒂拉胡尔TR苏镇麟李宗键RSV乔纳拉加达
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1