为网络处理器分配带宽的方法和装置的制作方法

文档序号:7596591阅读:104来源:国知局
专利名称:为网络处理器分配带宽的方法和装置的制作方法
技术领域
本发明一般涉及网络处理器,本发明尤其涉及分配带宽的方法和装置。
背景技术
在网络设备中,经常采用网络处理器,以处理把数据传入网络设备和把数据从网络设备传出。网络处理器经由一或多个输入端口接收数据,并可把所接收的数据存入一个系统存储器。网络处理器可以包括一或多个输出端口,每一个均耦合到一个网络连接。可以从系统存储器中检索网络处理器所接收的并存储在系统存储器中的数据,并经由输出端口和网络连接之一,从网络处理器发送这些数据。在任何给定时刻,系统存储器接收检索那些从网络处理器的一或多个输出端口所发送的数据的命令。
当高速地从网络处理器的一或多个输出端口发送数据时,将会出现问题。因为系统存储器具有有限的带宽,所以网络处理器可能不能够足够快地从系统存储器中检索信息,以精确地从每一个输出端口发送数据。更具体地讲,当正检索从第二输出端口发送的数据时,系统存储器带宽可能导致从第一输出端口发送数据的延迟,反之亦然。对于ATM(异步发送模式)数据类型,从输出端口发送数据的延迟不会破坏数据。然而,对于以太网数据类型,从输出端口发送数据的延迟会破坏数据,而且接收端(例如,一个经由网络连接耦合到输出端口的网络设备)将检测数据的破坏,并请求重新发送数据。因此,网络处理器必须重新发送数据。如果第一端口导致从第二输出端口发送数据的延迟以及第二端口导致从第一输出端口发送数据的延迟,那么,网络处理器必须从两个端口重新发送数据。然而,在数据的重新发送期间,可能会出现同样的问题。因此,网络处理器可能会连续地尝试重新发送同样的数据,从而导致没有数据从网络处理器被发送。
尽管增加系统存储器带宽可以避免以上所描述的问题,但这是一个昂贵的解决方案。作为替代,可通过仅发送ATM数据类型的数据避免上述问题。然而,网络处理器可能需要发送多个数据类型的数据。因此,需要一种在网络处理器中更好地分配存储器带宽的改进的方法和装置。

发明内容
在本发明的第一方面中,提供了一种自调整在网络处理器系统中存储器带宽分配的方法。第一方法包括下列步骤(1)确定多个数据类型中每一数据类型所使用的网络处理器的存储器带宽的量;以及(2)基于确定结果,动态调整分配给该多个数据类型之一的存储器带宽的量。
在本发明的第二方面中,提供了一种包括适合耦合到网络处理器的存储器的端口激活逻辑的装置。这一端口激活逻辑适合于(1)确定多个数据类型中每一数据类型所使用的网络处理器的存储器带宽的量;以及(2)基于确定结果,动态调整分配给该多个数据类型中至少一个数据类型的存储器带宽的量。还提供了其它多个方面,它们作为根据本发明的这些和其它方面的系统和方法。
通过以下的详细描述、所附权利要求和附图,本发明的其它特性和方面将变得更加明显。


