CN102232281B - 用于网络交换元件的方法及系统 - Google Patents

用于网络交换元件的方法及系统 Download PDF

Info

Publication number
CN102232281B
CN102232281B CN200980145538.9A CN200980145538A CN102232281B CN 102232281 B CN102232281 B CN 102232281B CN 200980145538 A CN200980145538 A CN 200980145538A CN 102232281 B CN102232281 B CN 102232281B
Authority
CN
China
Prior art keywords
port
bag
label
exchange component
operation port
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.)
Active
Application number
CN200980145538.9A
Other languages
English (en)
Other versions
CN102232281A (zh
Inventor
詹姆斯·A·孔兹
弗兰克·R·德罗普斯
爱德华·C·罗斯
马克·A·欧文
克雷格·M·韦尔巴
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.)
Kaiwei International Co
Q logic Co.,Ltd.
Marvell Asia Pte Ltd
Original Assignee
QLogic LLC
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 QLogic LLC filed Critical QLogic LLC
Publication of CN102232281A publication Critical patent/CN102232281A/zh
Application granted granted Critical
Publication of CN102232281B publication Critical patent/CN102232281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/112Switch control, e.g. arbitration
    • 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/111Switch interfaces, e.g. port details
    • 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/113Arrangements for redundant switching, e.g. using parallel planes
    • H04L49/118Address processing within a device, e.g. using internal ID or tags for routing within a switch
    • 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/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

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

Abstract

本发明提供用于网络交换元件的方法及系统。所述交换元件包括多个兆端口,每一兆端口由唯一兆端口地址识别符唯一地识别以用于网络寻址。每一兆端口包括多个操作端口,每一操作端口由唯一操作端口地址识别符识别。所述交换元件还包括:局部交叉开关,其用于所述多个操作端口之间的通信;及共享逻辑模块,其经配置以提供对兆端口内的所述多个操作端口的共同控制以允许操作端口共享单个兆端口的资源以在其间路由网络包。所述交换元件还包括经配置以允许所述兆端口之间的通信的全局交叉开关。

Description

