專利名稱:數(shù)據(jù)交換方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)交換方法,該數(shù)據(jù)交換是從多個輸入源接受應(yīng)用數(shù)據(jù)并將其送至多個目的輸出設(shè)備,本發(fā)明還涉及用于實現(xiàn)這種交換的裝置。
根據(jù)其原理的概述,到達輸入端口的數(shù)據(jù)經(jīng)過一個無阻塞縱橫制交換機發(fā)送至輸出端口。為從輸入端N傳輸數(shù)據(jù)至輸出端M,交換機在N和M之間建立一個“連接”。在數(shù)據(jù)傳輸之持續(xù)時間,該連接通常是保持的,在傳輸點的連接可被中斷并允許輸出端連接另一個輸入端。一般情況下,數(shù)據(jù)以信元為單位被傳輸。
由于有多個輸入端為多個輸出端口競爭,可能會發(fā)生沖突。輸出端口可以被視為一種必須由多個輸入端共享的資源。這意味著,特定的輸入端也許不能與特定的輸出端相連接,因為該輸出端已經(jīng)處于使用狀態(tài),即已與另一端口相連接。也可能有多個輸入端請求連接至同一個輸出端。不論在哪種情況下,其結(jié)果是,信元或數(shù)據(jù)產(chǎn)物都需要列隊等待(緩沖),直到相關(guān)資源變成可用狀態(tài)。
信元可以存儲在交換機內(nèi)的幾個部分中輸出部分、輸入部分和中間部分。大多數(shù)的交換機采用這三者之組合。人們通常認(rèn)為,輸出緩沖是處理業(yè)務(wù)量整形(traffic shaping)(即,從交換機中釋放信元的輪廓)最有效的方式。然而,輸出緩沖向用于建立緩沖區(qū)的實際存儲設(shè)備提出了嚴(yán)格的要求。這是由于緩沖區(qū)被多個輸入端共享,這意味著存儲設(shè)備的性能必須極高。因而,在數(shù)據(jù)速率極高的情況下,目前的技術(shù)限制了輸出緩沖區(qū)的應(yīng)用。
本發(fā)明的目的在于提供一種數(shù)據(jù)交換方法和裝置,用于更有效地處理通過數(shù)據(jù)交換機信息包。
根據(jù)本發(fā)明的第一方面,提供一種對通過數(shù)據(jù)交換機的信息包進行處理的方法,該交換機包括輸入業(yè)務(wù)控制器、入口路由器、無記憶周期交換結(jié)構(gòu)、出口路由器和輸出業(yè)務(wù)控制器,均由一個交換控制器進行控制,并相互連接,以使連接至該數(shù)據(jù)交換機的每一輸入線終止于一個業(yè)務(wù)控制器,該業(yè)務(wù)控制器用于將輸入線協(xié)議信息包轉(zhuǎn)換為含有信元頭的固定長度信元,該信元頭定義數(shù)據(jù)交換目的路由器和輸出業(yè)務(wù)控制器以及消息優(yōu)先權(quán)信息,這樣,每個入口路由器服務(wù)一組業(yè)務(wù)控制器,其特征在于,該入口路由器包括一組輸入緩沖區(qū)和一組虛擬輸出隊列緩沖區(qū),一個輸入緩沖區(qū)相對于每一輸入線,一個虛擬輸出隊列緩沖區(qū)相對于連接數(shù)據(jù)交換機的每一個輸出業(yè)務(wù)控制器,其中,該方法包括當(dāng)信元從業(yè)務(wù)控制器到達時,入口路由器檢查信元頭,并將它放在適當(dāng)?shù)奶摂M輸出隊列中,及產(chǎn)生一個傳輸消息請求,包括目的業(yè)務(wù)控制器地址和消息優(yōu)先級碼,它被傳送至數(shù)據(jù)交換控制器,該交換控制器通過使特定的入口路由器與特定的出口路由器相互連接,根據(jù)一個第一仲裁處理,調(diào)度信元在每一個交換結(jié)構(gòu)周期通過該交換結(jié)構(gòu),根據(jù)一個第二仲裁處理,入口路由器從適當(dāng)?shù)奶摂M輸出隊列選擇位于隊列之首的信元,以通過數(shù)據(jù)交換機至適當(dāng)?shù)妮敵鰳I(yè)務(wù)控制器。
根據(jù)本發(fā)明的第二方面,提供一種用于處理信息包的數(shù)據(jù)交換機,包括輸入業(yè)務(wù)控制器、入口路由器、無記憶周期交換結(jié)構(gòu)、出口路由器和輸出業(yè)務(wù)控制器,均由一個交換控制器進行控制,并相互連接,以使連接至該數(shù)據(jù)交換機的每一輸入線終止于一個業(yè)務(wù)控制器,該業(yè)務(wù)控制器用于將輸入線協(xié)議信息包轉(zhuǎn)換為含有信元頭的固定長度信元,該信元頭定義數(shù)據(jù)交換目的路由器和輸出業(yè)務(wù)控制器以及消息優(yōu)先權(quán)信息,這樣,每個入口路由器服務(wù)一組業(yè)務(wù)控制器,其特征在于,該入口路由器包括一組輸入緩沖區(qū)和一組虛擬輸出隊列緩沖區(qū),一個輸入緩沖區(qū)相對于每一輸入線,一個虛擬輸出隊列緩沖區(qū)相對于連接數(shù)據(jù)交換機的每一個輸出業(yè)務(wù)控制器,其中,當(dāng)信元從業(yè)務(wù)控制器到達時,入口路由器檢查信元頭,并將它放在適當(dāng)?shù)奶摂M輸出隊列中,及產(chǎn)生一個傳輸消息請求,包括目的業(yè)務(wù)控制器地址和消息優(yōu)先權(quán)代碼,它被傳送至數(shù)據(jù)交換控制器,該交換控制器通過使特定的入口路由器與特定的出口路由器相互連接,根據(jù)一個第一仲裁處理,調(diào)度信元在每一個交換結(jié)構(gòu)周期通過該交換結(jié)構(gòu),根據(jù)一個第二仲裁處理,入口路由器從適當(dāng)?shù)奶摂M輸出隊列選擇位于隊列之首的信元,以通過數(shù)據(jù)交換機至適當(dāng)?shù)妮敵鰳I(yè)務(wù)控制器。
結(jié)合附圖及以下的說明,本發(fā)明及其多方面的特征將更易于理解,其中
圖1表示現(xiàn)有技術(shù)的概括原理;圖2是本發(fā)明的數(shù)據(jù)交換機之一實施例的框圖;圖3表示本發(fā)明之實施例的交換結(jié)構(gòu);圖4表示通過該交換結(jié)構(gòu)的數(shù)據(jù)流;圖5表示當(dāng)通過該交換結(jié)構(gòu)時的ATM幀頭;圖6表示當(dāng)通過該交換結(jié)構(gòu)時的以太網(wǎng)幀頭;圖7表示該數(shù)據(jù)交換機的調(diào)度和仲裁裝置;圖8表示出口反壓廣播;圖9是該交換機的框圖;圖10表示該交換機之框圖細(xì)節(jié);圖11表示根據(jù)本發(fā)明之實施例的主機之框圖;圖12表示根據(jù)本發(fā)明之實施例的路由器之框圖;圖13表示隊列的結(jié)構(gòu)。
參見圖1,該圖表示數(shù)據(jù)交換機的基本原理。輸入設(shè)備N1至Nn連接到數(shù)據(jù)交換機SW的對應(yīng)輸入端口IP1至IPn。該交換機的輸出端口OP1至Opn連接到對應(yīng)的輸出設(shè)備Ml至Mn。
利用智能化的分布式調(diào)度裝置,有可能建立一種輸入緩沖交換機,它獲得的業(yè)務(wù)量整形效率與其輸出緩沖對應(yīng)設(shè)備之效率相當(dāng)。出于幾種原因,使用輸入緩沖區(qū)是優(yōu)選的。輸入緩沖要求更小的緩沖區(qū),它可具有較低的性能,因此更便宜。
當(dāng)信元在輸入端排隊等待時,線頭(head of line,HOL)阻塞現(xiàn)象可能導(dǎo)致沖突發(fā)生。這種現(xiàn)象通常發(fā)生在采用先進先出(FIFO)隊列機制的情況下。FIFO將在隊列頭部的信元排隊,它可被選擇為通過交換機傳遞的僅有的一個?,F(xiàn)在,設(shè)想發(fā)生下面的情況一個輸入端口存儲了三個信元C1、C2和C3,C1是隊列頭部,C2存在其后,C3在最后,信元C1為端口N1指定,信元C2為端口N+1指定?,F(xiàn)在端口N已經(jīng)同端口N-1相連接,于是C1不能被交換,然而,端口N+1沒有被連接,因此實際上C2被送出。然而,C2受到線頭(HOL,即C1)的阻塞而無法離開該FIFO。虛擬輸出隊列(VOQ)的原理是解決線頭阻塞的明智之舉。使用VOQ,信元在輸入端被分離出來而放入在直接映射其要求輸出目的的隊列中。于是,它們在輸出隊列可被有效地說明,被保持在輸入端,即虛擬輸出隊列?,F(xiàn)在,由于信元根據(jù)各自的輸出目的被分隔開,它們可以不再因HOL現(xiàn)象而受到阻塞。
另一個值得一提的是服務(wù)質(zhì)量(QoS)問題。不同的輸入源根據(jù)它們的數(shù)據(jù)傳輸方式有不同的要求。例如,語音數(shù)據(jù)必須保證控制非常緊密的傳輸服務(wù),而對計算機數(shù)據(jù)的處理則較為放松。為了適應(yīng)這些不同的要求,可以采用優(yōu)先級的概念。數(shù)據(jù)被賦予一定的優(yōu)先級,它改變交換機處理數(shù)據(jù)的方式。例如,設(shè)想在不同VOQ中的兩個信元C1和C2都要求到達同一個輸出端口。雖然兩者都可能被選,但只有一個可被傳輸。擁有最高優(yōu)先級的信元被選中。這個決策的過程稱為″仲裁″。優(yōu)先級并不是在仲裁過程中唯一可能考慮的因素。另一個例子涉及對VOQ長度的監(jiān)視,它們也被用作一個決定因素。還應(yīng)該注意的是,隨著交換機的速度越來越快,規(guī)模越來越大,仲裁過程需要尋找更加智能化的方法。理想的解決方法是分布式仲裁機制,其中,從核心回到輸入端,通過交換機,存在不同等級的仲裁權(quán)力。采用這種機制的仲裁可被非常精確地調(diào)整,以滿足對服務(wù)質(zhì)量的最高要求。通過使用緩沖器交換,系統(tǒng)面臨損失信元的風(fēng)險,即緩沖區(qū)溢出的風(fēng)險。為克服這一問題并有效控制緩沖區(qū)大小,可以利用通過交換機的反壓流控(backpressure flow control)原理。利用反壓,輸出端可以通知與之相連的輸入端注入太快及將要損失信元。輸入端此時可以停下來或放緩信元傳送的速率,從而降低或避免信元損失的風(fēng)險。
本說明書描述一種高速數(shù)字交換機的實施方案,它可用于任何要求高速高性能數(shù)字通信的領(lǐng)域。一般來說,這一定義至少包括數(shù)據(jù)通信領(lǐng)域和集群計算領(lǐng)域。
圖2表示本發(fā)明實施例的方框圖,該實施例的中心是在數(shù)據(jù)交換應(yīng)用領(lǐng)域廣泛使用的一種交換結(jié)構(gòu)。盡管本發(fā)明的用途廣泛,本說明書以下將集中說明在數(shù)據(jù)通信環(huán)境的應(yīng)用。
參見圖2,主要的特征在于數(shù)據(jù)交換機SW。由入口業(yè)務(wù)管理器單元ITM0至ITMn向交換機提供輸入。每個入口業(yè)務(wù)管理器單元可以有一個或多個輸入線端設(shè)備(ILE)與之相連。交換機SW的輸出端經(jīng)出口業(yè)務(wù)管理器單元ETM0至ETMn連接到出口線端設(shè)備(ELE)上。
業(yè)務(wù)管理器單元(ITM和ETM)提供交換機中的協(xié)議特定處理,如擁塞緩沖、入口業(yè)務(wù)管轄、地址轉(zhuǎn)換(入口和出口)和路由選擇(入口)、業(yè)務(wù)量整形(入口和出口)、業(yè)務(wù)統(tǒng)計表收集以及線路電平診斷。業(yè)務(wù)管理器單元還可以具有一些分段(segmentation)和重裝(re-assemble)功能。線端設(shè)備(ILE和ELE)均為全雙工設(shè)備,并提供交換機端口物理接口。一般而言,線端設(shè)備工作在同步傳輸模式下,速率范圍為OC-3至OC-48或者10/100及千兆位以太網(wǎng)。
根據(jù)業(yè)務(wù)管理器提供的路由選擇信息和交換控制器SC確定的連接分配策略,交換機SW在業(yè)務(wù)管理器之間提供了應(yīng)用獨立、無損耗的數(shù)據(jù)傳輸。這控制著交換機總的性能,如連接管理、交換電平診斷、統(tǒng)計收集和冗余管理。
前文所述的交換系統(tǒng)是基于輸入隊列無阻塞縱橫制結(jié)構(gòu)。充足的緩沖區(qū)、分級流控、分布式調(diào)度和仲裁處理,這些因素的組合保證了無損耗、高效率、高性能的交換能力。應(yīng)該注意的是,在圖的兩邊分別表示入口和出口功能,業(yè)務(wù)管理器單元、線端設(shè)備入口和出口端口實際上可以是全雙工的。
圖3表示根據(jù)本發(fā)明之一實施例的交換機的基本結(jié)構(gòu)。上述的入口業(yè)務(wù)管理器單元ITM將數(shù)據(jù)流連接到若干個入口路由器SRI0至SRIp上。這些路由器與交換矩陣SCM相連接,SCM受交換控制器SM控制。交換矩陣SCM的數(shù)據(jù)輸出經(jīng)出口路由器SRE0至SREp傳送到出口管理單元ETM。
在入口端,入口路由器SRI0至SRIp從入口業(yè)務(wù)管理器單元ITM收集數(shù)據(jù)流,請求經(jīng)過交換矩陣SCM到控制器SM的連接,將數(shù)據(jù)包列隊(稱為“張量”),直到控制器SM批準(zhǔn)一個連接,再向交換矩陣SCM送出數(shù)據(jù)。在出口端,出口路由器SRE0至SREp將數(shù)據(jù)包分成相關(guān)的數(shù)據(jù)流,并傳送到適當(dāng)?shù)某隹跇I(yè)務(wù)管理器單元ETM上。每個出口和入口路由器與兩個業(yè)務(wù)管理器單元通過公用交換接口進行點對點通信。每個接口為32 bit寬(全雙工)并能工作在50或100MHz。通過其公用接口,路由器可以支持高達5Gb的基于信元的業(yè)務(wù)量(例如ATM)或4Gb基于包的傳輸(例如千兆位以太網(wǎng))。這些4Gb或5Gb的數(shù)據(jù)共享少量的外部存儲器。
交換控制器SM從入口路由器接受連接請求,并在交換矩陣SCM中創(chuàng)建多組連接??刂破鱏M的仲裁機制使得交換矩陣SCM的效率達到最高,同時對路由器維護服務(wù)的公平??刂破鱏M能夠在交換矩陣SCM中配置一對一(單點傳播)和一對多(廣播)連接。控制器SM選擇一個最佳組合連接并于每個交換周期在矩陣SCM中建立一次。一個(或多個)反壓廣播請求可以推遲該選擇,這些請求在允許恢復(fù)正常操作之前以循環(huán)的方式得到滿足。仲裁器還根據(jù)外部系統(tǒng)控制器確定的信息,采用概率任務(wù)守恒算法(probablistic work-conservingalgorithm),在交換矩陣中對每個優(yōu)先級分配帶寬。
交換矩陣SCM本身包括若干個無記憶、無阻塞的矩陣平面SCM1至N和若干個嵌入式串行收發(fā)器以與路由器對接。特定交換機中的矩陣平面數(shù)目取決于要求經(jīng)過矩陣的核心吞吐量。核心吞吐量將大于外部接口的之集合以用于路由器間通信、核心頭開銷和仲裁周期中最大連接。該設(shè)備被封裝有16端口的兩平面,它可配置為提供可選數(shù)量的平面/端口。包括路由器與交換矩陣之間之?dāng)?shù)據(jù)路徑的多重串行鏈路被同時交換,并因此作為一個8Gbps的全雙工的寬闊通道。該交換矩陣具有的新穎性特征在于,它可以被配置成一個“N×N”端口的縱橫制設(shè)備,其中的N可以為4、8或16。這一特征可以增加每包平面數(shù),并因此使得各種各樣的系統(tǒng)以成本有效方式實現(xiàn)。例如,使用第一代芯片組,可以容易地配置低于20Gbs直到80Gbs的系統(tǒng)。
系統(tǒng)管理的基礎(chǔ)是結(jié)構(gòu)管理接口FMI,F(xiàn)MI為全部系統(tǒng)設(shè)備提供一個外部正交接口。當(dāng)設(shè)備工作正常時,此管理級為所選擇的重要寄存器和RAM(隨機存儲器)之子集提供讀寫訪問;如果系統(tǒng)無法工作,則提供對設(shè)備中全部寄存器和RAM的訪問(采用掃描機制)。管理訪問可以用于系統(tǒng)初始化和動態(tài)重新配置之目的。下列特征如果不能在一個運轉(zhuǎn)中的系統(tǒng)上進行修改,則需要在系統(tǒng)復(fù)位時通過結(jié)構(gòu)管理接口FMI進行配置,即入口路由器隊列參數(shù)敏感性、入口及出口隊列閾值、路由器和交換控制器中的帶寬分配表以及狀態(tài)信息。每個設(shè)備設(shè)有一個主狀態(tài)寄存器,可以從中讀取到設(shè)備狀態(tài)的高級觀測值;例如非關(guān)鍵性故障檢測。在必要情況下,還可以訪問更多詳細(xì)狀態(tài)寄存器。
如果設(shè)備或整個系統(tǒng)出現(xiàn)故障,結(jié)構(gòu)接口管理對芯片組的訪問仍是可能的。這將經(jīng)常為診斷故障提供有用的信息,它也可用于對硬件進行底層測試。
在系統(tǒng)內(nèi)部設(shè)置有詳細(xì)的錯誤管理設(shè)備。錯誤管理包含檢錯、糾錯、容錯和報錯等內(nèi)容,如下所述a)檢錯。在系統(tǒng)中,可以按以下方式對設(shè)備之間的所有接口進行檢查設(shè)備間的并行接口受奇偶校驗保護。從一個路由器經(jīng)過交換矩陣到達另一個路由器的串行數(shù)據(jù)受一個16比特周期性冗余碼保護。這個代碼在入口路由器中生成并構(gòu)成張量的一部分。它在輸出路由器受檢查并被丟棄。所有外部接口支持奇偶校驗,公用交換機接口規(guī)范中包含可選的奇偶校驗。這在系統(tǒng)接口端被實現(xiàn)。系統(tǒng)在初始化時自動執(zhí)行錯誤檢查程序。FMI協(xié)議包含了所有消息中的奇偶校驗。
b)糾錯。如果在張量中檢測出錯誤,由于或數(shù)據(jù)是錯誤的、或該張量已被誤編路由,該系統(tǒng)將不糾正此錯誤。張量被丟棄并被留給更高級的協(xié)議處理,以執(zhí)行任何必要的校正。在某個控制接口上發(fā)現(xiàn)錯誤后,再做重試,而不采取任何外部干涉,其目的在于區(qū)分臨時性故障和永久性故障。在任一情況下,都要通過FMI報告故障。
c)容錯。容錯的原則是限制錯誤的影響,并盡可能地繼續(xù)正常工作。例如,如果在特定張量中發(fā)現(xiàn)出故障,若系統(tǒng)不能繼續(xù)正常運行,這個張量被丟棄。類似地,如果發(fā)現(xiàn)一處影響業(yè)務(wù)管理器單元或路由器的永久性故障,系統(tǒng)中出現(xiàn)故障的部分被禁用,而系統(tǒng)的其它部分不間斷地繼續(xù)服務(wù)。這種情況可要求系統(tǒng)管理援助。如果在系統(tǒng)中使用了冗余,此時備用設(shè)備將開始工作。
d)報錯。所有允許報錯下部結(jié)構(gòu)繼續(xù)工作的故障都被記錄下來,并報告給診斷系統(tǒng)。設(shè)備的主狀態(tài)寄存器具有分別報告不同類型錯誤之機制,所以能夠很快確定采取任何必要的措施。
e)監(jiān)視。除錯誤監(jiān)視外,系統(tǒng)所含記錄收集了性能監(jiān)視和統(tǒng)計信息??梢詣討B(tài)地訪問這些信息。
系統(tǒng)中的某些單元對所有設(shè)備都是公用的。影響最大的兩個單元是中央管理單元和結(jié)構(gòu)管理接口。
數(shù)據(jù)在系統(tǒng)內(nèi)始終以固定長度信元的形式接受處理。使用定長信元有若干理由。其一是,當(dāng)每個交換周期之后重新配置交換機,更易于保證服務(wù)質(zhì)量(QoS。另外,對于長包和短包,包等待時間都得到改善,而緩沖區(qū)管理得到簡化。實際上,由于需要在不同點之信頭中加入操縱信息,信元在格式上稍做變化。圖4表示通過交換結(jié)構(gòu)的數(shù)據(jù)流和由7個步驟實現(xiàn)的功能,詳情說明如下首先,在必要時,從線端接收的包在入口業(yè)務(wù)管理器ITM中分段,形成正確格式的信元,以在公用接口(圖4中表示為CSIX)上傳輸;其次,在入口路由器SRI處,到達的信元接受檢查并被安排在適當(dāng)?shù)年犃兄?。這里示出有幾種隊列,如單點傳播隊列UQ、多點傳播隊列MQ和廣播隊列BQ。圖中,信元被安排在一個單點傳播隊列中;第三步,信元的到達引發(fā)一個“傳輸請求”(RFT)給控制器SM。該信元排在隊列中直到請求獲得批準(zhǔn)。
第四步,控制器SM執(zhí)行一個仲裁處理,確定在下一個交換周期交換矩陣內(nèi)可以建立的最大連接組。然后,控制器批準(zhǔn)″傳輸請求″RFT并發(fā)信號通知出口路由器必須準(zhǔn)備接收一個信元。
第五步,入口路由器SRI在獲得連接批準(zhǔn)后也執(zhí)行一個仲裁處理,以決定傳輸哪一個信元。信元通過無記憶交換矩陣SCM被發(fā)送并進入出口路由器SRE中的緩沖區(qū)。
第六步,每個出口業(yè)務(wù)管理器ETM具有一個出口緩沖區(qū)。到達的信元接受檢查并被安排在出口路由器SRE中適當(dāng)?shù)臉I(yè)務(wù)管理器隊列中。
最后,第七步,信元通過標(biāo)準(zhǔn)接口CSIX被傳輸?shù)匠隹跇I(yè)務(wù)管理器ETM中,必要的是,在繼續(xù)傳輸前被重裝為一個包。
數(shù)據(jù)在系統(tǒng)中傳輸時被封裝為信元,其術(shù)語稱作張量。在一個仲裁周期,每個路由器經(jīng)過交換矩陣SCM傳輸一個張量。一個張量由6或8個向量組成。一個向量由交換矩陣的每平面一個字節(jié)組成,并在一個系統(tǒng)時鐘周期內(nèi)經(jīng)交換矩陣傳輸。該向量的大小和為特定應(yīng)用的張量是由該結(jié)構(gòu)中所需的帶寬和最適宜的信元大小來確定的。下面將介紹數(shù)據(jù)在用于ATM或以太網(wǎng)的系統(tǒng)中流動時的典型封裝。
圖5a為ASTM應(yīng)用的示意圖。如圖所示,有效負(fù)載信元P包含53個字節(jié)的數(shù)據(jù),它來自入口業(yè)務(wù)管理器ITM并通過接口CSIX,該數(shù)據(jù)被重新封裝為60字節(jié)的張量(6個10字節(jié)的向量)。入口路由器分析CSIX的頭UH并用核心頭CH(core header)包裝在CSIX包上,從而在入口隊列中創(chuàng)建了一個60字節(jié)的張量UCT。當(dāng)控制器SM批準(zhǔn)所請求的連接后,張量在一個交換周期內(nèi)經(jīng)過交換矩陣SM來到出口路由器,它將單點傳播張量UT寫入核心頭指示的出口隊列中。當(dāng)此張量到達出口隊列的頭部時,核心頭被剝離,剩余的CSIX包被傳送到出口業(yè)務(wù)管理器中。
如果CSIX幀類型顯示為圖5b所示的多點傳播包MT,入口路由器就會剝離多點傳播掩碼MM,將該包復(fù)制到所指示的入口隊列中,為每份拷貝適當(dāng)修改目標(biāo)域。此后數(shù)據(jù)流如同單點傳播一樣繼續(xù)傳遞,只不過在經(jīng)過交換矩陣后張量被同時寫入多個出口緩沖區(qū)中。
在以太網(wǎng)或可變長度包的情況下,如圖5b所示,一個入口業(yè)務(wù)管理器ITM利用分段和重裝功能(SAR)將可變長度包VLP在入口處轉(zhuǎn)換為CSIX包,將SAR報頭嵌入有效負(fù)載中。于是CSIX包在系統(tǒng)中以與圖5所示ATM示例同樣的方式傳輸并通過系統(tǒng),不過張量的長度設(shè)置為80字節(jié)(8個10字節(jié)的向量),允許以太網(wǎng)結(jié)構(gòu)之多達70的字節(jié)被攜帶在一個單獨分段的包。注意,分段報頭被看作專用于業(yè)務(wù)管理器,圖中僅供示意。系統(tǒng)明顯地將其視為有效負(fù)載的一部分。該CSIX接口說明考慮了被刪節(jié)的包,這就是說,如果業(yè)務(wù)管理器發(fā)送一個未填入張量的有效負(fù)載,它可以發(fā)送一個縮短的CSIX分組。入口路由器將該短包存儲在入口隊列中(在固定的張量界限)。張量隊列中未用到的所有部分都由無效字節(jié)填充。定長張量在入口路由器處丟棄這些無效字節(jié)。
在系統(tǒng)結(jié)構(gòu)中,調(diào)度和仲裁裝置被分布并發(fā)生在兩個點控制器SM(在交換端口之間和優(yōu)先級之間)和路由器SRS/A(在業(yè)務(wù)管理器之間)。圖7是一幅原理框圖,只表示通過數(shù)據(jù)交換機的調(diào)度/仲裁功能,由業(yè)務(wù)管理器TM通過公用接口CSIX至路由器SR和控制器SCM,進入交換矩陣SC端口。圖中還表示通道上的信息、鏈路帶寬分配和交換效率、隊列狀況、反壓和業(yè)務(wù)擁塞管理是如何按參考箭頭處理的。
控制器SM能夠提供全面的系統(tǒng)控制功能。當(dāng)路由器從該控制器請求連接時,它們根據(jù)交換端口和優(yōu)先級來識別它們請求的交換矩陣連接。然后,控制器在交換矩陣中選擇連接組合,以充分利用矩陣的連接性,并為路由器提供公平的服務(wù)。這種選擇通過采用仲裁機制來實現(xiàn)。通過優(yōu)先級和入口/出口交換端口組合,控制器SM也可以執(zhí)行偽靜態(tài)帶寬分配。例如,外部的系統(tǒng)控制器可以為每個優(yōu)先級和指定連接保證部分可用帶寬。未用的分配可以由其它優(yōu)先級和連接公平地共享。
控制器SM還具有一種“最大努力”機制,以動態(tài)地影響仲裁機制偏向于支持關(guān)于無需嚴(yán)格帶寬分配之應(yīng)用的長隊列。
路由器能夠?qū)⒍鄠€業(yè)務(wù)管理器集合在一個交換端口。當(dāng)控制器SM通過一特定的優(yōu)先級批準(zhǔn)與特定出口交換端口的一個連接,適當(dāng)?shù)穆酚善鞅仨殢淖疃?個單點傳播和一個多點傳播業(yè)務(wù)管理隊列中選擇一個來提供服務(wù)。這一選擇是通過加權(quán)循環(huán)機制實現(xiàn)的,該機制可根據(jù)入口隊列長度的組合來選擇一個隊列。這些可以考慮到較長的隊列優(yōu)先于較短的隊列,或者允許業(yè)務(wù)管理器通過CSIX報頭中的緊急性域而臨時增加隊列的加權(quán)值。由外部系統(tǒng)控制器或動態(tài)干涉所決定的隊列帶寬分配也是考慮因素之一。最后,目標(biāo)擁塞管理和業(yè)務(wù)量整形都是要考慮的特性。加權(quán)功能對這些參數(shù)的敏感性可以根據(jù)每個優(yōu)先級來確定,敏感性和帶寬分配都可以動態(tài)地改變。
本系統(tǒng)實現(xiàn)了三個級別的反壓,分別是流、業(yè)務(wù)管理和核心反壓,下面將詳細(xì)介紹。流級反壓發(fā)生在入口和出口業(yè)務(wù)管理器之間,目的是用于擁塞管理和業(yè)務(wù)量整形。由業(yè)務(wù)管理器發(fā)送數(shù)據(jù)包經(jīng)過該系統(tǒng),實現(xiàn)這個級別的反壓信號通知,因此已超出本文的范圍。在系統(tǒng)看來,流級反壓包似乎與數(shù)據(jù)包沒有區(qū)別,因此是很清楚的。
就業(yè)務(wù)級反壓而言,系統(tǒng)以業(yè)務(wù)管理器級的粒度(帶有4個優(yōu)先級)組織管理數(shù)據(jù)流。在業(yè)務(wù)管理器自身實現(xiàn)更多的粒度。出口業(yè)務(wù)管理器可以在CSIX接口上向路由器的出口端發(fā)送反壓信息,多工地處理數(shù)據(jù)流。由于路由器的出口端,每個業(yè)務(wù)管理器只有一個隊列,這是一個只有1比特的信號。通過在交換控制器和交換矩陣中的專用廣播機制,發(fā)信號通知路由器之間的反壓。出口緩沖區(qū)隊列中有一些閾值,當(dāng)閾值被穿過時,出口路由器就會用一個反壓廣播請求信號通知控制器。在控制器內(nèi),這樣的請求使仲裁器停止在當(dāng)前周期的末尾,控制器向交換矩陣平面發(fā)出一個向量廣播連接,并通知發(fā)出請求的出口路由器。然后,該出口路由器經(jīng)過矩陣向入口路由器發(fā)送出口緩沖區(qū)狀態(tài)的一個向量大小(10字節(jié))的有用成分??刂破饔谑抢^續(xù)被中斷的周期。在幾個出口路由器同時請求一個反壓廣播的情況下,控制器在恢復(fù)正常服務(wù)之前會以簡單循環(huán)方式滿足全部請求。由于這一連接,被引入反壓機制中的等待時間并不影響出口緩沖,因為在此期間,路由器只會從其它路由器接收反壓數(shù)據(jù),它并不需要列隊等候。
出口路由器將集合閾值轉(zhuǎn)換從它的所有出口隊列進入一個反壓廣播,在一個交換周期它已經(jīng)發(fā)生,因此兩個張量之間反壓廣播的最大數(shù)量被限制為路由器的數(shù)量。當(dāng)入口路由器收到一個形式如圖8所示的反壓廣播向量,利用它來更新入口隊列的加權(quán)值為適當(dāng)值。
兩種在入口和出口路由器之間的反壓通知模式被支持,即起/停通知和多態(tài)通知。多態(tài)通知允許出口路由器發(fā)信號通知其所有隊列(每隊列1字節(jié))的多位狀態(tài)。在入口路由器中,多態(tài)反壓通知和加權(quán)循環(huán)調(diào)度配合起來,它可以將出口隊列充滿的可能性降至最低。在高負(fù)荷利用的交換機內(nèi)嘗試傳遞多點傳播或廣播業(yè)務(wù)時,這就尤為重要。
入口路由器通過CSIX接口向入口業(yè)務(wù)管理器發(fā)出起/停反壓通知,在通知過程中提供一個16比特的反壓信號,使入口路由器可以識別與該通知有關(guān)的入口隊列。出口隊列閾值被整體設(shè)置,而入口隊列閾值則每個隊列都設(shè)置。
控制器并不記錄出口路由器緩沖區(qū)的狀態(tài)。然而,核心級反壓適當(dāng)通過路由器/控制器接口,在相關(guān)路由器緩沖區(qū)為滿的情況下,通過阻止控制器向特定出口路由器調(diào)度任何業(yè)務(wù),從而避免出口緩沖區(qū)溢出。
系統(tǒng)芯片組中的多點傳播通過對入口和出口處張量的最優(yōu)復(fù)制來實現(xiàn)。入口路由器于每優(yōu)先級每出口路由器有一個多點傳播隊列。在每個適當(dāng)?shù)年犃兄杏贸隹诙帱c傳播掩碼創(chuàng)建一個入口多點傳播張量(參見圖8),出口多點傳播掩碼在核心報頭的目標(biāo)域TM中,每個張量(圖中體現(xiàn)了其中三個)長度為6至8個向量,10字節(jié)寬。反壓向量BPV,如圖中所示,可以安插在相鄰的張量中。于是,多點傳播張量可以與單點傳播一樣的方式被傳遞經(jīng)過核心,之后,出口路由器并行地將這些張量復(fù)制到所要求的出口緩沖區(qū)中。該多點傳播機制的目的是提供具有單點傳播和多點傳播業(yè)務(wù)之混合的最佳交換性能。特別是,它維護了調(diào)度和仲裁的效率和公平,使交換機提供一致的服務(wù)質(zhì)量。
該系統(tǒng)提供一種無損耗結(jié)構(gòu),因此,除非目標(biāo)隊列沒有全部為滿,多點傳播張量便不能被傳遞經(jīng)過交換矩陣。在一個高負(fù)荷利用的交換機中,如果只實現(xiàn)來自出口隊列的起/停反壓,則可能會嚴(yán)重限制用于多點傳播業(yè)務(wù)的可用帶寬。該系統(tǒng)中包括兩種提高多點傳播性能的機制,分別是1、來自出口路由器的多態(tài)反壓,它減小出口隊列為滿的可能性;2、當(dāng)受到阻塞時,增加多點傳播入口隊列在加權(quán)循環(huán)調(diào)度程序中的加權(quán)值,以增加阻塞清除后受到調(diào)度的機會。為避免多點傳播(和廣播)被離線出口端口阻塞,由外部系統(tǒng)通過結(jié)構(gòu)管理接口(FMI)可將反壓信號逐一屏蔽出去。
由每個出口路由器中一個芯片級廣播隊列可以滿足線速(wire-speed)廣播(基準(zhǔn))的要求。當(dāng)控制器調(diào)度一個廣播連接時,張量在交換矩陣中將被并行地傳送至所有路由器,從而避免任何入口擁塞(在入口處沒有張量復(fù)制)。當(dāng)路由器過渡進入或離開“所有出口緩沖區(qū)未滿”的狀態(tài),由每個路由器通知控制器,提供廣播反壓。控制器只有當(dāng)所有路由器中的所有出口緩沖區(qū)未滿時才會調(diào)度一個廣播。廣播反壓是一個可配置的選項。如果未被激活,路由器不會根據(jù)需要發(fā)送狀態(tài)消息,控制器根據(jù)指令調(diào)度廣播。采用這種方法,則無法保證包會被傳遞到所有的端口。
圖9中的示意圖表示交換矩陣。它包含了一個高速率的、邊緣計時的、同步的、16端口雙平面串行交叉點交換機SCN,用于該系統(tǒng)之中。它經(jīng)過優(yōu)化,具有可擴展的、高帶寬的、低等待時間的數(shù)據(jù)傳送性能。它在控制器SM的控制下工作,SM通過控制器接口SMI向該矩陣發(fā)送配置信息,在路由器之間為數(shù)據(jù)傳輸創(chuàng)建連接。緩沖區(qū)和解碼邏輯BDL接受配置信息,并使用配置信息控制矩陣內(nèi)的相互連接。數(shù)據(jù)以串行形式經(jīng)過一個串行數(shù)據(jù)輸入接口SDI進入,通過串行數(shù)據(jù)輸出接口SDO離開。如同在結(jié)構(gòu)管理接口FMI之間進出的信號一樣,復(fù)位(RS)和時鐘(CK)信號在需要時被被提供給交換機上,如信號進出結(jié)構(gòu)管理接口FMI時。配置信息以若干編碼域傳送,其形式?jīng)Q定哪個輸入端口應(yīng)該經(jīng)過交換矩陣與哪個輸出端口相連接。圖10所示的中央管理單元CMU具備若干功能,包括在交換矩陣和所有相連的收發(fā)器之間的同步數(shù)據(jù)傳輸,根據(jù)外部系統(tǒng)時鐘使所連接的收發(fā)器時鐘移相,在正常運行期間保持這個移相,從而在交換矩陣優(yōu)化對所連收發(fā)器發(fā)出之?dāng)?shù)據(jù)的接收。更進一步的功能是為設(shè)備提供復(fù)位接口。
圖10所示的NXN矩陣中包含一個內(nèi)部單向節(jié)點的原理矩陣,該矩陣允許任何輸入端口與任何輸出端口相連,因此數(shù)據(jù)可以從任意端口傳送到任意端口。這是一個正方矩陣,因此n個端口矩陣擁有n2個節(jié)點。任何時候,每個輸出端口不是與0就是與一個輸入端口相連接。當(dāng)輸出端口未與輸入端口連接時,該輸出端口的數(shù)據(jù)部分總是邏輯″0″。每個交換矩陣SM中包含兩個16端口的矩陣平面和一個全速到半速的轉(zhuǎn)換器。根據(jù)所連接端口的數(shù)量,每個矩陣平面可以被配置成不同的形式。一個平面可以配置為1×16端口、2×8端口或4×4端口矩陣。因此,如圖10所示,每個交換矩陣SM可以整個被配置為2平面×16端口、4平面X8端口或8平面X4端口。轉(zhuǎn)換器允許交換矩陣支持含有5Gps和10Gps路由器之混合的系統(tǒng)。如果矩陣被配置為一個16端口設(shè)備來運行,控制器使用全部控制端口域來連接入口和出口端口。對于4和8端口的配置而言,所要求的控制端口域數(shù)目分別是2和3。
在工作中,交換矩陣通過控制器接口SMI從控制器SM中接收配置信息。配置信息被載入并存儲于配置寄存器中。路由選擇信息以若干個編碼域的形式傳送,它確定哪個輸入端口經(jīng)過交換矩陣被連接至每一輸出端口。16×16的矩陣具有16個輸出端口。每個輸出端口對應(yīng)一個4比特的源地址,它被編碼,用于確定哪個輸入端口與輸出端口相連接。對于每個域有一個使能信號表示該域有效,還有一個配置信號表示整個接口有效。如果一個域被標(biāo)示為無效,則相對該域的輸出端口未連接。如果配置信號未認(rèn)定,則矩陣不會改變當(dāng)前配置。在配置信號被認(rèn)定時,設(shè)備載入控制器/矩陣接口上的配置信息。一條16級的可編程管道用于延遲配置信息,直到交換矩陣需要配置信息。如果一個端口上發(fā)生奇偶校驗錯誤,該端口的使能信號就會被設(shè)為0,一個零張量被送至該端口之輸出。存有奇偶校驗錯誤的寄存器,只有在配置信號為高時才會被載入,當(dāng)被診斷單元讀取后該寄存器被清零。對配置信號也要執(zhí)行奇偶校驗。如果此處出現(xiàn)奇偶校驗錯誤,就會認(rèn)定一個奇偶校驗失敗狀況,全部端口上的使能信號設(shè)置為0,設(shè)備上所有輸出端口將傳送零張量。路由器和矩陣之間的連接通過一組串行數(shù)據(jù)流,每個數(shù)據(jù)流運行速度為1G波特。一旦通過矩陣的連接建立后,就在入口和出口路由器之間傳送張量。由于插入的延遲很小,全部過程表現(xiàn)的等待時間很少??梢圆⑿信渲枚鄠€交換矩陣為并行方式工作,以提供具有更高的可擴展互連功能。
圖11表示控制器SM的設(shè)置。控制器的首要功能是建立和管理經(jīng)過交換矩陣的連接,來滿足用戶應(yīng)用之間數(shù)據(jù)傳送的要求。其帶寬分配算法被設(shè)計用于高效、公平地分配帶寬。控制器保持高吞吐量,保證不會出現(xiàn)隊列短缺。優(yōu)先級選擇器PSU負(fù)責(zé)選擇哪一個優(yōu)先級的向量在指定時間被調(diào)度。它從路由器接口單元SRI接收有關(guān)在各優(yōu)先級之隊列狀態(tài)的輸入(每個隊列長度的函數(shù))。于是,基于該單元內(nèi)建的帶寬分配功能,它確定隨后接受服務(wù)的優(yōu)先級別。帶寬優(yōu)先級功能可以在運行時利用上述的結(jié)構(gòu)管理接口FMI載入,因此,只要是在需要時,允許控制器根據(jù)預(yù)期負(fù)載調(diào)整它的優(yōu)先級調(diào)度特性。
調(diào)度和仲裁單元SAU負(fù)責(zé)在遞交過來的請求中決定在當(dāng)前路由選擇周期中批準(zhǔn)哪一組。它試圖在每個仲裁周期中向每個輸出交換端口發(fā)送一個張量。當(dāng)該邏輯決定如何將向量傳送通過交換結(jié)構(gòu)時,配置信息被傳遞到路由接口SRI和交換矩陣接口SCI邏輯上,以使向量能夠被傳輸。在需要的情況下,該單元每30納秒在交換矩陣中建立單點傳播和廣播連接的新配置。針對諸如ATM的應(yīng)用,可以基于每個連接對交換矩陣內(nèi)的帶寬進行分配。作為選擇,矩陣可以根據(jù)位于優(yōu)先級選擇器單元PSU之中的概率任務(wù)守恒算法來進行配置。
系統(tǒng)中的每個路由器都配備有路由器接口單元SIU。每個實例都具備下面將要介紹的功能。控制器SM監(jiān)視在每個輸入路由器隊列中張量的數(shù)量(每個路由器為每個系統(tǒng)目的端口在4個優(yōu)先級中的每個優(yōu)先級設(shè)有單獨的隊列連同一個多點傳播隊列)。一對連接緊密的狀態(tài)裝置用于實現(xiàn)監(jiān)視,一個在路由器中,另一個在控制器中。在隊列中只有少量向量的情況下,控制器精確計算向量數(shù)目。當(dāng)新向量加入隊列中時,路由器通知控制器,當(dāng)控制器調(diào)度隊列中的一個向量時,它使隊列長度減1。當(dāng)隊列中存在大量向量時,控制器只記錄隊列中向量的近似(模糊)數(shù)。當(dāng)隊列長度超過預(yù)定界限時,控制器收到路由器的通知。這樣一來,控制器中需要存儲和處理的狀態(tài)信息量就被減少到最小。
中央管理單元CMU對所有設(shè)備來說是公用的。它的作用是在每個設(shè)備和外部控制器之間提供結(jié)構(gòu)管理接口FMI,控制設(shè)備內(nèi)的錯誤管理,并為每個設(shè)備提供復(fù)位接口RS和基準(zhǔn)時鐘CK。
在操作中,控制器SM經(jīng)過控制器/路由器接口SRI從路由器收到連接請求,當(dāng)連接請求到達后,被安排在路由器接口SIU排隊。由于多個路由器可能同時請求連接,控制器提供調(diào)度和仲裁邏輯,使連接效率達到最大,并確保所有端口根據(jù)各自的優(yōu)先級級別接受公平級別的服務(wù)。路由器接口單元SIU向調(diào)度和仲裁單元SAU提出請求,要求得到每個非空隊列,由SAU決定在任何指定的交換周期中可以傳送哪個張量。調(diào)度和仲裁單元SAU嘗試在每個交換周期中向每個路由器發(fā)送一個張量。仲裁器也使用了位于優(yōu)先級選擇單元PSU之中的任務(wù)守恒算法,根據(jù)外部系統(tǒng)控制器規(guī)定的信息在交換矩陣中對每個優(yōu)先級分配帶寬。也可以基于每個連接分配帶寬。這一機制的典型應(yīng)用可以是ATM的″連接許可控制″功能,該功能可以動態(tài)地改變帶寬分配。
當(dāng)調(diào)度和仲裁單元SAU創(chuàng)建了所請求的連接時,相關(guān)的路由器對收到連接將要建立的通知,控制器向交換矩陣發(fā)送相應(yīng)的連接控制信息,以創(chuàng)建所請求的連接。這些動作在一系列交換周期中連續(xù)完成,其中每個周期包含三個關(guān)鍵步驟確定建立哪些連接、建立這些連接及傳送向量。這些步驟交錯進行,因而使交換周期時間盡可能小,所產(chǎn)生之結(jié)構(gòu)吞吐量盡可能高。交換周期時間是系統(tǒng)時鐘的倍數(shù)。每個交換周期中系統(tǒng)時鐘周期的數(shù)目影響路由器接口和交換矩陣接口的操作。出口路由器可以通過專用的廣播機制向入口路由器傳送反壓。通過控制器/路由器接口從出口路由器收到的反壓請求,在調(diào)度和仲裁單元SAU中的正常連接選擇之先接受服務(wù)。然后,反壓廣播則在允許繼續(xù)正常操作之前以循環(huán)方式接受服務(wù)。
在控制器/路由器接口中還具有稱為″核心級反壓″的另一個機制,它防止控制器將任何業(yè)務(wù)調(diào)度到特定的出口路由器上。路由器在它的所有出口緩沖區(qū)為滿時使用核心級反壓機制。
控制器能夠在交換矩陣中建立單點傳播和廣播連接,還能夠處理含有″全速″和″半速″端口之混合的系統(tǒng)配置,例如10G比特/秒和5G比特/秒之路由器的混合)。
圖12表示一個路由器設(shè)備。這是一個系統(tǒng)端口接口控制設(shè)備,它的主要功能是提供進出系統(tǒng)的訪問來支持用戶應(yīng)用數(shù)據(jù)的傳送請求。入口接口單元IIU有兩個實例,一個用于可連接到系統(tǒng)端口的業(yè)務(wù)管理器之每一個。該IIU負(fù)責(zé)將來自業(yè)務(wù)管理器的數(shù)據(jù)傳送到路由器上的內(nèi)部FIFO隊列中,通知ICU它已使張量準(zhǔn)備好以傳送至系統(tǒng)中。業(yè)務(wù)管理器的外部接口使用公用系統(tǒng)接口CSIX。這樣定義了一條n×8比特的數(shù)據(jù)總線,入口接口單元IIU在32比特模式下工作。FIFO為4張量深度,允許一個張量輸送到ICU,同時隨后的張量被接收。
為生成張量,該入口接口單元在傳送CSIX幀之前把一個3字節(jié)的系統(tǒng)核心報頭附加在CSIX幀上,表示這些張量對ICU的可用性。IIU檢查CSIX報頭,確定該幀類型是單點傳播、多點傳播或廣播,并將該幀類型告知ICU。如果該幀為單點傳播型,IIU在字節(jié)1中設(shè)置單獨的1比特來表示目的TM,這是從CSIX報頭中的目的地址中提取出來的。如果該幀為多點傳播型,就會創(chuàng)建一個張量并為16個具有非零CSIX掩碼的系統(tǒng)端口的每一個而發(fā)送。在該幀為廣播型的情況下,IIU就會將字節(jié)1全部設(shè)置為1。IIU還負(fù)責(zé)計算兩字節(jié)張量錯誤校驗,它采用周期性冗余校驗。
每一個入口接口單元IIU負(fù)責(zé)將業(yè)務(wù)管理器的起/停反壓信息通知給相關(guān)的出口接口單元EIU,從而實現(xiàn)業(yè)務(wù)管理器流控。IIU通過對CSIX控制總線解碼獲得這個反壓信息。如果奇偶校驗功能處于激活狀態(tài)(在狀態(tài)寄存器中設(shè)置適當(dāng)?shù)谋忍?,并且IIU在CSIX上發(fā)現(xiàn)了奇偶校驗錯誤,錯誤就會被記錄下來,相關(guān)的張量被丟棄??梢酝ㄟ^FMI檢索到這個錯誤記錄。
入口控制單元ICU負(fù)責(zé)從入口接口單元IIU中接收張量,向控制器接口單元SMIU提出連接請求,在控制器批準(zhǔn)連接之前存儲張量,再向收發(fā)器TXR傳送張量。有兩種類型的連接請求(和隨后的批準(zhǔn)),一個用于所有單點傳播/多點傳播張量,另一個用于廣播業(yè)務(wù)。在單點傳播/多點傳播張量的情況下,入口控制單元/控制接口單元的通知中合并有系統(tǒng)目的端口和優(yōu)先級。由于只存在一個廣播張量級別,對廣播張量來說,顯然不需要系統(tǒng)目的地址,也不需要優(yōu)先級標(biāo)識。
圖13表示入口緩沖。實現(xiàn)對于單點傳播隊列UQ的緩沖,使每個可能的目的業(yè)務(wù)管理器和優(yōu)先級都有一個緩沖區(qū)。除了單點傳播隊列之外,每個端口每個優(yōu)先級還有一個多點傳播隊列MQ,還有單獨的一個廣播隊列BQ。隊列被靜態(tài)地分配。共有512個單點傳播、64個多點傳播和1個廣播隊列。單點傳播和多點傳播隊列位于外部SRAM中。在隊列安排允許低于OC-12粒度的流控。在CSIX報頭的單點傳播地址域內(nèi),3比特被分配用于表示路由器能支持的業(yè)務(wù)管理器數(shù)目。由于路由器支持兩個業(yè)務(wù)管理器,剩余的比特域被用于稱為″服務(wù)通道″的功能。服務(wù)通道提供充分利用路由器固有的OC-12粒度特性的手段。
當(dāng)入口控制單元ICU從控制器接口單元SMIU(它指定出口端口和優(yōu)先級)收到連接批準(zhǔn)信號時,ICU必須在最多8個有資格的單點傳播隊列或多點傳播隊列中選擇一個隊列,從中傳遞一個張量。這是采用加權(quán)循環(huán)機制實現(xiàn)的。該機制中涉及到若干參數(shù)。一個參數(shù)是入口隊列的長度,它用于使較長的隊列優(yōu)先于較短的隊列。另一個參數(shù)是集合隊列張量緊急性(aggregate queue tensor urgency),它允許業(yè)務(wù)管理器通過CSIX報頭中的緊急性域臨時增加隊列的加權(quán)值。還有一個需要考慮的參數(shù)是隊列帶寬分配,利用它,外部系統(tǒng)控制器或系統(tǒng)操作員可以通過FMI對系統(tǒng)進行配置,來對單個流提供帶寬分配。最后一個被考慮的參數(shù)是目標(biāo)出口隊列反壓參數(shù)。要求是,為保證多點傳播方案的有效性能,要求出口隊列為滿的可能性最小化。加權(quán)功能對輸入變量的敏感性受到四組整體敏感性參數(shù)的控制(每優(yōu)先級一組)。這些設(shè)置在系統(tǒng)初始化時被配置。
為提供入口流控機制,入口控制單元ICU使用三個水位標(biāo)(watermark)等級表示隊列狀態(tài)(相當(dāng)空,加注,相當(dāng)滿或非常滿)。與水位標(biāo)相關(guān)聯(lián)的是滯后量(hystereis),這兩個值可以通過FMI來配置。當(dāng)一個隊列從一個狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€狀態(tài)時,ICU將這個轉(zhuǎn)變通知給每個出口接口單元EIU。除了″多態(tài)″反壓外,還可以調(diào)用一個第二反壓通知模式,它只包含起/停信號通知。通過FMI適當(dāng)設(shè)置水位標(biāo)等級選擇該反壓機制模式。
出口控制單元ECU將出口反壓信息通知給ICU。這個信息涉及發(fā)出通知的出口路由器的緩沖區(qū),或者涉及ECU接收到的關(guān)于另一個出口路由器緩沖區(qū)狀態(tài)的信息。如果這個信息是涉及發(fā)出通知的出口路由器的緩沖區(qū),ICU更新由入口調(diào)度算法使用的反壓狀態(tài),提出向控制器接口單元SMIU發(fā)送反壓信息的請求。如果這個信息涉及另一個出口路由器緩沖區(qū),ICU只更新自己的反壓狀態(tài)。
出口接口單元EIU有兩個實例,一個相對于連接在系統(tǒng)端口上的業(yè)務(wù)管理器之每一個。該出口接口單元負(fù)責(zé)從ECU接收張量,并通過CSIX將其以幀的形式傳送到相關(guān)的業(yè)務(wù)管理器上。
為了提供業(yè)務(wù)管理器流控,出口接口單元EIU從與之關(guān)聯(lián)的入口接口單元(即,連接在同一業(yè)務(wù)管理器上的一個)接受業(yè)務(wù)管理器的起/停反壓信息。如果EIU此時正在向業(yè)務(wù)管理器發(fā)送一個幀,它會繼續(xù)傳送當(dāng)前幀,然后等待,直到收到啟動指示,然后傳送任何隨后的各幀。
為提供入口流控,EIU從ICU處接收入口緩沖區(qū)多態(tài)反壓信息,并立即向業(yè)務(wù)管理器發(fā)送該信息。
當(dāng)出口控制單元ECU從控制器接口單元SMIU接收張量即將達到的通知時,ECU負(fù)責(zé)從串行收發(fā)器中接受張量,并將其傳遞到相關(guān)的EIU處。ECU檢查系統(tǒng)核心報頭的業(yè)務(wù)管理器掩碼字節(jié),確定正確的目的EIU。在多點傳播(或廣播)張量的情況下,掩碼中設(shè)置了多個比特,向量被同時傳送到所有相對于對應(yīng)比特設(shè)置的EIU。這一特性提供了在出口路由器處的線速多點傳播。ECU負(fù)責(zé)檢查系統(tǒng)核心報頭的張量錯誤校驗字節(jié),如果系統(tǒng)的核心錯誤校驗被激活(即,在狀態(tài)寄存器中設(shè)置了適當(dāng)?shù)奈?,且ECU檢測到錯誤,則錯誤被記錄下來,相關(guān)的張量被丟棄。為提供出口流控機制,ECU使用三個水位標(biāo)等級表示出口緩沖區(qū)狀態(tài)(相當(dāng)空、加注、相當(dāng)滿或非常滿)。當(dāng)出口緩沖區(qū)從一個狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€狀態(tài)時,ECU將這個轉(zhuǎn)變通知給ICU??梢越柚鶩MI配置水位標(biāo)的等級。除了這個″多態(tài)″反壓機制外,還可以調(diào)用只包含起/停通知信號的一個第二反壓通知模式。通過適當(dāng)設(shè)置水位標(biāo)的等級,可以經(jīng)FMI選擇反壓機制的類型。
控制器接口單元SMIU負(fù)責(zé)控制通向控制器的接口。由于控制器工作在系統(tǒng)端口、而非業(yè)務(wù)管理器端口級別的粒度,SMIU也在這一級別上工作。SMIU繼續(xù)計算與每個目的系統(tǒng)端口所關(guān)聯(lián)的入口隊列之中的張量數(shù)量。每當(dāng)SMIU從ICU處接收到一個張量到達的通知后,數(shù)量就會增加;每當(dāng)SMIU從控制器接收到一個批準(zhǔn)時數(shù)量就會減小。
控制器接口單元SMIU包含一個狀態(tài)裝置,它與控制器內(nèi)對應(yīng)的一個配合緊密。對于只有少數(shù)張量(少于6至7個)的情況,SMIU將每個新張量的到達通知控制器。對于有大量張量的情況,SMIU只在計數(shù)值超過預(yù)定界限時通知控制器。
中央管理單元對于所有設(shè)備是公用的,其作用是在每個設(shè)備和外部控制器之間提供FMI,控制設(shè)備內(nèi)的錯誤管理,并向每個設(shè)備提供復(fù)位接口和基準(zhǔn)時鐘。
參見前面的圖12,路由器通過CSIX入口和出口接口提供進入系統(tǒng)的訪問,通過CSIX接口ICSIX從入口業(yè)務(wù)管理器接收CSIX包后,入口接口單元IIU對包的類型和有效性進行校驗。該包隨后被包裝上一個核心報頭,報頭內(nèi)容因包類型而異。當(dāng)核心報頭被附上后,該包被稱為張量。入口控制單元通過控制器接口SMI向控制器請求建立經(jīng)過交換矩陣的連接,并存儲該張量,直到該連接被建立。為了消除對于單點傳播的線頭阻塞,入口緩沖被安排為獨立的隊列,一個隊列相對于每個可能的目的業(yè)務(wù)管理器TMQ1至TMQn和優(yōu)先級P1至P4,如圖13所示,為避免線頭阻塞,并不需要為每個優(yōu)先級安排獨立的隊列,但這樣的優(yōu)點是允許控制器針對交換機中的每個優(yōu)先級執(zhí)行帶寬分配。除了單點傳播隊列之外,還有每端口每優(yōu)先級的一個多點傳播隊列和單獨的一個廣播隊列。單點傳播和多點傳播隊列靜態(tài)地分配在外部SRAM中。這一級別緩沖的目的是通過將入口數(shù)據(jù)流的意圖傳給控制器,使得控制器有效地分配連接,并提供路由器外部接口和路由器/矩陣接口之間的速率匹配。
當(dāng)連接獲得批準(zhǔn)后,控制器創(chuàng)建一個連接,該連接經(jīng)過交換矩陣至所要求的出口路由器,并具有指定的優(yōu)先級。入口控制單元ICM此時必須在有資格的單點傳播或多點傳播隊列中選擇一個,從該隊列將一個張量傳送到收發(fā)器用于串行化。這一級別的路由調(diào)度是基于加權(quán)循環(huán)機制實現(xiàn)的。每個單點傳播和多點傳播隊列都有一個與之相關(guān)的加權(quán),它是由來自出口緩沖區(qū)的反壓、隊列長度、隊列緊急性和靜態(tài)帶寬分配來確定的。在出口端,控制器通知路由器張量即將到達。出口控制單元ECU接收這個張量并檢查核心報頭,了解哪個業(yè)務(wù)管理器發(fā)送該張量。張量隨后被組裝回到數(shù)據(jù)流,通過CSIX傳遞到適當(dāng)?shù)臉I(yè)務(wù)管理器。
在系統(tǒng)中的多點傳播是通過在入口及出口對張量的優(yōu)化復(fù)制實現(xiàn)的。在入口端,一個路由器針對每個出口路由器和每個優(yōu)先級都有一個多點傳播隊列。多點傳播路由選擇信息被附加在入口端。到達出口端時,這些掩碼確定張量之復(fù)制進入所需的出口緩沖區(qū)。在系統(tǒng)內(nèi)的廣播實現(xiàn)的途徑是,在每個路由器的入口安排一個單獨的芯片級廣播隊列。當(dāng)控制器調(diào)度一個廣播連接時,矩陣將張量并行地傳送到所有出口路由器,從而避免任何的入口擁塞。
有四種通向路由器的接口被用于正常操作,分別是控制器接口、交換矩陣接口、多路CSIX接口和結(jié)構(gòu)管理接口FMI。
開放標(biāo)準(zhǔn)的公用交換接口(CSIX)保證數(shù)據(jù)和控制信息在業(yè)務(wù)管理器和交換結(jié)構(gòu)之間的傳輸,并為系統(tǒng)提供協(xié)議獨立的級別。實際上,CSIX的實際工作基本上是很簡單的。業(yè)務(wù)管理器要編譯一個4字節(jié)的CSIX報頭,其中包含的信息有幀類型、目的端口、優(yōu)先級和緊急性。緊急性的概念是允許路由器內(nèi)的一個特定隊列擁有一個臨時受優(yōu)待的優(yōu)先級,以便為它獲得更大的機會在下一次被調(diào)度。這一特性有利于業(yè)務(wù)量整形和緩沖區(qū)優(yōu)化,一般說來,還有助于保持服務(wù)的高質(zhì)量。每個CSIX接口都是路由器和業(yè)務(wù)管理器之間一個點對點、雙向鏈路。一個單獨的CSIX接口支持一個業(yè)務(wù)管理器,最高可達OC-12級??梢詫⑷舾蓚€CSIX數(shù)據(jù)通道合并起來,支持更高帶寬的業(yè)務(wù)管理器同時使用單個控制通道。每個CSIX數(shù)據(jù)通道在各個方向上都是8比特的倍數(shù)(Tx和Rx)。
結(jié)構(gòu)管理接口FMI被實現(xiàn)為進出每個系統(tǒng)設(shè)備的位串行接口。它的工作頻率為25MHz,并使用專用協(xié)議。FMI完成若干個功能。它作為芯片組之系統(tǒng)控制的初級接口。它允許交換管理器讀取運行時間信息。它還允許用帶寬分配所需信息動態(tài)地更新所有設(shè)備。FMI還為系統(tǒng)建立和初始化提供訪問。
每個系統(tǒng)設(shè)備都包含一個邏輯模塊,稱為結(jié)構(gòu)管理接口單元(FMIU)。該FMIU與設(shè)備內(nèi)部的功能邏輯(也稱為核心)對接,從而提供對選中子集的寄存器和RAM單元在工作時間(讀/寫)的訪問;還提供一種機制,報告設(shè)備檢測到的工作時間故障狀況;以及,當(dāng)該功能邏輯無法工作時,對該功能邏輯中全部寄存器組的訪問(讀/寫)進行掃描。
通向結(jié)構(gòu)管理單元FMIU的外部接口需要若干輸入,包括一個硬復(fù)位(Hard Reset)輸入,它將系統(tǒng)設(shè)備重置為已知狀態(tài)。特別是,它將設(shè)備置于這樣的狀態(tài)下,即,F(xiàn)MIU充分發(fā)揮作用且串行接口可被使用。硬復(fù)位是被要求用于設(shè)備首次加電時,但也可以用于其它時候。外部接口還具有一條串行輸入線和串行輸出線,以及用于識別設(shè)備特定情況的設(shè)備定位地址域。設(shè)備定位域由打結(jié)(tie-offs)產(chǎn)生的,它由系統(tǒng)中設(shè)備的物理位置所決定。
如圖12所示,中央管理單元(CMU)的主要功能包括錯誤檢測和記錄邏輯。它負(fù)責(zé)在芯片內(nèi)或接口上檢測錯誤的情況和狀態(tài)。因此,它的功能性擴展在整個設(shè)計中,而非集中于特定模塊內(nèi)。錯誤被報告并儲存在錯誤和狀態(tài)寄存器和系統(tǒng)日志中,可以通過FMI訪問這些錯誤記錄。CMU還設(shè)有復(fù)位和時鐘產(chǎn)生邏輯,用于在設(shè)備內(nèi)部生成并發(fā)布時鐘和復(fù)位信號。另外,該CMU包含測試控制邏輯,它控制對于芯片測試的內(nèi)置機制。目標(biāo)故障覆蓋率是99.9%。在正常運行條件下不會使用這一邏輯。CMU最后的作用是向所有系統(tǒng)設(shè)備提供公用的結(jié)構(gòu)管理邏輯,這一邏輯提供對于錯誤記錄和來自外部控制器的配置數(shù)據(jù)的訪問。它還提供用于設(shè)備掃描測試和PCB測試的功能性。
總之,中央管理單元提供對于設(shè)備測試、系統(tǒng)建立以及關(guān)于該系統(tǒng)的錯誤和狀態(tài)報告的訪問。
權(quán)利要求
1.一種對通過數(shù)據(jù)交換機的信息包進行處理的方法,該交換機包括輸入業(yè)務(wù)控制器、入口路由器、無記憶周期交換結(jié)構(gòu)、出口路由器和輸出業(yè)務(wù)控制器,均由一個交換控制器進行控制,并相互連接,以使連接至該數(shù)據(jù)交換機的每一輸入線終止于一個業(yè)務(wù)控制器,該業(yè)務(wù)控制器用于將輸入線協(xié)議信息包轉(zhuǎn)換為含有信元頭的固定長度信元,該信元頭定義數(shù)據(jù)交換目的路由器和輸出業(yè)務(wù)控制器以及消息優(yōu)先權(quán)信息,這樣,每個入口路由器服務(wù)一組業(yè)務(wù)控制器,其特征在于,該入口路由器包括一組輸入緩沖區(qū)和一組虛擬輸出隊列緩沖區(qū),一個輸入緩沖區(qū)相對于每一輸入線,一個虛擬輸出隊列緩沖區(qū)相對于連接數(shù)據(jù)交換機的每一個輸出業(yè)務(wù)控制器,其中,該方法包括當(dāng)信元從業(yè)務(wù)控制器到達時,入口路由器檢查信元頭,并將它放在適當(dāng)?shù)奶摂M輸出隊列中,及產(chǎn)生一個傳輸消息請求,包括目的業(yè)務(wù)控制器地址和消息優(yōu)先級碼,它被傳送至數(shù)據(jù)交換控制器,該交換控制器通過使特定的入口路由器與特定的出口路由器相互連接,根據(jù)一個第一仲裁處理,調(diào)度信元在每一個交換結(jié)構(gòu)周期通過該交換結(jié)構(gòu),根據(jù)一個第二仲裁處理,入口路由器從適當(dāng)?shù)奶摂M輸出隊列選擇位于隊列之首的信元,以通過數(shù)據(jù)交換機至適當(dāng)?shù)妮敵鰳I(yè)務(wù)控制器。
2.根據(jù)權(quán)利要求1所述的對通過數(shù)據(jù)交換機的信息包進行處理的方法,其特征在于,入口緩沖被組織在分開的隊列中,每一隊列相對于每個目的業(yè)務(wù)控制器和每個優(yōu)先級。
3.根據(jù)權(quán)利要求1或2所述的對通過數(shù)據(jù)交換機的信息包進行處理的方法,其特征在于,入口路由器采用一個加權(quán)循環(huán)仲裁處理,根據(jù)入口隊列長度、集合隊列包緊急性和目標(biāo)業(yè)務(wù)控制器出口隊列反壓,以選擇下一個隊列緩沖區(qū)。
4.根據(jù)權(quán)利要求1或2或3所述的對通過數(shù)據(jù)交換機的信息包進行處理的方法,其特征在于,該第一仲裁處理包括確定在每個交換結(jié)構(gòu)周期被接受的一組請求,它在每一個仲裁周期中試圖傳送信息包給每一個輸出交換結(jié)構(gòu)端口。
5.一種用于處理信息包的數(shù)據(jù)交換機,包括輸入業(yè)務(wù)控制器、入口路由器、無記憶周期交換結(jié)構(gòu)、出口路由器和輸出業(yè)務(wù)控制器,均由一個交換控制器進行控制,并相互連接,以使連接至該數(shù)據(jù)交換機的每一輸入線終止于一個業(yè)務(wù)控制器,該業(yè)務(wù)控制器用于將輸入線協(xié)議信息包轉(zhuǎn)換為含有信元頭的固定長度信元,該信元頭定義數(shù)據(jù)交換目的路由器和輸出業(yè)務(wù)控制器以及消息優(yōu)先權(quán)信息,這樣,每個入口路由器服務(wù)一組業(yè)務(wù)控制器,其特征在于,該入口路由器包括一組輸入緩沖區(qū)和一組虛擬輸出隊列緩沖區(qū),一個輸入緩沖區(qū)相對于每一輸入線,一個虛擬輸出隊列緩沖區(qū)相對于連接數(shù)據(jù)交換機的每一個輸出業(yè)務(wù)控制器,其中,當(dāng)信元從業(yè)務(wù)控制器到達時,入口路由器檢查信元頭,并將它放在適當(dāng)?shù)奶摂M輸出隊列中,及產(chǎn)生一個傳輸消息請求,包括目的業(yè)務(wù)控制器地址和消息優(yōu)先權(quán)代碼,它被傳送至數(shù)據(jù)交換控制器,該交換控制器通過使特定的入口路由器與特定的出口路由器相互連接,根據(jù)一個第一仲裁處理,調(diào)度信元在每一個交換結(jié)構(gòu)周期通過該交換結(jié)構(gòu),根據(jù)一個第二仲裁處理,入口路由器從適當(dāng)?shù)奶摂M輸出隊列選擇位于隊列之首的信元,將其通過數(shù)據(jù)交換機送至適當(dāng)?shù)妮敵鰳I(yè)務(wù)控制器。
6.根據(jù)權(quán)利要求5所述的用于處理信息包的數(shù)據(jù)交換機,其特征在于,該虛擬輸出隊列被設(shè)置為分開的隊列,每一個隊列相對于每一個目的業(yè)務(wù)控制器和每一個優(yōu)先權(quán)級別。
7.根據(jù)權(quán)利要求5或6所述的用于處理信息包的數(shù)據(jù)交換機,其特征在于,入口路由器采用一個加權(quán)循環(huán)仲裁機制,根據(jù)入口隊列長度、集合隊列包緊急性和目標(biāo)業(yè)務(wù)控制器出口隊列反壓,以選擇下一個隊列緩沖區(qū)。
8.根據(jù)權(quán)利要求5或6或7所述的用于處理信息包的數(shù)據(jù)交換機,其特征在于,該交換控制器執(zhí)行一個第一仲裁處理,該處理包括通過在每一個仲裁周期中試圖傳送信息包給每一個輸出交換結(jié)構(gòu)端口,確定在每個交換結(jié)構(gòu)周期被接受的一組請求。
9.一種對通過數(shù)據(jù)交換機的信息包進行處理的方法,如附圖中所顯示和說明的方法。
10.一種用于處理信息包的數(shù)據(jù)交換機,如附圖中所顯示和說明的結(jié)構(gòu)。
全文摘要
一種用于處理信息包的數(shù)據(jù)交換機,包括輸入業(yè)務(wù)管理器、入口路由器、無記憶循環(huán)交換結(jié)構(gòu)、出口路由器和輸出業(yè)務(wù)管理器,所有動作都在一個交換控制器的控制下。每個入口路由器包括一組虛擬輸出緩沖區(qū),一個虛擬輸出緩沖區(qū)相對于每個輸出業(yè)務(wù)管理器和每個消息優(yōu)先級。當(dāng)每個數(shù)據(jù)包或信元到達時被檢查,以識別輸出業(yè)務(wù)管理器地址及其消息優(yōu)先級。該交換控制器使用一個第一仲裁和選擇處理,以調(diào)度下一個信元通過該交換結(jié)構(gòu),該入口路由器使用一個第二仲裁和選擇處理,以選擇適當(dāng)?shù)奶摂M輸出隊列,用于在交換結(jié)構(gòu)中的傳輸。
文檔編號H04L12/64GK1357188SQ9981490
公開日2002年7月3日 申請日期1999年11月10日 優(yōu)先權(quán)日1998年12月22日
發(fā)明者伊恩·戴維·約翰遜, 邁克爾·帕特里克·羅伯特·柯林斯, 保羅·豪沃思 申請人:鮑爾·??怂褂邢薰?