共享存储器块配置制造技术

技术编号:27270756 阅读:61 留言:0更新日期:2021-02-06 11:35
描述了一种网络交换机设备。该网络交换机设备包括多个处理器设备,其被配置为执行网络交换机设备的不同的相应功能;共享存储器块,其具有多个单端口存储器库;以及存储器控制器,其被配置为将单端口存储器库中的相应库集合分配到多个处理器设备之中的处理器设备,并且将存储器库集合的相应配置确定为以下各项中的一项:i)单端口配置,其中相应单端口存储器库在存储器访问循环内支持对存储器位置的单个读取或写入存储器操作;以及ii)虚拟多端口配置,其中相应单端口存储器库基于对应处理器设备的存储器访问要求来支持对同一存储器位置的两个或更多个并发读取或写入存储器操作。作。作。

【技术实现步骤摘要】
【国外来华专利技术】共享存储器块配置
[0001]相关申请的交叉引用
[0002]本申请要求于2018年7月30日提交的题为“共享存储器的柔性存储器设计(Flexible Memory Design for Shared Memory)”的美国临时专利申请号62/712,066的权益,其全部公开内容通过引用明确并入本文。


[0003]本公开一般涉及通信网络,更具体涉及适用于网络设备的可配置共享存储器。

技术介绍

[0004]本文中所提供的背景描述的目的是为了总体上呈现本公开的上下文。相对于本公开,目前署名的专利技术人的在该
技术介绍
章节中所描述的范围内的工作以及在申请时不能视作现有技术的描述的各个方面均未被明确或暗示认为是现有技术。
[0005]诸如网络交换机、网桥、路由器等之类的一些网络设备采用多个处理器引擎以高吞吐量并发处理多个数据包。处理器设备利用存储器库来提供网络交换机设备的各种功能,例如,用于路由的最长精确匹配引擎、转发表查找(其确定用于数据包的外出端口)、在执行处理的同时存储数据包的数据包缓冲器、以及确定哈希输出的哈希引擎。
[0006]在各种网络设备中,努力设计具有在不同处理器引擎之间共享的共享存储器空间的系统。一些存储器库设有单个物理端口(“单端口存储器”),其通常允许每个时钟周期一次存储器访问,而其他存储器库则设有两个或更多个物理端口(“双端口存储器”或“多端口存储器”),其通常允许每个时钟周期两次或更多次存储器访问。在一些系统中,存储器端口为物理的,而在其他系统中,单端口存储器设备适用于提供虚拟双端口能力或多端口能力。然而,与单端口存储器相比较,双端口存储器和多端口存储器(无论端口是物理端口还是虚拟端口)通常具有更高的成本和/或复杂性和/或减小的容量,因此,在一些场景中,尤其是当特定应用不需要双端口存储器和多端口存储器的附加能力时,不太期望使用该双端口存储器和多端口存储器。

技术实现思路