用于网络交换元件的方法及系统
相关申请案交叉参考
本申请案请求在2008年11月13日提出申请的第61/114,329号美国临时专利申请案及在2009年9月9日提出申请的第12/556,064号美国同在申请中专利申请案的35U.S.C.§119(e)下的权益,所述专利申请案的揭示内容整体以引用方式并入本文中。
技术领域
本发明涉及网络。
背景技术
联网系统通常用以在计算系统(举例来说,服务器)之间或在计算系统与网络装置(举例来说,存储系统)之间移动网络信息(也可互换地称作帧、包或命令)。使用各种硬件及软件组件来实施网络通信。可使用不同网络及存储协议来处置网络信息及存储信息。正在不断努力增强联网及存储协议的使用。
网络交换机通常为多端口装置,其中每一端口管理自身与所附接系统之间的点对点连接。每一端口可附接到服务器、外围器件、输入/输出子系统、桥接器、集线器、路由器或另一交换机。本文中所使用的术语网络交换机包括使用单个交换机底座内的多个交换元件来路由数据包的多级交换机。
对于高性能高端口计数单芯片交换机,从每一进入端口(接收信息的端口)到每一出口端口(发射信息的端口)的专用数据/控制路径可产生相对高的全局写入端口连接计数。高全局线端口连接计数引入内部路由、计时及芯片面积问题。正在不断努力减少连接的数目。
发明内容
在本发明的一个方面中,可通过将端口分组在一起以形成兆端口来减少涉及全局线端口连接计数的问题。所述兆端口可包括兆端口内的共享局部路由资源及可驻存于共用芯片上的到所有其它兆端口的一组全局路径。
在一个实施例中,提供网络交换元件。所述交换元件包括多个兆端口,每一兆端口由唯一兆端口地址识别符唯一地识别以用于网络寻址。每一兆端口包括多个操作端口,每一操作端口由唯一操作端口地址识别符识别。
所述交换元件还包括:局部交叉开关,其用于所述多个操作端口之间的通信;及共享逻辑模块,其经配置以提供对兆端口内的所述多个操作端口的共同控制以允许操作端口共享单个兆端口的资源以在其间路由网络包。所述交换元件还包括经配置以允许所述兆端口之间的通信的全局交叉开关。
在另一实施例中,提供一种用于在交换元件中发射及接收网络包的方法。所述方法包括:提供由唯一地址识别符识别的多个兆端口以用于网络寻址,每一兆端口包括多个操作端口,每一操作端口由唯一操作端口地址识别符识别;及使通信资源在每一兆端口内的所述操作端口之间共享以允许所述操作端口在其间及在所述多个兆端口中的每一者之间路由包。
在另一实施例中,提供一种用于在具有多个兆端口的交换元件中接收及发射网络包的方法。每一兆端口包括多个操作端口及一共享逻辑模块。所述方法包括:(a)在所述多个兆端口中的一者的操作端口的接收段处接收包;(b)产生从所述接收段提取所述所接收包的请求;(c)将所述请求的副本发送到所述第一操作端口的发射段;其中所述请求包括关于所述包存储在所述接收段处的位置及接收到所述包的所述操作端口的身份的信息;(d)在将所述包发送到所述操作端口的所述发射段之前将交换路由标头(SRH)添加到所述包;且所述SRH识别接收所述包的所述操作端口及存储所述包的所述位置;(e)将所述包中的所述SRH与所述请求中所提供的信息进行比较;及(f)在将所述包发射到恰当目的地之前将所述包置于正确的发射路径上以临时存储于所述发射段处。
在又一实施例中,提供一种用于在具有多个兆端口的交换元件中接收及发射网络包的方法。每一兆端口包括多个操作端口及一共享逻辑模块。所述方法包括:(a)在所述多个兆端口中的一者的操作端口的接收缓冲器处接收包;(b)产生具有包括所述接收缓冲器中的所述包的位置的与所述包相关的信息的包标签;(c)将所述包标签存储于所述操作端口的标签缓冲器中;及(d)基于以下各项来确定是否转发所述标签:所述操作端口正以其操作的经组合通道宽度与速度、目的地操作端口正以其操作的通道宽度与速度及关于在操作端口处接收到的百分比数据的指示。
已提供此简要概述以使得可快速地理解本发明的本质。参照以下各实施例的详细说明并结合附图,可获得对本发明的更完全理解。
附图说明
现在将参照图式描述实施例的前述及其它特征。在图式中,相同组件具有相同参考编号。所图解说明的实施例既定例示本发明的适应方面。图式包括以下各图:
图1A显示根据一个实施例的网络系统的框图;
图1B显示根据一个实施例的具有兆端口的交换元件的框图;
图2A显示根据一个实施例使用的网络包结构的框图;
图2B显示根据一个实施例使用的图2A的包结构中的局部路由标头的框图;
图2C显示根据一个实施例使用的标签的实例;
图3显示根据一个实施例的兆端口的另一框图;
图4是根据一个实施例的用于兆端口中的子端口(S端口)的经简化框图;
图5是图解说明根据一个实施例的用于经由作为兆端口(也可称作“M端口”)的一部分的S端口发射及接收包的方法的流程图;
图6是显示根据一个实施例的兆端口的各种元件之间的交互的经简化框图;
图7是图解说明根据一个实施例的用于共享多路径交叉开关的实时数据路径选择的方法的流程图;
图8是图解说明根据一个实施例的使用端口到端口速率匹配的系统的经简化框图;
图9是图解说明根据一个实施例的用于端口到端口速率匹配的机制的经简化框图;及
图10是根据一个实施例的用于端口到端口速率匹配的方法的流程图。
具体实施方式
为方便起见提供以下定义,因为其通常(但非排他性地)用于存储及联网环境中,从而实施本文中所描述的各种适应方面。
“DLID”:目的地局部识别符是识别局部子网包目的地的IB包中的字段。
“IB”意指InfiniBand,其为服务器的交换组构互连标准,其整体内容以引用方式并入本文中。IB技术经部署用于从两个节点到几千个节点的范围的服务器群集/商业数据中心。IB标准由InfiniBand贸易协会发布。IB交换机通常为多端口装置。物理链路(光学或铜)将交换机中的每一端口连接到另一IB交换机或终端装置(举例来说,目标信道适配器(TCA)或主机信道适配器(HCA))。
“交换机间链路”或“ISL”:用于连接两个或两个以上IB交换机的物理链路。
“多级交换机”:包括操作地耦合在一起的多个交换元件的交换机。
“包”:用于网络通信的一个或一个以上网络数据字的群组。
“端口”:用于经由网络连接发送及接收网络信息的网络元件内的结构(物理或逻辑)。
“路由表”:存储用于路由包的信息的表。
“SLID”:源局部识别符是识别局部子网包源的IB包中的字段。
“交换机”:促进依从于IB及其它交换标准/协议的网络通信的装置。
“虚拟通道”(VL):IB规范的章节3.5.7所定义的术语VL提供用于在单个物理链路内创建虚拟链路的机制。虚拟通道表示端口中的一组发射及接收缓冲器。数据VL用于发送IB包且根据IB规范由子网管理器基于包中的服务等级字段来配置。
如此揭示内容中所使用,术语“组件”、“模块”、“系统”及类似术语既定指代计算机相关实体:软件执行通用处理器、硬件、固件或其组合。举例来说,组件可为(但不限于)在处理器上运行的进程、处理器、对象、可执行档、执行线程、程序及/或计算机。
通过说明的方式,运行于服务器上的应用程序及所述服务器均可为组件。一个或一个以上组件可驻存于进程及/或执行线程内,且组件可局部化以在一个处理器或多于一个处理器上执行。此外,这些组件可从各种其上存储有各种数据结构的各种计算机可读媒体执行。所述组件可经由局部及/或远程进程来进行通信,例如根据具有一个或一个以上数据包的信号来进行通信(例如,来自一个与局部系统、分布式系统中的另一组件交互及/或经由信号跨越网络(例如,因特网)与其它系统交互的组件的数据)。处理器可执行组件可存储于(例如)计算机可读媒体上,根据所请求的标的物,所述计算机可读媒体包括但不限于ASIC(专用集成电路)、CD(压缩光盘)、DVD(数字视频光盘)、ROM(只读存储器)、软盘、硬盘、EEPROM(电可擦除可编程只读存储器)、存储器棒或任何其它存储装置。
为促进对各种实施例的理解,将描述网络系统的一般架构及操作。接着将参照所述网络系统的一般架构来描述所述各种实施例的具体架构及操作。
网络系统:图1A显示根据一个实施例使用的具有各种装置的通用网络系统104的框图。系统104包括组构117,组构117包括用于移动网络包的多个交换机106、107、111及112。组构117还可包括耦合到广域网109及局域网110的路由器108。
举例来说,交换机106可操作地耦合到RAID存储系统105及系统102,而系统101及103可操作地耦合到交换机107。交换机112可耦合到小型计算机系统接口(“SCSI”)SCSI端口113,SCSI端口113耦合到基于SCSI的装置。交换机112还可耦合到以太网端口114、光纤信道装置115及其它装置116。
系统101到103通常包括数个功能组件。这些组件可包括中央处理单元(CPU)、主存储器、输入/输出(“I/O”)装置及串流化存储装置(举例来说,磁带驱动器)。在常规系统中,所述主存储器经由系统总线或局部存储器总线耦合到所述CPU。所述主存储器用以在执行时间提供对存储于主存储器中的数据及/或程序信息的CPU存取。通常,所述主存储器由随机存取存储器(RAM)电路构成。具有CPU及主存储器的计算机系统通常称作主机系统。
具有兆端口的交换机
图1B显示具有多个兆端口(也可称作“M端口”)的交换机112的框图,例如M端口1 134、M端口2 136、M端口3 138、M端口4 140、M端口5 142、M端口6 144、M端口7 146、M端口8 148及M端口9 150,下文对其予以详细描述。交换机112还可包括控制端口152(在下文中,“C端口152”)及全局交叉开关154。全局交叉开关154允许所述M端口彼此进行通信。
C端口152也可包括用于存储一个或一个以上M端口的配置信息的一个或一个以上寄存器。经由连接153的交换处理器(未显示)(或外部处理器129)可用以设定用于控制总交换机112及/或M端口操作的C端口152设定。
另外,交换机112可耦合到外部处理器129,外部处理器129耦合到以太网端口127及串行端口128。在本发明的一个方面中,处理器129可为计算系统101到103的一部分(图1A)。管理员可使用处理器129来配置交换机112。
在一个实施例中,如图1B中所示,交换机112可包括多于一个M端口。每一M端口可包括多于一个操作端口,其称作子端口(也称作“S-端口”)。通过配置M端口以包括多于一个S端口,可在不必个别地将每一端口硬连线的情况下增加可用于交换机112中的端口的总数目。
作为实例,每一M端口可包括四个S-端口。举例来说,M端口1(134)包括S端口1、2、3及4,M端口2(136)包括S端口5、6、7及8,等等。在一个实施例中,交换机112可包括9个M端口(134、136、138、140、142、144、146、148及150),其每一者具有4个S端口,其为交换机112提供具有36个操作端口的选项。替代将所有36个端口硬连线,仅经由全局交叉开关154连接9个M端口,而交换机122可利用36个端口。
应理解,尽管显示图1B的实施例包括特定数目个S端口及M端口,但这些数目仅为例示性且因此交换机112不限于任何特定数目个S端口或M端口。
为在网络系统104(图1A)内操作,每一M端口具有用于网络寻址的唯一地址识别符且因此作为独立的网络实体操作。在M端口内的每一S端口也具有唯一识别符,所述S端口可使用其来发送及接收包。
交换机112上的每一M端口可使用链路133耦合到其它网络装置。在一个实施例中,网络包经由链路133到达M端口上的S端口且接着使用全局交叉开关154在交换机112内路由。使用局部交叉开关131在所述M端口内路由包。举例来说,可使用局部交叉开关131将在S端口1处接收的包路由到S端口4。局部交叉开关131还与全局交叉开关154交互,以便可在M端口之间发射网络信息。下文关于图3详细描述M端口。
在一个实施例中,每一M端口可包括到全局交叉开关154的六个独立64位数据路径156(4G字节/s)以在M端口当中移动网络信息。在此实施例中,全局交叉开关154可为9x9并行同步M端口交叉开关,从而提供1728G位/s的非阻挡带宽。
交叉开关154包括包数据交叉开关、包请求交叉开关、包标签交叉开关及控制总线。所述包数据交叉开关发挥作用以使得55个源(9个M端口x6个路径+C端口)中的任一者可将包传送到37个端口目的地(36个S端口+C端口152)中的任一者。在一个实施例中,可同时传送37个包。
所述包标签交叉开关发挥作用以在端口之间移动多个包标签。所述包请求交叉开关由S端口的发射端口(或段)用来从接收缓冲器请求特定包,如下文所描述。
包结构:图2A提供可用于本文中所描述的各种实施例中的包结构的实例。在一个实施例中,包200包括局部路由标头200A、基本输送标头(BTH)200B、包有效荷载200C、不变循环冗余代码(CRC)及变异CRC 200E。包结构200还描述于Infiniband架构规范第1卷第6章中,标题为“数据包格式”。
图2B显示局部路由标头(LRH)200A的框图,其中所述局部路由包括用于交换机在InfiniBand子网内进行的局部路由的字段(InfiniBand(子网路由)中的LRH类似于以太网中的光纤信道及MAC层(LAN路由)中的FC-2。在所有三种情况下,其被视为层2路由/交换信息)。
LRH 200A包括识别哪个接收缓冲器及哪些流动控制凭证应用于处理所接收包的VL字段201,链路版本(Lver)字段202规定LRH包200A的版本,服务等级(SL)字段203由交换机112用来确定包的发射VL,且链路下一标头(LNH)字段205规定什么标头跟随LRH 200A。字段209为保留字段。
LRH 200A还包括规定交换机112将包递送到的端口的目的地局部识别符(DLID)字段206及指示所述包的源的源识别符(SLID)字段207。包长度字段208规定包中所含有的字的数目。
M端口134
图3显示根据本发明的一个实施例的M端口134的框图。应理解,M端口136到150(图1B)可以与M端口134相同的方式操作及发挥作用。
在一个实施例中,M端口134包括共用模块(显示为共享逻辑)302,其包括由四个S端口306、308、310及312共享的逻辑及局部交叉开关131。每一S端口经由链路133耦合到其它网络装置。在一个实施例中,使用链路133,每一S端口306、308、310及312可以2.5吉位/秒(Gb/s)、5Gb/s、10Gb/s或任何其它速度操作。
共用模块302允许每一S端口使用局部交叉开关131及全局交叉开关154(见图1B)与其它S端口/M端口通信。下文关于图4更详细地描述共用模块302。
图4是图解说明根据本发明的实施例经由局部交叉开关131操作地耦合到S端口306的共用模块302的经简化框图。为清晰起见,在图4中描述单个S端口306的操作,然而,如此描述的方法及功能适用于M端口134中的每一其它S端口308、310及312以及交换机112中的每一其它M端口中的每一其它S端口。
共用模块302及S端口306包括缓冲器、表及模块,其允许S端口306与单个M端口中的其它S端口共享资源以有效地路由包。所述共享资源布置允许减少通常与单个芯片上的此些高端口数目相关联的相对高全局线端口连接计数。局部交叉开关131包括包数据交叉开关、包请求交叉开关、包标签交叉开关及控制总线,其每一者如前文所描述操作。
在一个实施例中,如图4中所示,S端口306包括发射端口402(或发射段,也称作“T端口402”)、接收端口404(或接收段,也称作“R端口404”)及接口(I/F)406,其提供到共用模块302的输入/输出接口。R端口404从链路133中的一者接收传入包401。所述包经处理且接着临时存储于临时存储位置处,其在本文中称作接收缓冲器418(在下文中,“RBUF 418”)。标签写入器416创建所接收的每个包的标签。所述标签包括关于所述包及接收缓冲器418中存储所述包的存储位置的基本信息。
接着经由局部交叉开关131及共享逻辑302将所述标签发射到T端口402。将T端口402处的所述标签存储于标签缓冲器408处。标签仲裁器410从存储于标签缓冲器408处的多个标签当中选择标签。一旦标签经选择,那么从RBUF 418中拉出与所述标签相关联的包且接着将其作为包403发射到包目的地。
在一个实施例中,提供用于共同端口控制的“共用”或共享逻辑的共用模块302包括发射(Tx)标签合并模块420、发射(Tx)请求合并模块422、发射数据多路复用器(Tmux)424、接收(Rx)请求合并模块426、接收(Rx)标签合并模块428及接收数据多路复用器(Rmux)430。共用模块302还包括用于路由包的路由表(R表)432的副本。下文现在详细描述与共享逻辑模块302一起工作的S端口306的组件。
方法流程
图5是图解说明根据一个实施例的用于经由M端口的S端口发射及接收包的方法500的流程图。
现在参照图5,且进一步参照图4,最初由R端口404接收包且将其临时存储于S端口306的RBUF 418处(S502)。当包到达时,由标签写入器模块416产生包标签(S504)。如图2C中所示,包标签(例如,例示性包标签218)可包括识别接收所述包的S端口的接收端口识别符230(接收Port_ID 230)。包标签218还识别出站端口VL识别符232,其可使用R端口404处的SL到VL表414来指派。标签218进一步包括总包大小(或块计数)234及RBUF 418中存储所述包的位置的指针236。
接下来,标签写入器模块416将所述标签发送到共用模块302(S506)。在Rx标签合并模块428处将所述标签接收于共用模块302中。
接着将所述标签递送到Tx标签合并模块420,其将所述标签转发到S端口306的T端口402(S508)。所述标签存储于标签缓冲器408中且等待进一步处理。
为处理所述标签,T端口402基于从Tx标签合并模块420接收于标签缓冲器408中的标签来产生请求(S510)。由于多个请求可为未决,因此标签仲裁器模块410从多个请求中选择一请求(S512)。可使用循环方案来从标签缓冲器408中选择标签。一旦经选择,标签仲裁器模块410将所述选定请求发送到Tx请求合并模块422(S514)。
接着将所述请求转发到Rx请求合并模块426。从其在RBUF 418中的位置提取所述请求所识别的包(S516)。接着将所述包发送到R多路复用器430及接着发送到T多路复用器424(S518)。
T多路复用器424将所述包转发到S端口306的T端口402的发射缓冲器412。接着使用路由表R表432将所述包转发到其目的地(S520)。
应理解,每一S端口可编程及配置为1x、4x或8x端口宽度及相关联单倍数据速率(SDR)、双倍数据速率(DDR)或四倍数据速率(QDR)速度。
再次参照图1B,交换机112使用全局交叉开关154来确保每一M端口上的入口端口“群组”共享到所述交换机上的所有出口端口群组的一组数据路径。在一个实施例中,从R端口404的入口端口,举例来说从RBUFF(或RBUF)(在图式中,我们已使用RBUFF而非RBUF。让我们使其一致)418请求所述包的M端口中的任一者的出口端口在来自九个M端口中的一者的六个共享路径156中的一者(54个路径中的1个路径)上接收所述包。由于期望确保恰当地选择所请求包以用于发射,在一个实施例中,每一M端口包括用以实现下文所描述的恰当路径的选择的方法。
如图6中所示,响应于包请求604,接收数据多路复用器430接收包600。将识别RBUF 418(图4)中的所述包的位置的包请求604的副本发送到发射数据多路复用器424。当接收数据多路复用器430接收包600时,将交换路由标头(SRH)(见图2A,200F)添加到包600。SRH 200F识别接收包600的S端口且提供RBUF 418中存储包600的所述位置。从包请求数据得出SRH 200F数据,其实例显示于以下表1中。
在添加SRH 200F之后,将具有SRH 200F的包600置于通道602中的一者上。发射数据多路复用器424将SRH 200F与包请求604中的字段进行比较。基于所述比较,发射数据多路复用器424选择所述局部交叉开关的六个路径中的一者且将所述包移动到发射缓冲器(TBUFF)412,以使得其可被发送到其目的地。
表1
  名称   位   描述
  --   63:18   保留
  子端口   17:16   入口或接收器子端口ID
  Rsv   15:11   保留
  Pkt_Select   10:0   选择所请求包的指针
