多层面网络装置的输出队列和具有多封包链表的输出队列的相关管理方法

文档序号:8947742阅读:313来源:国知局
多层面网络装置的输出队列和具有多封包链表的输出队列的相关管理方法
【专利说明】多层面网络装置的输出队列和具有多封包链表的输出队列的相关管理方法
[0001]交叉引用
[0002]本发明主张在2013年4月26日提出的申请号为61/816,247的美国临时专利申请的优先权;主张在2013年12月03日提出的申请号为61/910,967的美国临时专利申请的优先权;以及主张在2014年04月15日提出的申请号为14/252,789的美国临时专利申请的优先权。因此在全文中合并参考该些专利申请案。
技术领域
【背景技术】
[0003]本发明是有关于转发封包,特别是有关于多层面(plane)网络装置的输出队列和管理具有多封包链表的输出队列的相关方法。
[0004]网络交换机是连接不同电子装置的计算机网络装置。举例来说,网络交换机接收自连接至该网络交换机的源电子装置产生的传入封包,并传送自接收封包得到的发送封包至一个或多个目的电子装置,对网络交换机来说,接收的是接收封包。一般而言,网络交换机具有封包缓冲器,以用于缓冲自入端口(ingress ports)接收的封包的封包数据,并且网络交换机通过出端口(egress ports)转发存储于封包缓冲器中的封包。
[0005]此外,当自一个入端口接收封包时,该封包被进一步入队列至一个输出队列(output queue)。为放宽输出队列的存储要求,单一的链表结构被采用服务于一个输出队列。当网络交换机具有多个层面时,多个封包在一个时钟周期中可被入队列至相同或不同的输出队列中。另外,多封包在一个时钟周期中也可自链表出队列。由于多个入队列和出队列操作需要在一个时钟周期中完成,多端口存储通常要求缓冲封包链表。举例来说,考虑两层面网络交换机,2R2W静态随机存取存储器(SRAM)存储用于输出队列的封包链表。然而,2R2W静态随机存取存储器具有大芯片面积和高成本。当网络交换机具有η层面(η>2)时,利用nRnW静态随机存取存储器将不是输出队列设计的具有成本效益的方案。

【发明内容】

[0006]根据本发明的示范性实施方式,提出一种利用多个封包链表的多层面网络装置的输出队列和管理具有多个封包链表的输出队列的相关方法,以解决上述问题。
[0007]根据本发明的第一方面,提出一种示范性的多层面网络装置的输出队列。输出队列包括第一处理电路、多个存储装置、以及第二处理电路。第一处理电路用于基于多个封包的到达序列,产生封包选择信息。存储装置用于存储多个封包链表以用于输出队列。根据封包选择信息,第二处理电路用于通过自封包链表选择链表条目,而自输出队列出列封包。
[0008]根据本发明的第二方面,提出一种管理多层面网络装置的输出队列的示范性方法。示范性方法包括:基于多个封包的到达序列,产生封包选择信息;利用多个存储装置来存储多个封包链表以用于输出队列;以及根据封包选择信息,通过自封包链表选择链表条目,而自输出队列出列封包。
[0009]在阅读完如下各附图中的较佳实施方式的详细描述之后,本领域技术人员可了解本发明的这些和其他目标。
【附图说明】
[0010]图1为根据本发明的多层面网络装置采用的示范性输出队列结构的示意图。
[0011]图2为根据本发明第一实施方式的多层面网络装置的输出队列的示意图。
[0012]图3为根据本发明第二实施方式的多层面网络装置的输出队列的示意图。
[0013]图4为根据本发明第三实施方式的多层面网络装置的输出队列的示意图。
【具体实施方式】
[0014]在说明书及权利要求书当中使用了某些词汇来称呼特定的元件。本领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准贝1J。在通篇说明书及权利要求书当中所提及的“包含”是开放式的用语,故应解释成“包含但不限定于”。此外,“耦接”一词在此是包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或通过其它装置或连接手段间接地电气连接到第二装置。
[0015]本发明的概念为利用多封包链表来实现网络装置的一个输出队列。其中,输出队列操作为一种数据缓冲电路,以及封包链表分别对应于不同层面。因此,自一个层面接收的、并要求通过输出队列转发的封包被入队列至一个封包链表。这样,尽管封包链表的每一个保持在两个端口的存储器(IRlW)中,多封包仍然在同一个时钟周期被入队列至输出队列,该两个端口的存储器具有用于地址的一个读端口和一个写端口,并控制仅允许每次两个同时存取(一个读存取和一个写存取)。与具有在多端口存储器(nRnW)中实现的单一的封包链表的一个输出队列相比较,利用两个端口的存储器(IRlW)的提出的输出队列具有较小的芯片尺寸和较低的成本。在多层面网络装置(例如,具有多于一个层面的网络交换机)中使用的提出的输出队列的进一步细节将描述如下。
[0016]图1为根据本发明实施方式的多层面网络装置采用的示范性输出队列结构的示意图。假设多层面网络装置10具有N层面,每一个层面包括多个入端口(ingress ports)和多个出端口(egress ports)。在此实施方式中,在层面O?层面N_1的最多N封包被入队列至同一时钟周期中的一个输出队列。其中,每一个输出队列在N个双端口(N dual-port)存储器(例如,IRlW静态随机存取存储器)中具有N个封包链表。更具体地说,一个IRlW静态随机存取存储器在入端口和出端口之间耦接。该入端口为N层面中的一个的入端口,该出端口为N层面中的一个的出端口。因此,示范性的输出队列结构具有NxN全条目(ful 1-entry) IRlW静态随机存取存储器。举例来说,对于与一个层面的同一入端口相关的多个输出端口(output ports)中的一个来说,用于输出队列的N封包链表中的一个被存储于一个IRlW SRAMi, j中,IRlW SRAMi, j位于第i个层面(入口)和第j个层面(出口)之间,其中i = 0,1,..., N-1以及j = O, I,..., N-10为更好地理解本发明的技术特征,本发明提出的一个输出队列的结构和操作将祥述如下:
[0017]请参考图2,图2为根据本发明第一实施方式的多层面网络装置的输出队列的示意图。输出队列100包括第一处理电路102和第二处理电路106。此外,输出队列100具有多个存储装置。对求简洁,以下描述假设多层面网络装置为两层面网络交换机。因此,存储装置104_1和存储装置104_2在输出队列100中使用,其中存储装置104_1和存储装置104_2分别对应于两个层面,包括层面I和层面O。
[0018]第一处理电路102用于基于多个封包PKT的到达序列产生封包选择信息,每一个封包来自多个层面中(例如,在此示例中层面O和层面I)的一个,并需要通过同一输出队列1
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1