[0007]在一个实施例中,一种网络交换机设备包括多个处理器设备、具有多个单端口存储器库的共享存储器块、以及存储器控制器。多个处理器设备被配置为执行网络交换机设备的不同的相应功能。共享存储器块在多个处理器设备之间共享。存储器控制器被配置为将多个单端口存储器库中的相应库的集合分配给多个处理器设备中的处理器设备,并且将存储器库的集合的相应配置确定为以下各项中的一项:i)单端口配置,其中相应单端口存储器库在存储器访问循环内支持对存储器位置的单个读取或写入存储器操作;以及ii)虚拟多端口配置,其中相应单端口存储器库基于对应处理器设备的存储器访问要求来支持对同一存储器位置的两个或更多个并发读取或写入存储器操作。
[0008]在另一实施例中,一种用于对具有多个单端口存储器库的共享存储器块提供访问
权的方法,包括:通过网络交换机设备的存储器控制器将多个单端口存储器库之中的相应库的集合分配给多个处理器设备之中的处理器设备,该网络交换机设备包括共享存储器块和多个处理器设备,该多个处理器设备被配置为执行网络交换机设备的不同的相应功能,该共享存储器块在多个处理器设备之间共享;通过存储器控制器将存储器库的集合的相应配置确定为以下各项中的一项:i)单端口配置,其中相应单端口存储器库在存储器访问循环内支持对存储器位置的单个读取或写入存储器操作;以及ii)虚拟多端口配置,其中相应单端口存储器库基于对应处理器设备的存储器访问要求来支持对同一存储器位置的两个或更多个并发读取或写入存储器操作;以及通过存储器控制器配置网络交换机设备的连接性控制器,以将多个处理器设备耦合到共享存储器块并且根据所确定的配置向相应处理器设备提供对对应库的集合的访问权。
附图说明
[0009]图1是根据一个实施例的具有共享存储器块的示例网络交换机设备的框图;
[0010]图2A是根据一个实施例的图1的存储器块的示例单端口配置的图;
[0011]图2B是根据一个实施例的图1的存储器块的示例虚拟双端口配置的图;
[0012]图3是根据一个实施例的图1的存储器块的示例双单端口配置的图;
[0013]图4是图示了根据一个实施例的用于提供对具有多个单端口存储器库的共享存储器块的访问权的示例方法的图。
具体实施方式
[0014]本文中对利用多个处理器设备来同时处理数据包的网络交换机设备的各种实施例进行了描述。在一些实施例中,多个处理器设备被布置在多个处理器流水线中,每个流水线具有一个或多个处理器设备,并且多个处理器设备被配置为使用共享存储器。存储器库被配置为使用一个或多个存储器端口进行访问。基本存储器库通常具有一个存储器端口(“单个端口”),其通常每个时钟循环允许一次存储器访问,而更高级的存储器具有两个存储器端口(“双端口”)或两个以上存储器端口(“多端口”),其通常每个时钟循环提供两次或更多次存储器访问权。然而,与单端口存储器相比,双端口存储器和多端口存储器(无论端口是物理端口还是虚拟端口)通常具有更高的成本和/或复杂性和/或减小的容量,因此,在一些场景中,尤其是在特定应用不需要双端口存储器和多端口存储器的附加能力时,不太期望使用该双端口存储器和多端口存储器。
[0015]在各种实施例中,网络交换机设备包括存储器控制器以及具有多个单端口存储器库的共享存储器块。存储器控制器被配置为在多个处理器引擎之间共享共享存储器块,在一个实施例中,该多个处理器引擎被耦合在一起以形成一个或多个数据包处理流水线,或在多个处理器之间被共享,并且在一个实施例中,被配置为根据合适存储器配置向处理器引擎提供对单端口存储器库的访问权。存储器控制器基于处理器设备的存储器访问需求(例如,在各种实施例中,根据要由需要访问共享处理器的处理引擎执行的操作的性质或要被存储在存储器中的数据类型)来确定用于处理器设备的存储器配置。在各种实施例中,存储器配置的示例包括以下各项中的一项或多项:单端口配置、虚拟多端口配置、以及双单端口配置。即使同一单端口存储器库被用于不同存储器配置,不同存储器配置也分别提供不
同的存储器性能参数。在一个实施例中,例如,与虚拟多端口(例如,虚拟双端口)配置相比较,单端口配置提供了更大的地址空间,但提供了更低的访问频率(即,多个设备在给定时钟循环内访问同一存储器空间的能力更低)。同样,与双端口存储器或多端口存储器相比较,单端口存储器可能能够在连续时钟周期内更容易地提供对同一可寻址存储器位置的重复读取和/或写入访问。而且,提供虚拟双端口功能或虚拟多端口功能可能需要专用于(例如,指派给特定处理引擎的存储器块内的)一些存储器单元,以临时存储数据,诸如双端口功能或多端口功能所需的奇偶校验数据和/或在连续时钟循环内实现访问,从而减小可用存储器的尺寸。在一些实施例中,存储器控制器根据处理器设备访问存储器空间的要求来确定用于不同处理器设备的存储器库的不同配置以便提供特定功能。
[0016]图1是根据一个实施例的示例网络交换机设备100的简化框图。网络交换机设备100包括存储器控制器102、一个或多个共享存储器块130、以及多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种网络交换机设备,包括:多个处理器设备,被配置为执行所述网络交换机设备的不同的相应功能;共享存储器块,具有多个单端口存储器库,所述共享存储器块在所述多个处理器设备之间共享;存储器控制器,被配置为:将所述多个单端口存储器库之中的库的相应集合分配给所述多个处理器设备之中的处理器设备,以及将存储器库的所述集合的相应配置确定为以下各项中的一项:i)单端口配置,其中相应单端口存储器库在存储器访问循环内支持对存储器位置的单个读取或写入存储器操作;以及ii)虚拟多端口配置,其中相应单端口存储器库基于对应的所述处理器设备的存储器访问要求,来支持对同一存储器位置的两个或更多个并发读取或写入存储器操作。2.根据权利要求1所述的网络交换机设备,其中所述存储器控制器被配置为基于以下各项中的一项或多项来确定所述相应配置:i)对应的所述处理器设备的估计的存储器大小要求,以及ii)对应的所述处理器设备对所述存储器块的估计的平均访问频率。3.根据权利要求1所述的网络交换机设备,其中所述存储器控制器被配置为:在所述网络交换机设备的操作阶段之前的所述网络交换机设备的配置阶段期间,确定所述多个处理器设备的所述存储器访问要求。4.根据权利要求1所述的网络交换机设备,其中所述存储器控制器被配置为:使用所述处理器设备的设备类型来确定所述存储器访问要求,其中所述设备类型为与相应预先确定的存储器访问要求相对应的多个不同设备类型中的一个设备类型。5.根据权利要求4所述的网络交换机设备,其中所述存储器控制器被配置为:当存储器库的集合所分配到的所述处理器设备的所述设备类型与转发表查找引擎相对应时,将存储器库的所述集合的配置确定为所述虚拟多端口存储器。6.根据权利要求1所述的网络交换机设备,其中当所述存储器控制器将库的集合的所述配置确定为单端口配置时,所述存储器控制器将库的所述集合中的每个库指定为内容数据库并且向对应的所述处理器设备提供地址空间,所述地址空间覆盖库的所述集合中的每个库。7.根据权利要求1所述的网络交换机设备,其中当所述存储器控制器将库的集合的所述配置确定为虚拟多端口配置时,所述存储器控制器:将i)库的所述集合中的至少一个库指定为奇偶校验库,以及将ii)库的所述集合中的剩余库指定为内容数据库,所述内容数据库存储内容数据,而所述奇偶校验库存储奇偶校验数据,所述奇偶校验数据与所述内容数据库相关联并且与所述内容数据不同,以及向对应的所述处理器设备提供地址空间,所述地址空间包括所述内容数据库并且省略所述奇偶校验库。8.根据权利要求1所述的网络交换机设备,其中所述存储器控制器还被配置为将库的所述集合分配为双单端口配置,在所述双单端口配置中,所述存储器控制器:将库的所述集合的第一部分指定为具有第一地址空间的第一内容数据库并且将库的所述集合的第二剩余部分指定为具有第二地址空间的第二内容数据库,所述第二地址空间与所述第一地址空间不同;以及
将所述第一地址空间和所述第二地址空间提供给对应的所述处理器设备,所述第一内容数据库在所述存储器访问循环期间支持对所述第二内容数据库的并发存储器操作。9.根据权利要求1所述的网络交换机设备,还包括:连接性控制器,被配置为将所述多个处理器设备与所述共享存储器块耦合;其中所述存储器控制器被配置为:将所述连接性控制器配置为根据所确定的配置向所述相应处理器设备提供对库的所述对应集合的访问权。10.根据权利要求1所述的网络交换机设备,其中所述虚拟多端口配置是虚拟双端口配置,在所述虚拟双端口配置中,相应单端口存储器库在存储器访问循环内支持对存储器位置的两个或更多个存储器访问操作,所述存储器访问操作包括读取操作和写入操作中的一项或多项。11.根据权利要求1所述的网络交换机设备,其中所述存储器访问要求为存储器大小要求和平均访问频率要求中的至少一项。12.一种用于对具有多个单...

【专利技术属性】
技术研发人员:Z
申请(专利权)人:马维尔国际贸易有限公司
类型:发明
国别省市:

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

1