图7是图解说明根据一个实施例的用于共享多路径交叉开关的实时数据路径选择的方法700的流程图。现在参照图6及7,将标签仲裁器模块410所选择的包请求发送到Tx合并模块422且将其转发到Rx请求合并模块426,从而允许从接收缓冲器提取所述包,如前文所描述。在一个实施例中,在所述包请求正被发送到Tx请求合并模块422时,将包请求604的副本从标签仲裁器410发送到发射数据多路复用器424(S702)。如前文所描述,所述包请求可包括关于入口M端口、入口S端口及存储所述包的入口接收缓冲器位置的信息。
将被提取的所述包发送到接收数据多路复用器430。在将所述包转发到发射数据多路复用器424之前,将所述SRH添加到所述包(S704)。
一旦在发射数据多路复用器424处接收包括所述SRH的所述包,那么所述发射数据多路复用器将所述SRH与所述包请求的所述副本中所提供的信息进行比较(S706)。基于所述比较,发射数据多路复用器424可确定入口M端口、作出所述请求的入口S端口及存储所述包的位置。基于此,选择正确的发射路径以将所述包移动到发射缓冲器412。
图8是图解说明根据一个实施例的交换机112(图1B)的一部分的经简化框图,其包括用于接收包801的入口端口802及发射包803的出口端口804的端口到端口速率匹配的机制。为在交换机112中提供低包延迟及高端口带宽,交换机112一接收到包,所述出口端口便发射所述包。如前文所描述,交换机112的交换机端口(举例来说,M端口806及808)可配置有以2.5、5、10Gb/s或其它传送速率操作的1x、4x或8x通道宽度。由于可能存在不同入口及出口数据速率,交换机112的出口端口经配置以便足够的数据一到达入口端口便开始发送入口包,从而确保所述出口端口在包的结尾被发射之前不会缺少数据。
在一个实施例中,交换机112包括用于对何时将包标签发送到出口端口以便在接收到所述包标签时安全地发射所述标签的进行计时的机制。在一个实施例中,所述机制使入口端口802将所述包标签数据发送到目的地出口端口804,以使得出口端口804不会缺少数据,而不管入口或出口通道宽度或速度如何。
图9是图解说明入口端口标签合并模块900(类似于Tx标签合并模块428,图4)的框图,其包括速率检查模块902,其从目的地端口速率模块904、传入端口速率模块906及接收到的百分比数据模块908接收信息。速率检查模块902可基于三个输入来确定是否发送标签。
现在参照图8及9,在一个例示性实施例中,入口端口802产生标签且将标签发送到接收标签合并模块900。连同所述标签一起,经由模块904、906及908将三组信息提供到速率检查模块902。模块906提供入口端口802正以其操作的经组合通道宽度与速度。类似地,模块904提供关于所有目的地端口操作的通道宽度与速度的信息。模块908提供关于接收到的百分比数据的指示符(标签填充指示符)。因此,举例来说,模块908可指示标签填充何时小于接收到50%、处于接收到50%、接收到75%或接收到100%。
以下是根据实施例的端口到端口匹配操作的操作实例。入口端口802接收包且需要将所述包路由到出口端口804。在此实例中,入口端口802配置为四个通道(4x)及5Gb/s(DDR)。出口端口804配置为四个通道(4x)及10Gb/s(QDR)。因此,出口端口804传送数据的速率为入口端口802的两倍快。一旦已知所述速率比,那么可确定出口端口804可不开始发送在入口端口802上接收的包,直到已接收到包的50%或更多。因此,速率检查模块902阻挡标签命令,直到模块908指示已接收到包的50%或更多。因此,避免通常在出口端口804处导致错误的欠载运行、通行空闲时间及间隙。
图10是显示根据实施例的端口到端口匹配操作的方法1000的流程图。在框S1002中,接收包括入口端口802正以其操作的经组合通道宽度与速度、所有目的地端口正以其操作的经组合通道宽度与速度及关于接收到的百分比数据的指示的信息。在框S1004中,基于此所接收信息作出将标签发送到其目的地的确定。所述确定可基于类似于表2中所提供的样本配置所例示的那些优先级的优先级。举例来说,如果出口端口的速率与入口端口的速率之间的比为(举例来说)2比1,那么停发所述标签,直到所述数据的至少50%已在所述入口端口处着陆,以避免欠载运行。
表2
在一个实施例中,提供具有多个M端口的交换元件。每一M端口包括多个操作S端口。所述S端口可使用全局交叉开关及局部交叉开关彼此进行通信。由于所述M端口结构,不将个别端口硬连线。此节约交换机芯片及底座上的面积且也减小设计及交换机制造期间的复杂性。
在一个实施例中,所述交换元件经配置以作为IB交换机、光纤信道交换机、以太网光纤信道(FCOE)交换机或依从于其它标准或协议的交换元件操作。
在另一实施例中,提供实时数据路径选择方法及结构。从入口端口请求包的出口端口在1到N个(举例来说,6个)共享路径上从使用1到P个路径的1到M个M端口(举例来说,使用1到54个路径的9个M端口)接收包。如上文所描述使用SRH,实现恰当通道及路径选择。
尽管已参照具体实施例描述了本发明,但这些实施例仅为说明性而非限制性。依据此揭示内容及以上权利要求书将明了本发明的许多其它应用及实施例。本说明书通篇所提及的“一个实施例”或“一实施例”意指结合所述实施例所描述的特定特征、结构或特性包括于本发明的至少一个实施例中。因此,在此强调且应了解,在本说明书的各个部分中两次或两次以上提及“一实施例”或“一个实施例”或“一替代实施例”未必全部指代同一实施例。此外,所属领域的技术人员将认识到,可合适地在本发明的一个或一个以上实施例中组合所提及的特定特征、结构或特性。

