CN1382333A - 可按比例配置的开关结构 - Google Patents
可按比例配置的开关结构 Download PDFInfo
- Publication number
- CN1382333A CN1382333A CN00814034A CN00814034A CN1382333A CN 1382333 A CN1382333 A CN 1382333A CN 00814034 A CN00814034 A CN 00814034A CN 00814034 A CN00814034 A CN 00814034A CN 1382333 A CN1382333 A CN 1382333A
- Authority
- CN
- China
- Prior art keywords
- switch
- byte
- input
- coupled
- bus
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/112—Switch control, e.g. arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3045—Virtual queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/45—Arrangements for providing or supporting expansion
Abstract
一种开关结构包括第一组数据开关,每个数据开关有多个输入口和多个输出口;所述成组开关能将其任一输入口切换至其任一输出口,成组数据开关的输入端耦合至多条输入总线,使第一输入总线的第一字节耦合至成组开关的第一开关,第一输入总线的后续字节耦合至成组开关的后续开关。
Description
背景技术
本发明涉及在计算机网络和其它数据流动场合中切换数据的开关结构。
十字头是一类在多个设备之间切换数据的开关结构,可以设想成是一种以某种方式用开关元件把多条垂直通路互连到多条水平通路的开关,开关元件可将任一条垂直通路与任一条水平通路互连起来。这类十字头通常由专用集成电路(ASIC)构成。
发明内容
根据本发明的一个方面,开关结构包括具有多个输入与输出端的网状开关和对一系列字节切割总线提供不阻塞开关结构功能的分布开关配置。
根据本发明的另一个方面,将网络设备耦合至网络处理器的开关包括多个虚拟队列和耦合到至少一条总线的输入部逻辑,所述输入部逻辑判断应将进入数据送到哪一条虚拟队列,输出逻辑则选择应将哪一个新的虚拟队列接至输出口。
根据本发明的再一个方面,开关结构包括第一组数据开关,每个开关有多个输入口和多个输出口,该组多个开关能将其任一个输入口切换到其任一个输出口,而多个数据开关的输入端耦合至多条输入总线,使第一条输入总线的第一字节耦合至多个开关中第一个开关,第一输入总线的后续字节耦合至多个开关中后一开关。
下述的一个或多个优点由本发明的一个或多个方面提供。
提供的高性能可按比例配置的开关结构用于对多端口旋转开关按比例配置。该旋转开关利用对旋转开关控制器(RSC)提供全十字头功能的虚拟队列,使其任一输入队列能耦合至其任一输出队列而无阻塞。RSC可以动态地配置诸附加端口。RSC是一种模块化概念,可利用无源底板使开关例如从32个端口增长到64端口和128端口。
附图简介
图1是包含旋转开关的网络系统的框图。
图2是表示旋转开关构成的框图。
图3是旋转开关的框图。
图4A是以字节分割结构耦合的旋转开关的框图。
图4B是以字节分割结构耦合的两个旋转开关的框图。
图5A是一曲线图,表示图4A中单只旋转开关的字节映射。
图5B是一曲线图,表示图4B中设备的字节映射。
图6是表示旋转开关中仲裁使用的结构的框图。
描述
参照图1,网络系统10包括以不阻塞方式将数据从输入口传至输出口的旋转开关12。例如,可用该开关把多个网络处理器14的分组数据发送给耦合至分离的32位FIFO总线的网络设备16。旋转开关12包含的一条数据通路以8位(即字节)分割,如下所述,使系统10例如从2×2 FIFO总线系统扩展成8×8 FIFO总线系统。旋转开关12包括多个8位宽的虚拟输入队列(VIQ)18,分布成诸输入部,每个8字节宽的输入部耦合至VIQ18中的16。旋转开关设备12还包括多个输出部20。旋转开关12还包括开关结构网络24,它与虚拟输入队列组合在一起,输出部逻辑20可将字节宽的数据从任一输入虚拟队列18移到输出FBUS字节,并不限制任一其它输入部进入任一输入虚拟队列18。数据切换由仲裁器22控制。
RSC12的内部结构24提供完整的输入至输出连接,即完整地将任一个和全部输入端连接至任一个和全部输出端。在一示例性旋转开关12中,有分布于8个部分的128个8位位宽虚拟输入队列(VIQ)(如每一部分16个VIQ)和8个输出部,因而对128个输出口中任一输出口提供具有128个输入口的设备。该结构是一独立的队列结构,不要求对称切换。切换在处理器14与RSC结构24之间是一种松散配置的分布功能。RSC仲裁器22对收到的分组数据提供公正的循环服务。处理器14可通过简单的循环或加权的公正排队向RSC12提供分组数据。输出口切换以PULL仲裁方式为基础。
参照图2,该图示出图1中系统10的构成。旋转开关设备12示成耦合至一对网络处理器14,后者最好是基于平行的多线程处理器。Matthew J.Adiletta等人于1999年8月31日提交的美国专利申请(题为“PARALLEL PROCESSORARCHITECTURE”)曾描述过一例这样的处理器,该申请已转让给本发明的受让人,通过引用与本申请结合。各处理器14与数据提供设备13通信,如这里的设备13就是与网络30的物理层耦合的媒体访问控制器(MAC)。
系统10还包括无源底板30,后者利用三态引导逻辑根据支持的端口数对系统10作动态再配置。系统10为字节分割配置。作为字节分割型配置,在添加新端口时,所有端口都停止向RSC设备口发送。根据缓冲与引导初始化时间,输入口可能或可能不一定暂定。无源底板包括9条主总线30a-30b。第一总线30a是计算机总线,如个人计算机互连(PCI)总线。这是一种桥接总线,所以严格地讲,该底板并非无源,可将通常与PCI总线等总线相关联的桥接与微处理器单元作为维持无源底板30的子卡。底板上其它8条总线用来互连RSC闸刀(闸刀0至闸刀3)。RSC闸刀是RSC设备12、网络处理器14和网络设备16的一种配置。
由于FBUS数据(32位单向总线)被分成四个8位段,所以可按系统10支持同等端口数决定这些段的大小。若使用单刀,即32端口系统,底板引导逻辑就将总线30b接至总线30e,将总线30i接至总线30f而提供输入数据,即把两条24位FBUS数据总线接至RSC12。这两条总线与各自从总线30b与总线30i直接反馈的8位对RSC12形成两条32位输入总线。总线30d引到总线30c,对MAC设备16发射。FBUS总线的24个数据位与来自RSC12的8位一起对MAC形成32位。同样地,总线30g引到总线30h,与直接来自RSC 12的8位反馈数据合并后对MAC16形成32位。
每个闸刀(如Blade_0-Blade_3)的结构相类似,通过无源底板32排列在一起。这样,若系统10有64个支持的端口,引导逻辑(未示出)就从每条总线选出有关的字节,并把它们以16位分段接至它们各自的指定总线。若例示为128个端口,则分段规模为8位。应该指出,可以将64端口系统配置成96端口系统,其中分段尺寸为8位,使用三片RSC闸刀,仅有6个输入部(不是8个)。在这类配置中,要配第四个RSC完成32位字节分割。因此,96端口系统要求使用简单的添加板,上面只有一个在两个输入部上应用位(31∶8)的RSC。
参照图3,RSC12包含的输入部逻辑装置(ISL)40a-40h,用来处理进入的FBUS数据,并把进入的数据分配给虚拟队列逻辑(VQL)装置42a-42p里的有关虚拟输入队列。RSC12还包括输出部逻辑装置(OSL)44a-44h。OSL装置44从VQL逻辑装置42中取出数据,并把该数据提供给FBUS的输出侧分配给有关MAC装置14。输入虚拟队列420-42127经一连串复用器470-47127耦合至输出部逻辑44。每个复用器420-42127耦合至每个成排的虚拟输入队列42(如对复用器420为VIQ420-42112)。每列有16个所述复用器。每列复用器470-47127(如列0为复用器470-4715)的输出对耦合至输出部逻辑44a-44h的相应输出复用器490-497馈送。
RSC12还包括输入准备逻辑46,它对虚拟队列逻辑(VQL)装置42a-42p里的诸虚拟输入队列作取样,向映射的输入部报告虚拟输入队列的状态,使提供数据的装置14(图1)能跟踪缓冲器的满度。RSC12还包括输出准备逻辑(ORL)48,它类似于输入准备逻辑,不过ORL48对网络设备16取样,如MAC发送准备位,判断网络设备16是否准备接受更多的发送数据。RSC12还包括输出部仲裁逻辑50,该逻辑50将在图6中描述,用来判断哪一虚拟输入队列应在合适的时隙内将数据提供给它的输出部。一种较佳的方案具有应用循环时间复用仲裁算法的输出部仲裁逻辑50。
输入部逻辑(ISL)40与网络处理器14接口,决定向哪个虚拟队列发送进入的mpkt(64字节有效负荷)。RSC12有多个虚拟队列。在一实例中,有16个可对其各输入部引导进入的mpkt的虚拟队列。RSC12被编成例如8个输入部。若要求很少的输入部(即对少数端口配置RSC12),可将在逻辑上邻接的诸输入部连接成32位的数据通路(32端口)或16位的数据通路(64端口)。
ISL40用带内信息控制虚拟队列装载和端口仲裁。带内信息用来将与带外控制显然相关的引线费用减至最小。带内信息包括目的地输出口(8位)、SOP位、“照原样发送”控制位、字节使能控制位、CSR使能和虚拟队列标识符(4位)。由于每个循环只有8位带内数据,所以要求16位、两次带内循环。在64或32端口模式中有一优化方案,16位/32位带内信息成为可行,因而只要求一次带内信息循环。
十字头的输入数据包括两个32位的首部字,包含控制信息和后接分组数据的8个32位字。32位输入字接至4个输入部。首部对各输入部分成2字节控制,并对正在发送的最后一个32位字规定了装载的VIQ、输出目的地、字节计数、分组结束和字节使能。规定的4个输出部接收正在装入“未定”输出FIFO的新分组的VIQ地址。正在发送给同一输出口的所有分组数据被装入类似的“未定”FIFO里,使所有四个输出字节部开始以同一循环将数据发送给输出FIFO总线。四个输出部发出的字节数据被组合成32位的输出FIFO总线。
各RSC的两个输出部可驱动控制信号(分组开始、分组结束、照原样发送、发送差错),同时所有各部都驱动字节使能信号。输出控制逻辑对所有输出目的地的准备信号进行取样。所有输出部在锁定步骤中更新它们的准备位状态,所以能同时切换输入FIFO总线的4个分割字节。
输入部逻辑42的输入包括FBUS数据位(7:0)和控制信号Txsel、EOP与NewQHdr。FBUS数据位如上所述,Txsel位用于把FBUS数据位安排成生效,而EOP用于明确表示分组结束。NewQHdr位对ISL420指示一组新的虚拟队列信息正在进入。优化方法可以是,若认定EOP AND NewQhdr,就只要求单次预先未定的循环来指示目标虚拟队列。这表示传递的不是一个新的分组数据,而是当时传送分组的连续数据,此时要求带内EOP。
输入准备逻辑(IRL)46对与各输入部相关的虚拟队列逻辑42a-42p里的16个虚拟队列的状态取样,若VIQ具有现成的空间,IRL将通过VIQ发送准备位向请求网络处理器14(图1)报告这一情况。
网络处理器14可以用该信息调度对这些虚拟队列的传输。
虚拟队列VIQ与某一特定输出相关,而该虚拟队列里保持着有效数据。虚拟队列可以拥有适当的存贮深度,如14个队列为4mpkt到2个队列为8mpkt,每个mpkt为64字节。有16个与每个输入/输出部相关联的虚拟队列。
可以进行其它配置。各VIQ有一输入指针和一输出指针,输入部逻辑40(ISL)用输入指针将数据推入VIQ,而输出部逻辑用输出指针从VIQ里“取出”数据传至发送FBUS。在一实施方法中,VIQ为单端口随机存取存储器。由于整个十字头操作可能同时要求读与写,所以VIQ像输入装填速度那样快地循环两次。例如,若从输入部FBUSES的输入装填速率为66-80MHZ,输出漏出速率应该是分离的66-80MHZ FBUS排漏速率,则VIQ将工作于133-166MHZ,为输入或输出FBUS速率的两倍。或者,可将队列构成2字节宽度,轮流循环存取。
为了尽可能地提高旋转开关12的效率,开关结构以两倍于输出FBUS排漏速率的速度工作。一种方法是使VIQ的循环加倍。另一种方法是使VIQ的宽度加倍。这样,若VIQ的输入部为8位宽,则对VA缓冲而形成16位的写数据。该操作将取出16位的读数据,该数据将以133-160MHZ 8位块提供给开关结构。
输出部逻辑(OSL)44是一时隙填充器,它利用输出部仲裁50的结果选择应将哪个新的虚拟队列“连接”至输出口。OSL审视输出准备位逻辑(ORL)48收集的发送准备位,判断该输出口是否准备接受新的mpkt(64字节)。输出部逻辑运用各输出部的16mpkt队列(16*64B*8=8KB),使VIQ十字头逻辑退离输出排漏速率,这一退离让十字头以更高的频率工作。OSL44包括一16入口时隙队列。输出口的各VIQ有一明显的时隙入口。若没有VIQ,可以压缩其时隙。在填充为“等待说明”之前,可以压缩多达n个时隙(最有可能n=2),直到出现漏读的VIQ。
输出准备逻辑(ORL)48向目的地网络设备16(图1)查问发送准备位。输出部逻辑44(OSL)中的RSC12利用该发送准备位加速将数据从RSC12推向有关的输出部F总线31。ORL48是准备总线主控器,通过所有附接的MAC循环,取出发送准备位。ORL48组装所有的发送准备位,并把它们提供给各自的输出部。OSL48用这些位判断该队列尾部是否要装填该输出口的mpkt,这样可避免队列首部阻塞。
输出部仲裁(OSA)50用于将虚拟队列42(VIQ)联接至输出口。RSC12应用分布式十字头选择方案。网络处理器14作加权的公正排队,向RSC12提供传输的顶层单元,而RSC12又应用一种公正的服务算法和不阻塞方案,从而保持了效率。
开关配置
参照图4A,旋转开关14a耦合成提供一种2×2FIFO总线开关结构。旋转14a由总线B01-B1馈送,这些总线都是32位字节分割的总线。旋转开关14a的输出耦合至输出总线,如FBUS_0、FBUS_1。在输入一侧,各总线B0-B1的四个字节依次耦合至旋转开关14a,在输出一侧,各旋转开关的前四个输出部提供FBUS_0的字节,后四个输出部提供FBUS_1的字节。该配置的映射图示于图5A。以这种方式提供字节分割的结构,该结构不阻塞,即可将任一输入口接至任一输出口而不阻止把任何其它输入口接至任何其它输出口。在任何一次循环中,所有输入口能将数据耦合至不同的所有输出口。
参照图4B,一对旋转开关14a、14b被耦合成提供一种4×4FIFO总线开关结构。旋转开关14a、14b的输入部由总线B0-B3耦合,这些总线都是32位字节分割的总线,旋转开关14a、14b的输出部耦合至输出总线,如FBUS_0至FBUS_3。在输入一侧,各总线B0-B3的前两个字节耦合至第一旋转开关14a的输入部,各总线的最后两个字节耦合至第二旋转开关14b的输入部。在输出一侧,各旋转开关的前两个输出部提供FBUS_0的字节,后面两个输出部提供FBUS_1的字节,下面依次类推。该配置的映射图示于图5B。以这种方式提供字节分割的结构,该结构为4×4结构,不阻塞,即可将任一输入口接至任一输出口,不阻止任一其它输入口接至任一其它输出口。在任一次循环中,所有输入口都能将数据耦合至所有不同的输出口。
因此,可将诸旋转开关合成提供更大的开关结构。四只开关(下面提出其映射图)可耦合成把八条4字节总线,耦合到这四只开关,各总线的第一字节耦至第一开关,各总线的第二字节耦至第二开关,各总线的第三字节耦至第三开关,各总线的第四字节耦至第四开关。另外,利用更大的旋转开关,即能联接更大总线如8字节总线,可以同样方式提供甚至更大的结构。在输出一侧,可提供同样的连接配置。
这种开关结构可以定标,即容易从2×2FIFO总线结构(32端口对32端口)扩展到8×8FIFO总线结构(128端口对128端口),无须添加附加的分级开关层次,即扩展以单层次开关实现,减少了等待时间与复杂性。
参照图5A,映射成2×2FIFO总线开关结构要求一个RSC12,字节输出映射如下:
1.输出部 0-字节0(位(31:24))输出FIFO总线0
2.输出部 1-字节1(位(23:16))输出FIFO总线0
3.输出部 2-字节2(位(15:08))输出FIFO总线0
4.输出部 3-字节3(位(07:00))输出FIFO总线0
5.输出部 4-字节0(位(31:24))输出FIFO总线1
6.输出部 5-字节1(位(23:16))输出FIFO总线1
7.输出部 6-字节2(位(15:08))输出FIFO总线1
8.输出部 7-字节3(位(07:00))输出FIFO总线1
输入部映射:
1.输入部 0-字节0(位(31:24))输入FIFO总线0
2.输入部 1-字节1(位(23:16))输入FIFO总线0
3.输入部 2-字节2(位(15:08))输入FIFO总线0
4.输入部 3-字节3(位(07:00))输入FIFO总线0
5.输入部 4-字节0(位(31:24))输入FIFO总线1
6.输入部 5-字节1(位(23:16))输入FIFO总线1
7.输入部 6-字节2(位(15:08))输入FIFO总线1
8.输入部 7-字节3(位(07:00))输入FIFO总线1
其中FBUSXY对应于FBUS“Y”的字节“X”。这样,输出部0、1、2、3分别在输入部0、1、2、3或4、5、6、7中同时接到对应的虚拟队列。
对照图5B,扩展到4×4FIFO总线开关结构要求两个RSC装置14。图5B示出具有下列映射输出的输出映射:
1.RSC_0输出部 0-字节0(位(31:24))输出FIFO总线0
2.RSC_0输出部 1-字节1(位(23:16))输出FIFO总线0
3.RSC_0输出部 2-字节0(位(31:24))输出FIFO总线1
4.RSC_0输出部 3-字节1(位(23:16))输出FIFO总线1
5.RSC_0输出部 4-字节0(位(31:24))输出FIFO总线2
6.RSC_0输出部 5-字节1(位(23:16))输出FIFO总线2
7.RSC_0输出部 6-字节0(位(31:24))输出FIFO总线3
8.RSC_0输出部 7-字节1(位(23:16))输出FIFO总线3
9.RSC_1输出部 0-字节2(位(15:08))输出FIFO总线0
10.RSC_1输出部 1-字节3(位(07:00))输出FIFO总线0
11.RSC_1输出部 2-字节2(位(15:08))输出FIFO总线1
12.RSC_1输出部 3-字节3(位(07:00))输出FIFO总线1
13.RSC_1输出部 4-字节2(位(15:08))输出FIFO总线2
14.RSC_1输出部 5-字节3(位(07:00))输出FIFO总线2
15.RSC_1输出部 6-字节2(位(15:08))输出FIFO总线3
16.RSC_1输出部 7-字节3(位(07:00))输出FIFO总线3
输入以同样方式映射(图5B中未示出)。输入部映射为:
1.RSC_0输入部 0-字节0(位(31:24))输入FIFO总线0
2.RSC_0输入部 1-字节1(位(23:16))输入FIFO总线0
3.RSC_0输入部 2-字节0(位(31:24))输入FIFO总线1
4.RSC_0输入部 3-字节1(位(23:16))输入FIFO总线1
5.RSC_0输入部 4-字节0(位(31:24))输入FIFO总线2
6.RSC_0输入部 5-字节1(位(23:16))输入FIFO总线2
7.RSC_0输入部 6-字节0(位(31:24))输入FIFO总线3
8.RSC_0输入部 7-字节1(位(23:16))输入FIFO总线3
9.RSC_1输入部 0-字节2(位(15:08))输入FIFO总线0
10.RSC_1输入部 1-字节3(位(07:00))输入FIFO总线0
11.RSC_1输入部 2-字节2(位(15:08))输入FIFO总线1
12.RSC_1输入部 3-字节3(07:00))输入FIFO总线1
13.RSC_1输入部 4-字节2(位(15:08))输入FIFO总线2
14.RSC_1输入部 5-字节3(位(07:00))输入FIFO总线2
15.RSC_1输入部 6-字节2(位(15:08))输入FIFO总线3
16.RSC_1输入部 7-字节3(位(07:00))输入FIFO总线3
在图5B场合中,FBUSXY对应于FBUS“Y”的字节“X”。这样,对输入FIFO总线0、1、2和3的输入部而言,分别代表输出FIFO总线0、1、2和3的输出部(RSC_0 0,1/RSC_1 0,1)、(RSC_0 2,3/RSC_1 2,3)、(RSC_0 4,5/RSC_14,5)、(RSC_0 6,7/RSC_1 6,7),同时接到VIL42中对应的虚拟输入队列。
因此,8×8FIFO总线十字头要求4块RSC芯片,映射的输出为:
1.RSC_0输出部 0-字节0(位(31:24))输出FIFO总线0
2.RSC_0输出部 1-字节0(位(31:24))输出FIFO总线1
3.RSC_0输出部 2-字节0(位(31:24))输出FIFO总线2
4.RSC_0输出部 3-字节0(位(31:24))输出FIFO总线3
5.RSC_0输出部 4-字节0(位(31:24))输出FIFO总线4
6.RSC_0输出部 5-字节0(位(31:24))输出FIFO总线5
7.RSC_0输出部 6-字节0(位(31:24))输出FIFO总线6
8.RSC_0输出部 7-字节0(位(31:24))输出FIFO总线7
9.RSC_1输出部 0-字节1(位(23:16))输出FIFO总线0
10.RSC_1输出部 1-字节1(位(23:16))输出FIFO总线1
11.RSC_1输出部 2-字节1(位(23:16))输出FIFO总线2
12.RSC_1输出部 3-字节1(位(23:16))输出FIFO总线3
13.RSC_1输出部 4-字节1(位(23:16))输出FIFO总线4
14.RSC_1输出部 5-字节1(位(23:16))输出FIFO总线5
15.RSC_1输出部 6-字节1(位(23:16))输出FIFO总线6
16.RSC_1输出部 7-字节1(位(23:16))输出FIFO总线7
17.RSC_2输出部 0-字节2(位(15:08))输出FIFO总线0
18.RSC_2输出部 1-字节2(位(15:08))输出FIFO总线1
18.RSC_2输出部 2-字节2(位(15:08))输出FIFO总线2
19.RSC_2输出部 3-字节2(位(15:08))输出FIFO总线3
20.RSC_2输出部 4-字节2(位(15:08))输出FIFO总线4
21.RSC_2输出部 5-字节2(位(15:08))输出FIFO总线5
22.RSC_2输出部 6-字节2(位(15:08))输出FIFO总线6
23.RSC_2输出部 7-字节2(位(15:08))输出FIFO总线7
24.RSC_3输出部 0-字节3(位(07:00))输出FIFO总线0
25.RSC_3输出部 1-字节3(位(07:00))输出FIFO总线1
26.RSC_3输出部 2-字节3(位(07:00))输出FIFO总线2
27.RSC_3输出部 3-字节3(位(07:00))输出FIFO总线3
28.RSC_3输出部 4-字节3(位(07:00))输出FIFO总线4
29.RSC_3输出部 5-字节3(位(07:00))输出FIFO总线5
30.RSC_3输出部 6-字节3(位(07:00))输出FIFO总线6
31.RSC_3输出部 7-字节3(位(07:00))输出FIFO总线7
输入部应映射为:
1.RSC_0输入部 0-字节0(位(31:24))输入FIFO总线0
2.RSC_0输入部 1-字节0(位(31:24))输入FIFO总线1
3.RSC_0输入部 2-字节0(位(31:24))输入FIFO总线2
4.RSC_0输入部 3-字节0(位(31:24))输入FIFO总线3
5.RSC_0输入部 4-字节0(位(31:24))输入FIFO总线4
6.RSC_0输入部 5-字节0(位(31:24))输入FIFO总线5
7.RSC_0输入部 6-字节0(位(31:24))输入FIFO总线6
8.RSC_0输入部 7-字节0(位(31:24))输入FIFO总线7
9.RSC_1输入部 0-字节1(位(23:16))输入FIFO总线0
10.RSC_1输入部 1-字节1(位(23:16))输入FIFO总线1
11.RSC_1输入部 2-字节1(位(23:16))输入FIFO总线2
12.RSC_1输入部 3-字节1(位(23:16))输入FIFO总线3
13.RSC_1输入部 4-字节1(位(23:16))输入FIFO总线4
14.RSC_1输入部 5-字节1(位(23:16))输入FIFO总线5
15.RSC_1输入部 6-字节1(位(23:16))输入FIFO总线6
16.RSC_1输入部 7-字节1(位(23:16))输入FIFO总线7
17.RSC_2输入部 0-字节2(位(15:08))输入FIFO总线0
18.RSC_2输入部 1-字节2(位(15:08))输入FIFO总线1
18.RSC_2输入部 2-字节2(位(15:08))输入FIFO总线2
19.RSC_2输入部 3-字节2(位(15:08))输入FIFO总线3
20.RSC_2输入部 4-字节2(位(15:08))输入FIFO总线4
21.RSC_2输入部 5-字节2(位(15:08))输入FIFO总线5
22.RSC_2输入部 6-字节2(位(15:08))输入FIFO总线6
23.RSC_2输入部 7-字节2(位(15:08))输入FIFO总线7
24.RSC_3输入部 0-字节3(位(07:00))输入FIFO总线0
25.RSC_3输入部 1-字节3(位(07:00))输入FIFO总线1
26.RSC_3输入部 2-字节3(位(07:00))输入FIFO总线2
27.RSC_3输入部 3-字节3(位(07:00))输入FIFO总线3
28.RSC_3输入部 4-字节3(位(07:00))输入FIFO总线4
29.RSC_3输入部 5-字节3(位(07:00))输入FIFO总线5
30.RSC_3输入部 6-字节3(位(07:00))输入FIFO总线6
31.RSC_3输入部 7-字节3(位(07:00))输入FIFO总线7
对于8×8FIFO十字头结构,RSC12的每个输入/输出部与其它RSC12部分同时切换32位FIFO总线的1个字节。
参照图6,示出的是输出部仲裁逻辑(OSA)50a-50h的分布情况。各OSA逻辑单元50决定将哪个虚拟队列42联接到哪个输出部逻辑44a-44h。输入FBUS部在新的分组数据开头提供分组开始标志“SOP”,该新分组的目的地端口和虚拟队列号。在开始的这一点,目的地端口为已知,因而对输出部逻辑作物理映射,并将该映射存入输出口映射队列60。各物理端口都有一个输出口映射队列600-60127,这些队列保持着下一个对该端口具有分组数据的虚拟队列的指针。各映射队列60有多达8个入口(各输入部一个),入口具有下一要发送的分组数据的VIQ#。
当输出部逻辑44将分组数据传输给特定端口后,它就向输出仲裁逻辑50请求向其提供贮存在该输出口的映射队列60NEXT-VQ里的NEXT_VQ编号。该NEXT_VQ编号是一个地址,输出部逻辑44用来控制8:1复用器62a-62h,而后者向输出部逻辑44输送16个mpkt入口输出队列。VIQ编号为7位值,三个最高位指示输入部,四个最低位指示该输入部里的VIQ,OSL可以用这7位完整地规定准备发送的下一个分组数据。
在输入部逻辑(ISL)40与输出口映射队列60之间设置一条时分复用总线70,八个输入部利用该总线将目的地信息发送给选择的输出部。这种复用很明确,因为要存贮的新分组数据最多为8个,16次循环可将其VIQ#推入它们各自的映射队列。因此,可运用极简单的循环技术在以后8次循环中分类诸输入部目的地端口。诸映射队列可以用先进先出算法漏出。
其它实施例
应该理解,虽然详细描述了本发明内容,但是上面的描述只用于说明而并非限制本发明的范围,本发明由所附权项的范围限定,其它方面,优点和修正都在下述权项范围内。
Claims (20)
1.一种旋转开关,其特征在于,它包括:
具有多个输入与输出端的网络开关;和
对一系列字节分割总线提供不阻塞开关结构功能的分布开关配置。
2.如权利要求1所述的旋转开关,其特征在于,所述开关为第一开关,该旋转开关还包括:
具有多个输入与输出端的第二网络开关。
3.如权利要求1所述的旋转开关,其特征在于,所述分布开关配置的第一与第二数据开关的输入端耦合至多条输入总线,使第一条总线的第一字节耦合至第一开关,第一总线的最后字节耦合至第二开关。
4.如权利要求1所述的旋转开关,其特征在于,所述分布开关配置的第一与第二数据开关的输出端耦合至多条输出总线,使第一条输出总线的第一字节耦合至第一开关,第一输出总线的最后字节耦合至第二开关。
5.一种把网络设备耦合至网络处理器的开关,其特征在于,它包括:
多个虚拟队列;
耦合至至少一条总线的输入部逻辑,所述输入部逻辑决定将输入数据发送给哪个虚拟队列;和
输出部逻辑,选择应将哪一个新的虚拟队列接至输出口。
6.如权利要求5所述的开关,其特征在于,还包括判断输入队列能否接收数据的输入准备逻辑。
7.如权利要求5所述的开关,其特征在于,不阻塞十字头开关配置将输入队列耦合至输出队列。
8.如权利要求7所述的开关,其特征在于,不阻塞十字头开关配置包括:
耦合至多个输入虚拟队列输出端的多个复用器,用于选择虚拟队列供给第二组对输出部逻辑产生输入的复用器。
9.如权利要求8所述的开关,其特征在于,还包括:
仲裁逻辑,用于选择供给第二组复用器的哪一个虚拟队列耦合至输出部逻辑。
10.一种开关结构,其特征在于,它包括:
一对各有多个输入口与多个输出口的数据开关,所述开关能将其任一输入口切换到其任一输出口;
所述成对数据开关的输入端耦合至多条输入总线,使第一条总线的第一字节耦合至第一开关,第一条总线的最后字节耦合至第二开关。
11.如权利要求10所述的开关结构,其特征在于,所述成对数据开关的输出端耦合至多余输出总线,使第一总线的第一字节耦合至第一开关,第一总线的最后字节耦合至第二开关。
12.如权利要求10所述的开关结构,其特征在于,成对数据开关包括:
多个虚拟队列;
耦合至多条总线的输入部逻辑,所述输入部逻辑决定应将输入数据发送给哪个虚拟队列。
13.如权利要求10所述的开关结构,其特征在于,成对数据开关包括:
耦合至多条输出总线的输出部逻辑,用于选择应接至输出口的虚拟队列。
14.如权利要求10所述的开关结构,其特征在于,成对数据开关包括:
用于控制将输入总线字节映射到输入部逻辑并将输出部逻辑总线映射到输出总线的逻辑。
15.一种开关结构,其特征在于,它包括:
第一组数据开关,每个开关有多个输入口和多个输出口,所述第一组开关能将其任一输入口切换到其任一输出口;
所述成组数据开关的输入端耦合至多条输入总线,使第一输入总线的第一字节耦合至成组开关的第一开关,第一输入总线的后续字节耦合至成组开关的后续开关。
16.如权利要求15所述的开关结构,其特征在于,成组开关有两个,后续字节是第四字节总线的第三字节。
17.如权利要求16所述的开关结构,其特征在于,所述开关耦合四条字节分割总线,四条总线中每一条的第一字节与第二字节耦合至第一开关,每一条的第三字节与第四字节耦合至第二开关。
18.如权利要求15所述的开关结构,其特征在于,成组开关有四只,所述后续字节是四字节总线的第二字节。
19.如权利要求16所述的开关结构,其特征在于,所述开关耦合至八条字节分割总线,八条总线中每一条的第一字节耦合至第一开关,每一条的第二字节耦合至第二开关,每一条的第三字节耦合至第三开关,每一条的第四字节耦合至第四开关。
20.如权利要求10所述的开关结构,其特征在于,所述成对数据开关的输出端耦合至多条输出总线,使第一总线的第一字节耦合至第一开关,第一总线的最后字节耦合至第二开关。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/387,047 | 1999-08-31 | ||
US09/387,047 US6687246B1 (en) | 1999-08-31 | 1999-08-31 | Scalable switching fabric |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1382333A true CN1382333A (zh) | 2002-11-27 |
CN1303795C CN1303795C (zh) | 2007-03-07 |
Family
ID=23528226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008140340A Expired - Fee Related CN1303795C (zh) | 1999-08-31 | 2000-08-14 | 可按比例配置的开关结构 |
Country Status (10)
Country | Link |
---|---|
US (2) | US6687246B1 (zh) |
EP (1) | EP1212869B1 (zh) |
CN (1) | CN1303795C (zh) |
AT (1) | ATE353509T1 (zh) |
AU (1) | AU6774500A (zh) |
CA (1) | CA2383473C (zh) |
DE (1) | DE60033295T2 (zh) |
HK (1) | HK1043454B (zh) |
TW (1) | TW502518B (zh) |
WO (1) | WO2001017180A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687246B1 (en) * | 1999-08-31 | 2004-02-03 | Intel Corporation | Scalable switching fabric |
US6735214B1 (en) * | 2000-01-12 | 2004-05-11 | New Jersey Institute Of Technology | Method and system for a hierarchical traffic shaper |
US7339943B1 (en) | 2002-05-10 | 2008-03-04 | Altera Corporation | Apparatus and method for queuing flow management between input, intermediate and output queues |
US7320037B1 (en) | 2002-05-10 | 2008-01-15 | Altera Corporation | Method and apparatus for packet segmentation, enqueuing and queue servicing for multiple network processor architecture |
US7606248B1 (en) * | 2002-05-10 | 2009-10-20 | Altera Corporation | Method and apparatus for using multiple network processors to achieve higher performance networking applications |
US7336669B1 (en) | 2002-05-20 | 2008-02-26 | Altera Corporation | Mechanism for distributing statistics across multiple elements |
US7593334B1 (en) | 2002-05-20 | 2009-09-22 | Altera Corporation | Method of policing network traffic |
US7372864B1 (en) * | 2002-08-01 | 2008-05-13 | Applied Micro Circuits Corporation | Reassembly of data fragments in fixed size buffers |
US20040083326A1 (en) * | 2002-10-29 | 2004-04-29 | Yuanlong Wang | Switch scheduling algorithm |
US20050008010A1 (en) * | 2003-07-10 | 2005-01-13 | Interactic Holdings, Llc | Self-regulating interconnect structure |
US7349448B2 (en) * | 2003-08-01 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Distributed multiplexing circuit with built-in repeater |
CA2534839A1 (en) * | 2003-08-15 | 2005-03-03 | Thomson Licensing | Broadcast router optimized for asymmetrical configuration |
US7558890B1 (en) * | 2003-12-19 | 2009-07-07 | Applied Micro Circuits Corporation | Instruction set for programmable queuing |
US7277990B2 (en) | 2004-09-30 | 2007-10-02 | Sanjeev Jain | Method and apparatus providing efficient queue descriptor memory access |
US20060067348A1 (en) * | 2004-09-30 | 2006-03-30 | Sanjeev Jain | System and method for efficient memory access of queue control data structures |
US7418543B2 (en) | 2004-12-21 | 2008-08-26 | Intel Corporation | Processor having content addressable memory with command ordering |
US7555630B2 (en) * | 2004-12-21 | 2009-06-30 | Intel Corporation | Method and apparatus to provide efficient communication between multi-threaded processing elements in a processor unit |
US20060140203A1 (en) * | 2004-12-28 | 2006-06-29 | Sanjeev Jain | System and method for packet queuing |
US7467256B2 (en) * | 2004-12-28 | 2008-12-16 | Intel Corporation | Processor having content addressable memory for block-based queue structures |
US20070118677A1 (en) * | 2005-05-13 | 2007-05-24 | Freescale Semiconductor Incorporated | Packet switch having a crossbar switch that connects multiport receiving and transmitting elements |
US9098641B1 (en) * | 2006-01-30 | 2015-08-04 | Cypress Semiconductor Corporation | Configurable bus |
US7991926B1 (en) * | 2006-02-22 | 2011-08-02 | Marvell Israel (M.I.S.L) Ltd. | Scalable memory architecture for high speed crossbars using variable cell or packet length |
US20070268825A1 (en) * | 2006-05-19 | 2007-11-22 | Michael Corwin | Fine-grain fairness in a hierarchical switched system |
EP1865014A1 (en) * | 2006-06-07 | 2007-12-12 | 3M Innovative Properties Company | Composition containing aziridino groups, method of production and use thereof |
US8566487B2 (en) * | 2008-06-24 | 2013-10-22 | Hartvig Ekner | System and method for creating a scalable monolithic packet processing engine |
US8068482B2 (en) * | 2008-11-13 | 2011-11-29 | Qlogic, Corporation | Method and system for network switch element |
US7965705B2 (en) * | 2009-03-19 | 2011-06-21 | Oracle America, Inc. | Fast and fair arbitration on a data link |
US8976802B2 (en) * | 2013-03-15 | 2015-03-10 | Oracle International Corporation | Prediction-based switch allocator |
US11297844B2 (en) * | 2020-08-03 | 2022-04-12 | NSC Beef Processing, LLC | Carcass hanging device and method for hanging an animal carcass |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3373408A (en) | 1965-04-16 | 1968-03-12 | Rca Corp | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
US4725835A (en) * | 1985-09-13 | 1988-02-16 | T-Bar Incorporated | Time multiplexed bus matrix switching system |
US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
US5321691A (en) | 1993-01-11 | 1994-06-14 | At&T Bell Laboratories | Asynchronous transfer mode (ATM) switch fabric |
US5638538A (en) * | 1995-01-13 | 1997-06-10 | Digital Equipment Corporation | Turbotable: apparatus for directing address and commands between multiple consumers on a node coupled to a pipelined system bus |
KR100205062B1 (ko) * | 1996-10-01 | 1999-06-15 | 정선종 | 계층 상호연결망을 위한 크로스바 라우팅 스위치 |
JPH10126419A (ja) * | 1996-10-23 | 1998-05-15 | Nec Corp | Atm交換機システム |
DE69733741T2 (de) * | 1996-12-20 | 2006-04-20 | International Business Machines Corp. | Vermittlungssystem |
JPH11154954A (ja) | 1997-11-20 | 1999-06-08 | Hitachi Ltd | Atmスイッチ |
US6201792B1 (en) * | 1998-05-14 | 2001-03-13 | 3Com Corporation | Backpressure responsive multicast queue |
US6643260B1 (en) * | 1998-12-18 | 2003-11-04 | Cisco Technology, Inc. | Method and apparatus for implementing a quality of service policy in a data communications network |
US6687246B1 (en) * | 1999-08-31 | 2004-02-03 | Intel Corporation | Scalable switching fabric |
-
1999
- 1999-08-31 US US09/387,047 patent/US6687246B1/en not_active Expired - Fee Related
-
2000
- 2000-08-14 EP EP00955560A patent/EP1212869B1/en not_active Expired - Lifetime
- 2000-08-14 AT AT00955560T patent/ATE353509T1/de not_active IP Right Cessation
- 2000-08-14 CA CA002383473A patent/CA2383473C/en not_active Expired - Fee Related
- 2000-08-14 AU AU67745/00A patent/AU6774500A/en not_active Abandoned
- 2000-08-14 WO PCT/US2000/022368 patent/WO2001017180A1/en active IP Right Grant
- 2000-08-14 CN CNB008140340A patent/CN1303795C/zh not_active Expired - Fee Related
- 2000-08-14 DE DE60033295T patent/DE60033295T2/de not_active Expired - Lifetime
- 2000-08-30 TW TW089117608A patent/TW502518B/zh active
-
2002
- 2002-07-08 HK HK02105061.1A patent/HK1043454B/zh not_active IP Right Cessation
-
2003
- 2003-04-25 US US10/423,101 patent/US7023844B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7023844B2 (en) | 2006-04-04 |
HK1043454A1 (en) | 2002-09-13 |
CN1303795C (zh) | 2007-03-07 |
US6687246B1 (en) | 2004-02-03 |
EP1212869A1 (en) | 2002-06-12 |
DE60033295D1 (de) | 2007-03-22 |
DE60033295T2 (de) | 2007-11-22 |
EP1212869B1 (en) | 2007-02-07 |
WO2001017180A1 (en) | 2001-03-08 |
ATE353509T1 (de) | 2007-02-15 |
US20030193936A1 (en) | 2003-10-16 |
HK1043454B (zh) | 2007-08-24 |
CA2383473C (en) | 2007-07-03 |
CA2383473A1 (en) | 2001-03-08 |
AU6774500A (en) | 2001-03-26 |
TW502518B (en) | 2002-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1303795C (zh) | 可按比例配置的开关结构 | |
CN1097911C (zh) | 一个电信系统以及其中传递微信元的方法 | |
CN1155205C (zh) | 分组中继设备 | |
CN1158605C (zh) | 采用crc用于芯片上存储器中数据完整性的方法和装置 | |
CN1249963C (zh) | 使用分组摘要信息快速和自适应处理分组的设备和方法 | |
CN1148687C (zh) | 用于网络处理器的全匹配搜索方法和设备 | |
CN1386021A (zh) | 异步传递模式交换机及其控制方法 | |
CN1092451C (zh) | 多路分解设备 | |
CN1135798C (zh) | 数据网络中的分组交换设备和方法 | |
CN1149806C (zh) | 高性能通信控制器 | |
CN1591374A (zh) | 直接存储器存取传输控制器 | |
CN1286009A (zh) | 联网系统 | |
CN1910571A (zh) | 单芯片协议转换器 | |
CN1608366A (zh) | 用于交换数据分组或帧的装置和方法 | |
CN1758213A (zh) | 带有共享内容的异构型并行多线程处理器(hpmt) | |
CN1533102A (zh) | 数据分组通信设备 | |
CN1729655A (zh) | 网络交换装置和网络交换方法 | |
CN1549976A (zh) | 通用串行端口体系结构和系统 | |
CN1689284A (zh) | 网络交换装置和网络交换方法 | |
CN1146798C (zh) | 数据传输控制装置及电子设备 | |
CN1092891C (zh) | 异步传输方式交换用的交换系统及方法 | |
CN1859275A (zh) | 多端口以太网交换装置及数据传输方法 | |
CN1779669A (zh) | 服务器、控制服务器的数据通信的方法、计算机产品 | |
CN100346285C (zh) | 处理器芯片与存储控制系统及方法 | |
CN1138719A (zh) | 微计算机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1049080 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070307 Termination date: 20170814 |
|
CF01 | Termination of patent right due to non-payment of annual fee |