图1是描述在其中可以实现本发明的一个示范性网络处理器系统的图表。
图2说明了自调整图1的网络处理器系统中存储器带宽分配的一个示范性方法。
图3说明了通过激活一个端口自调整图1的网络处理器系统中存储器带宽分配的一个示范性方法。
图4说明了用于各示范性网络处理器系统,在本发明中所使用的变量的一个变量值表。
具体实施例方式
如以上所提到的,因为网络处理器的存储器具有有限的带宽,所以网络处理器可能不能够足够快地从存储器中检索信息,以精确地从网络处理器的每一个输出端口发送数据。更具体地讲,当正检索从第二输出端口发送的数据时,存储器带宽可能导致从第一输出端口发送的某些数据类型的延迟。由于从输出端口发送的某些数据类型(例如,高速以太网或千兆以太网等)的延迟会破坏数据,(例如欠载运行(underrun)),希望能够避免这样的延迟或欠载运行的分配存储器带宽的改进的方法和装置。以下将参照图1~3描述那些能够在发送一或多个数据类型的数据时分配存储器带宽以避免这样的延迟或欠载运行的方法和装置。
图1是描述在其中可以实现本方法和装置的一个示范性网络处理器系统100的图表。网络处理器系统100包括一个耦合到存储器104的网络处理器102。网络处理器102可以经由一或多个输入端口106接收数据。数据可以为一或多个数据类型,例如ATM、高速以太网、和/或千兆以太网。网络处理器102可以把所接收的数据存储在存储器104(例如,一个具有有限带宽的存储器)中。网络处理器102可以从存储器104检索一或多个数据类型的数据,并发送所接收的数据。
网络处理器102可以包括一个耦合到一个存储器104的存储器控制器108,用于使网络处理器102能够与存储器104进行通信(例如,从存储器104读出和/或向存储器104写入)。网络处理器102可以包括一个耦合到存储器控制器108的片上(on-chip)存储器缓冲器110。所述片上存储器缓冲器110可用于局部存储网络处理器102所接收的数据和/或由网络处理器102将发送的数据。网络处理器102可以包括经由存储器控制器108和片上存储器缓冲器110耦合到存储器104的一或多个输出端口112,例如,用于从网络处理器102发送存储器104检索的数据。可以把一或多个输出端口112中的每一个端口耦合到一个网络连接(未示出),以使网络处理器102能够与另一个也耦合到这一网络连接的网络设备(未示出)进行通信。可以把一或多个输出端口112耦合到包括在网络处理器102中的端口激活逻辑114。例如,在一个给定的时刻,端口激活逻辑114能够确定是否存在足够的存储器带宽可用于通过激活一个新的端口,启动某一数据类型的数据的发送。
端口激活逻辑114可以为硬件、软件、或硬件和软件的组合。例如,在一个实施中,可以在一个专用集成电路(ASIC)、一个可编程逻辑电路、或类似的标准逻辑电路中,实现这一逻辑。
现在,参照图1和图2描述网络处理器系统100的操作,图2说明了自调整在网络处理器系统中存储器带宽分配的一个示范性方法。参照图2,在步骤202中,方法200开始。在步骤204中,确定多个数据类型中每一个数据类型所使用的存储器带宽的量。响应于由存储器所接收的使用一个新的端口从网络处理器发送某一数据类型的数据的命令,执行步骤204。
根据用户和带宽提供商之间的订购协议,ATM数据具有保证的存储器带宽。因此,对于以上的确定,即使不能充分使用协议所协定的存储器带宽,从网络处理器102的一或多个输出端口112发送ATM数据所使用的存储器带宽的总量也将为协议所协定的存储器带宽。
也要确定从网络处理器102的一或多个输出端口112发送高速以太网数据当前所使用的存储器带宽的总量。更具体地讲,计算从存储器104到片上存储器110检索高速以太网数据所使用的存储器带宽的总量。从片上存储器110检索高速以太网数据,并将从一或多个输出端口将它们发送。
以类似于确定以上所描述的高速以太网数据类型所使用的存储器带宽的总量的方式,确定千兆以太网数据类型所使用的存储器带宽的总量。与ATM数据类型相比,确定高速以太网数据(或千兆以太网数据)当前所使用的存储器带宽的总量,仅包括发送高速以太网数据(或千兆以太网数据)当前使用的存储器带宽。
在步骤206中,确定是否可以把附加的存储器带宽分配给该多个数据类型之一。更具体地讲,如果存储器所接收的使用一个新的端口从网络处理器发送某一数据类型的数据的命令是发送高速以太网数据的命令,则确定是否可以把附加的存储器带宽分配给高速以太网数据类型。或者,如果存储器所接收的发送千兆以太网数据的命令,则确定是否可以把附加的存储器带宽分配给千兆以太网数据类型。附加的存储器带宽指的是这样的存储器带宽的总量当用于发送该多个数据类型之一的数据时,将能基本上保证该类型数据的发送,而不会出现以上所描述的延迟或欠载运行。对于余下的描述,将假定该多个数据类型之一指的是高速以太网数据类型。然而,应该理解也能够以类似的方式把图2中所示的方法用于千兆以太网数据类型。
如果在步骤206中断定当前不可以把附加的存储器带宽分配给高速以太网数据类型,则执行步骤208。在步骤208中,存储器等待,以执行存储器所接收的发送高速以太网数据的命令。接下来,执行步骤206。
如果在步骤206中断定可以把附加的存储器带宽分配给高速以太网数据类型,则执行步骤210。在步骤210中,基于这一确定,动态调整分配给该多个数据类型之一的存储器带宽的量。更具体地讲,将把使用一个新的输出端口从网络处理器发送高速以太网数据的附加的存储器带宽分配给高速以太网数据类型。由于上述原因,这一发送将可避免上述的延迟和/或欠载运行。在步骤212中,结束图2的方法200。
如上所述,ATM数据具有保证的存储器带宽。因此,对于ATM数据,不需要执行步骤206、208、和210。
现在,参照图1和图3描述网络处理器系统100的操作,图3说明了通过激活一个端口自调整在网络处理器系统中存储器带宽分配的一个示范性方法。参照图3,在步骤302,方法300开始。
在步骤304,确定发送该多个数据类型中每一个数据类型的数据所使用的活跃端口的个数,以及分配给用于该多个数据类型中每一个数据类型的每一个活跃端口的存储器带宽的量。例如,网络处理器系统100可以接收和发送ATM、高速以太网、和千兆以太网数据类型的数据。可以使用端口激活逻辑114把一个带宽因子赋予该多个数据类型中一或多个数据类型。带宽因子代表分配给一个输出端口的存储器带宽单元的个数。在一个实施例中,带宽因子代表分配给网络处理器102的每一输出端口112的存储器带宽的一或多个100Mbps部分。对于高速以太网和千兆以太网数据类型,输出端口指的是处于活跃状态的输出端口(例如当前正在从网络处理器102发送数据的输出端口)。相比之下,对于ATM数据类型,输出端口指的是使能的和/或活跃状态的输出端口,使能的输出端口是被分配用于发送某种类型的数据但但前并非正在发送数据的输出端口(例如非活跃的)。
用户可以把一个带宽因子分配给一或多个数据类型。可以把一个为1的带宽因子(F-因子)赋予高速以太网数据类型。因此,把存储器带宽的一个100Mbps部分(1×100)分配给了用于发送高速以太网数据的网络处理器系统100的每一活跃的输出端口112。相类似,可以把千兆以太网带宽因子(G-因子)赋值(例如由用户)为10。因此,把存储器带宽的10个100Mbps部分(10×100)分配给了用于发送千兆以太网数据的每一活跃的输出端口112。
端口激活逻辑114可以包括一个用于为ATM带宽因子(A-因子)存储一个值的寄存器。A-因子代表分配给网络处理器的每一活跃的输出端口112的存储器带宽的100Mbps部分的个数。一个活跃ATM端口包括一个使能的和/或活跃状态的ATM端口。由于寄存器是可配置的,所以可以基于从网络处理器系统100所接收和所发送的ATM数据的数量,改变(例如,由用户改变)A-因子。也可以把其它类型的存储设备用于存储ATM带宽因子。网络处理器系统100可以通过查找端口激活逻辑114中的F-因子、G-因子和/或A-因子,确定分配给每一活跃的高速以太网、千兆以太网、和/或每一使能的和/或活跃的ATM端口的存储器带宽的量。
在步骤306,网络处理器系统100的端口激活逻辑114确定该多个数据类型中每一个数据类型所使用的存储器带宽的量。在一个实施例中,网络处理器系统可以确定每一高速以太网数据、千兆以太网数据和ATM数据所使用的存储器带宽的量。ATM数据所使用的存储器带宽的量(A-速率)等于使能的和/或活跃的ATM端口(A-活跃)个数乘以每一使能的和/或活跃的ATM端口(A-因子)所使用的存储器带宽的量。因此,A-速率=A-活跃*A-因子。相类似,高速以太网数据所使用的存储器带宽的量(F-速率)等于活跃的高速以太网端口(F-活跃)个数乘以每一活跃的高速以太网端口(F-因子)所使用的存储器带宽的量。因此,F-速率=F-活跃*F-因子。同样,G-速率=G-活跃*G-因子。
由于高速以太网和千兆以太网数据均为以太网数据,所以以太网数据所使用的存储器带宽的总量(E-速率)等于活跃的高速以太网数据所使用的存储器带宽的量(F-速率)与千兆以太网数据所使用的存储器带宽的量(G-速率)之和。因此,E-速率=F-速率+G-速率。
在步骤308中,确定可由该多个数据类型所使用的网络处理器系统的存储器带宽(例如,系统存储器带宽)的最大量与该多个数据类型当前所使用的网络处理器系统的存储器带宽总量之间的差。可由该多个数据类型所使用的网络处理器100的存储器带宽的最大量(C-极限),代表其分配用于存储由网络处理器100所接收的数据和/或从网络处理器100所发送的数据的存储器带宽。端口激活逻辑114可以包括一个用于存储C-极限的值的寄存器。这一寄存器是可配置的,因此,可以基于网络处理器系统100配置中的变化,改变(例如,由用户改变)C-极限。也可以把其它类型的存储设备用于存储C-极限的值。例如,如果网络处理器系统100需要接收和发送更大数量的数据,则用户可以通过增大C-极限,增大可用于接收和发送数据的存储器带宽的最大量。因此,在步骤308,可以确定C-极限-A-速率-E-速率。
由于基于用户和带宽提供商之间的订购协议,ATM数据具有保证的存储器带宽。在向以太网数据类型(例如,高速以太网数据和千兆以太网数据)分配存储器带宽之前,向ATM数据分配存储器带宽。因此,可用于发送以太网数据的网络处理器系统100的存储器带宽的最大量(E-极限),可以是可由该多个数据类型(C-极限)所使用的存储器带宽的最大量(C-极限)与ATM数据(A-速率)所使用的储器带宽量之间的差。更具体地讲,E-极限=C-极限-A-速率。
可以把端口激活逻辑114设计成能够通过把(C-极限-A-速率-E-速率)的值与必须分配给用于发送千兆以太网数据的每一新的活跃输出端口112的存储器带宽的最小量(例如,G-因子)加以比较,确定当前是否有足够的存储器带宽可用于使用一个新千兆以太网端口发送千兆以太网数据。如果G-因子小于或等于该多个数据类型(例如,C-极限-A-速率-E-速率)当前所使用的存储器带宽的最大量之间的差,则把一个指示当前有足够的存储器带宽可用于激活一个新千兆以太网输出端口(G-可用)的值设置为“真”。
更具体地讲,端口激活逻辑114所进行的测试是,G-可用=G-因子≤(C-极限-A-速率-E-速率)。或者,用E-极限替代上述等式中的A-速率-E-速率,并重新排列变量,则可把端口激活逻辑114所进行的上述测试表示为,G-可用=E-速率≤(E-极限-G-因子)。
相类似,可以把端口激活逻辑114设计成能够通过把(C-极限-A-速率-E-速率)的值与必须分配给用于发送高速以太网数据的每一新的活跃输出端口112的存储器带宽的最小量(例如,F-因子)加以比较,确定当前是否有足够的存储器带宽可用于使用一个新高速以太网端口发送高速以太网数据。如果F-因子小于或等于该多个数据类型(例如,C-极限-A-速率-E-速率)当前所使用的存储器带宽的最大量之间的差,则把一个指示当前有足够的存储器带宽可用于激活一个新高速以太网输出端口的值设置为“真”。
更具体地讲,端口激活逻辑114所进行的测试是,F-可用=F-因子≤(C-极限-A-速率-E-速率)。或者,用E-极限替代上述等式中的C-极限-A-速率,并重新排列变量,则可把端口激活逻辑114所进行的上述测试表示为,F-可用=E-速率≤(E-极限-F-因子)。
在步骤310中,确定是否可激活一个用于发送该多个数据类型之一的端口。可响应于一个由存储器所接收的使用一个新的输出端口发送该多个数据类型(例如高速以太网、千兆以太网)之一的命令,执行步骤310。假定响应一个由存储器所接收的使用一个新的千兆以太网输出端口从网络处理器102发送千兆以太网数据的命令,执行图3中的方法300,在步骤310中,确定是否可激活一个用于发送千兆以太网数据的端口。可以把端口激活逻辑114设计成能够进行这样的确定。端口激活逻辑114可以包括一个用于存储一个指示可由千兆以太网数据使用的存储器带宽的最大量(G-极限)的值的寄存器(例如,一个可配置的寄存器)。由于这一寄存器是可配置的,所以可以基于网络处理器系统100配置中的变化,改变(例如,由用户改变)G-极限。例如,如果网络处理器系统100需要接收和发送更大数量的千兆以太网数据,则用户可以通过增大G-极限,增大可用于接收和发送这样的数据的存储器带宽的最大量。端口激活逻辑114确定G-速率是否超过G-极限,并确定是否有足够的存储器带宽可用于激活一个新的千兆以太网输出端口(G-可用),而且还设置一个指示是否可启动一个千兆以太网端口(G-门)的值。更具体地讲,由端口激活逻辑114所进行的测试为G-门=(G-速率>G-极限)或(非G-可用)。其中,G-门的值可能为“真”,也可能为“假”。
如果千兆以太网数据所使用的存储器带宽的量大于千兆以太网数据可以使用的存储器带宽的最大量(例如,G-速率>G-极限为“真”),或没有足够的当前可用于激活新的千兆以太网输出端口的存储器带宽(例如,非G-可用为“真”),则G-门的值将为“真”。应该注意,尽管G-速率可以小于G-极限,但如果千兆以太网数据消耗了大量的存储器带宽,也可能没有足够的当前可用于激活新的千兆以太网输出端口的存储器带宽。
如果G-门的值为“真”,则不能启动一个用于发送千兆以太网数据的输出端口,而是执行步骤312。在步骤312中,延迟对用于发送该多个数据类型之一的数据的新端口的激活。在这一例子中,延迟对用于发送千兆以太网数据的新端口的激活。接下来,执行步骤310。
或者,如果G-门的值为“假”,则可以启动一个用于发送千兆以太网数据的输出端口,并执行步骤314。在步骤314,动态激活一个用于发送该多个数据类型之一的数据的新端口。因此,可以从这一新激活的端口,发送该类型的数据。在这一例子中,动态激活一个用于发送千兆以太网数据的新的端口。
或者,假定响应于一个由存储器所接收的使用一个新的高速以太网输出端口从网络处理器102发送高速以太网数据的命令,执行图3中的方法300,在步骤310中,确定是否可激活一个用于发送高速以太网数据的端口。可以把端口激活逻辑114设计成能够进行这样的确定。
更具体地讲,端口激活逻辑114可以确定可用于发送高速以太网数据的存储器带宽的最大量(F-极限)。F-极限是可用于发送以太网数据的存储器带宽的最大量(E-极限)和可用于发送千兆以太网数据的存储器带宽的最大量(G-极限)之间的差。因此,F-极限=E-极限-G-极限。
可以把端口激活逻辑114设计成能够通过把(C-极限-A-速率-E-速率)的值与代表必须分配给用于发送千兆以太网数据的每一新的活跃输出端口112的存储器带宽的最小量G-因子加以比较,确定当前是否有足够的存储器带宽可分别用于使用一个新千兆以太网端口和/或高速以太网端口发送千兆以太网和/或高速以太网数据。如果必须分配给用于发送千兆以太网数据的每一新的活跃输出端口112的存储器带宽的最小量(例如,G-因子)小于可由该多个数据类型所使用的存储器带宽的最大量与该多个数据类型(例如,C-极限-A-速率-E-速率)当前所使用的网络处理器带宽的总量之间的差,则把一个指示当前有足够的存储器带宽可用于激活一个新千兆以太网和/或高速以太网输出端口(FG-可用)的值设置为“真”。更具体地讲,端口激活逻辑114所进行的测试是,FG-可用=G-因子<(C-极限-A-速率-E-速率)。或者,用E-极限替代(C-极限-A-速率),并重新排列变量,则可把端口激活逻辑114所进行的上述测试表示为,FG-可用=E-速率<(E-极限-G-因子)。
端口激活逻辑114可以确定F-速率是否大于F-极限、是否当前有足够的存储器带宽可用于激活一个新千兆以太网和/或高速以太网端口、是否当前有足够的存储器带宽可用于激活一个新高速以太网端口,并设置一个指示是否可启动一个高速以太网端口的值(F-门)。更具体地讲,端口激活逻辑114所进行的测试是,F-门=[(F-速率>F-极限)与(非FG-可用)]或非F-可用,其中,F-门的值可能为“真”,也可能为“假”。如果高速以太网数据所使用的存储器带宽的量大于高速以太网数据可以使用的存储器带宽的最大量(例如,F-速率>F-极限为“真”),以及没有足够的当前可用于激活一个新的千兆以太网和/或高速以太网输出端口的存储器带宽(例如,非FG-可用为“真”),则F-门的值将为“真”。否则,F-门的值将为“假”。
应该注意,尽管F-速率可以小于F-极限,但如果千兆以太网数据消耗了大量的存储器带宽,也可能没有足够的当前可用于激活新的高速以太网输出端口的存储器带宽。此外,尽管F-速率可以大于F-极限,但如果有足够的当前可用于激活新的一个新的千兆以太网和高速以太网输出端口的存储器带宽(例如,非FG-可用为“假”),则也可以激活一个新的高速以太网输出端口,因为F-门的值将为“假”。
如果F-门的值为“真”,则不能启动一个用于发送高速以太网数据的输出端口,而是执行步骤312。在步骤312,例如,延迟对一个用于发送高速以太网数据的新端口的激活。接下来,执行步骤310。或者,如果F-门的值为“假”,则可以启动一个用于发送高速以太网数据的输出端口,并执行步骤314。在步骤314中,例如,动态激活一个用于发送高速以太网数据的新的输出端口。
在步骤316中,图3的方法300结束。通过使用上述的自调整在网络处理器系统100中存储器带宽分配的方法,仅当存在能够确保新的千兆以太网帧的发送将不会导致当前用于发送数据的任何一个以太网端口欠载运行的足够的可用存储器带宽时,才可以启动新的千兆以太网数据(例如,新的千兆以太网帧)的发送。同样,仅当存在能够确保新的高速以太网帧的发送将不会导致当前用于发送数据的任何一个以太网端口欠载运行的足够的可用存储器带宽时,才可以启动新的高速以太网数据(例如,新的高速以太网帧)的发送。另外,高速以太网数据不能影响(starve out)千兆以太网数据,反之亦然。
现在,参照图1和图4描述网络处理器系统100的操作,图4说明了对于8个不同的示范性网络处理器系统本方法300中所使用的变量的一个变量值表。对于这8个例子中的每一个例子,网络处理器102均包括3个活跃的千兆以太网端口、14个活跃的高速以太网端口、3个ATM端口(其中,2个时活跃的)、一个为38的C-极限值、一个为17的G-极限值、一个为7的A-因子值、一个为24的E-极限值。参照上述的等式和变量,在例子2中,G-活跃=1和F-活跃=5。因此,G-速率为10、F-速率为5、以及E-速率为15。使用分别在G-可用、F-可用以及FG-可用等式中每一个等式中所计算和/或所提供的值,产生这样的结果G-可用为“假”、F-可用为“真”、以及FG-可用为“假”。使用分别在G-门和F-门等式中每一个等式中所计算和/或所提供的值,得到这样的结果G-门为“真”和F-门为“假”。如上所述,由于G-门为“真”和F-门为“假”,所以端口激活逻辑114将不允许启动一个新的千兆以太网端口。
相比之下,在例子6中,G-活跃=0和F-活跃=14。因此,G-速率为0、F-速率为14以及E-速率为14。使用分别在G-可用、F-可用以及FG-可用等式中每一个等式中所计算和/或所提供的值,产生这样的结果G-可用为“真”、F-可用为“真”、以及FG-可用为“假”。使用分别在G-门和F-门等式中每一个等式中所计算和/或所提供的值,产生这样的结果G-门为“假”和F-门为“真”。如上所述,由于G-门为“假”和F-门为“真”,所以端口激活逻辑114将允许启动一个千兆以太网端口,但将不允许启动一个高速以太网端口。
以上的描述仅公开了本发明的一些示范性实施例。对本领域的技术人员来说在本发明的范围内的对于本发明公开的上述实施例的修改是很明显的。例如,尽管本方法和装置公开了对一个片上存储器的使用,但这一片上存储器可能不包括在其它一些实施例中。因此,可以把输出端口耦合到存储器控制器108,也可以把输出端口耦合到存储器104。另外,尽管在本方法和装置中把A-因子、C-极限、以及G-极限存储在寄存器中,而且是可配置的,但在其它一些实施例中,不同的变量可以是可配置的。另外,在一或多个实施例中,F-因子为1而G-因子为10,但在其它一些实施例中,也可以使用不同的值。而且,尽管在本方法和装置中F-因子、G-因子以及A-因子代表存储器带宽的一或多个100Mbps部分,但F-因子、G-因子以及A-因子也可以代表存储器带宽的一或多个较大或较小的部分。另外,尽管本方法和装置公开了接收和发送ATM、高速以太网和/或千兆以太网数据,但在其它一些实施例中,也可以使用较多、较少和/或不同的数据类型。动态调整分配给该多个数据类型的存储器带宽的量,包括动态调整分配给一个以上数据类型的存储器带宽的量。另外,确定是否可以把存储器带宽分配给该多个数据类型之一可以包括确定是否可以把存储器带宽分配给该多个数据类型中的一个以上的数据类型。
因此,尽管已经结合本发明的范例实施例描述了本发明,应该理解,其它一些实施例也可能会落入由所附权利要求所定义的本发明的构思与范围内。
权利要求
1.一种自调整在网络处理器系统中存储器带宽分配的方法,包括确定多个数据类型中每一数据类型所使用的网络处理器的存储器带宽的量;以及根据确定结果,动态调整分配给该多个数据类型中至少一个数据类型的存储器带宽的量。
2.如权利要求1所述的方法,其中,所述多个数据类型所使用的存储器带宽的总量是可配置的。
3.如权利要求2所述的方法,还包括确定是否可把存储器带宽分配给该多个数据类型中至少一个数据类型。
4.如权利要求3所述的方法,其中,确定是否可把存储器带宽分配给该多个数据类型中至少一个数据类型包括,确定可由该多个数据类型所使用的网络处理器的存储器带宽的最大量与该多个数据类型当前所使用的网络处理器的存储器带宽总量之间的差。
5.如权利要求3所述的方法,其中,确定是否可把存储器带宽分配给该多个数据类型中至少一个数据类型包括,确定是否可激活一个用于发送该多个数据类型中至少一个数据类型的数据的端口。
6.如权利要求1所述的方法,其中,确定多个数据类型中至少一个数据类型所使用的网络处理器的存储器带宽量包括确定发送该多个数据类型中每一个数据类型所使用的活跃端口的个数;和确定分配给用于该多个数据类型中每一个数据类型的每一个活跃端口的存储器带宽的量。
7.如权利要求6所述的方法,其中,用于一个数据类型分配给每一个活跃端口的存储器带宽的量是相同的。
8.如权利要求6所述的方法,其中,用于ATM协议数据类型分配给每一个活跃端口的存储器带宽的量是可配置的。
9.如权利要求1所述的方法,其中,该多个数据类型至少包括一个ATM协议数据类型和一个以太网协议数据类型。
10.如权利要求9所述的方法,其中,以太网协议数据类型至少包括千兆以太网数据类型和高速以太网数据类型之一。
11.如权利要求1所述的方法,其中,根据确定结果动态调整分配给该多个数据类型中至少一个数据类型的存储器带宽的量包括,动态激活和动态去激活一个用于发送该多个数据类型中至少一个数据类型的数据的端口这两个操作中的至少一个操作。
12.一种装置,包括端口激活逻辑,适合耦合到网络处理器的存储器,并适合于与存储器进行交互,以确定多个数据类型中每一数据类型所使用的网络处理器的存储器带宽的量;以及基于确定结果,动态调整分配给该多个数据类型中至少一个数据类型的存储器带宽的量。
13.如权利要求12所述的装置,其中,该多个数据类型所使用的存储器带宽的总量是可配置的。
14.如权利要求13所述的装置,其中,端口激活逻辑还适合于确定是否可把存储器带宽分配给该多个数据类型中至少一个数据类型。
15.如权利要求14所述的装置,其中,端口激活逻辑还适合于确定可由该多个数据类型所使用的网络处理器的存储器带宽的最大量与该多个数据类型当前所使用的网络处理器的存储器带宽总量之间的差。
16.如权利要求14所述的装置,其中,端口激活逻辑还适合于确定是否可激活一个用于发送该多个数据类型中至少一个数据类型的数据的端口。
17.如权利要求12所述的装置,其中,端口激活逻辑还适合于确定发送该多个数据类型中每一个数据类型所使用的活跃端口的个数;以及确定分配给用于该多个数据类型中每一个数据类型的每一个活跃端口的存储器带宽的量。
18.如权利要求17所述的装置,其中,用于一个数据类型分配给每一个活跃端口的存储器带宽的量是相同的。
19.如权利要求17所述的装置,其中,用于ATM协议数据类型分配给每一个活跃端口的存储器带宽的量是可配置的。
20.如权利要求12所述的装置,其中,该多个数据类型至少包括一个ATM协议数据类型和一个以太网协议数据类型。
21.如权利要求20所述的装置, 其中,以太网协议数据类型至少包括千兆以太网数据类型和高速以太网数据类型之一。
22.如权利要求12所述的装置,其中,端口激活逻辑还适合于动态激活和动态去激活一个用于发送该多个数据类型中至少一个数据类型的数据的端口这两个操作中的至少一个操作。
23.一种网络处理器系统,包括一个存储器;以及一个网络处理器,其耦合到存储器,该网络处理器包括一个存储器控制器;多个端口;和端口激活逻辑,其耦合到存储器控制器、多个端口以及存储器,并适合于与存储器进行交互,以确定多个数据类型中每一数据类型所使用的存储器带宽的量;以及根据确定结果,动态调整分配给该多个数据类型中至少一个数据类型的存储器带宽的量。
全文摘要
在本发明的第一方面,提供了自调整在网络处理器系统中存储器带宽分配的第一方法。所述第一方法包括下列步骤(1)确定多个数据类型中每一数据类型所使用的网络处理器的存储器带宽的量;和(2)基于确定结果,动态调整分配给该多个数据类型之一的存储器带宽的量。而且还提供了许多其它方面。
文档编号H04L12/00GK1599333SQ200410071238
公开日2005年3月23日 申请日期2004年7月16日 优先权日2003年9月18日
发明者默温·H·阿尔弗尼斯, 威廉·J·戈琴格, 肯特·H·哈兹尔霍斯特, 朗尼·兰布里克特, 乔舒亚·W·伦希 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1