專利名稱:用于網(wǎng)絡(luò)交換元件的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)。
背景技術(shù):
聯(lián)網(wǎng)系統(tǒng)通常用以在計(jì)算系統(tǒng)(舉例來說,服務(wù)器)之間或在計(jì)算系統(tǒng)與網(wǎng)絡(luò)裝置(舉例來說,存儲系統(tǒng))之間移動網(wǎng)絡(luò)信息(也可互換地稱作幀、包或命令)。使用各種硬件及軟件組件來實(shí)施網(wǎng)絡(luò)通信??墒褂貌煌W(wǎng)絡(luò)及存儲協(xié)議來處置網(wǎng)絡(luò)信息及存儲信息。正在不斷努力增強(qiáng)聯(lián)網(wǎng)及存儲協(xié)議的使用。網(wǎng)絡(luò)交換機(jī)通常為多端口裝置,其中每一端口管理自身與所附接系統(tǒng)之間的點(diǎn)對點(diǎn)連接。每一端口可附接到服務(wù)器、外圍器件、輸入/輸出子系統(tǒng)、橋接器、集線器、路由器或另一交換機(jī)。本文中所使用的術(shù)語網(wǎng)絡(luò)交換機(jī)包括使用單個交換機(jī)底座內(nèi)的多個交換元件來路由數(shù)據(jù)包的多級交換機(jī)。對于高性能高端口計(jì)數(shù)單芯片交換機(jī),從每一進(jìn)入端口(接收信息的端口)到每一出口端口(發(fā)射信息的端口)的專用數(shù)據(jù)/控制路徑可產(chǎn)生相對高的全局寫入端口連接計(jì)數(shù)。高全局線端口連接計(jì)數(shù)引入內(nèi)部路由、計(jì)時及芯片面積問題。正在不斷努力減少連接的數(shù)目。
發(fā)明內(nèi)容
在本發(fā)明的一個方面中,可通過將端口分組在一起以形成兆端口來減少涉及全局線端口連接計(jì)數(shù)的問題。所述兆端口可包括兆端口內(nèi)的共享局部路由資源及可駐存于共用芯片上的到所有其它兆端口的一組全局路徑。在一個實(shí)施例中,提供網(wǎng)絡(luò)交換元件。所述交換元件包括多個兆端口,每一兆端口由唯一兆端口地址識別符唯一地識別以用于網(wǎng)絡(luò)尋址。每一兆端口包括多個操作端口,每一操作端口由唯一操作端口地址識別符識別。所述交換元件還包括局部交叉開關(guān),其用于所述多個操作端口之間的通信;及共享邏輯模塊,其經(jīng)配置以提供對兆端口內(nèi)的所述多個操作端口的共同控制以允許操作端口共享單個兆端口的資源以在其間路由網(wǎng)絡(luò)包。所述交換元件還包括經(jīng)配置以允許所述兆端口之間的通信的全局交叉開關(guān)。在另一實(shí)施例中,提供一種用于在交換元件中發(fā)射及接收網(wǎng)絡(luò)包的方法。所述方法包括提供由唯一地址識別符識別的多個兆端口以用于網(wǎng)絡(luò)尋址,每一兆端口包括多個操作端口,每一操作端口由唯一操作端口地址識別符識別;及使通信資源在每一兆端口內(nèi)的所述操作端口之間共享以允許所述操作端口在其間及在所述多個兆端口中的每一者之間路由包。在另一實(shí)施例中,提供一種用于在具有多個兆端口的交換元件中接收及發(fā)射網(wǎng)絡(luò)包的方法。每一兆端口包括多個操作端口及一共享邏輯模塊。所述方法包括(a)在所述多個兆端口中的一者的操作端口的接收段處接收包;(b)產(chǎn)生從所述接收段提取所述所接收包的請求;(C)將所述請求的副本發(fā)送到所述第一操作端口的發(fā)射段;其中所述請求包括關(guān)于所述包存儲在所述接收段處的位置及接收到所述包的所述操作端口的身份的信息; (d)在將所述包發(fā)送到所述操作端口的所述發(fā)射段之前將交換路由標(biāo)頭(SRH)添加到所述包;且所述SRH識別接收所述包的所述操作端口及存儲所述包的所述位置;(e)將所述包中的所述SRH與所述請求中所提供的信息進(jìn)行比較;及(f)在將所述包發(fā)射到恰當(dāng)目的地之前將所述包置于正確的發(fā)射路徑上以臨時存儲于所述發(fā)射段處。在又一實(shí)施例中,提供一種用于在具有多個兆端口的交換元件中接收及發(fā)射網(wǎng)絡(luò)包的方法。每一兆端口包括多個操作端口及一共享邏輯模塊。所述方法包括(a)在所述多個兆端口中的一者的操作端口的接收緩沖器處接收包;(b)產(chǎn)生具有包括所述接收緩沖器中的所述包的位置的與所述包相關(guān)的信息的包標(biāo)簽;(c)將所述包標(biāo)簽存儲于所述操作端口的標(biāo)簽緩沖器中;及(d)基于以下各項(xiàng)來確定是否轉(zhuǎn)發(fā)所述標(biāo)簽所述操作端口正以其操作的經(jīng)組合通道寬度與速度、目的地操作端口正以其操作的通道寬度與速度及關(guān)于在操作端口處接收到的百分比數(shù)據(jù)的指示。已提供此簡要概述以使得可快速地理解本發(fā)明的本質(zhì)。參照以下各實(shí)施例的詳細(xì)說明并結(jié)合附圖,可獲得對本發(fā)明的更完全理解。
現(xiàn)在將參照圖式描述實(shí)施例的前述及其它特征。在圖式中,相同組件具有相同參考編號。所圖解說明的實(shí)施例既定例示本發(fā)明的適應(yīng)方面。圖式包括以下各圖圖IA顯示根據(jù)一個實(shí)施例的網(wǎng)絡(luò)系統(tǒng)的框圖;圖IB顯示根據(jù)一個實(shí)施例的具有兆端口的交換元件的框圖;圖2A顯示根據(jù)一個實(shí)施例使用的網(wǎng)絡(luò)包結(jié)構(gòu)的框圖;圖2B顯示根據(jù)一個實(shí)施例使用的圖2A的包結(jié)構(gòu)中的局部路由標(biāo)頭的框圖;圖2C顯示根據(jù)一個實(shí)施例使用的標(biāo)簽的實(shí)例;圖3顯示根據(jù)一個實(shí)施例的兆端口的另一框圖;圖4是根據(jù)一個實(shí)施例的用于兆端口中的子端口(S端口)的經(jīng)簡化框圖;圖5是圖解說明根據(jù)一個實(shí)施例的用于經(jīng)由作為兆端口(也可稱作“M端口”)的一部分的S端口發(fā)射及接收包的方法的流程圖;圖6是顯示根據(jù)一個實(shí)施例的兆端口的各種元件之間的交互的經(jīng)簡化框圖;圖7是圖解說明根據(jù)一個實(shí)施例的用于共享多路徑交叉開關(guān)的實(shí)時數(shù)據(jù)路徑選擇的方法的流程圖;圖8是圖解說明根據(jù)一個實(shí)施例的使用端口到端口速率匹配的系統(tǒng)的經(jīng)簡化框圖;圖9是圖解說明根據(jù)一個實(shí)施例的用于端口到端口速率匹配的機(jī)制的經(jīng)簡化框圖;及圖10是根據(jù)一個實(shí)施例的用于端口到端口速率匹配的方法的流程圖。
具體實(shí)施例方式為方便起見提供以下定義,因?yàn)槠渫ǔ?但非排他性地)用于存儲及聯(lián)網(wǎng)環(huán)境中, 從而實(shí)施本文中所描述的各種適應(yīng)方面。“DLID” 目的地局部識別符是識別局部子網(wǎng)包目的地的IB包中的字段?!癐B”意指hfiniBand,其為服務(wù)器的交換組構(gòu)互連標(biāo)準(zhǔn),其整體內(nèi)容以引用方式并入本文中。IB技術(shù)經(jīng)部署用于從兩個節(jié)點(diǎn)到幾千個節(jié)點(diǎn)的范圍的服務(wù)器群集/商業(yè)數(shù)據(jù)中心。IB標(biāo)準(zhǔn)由hfiniBand貿(mào)易協(xié)會發(fā)布。IB交換機(jī)通常為多端口裝置。物理鏈路(光學(xué)或銅)將交換機(jī)中的每一端口連接到另一 IB交換機(jī)或終端裝置(舉例來說,目標(biāo)信道適配器(TCA)或主機(jī)信道適配器(HCA))?!敖粨Q機(jī)間鏈路”或“ISL” 用于連接兩個或兩個以上IB交換機(jī)的物理鏈路?!岸嗉壗粨Q機(jī)”包括操作地耦合在一起的多個交換元件的交換機(jī)?!鞍庇糜诰W(wǎng)絡(luò)通信的一個或一個以上網(wǎng)絡(luò)數(shù)據(jù)字的群組?!岸丝凇?用于經(jīng)由網(wǎng)絡(luò)連接發(fā)送及接收網(wǎng)絡(luò)信息的網(wǎng)絡(luò)元件內(nèi)的結(jié)構(gòu)(物理或邏輯)?!奥酚杀怼贝鎯τ糜诼酚砂男畔⒌谋??!癝LID” 源局部識別符是識別局部子網(wǎng)包源的IB包中的字段?!敖粨Q機(jī)”促進(jìn)依從于IB及其它交換標(biāo)準(zhǔn)/協(xié)議的網(wǎng)絡(luò)通信的裝置?!疤摂M通道”(VL) =IB規(guī)范的章節(jié)3. 5. 7所定義的術(shù)語VL提供用于在單個物理鏈路內(nèi)創(chuàng)建虛擬鏈路的機(jī)制。虛擬通道表示端口中的一組發(fā)射及接收緩沖器。數(shù)據(jù)VL用于發(fā)送IB包且根據(jù)IB規(guī)范由子網(wǎng)管理器基于包中的服務(wù)等級字段來配置。如此揭示內(nèi)容中所使用,術(shù)語“組件”、“模塊”、“系統(tǒng)”及類似術(shù)語既定指代計(jì)算機(jī)相關(guān)實(shí)體軟件執(zhí)行通用處理器、硬件、固件或其組合。舉例來說,組件可為(但不限于)在處理器上運(yùn)行的進(jìn)程、處理器、對象、可執(zhí)行檔、執(zhí)行線程、程序及/或計(jì)算機(jī)。通過說明的方式,運(yùn)行于服務(wù)器上的應(yīng)用程序及所述服務(wù)器均可為組件。一個或一個以上組件可駐存于進(jìn)程及/或執(zhí)行線程內(nèi),且組件可局部化以在一個處理器或多于一個處理器上執(zhí)行。此外,這些組件可從各種其上存儲有各種數(shù)據(jù)結(jié)構(gòu)的各種計(jì)算機(jī)可讀媒體執(zhí)行。所述組件可經(jīng)由局部及/或遠(yuǎn)程進(jìn)程來進(jìn)行通信,例如根據(jù)具有一個或一個以上數(shù)據(jù)包的信號來進(jìn)行通信(例如,來自一個與局部系統(tǒng)、分布式系統(tǒng)中的另一組件交互及/ 或經(jīng)由信號跨越網(wǎng)絡(luò)(例如,因特網(wǎng))與其它系統(tǒng)交互的組件的數(shù)據(jù))。處理器可執(zhí)行組件可存儲于(例如)計(jì)算機(jī)可讀媒體上,根據(jù)所請求的標(biāo)的物,所述計(jì)算機(jī)可讀媒體包括但不限于ASIC (專用集成電路)、⑶(壓縮光盤)、DVD (數(shù)字視頻光盤)、R0M(只讀存儲器)、軟盤、硬盤、EEPR0M(電可擦除可編程只讀存儲器)、存儲器棒或任何其它存儲裝置。為促進(jìn)對各種實(shí)施例的理解,將描述網(wǎng)絡(luò)系統(tǒng)的一般架構(gòu)及操作。接著將參照所述網(wǎng)絡(luò)系統(tǒng)的一般架構(gòu)來描述所述各種實(shí)施例的具體架構(gòu)及操作。網(wǎng)絡(luò)系統(tǒng)圖IA顯示根據(jù)一個實(shí)施例使用的具有各種裝置的通用網(wǎng)絡(luò)系統(tǒng)104的框圖。系統(tǒng)104包括組構(gòu)117,組構(gòu)117包括用于移動網(wǎng)絡(luò)包的多個交換機(jī)106、107、111及112。組構(gòu)117還可包括耦合到廣域網(wǎng)109及局域網(wǎng)110的路由器108。舉例來說,交換機(jī)106可操作地耦合到RAID存儲系統(tǒng)105及系統(tǒng)102,而系統(tǒng)101 及103可操作地耦合到交換機(jī)107。交換機(jī)112可耦合到小型計(jì)算機(jī)系統(tǒng)接口(“SCSI”) SCSI端口 113,SCSI端口 113耦合到基于SCSI的裝置。交換機(jī)112還可耦合到以太網(wǎng)端口 114、光纖信道裝置115及其它裝置116。系統(tǒng)101到103通常包括數(shù)個功能組件。這些組件可包括中央處理單元(CPU)、主存儲器、輸入/輸出(“I/O”)裝置及串流化存儲裝置(舉例來說,磁帶驅(qū)動器)。在常規(guī)系統(tǒng)中,所述主存儲器經(jīng)由系統(tǒng)總線或局部存儲器總線耦合到所述CPU。所述主存儲器用以在執(zhí)行時間提供對存儲于主存儲器中的數(shù)據(jù)及/或程序信息的CPU存取。通常,所述主存儲器由隨機(jī)存取存儲器(RAM)電路構(gòu)成。具有CPU及主存儲器的計(jì)算機(jī)系統(tǒng)通常稱作主機(jī)系統(tǒng)。具有兆端口的交換機(jī)圖IB顯示具有多個兆端口(也可稱作“M端口”)的交換機(jī)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,下文對其予以詳細(xì)描述。交換機(jī)112還可包括控制端口 152(在下文中,“C端口 152”)及全局交叉開關(guān)154。全局交叉開關(guān)巧4允許所述M端口彼此進(jìn)行通信。C端口 152也可包括用于存儲一個或一個以上M端口的配置信息的一個或一個以上寄存器。經(jīng)由連接153的交換處理器(未顯示)(或外部處理器129)可用以設(shè)定用于控制總交換機(jī)112及/或M端口操作的C端口 152設(shè)定。另外,交換機(jī)112可耦合到外部處理器129,外部處理器1 耦合到以太網(wǎng)端口 127及串行端口 128。在本發(fā)明的一個方面中,處理器1 可為計(jì)算系統(tǒng)101到103的一部分(圖1A)。管理員可使用處理器1 來配置交換機(jī)112。在一個實(shí)施例中,如圖IB中所示,交換機(jī)112可包括多于一個M端口。每一 M端口可包括多于一個操作端口,其稱作子端口(也稱作“S-端口”)。通過配置M端口以包括多于一個S端口,可在不必個別地將每一端口硬連線的情況下增加可用于交換機(jī)112中的端口的總數(shù)目。作為實(shí)例,每一 M端口可包括四個S-端口。舉例來說,M端口 1 (134)包括S端口 1、2、3及4,M端口 2(136)包括S端口 5、6、7及8,等等。在一個實(shí)施例中,交換機(jī)112可包括 9 個 M 端口(134、136、138、140、142、144、146、148 及 150),其每一者具有 4 個 S 端口,其為交換機(jī)112提供具有36個操作端口的選項(xiàng)。替代將所有36個端口硬連線,僅經(jīng)由全局交叉開關(guān)巧4連接9個M端口,而交換機(jī)122可利用36個端口。 應(yīng)理解,盡管顯示圖IB的實(shí)施例包括特定數(shù)目個S端口及M端口,但這些數(shù)目僅為例示性且因此交換機(jī)112不限于任何特定數(shù)目個S端口或M端口。為在網(wǎng)絡(luò)系統(tǒng)104(圖1A)內(nèi)操作,每一 M端口具有用于網(wǎng)絡(luò)尋址的唯一地址識別符且因此作為獨(dú)立的網(wǎng)絡(luò)實(shí)體操作。在M端口內(nèi)的每一 S端口也具有唯一識別符,所述S 端口可使用其來發(fā)送及接收包。交換機(jī)112上的每一 M端口可使用鏈路133耦合到其它網(wǎng)絡(luò)裝置。在一個實(shí)施例中,網(wǎng)絡(luò)包經(jīng)由鏈路133到達(dá)M端口上的S端口且接著使用全局交叉開關(guān)巧4在交換機(jī)112內(nèi)路由。使用局部交叉開關(guān)131在所述M端口內(nèi)路由包。舉例來說,可使用局部交叉開關(guān) 131將在S端口 1處接收的包路由到S端口 4。局部交叉開關(guān)131還與全局交叉開關(guān)巧4 交互,以便可在M端口之間發(fā)射網(wǎng)絡(luò)信息。下文關(guān)于圖3詳細(xì)描述M端口。在一個實(shí)施例中,每一 M端口可包括到全局交叉開關(guān)巧4的六個獨(dú)立64位數(shù)據(jù)路徑156(4G字節(jié)/s)以在M端口當(dāng)中移動網(wǎng)絡(luò)信息。在此實(shí)施例中,全局交叉開關(guān)IM可為 9x9并行同步M端口交叉開關(guān),從而提供1728G位/s的非阻擋帶寬。交叉開關(guān)IM包括包數(shù)據(jù)交叉開關(guān)、包請求交叉開關(guān)、包標(biāo)簽交叉開關(guān)及控制總線。所述包數(shù)據(jù)交叉開關(guān)發(fā)揮作用以使得55個源(9個M端口 x6個路徑+C端口)中的任一者可將包傳送到37個端口目的地(36個S端口 +C端口 15 中的任一者。在一個實(shí)施例中,可同時傳送37個包。所述包標(biāo)簽交叉開關(guān)發(fā)揮作用以在端口之間移動多個包標(biāo)簽。所述包請求交叉開關(guān)由S端口的發(fā)射端口(或段)用來從接收緩沖器請求特定包,如下文所描述。包結(jié)構(gòu)圖2A提供可用于本文中所描沭的各種實(shí)施例中的包結(jié)構(gòu)的實(shí)例。在一個實(shí)施例中,包200包括局部路由標(biāo)頭200A、基本輸送標(biāo)頭(BTH) 200B、包有效荷載200C、不變循環(huán)冗余代碼(CRC)及變異CRC 200E。包結(jié)構(gòu)200還描述于hfiniband架構(gòu)規(guī)范第1卷第6章中,標(biāo)題為“數(shù)據(jù)包格式”。圖2B顯示局部路由標(biāo)頭(LRH) 200A的框圖,其中所述局部路由包括用于交換機(jī)在 InfiniBand子網(wǎng)內(nèi)進(jìn)行的局部路由的字段(InfiniBand(子網(wǎng)路由)中的LRH類似于以太網(wǎng)中的光纖信道及MAC層(LAN路由)中的FC-2。在所有三種情況下,其被視為層2路由/ 交換信息)。LRH 200A包括識別哪個接收緩沖器及哪些流動控制憑證應(yīng)用于處理所接收包的 VL字段201,鏈路版本(Lver)字段202規(guī)定LRH包200A的版本,服務(wù)等級(SL)字段203由交換機(jī)112用來確定包的發(fā)射VL,且鏈路下一標(biāo)頭(LNH)字段205規(guī)定什么標(biāo)頭跟隨LRH 200A。字段209為保留字段。LRH 200A還包括規(guī)定交換機(jī)112將包遞送到的端口的目的地局部識別符(DLID) 字段206及指示所述包的源的源識別符(SLID)字段207。包長度字段208規(guī)定包中所含有的字的數(shù)目。M 端口 134 圖3顯示根據(jù)本發(fā)明的一個實(shí)施例的M端口 134的框圖。應(yīng)理解,M端口 136到 150(圖1B)可以與M端口 134相同的方式操作及發(fā)揮作用。在一個實(shí)施例中,M端口 134包括共用模塊(顯示為共享邏輯)302,其包括由四個 S端口 306、308、310及312共享的邏輯及局部交叉開關(guān)131。每一 S端口經(jīng)由鏈路133耦合到其它網(wǎng)絡(luò)裝置。在一個實(shí)施例中,使用鏈路133,每一 S端口 306、308、310及312可以 2. 5吉位/秒((ib/s) ,5Gb/sU0Gb/s或任何其它速度操作。共用模塊302允許每一 S端口使用局部交叉開關(guān)131及全局交叉開關(guān)154(見圖 IB)與其它S端口/M端口通信。下文關(guān)于圖4更詳細(xì)地描述共用模塊302。圖4是圖解說明根據(jù)本發(fā)明的實(shí)施例經(jīng)由局部交叉開關(guān)131操作地耦合到S端口 306的共用模塊302的經(jīng)簡化框圖。為清晰起見,在圖4中描述單個S端口 306的操作,然而,如此描述的方法及功能適用于M端口 1;34中的每一其它S端口 308、310及312以及交
9換機(jī)112中的每一其它M端口中的每一其它S端口。共用模塊302及S端口 306包括緩沖器、表及模塊,其允許S端口 306與單個M端口中的其它S端口共享資源以有效地路由包。所述共享資源布置允許減少通常與單個芯片上的此些高端口數(shù)目相關(guān)聯(lián)的相對高全局線端口連接計(jì)數(shù)。局部交叉開關(guān)131包括包數(shù)據(jù)交叉開關(guān)、包請求交叉開關(guān)、包標(biāo)簽交叉開關(guān)及控制總線,其每一者如前文所描述操作。在一個實(shí)施例中,如圖4中所示,S端口 306包括發(fā)射端口 402(或發(fā)射段,也稱作 “T端口 402”)、接收端口 404(或接收段,也稱作“R端口 404”)及接口(I/F)406,其提供到共用模塊302的輸入/輸出接口。R端口 404從鏈路133中的一者接收傳入包401。所述包經(jīng)處理且接著臨時存儲于臨時存儲位置處,其在本文中稱作接收緩沖器418 (在下文中, "RBUF 418”)。標(biāo)簽寫入器416創(chuàng)建所接收的每個包的標(biāo)簽。所述標(biāo)簽包括關(guān)于所述包及接收緩沖器418中存儲所述包的存儲位置的基本信息。接著經(jīng)由局部交叉開關(guān)131及共享邏輯302將所述標(biāo)簽發(fā)射到T端口 402。將T 端口 402處的所述標(biāo)簽存儲于標(biāo)簽緩沖器408處。標(biāo)簽仲裁器410從存儲于標(biāo)簽緩沖器 408處的多個標(biāo)簽當(dāng)中選擇標(biāo)簽。一旦標(biāo)簽經(jīng)選擇,那么從RBUF 418中拉出與所述標(biāo)簽相關(guān)聯(lián)的包且接著將其作為包403發(fā)射到包目的地。在一個實(shí)施例中,提供用于共同端口控制的“共用”或共享邏輯的共用模塊302 包括發(fā)射(Tx)標(biāo)簽合并模塊420、發(fā)射(Tx)請求合并模塊422、發(fā)射數(shù)據(jù)多路復(fù)用器 (Tmux) 424、接收(Rx)請求合并模塊426、接收(Rx)標(biāo)簽合并模塊4 及接收數(shù)據(jù)多路復(fù)用器(RmuX)430。共用模塊302還包括用于路由包的路由表(R表)432的副本。下文現(xiàn)在詳細(xì)描述與共享邏輯模塊302 —起工作的S端口 306的組件。方法流程圖5是圖解說明根據(jù)一個實(shí)施例的用于經(jīng)由M端口的S端口發(fā)射及接收包的方法 500的流程圖?,F(xiàn)在參照圖5,且進(jìn)一步參照圖4,最初由R端口 404接收包且將其臨時存儲于S 端口 306的RBUF 418處(S502)。當(dāng)包到達(dá)時,由標(biāo)簽寫入器模塊416產(chǎn)生包標(biāo)簽(S504)。 如圖2C中所示,包標(biāo)簽(例如,例示性包標(biāo)簽218)可包括識別接收所述包的S端口的接收端口識別符230 (接收Port_ID 230)。包標(biāo)簽218還識別出站端口 VL識別符232,其可使用R端口 404處的SL到VL表414來指派。標(biāo)簽218進(jìn)一步包括總包大小(或塊計(jì)數(shù))234 及RBUF 418中存儲所述包的位置的指針236。接下來,標(biāo)簽寫入器模塊416將所述標(biāo)簽發(fā)送到共用模塊302 (S506)。在Rx標(biāo)簽合并模塊4 處將所述標(biāo)簽接收于共用模塊302中。接著將所述標(biāo)簽遞送到Tx標(biāo)簽合并模塊420,其將所述標(biāo)簽轉(zhuǎn)發(fā)到S端口 306的 T端口 402(S508)。所述標(biāo)簽存儲于標(biāo)簽緩沖器408中且等待進(jìn)一步處理。為處理所述標(biāo)簽,T端口 402基于從Tx標(biāo)簽合并模塊420接收于標(biāo)簽緩沖器408 中的標(biāo)簽來產(chǎn)生請求(S510)。由于多個請求可為未決,因此標(biāo)簽仲裁器模塊410從多個請求中選擇一請求(S5U)。可使用循環(huán)方案來從標(biāo)簽緩沖器408中選擇標(biāo)簽。一旦經(jīng)選擇, 標(biāo)簽仲裁器模塊410將所述選定請求發(fā)送到Tx請求合并模塊422 (S514)。接著將所述請求轉(zhuǎn)發(fā)到Rx請求合并模塊426。從其在RBUF 418中的位置提取所述請求所識別的包(S516)。接著將所述包發(fā)送到R多路復(fù)用器430及接著發(fā)送到T多路復(fù)用器 424(S518)。T多路復(fù)用器似4將所述包轉(zhuǎn)發(fā)到S端口 306的T端口 402的發(fā)射緩沖器412。接著使用路由表R表432將所述包轉(zhuǎn)發(fā)到其目的地(S520)。應(yīng)理解,每一 S端口可編程及配置為Ixdx或8x端口寬度及相關(guān)聯(lián)單倍數(shù)據(jù)速率 (SDR)、雙倍數(shù)據(jù)速率(DDR)或四倍數(shù)據(jù)速率(QDR)速度。再次參照圖1B,交換機(jī)112使用全局交叉開關(guān)巧4來確保每一 M端口上的入口端口 “群組”共享到所述交換機(jī)上的所有出口端口群組的一組數(shù)據(jù)路徑。在一個實(shí)施例中, 從R端口 404的入口端口,舉例來說從RBUFF (或RBUF)(在圖式中,我們已使用RBUFF而非 RBUF。讓我們使其一致)418請求所述包的M端口中的任一者的出口端口在來自九個M端口中的一者的六個共享路徑156中的一者(M個路徑中的1個路徑)上接收所述包。由于期望確保恰當(dāng)?shù)剡x擇所請求包以用于發(fā)射,在一個實(shí)施例中,每一 M端口包括用以實(shí)現(xiàn)下文所描述的恰當(dāng)路徑的選擇的方法。如圖6中所示,響應(yīng)于包請求604,接收數(shù)據(jù)多路復(fù)用器430接收包600。將識別 RBUF 418(圖4)中的所述包的位置的包請求604的副本發(fā)送到發(fā)射數(shù)據(jù)多路復(fù)用器424。 當(dāng)接收數(shù)據(jù)多路復(fù)用器430接收包600時,將交換路由標(biāo)頭(SRH)(見圖2A,200F)添加到包600。SRH 200F識別接收包600的S端口且提供RBUF 418中存儲包600的所述位置。從包請求數(shù)據(jù)得出SRH 200F數(shù)據(jù),其實(shí)例顯示于以下表1中。在添加SRH 200F之后,將具有SRH 200F的包600置于通道602中的一者上。發(fā)射數(shù)據(jù)多路復(fù)用器似4將SRH 200F與包請求604中的字段進(jìn)行比較。基于所述比較,發(fā)射數(shù)據(jù)多路復(fù)用器4M選擇所述局部交叉開關(guān)的六個路徑中的一者且將所述包移動到發(fā)射緩沖器(TBUFF) 412,以使得其可被發(fā)送到其目的地。表 權(quán)利要求
1.一種交換元件,其包含多個兆端口,每一兆端口由唯一兆端口地址識別符唯一地識別以用于網(wǎng)絡(luò)尋址;其中每一兆端口包括多個操作端口,每一操作端口由唯一操作端口地址識別符識別,局部交叉開關(guān),其用于所述多個操作端口之間的通信,及共享邏輯模塊,其經(jīng)配置以提供對兆端口內(nèi)的所述多個操作端口的共同控制以允許操作端口共享單個兆端口的資源以在其間路由網(wǎng)絡(luò)包;及全局交叉開關(guān),其經(jīng)配置以允許所述兆端口之間的通信。
2.根據(jù)權(quán)利要求1所述的交換元件,其進(jìn)一步包含經(jīng)配置以存儲用于控制所述交換元件的所述兆端口的操作的控制設(shè)定。
3.根據(jù)權(quán)利要求1所述的交換元件,其中所述操作端口包括接收段,其用于接收傳入網(wǎng)絡(luò)包及將所述網(wǎng)絡(luò)包臨時存儲于包存儲位置處;標(biāo)簽寫入器模塊,其經(jīng)配置以創(chuàng)建在所述接收段處接收的所述網(wǎng)絡(luò)包的標(biāo)簽,所述標(biāo)簽包括關(guān)于所述網(wǎng)絡(luò)包及包存儲位置的信息;其中由所述標(biāo)簽寫入器創(chuàng)建的所述標(biāo)簽被存儲于用以發(fā)射所述所接收網(wǎng)絡(luò)包的發(fā)射段的標(biāo)簽存儲位置處;及標(biāo)簽仲裁器,其用于從存儲于所述標(biāo)簽存儲位置處的多個請求當(dāng)中選擇一請求,其中由所述請求識別的所述網(wǎng)絡(luò)包是從所述包存儲位置拉出的且被發(fā)射到網(wǎng)絡(luò)包目的地。
4.根據(jù)權(quán)利要求3所述的交換元件,其中所述標(biāo)簽包括識別接收所述網(wǎng)絡(luò)包的所述操作端口的接收段識別符、經(jīng)指派以發(fā)射所述網(wǎng)絡(luò)包的出站端口虛擬通道識別符、總網(wǎng)絡(luò)包大小及存儲所述網(wǎng)絡(luò)包的位置的指示符。
5.根據(jù)權(quán)利要求3所述的交換元件,其中所述共享邏輯模塊包含用于從所述標(biāo)簽寫入器接收標(biāo)簽且將所述標(biāo)簽遞送到發(fā)射標(biāo)簽合并模塊的接收標(biāo)簽合并模塊,所述發(fā)射標(biāo)簽合并模塊經(jīng)配置以用于將所述標(biāo)簽轉(zhuǎn)發(fā)到所述發(fā)射段中的所述標(biāo)簽存儲位置。
6.根據(jù)權(quán)利要求5所述的交換元件,其中所述標(biāo)簽仲裁器模塊使用循環(huán)方案從所述標(biāo)簽存儲位置中的所述多個請求中選擇所述請求且將所述選定請求發(fā)送到所述發(fā)射請求合并模塊,且所述發(fā)射請求合并模塊將所述請求轉(zhuǎn)發(fā)到所述接收請求合并模塊。
7.根據(jù)權(quán)利要求6所述的交換元件,其中由所述請求識別的所述包是從其在所述包存儲位置中的位置提取的且被發(fā)送到所述發(fā)射段上的發(fā)射緩沖器以待轉(zhuǎn)發(fā)到所述網(wǎng)絡(luò)包目的地。
8.根據(jù)權(quán)利要求1所述的交換元件,其中所述共享邏輯模塊包含用于將所述網(wǎng)絡(luò)包路由到網(wǎng)絡(luò)包目的地的路由表。
9.根據(jù)權(quán)利要求5所述的交換元件,其中所述發(fā)射標(biāo)簽合并模塊經(jīng)配置以基于以下各項(xiàng)來確定是否轉(zhuǎn)發(fā)所述標(biāo)簽網(wǎng)絡(luò)包始發(fā)操作端口正以其操作的經(jīng)組合通道寬度與速度、 目的地操作端口正以其操作的通道寬度與速度及關(guān)于在所述操作端口的所述接收段處接收到的所述網(wǎng)絡(luò)包的百分比。
10.根據(jù)權(quán)利要求3所述的交換元件,其中所述標(biāo)簽仲裁器經(jīng)配置以將所述選定請求的副本發(fā)送到發(fā)射數(shù)據(jù)多路復(fù)用器且將交換路由標(biāo)頭(SRH)添加到所述網(wǎng)絡(luò)包,所述SRH 識別接收到所述網(wǎng)絡(luò)包的所述操作端口且提供所述網(wǎng)絡(luò)包的存儲位置。
11.根據(jù)權(quán)利要求10所述的交換元件,其中在接收到包括所述SRH的所述網(wǎng)絡(luò)包后,所述發(fā)射數(shù)據(jù)多路復(fù)用器經(jīng)配置以即刻將所述SRH與所述包請求的所述副本中所提供的信息進(jìn)行比較以確定作出所述請求的所述兆端口及操作端口且將所述網(wǎng)絡(luò)包置于正確的發(fā)射路徑上。
12.根據(jù)權(quán)利要求1所述的交換元件,其中所述交換元件為InfiniBand交換元件。
13.根據(jù)權(quán)利要求1所述的交換元件,其中所述交換元件為光纖信道交換元件。
14.根據(jù)權(quán)利要求1所述的交換元件,其中所述交換元件為以太網(wǎng)光纖信道(FCOE)交換元件。
15.一種用于在交換元件中發(fā)射及接收網(wǎng)絡(luò)包的方法,其包含提供由唯一地址識別符識別的多個兆端口以用于網(wǎng)絡(luò)尋址,每一兆端口包括多個操作端口,每一操作端口由唯一操作端口地址識別符識別;及在每一兆端口內(nèi)的所述操作端口之間共享通信資源以允許所述操作端口在其間及在所述多個兆端口中的每一者之間路由包。
16.根據(jù)權(quán)利要求15所述的方法,其進(jìn)一步包含使用控制端口來控制所述交換元件上的所述多個兆端口的操作。
17.根據(jù)權(quán)利要求15所述的方法,其中所述交換元件為InfiniBand交換元件。
18.根據(jù)權(quán)利要求15所述的方法,其中所述交換元件為光纖信道交換元件。
19.根據(jù)權(quán)利要求15所述的方法,其中所述交換元件為以太網(wǎng)光纖信道(FCOE)交換元件。
20.一種用于在具有多個兆端口的交換元件中接收及發(fā)射網(wǎng)絡(luò)包的方法,每一兆端口具有多個操作端口及一共享邏輯模塊,所述方法包含(a)在所述多個兆端口中的一者的操作端口的接收段處接收包;(b)產(chǎn)生從所述接收段提取所述所接收包的請求;(c)將所述請求的副本發(fā)送到第一操作端口的發(fā)射段;其中所述請求包括關(guān)于所述包存儲在所述接收段處的位置及接收到所述包的所述操作端口的身份的信息;(d)在將所述包發(fā)送到所述操作端口的所述發(fā)射段之前將交換路由標(biāo)頭(SRH)添加到所述包;其中所述SRH識別接收到所述包的所述操作端口及存儲所述包的所述位置;(e)將所述包中的所述SRH與所述請求中所提供的信息進(jìn)行比較;及(f)在將所述包發(fā)射到恰當(dāng)目的地之前將所述包置于正確的發(fā)射路徑上以臨時存儲于所述發(fā)射段處。
21.根據(jù)權(quán)利要求20所述的方法,其中所述交換元件為hfiniBand交換元件。
22.根據(jù)權(quán)利要求20所述的方法,其中所述交換元件為光纖信道交換元件。
23.根據(jù)權(quán)利要求20所述的方法,其中所述交換元件為以太網(wǎng)光纖信道(FCOE)交換元件。
24.一種用于在具有多個兆端口的交換元件中接收及發(fā)射網(wǎng)絡(luò)包的方法,每一兆端口具有多個操作端口及一共享邏輯模塊,所述方法包含(a)在所述多個兆端口中的一者的操作端口的接收緩沖器處接收包;(b)產(chǎn)生具有包括所述接收緩沖器中的所述包的位置的與所述包相關(guān)的信息的包標(biāo)簽;(c)將所述包標(biāo)簽存儲于所述操作端口的標(biāo)簽緩沖器中;及(d)基于以下各項(xiàng)確定是否轉(zhuǎn)發(fā)所述標(biāo)簽所述操作端口正以其操作的經(jīng)組合通道寬度與速度、目的地操作端口正以其操作的通道寬度與速度及關(guān)于在操作端口處接收到的百分比數(shù)據(jù)的指示。
25.根據(jù)權(quán)利要求M所述的方法,其進(jìn)一步包含 基于所述標(biāo)簽緩沖器中所接收的所述包標(biāo)簽產(chǎn)生請求; 從所述標(biāo)簽緩沖器選擇由所述請求識別的所述包標(biāo)簽;從所述包在所述接收緩沖器中的位置提取與所述包標(biāo)簽相關(guān)聯(lián)的所述包;及將所述包轉(zhuǎn)發(fā)到所述目的地操作端口。
26.根據(jù)權(quán)利要求M所述的方法,其中所述交換元件為hfiniBand交換元件。
27.根據(jù)權(quán)利要求M所述的方法,其中所述交換元件為光纖信道交換元件。
28.根據(jù)權(quán)利要求M所述的方法,其中所述交換元件為以太網(wǎng)光纖信道(FCOE)交換元件。
全文摘要
本發(fā)明提供用于網(wǎng)絡(luò)交換元件的方法及系統(tǒng)。所述交換元件包括多個兆端口,每一兆端口由唯一兆端口地址識別符唯一地識別以用于網(wǎng)絡(luò)尋址。每一兆端口包括多個操作端口,每一操作端口由唯一操作端口地址識別符識別。所述交換元件還包括局部交叉開關(guān),其用于所述多個操作端口之間的通信;及共享邏輯模塊,其經(jīng)配置以提供對兆端口內(nèi)的所述多個操作端口的共同控制以允許操作端口共享單個兆端口的資源以在其間路由網(wǎng)絡(luò)包。所述交換元件還包括經(jīng)配置以允許所述兆端口之間的通信的全局交叉開關(guān)。
文檔編號H04L12/56GK102232281SQ200980145538
公開日2011年11月2日 申請日期2009年11月3日 優(yōu)先權(quán)日2008年11月13日
發(fā)明者克雷格·M·韋爾巴, 弗蘭克·R·德羅普斯, 愛德華·C·羅斯, 詹姆斯·A·孔茲, 馬克·A·歐文 申請人:Q邏輯公司