Claims (20)

1.一种交换元件,其包含:
多个兆端口,每一兆端口由唯一兆端口地址识别符唯一地识别以用于网络寻址;
其中每一兆端口包括:
多个操作端口,每一操作端口由唯一操作端口地址识别符识别,
局部交叉开关,其用于所述多个操作端口之间的通信,及
共享逻辑模块,其经配置以提供对兆端口内的所述多个操作端口的共同控制以允许操作端口共享单个兆端口的资源以在其间路由网络包;及
全局交叉开关,其经配置以允许所述兆端口之间的通信;
其中所述操作端口包括:
接收段,其用于接收传入网络包及将所述网络包临时存储于包存储位置处;
标签写入器模块,其经配置以创建在所述接收段处接收的所述网络包的标签,所述标签包括关于所述网络包及包存储位置的信息;其中由所述标签写入器创建的所述标签被存储于用以发射所述所接收网络包的发射段的标签存储位置处;及
标签仲裁器,其用于从存储于所述标签存储位置处的多个请求当中选择一请求,其中由所述请求识别的所述网络包是从所述包存储位置拉出的且被发射到网络包目的地。
2.根据权利要求1所述的交换元件,其进一步包含控制端口,所述控制端口经配置以存储用于控制所述交换元件的所述兆端口的操作的控制设定。
3.根据权利要求1所述的交换元件,其中所述标签包括识别接收所述网络包的所述操作端口的接收段识别符、经指派以发射所述网络包的出站端口虚拟通道识别符、总网络包大小及存储所述网络包的位置的指示符。
4.根据权利要求1所述的交换元件,其中所述共享逻辑模块包含用于从所述标签写入器接收标签且将所述标签递送到发射标签合并模块的接收标签合并模块,所述发射标签合并模块经配置以用于将所述标签转发到所述发射段中的所述标签存储位置。
5.根据权利要求4所述的交换元件,其中所述标签仲裁器模块使用循环方案从所述标签存储位置中的所述多个请求中选择所述请求且将选定的请求发送到所述发射标签合并模块,且所述发射标签合并模块将所述选定的请求转发到所述接收标签合并模块。
6.根据权利要求5所述的交换元件,其中由所述请求识别的所述包是从其在所述包存储位置中的位置提取的且被发送到所述发射段上的发射缓冲器以待转发到所述网络包目的地。
7.根据权利要求1所述的交换元件,其中所述共享逻辑模块包含用于将所述网络包路由到网络包目的地的路由表。
8.根据权利要求1所述的交换元件,其中在接收到包括所述交换路由标头的所述网络包后,所述发射数据多路复用器经配置以即刻将所述交换路由标头与所述包请求的所述副本中所提供的信息进行比较以确定作出所述请求的所述兆端口及操作端口且将所述网络包置于正确的发射路径上。
9.根据权利要求1所述的交换元件,其中所述交换元件为InfiniBand交换元件。
10.根据权利要求1所述的交换元件,其中所述交换元件为光纤信道交换元件。
11.根据权利要求1所述的交换元件,其中所述交换元件为以太网光纤信道交换元件。
12.一种用于在具有多个兆端口的交换元件中接收及发射网络包的方法,每一兆端口具有多个操作端口及一共享逻辑模块,所述方法包含:
(a)在所述多个兆端口中的一者的操作端口的接收段处接收包;
(b)产生从所述接收段提取所述所接收包的请求;
(c)将所述请求的副本发送到第一操作端口的发射段;其中所述请求包括关于所述包存储在所述接收段处的位置及接收到所述包的所述操作端口的身份的信息;
(d)在将所述包发送到所述操作端口的所述发射段之前将交换路由标头交换路由标头添加到所述包;其中所述交换路由标头识别接收到所述包的所述操作端口及存储所述包的所述位置;
(e)将所述包中的所述交换路由标头与所述请求中所提供的信息进行比较;及
(f)在将所述包发射到恰当目的地之前将所述包置于正确的发射路径上以临时存储于所述发射段处。
13.根据权利要求12所述的方法,其中所述交换元件为InfiniBand交换元件。
14.根据权利要求12所述的方法,其中所述交换元件为光纤信道交换元件。
15.根据权利要求12所述的方法,其中所述交换元件为以太网光纤信道交换元件。
16.一种用于在具有多个兆端口的交换元件中接收及发射网络包的方法,每一兆端口具有多个操作端口及一共享逻辑模块,所述方法包含:
(a)在所述多个兆端口中的一者的操作端口的接收缓冲器处接收包;
(b)产生具有包括所述接收缓冲器中的所述包的位置的与所述包相关的信息的包标签;
(c)将所述包标签存储于所述操作端口的标签缓冲器中;及
(d)基于以下各项确定是否转发所述标签:第一通道宽度与速度,其中所述操作端口正以所述第一通道宽度与速度操作;第二通道宽度与速度,其中目的地操作端口正以所述第二通道宽度与速度操作;以及,关于在操作端口处接收到的百分比数据的指示。
17.根据权利要求16所述的方法,其进一步包含:
基于所述标签缓冲器中所接收的所述包标签产生请求;
从所述标签缓冲器选择由所述请求识别的所述包标签;
从所述包在所述接收缓冲器中的位置提取与所述包标签相关联的所述包;及
将所述包转发到所述目的地操作端口。
18.根据权利要求16所述的方法,其中所述交换元件为InfiniBand交换元件。
19.根据权利要求16所述的方法,其中所述交换元件为光纤信道交换元件。
20.根据权利要求16所述的方法,其中所述交换元件为以太网光纤信道交换元件。
CN200980145538.9A 2008-11-13 2009-11-03 用于网络交换元件的方法及系统 Active CN102232281B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11432908P 2008-11-13 2008-11-13
US61/114,329 2008-11-13
US12/556,064 US8068482B2 (en) 2008-11-13 2009-09-09 Method and system for network switch element
US12/556,064 2009-09-09
PCT/US2009/063162 WO2010056572A1 (en) 2008-11-13 2009-11-03 Method and system for network switch element

Publications (2)

Publication Number Publication Date
CN102232281A CN102232281A (zh) 2011-11-02
CN102232281B true CN102232281B (zh) 2015-05-13

Family

ID=42165173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980145538.9A Active CN102232281B (zh) 2008-11-13 2009-11-03 用于网络交换元件的方法及系统

Country Status (4)

Country Link
US (2) US8068482B2 (zh)
EP (1) EP2356783B1 (zh)
CN (1) CN102232281B (zh)
WO (1) WO2010056572A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
WO2005089236A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
ES2614751T3 (es) 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US9876735B2 (en) * 2009-10-30 2018-01-23 Iii Holdings 2, Llc Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect
US9077654B2 (en) 2009-10-30 2015-07-07 Iii Holdings 2, Llc System and method for data center security enhancements leveraging managed server SOCs
US9054990B2 (en) 2009-10-30 2015-06-09 Iii Holdings 2, Llc System and method for data center security enhancements leveraging server SOCs or server fabrics
US20130107444A1 (en) 2011-10-28 2013-05-02 Calxeda, Inc. System and method for flexible storage and networking provisioning in large scalable processor installations
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US9465771B2 (en) 2009-09-24 2016-10-11 Iii Holdings 2, Llc Server on a chip and node cards comprising one or more of same
US8599863B2 (en) 2009-10-30 2013-12-03 Calxeda, Inc. System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9648102B1 (en) 2012-12-27 2017-05-09 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9311269B2 (en) 2009-10-30 2016-04-12 Iii Holdings 2, Llc Network proxy for high-performance, low-power data center interconnect fabric
US9680770B2 (en) 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9092594B2 (en) 2011-10-31 2015-07-28 Iii Holdings 2, Llc Node card management in a modular and large scalable server system
US8792489B2 (en) * 2012-03-29 2014-07-29 International Business Machines Corporation Communication transport protocol for distributed information technology architectures
US8995425B1 (en) 2012-11-15 2015-03-31 Qlogic, Corporation Network device scheduler and methods thereof
US9426063B1 (en) * 2012-11-15 2016-08-23 Qlogic, Corporation Systems and methods for routing by network devices
US9225672B1 (en) * 2012-11-15 2015-12-29 Qlogic, Corporation Systems and methods for packet grouping in networks
US9106985B2 (en) 2013-01-20 2015-08-11 International Business Machines Corporation Networking device port multiplexing
CN103457844B (zh) * 2013-08-12 2016-12-28 中国石油天然气股份有限公司 多Infiniband网关的vNIC绑定方法
US9294341B2 (en) 2013-12-13 2016-03-22 International Business Machines Corporation Multipath fiber channel over ethernet networks
US10116558B2 (en) 2014-01-24 2018-10-30 Fiber Mountain, Inc. Packet switch using physical layer fiber pathways
EP3123662B1 (en) 2014-03-28 2020-05-06 Fiber Mountain, Inc. Built in alternate links within a switch
SG11201700004PA (en) * 2014-07-03 2017-01-27 Fiber Mountain Inc Data center path switch with improved path interconnection architecture
US9989724B2 (en) 2014-09-29 2018-06-05 Fiber Mountain, Inc. Data center network
US10382845B2 (en) 2014-09-29 2019-08-13 Fiber Mountain, Inc. System for increasing fiber port density in data center applications
AU2017325838B2 (en) 2016-09-14 2020-11-05 Fiber Mountain, Inc. Intelligent fiber port management
CN110224934B (zh) * 2018-03-01 2021-11-09 中兴通讯股份有限公司 一种利用统一sr标签栈进行报文处理的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708022A (zh) * 2004-06-11 2005-12-14 广达电脑股份有限公司 可自动分配通信端口地址的系统
US7324696B2 (en) * 2003-06-27 2008-01-29 Xerox Corporation Method for tag plane growth and contraction using run length encoded data
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894481A (en) * 1996-09-11 1999-04-13 Mcdata Corporation Fiber channel switch employing distributed queuing
US6389017B1 (en) * 1998-12-14 2002-05-14 Compaq Computer Corporation Resource scheduling algorithm in packet switched networks with multiple alternate links
US6687246B1 (en) * 1999-08-31 2004-02-03 Intel Corporation Scalable switching fabric
US6944786B2 (en) * 2001-07-27 2005-09-13 International Business Machines Corporation Network node failover using multicast address or port
US7043596B2 (en) * 2001-08-17 2006-05-09 Sun Microsystems, Inc. Method and apparatus for simulation processor
US7274696B1 (en) * 2002-10-21 2007-09-25 Force10 Networks, Inc. Scalable redundant switch fabric architecture
US20050111433A1 (en) * 2003-11-25 2005-05-26 Stewart Mark A.W. Method of operating a Clos network
US8238347B2 (en) * 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
US7694064B2 (en) * 2004-12-29 2010-04-06 Hewlett-Packard Development Company, L.P. Multiple cell computer systems and methods
US7660302B2 (en) * 2006-06-15 2010-02-09 Qlogic, Corporation Method and system for inter-fabric routing
US8265071B2 (en) * 2008-09-11 2012-09-11 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7324696B2 (en) * 2003-06-27 2008-01-29 Xerox Corporation Method for tag plane growth and contraction using run length encoded data
US7406092B2 (en) * 2003-07-21 2008-07-29 Qlogic, Corporation Programmable pseudo virtual lanes for fibre channel systems
CN1708022A (zh) * 2004-06-11 2005-12-14 广达电脑股份有限公司 可自动分配通信端口地址的系统

Also Published As

Publication number Publication date
EP2356783A4 (en) 2013-04-03
EP2356783B1 (en) 2014-05-21
US8873546B2 (en) 2014-10-28
CN102232281A (zh) 2011-11-02
EP2356783A1 (en) 2011-08-17
US20120069839A1 (en) 2012-03-22
US8068482B2 (en) 2011-11-29
WO2010056572A1 (en) 2010-05-20
US20100118880A1 (en) 2010-05-13

Similar Documents

Publication Publication Date Title
CN102232281B (zh) 用于网络交换元件的方法及系统
US8396067B2 (en) Address learning method and address learning switch
US5732080A (en) Method and apparatus for controlling data flow within a switching device
US7239641B1 (en) Quality of service using virtual channel translation
US8369347B2 (en) Fiber channel over Ethernet and fiber channel switching based on Ethernet switch fabrics
US6798775B1 (en) Virtual LANs over a DLSw network
US6515993B1 (en) Method and apparatus for manipulating VLAN tags
US6438128B1 (en) Alternate use of data packet fields to convey information
US7519058B2 (en) Address translation in fibre channel switches
US11956154B2 (en) System for avoiding layer 2 network congestion
US20090296716A1 (en) Method and system for programmable data dependant network routing
CN101867520B (zh) 分布式系统中板卡间数据交换的方法
JPH09505697A (ja) セル切換通信制御装置における柔軟な宛先アドレスマッピング機構
CN100461769C (zh) 网络交换器用以处理虚拟局域网的包的方法
CN112087387B (zh) 一种网络处理器和数据包转发方法
US7920568B2 (en) Frame transmission apparatus
US9979561B2 (en) Systems and methods for stacking fibre channel switches with fibre channel over ethernet stacking links
US20060056424A1 (en) Packet transmission using output buffer
CN114900469B (zh) 一种multihost网卡的数据流量控制的方法、系统、设备及介质
KR100745674B1 (ko) 다중 스위칭 포트 지원 구조의 패킷 처리장치, 방법 및 그장치를 적용한 패킷 처리시스템
US20090296715A1 (en) Method and system for programmable data dependant network routing
CN102447637B (zh) 报文处理方法、系统和网络设备
CN110932968B (zh) 一种流量转发方法及装置
US7613816B1 (en) Method and system for routing network information
CN111865801A (zh) 一种基于Virtio端口传输数据的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Q logic Co.,Ltd.

Address before: California, USA

Patentee before: QLOGIC, Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201201

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: California, USA

Patentee before: Q logic Co.,Ltd.

Effective date of registration: 20201201

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.