CN111447154A - 设置在交换器内的电路以及管理交换器中的存储器的方法 - Google Patents

设置在交换器内的电路以及管理交换器中的存储器的方法 Download PDF

Info

Publication number
CN111447154A
CN111447154A CN201910044955.XA CN201910044955A CN111447154A CN 111447154 A CN111447154 A CN 111447154A CN 201910044955 A CN201910044955 A CN 201910044955A CN 111447154 A CN111447154 A CN 111447154A
Authority
CN
China
Prior art keywords
egress
region
sequences
memory
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910044955.XA
Other languages
English (en)
Other versions
CN111447154B (zh
Inventor
林永昌
吕国正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN201910044955.XA priority Critical patent/CN111447154B/zh
Publication of CN111447154A publication Critical patent/CN111447154A/zh
Application granted granted Critical
Publication of CN111447154B publication Critical patent/CN111447154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种设置在一交换器内的电路以及一种管理一交换器中一存储器的方法,所述电路包含有一存储器以及一控制电路。该存储器包含至少一第一区域以及一第二区域,其中该第一区域用来提供多个出口序列的每一个出口序列的一最小保证存储空间,且该第二区域用来提供所述多个出口序列的一共用存储空间;以及当该交换器的一输入端接收到一输入封包并将该输入封包存储至该存储器时,该控制电路根据该输入封包所需被转发至出口序列的数量,以动态地决定该第二区域的大小。

Description

设置在交换器内的电路以及管理交换器中的存储器的方法
技术领域
本发明涉及交换器,特别涉及一种管理交换器内的存储器的方法。
背景技术
交换器的作用就是收到一笔封包后会根据封包内容来转发到适当的输出端,而基于许多原因,例如L2/L3多播传输、未知的媒体存取控制目的位址泛洪(unknown MAC DAflood)、高速输入端转发到低速输出端、多个输入端转发到同一个输出端等,所接收到的封包无法立即地传送出去,而必须将封包存在一个存储器中,等到这些封包都已转发到所有的输出端后,才会把存储这笔封包的存储器位址释放出来给后续的封包来使用,而这块存储器由于主要的作用是拿来存储封包,因此一般也被称为封包缓冲器。
在现今交换机的技术日新月异,不管交换机的输入/输出端速度和数量都在不断地增加,在考量成本之下,封包缓冲器并无法大量地增加,在这种状况下,如何让所有输入/输出端有效地使用这些有限的封包缓冲器空间就成为一个重要的课题了。
发明内容
因此,本发明的目的之一在于提出一种设置在交换器内的电路及管理交换器内的存储器的方法,其可以动态地配置封包缓冲器内的空间,以让封包缓冲器的空间能够作最有效的运用,以解决现有技术中的问题。
在本发明的一个实施例中,公开了一种设置在一交换器内的电路,其包含有一存储器以及一控制电路。该存储器包含至少一第一区域以及一第二区域,其中该第一区域用来提供多个出口序列的每一个出口序列的一最小保证存储空间,且该第二区域用来提供所述多个出口序列的一共用存储空间;以及当该交换器的一输入端接收到一输入封包并将该输入封包存储至该存储器时,该控制电路根据该输入封包所需被转发至出口序列的数量,以动态地决定该第二区域的大小。
在本发明的另一个实施例中,公开了一种管理一交换器中的一存储器的方法,其中该存储器包含至少一第一区域以及一第二区域,其中该第一区域用来提供多个出口序列的每一个出口序列的一最小保证存储空间,且该第二区域用来提供所述多个出口序列的一共用存储空间,以及该方法包含有:当该交换器的一输入端接收到一输入封包并将该输入封包存储至该存储器时,根据该输入封包所需被转发至出口序列的数量,以动态地决定该第二区域的大小。
附图说明
图1为根据本发明一实施例的交换器的示意图。
图2为存储器所包含的第一区域以及第二区域的示意图。
图3为根据本发明一实施例的调整第二区域的最大使用量的示意图。
图4~图7为根据本发明一实施例的动态调整第二区域的最大使用量的方法。
图8说明了应用在逻辑序列/虚拟序列的存储器管理方法。
图9~图10为根据本发明另一实施例的动态调整第二区域的最大使用量的方法。
符号说明
Figure BDA0001948845810000021
Figure BDA0001948845810000031
具体实施方式
图1为根据本发明一实施例的交换器100的示意图。如图1所示,交换器100包含多个输入端(本实施例以三个输入端Pin0、Pin1、Pin2为例)、多个输出端(本实施例以三个输出端P0、P1、P2为例)、一控制电路110以及一存储器120。控制电路110用来接收来自输入端Pin0、Pin1、Pin2中至少其一的封包、并将该封包传送至输出端P0、P1、P2中的至少其一。
当封包被输入至交换器100时,封包会先被暂存至作为封包暂存器的存储器120中,的后再通过控制电路110传送至适当的输出端P0、P1、P2。在存储器120的配置中,如图2所示,存储器120包含至少一第一区域以及一第二区域,其中第一区域为每一个输出端的每一个出口序列(egress queue)的一最小保证存储空间(图示的斜线区域,Pm为输出端序号、Qn为出口序列序号),且第二区域为一共用存储空间。关于第一区域,由于在存储器120内设置了每一个出口序列的最小保证存储空间,因此,以输出端P1的第一个出口序列Q1来进行说明,无论转发到出口序列Q1的封包是什么时候输入到交换器100中,只要存储器120内目前所存储的对应到出口序列Q1的封包没有超过其最小保证存储空间,则此封包就一定可以立即被存储至存储器120中,如此一来便可以提升每一个出口序列在使用存储器120上的公平性。另外,第二区域用来供每一个输出端的每一个出口序列使用,以出口序列Q1来进行说明,若是存储器120内目前所存储的对应到出口序列Q1的封包总数已到达其最小保证存储空间,则在第二区域尚有空间的情形下,后续输入至交换器100且对应到出口序列Q1的封包便可直接存储到第二区域中。
为了管理存储器120中的第一区域以及第二区域,控制电路120会具有计数器以对每一个输出端的每一个出口序列的封包的输入输出做计算,以供判断每一个出口序列的最小保证存储空间的剩余量,以进行存储器120的管理。在一例子中,假设交换器100自输入端Pin1接收需要转发至三个输出端P0、P1、P2的封包时,且若是三个输出端P0、P1、P2都未达到其最小保证存储空间,则虽然存储器120只会存储一笔封包,但是三个输出端P0、P1、P2所对应到的最小保证存储空间都会减少一笔封包的数据量。因此,在这种情况下,由于在最小保证存储空间的计算上是三笔封包,但实际上存储器120只存储了一笔封包,因而造成存储器120中两笔封包的存储空间的浪费,因而使得存储器120的利用率降低。
因此,为了解决此一问题,本实施例提出了一种管理存储器120的方法,其可以根据封包所需转发至输出端的数量以及这笔封包在存储器的第一区域上所使用空间数量,以动态地调整第二区域的大小,以更有效地利用存储器120的存储空间。
详细来说,控制电路110会建立四个参数Qn_USED、Q_SHARE_USED、Q_GUA_USED以及Q_GUA_REMAIN来进行存储器120的管理。参数Qn_USED是每一个出口序列都具有的参数,代表的是其对应的出口序列在存储器120的使用量,亦即,每当进来的封包会转发到这个出口序列时,便会对此参数加上“1”;反之,当这笔进来的封包已从所有该转发的出口序列送出时,会对所有转发的出口序列相对应的参数Qn_USED减去“1”。参数Q_SHARE_USED是代表目前在存储器120中有多少数据页是被使用到该第二区域(亦即,共用存储空间)的封包所占用的,计算方式是当进来封包转发到的所有出口序列使用量都已分别满足最小保证存储空间设定值(亦即,封包转发到的所有出口序列的最小保证存储空间都已被写满),就可以对此参数加上“1”;而当有达到存储器120内数据页释出条件的封包从出口序列送出时,并且参数Q_SHARE_USED大于0的状况下,参数Q_SHARE_USED便会减去“1”。参数Q_GUA_USED可视为一已使用参数,代表目前在存储器120中有多少使用量是被使用到最小保证存储空间的封包所占用的,计算方式是进来的封包只要转发到任一最小保证存储空间都尚未被写满的出口序列,就可以对参数Q_GUA_USED加上“1”;而当参数Q_SHARE_USED等于零的状况下,有封包从出口序列送出并且达到存储器120内数据页释出的条件,则对参数Q_GUA_USED减去“1”。参数Q_GUA_REMAIN可视为一剩余参数,是指存储器120还需保留多少数据页数量,来让内部所有管理的出口序列可至少确保拿到各自的最小保证存储空间的使用量,每当封包进来时,若这次要转发到的出口序列中有N个出口序列未满足最小保证存储空间,便会对参数Q_GUA_REMAIN减去“N”;而有封包从出口序列送出,只要这个出口序列所对应的参数Qn_USED小于最小保证存储空间的设定值时,便可对参数Q_GUA_REMAIN加上“1”。
以上四个参数中只有参数Qn_USED是每一个出口序列都具有的,而其余的三个参数Q_SHARE_USED、Q_GUA_USED以及Q_GUA_REMAIN都是所有出口序列所共用的参数。
参数Q_GUA_USED可视为在该第一区域已经使用的数据页数量(在本实施例中可视为封包数量),而参数Q_GUA_REMAIN则是被当作在最差的情况下(进来的全是单播(unicast)封包),若要确保所有管理的出口序列至少都可拿到各自最小保证存储空间,存储器120所要保留下来的数据页数量。接下来可以利用参数Q_GUA_USED和参数Q_GUA_REMAIN的总和来得到当前状况下实际的最小保证存储空间,而第二区域(亦即,共用存储空间)最大的使用量可以用下列方程式来进移动态调整:
Q_SHARE_TOTAL=Q_TOTAL–(Q_GUA_USED+Q_GUA_REMAIN),其中Q_SHARE_TOTAL为第二区域的最大使用量、Q_TOTAL为存储器120的总共空间。
图3示出了本实施例的概念,在初始状态时(亦即,尚未接收到任何封包时),存储器120包含的第一区域及第二区域分别对应到参数Q_GUA_REMAIN以及Q_SHARE_TOTAL。接着,当接收到多播(multicast)封包时,由于参数Q_GUA_USED与参数Q_GUA_REMAIN的总和会小于初始状态的参数Q_GUA_REMAIN,故第二区域(亦即,共用存储空间)的最大使用量Q_SHARE_TOTAL便会增加,以供存储后续的封包。
以下以图4~图7来说明本实施例的动态调整第二区域(亦即,共用存储空间)的最大使用量Q_SHARE_TOTAL的方法。为了方便说明,以下的说明假设交换器100仅管理三个出口序列(P0,Q0)、(P1,Q0)、(P2,Q0),存储器120中可供存储封包的数据页数量为“10”(亦即Q_TOTAL=10),每一笔封包的大小等于一个数据页,并假设每一个出口序列的最小保证存储空间均为“1”。因此,在此设定下,交换机100在初始状态下的参数Qn_USED、Q_SHARE_USED和Q_GUAE_USED都设成0,而Q_GUA_REMAIN则是所管理的出口序列的最小保证存储空间的总和“3”,第二区域的最大使用量Q_SHARE_TOTAL是“7”。交换器100在初始状态时的参数如图4所示。
在图5中,假设交换器100接收到第一笔封包,其中第一笔封包是要转送到出口序列(P0,Q0)与(P1,Q0),而由于出口序列(P0,Q0)与(P1,Q0)的最小保证存储空间尚未被写满,故参数Q_GUA_REMAIN会减去“2”而变成1,出口序列(P0,Q0)和(P1,Q0)的参数Qn_USED则是加上“1”,参数Q_GUA_USED也是加上“1”,而参数Q_SHARE_TOTAL在这个状况下会调整成为8(亦即,10-1-1=8)。
在图6中,交换器100接收到第二笔封包,其中第二笔封包是要转送到出口序列(P1,Q0)与(P2,Q0),由于出口序列(P2,Q0)的最小保证存储空间尚未被写满,因此参数Q_GUA_REMAIN会减去“1”而变成0,出口序列(P1,Q0)的参数Qn_USED会加上“1”而变成“2”,出口序列(P2,Q0)的参数Qn_USED则是加上“1”而变成“1”,参数Q_GUA_USED也是加上“1”而变成“2”,此时参数Q_SHARE_TOTAL维持在8(亦即,10-2-0=8)。
在图7中,交换器100接收到第三笔封包,其中第三笔封包是要转送到出口序列(P0,Q0)、(P1,Q0)与(P2,Q0),由于出口序列(P0,Q0)、(P1,Q0)与(P2,Q0)的最小保证存储空间都已被写满,因此,参数Q_GUA_REMAIN不会进行运算且其值仍旧维持在0,出口序列(P0,Q0)、(P1,Q0)和(P2,Q0)的参数Qn_USED会各自加上“1”而分别变成“2”、“3”、“2”,而由于第三笔封包要转发的所有出口序列的最小保证存储空间都已被写满,因此参数Q_SHARE_USED会加上“1”而变成“1”,此外,参数Q_SHARE_TOTAL在这个状况维持在8(亦即,10-2-0=8)。
如以上图4~图7所述,在本实施例的根据多播封包来动态调整第二区域的最大使用量Q_SHARE_TOTAL中,即使在出口序列(P0,Q0)、(P1,Q0)与(P2,Q0)的最小保证存储空间都已被写满后,参数Q_SHARE_TOTAL也可以从初始状态的“7”调高变成了“8”,来达到提高存储器120的利用率的效果。
另外,当存储在存储器120内的封包由输出端P0~P2输出时,第二区域的最大使用量Q_SHARE_TOTAL也会进行动态地调整。继续图7所示的范例来说明,首先,假设一开始送出来的封包是进来的上述第三笔封包,在封包分别从出口序列(P0,Q0)、(P1,Q0)、(P2,Q0)送出后,出口序列(P0,Q0)、(P1,Q0)、(P2,Q0)的参数Qn_USED会各自减去“1”而分别变成“1”、“2”、“1”;此时由于出口序列(P0,Q0)、(P1,Q0)、(P2,Q0)的最小保证存储空间都已被写满,故参数Q_GUA_REMAIN不会进行运算且其值仍旧维持在0,参数Q_SHARE_USED会减去“1”而变成0,参数Q_SHARE_TOTAL此时仍是继续维持在“8”。
接着,假设接下来送出来的封包是转送到出口序列(P0,Q0)和(P1,Q0)的第一笔封包,在第一笔封包分别从出口序列(P0,Q0)和(P1,Q0)送出后,出口序列(P0,Q0)和(P1,Q0)的参数Qn_USED会各自减去“1”来分别变成“0”和“1”,而封包送出时出口序列(P0,Q0)的最小保证存储空间都尚未写满,故参数Q_GUA_REMAINING会加上“1”而变成“1”,参数Q_SHARE_USED会减去“1”而变成“1”,而此时参数Q_SHARE_TOTAL仍是继续维持在“8”。
接着,假设接下来送出来的封包是转送到出口序列(P1,Q0)和(P2,Q0)的第二笔封包,在第二笔封包分别从出口序列(P1,Q0)和(P2,Q0)送出后,出口序列(P1,Q0)和(P2,Q0)的参数Qn_USED会各自减去“1”而全变成“0”,而封包送出时由于出口序列(P1,Q0)和(P2,Q0)的最小保证存储空间都尚未写满,故参数GUAE_REMAIN会加上“2”而变成“3”,参数Q_GUA_USED减去“1”而变成“0”,而参数Q_SHARE_TOTAL此时将会变成“7”(10-0-3=7)。
经过上述将第三笔封包、第一笔封包、第二笔封包按序传送出去之后,上述的参数也都回归到最初始的状态,过程中也动态调整了第二区域的最大使用量Q_SHARE_TOTAL,因此可以反映出本实施例在运行上的正确性及可行性。
以上图1~图7所述的管理出口序列的方法并不仅限于实体序列(physicalqueue),而也可以适用于逻辑序列(logical queue)或是虚拟序列(virtual queue)。图8说明了应用在逻辑序列/虚拟序列的存储器120的管理方法。参考图8,存储器120的下方区域是分配每个出口序列至少可以使用到的存储器空间,亦即每一个出口序列的一最小保证存储空间,因此,以输出端P1的第一个出口序列Q1来进行说明,无论转发到出口序列Q1的封包是什么时候输入到交换器100中,只要存储器120内目前所存储的对应到出口序列Q1的封包没有超过其最小保证存储空间,则此封包就一定可以立即被存储至存储器120中,如此一来便可以提升每一个出口序列在使用存储器120上的公平性。存储器120的中间区域则是把一些出口序列根据应用集合起来成为出口序列群(egress system group)ESG0~ESG3,例如把所有传递影音数据的出口序列集合成为一个出口序列群,或是把上行传输端内部的所有出口序列集合成为另一个出口序列群。而针对每一个出口序列群,其所对应到的中间区域可视为其中的多个出口序列的共享空间,以出口序列群ESG0中的出口序列Q1来进行说明,若是存储器120内目前所存储的对应到出口序列Q1的封包总数已到达其最小保证存储空间,则在出口序列群ESG0所对应的中间区域尚有空间的情形下,后续输入至交换器100且对应到出口序列Q1的封包便可直接存储到出口序列群ESG0所对应的中间区域中。存储器120的上方区域则可视为所有出口序列群ESG0~ESG3的一共用区域,而上方区域的配置是考虑到每一笔进来的封包可能会使用到存储器120中的多个数据页,因此当封包传到一半已用完了第二区域的存储空间时,为了让这笔正在处理的封包能够持续的传输完成,在这个状况下,这笔封包后续的内容就会被存储至上方区域。
图8所示的每一个出口序列群ESG0~ESG3可以是所谓的逻辑序列/虚拟序列,会将多个实体出口序列根据应用来加以集合,并成为一个管理单位,而每一个逻辑序列/虚拟序列在存储器120的使用上也会类似图2所示地给予每一个出口序列群ESG0~ESG3所能使用的空间(亦即,每一个逻辑序列/虚拟序列、或是出口序列群ESG0~ESG3的存储器配置方法可以如图2~图7的实施例所述),而上方区域则是逻辑序列/虚拟序列能共享的空间,其概念可模拟为图2提到的多个出口序列所共同使用的第二区域,因此上述图2~图7的实施例亦可套用在逻辑序列/虚拟序列中。
举例来说,参考图9,其为根据本发明一实施例的动态调整存储器120的上方区域(亦即,所有出口序列群ESG0~ESG3的共用存储空间)的最大使用量Q_SHARE_TOTAL的方法。为了方便说明,以下的说明假设交换器100仅管理三个出口序列群ESG0~ESG2(亦即,三个逻辑序列/虚拟序列),存储器120中可供存储封包的数据页数量为“10”(亦即Q_TOTAL=10),每一笔封包的大小等于一个数据页,并假设每一个出口序列群的最小保证存储空间均为“1”。因此,在此设定下,交换机100在初始状态下的参数Qn_USED、Q_SHARE_USED和Q_GUAE_USED都设成0,而参数Q_GUA_REMAIN则是所管理的出口序列的最小保证存储空间的总和“3”,第三区域的最大使用量Q_SHARE_TOTAL是“7”。
在图9中,假设第一笔封包是转送到出口序列群ESG0、ESG1、ESG2,而由于出口序列群ESG0、ESG1、ESG2的最小保证存储空间尚未被写满,因此,参数Q_GUA_REMAIN会减去“3”而变成“0”,出口序列群ESG0、ESG1和ESG2相对应的Qn_USED则是加上“1”而变为“1”,参数Q_GUA_USED也是加上“1”而变为“1”,参数Q_SHARE_TOTAL在这个状况下调整成“9”。此外,控制电路110会将要转发的出口序列群位置记录在一记录表910中。
另外,当存储在存储器120内的封包由输出端P0~P2输出时,存储器120的上方区域的最大使用量Q_SHARE_TOTAL也会进行动态地调整。具体来说,在封包分别从ESG0、ESG1和ESG2送出后,根据记录表910来将相对应的参数Qn_USED会各自减去“1”而分别变成“0”、“0”、“0”。此时,由于ESG0、ESG1和ESG2送出后所对应的最小保证存储空间都尚未写满,于是参数Q_GUA_REMAIN会加上“3”而变成“3”,参数Q_SHARE_USED会减去“1”的运算而变成“0”,参数Q_SHARE_TOTAL在这个状况会调整成“7”。
简要归纳本发明,在本发明的设置在交换器内的电路及管理交换器内的存储器的方法中,通过根据输入封包所需转发至输出端的数量以及剩余最小保证存储空间的数量,以动态地调整出口序列的共用区域的大小,可以让存储器/封包缓冲器的空间作最有效的运用。
以上所述仅为本发明的优选实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (10)

1.一种设置在一交换器内的电路,包含有:
一存储器,其中该存储器包含至少一第一区域以及一第二区域,其中该第一区域用来提供多个出口序列的每一个出口序列的一最小保证存储空间,且该第二区域用来提供所述多个出口序列的一共用存储空间;以及
一控制电路,耦接于该存储器,其中当该交换器的一输入端接收到一输入封包并将该输入封包存储至该存储器时,该控制电路根据该输入封包所需被转发至出口序列的数量,以动态地决定该第二区域的大小。
2.如权利要求1所述的电路,其中当该输入封包需要被转发至多个出口序列,且每一个出口序列在该第一区域尚具有最小保证存储空间时,该控制电路增加该第二区域的大小。
3.如权利要求1所述的电路,其中当该输入封包需要被转发至多个出口序列,且所述多个出口序列在该第一区域具有最小保证存储空间的数量大于1时,该控制电路增加该第二区域的大小。
4.如权利要求1所述的电路,其中该控制电路记录对应至该第一区域的一已使用参数以及一剩余参数,且该控制电路根据该已使用参数以及该剩余参数以动态地决定该第二区域的大小。
5.如权利要求4所述的电路,其中该已使用参数为该第一区域所存储的该输入封包的数量,该剩余参数为该第一区域的一预设大小减去该输入封包所对应的在该第一区域具有最小保证存储空间的出口序列的数量,以及该控制电路将一总共空间减去该已使用参数以及该剩余参数的总和以得到该第二区域的大小。
6.如权利要求5所述的电路,其中当该输入封包需要被转发至多个出口序列,且所述多个出口序列中有N个出口序列在该第一区域尚具有最小保证存储空间时,该控制电路将该已使用参数加上1,并将该剩余参数减去N。
7.如权利要求1所述的电路,其中当该存储器内所存储的该输入封包所对应的多个出口序列通过该交换器的多个输出端传送出时,该控制电路根据所述多个出口序列的数量以动态地决定该第二区域的大小。
8.如权利要求7所述的电路,其中当该存储器内所存储的该输入封包所对应的所述多个出口序列通过该交换器的多个输出端传送出时,若是所述多个出口序列在该第一区域具有最小保证存储空间的数量大于1,该控制电路减少该第二区域的大小。
9.如权利要求7所述的电路,其中该控制电路记录对应至该第一区域的一已使用参数以及一剩余参数,该已使用参数为该第一区域所存储的该输入封包的数量,该剩余参数为该第一区域的一预设大小减去该输入封包所对应的在该第一区域具有最小保证存储空间的出口序列的数量,以及该控制电路将一总共空间减去该已使用参数以及该剩余参数的总和以得到该第二区域的大小。
10.一种管理一交换器中一存储器的方法,其中该存储器包含至少一第一区域以及一第二区域,其中该第一区域用来提供多个出口序列的每一个出口序列的一最小保证存储空间,且该第二区域用来提供所述多个出口序列的一共用存储空间;以及该方法包含有:
当该交换器的一输入端接收到一输入封包并将该输入封包存储至该存储器时,根据该输入封包所需被转发至出口序列的数量,以动态地决定该第二区域的大小。
CN201910044955.XA 2019-01-17 2019-01-17 设置在交换器内的电路以及管理交换器中的存储器的方法 Active CN111447154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910044955.XA CN111447154B (zh) 2019-01-17 2019-01-17 设置在交换器内的电路以及管理交换器中的存储器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910044955.XA CN111447154B (zh) 2019-01-17 2019-01-17 设置在交换器内的电路以及管理交换器中的存储器的方法

Publications (2)

Publication Number Publication Date
CN111447154A true CN111447154A (zh) 2020-07-24
CN111447154B CN111447154B (zh) 2023-06-23

Family

ID=71652386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910044955.XA Active CN111447154B (zh) 2019-01-17 2019-01-17 设置在交换器内的电路以及管理交换器中的存储器的方法

Country Status (1)

Country Link
CN (1) CN111447154B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5182801A (en) * 1989-06-09 1993-01-26 Digital Equipment Corporation Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
US5541912A (en) * 1994-10-04 1996-07-30 At&T Corp. Dynamic queue length thresholds in a shared memory ATM switch
CN1881937A (zh) * 2005-05-02 2006-12-20 美国博通公司 将存储空间动态分配给多个队列的方法及设备
US20170264571A1 (en) * 2016-03-08 2017-09-14 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch
CN107592966A (zh) * 2015-05-13 2018-01-16 思科技术公司 对网络设备中的输出队列所使用的共享存储器的动态保护

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5182801A (en) * 1989-06-09 1993-01-26 Digital Equipment Corporation Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
US5541912A (en) * 1994-10-04 1996-07-30 At&T Corp. Dynamic queue length thresholds in a shared memory ATM switch
CN1881937A (zh) * 2005-05-02 2006-12-20 美国博通公司 将存储空间动态分配给多个队列的方法及设备
CN107592966A (zh) * 2015-05-13 2018-01-16 思科技术公司 对网络设备中的输出队列所使用的共享存储器的动态保护
US20170264571A1 (en) * 2016-03-08 2017-09-14 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch

Also Published As

Publication number Publication date
CN111447154B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
EP1080560B1 (en) Method and apparatus for forwarding packets from a plurality of contending queues to an output
EP1779607B1 (en) Network interconnect crosspoint switching architecture and method
US5577035A (en) Apparatus and method of processing bandwidth requirements in an ATM switch
US6205118B1 (en) Adaptive time slot scheduling apparatus and method for end-points in an ATM network
EP0981228B1 (en) Two-component bandwidth scheduler having application in multi-class digital communication systems
US8218546B2 (en) Interleaved processing of dropped packets in a network device
US7953002B2 (en) Buffer management and flow control mechanism including packet-based dynamic thresholding
US7649882B2 (en) Multicast scheduling and replication in switches
US7855960B2 (en) Traffic shaping method and device
US10069701B2 (en) Flexible allocation of packet buffers
JPH0846590A (ja) データ伝送システム
JPH08251233A (ja) メモリ割り付けを改善したパケット通信システム及び方法
US6345040B1 (en) Scalable scheduled cell switch and method for switching
JPH08293877A (ja) 通信システム
JP3115813B2 (ja) 通信方法
CA2459001A1 (en) Shared memory data switching
CN111526095A (zh) 一种流量控制方法和装置
JP2833555B2 (ja) 優先制御方式
CN113110943B (zh) 软件定义交换结构及基于该结构的数据交换方法
EP1220497B1 (en) Packet switch
CN112272933B (zh) 队列控制方法、装置及存储介质
US11388115B2 (en) Circuit within switch and method for managing memory within switch
US7443793B2 (en) Processor with dynamic table-based scheduling using linked transmission elements for handling transmission request collisions
CN111447154A (zh) 设置在交换器内的电路以及管理交换器中的存储器的方法
JP2009508428A (ja) 相互接続ファブリックにおいてユニキャスト・トラフィック及びマルチキャスト・トラフィックをスケジューリングする方法、装置、及びコンピュータ・プログラム(相互接続ファブリックにおいてユニキャスト・トラフィック及びマルチキャスト・トラフィックをスケジューリングする方法及び装置)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant