專利名稱:用于交換數(shù)據(jù)分組或幀的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種裝置和一種方法,用于交換數(shù)據(jù),例如數(shù)據(jù)分組或幀,其中多個(gè)設(shè)備通過一條數(shù)據(jù)總線彼此通信,其中每個(gè)設(shè)備與一個(gè)或多個(gè)I/O端口通信。
背景技術(shù):
已知多個(gè)實(shí)施多個(gè)I/O端口的正常交換器,這些I/O端口均允許相同的最高數(shù)據(jù)速率。在此情況下,它們可以都以相同的數(shù)據(jù)速率與一個(gè)中樞總線通信。但是當(dāng)要提供具有不同的最高數(shù)據(jù)速率的I/O端口時(shí),會(huì)發(fā)現(xiàn)一個(gè)問題。
此問題在例如EP-A-1162798中獲得了解決,其中提供了一個(gè)公共存儲(chǔ)器,從而各個(gè)I/O端口對(duì)此公共存儲(chǔ)器和公共數(shù)據(jù)總線的訪問權(quán)限與該I/O端口的數(shù)據(jù)速率相聯(lián)系。但是,通過這種方式,一個(gè)端口與公共存儲(chǔ)器的通信將阻礙所有其他端口在該時(shí)間段與公共存儲(chǔ)器的通信。
其他技術(shù)可參見US-A-6,335,932和WO00/72524。
發(fā)明內(nèi)容
在一個(gè)第一方面中,本發(fā)明涉及一個(gè)用于交換數(shù)據(jù)的裝置,該裝置包括-一條數(shù)據(jù)總線-多個(gè)可通過數(shù)據(jù)總線彼此交換數(shù)據(jù)的設(shè)備,每個(gè)設(shè)備可從至少一個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給該I/O端口,至少一個(gè)第一設(shè)備可從多個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給這些I/O端口,
-用于確定設(shè)備之間在數(shù)據(jù)總線上交換數(shù)據(jù)的順序的仲裁器裝置所述設(shè)備能夠-接收和存儲(chǔ)來自一個(gè)相應(yīng)的I/O端口的數(shù)據(jù),-將關(guān)于一個(gè)(最好是每個(gè))相應(yīng)的端口的阻塞或可用信息發(fā)送給仲裁器,-從仲裁器接收指示接收到的數(shù)據(jù)是否可在數(shù)據(jù)總線上發(fā)送的信息,-如果接收到的信息指示數(shù)據(jù)可被發(fā)送,則在數(shù)據(jù)總線上發(fā)送數(shù)據(jù),以及-從數(shù)據(jù)總線接收數(shù)據(jù)并將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給一個(gè)相應(yīng)的I/O端口,仲裁器能夠-從所述多個(gè)設(shè)備接收阻塞或不可用信息,以及-根據(jù)阻塞信息確定交換數(shù)據(jù)的順序。
通常,每個(gè)I/O端口可與一個(gè)或多個(gè)計(jì)算機(jī)或網(wǎng)絡(luò)通信。
從而,至少設(shè)備之一將具有多個(gè)端口,這對(duì)仲裁等形成了挑戰(zhàn),因?yàn)檫@些端口與數(shù)據(jù)總線只有一個(gè)“連接”。其他設(shè)備可能只具有一個(gè)或不同數(shù)目個(gè)端口。
在本文中,端口或設(shè)備不可用的原因可能有多個(gè)。一個(gè)原因是其中的阻塞,因此端口不能發(fā)送接收到的數(shù)據(jù)。另一個(gè)原因是與設(shè)備間的帶寬相比,端口外的帶寬可能填滿設(shè)備或端口中的緩沖器,以至于需要減少傳輸或暫時(shí)中止傳輸。這也是一種類型的阻塞。
在本文中,數(shù)據(jù)總線上的數(shù)據(jù)交換可由一系列設(shè)備同時(shí)、以交錯(cuò)的方式或以脈動(dòng)的方式串行地、并行地、時(shí)分復(fù)用地執(zhí)行。
在首選實(shí)施方式中,當(dāng)總線上發(fā)送和接收設(shè)備之間傳輸分組期間,兩個(gè)設(shè)備可通過總線和其他在中間接收分組的設(shè)備通信。最好多個(gè)設(shè)備可在數(shù)據(jù)總線上至少以基本相同的速率直接與彼此交換數(shù)據(jù)。在此種方式中,數(shù)據(jù)總線是一個(gè)交叉點(diǎn),而不僅是數(shù)據(jù)交換總線。首選的數(shù)據(jù)總線是一個(gè)由多個(gè)設(shè)備形成的環(huán)狀的總線,其中每個(gè)設(shè)備可從一個(gè)設(shè)備接收數(shù)據(jù),并能將數(shù)據(jù)發(fā)送到另一個(gè)設(shè)備。
在當(dāng)前的首選實(shí)施方式中,設(shè)備像珍珠一樣位于由數(shù)據(jù)總線形成的鏈子上。設(shè)備通過沿著環(huán)的同一方向并且在設(shè)備間逐個(gè)轉(zhuǎn)發(fā)數(shù)據(jù)來交換數(shù)據(jù)。這可以通過脈動(dòng)的方式執(zhí)行,因?yàn)樗性O(shè)備實(shí)際上可向下一個(gè)設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)。當(dāng)一個(gè)設(shè)備接收到數(shù)據(jù)時(shí),它將確定該數(shù)據(jù)是不是給該設(shè)備的-如果不是的話就只是轉(zhuǎn)發(fā)數(shù)據(jù)-或者數(shù)據(jù)是否還針對(duì)其他設(shè)備的。
目前,數(shù)據(jù)段可為任何類型的數(shù)據(jù),例如一個(gè)數(shù)據(jù)分組或幀,這種數(shù)據(jù)分組或幀遵循一個(gè)標(biāo)準(zhǔn),例如以太網(wǎng)、IEEE 802.3、SONET和/或令牌環(huán)標(biāo)準(zhǔn)。在本文中,一個(gè)數(shù)據(jù)分組或幀可為數(shù)據(jù)和其他信息的任何集合。通常,一個(gè)數(shù)據(jù)分組或幀將具有一個(gè)帶有尋址或路由信息的報(bào)頭,以及一個(gè)攜帶著要發(fā)送或傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)部分或有效載荷。數(shù)據(jù)可在本系統(tǒng)或方法之外被傳輸或作為一種類型存在,例如具有固定或變化的大小的數(shù)據(jù)分組或單元-但也可以另一種方式(例如作為固定大小的單元)在本系統(tǒng)內(nèi)部交換。
設(shè)備宜可用于建立一個(gè)發(fā)送設(shè)備和一個(gè)接收設(shè)備之間的一個(gè)連接,該連接在數(shù)據(jù)已被發(fā)送后被刪除。通過這種方式,在一個(gè)具有較慢的端口的設(shè)備與一個(gè)具有較快的端口的設(shè)備之間的數(shù)據(jù)交換將確保分組或幀在具有較快的端口的設(shè)備不被延遲的情況下被迅速地傳輸。接收設(shè)備宜包括用于在將接收到的數(shù)據(jù)發(fā)送到目標(biāo)端口之前接收并保存這些數(shù)據(jù)的裝置。
第一數(shù)目個(gè)I/O端口可允許一個(gè)第一高、較高的數(shù)據(jù)接收/發(fā)送速率,第二數(shù)目個(gè)I/O端口可允許一個(gè)第二高、較低的數(shù)據(jù)接收/發(fā)送速率,該速率比較高的速率低。
在一種情況下,至少一個(gè)I/O端口將進(jìn)一步允許一個(gè)或多個(gè)其他的數(shù)據(jù)接收/發(fā)送速率,該速率比其最高數(shù)據(jù)速率低。這可能是三速端口(根據(jù)端口與之通信的其他網(wǎng)絡(luò)元件的能力允許1G比特/秒、100M比特/秒和10M比特/秒的端口)的情況。
在通信中,標(biāo)準(zhǔn)化的數(shù)據(jù)速率通常是彼此的因數(shù)。在以太網(wǎng)中,數(shù)據(jù)速率是10的因數(shù)(10M比特/秒、100M比特/秒、1G比特/秒、10G比特/秒),而在SONET中因數(shù)是4。從而通過較高的第一數(shù)據(jù)速率是較低的第二數(shù)據(jù)速率的整數(shù)倍。
每個(gè)設(shè)備最好能夠至少以第一速率從數(shù)據(jù)總線接收數(shù)據(jù)并將數(shù)據(jù)發(fā)送給數(shù)據(jù)總線。當(dāng)每個(gè)設(shè)備的各個(gè)端口的速率合計(jì)達(dá)到一個(gè)預(yù)定的最高數(shù)據(jù)速率時(shí)-或一個(gè)低于最高速率的速率時(shí),設(shè)備在總線上通信的速率通常將比該最高速率高,以便在總線上具有一個(gè)加速因子。
在一個(gè)首選實(shí)施方式中,每個(gè)設(shè)備可以有效地連接到第一群組的一個(gè)或多個(gè)I/O端口或者第二群組的多個(gè)I/O端口。作為替換,設(shè)備也可具有相同數(shù)目的第一和第二I/O端口。
至少一個(gè)設(shè)備宜包括一個(gè)存儲(chǔ)裝置,該存儲(chǔ)裝置包括多個(gè)數(shù)據(jù)隊(duì)列,用于存儲(chǔ)從一個(gè)或多個(gè)I/O端口和/或從數(shù)據(jù)總線接收到的數(shù)據(jù)。對(duì)于每個(gè)I/O端口,存儲(chǔ)裝置可具有一個(gè)或多個(gè)數(shù)據(jù)隊(duì)列。此外,至少一個(gè)第二設(shè)備可進(jìn)一步包括一個(gè)接口,該接口在具有第一和第二I/O端口的第一組合的第一實(shí)施方式和具有第一和第二I/O端口的第二組合的第二實(shí)施方式之間是可變的,存儲(chǔ)裝置可在第一和第二實(shí)施方式中為由接口實(shí)現(xiàn)的每個(gè)I/O端口提供一個(gè)或多個(gè)隊(duì)列。此外,可能希望用于第一I/O端口的隊(duì)列的大小不同于用于第二I/O端口的隊(duì)列。
在第一實(shí)施方式中,接口可具有多個(gè)第二I/O端口,在第二實(shí)施方式中,接口可具有一個(gè)或多個(gè)第一I/O端口,在第一實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第一I/O端口可包括第一數(shù)目個(gè)隊(duì)列,在第二實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第二I/O端口可包括第二數(shù)目個(gè)隊(duì)列。
隊(duì)列數(shù)目可以是相同的,例如每個(gè)優(yōu)先級(jí)是一個(gè)。
仲裁器最好能夠向至少一個(gè)第一設(shè)備提供關(guān)于一個(gè)或多個(gè)相應(yīng)的端口可向哪個(gè)設(shè)備發(fā)送數(shù)據(jù)的信息。在多個(gè)端口希望發(fā)送并且哪個(gè)端口發(fā)送數(shù)據(jù)不是不重要的情況下(如果一個(gè)端口希望向一個(gè)阻塞的端口發(fā)送數(shù)據(jù)),這將促進(jìn)傳輸。
仲裁器最好能夠?yàn)橹辽僖粋€(gè)第一設(shè)備檢查是否多個(gè)端口中的第一端口希望向一個(gè)阻塞的或不可用的端口發(fā)送數(shù)據(jù),如果是的話,則檢查是否多個(gè)端口的另一個(gè)端口希望向一個(gè)未阻塞的或可用的端口發(fā)送數(shù)據(jù),如果是的話,則向至少一個(gè)第一設(shè)備發(fā)送關(guān)于其他端口被允許發(fā)送數(shù)據(jù)的信息。
從而,選擇了一個(gè)希望向一個(gè)可用端口或設(shè)備發(fā)送數(shù)據(jù)的端口(如果這樣的端口存在的話)。在本文中,數(shù)據(jù)的優(yōu)先級(jí)也會(huì)被考慮(參見下文),以便根據(jù)其優(yōu)先級(jí)評(píng)估每個(gè)傳輸。
此外,至少一個(gè)第一設(shè)備最好能夠確定向哪個(gè)I/O端口發(fā)送從數(shù)據(jù)總線接收到的數(shù)據(jù),因?yàn)樗鼘耐粋€(gè)數(shù)據(jù)總線接收所有數(shù)據(jù)。這種確定可根據(jù)數(shù)據(jù)本身做出,或者根據(jù)作為數(shù)據(jù)的一部分或附加在數(shù)據(jù)上(在數(shù)據(jù)總線上或與數(shù)據(jù)總線并行地)發(fā)送給設(shè)備的附加數(shù)據(jù)做出。
通常,確定的仲裁器的交換/交流順序可被確定為使得當(dāng)數(shù)據(jù)發(fā)向一個(gè)未阻塞的或可用的端口時(shí)才被允許在數(shù)據(jù)總線上轉(zhuǎn)發(fā)。但是,在一個(gè)有趣的實(shí)施方式中,一個(gè)設(shè)備能夠確定一個(gè)相應(yīng)的I/O端口處的阻塞,并將相應(yīng)的信息發(fā)送給仲裁器,并且當(dāng)一個(gè)阻塞的I/O端口希望向一個(gè)接收設(shè)備或I/O端口發(fā)送數(shù)據(jù)時(shí),仲裁器能夠不考慮接收設(shè)備或I/O端口的任何阻塞或不可用性,并通知相關(guān)設(shè)備阻塞的I/O端口被允許發(fā)送數(shù)據(jù)。這將是對(duì)于上述情況的唯一例外。
從而,即使在一個(gè)設(shè)備的出口方有阻塞,在接收設(shè)備的入口方的阻塞也可否決該阻塞,因此促進(jìn)數(shù)據(jù)交換,并將數(shù)據(jù)溢出問題轉(zhuǎn)移到出口方,從而出口方可決定丟棄數(shù)據(jù)。
每個(gè)設(shè)備最好能夠?qū)⒃谙嚓P(guān)I/O端口處接收到的所有數(shù)據(jù)發(fā)送給數(shù)據(jù)總線。從而在單個(gè)端口之間不會(huì)在設(shè)備中發(fā)生內(nèi)部交換。在此種方式中,設(shè)備可以不那么復(fù)雜。
本裝置宜包括至少一個(gè)設(shè)備,該設(shè)備進(jìn)一步包括一個(gè)處理裝置,該處理裝置能夠-為在其I/O端口接收到的每個(gè)分組或幀提供一個(gè)優(yōu)先級(jí),
-在發(fā)送到數(shù)據(jù)總線之前將在其I/O端口接收到的每個(gè)分組或幀分成單元,并在從I/O端口輸出之前將從數(shù)據(jù)總線接收到的單元組裝成幀或分組,-處理在I/O端口接收到的每個(gè)分組或幀,和/或-從在I/O端口接收到的每個(gè)分組或幀中得到用于傳輸給仲裁器的信息設(shè)備可為設(shè)備的每個(gè)I/O端口包括一個(gè)處理裝置。
此外,裝置還可進(jìn)一步包括一個(gè)查找(Look-Up)引擎,該查找引擎能夠接收關(guān)于在一個(gè)I/O端口接收到的每個(gè)數(shù)據(jù)段的信息并且從該信息中得出關(guān)于一個(gè)或多個(gè)接收數(shù)據(jù)段的I/O端口或設(shè)備的標(biāo)識(shí)信息。從而,每個(gè)設(shè)備可進(jìn)一步從接收到的每個(gè)數(shù)據(jù)段得出關(guān)于該數(shù)據(jù)段的信息,將該信息發(fā)送給LU引擎,從LU引擎接收標(biāo)識(shí)信息,并且在數(shù)據(jù)總線上交換標(biāo)識(shí)信息和數(shù)據(jù)段(例如固定大小的單元)。在最后一種情況中,數(shù)據(jù)和標(biāo)識(shí)信息可在接收到標(biāo)識(shí)信息之后以及在數(shù)據(jù)總線上交換它們之前被存儲(chǔ),以及/或者至少一個(gè)設(shè)備能夠根據(jù)標(biāo)識(shí)信息,確定數(shù)據(jù)是否是針對(duì)于該設(shè)備的,如果數(shù)據(jù)不是針對(duì)該設(shè)備的則沿著數(shù)據(jù)總線轉(zhuǎn)發(fā)數(shù)據(jù)。
在一個(gè)實(shí)施方式中,至少一個(gè)第三設(shè)備具有用于為其相應(yīng)的I/O端口接收到的每個(gè)數(shù)據(jù)段提供一個(gè)優(yōu)先級(jí)的裝置,并且其中仲裁器也能夠根據(jù)數(shù)據(jù)的優(yōu)先級(jí)確定交換數(shù)據(jù)的順序。
所述優(yōu)先級(jí)可用于仲裁器中以給予高優(yōu)先級(jí)數(shù)據(jù)優(yōu)先級(jí)-即首先交換/交流高優(yōu)先級(jí)數(shù)據(jù)以及僅那些可與要交換的高優(yōu)先級(jí)數(shù)據(jù)一起交換的低優(yōu)先級(jí)數(shù)據(jù)(或者較低優(yōu)先級(jí)數(shù)據(jù)已等待了足夠長時(shí)間時(shí))。此優(yōu)先級(jí)也可用于存儲(chǔ)在不同隊(duì)列中的數(shù)據(jù)-并且可為端口/設(shè)備和優(yōu)先級(jí)均指定可用性/阻塞數(shù)據(jù)以便一個(gè)特定端口可實(shí)際被阻塞-但僅對(duì)于一個(gè)給定的優(yōu)先級(jí)。
此外,當(dāng)不止一個(gè)端口或設(shè)備要接收由一個(gè)接收設(shè)備接收到的一個(gè)數(shù)據(jù)段時(shí),仲裁器能夠確定哪些端口和設(shè)備是可用的或未阻塞的,并將信息發(fā)送到接收設(shè)備,以便讓其將數(shù)據(jù)轉(zhuǎn)發(fā)給那些端口和設(shè)備,并且隨后當(dāng)其他端口或設(shè)備可用或未阻塞時(shí),通知接收設(shè)備將數(shù)據(jù)轉(zhuǎn)發(fā)到那些設(shè)備或端口。
在這種方式中,在傳輸?shù)剿卸丝跁r(shí)傳輸沒有因?yàn)槟承┒丝诓豢捎枚谎舆t。首先發(fā)送到可用端口然后發(fā)送到其余端口(或者通過更多步驟執(zhí)行傳輸)提高了交叉點(diǎn)的速率。
本發(fā)明的一個(gè)第二方面涉及一種在一個(gè)交換裝置中交換數(shù)據(jù)的方法,該交換裝置包括-一條數(shù)據(jù)總線-多個(gè)可通過數(shù)據(jù)總線彼此交換數(shù)據(jù)的設(shè)備,每個(gè)設(shè)備可從至少一個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給該I/O端口(每個(gè)端口最好能夠與一個(gè)或多個(gè)計(jì)算機(jī)或網(wǎng)絡(luò)通信),至少一個(gè)第一設(shè)備可從多個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給這些I/O端口,-用于確定設(shè)備之間在數(shù)據(jù)總線上交換數(shù)據(jù)的順序的仲裁器裝置,該方法包括每個(gè)設(shè)備-接收和存儲(chǔ)來自一個(gè)相應(yīng)的I/O端口的數(shù)據(jù),-將關(guān)于一個(gè)(最好是每個(gè))相應(yīng)的端口的阻塞或可用信息發(fā)送給仲裁器,-從仲裁器接收指示接收到的數(shù)據(jù)是否可在數(shù)據(jù)總線上發(fā)送的信息,-如果接收到的信息指示數(shù)據(jù)可被發(fā)送,則在數(shù)據(jù)總線上發(fā)送數(shù)據(jù),以及-從數(shù)據(jù)總線接收數(shù)據(jù)并將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給一個(gè)相應(yīng)的I/O端口,仲裁器能夠-從設(shè)備接收阻塞或不可用信息,以及-根據(jù)阻塞信息確定交換數(shù)據(jù)的順序(最好使得數(shù)據(jù)僅在它是發(fā)向一個(gè)非阻塞的或可用端口時(shí)才被允許在數(shù)據(jù)總線上轉(zhuǎn)發(fā))。
此外,當(dāng)多個(gè)設(shè)備(最好是所有設(shè)備)以至少基本相同的速率在數(shù)據(jù)總線上直接彼此交換數(shù)據(jù)時(shí),數(shù)據(jù)總線可被用作一個(gè)交叉點(diǎn)。在此情況下,第一數(shù)目個(gè)I/O端口可允許一個(gè)第一高、較高的數(shù)據(jù)接收/發(fā)送速率,第二數(shù)目個(gè)I/O端口可允許一個(gè)第二高、較低的數(shù)據(jù)接收/發(fā)送速率,該速率比較高的速率低。此外,至少一個(gè)I/O端口還允許一個(gè)或多個(gè)其他的數(shù)據(jù)接收/發(fā)送速率,所述速率比其最高數(shù)據(jù)速率低,每個(gè)設(shè)備最好能夠至少以第一速率從數(shù)據(jù)總線接收數(shù)據(jù)并將數(shù)據(jù)發(fā)送給數(shù)據(jù)總線,并且每個(gè)設(shè)備可與第一群組的一個(gè)或多個(gè)I/O端口或者第二群組的多個(gè)I/O端口通信。
在首選實(shí)施方式中,至少一個(gè)第二設(shè)備將從一個(gè)或多個(gè)相應(yīng)的I/O端口和/或數(shù)據(jù)總線接收到的數(shù)據(jù)段存儲(chǔ)在一個(gè)存儲(chǔ)裝置中,該存儲(chǔ)裝置包括多個(gè)用于保存數(shù)據(jù)段的數(shù)據(jù)隊(duì)列。從而,對(duì)于每個(gè)相應(yīng)的I/O端口,所述至少一個(gè)第二設(shè)備可將數(shù)據(jù)段存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)隊(duì)列中。此外,所述至少一個(gè)第二設(shè)備可進(jìn)一步包括一個(gè)接口,該接口在具有第一和第二I/O端口的第一組合的第一實(shí)施方式和具有第一和第二I/O端口的第二組合的第二實(shí)施方式之間是變化的,所述存儲(chǔ)裝置可在第一和第二實(shí)施方式中都為由接口實(shí)現(xiàn)的每個(gè)I/O端口提供一個(gè)或多個(gè)隊(duì)列。在該情況下,在第一實(shí)施方式中,接口可具有多個(gè)第二I/O端口,在第二實(shí)施方式中,接口可具有一個(gè)或多個(gè)第一I/O端口,在第一實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第一I/O端口可包括第一數(shù)目個(gè)隊(duì)列,在第二實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第二I/O端口可包括第二數(shù)目個(gè)隊(duì)列。
仲裁器宜接收關(guān)于在I/O端口處接收的每個(gè)數(shù)據(jù)段(例如一個(gè)數(shù)據(jù)分組或幀)的信息,該信息包括用于接收該數(shù)據(jù)的一個(gè)I/O端口和/或一個(gè)設(shè)備。
此外,仲裁器宜向至少一個(gè)第一設(shè)備提供關(guān)于可向哪個(gè)相應(yīng)的端口發(fā)送數(shù)據(jù)的信息。在該情況下,仲裁器宜為至少一個(gè)第一設(shè)備檢查是否多個(gè)端口中的第一端口希望向一個(gè)阻塞的或不可用的端口發(fā)送數(shù)據(jù),如果是的話,則檢查是否多個(gè)端口的另一個(gè)端口希望向一個(gè)未阻塞的或可用的端口發(fā)送數(shù)據(jù),如果是的話,則向所述至少一個(gè)第一設(shè)備發(fā)送關(guān)于其他端口被允許發(fā)送數(shù)據(jù)的信息。
在一個(gè)首選實(shí)施方式,所述至少一個(gè)第一設(shè)備確定向哪個(gè)I/O端口發(fā)送從數(shù)據(jù)總線接收到的數(shù)據(jù)。
此外,在一個(gè)首選實(shí)施方式中,一個(gè)設(shè)備確定一個(gè)相應(yīng)的I/O端口的接收部分處的阻塞,并將相應(yīng)的信息發(fā)送給仲裁器,并且當(dāng)一個(gè)阻塞的I/O端口希望向一個(gè)接收設(shè)備或I/O端口發(fā)送數(shù)據(jù)時(shí),仲裁器能夠不考慮接收設(shè)備或I/O端口的任何阻塞或不可用性,并通知相關(guān)設(shè)備阻塞的I/O端口被允許發(fā)送數(shù)據(jù)。
每個(gè)設(shè)備可將在相關(guān)I/O端口處接收到的所有數(shù)據(jù)段發(fā)送給數(shù)據(jù)總線。
通常,如果需要一個(gè)正常交換行為,則至少一個(gè)第三設(shè)備可進(jìn)一步包括一個(gè)或多個(gè)處理步驟,這些步驟是-為在其I/O端口接收到的每個(gè)分組或幀提供一個(gè)優(yōu)先級(jí),-在發(fā)送到數(shù)據(jù)總線之前將在其I/O端口接收到的每個(gè)分組或幀分成單元,并在從I/O端口輸出之前將從數(shù)據(jù)總線接收到的單元組裝成幀或分組,-處理在I/O端口接收到的每個(gè)分組或幀,以及-從在I/O端口接收到的每個(gè)分組或幀中得出用于傳輸給仲裁器的信息。
從而,至少一個(gè)第三設(shè)備可為設(shè)備的每個(gè)I/O端口執(zhí)行一個(gè)或多個(gè)處理步驟,以及/或者為在其相應(yīng)的I/O端口處接收到的每個(gè)數(shù)據(jù)段執(zhí)行提供一個(gè)優(yōu)先級(jí)的步驟,并且,從而仲裁器能夠根據(jù)數(shù)據(jù)的優(yōu)先級(jí)確定交換數(shù)據(jù)的順序。
該方法宜進(jìn)一步包括以下步驟一個(gè)查找(Look-Up)引擎接收關(guān)于在一個(gè)I/O端口接收到的每個(gè)數(shù)據(jù)段的信息,并且從該信息中得出關(guān)于一個(gè)或多個(gè)接收該數(shù)據(jù)段的I/O端口或設(shè)備的標(biāo)識(shí)信息。從而,每個(gè)設(shè)備可進(jìn)一步從接收到的每個(gè)數(shù)據(jù)段得出關(guān)于該數(shù)據(jù)段的信息,將該信息發(fā)送給LU引擎,從LU引擎接收標(biāo)識(shí)信息,并且在數(shù)據(jù)總線上一起交換標(biāo)識(shí)信息和數(shù)據(jù)段。此外數(shù)據(jù)和標(biāo)識(shí)信息可在接收到標(biāo)識(shí)信息之后以及在數(shù)據(jù)總線上交換它們之前被存儲(chǔ)。此外,至少一個(gè)第四設(shè)備可根據(jù)標(biāo)識(shí)信息確定數(shù)據(jù)是否是針對(duì)于該設(shè)備的。最后,當(dāng)不止一個(gè)端口或設(shè)備要接收由一個(gè)接收設(shè)備接收到的一個(gè)數(shù)據(jù)段時(shí),仲裁器能夠確定哪些端口和設(shè)備是可用的或未阻塞的,并將信息發(fā)送到接收設(shè)備,以便讓其將數(shù)據(jù)轉(zhuǎn)發(fā)給那些端口和設(shè)備,并且隨后當(dāng)其他端口或設(shè)備可用或未阻塞時(shí),通知接收設(shè)備將數(shù)據(jù)轉(zhuǎn)發(fā)到那些設(shè)備或端口。
本發(fā)明的其他方面涉及一個(gè)接口,該接口能夠操作多個(gè)彼此獨(dú)立并且彼此校準(zhǔn)/同步的輸入/輸出群組。
無疑,以下任何方面可與以上任何方面相結(jié)合以得到一個(gè)更有趣的芯片。
一般地,以下方面涉及一個(gè)接口以及一個(gè)具有該接口的交換器,其中該接口既可用于一個(gè)或多個(gè)較高數(shù)據(jù)速率通信,也可用于更多的較低數(shù)據(jù)速率通信。
當(dāng)前,高速以太網(wǎng)端口不是用于10GbE就是用于1GbE,每個(gè)接口要求芯片上不同數(shù)目個(gè)引腳。本發(fā)明的一個(gè)方面涉及如何在具有這兩種接口的多速率芯片上減少必須的引腳數(shù)。
本發(fā)明的該方面涉及使用一個(gè)標(biāo)準(zhǔn)接口以便用相同的輸入/輸出支持多個(gè)其他接口。
要在接口上傳輸?shù)臄?shù)據(jù)可以任何形式提供。目前,對(duì)于10G比特/秒的以太網(wǎng)數(shù)據(jù)通信,數(shù)據(jù)最好是XGMII格式的(32比特串行數(shù)據(jù)接口),對(duì)于較低比特率的通信,數(shù)據(jù)最好是GMII格式的。在實(shí)際接口上,10G比特/秒的數(shù)據(jù)最好以一個(gè)XAUI信號(hào)的形式被發(fā)送,而四個(gè)1G比特/秒的信號(hào)以串行通信的形式被發(fā)送。無疑,在接口上接收到的數(shù)據(jù)也最好以這些格式被發(fā)送。
一般地,與先前的一個(gè)高速端口被降級(jí)為一個(gè)低速端口的多速率以太網(wǎng)(工業(yè))標(biāo)準(zhǔn)相比,這代表了一個(gè)額外的優(yōu)點(diǎn)。
主要優(yōu)點(diǎn)是對(duì)于消費(fèi)者的,他們能夠?qū)⒁粋€(gè)交換器或MAC等的每個(gè)端口配置成10GbE模式或一組1GbE端口。
對(duì)于制造商,好處是-對(duì)幾個(gè)用途使用相同的宏的能力。
-由于將多個(gè)芯片合成一個(gè)而獲得的芯片運(yùn)行、測(cè)試和存儲(chǔ)的減少。
本發(fā)明的一個(gè)第三方面涉及一個(gè)接口,該接口包括-多個(gè)用于串行化并行數(shù)據(jù)的裝置,每個(gè)串行化裝置可輸出一個(gè)串行數(shù)據(jù)信號(hào),-用于提供多個(gè)獨(dú)立的第一并行數(shù)據(jù)的第一裝置,為每個(gè)串行化裝置提供一個(gè)第一并行數(shù)據(jù),-用于提供第二并行數(shù)據(jù)的第二裝置,用于將第二并行數(shù)據(jù)分成多個(gè)第三并行數(shù)據(jù),并用于將一個(gè)第三并行數(shù)據(jù)提供給每個(gè)串行化裝置,以及-用于校準(zhǔn)和/或同步從串行化裝置輸出的串行數(shù)據(jù)信號(hào)以便得到多個(gè)串行數(shù)據(jù)信號(hào)之間的一個(gè)預(yù)定時(shí)序關(guān)系的裝置。
在本文中,校準(zhǔn)和/或同步是時(shí)間上的校準(zhǔn)或同步,以便在數(shù)據(jù)輸入和/或輸出之間存在一個(gè)預(yù)定時(shí)序關(guān)系。校準(zhǔn)/同步后的信號(hào)最好將以一個(gè)共同頻率操作,并且使用一個(gè)共同的數(shù)據(jù)協(xié)議。
此外,提供彼此獨(dú)立的信號(hào)將意味著表示的數(shù)據(jù)將被獨(dú)立解譯。
從而,各個(gè)數(shù)據(jù)可以以不同頻率被提供、串行化、發(fā)送等,某些個(gè)別數(shù)據(jù)可被視為彼此獨(dú)立,而其他的可被校準(zhǔn)/同步。
校準(zhǔn)/同步裝置最好能夠在接收第一并行數(shù)據(jù)時(shí)不校準(zhǔn)/同步從串行化裝置輸出的串行數(shù)據(jù)信號(hào)。通過該方式,各個(gè)第一串行數(shù)據(jù)可以被獨(dú)立地發(fā)送-例如以不同的或任意的運(yùn)行時(shí)鐘頻率。
通常,數(shù)據(jù)將以一個(gè)恒定的數(shù)據(jù)流形式或單獨(dú)的分組/幀/單元的形式出現(xiàn)。并行數(shù)據(jù)可在其寬度上表示一整個(gè)分組/幀/單元,或者一個(gè)分組/幀/單元可在多個(gè)時(shí)鐘周期內(nèi)在并行總線上發(fā)送。
本發(fā)明的一個(gè)第四方面涉及一個(gè)接口,該接口包括-多個(gè)用于串行化并行數(shù)據(jù)的裝置,每個(gè)串行化裝置可輸出一個(gè)串行數(shù)據(jù)信號(hào),
-用于提供多個(gè)獨(dú)立的第一并行數(shù)據(jù)的第一裝置,為每個(gè)串行化裝置提供一個(gè)第一并行數(shù)據(jù),-用于提供第二并行數(shù)據(jù)的第二裝置,用于將第二并行數(shù)據(jù)分成多個(gè)第三并行數(shù)據(jù)并用于將一個(gè)第三并行數(shù)據(jù)提供給每個(gè)串行化裝置,以及-用于校準(zhǔn)和/或同步第三并行數(shù)據(jù)以便得到多個(gè)第三串行數(shù)據(jù)信號(hào)之間的一個(gè)預(yù)定時(shí)序關(guān)系的裝置。
校準(zhǔn)/并行裝置最好能夠被禁用-例如當(dāng)?shù)谝惶峁┭b置活動(dòng)時(shí)。
目前第一和第二提供裝置最好不并行或同時(shí)操作-以便當(dāng)時(shí)第一和第二并行數(shù)據(jù)中只有一個(gè)被提供給串行化裝置。
在首選實(shí)施方式中,第一提供裝置可沿著一條第一并行數(shù)據(jù)總線輸出每個(gè)第一并行數(shù)據(jù),其中第一并行數(shù)據(jù)總線具有預(yù)定的第一數(shù)目個(gè)導(dǎo)體,其中第二提供提供裝置可沿著一條第二數(shù)據(jù)總線輸出第二并行數(shù)據(jù),其中第二數(shù)據(jù)總線具有預(yù)定的第二數(shù)目個(gè)導(dǎo)體,并且其中第一和第二數(shù)據(jù)總線至少具有一個(gè)公共的導(dǎo)體。
在此情況下,第二并行數(shù)據(jù)的分割可以僅僅是將第二總線的導(dǎo)體分成多個(gè)導(dǎo)體組。
導(dǎo)體的預(yù)定的第一數(shù)目與導(dǎo)體的第二數(shù)目不同,并且第一并行數(shù)據(jù)總線可被包括在第二并行數(shù)據(jù)總線中。
實(shí)際上,其中所述多個(gè)串行化裝置乘以預(yù)定的第一數(shù)目個(gè)導(dǎo)體最好與預(yù)定的第二個(gè)數(shù)目個(gè)導(dǎo)體相同。
希望第一提供裝置能夠遵循GMII標(biāo)準(zhǔn)輸出第一并行數(shù)據(jù),其中第二提供裝置能夠遵循XGMII標(biāo)準(zhǔn)輸出第二并行數(shù)據(jù),并且串行化裝置能夠遵循XAUI或無限頻帶標(biāo)準(zhǔn)輸出多個(gè)串行數(shù)據(jù)信號(hào),例如當(dāng)其串行信號(hào)被校準(zhǔn)時(shí)。否則,串行化裝置的輸出可以是獨(dú)立運(yùn)行的串行通信,例如對(duì)于在多個(gè)SERDES連接或光纖上的通信。
本發(fā)明的另一個(gè)方面涉及一個(gè)接口,該接口包括-多個(gè)裝置,每個(gè)裝置用于接收一個(gè)串行數(shù)據(jù)信號(hào),以及用于將串行數(shù)據(jù)信號(hào)去串行化為并行數(shù)據(jù),
-用于在去串行化操作之前校準(zhǔn)/同步串行數(shù)據(jù)信號(hào)以便獲得多個(gè)并行數(shù)據(jù)之間的一個(gè)預(yù)定時(shí)序的裝置,校準(zhǔn)/同步裝置可被禁用,-當(dāng)校準(zhǔn)/同步裝置未被禁用時(shí),用于將關(guān)于去串行化后的校準(zhǔn)/同步后的串行信號(hào)的并行數(shù)據(jù)合并成一個(gè)并行數(shù)據(jù)段或一個(gè)并行數(shù)據(jù)流的裝置。
一個(gè)第六方面涉及一個(gè)接口,該接口包括-多個(gè)裝置,每個(gè)裝置用于接收一個(gè)串行數(shù)據(jù)信號(hào),以及用于將串行數(shù)據(jù)信號(hào)去串行化為并行數(shù)據(jù),-用于校準(zhǔn)/同步多個(gè)并行數(shù)據(jù)以便獲得多個(gè)并行數(shù)據(jù)之間的一個(gè)預(yù)定時(shí)序的裝置,校準(zhǔn)/同步裝置可被禁用,-當(dāng)校準(zhǔn)/同步裝置未被禁用時(shí),用于將校準(zhǔn)/同步后的并行數(shù)據(jù)合并成一個(gè)并行數(shù)據(jù)段或一個(gè)并行數(shù)據(jù)流的裝置。
在第五和第六方面中,去串行化裝置最好能夠沿著一個(gè)第一并行數(shù)據(jù)總線輸出每個(gè)并行數(shù)據(jù),其中第一并行數(shù)據(jù)總線具有預(yù)定的第一數(shù)目個(gè)導(dǎo)體,其中合并裝置最好能夠沿著一個(gè)第二數(shù)據(jù)總線輸出單個(gè)并行數(shù)據(jù),其中第二數(shù)據(jù)總線具有預(yù)定的第二數(shù)目個(gè)導(dǎo)體,并且其中第一和第二數(shù)據(jù)總線具有至少一個(gè)公共導(dǎo)體。此外,預(yù)定的第一數(shù)目個(gè)導(dǎo)體可以與第二數(shù)目個(gè)導(dǎo)體不同。此外,第一并行數(shù)據(jù)總線最好包括在第二并行數(shù)據(jù)總線中,并且其中所述多個(gè)串行化裝置乘以預(yù)定的第一數(shù)目個(gè)導(dǎo)體最好與預(yù)定的第二個(gè)數(shù)目個(gè)導(dǎo)體相同。
在首選實(shí)施方式中,去串行化裝置能夠遵循GMII標(biāo)準(zhǔn)輸出第一并行數(shù)據(jù),其中合并裝置能夠遵循XGMII標(biāo)準(zhǔn)輸出第二并行數(shù)據(jù),并且其中去串行化裝置能夠遵循XAUI或無限頻帶標(biāo)準(zhǔn)接收多個(gè)串行數(shù)據(jù)信號(hào)(當(dāng)校準(zhǔn)有意義時(shí),否則數(shù)據(jù)可為獨(dú)立的自由運(yùn)行通信)。
在本發(fā)明的所有上述第二至第六方面中,最好提供一個(gè)裝置,用于提供一個(gè)用于串行化/去串行化裝置中的時(shí)鐘信號(hào)。此時(shí)鐘提供裝置可提供一個(gè)具有兩個(gè)時(shí)鐘信號(hào)頻率之一時(shí)鐘信號(hào),其中當(dāng)各個(gè)輸入/輸出群組彼此獨(dú)立地操作時(shí),提供具有時(shí)鐘信號(hào)頻率之一的時(shí)鐘信號(hào),而當(dāng)校準(zhǔn)裝置被運(yùn)行時(shí),提供時(shí)鐘信號(hào)頻率中的另一個(gè)。時(shí)鐘頻率中的一個(gè)頻率和另一個(gè)頻率最好從包括3.25GHz、1.25GHz和2.5GHz中選擇。一個(gè)信號(hào)的頻率可為1.25GHz,而另一個(gè)信號(hào)的頻率可為3.25GHz或2.5GHz。
應(yīng)注意校準(zhǔn)/同步裝置的禁用可以僅僅是繞過或“不經(jīng)過”校準(zhǔn)/同步裝置發(fā)送或傳輸數(shù)據(jù)的裝置。從而,一個(gè)校準(zhǔn)/同步裝置可以一直是完全可操作的,但禁用裝置可使得沒有數(shù)據(jù)發(fā)送給它,因此從效果上來看它沒有“明顯的”操作。作為替換,第一或第二提供裝置和/或合并裝置可以一直被恒定地操作,其中數(shù)據(jù)的發(fā)送/傳輸只將正確數(shù)據(jù)送入或送出串行化/去串行化裝置。
本發(fā)明的一個(gè)第七方面涉及一個(gè)通信系統(tǒng),該通信系統(tǒng)包括一個(gè)根據(jù)第三或第四方面的第一接口和根據(jù)第五或第六方面的一個(gè)第二接口,以及用于將多個(gè)串行信號(hào)從第一接口傳輸?shù)降诙涌诘难b置,該系統(tǒng)包括用于處理由第二接口輸出的多個(gè)并行數(shù)據(jù)和/或單個(gè)并行數(shù)據(jù)的裝置,處理裝置能夠彼此獨(dú)立地處理多個(gè)并行數(shù)據(jù)。
此系統(tǒng)能夠以兩種操作模式之一被操作,這兩種模式包括-一種第一操作模式,其中第一和第二接口的校準(zhǔn)/同步裝置被操作,以及-一種第二操作模式,其中第一和第二接口的校準(zhǔn)/同步裝置被禁用。
這兩種操作模式將是一個(gè)接收/發(fā)送一個(gè)數(shù)據(jù)流或一個(gè)單個(gè)數(shù)據(jù)段的模式(在某個(gè)時(shí)刻),或者一個(gè)接收/發(fā)送多個(gè)獨(dú)立的數(shù)據(jù)流或數(shù)據(jù)段(在某個(gè)時(shí)刻),使用相同的串行化/去串行化裝置以及相同的傳輸裝置。
本發(fā)明的另一方面涉及一種操作第三至第六方面中任何一方面的接口的方法,該方法包括-確定要接收和/或輸出的串行數(shù)據(jù)信號(hào)是否將被校準(zhǔn)和/或同步,以及-相應(yīng)地操作校準(zhǔn)/同步裝置。
然后,確定步驟可包括確定要通過接口輸出或輸入的一個(gè)總的數(shù)據(jù)速率,并且如果該數(shù)據(jù)速率超過一個(gè)預(yù)定的閾值,則校準(zhǔn)/同步數(shù)據(jù)。從而,正如系統(tǒng)的總帶寬一樣,到外部計(jì)算機(jī)、網(wǎng)絡(luò)、網(wǎng)絡(luò)元件、芯片等的鏈路或連接的數(shù)目可被修改。可使用中繼來減少連接數(shù)或增加帶寬,這一點(diǎn)與當(dāng)前選擇的數(shù)據(jù)速率和連接數(shù)相結(jié)合將產(chǎn)生一個(gè)非常強(qiáng)大的修改工具。
從而,確定步驟可包括確定多個(gè)串行數(shù)據(jù)信號(hào)的一個(gè)總數(shù)據(jù)速率,并且如果該數(shù)據(jù)速率超過一個(gè)預(yù)定閾值則操作校準(zhǔn)/同步裝置。
無疑,在相反的情況下,即串行“信道”之一的質(zhì)量具有一個(gè)比其他“信道”低的可能最大數(shù)據(jù)速率時(shí),通過不“鎖定”路徑的數(shù)據(jù)速率而是允許其他數(shù)據(jù)速率比“低質(zhì)量”數(shù)據(jù)路徑可能達(dá)到的速率高來獲取一個(gè)較高的數(shù)據(jù)速率。
還有一個(gè)方面涉及一種操作根據(jù)第五或第六方面的接口的方法,該方法包括在兩種操作模式之間變化,其中-在第一操作模式中,去串行化裝置彼此獨(dú)立地接收數(shù)據(jù),并彼此獨(dú)立地輸出并行數(shù)據(jù),以及-在第二操作模式中,輸出一個(gè)單個(gè)并行數(shù)據(jù)。
本發(fā)明還涉及一種操作根據(jù)第三或第四方面的接口的方法,該方法包括在兩種操作模式之間變化,其中-在一種第一操作模式中,串行化裝置彼此獨(dú)立地接收第一并行數(shù)據(jù),并彼此獨(dú)立地輸出串行數(shù)據(jù),以及-在一種第二操作模式中,輸出的多個(gè)串行數(shù)據(jù)信號(hào)具有預(yù)定的時(shí)序關(guān)系。
本發(fā)明的一個(gè)重要方面涉及一個(gè)交換器,該交換器具有-多個(gè)設(shè)備,每個(gè)設(shè)備包括一個(gè)根據(jù)第三或第四方面的接口和一個(gè)根據(jù)第五或第六方面的接口,并且每個(gè)設(shè)備能夠從一個(gè)或多個(gè)網(wǎng)絡(luò)連接接收多個(gè)串行數(shù)據(jù)信號(hào),以及將多個(gè)串行數(shù)據(jù)信號(hào)輸出給這些網(wǎng)絡(luò)連接,-設(shè)備能在其上交換數(shù)據(jù)的一條數(shù)據(jù)總線,其中所述設(shè)備的至少一個(gè)能夠在以至少兩種操作模式之一操作之間變化,這兩種操作模式包括
-第一操作模式,其中設(shè)備能夠通過接口從第一數(shù)目個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),以及通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給這些網(wǎng)絡(luò)連接,以及-第二操作模式,其中設(shè)備能夠通過接口從第二數(shù)目個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),以及通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給這些網(wǎng)絡(luò)連接,第二數(shù)目大于第一數(shù)目。
在本文中,一個(gè)“網(wǎng)絡(luò)連接”可以是與一個(gè)或多個(gè)計(jì)算機(jī)或計(jì)算機(jī)網(wǎng)絡(luò)的數(shù)據(jù)通信的連接,其中計(jì)算機(jī)網(wǎng)絡(luò)可以是WWW或互聯(lián)網(wǎng)、單個(gè)計(jì)算機(jī),以及其間的任何東西。
所述至少一個(gè)設(shè)備最好包括一個(gè)處理裝置,該處理裝置能夠在發(fā)送到數(shù)據(jù)總線之前處理從接口接收到的數(shù)據(jù),處理裝置可在以至少兩種操作模式之一操作之間變化,這兩種操作模式包括-第一操作模式,其中裝置能夠彼此獨(dú)立地處理來自第一數(shù)目個(gè)彼此獨(dú)立的網(wǎng)絡(luò)連接中的每一個(gè)的數(shù)據(jù),以及-第二操作模式,其中裝置能夠彼此獨(dú)立地處理來自第二數(shù)目個(gè)彼此獨(dú)立的網(wǎng)絡(luò)連接的數(shù)據(jù)。
數(shù)據(jù)的處理將取決于交換器的實(shí)際使用。一種處理可以是檢查錯(cuò)誤、執(zhí)行數(shù)據(jù)的標(biāo)準(zhǔn)化或歸范化、確定數(shù)據(jù)將被發(fā)送到何處(例如用一個(gè)查找表)或者它從何處來,數(shù)據(jù)類型是什么,以及它具有什么樣的優(yōu)先級(jí)。其他處理是數(shù)據(jù)的更改,例如轉(zhuǎn)換一個(gè)分組封裝,刪除、添加或替換一部分?jǐn)?shù)據(jù)以及糾正數(shù)據(jù)中的錯(cuò)誤。
在此情況下,在第二操作模式中,處理裝置可包括對(duì)應(yīng)于第二數(shù)目個(gè)獨(dú)立程序中的每一個(gè)的單獨(dú)存儲(chǔ)器以及在第二數(shù)目個(gè)獨(dú)立程序之間共享的邏輯。從而,可獲得邏輯上的節(jié)省。這可通過將來自所有處理程序的VHDL代碼合成為芯片中的一個(gè)塊來實(shí)現(xiàn)。
從而,同樣通過處理裝置,到達(dá)或來自接口的路徑的數(shù)據(jù)可被彼此獨(dú)立的處理。
在第二操作模式中,處理裝置最好包括對(duì)應(yīng)于第二數(shù)目個(gè)獨(dú)立程序中的每一個(gè)的單獨(dú)存儲(chǔ)器以及在第二數(shù)目個(gè)獨(dú)立程序之間共享的邏輯。
此外,所述至少一個(gè)設(shè)備最好進(jìn)一步包括一個(gè)存儲(chǔ)裝置,該存儲(chǔ)裝置可在接口處接收數(shù)據(jù)與總線上傳輸數(shù)據(jù)之間存儲(chǔ)數(shù)據(jù),存儲(chǔ)裝置可以在以至少兩種操作模式之一操作之間變化,這兩種操作模式包括-第一操作模式,用于當(dāng)設(shè)備以其第一操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第一數(shù)目個(gè)網(wǎng)絡(luò)連接乘以第一預(yù)定數(shù)的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù),以及-第二操作模式,用于當(dāng)設(shè)備以其第二操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第二數(shù)目個(gè)網(wǎng)絡(luò)連接乘以第二預(yù)定數(shù)的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù)。
當(dāng)希望能夠在一個(gè)關(guān)于諸如優(yōu)先級(jí)的隊(duì)列中存儲(chǔ)數(shù)據(jù)時(shí),預(yù)定的第一和第二數(shù)目可以不等于一。從而,預(yù)定的數(shù)目可以涉及優(yōu)先級(jí)數(shù)目。
本發(fā)明的另一個(gè)方面涉及一種操作一個(gè)交換器的方法,該交換器具有-多個(gè)設(shè)備,每個(gè)設(shè)備包括一個(gè)根據(jù)第三或第四方面的接口和一個(gè)根據(jù)第五或第六方面的接口,并且每個(gè)設(shè)備能夠通過所述接口從一個(gè)或多個(gè)網(wǎng)絡(luò)連接接收多個(gè)串行數(shù)據(jù)信號(hào)以及將多個(gè)串行數(shù)據(jù)信號(hào)輸出給這些網(wǎng)絡(luò)連接,-設(shè)備能在其上交換數(shù)據(jù)的一條數(shù)據(jù)總線,該方法包括在至少一個(gè)設(shè)備上在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,其中設(shè)備能夠通過接口從第一數(shù)目個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),以及通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給這些網(wǎng)絡(luò)連接,以及-第二操作模式,其中設(shè)備能夠通過接口從第二數(shù)據(jù)個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),并通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給這些網(wǎng)絡(luò)連接,第二數(shù)目大于第一數(shù)目。
該方法最好還包括在發(fā)送到數(shù)據(jù)總線之前處理從接口接收到的數(shù)據(jù)的步驟,該方法包括使處理在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,其中來自第一數(shù)目個(gè)彼此獨(dú)立的網(wǎng)絡(luò)連接中每一個(gè)的數(shù)據(jù)被彼此獨(dú)立地處理,以及-第二操作模式,其中來自第二數(shù)目個(gè)彼此獨(dú)立的網(wǎng)絡(luò)連接中的數(shù)據(jù)被彼此獨(dú)立地處理。
此外,可添加一個(gè)步驟,用于在接口處接收數(shù)據(jù)與總線上傳輸數(shù)據(jù)之間存儲(chǔ)數(shù)據(jù),該方法包括使存儲(chǔ)在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,用于當(dāng)設(shè)備以其第一操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第一數(shù)目個(gè)網(wǎng)絡(luò)連接乘以第一預(yù)定數(shù)的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù),以及-第二操作模式,用于當(dāng)設(shè)備以其第二操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第二數(shù)目個(gè)網(wǎng)絡(luò)連接乘以第二預(yù)定數(shù)的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù)。
本發(fā)明的一個(gè)最后的方面涉及一種操作上述交換器的方法,該方法包括-對(duì)于至少一個(gè)設(shè)備,確定是否使用第一或第二操作模式,以及-以確定的操作模式操作設(shè)備。
本接口可以是一個(gè)電子電路或一個(gè)通信系統(tǒng)的不同部件之間的一個(gè)接口。從而,接口可包括一個(gè)芯片的引腳、焊點(diǎn)或接口,其中校準(zhǔn)和操作裝置可形成芯片的一部分。在該情況下,接口可確定進(jìn)/出芯片的通信。在這個(gè)特定情況下,芯片的接口可通過相同的接口/引腳/焊點(diǎn)來確定一個(gè)較寬的接口和多個(gè)較窄的接口,以及在何處以不同的頻率運(yùn)行接口。這將減少芯片的引腳/焊點(diǎn)/接口數(shù)。在該情況下,并行數(shù)據(jù)和并行數(shù)據(jù)總線可以是芯片內(nèi)部的。
無疑,接口可通過連接器或插頭或通過焊接與網(wǎng)絡(luò)、芯片、計(jì)算機(jī)等互聯(lián)。
雖然目前第一操作模式最好只接收/發(fā)送第一操作模式中一個(gè)單個(gè)數(shù)據(jù)段或流,但是也可使用任何數(shù)目個(gè)并行發(fā)送/接收。整個(gè)發(fā)明涉及對(duì)于兩個(gè)不同數(shù)目的數(shù)據(jù)流或段(最好是以不同的總數(shù)據(jù)速率傳輸?shù)?使用相同的端口。實(shí)際選擇可涉及各個(gè)子接口之間連接器的交迭。
以下將參考
兩個(gè)實(shí)施方式,附圖中-圖1以一幅框圖的形式描繪了本發(fā)明的整個(gè)首選實(shí)施方式,-圖2描繪了圖1的首選實(shí)施方式的最重要的部件的一幅框圖,-圖3是對(duì)圖2的一個(gè)合并的MAC的更詳細(xì)的描繪,-圖4是對(duì)圖2的部件的更詳細(xì)的描繪,-圖5是對(duì)首選實(shí)施方式的仲裁器的描繪,以及-圖6是圖2的一個(gè)替換實(shí)施方式。
具體實(shí)施例方式
圖1描述了首選的整個(gè)系統(tǒng),它是一個(gè)以太網(wǎng)交換器,它具有多個(gè)通過一個(gè)環(huán)狀總線4通信的組合設(shè)備/端口,其中一個(gè)設(shè)備具有一個(gè)總線接口70和一個(gè)數(shù)據(jù)操作部件5,以及一個(gè)由四個(gè)寬的雙箭頭10表示的組合端口。
交換器通過在端口接收以太網(wǎng)分組、執(zhí)行它的一個(gè)處理(以下將對(duì)其進(jìn)行解釋)以及在總線4上通過總線端口70將分組轉(zhuǎn)發(fā)給另一個(gè)組合端口(以固定大小的單元的形式)操作,其中所述另一個(gè)組合端口在分組上執(zhí)行附加處理并輸出該分組。
在此實(shí)施方式中,交換器的所有設(shè)備的功能是相同的。
本總線和設(shè)備的整體功能可參見2001年9月28日提出申請(qǐng)的美國專利申請(qǐng)?zhí)?9/965127,此專利申請(qǐng)?jiān)诖颂幈唤Y(jié)合進(jìn)來作為參考。主要不同是本數(shù)據(jù)總線的較大帶寬,以及在本申請(qǐng)中環(huán)狀總線上只有8個(gè)設(shè)備,而在該申請(qǐng)中有16個(gè)。
從而,每個(gè)設(shè)備能夠在數(shù)據(jù)總線上以相同的速率發(fā)送和接收數(shù)據(jù)。但是,本發(fā)明涉及一個(gè)方面,其中不同的設(shè)備可以有具有不同的數(shù)據(jù)速率的不同端口“配置”。通過這種方式,更改總線上的總帶寬可以不要求更改總線上的通信結(jié)構(gòu),同時(shí)仍然產(chǎn)生帶寬和端口數(shù)據(jù)速率的增大。這種方式也避免了一個(gè)較低數(shù)據(jù)速率的設(shè)備向一個(gè)較高數(shù)據(jù)速率的設(shè)備發(fā)送從而降低了較高數(shù)據(jù)速率的設(shè)備的能力的問題。相反的情況也是成問題的。
交換器的仲裁器(圖5)將接收來自設(shè)備的傳輸請(qǐng)求,并且確定各個(gè)設(shè)備能以什么順序發(fā)送其數(shù)據(jù)。此仲裁器在各個(gè)設(shè)備的各個(gè)端口之間仲裁。
當(dāng)仲裁器向一個(gè)設(shè)備發(fā)布一個(gè)傳輸確認(rèn)時(shí),設(shè)備將以多個(gè)固定大小的單元的形式發(fā)送數(shù)據(jù)分組。在此確認(rèn)中,可引入關(guān)于將向接收設(shè)備上的哪個(gè)(或哪些)端口輸出分組的信息。接收設(shè)備具有用于接收此信息并將單元/分組轉(zhuǎn)發(fā)到正確的輸出隊(duì)列的裝置。請(qǐng)進(jìn)一步參見下文。
更具體地,參見圖2,但是目前先忽略圖2的下半部分,在一個(gè)端口10處接收到一個(gè)以太網(wǎng)分組,并且該分組被轉(zhuǎn)發(fā)到一個(gè)MAC 40,該MAC 40執(zhí)行其標(biāo)準(zhǔn)MAC處理,并將該分組轉(zhuǎn)發(fā)給一個(gè)分類器/分析器50,用于分類和分析(得出分組的一個(gè)優(yōu)先級(jí)并確定通過總線向哪一個(gè)其他設(shè)備發(fā)送分組)。無疑,此分類器/分析器50可在交換器的多個(gè)或所有設(shè)備之間共享(或者其一部分可被共享)。
在首選實(shí)施方式中,在各個(gè)設(shè)備中提供分類器,但在交換器的所有設(shè)備之間共享分析器(參見圖1第7號(hào))。分組的報(bào)頭從設(shè)備發(fā)送到分析器,然后分析器將執(zhí)行一個(gè)集中查找,并返回接收設(shè)備的一個(gè)標(biāo)識(shí)符。
在分析/分類之后,在通過一個(gè)總線接口70在總線上傳輸之前,分組被存儲(chǔ)在一個(gè)入口隊(duì)列系統(tǒng)60中。在傳輸之前分組最好被分成固定大小的單元。
接收設(shè)備上的總線接口70將接收單元,并將這些單元傳輸給一個(gè)出口隊(duì)列系統(tǒng)80,并且進(jìn)一步傳輸給一個(gè)重寫器90,此重寫器將在最終分組被傳輸給MAC 40用于輸出之前執(zhí)行對(duì)最終分組的修改。
應(yīng)注意可能希望提供MAC 40和通道校準(zhǔn)之間的信號(hào)的額外的格式,例如8b/10b編碼,以及各個(gè)編碼器可通信以便在10G的情況下編碼32比特XGMII字。
在本發(fā)明中一個(gè)交換器的上述典型功能被增強(qiáng)了,因?yàn)樵O(shè)備可在兩種模式之間通過軟件配置-第一模式,其中設(shè)備充當(dāng)交換器的一個(gè)單個(gè)10G比特/秒I/O端口,以及-第二模式,其中設(shè)備充當(dāng)交換器的四個(gè)1G比特/秒I/O端口。
無疑這要求對(duì)各元件進(jìn)行修改以實(shí)現(xiàn)此功能。
對(duì)于MAC 40,在圖3中可看到它的一個(gè)更詳細(xì)的視圖,從中可看到,實(shí)際上,至少功能性地存在5個(gè)MAC。四個(gè)1G比特/秒MAC和一個(gè)10G比特/秒MAC。1G比特/秒通過GMII 1G比特/秒標(biāo)準(zhǔn)與一個(gè)通道校準(zhǔn)器30通信,其中通道校準(zhǔn)器30的功能將在下文中說明。10G比特/秒MAC通過XGMII 10G比特/秒標(biāo)準(zhǔn)通信。
MAC可以1)是系統(tǒng)中完全分隔的單元以及在定義設(shè)備的一塊芯片上。作為替換,它們也可2)合并四個(gè)1G比特/秒MAC并且使10G比特/秒MAC成為一個(gè)單獨(dú)的部件。此外,五個(gè)MAC可以3)被完全分隔到芯片上的一個(gè)塊中。在此情況下,合并意味著其邏輯和存儲(chǔ)或者被合并,或者在某些情況下在組合MAC之間共享。
這些解決方案具有以下優(yōu)點(diǎn)/缺點(diǎn)1)必須定義一個(gè)單個(gè)塊。但是,所有MAC(即,所有4個(gè)1G比特/秒MAC同時(shí)被操作)必須在相同的時(shí)鐘域中被操作并且被同步。當(dāng)每個(gè)MAC將一個(gè)OE饋送給一根光纖時(shí),這將成為一個(gè)問題。此外,由于組合的塊將再使用MAC上的邏輯,因此可以實(shí)現(xiàn)一個(gè)整體的塊的減小,從而塊的整體大小將小于各個(gè)塊的大小之和。
2)可看到上述同步的缺點(diǎn)-現(xiàn)在必須定義兩個(gè)塊。此外,可看到大小和邏輯在一定程度上減少。
3)去除了同步缺點(diǎn),但現(xiàn)在必須定義5個(gè)單獨(dú)的塊。此外,芯片上的MAC的大小將是最大的。
實(shí)際上,還有一種解決方案可被使用提供一個(gè)MAC(對(duì)于1G比特/秒的MAC),它能夠通過時(shí)間復(fù)用來執(zhí)行四個(gè)1G比特/秒MAC的操作。在該情況下,與四個(gè)單獨(dú)的1G比特/秒的MAC相比,可使用相同的邏輯,并且只需要提供保存各個(gè)時(shí)間復(fù)用MAC的狀態(tài)的存儲(chǔ)器的四個(gè)復(fù)本。
對(duì)于分析器/分類器50,存在多個(gè)關(guān)于如何向該單元提供此多功能的方法??赡芴峁┠軌虮4鎻腗AC 40接收到的分組并在串行的基礎(chǔ)上在每個(gè)分組上操作的存儲(chǔ)器。在該種情況下,分析器/分類器必須只要能夠處理一個(gè)10G比特/秒的分組速率。
如果不希望在系統(tǒng)中此位置提供這樣的存儲(chǔ)器,分類器/分析器50可以四個(gè)單獨(dú)的(以4×1G比特/秒的模式的)分析器/分類器的形式運(yùn)行,正如MAC一樣,這些分析器/分類器可被合成為一個(gè)具有四個(gè)狀態(tài)存儲(chǔ)器但具有合并的邏輯的單個(gè)塊。
首選實(shí)施方式能夠處理多個(gè)優(yōu)先級(jí),并在優(yōu)先化的隊(duì)列中在入口隊(duì)列系統(tǒng)60中存儲(chǔ)分組/單元。從而,隊(duì)列系統(tǒng)60已經(jīng)能夠處理多個(gè)隊(duì)列,并且從1×10G比特模式和4×1G比特模式的轉(zhuǎn)換只需要更改隊(duì)列數(shù)目。此更改是非常簡單的。
對(duì)于出口隊(duì)列系統(tǒng)80也是一樣的。
重寫器90可以按照與MAC 40和分析器/分類器50相同的方式被更改或配制。
那么現(xiàn)在看看圖2的下半部分(此外也參見圖4)。
從圖3可以明顯看出MAC輸出四個(gè)GMII信號(hào)或一個(gè)XGMII信號(hào)。這些信號(hào)將被格式化并從系統(tǒng)輸出。
基本概率是以下觀察資料-XAUI是基于4個(gè)(同步的)3.125GHz PECL信道的。
-四重SGMII使用4個(gè)(未同步的)1.25GHz PECL信道。
-此外,1GbE serdes是基于一個(gè)1.25GHz LVDS信道的,它可能涉及三速SGMII。
從而,可能在一個(gè)XAUI端口和四個(gè)(例如,三速)1GbE端口之間共享相同的引腳集合。
從而,1G/10G信號(hào)在一個(gè)端口上輸出,當(dāng)所有四個(gè)I/O被使用時(shí)該端口能夠輸出XAUI,或者當(dāng)四個(gè)I/O被獨(dú)立使用時(shí)該端口作為4×1G比特/秒SGMII/SERDES。
XAUI要求四個(gè)通道被校準(zhǔn)。傳輸介質(zhì)(銅纜或光纜)中或者甚至10G比特/秒MAC與XAUI端口之間的信號(hào)之間可能產(chǎn)生時(shí)間偏移。因此,為了在10G比特/秒模式中使用,提供一個(gè)通道校準(zhǔn)30以便最好既以RX模式也以TX模式執(zhí)行此校準(zhǔn)。
從MAC輸出的XGMII/GMII信號(hào)是并行信號(hào),這些信號(hào)需要被串行化以用于XAUI中和SERDES/SGMII中。提供了四個(gè)SERDES單元20用于該用途。
系統(tǒng)的此部分的一個(gè)重要方面是通過相同的SERDES電路既可實(shí)現(xiàn)1G比特/秒操作也可實(shí)現(xiàn)10G比特/秒操作,其中SERDES電路是相當(dāng)復(fù)雜的電路。
在10G比特/秒模式中,通道校準(zhǔn)30將確保接收到的XAUI信號(hào)或要(作為XAUI信號(hào))發(fā)送的XGMII信號(hào)的行校準(zhǔn)。在1G比特/秒模式中,不使用通道校準(zhǔn)。
為了在大多數(shù)模式中使用,為每個(gè)通道提供一個(gè)時(shí)鐘數(shù)據(jù)恢復(fù)CDR 15。此電路得到內(nèi)嵌于XAUI/SERDES/SGMII信號(hào)中的時(shí)鐘。
CDR 15將由一個(gè)PLL 16饋入,其中PLL 16能夠提供分別用于SERDES/SGMII、無限頻帶和XAUI的1.25GHz、2.5GHz和3.125GHz信號(hào)。在1GbE情況下可通過使用一個(gè)1∶2預(yù)比例器減小此范圍。
無限頻帶通信也可用于本發(fā)明中,因?yàn)樗cXAUI相當(dāng)類似。
在SGMII的特定實(shí)施方式中,可在鏈接上提供一個(gè)單獨(dú)的時(shí)鐘信號(hào),并且可能希望本系統(tǒng)輸出從鏈接得到的時(shí)鐘信號(hào),以便也能用于期待此信號(hào)的系統(tǒng)中。
Serdes電路是標(biāo)準(zhǔn)Serdes電路,并且只在SGMII情況下需要CDR,在該情況下時(shí)鐘內(nèi)嵌于信號(hào)中。
要考慮的一個(gè)問題可能是功率由于高速邏輯用于3.125GHz,因此它在1.25GHz時(shí)可能消耗額外的功率。但是此問題可以通過調(diào)整提供給高速邏輯的偏置電流,以便芯片或者至少其相關(guān)部分能夠以兩個(gè)偏置電流操作來解決。
應(yīng)注意市場中的一個(gè)類似的開發(fā)是一個(gè)四重SGMII銅PHY,它具有面向MAC的單個(gè)時(shí)鐘(以較低的速率對(duì)應(yīng)于類似的開發(fā));在這種情況下,CDR塊可被相當(dāng)可觀地簡化。
以上專利申請(qǐng)中說明的仲裁器相當(dāng)適合用于本實(shí)施方式中,因?yàn)閱蝹€(gè)設(shè)備中的內(nèi)部仲裁將與仲裁器的設(shè)備間仲裁一起執(zhí)行要求的任務(wù)。
但是,在這類產(chǎn)品中除了大致的仲裁外還需要多個(gè)其他功能。因此,圖5示出了一種優(yōu)選的仲裁。
當(dāng)環(huán)中有8個(gè)設(shè)備時(shí),所執(zhí)行的整個(gè)仲裁是指每第8個(gè)時(shí)鐘周期應(yīng)對(duì)每個(gè)設(shè)備做出一個(gè)仲裁決定。
此仲裁是通過根據(jù)接收到的請(qǐng)求找出接收器-發(fā)送器對(duì)的最佳集合來執(zhí)行的。無疑,被發(fā)送的請(qǐng)求的數(shù)據(jù)分組的優(yōu)先級(jí)是被考慮的。上述接收器-發(fā)送器對(duì)是這樣的I/O端口對(duì)一其中在同一時(shí)間只有各個(gè)設(shè)備的一個(gè)端口能夠發(fā)送,并且在同一時(shí)間只有各個(gè)設(shè)備的一個(gè)端口能夠接收。
一個(gè)設(shè)備的每個(gè)端口具有自己的仲裁器中的時(shí)序安排隊(duì)列。可看到8個(gè)設(shè)備(設(shè)備0-7)中的每一個(gè)可與這些設(shè)備中的每一個(gè)以及一個(gè)CPU通信。
每個(gè)設(shè)備具有用于傳輸請(qǐng)求的四個(gè)隊(duì)列,每個(gè)隊(duì)列一個(gè)請(qǐng)求。如果一個(gè)設(shè)備只有一個(gè)單個(gè)端口,則這四個(gè)隊(duì)列可減少為一個(gè)(或者只要不使用其他三個(gè))。
仲裁中遇到的一個(gè)問題是行的頭部阻止,其中一個(gè)較低優(yōu)先級(jí)的數(shù)據(jù)分組由于不被發(fā)送而阻止了一個(gè)較高優(yōu)先級(jí)的分組。此問題是通過以下方法解決的繼承優(yōu)先權(quán)以使得對(duì)于一個(gè)特定的分組,隊(duì)列中它前面的任何分組具有與它相等或比它更高的優(yōu)先級(jí)。如果一個(gè)較高優(yōu)先級(jí)的分組被排列在一個(gè)較低優(yōu)先級(jí)的分組之后,則較低優(yōu)先級(jí)的分組繼承較高優(yōu)先級(jí),以便能被迅速發(fā)送,以使得真正較高優(yōu)先級(jí)的分組能被發(fā)送。
從而,設(shè)備的隊(duì)列中的所有分組的最高優(yōu)先級(jí)與一個(gè)仲裁器請(qǐng)求一起(如果特定設(shè)備的仲裁器隊(duì)列已滿,則沒有仲裁器請(qǐng)求)被轉(zhuǎn)發(fā)給仲裁器以便實(shí)現(xiàn)優(yōu)先級(jí)繼承。
此方式的一個(gè)替換方式可以是允許分組在隊(duì)列中改變位置。這在本實(shí)施方式中是不希望的,因?yàn)槲恢酶淖円脖仨毐粓?bào)告給單個(gè)設(shè)備。
當(dāng)兩個(gè)源希望向同一目標(biāo)發(fā)送數(shù)據(jù)分組時(shí),要考慮的另一點(diǎn)是由源發(fā)送的數(shù)據(jù)量。因此,對(duì)所有源設(shè)備保持桶的水平。
對(duì)于每個(gè)設(shè)備中的每個(gè)端口,仲裁器6保持關(guān)于其作為一個(gè)源和一個(gè)目標(biāo)的狀態(tài)的信息。CPU設(shè)備只擁有目標(biāo)信息。仲裁是基于此信息的。
仲裁器根據(jù)來自單個(gè)端口的仲裁器請(qǐng)求而發(fā)布單元總線訪問權(quán)限許可。對(duì)于每個(gè)設(shè)備,仲裁器首先執(zhí)行一個(gè)“本地”仲裁,對(duì)于每個(gè)端口,此“本地仲裁”確定是否該端口希望發(fā)送數(shù)據(jù),以及希望的接收端口是否可用(如果存在多個(gè)具有相同優(yōu)先級(jí)的候選者,則輪換進(jìn)行)。從而,每個(gè)設(shè)備得到一個(gè)請(qǐng)求。然后如下文將要進(jìn)一步說明的那樣,在設(shè)備之間執(zhí)行仲裁。仲裁器還生成一個(gè)同步信號(hào),所有設(shè)備都與之同步。
源信息·請(qǐng)求隊(duì)列。每個(gè)隊(duì)列包括最多4個(gè)仲裁器請(qǐng)求。對(duì)于多播分組,一個(gè)請(qǐng)求保持在隊(duì)列中,直到所有目標(biāo)端口已接收到幀,這可能需要幾個(gè)幀傳輸。
·每個(gè)設(shè)備的漏桶水平??删幊搪┩啊Mㄟ^對(duì)減少量之間的四個(gè)bus_clk數(shù)目進(jìn)行編程,可在從0.9375G比特/秒至60G比特/秒的范圍內(nèi)設(shè)置泄漏率,例如,數(shù)目為2導(dǎo)致泄漏率為30G比特/秒。桶大小為255個(gè)單元(255單元對(duì)應(yīng)于約23千字節(jié))。漏桶必須是飽和的。
·每個(gè)隊(duì)列的繼承優(yōu)先級(jí)。等待的幀中的最高優(yōu)先級(jí),即為其在請(qǐng)求隊(duì)列中存儲(chǔ)了仲裁器請(qǐng)求的幀以及處于設(shè)備的RX隊(duì)列系統(tǒng)中的尚未為其做出仲裁器請(qǐng)求的幀中的最高優(yōu)先級(jí)。
·活動(dòng)的。指示一個(gè)設(shè)備當(dāng)前是否正在發(fā)送,即,它是否已經(jīng)開始傳輸一個(gè)幀,并且尚未傳輸最后的單元。
目標(biāo)信息·活動(dòng)的。指示目前是否有一個(gè)向所述設(shè)備的幀傳輸。
·每個(gè)端口阻塞。指示一個(gè)端口處于阻塞中。注意CPU設(shè)備不能指示阻塞,必須在必要的情況下在本地丟棄幀。
仲裁器能夠每八個(gè)bus_clk周期為所有八個(gè)(源)設(shè)備生成一個(gè)許可。對(duì)于一個(gè)活動(dòng)的源(端口和設(shè)備),仲裁器必須每八個(gè)周期送出相同的許可。唯一的例外是一個(gè)或多個(gè)目標(biāo)設(shè)備/端口發(fā)生阻塞的情況,在這種情況下,許可被收回,直到在當(dāng)前傳輸中充當(dāng)目標(biāo)的所有設(shè)備中的阻塞已經(jīng)清除。
當(dāng)使一個(gè)幀的最后的單元被傳輸?shù)脑S可發(fā)出時(shí),一個(gè)目標(biāo)端口/設(shè)備變得不活動(dòng)。每當(dāng)一個(gè)目標(biāo)設(shè)備不活動(dòng)時(shí),則做出一個(gè)新的仲裁決定。其結(jié)果是開始到該目標(biāo)的一個(gè)新的幀傳輸,或者目標(biāo)保持不活動(dòng)。當(dāng)做出一個(gè)仲裁決定時(shí),只能考慮不活動(dòng)的源,并且,顯然只考慮當(dāng)前具有向該特定目標(biāo)傳輸?shù)恼?qǐng)求的源。在這些源中,具有最高的繼承優(yōu)先級(jí)的源是候選者。如果有多個(gè)候選者,則選擇具有最低漏桶水平的候選者。如果仍然有多個(gè)候選者,則使用輪換方式。
輪換仲裁器的狀態(tài)只在其生效時(shí)被更新。輪換仲裁器作為一個(gè)具有移動(dòng)最低優(yōu)先級(jí)點(diǎn)的優(yōu)先級(jí)編碼器。當(dāng)輪換仲裁生效時(shí),最低優(yōu)先級(jí)點(diǎn)移動(dòng)到剛被選中的設(shè)備,將其放到優(yōu)先級(jí)列表的底部,用于仲裁下次生效時(shí)。
可同時(shí)(即在同樣的八周期時(shí)段中)對(duì)更多目標(biāo)做出同樣的仲裁決定,這使得來自選中的源的下一次幀傳輸?shù)乃袉卧季哂卸鄠€(gè)目標(biāo)。
總而言之,當(dāng)為一個(gè)目標(biāo)做出一個(gè)仲裁決定時(shí),標(biāo)識(shí)一個(gè)單個(gè)源所必須的步驟按著以下列表從頂部開始執(zhí)行1.查找不活動(dòng)的源
2.查找具有到達(dá)目標(biāo)的幀數(shù)據(jù)的源3.查找具有最高的繼承優(yōu)先權(quán)的源4.查找具有最低漏桶水平的源5.使用輪換仲裁對(duì)于每個(gè)傳輸,請(qǐng)求中的目標(biāo)設(shè)備/端口集合被減少直到它為空。此時(shí)該請(qǐng)求被從隊(duì)列中刪除。
可以禁用一個(gè)源。當(dāng)一個(gè)源被禁用時(shí),來自該源的請(qǐng)求被忽略,只對(duì)已在請(qǐng)求隊(duì)列中的請(qǐng)求發(fā)布許可。
以上首選實(shí)施方式提供了一個(gè)單個(gè)10G比特/秒連接和四個(gè)1G比特/秒連接之間的選擇。此特定選擇的原因是同一接口可支持一個(gè)XAUI(10G)接口或四個(gè)SERDES(1G)接口。顯然,四個(gè)1G端口不能以10G的速率通信,但是總線接口和隊(duì)列系統(tǒng)能接收10G(或者由一個(gè)加速引起的更高的速率,以便避免阻塞)的突發(fā)脈沖。如果隊(duì)列系統(tǒng)發(fā)生阻塞,則使用流控制,以便停止發(fā)送設(shè)備。
但是,可以制成這樣一種交換器,在該交換器中不提供上述選擇,而是一種主干(總線和整個(gè)結(jié)構(gòu))能夠提供不對(duì)應(yīng)于任何標(biāo)準(zhǔn)數(shù)據(jù)速率的數(shù)據(jù)速率,例如14G比特/秒。在該情況下,可為每個(gè)設(shè)備選擇一個(gè)端口組合,以便帶寬被充分利用。
一個(gè)該種類型的交換器可參見圖6,其中MAC 40已被修改,以便現(xiàn)在既能夠處理4個(gè)1G比特/秒端口也能處理一個(gè)10G比特/秒端口。在這種方式中,元件40、50、60、70、80和90應(yīng)能夠處理14G比特/秒,而不是10G比特/秒。作為替換,也可提供最多14個(gè)1G比特/秒端口。
從而,設(shè)備又可具有不同的端口數(shù)目和端口速率,而設(shè)備在通信中不會(huì)被減慢。
在本實(shí)施方式中,以及正如上述申請(qǐng)中說明的那樣,每個(gè)設(shè)備能夠以一個(gè)預(yù)定的數(shù)據(jù)速率接收和發(fā)送數(shù)據(jù)。從而,數(shù)據(jù)分組被接收并且被存儲(chǔ)以便以該速率發(fā)送,以及以該速率被存儲(chǔ)以用于以任何希望的速率從設(shè)備發(fā)送。
從而,似乎不需要允許多個(gè)設(shè)備同時(shí)向同一目標(biāo)發(fā)送數(shù)據(jù)。但是,這一點(diǎn)可被很容易地促進(jìn),因?yàn)榻邮赵O(shè)備的隊(duì)列系統(tǒng)已經(jīng)具有多個(gè)隊(duì)列以接收多個(gè)數(shù)據(jù)分組。另外,如果數(shù)據(jù)分組是發(fā)向設(shè)備中的不同端口的,則不同的端口最好擁有不同的隊(duì)列。從而,很可能有多個(gè)源向一個(gè)相同的目標(biāo)設(shè)備發(fā)送數(shù)據(jù)。
權(quán)利要求
1.一個(gè)用于交換數(shù)據(jù)的裝置,該裝置包括-一條數(shù)據(jù)總線-多個(gè)可通過數(shù)據(jù)總線彼此交換數(shù)據(jù)的設(shè)備,每個(gè)設(shè)備可從至少一個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給該I/O端口,至少一個(gè)第一設(shè)備可從多個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給所述多個(gè)相應(yīng)的I/O端口,-用于確定設(shè)備之間在數(shù)據(jù)總線上交換數(shù)據(jù)的順序的仲裁器裝置所述多個(gè)設(shè)備能夠-接收和存儲(chǔ)來自一個(gè)相應(yīng)的I/O端口的數(shù)據(jù),-將關(guān)于一個(gè)相應(yīng)的端口的阻塞或可用信息發(fā)送給仲裁器,-從仲裁器接收表示接收到的數(shù)據(jù)是否可在數(shù)據(jù)總線上發(fā)送的信息,-如果接收到的信息表示數(shù)據(jù)可被發(fā)送,則在數(shù)據(jù)總線上發(fā)送數(shù)據(jù),以及-從數(shù)據(jù)總線接收數(shù)據(jù)并將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給一個(gè)相應(yīng)的I/O端口,所述仲裁器能夠-從所述多個(gè)設(shè)備接收阻塞或不可用信息,以及-根據(jù)阻塞信息確定交換數(shù)據(jù)的順序。
2.根據(jù)權(quán)利要求1的一個(gè)裝置,其中多個(gè)設(shè)備可在數(shù)據(jù)總線上至少以基本相同的速率彼此直接交換數(shù)據(jù)。
3.根據(jù)權(quán)利要求2的裝置,其中第一數(shù)目個(gè)I/O端口允許第一高、較高的數(shù)據(jù)接收/發(fā)送速率,第二數(shù)目個(gè)I/O端口可允許第二高、較低的數(shù)據(jù)接收/發(fā)送速率,該速率比所述較高的速率低。
4.根據(jù)權(quán)利要求3的裝置,其中至少一個(gè)I/O端口進(jìn)一步允許一個(gè)或多個(gè)低于其最高數(shù)據(jù)速率的其他的數(shù)據(jù)接收/發(fā)送速率。
5.根據(jù)權(quán)利要求3的裝置,其中每個(gè)設(shè)備能夠至少以第一速率從數(shù)據(jù)總線接收數(shù)據(jù)并將數(shù)據(jù)發(fā)送給數(shù)據(jù)總線。
6.根據(jù)權(quán)利要求3的裝置,其中每個(gè)設(shè)備有效地連接到第一群組的一個(gè)或多個(gè)I/O端口或者第二群組的多個(gè)I/O端口。
7.根據(jù)前述任一權(quán)利要求的裝置,其中至少一個(gè)第二設(shè)備包括一個(gè)存儲(chǔ)裝置,該存儲(chǔ)裝置包括多個(gè)數(shù)據(jù)隊(duì)列以用于存儲(chǔ)從一個(gè)或多個(gè)I/O端口和/或從數(shù)據(jù)總線接收到的數(shù)據(jù)分組或幀。
8.根據(jù)權(quán)利要求7的裝置,其中對(duì)于每個(gè)I/O端口,存儲(chǔ)裝置具有一個(gè)或多個(gè)數(shù)據(jù)隊(duì)列。
9.根據(jù)權(quán)利要求7的裝置,其中所述至少一個(gè)第二設(shè)備進(jìn)一步包括一個(gè)接口,該接口在具有第一和第二I/O端口的第一組合的第一實(shí)施方式和具有第一和第二I/O端口的第二組合的第二實(shí)施方式之間是可變的,存儲(chǔ)裝置可在第一和第二實(shí)施方式的每一個(gè)中為接口實(shí)現(xiàn)的每個(gè)I/O端口提供一個(gè)或多個(gè)隊(duì)列。
10.根據(jù)權(quán)利要求9的裝置,其中在第一實(shí)施方式中,所述接口可具有多個(gè)第二I/O端口,在第二實(shí)施方式中,接口可具有一個(gè)或多個(gè)第一I/O端口,在第一實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第一I/O端口包括第一數(shù)目個(gè)隊(duì)列,在第二實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第二I/O端口包括第二數(shù)目個(gè)隊(duì)列。
11.根據(jù)前述任一權(quán)利要求的裝置,其中仲裁器能夠接收關(guān)于在I/O端口接收到的每個(gè)數(shù)據(jù)段的信息,該信息包括接收該數(shù)據(jù)段的一個(gè)I/O端口和/或一個(gè)設(shè)備。
12.根據(jù)前述任一權(quán)利要求的裝置,其中仲裁器能夠向至少一個(gè)第一設(shè)備提供關(guān)于哪個(gè)相應(yīng)端口被允許發(fā)送數(shù)據(jù)的信息。
13.根據(jù)權(quán)利要求12的裝置,其中仲裁器能夠?yàn)樗鲋辽僖粋€(gè)第一設(shè)備檢查是否多個(gè)端口中的第一端口希望向一個(gè)阻塞的或不可用的端口發(fā)送數(shù)據(jù),如果是,則檢查是否多個(gè)端口的另一個(gè)端口希望向一個(gè)未阻塞的或可用的端口發(fā)送數(shù)據(jù),如果是,則向所述至少一個(gè)第一設(shè)備發(fā)送關(guān)于所述另一個(gè)端口被允許發(fā)送數(shù)據(jù)的信息。
14.根據(jù)前述任一權(quán)利要求的裝置,其中所述至少一個(gè)第一設(shè)備能夠確定向多個(gè)相應(yīng)I/O端口中的哪一個(gè)發(fā)送從數(shù)據(jù)總線接收到的數(shù)據(jù)。
15.根據(jù)前述任一權(quán)利要求的裝置,其中一個(gè)設(shè)備能夠確定一個(gè)相應(yīng)的I/O端口處的阻塞,并將相應(yīng)的信息發(fā)送給仲裁器,并且當(dāng)一個(gè)阻塞的I/O端口希望向一個(gè)接收設(shè)備或端口發(fā)送數(shù)據(jù)時(shí),仲裁器能夠不考慮接收設(shè)備或I/O端口的任何阻塞或不可用性,并通知相關(guān)設(shè)備阻塞的I/O端口被允許發(fā)送數(shù)據(jù)。
16.根據(jù)前述任一權(quán)利要求的裝置,共中每個(gè)設(shè)備能夠?qū)⒃谙鄳?yīng)I/O端口處接收到的所有數(shù)據(jù)段發(fā)送給數(shù)據(jù)總線。
17.根據(jù)前述任一權(quán)利要求的裝置,其中至少一個(gè)第三設(shè)備進(jìn)一步包括一個(gè)處理裝置,該處理裝置能夠-為在其I/O端口接收到的每個(gè)數(shù)據(jù)段提供一個(gè)優(yōu)先級(jí),-在發(fā)送到數(shù)據(jù)總線之前將在其I/O端口接收到的每個(gè)數(shù)據(jù)段分成多個(gè)單元,并在從一個(gè)I/O端口輸出之前將從數(shù)據(jù)總線接收到的單元組裝成數(shù)據(jù)段,-處理在I/O端口接收到的每個(gè)數(shù)據(jù)段,和/或-從在I/O端口接收到的每個(gè)數(shù)據(jù)段中得到用于傳輸給仲裁器的信息。
18.根據(jù)權(quán)利要求17的裝置,其中所述設(shè)備可為設(shè)備的每個(gè)I/O端口包括一個(gè)處理裝置。
19.根據(jù)權(quán)利要求17的裝置,其中所述至少一個(gè)第三設(shè)備具有用于為其相應(yīng)的I/O端口上接收到的每個(gè)數(shù)據(jù)段提供一個(gè)優(yōu)先級(jí)的裝置,并且其中仲裁器能夠也根據(jù)數(shù)據(jù)的優(yōu)先級(jí)確定交換數(shù)據(jù)的順序。
20.根據(jù)前述任一權(quán)利要求的裝置,進(jìn)一步包括一個(gè)查找引擎,該查找引擎能夠接收關(guān)于在一個(gè)I/O端口接收到的每個(gè)數(shù)據(jù)段的信息并且從該信息中得出關(guān)于一個(gè)或多個(gè)接收該數(shù)據(jù)段的I/O端口或設(shè)備的標(biāo)識(shí)信息。
21.根據(jù)權(quán)利要求20的裝置,其中每個(gè)設(shè)備可進(jìn)一步從接收到的每個(gè)數(shù)據(jù)段中得出關(guān)于該數(shù)據(jù)段的信息,將該信息發(fā)送給查找引擎,從查找引擎接收標(biāo)識(shí)信息,并且在數(shù)據(jù)總線上與數(shù)據(jù)段一起交換標(biāo)識(shí)信息。
22.根據(jù)權(quán)利要求20的裝置,其中數(shù)據(jù)和標(biāo)識(shí)信息在接收到標(biāo)識(shí)信息之后以及在數(shù)據(jù)總線上被交換之前被存儲(chǔ)。
23.根據(jù)權(quán)利要求20的裝置,其中至少一個(gè)第四標(biāo)識(shí)設(shè)備能夠根據(jù)標(biāo)識(shí)信息確定數(shù)據(jù)是否是發(fā)向該設(shè)備的。
24.根據(jù)權(quán)利要求20的裝置,其中當(dāng)不止一個(gè)端口或設(shè)備要接收在一個(gè)接收設(shè)備接收到的一個(gè)數(shù)據(jù)段時(shí),仲裁器能夠確定哪些端口和設(shè)備是可用的或未阻塞的,并將信息發(fā)送到所述接收設(shè)備,以使其將數(shù)據(jù)轉(zhuǎn)發(fā)給那些端口和設(shè)備,并且隨后當(dāng)其他端口或設(shè)備可用或未阻塞時(shí),通知接收設(shè)備將數(shù)據(jù)轉(zhuǎn)發(fā)到那些設(shè)備或端口。
25.一種用于在一個(gè)交換裝置中交換數(shù)據(jù)的方法包括-一條數(shù)據(jù)總線,-多個(gè)可通過數(shù)據(jù)總線彼此交換數(shù)據(jù)的設(shè)備,每個(gè)設(shè)備可從至少一個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給該I/O端口,至少一個(gè)第一設(shè)備可從多個(gè)相應(yīng)的I/O端口接收數(shù)據(jù),以及將數(shù)據(jù)發(fā)送給所述多個(gè)相應(yīng)的I/O端口,-用于確定設(shè)備之間在數(shù)據(jù)總線上交換數(shù)據(jù)的順序的仲裁器裝置,該方法包括所述每個(gè)設(shè)備-接收和存儲(chǔ)來自一個(gè)相應(yīng)的I/O端口的數(shù)據(jù),-將關(guān)于一個(gè)相應(yīng)的端口的阻塞或可用信息發(fā)送給仲裁器,-從仲裁器接收表示接收到的數(shù)據(jù)是否可在數(shù)據(jù)總線上發(fā)送的信息,-如果接收到的信息表示數(shù)據(jù)可被發(fā)送,則在數(shù)據(jù)總線上發(fā)送數(shù)據(jù),以及-從數(shù)據(jù)總線接收數(shù)據(jù)并將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給一個(gè)相應(yīng)的I/O端口,所述仲裁器能夠-從所述多個(gè)設(shè)備接收阻塞或不可用信息,以及-根據(jù)阻塞信息確定交換數(shù)據(jù)的順序。
26.根據(jù)權(quán)利要求25的方法,其中多個(gè)設(shè)備以至少基本相同的速率在數(shù)據(jù)總線上彼此直接交換數(shù)據(jù)。
27.根據(jù)權(quán)利要求26的方法,其中第一數(shù)目個(gè)I/O端口允許第一高、較高的數(shù)據(jù)接收/發(fā)送速率,第二數(shù)目個(gè)I/O端口允許第二高、較低的數(shù)據(jù)接收/發(fā)送速率,該速率比所述較高的速率低。
28.根據(jù)權(quán)利要求27的方法,其中至少一個(gè)I/O端口進(jìn)一步允許一個(gè)或多個(gè)低于其最高數(shù)據(jù)速率的其他的數(shù)據(jù)接收/發(fā)送速率。
29.根據(jù)權(quán)利要求27的方法,其中每個(gè)設(shè)備至少以第一速率從數(shù)據(jù)總線接收數(shù)據(jù)并將數(shù)據(jù)發(fā)送給數(shù)據(jù)總線。
30.根據(jù)權(quán)利要求27的方法,其中每個(gè)設(shè)備與第一群組的一個(gè)或多個(gè)I/O端口或者第二群組的多個(gè)I/O端口通信。
31.根據(jù)權(quán)利要求25-30中任何一條權(quán)利要求的方法,其中至少一個(gè)第二設(shè)備將從一個(gè)或多個(gè)相應(yīng)的I/O端口和/或數(shù)據(jù)總線接收到的數(shù)據(jù)段存儲(chǔ)在一個(gè)存儲(chǔ)裝置中,該存儲(chǔ)裝置包括用于保存數(shù)據(jù)段的多個(gè)數(shù)據(jù)隊(duì)列。
32.根據(jù)權(quán)利要求31的方法,其中對(duì)于每個(gè)相應(yīng)的I/O端口,所述至少一個(gè)第二設(shè)備將數(shù)據(jù)段存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)隊(duì)列中。
33.根據(jù)權(quán)利要求31的方法,其中所述至少一個(gè)第二設(shè)備進(jìn)一步包括一個(gè)接口,該接口在具有第一和第二I/O端口的第一組合的第一實(shí)施方式和具有第一和第二I/O端口的第二組合的第二實(shí)施方式之間變化,存儲(chǔ)裝置在第一和第二實(shí)施方式的每一個(gè)中為接口實(shí)現(xiàn)的每個(gè)I/O端口提供一個(gè)或多個(gè)隊(duì)列。
34.根據(jù)權(quán)利要求33的方法,其中在第一實(shí)施方式中,所述接口具有多個(gè)第二I/O端口,在第二實(shí)施方式中,接口具有一個(gè)或多個(gè)第一I/O端口,在第一實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第一I/O端口包括第一數(shù)目個(gè)隊(duì)列,在第二實(shí)施方式中,存儲(chǔ)裝置對(duì)于接口的每個(gè)第二I/O端口包括第二數(shù)目個(gè)隊(duì)列。
35.根據(jù)權(quán)利要求25-34中任何一條的方法,其中仲裁器接收關(guān)于在I/O端口處接收的每個(gè)數(shù)據(jù)段的信息,該信息包括接收所述數(shù)據(jù)段的一個(gè)I/O端口和/或一個(gè)設(shè)備。
36.根據(jù)權(quán)利要求25-35中任何一條的方法,其中仲裁器向至少一個(gè)第一設(shè)備提供關(guān)于哪個(gè)相應(yīng)的端口被允許發(fā)送數(shù)據(jù)的信息。
37.根據(jù)權(quán)利要求36的方法,其中仲裁器為所述至少一個(gè)第一設(shè)備檢查是否多個(gè)端口中的一個(gè)第一端口希望向一個(gè)阻塞的或不可用的端口發(fā)送數(shù)據(jù),如果是,則檢查是否多個(gè)端口的另一個(gè)端口希望向一個(gè)未阻塞的或可用的端口發(fā)送數(shù)據(jù),如果是,則向所述至少一個(gè)第一設(shè)備發(fā)送關(guān)于所述另一個(gè)端口被允許發(fā)送數(shù)據(jù)的信息。
38.根據(jù)權(quán)利要求25-37中任何一條的方法,其中所述至少一個(gè)第一設(shè)備確定向其多個(gè)相應(yīng)的I/O端口中的哪一個(gè)發(fā)送從數(shù)據(jù)總線接收到的數(shù)據(jù)。
39.根據(jù)權(quán)利要求25-38中任何一條的方法,其中一個(gè)設(shè)備確定一個(gè)相應(yīng)的I/O端口處的阻塞,并將相應(yīng)的信息發(fā)送給仲裁器,并且當(dāng)一個(gè)阻塞的I/O端口希望向一個(gè)接收設(shè)備或端口發(fā)送數(shù)據(jù)時(shí),仲裁器能夠不考慮接收設(shè)備或I/O端口的任何阻塞或不可用性,并通知相關(guān)設(shè)備阻塞的I/O端口被允許發(fā)送數(shù)據(jù)。
40.根據(jù)權(quán)利要求25-39中任何一條的方法,其中每個(gè)設(shè)備將在相應(yīng)的I/O端口處接收到的所有數(shù)據(jù)段發(fā)送給數(shù)據(jù)總線。
41.根據(jù)權(quán)利要求25-40中任何一條的方法,其中至少一個(gè)第三設(shè)備進(jìn)一步包括一個(gè)或多個(gè)處理步驟,這些步驟是-為在其I/O端口接收到的每個(gè)分組或幀提供一個(gè)優(yōu)先級(jí),-在發(fā)送到數(shù)據(jù)總線之前將在其I/O端口接收到的每個(gè)分組或幀分成多個(gè)單元,并在從一個(gè)I/O端口輸出之前將從數(shù)據(jù)總線接收到的單元組裝成幀或分組,-處理在I/O端口接收到的每個(gè)分組或幀,以及-從在I/O端口接收到的每個(gè)分組或幀中得出用于傳輸給仲裁器的信息。
42.根據(jù)權(quán)利要求41的方法,其中所述至少一個(gè)第三設(shè)備可為設(shè)備的每個(gè)I/O端口執(zhí)行一個(gè)或多個(gè)處理步驟。
43.根據(jù)權(quán)利要求41的方法,其中所述至少一個(gè)第三設(shè)備執(zhí)行為其相應(yīng)的I/O端口處接收到的每個(gè)數(shù)據(jù)段執(zhí)行提供一個(gè)優(yōu)先級(jí)的步驟,并且其中仲裁器也根據(jù)數(shù)據(jù)的優(yōu)先級(jí)確定交換數(shù)據(jù)的順序。
44.根據(jù)權(quán)利要求25-43中任何一條的方法,進(jìn)一步包括以下步驟一個(gè)查找引擎接收關(guān)于在一個(gè)I/O端口接收到的每個(gè)數(shù)據(jù)段的信息,并且從該信息中得出關(guān)于一個(gè)或多個(gè)接收該數(shù)據(jù)段的I/O端口或設(shè)備的標(biāo)識(shí)信息。
45.根據(jù)權(quán)利要求44的方法,其中每個(gè)設(shè)備進(jìn)一步從接收到的每個(gè)數(shù)據(jù)段得出關(guān)于該數(shù)據(jù)段的信息,將該信息發(fā)送給查找引擎,從查找引擎接收標(biāo)識(shí)信息,并且在數(shù)據(jù)總線上與數(shù)據(jù)段一起交換標(biāo)識(shí)信息。
46.根據(jù)權(quán)利要求44的方法,其中數(shù)據(jù)和標(biāo)識(shí)信息在接收到標(biāo)識(shí)信息之后以及在數(shù)據(jù)總線上被交換之前被存儲(chǔ)。
47.根據(jù)權(quán)利要求44的方法,其中至少一個(gè)第四設(shè)備根據(jù)標(biāo)識(shí)信息確定數(shù)據(jù)是否是發(fā)向該設(shè)備的。
48.根據(jù)權(quán)利要求44的方法,其中當(dāng)不止一個(gè)端口或設(shè)備要接收在一個(gè)接收設(shè)備接收到的一個(gè)數(shù)據(jù)段時(shí),仲裁器確定哪些端口和設(shè)備是可用的或未阻塞的,并將信息發(fā)送到所述接收設(shè)備,以便讓其將數(shù)據(jù)轉(zhuǎn)發(fā)給那些端口和設(shè)備,并且隨后當(dāng)其他端口或設(shè)備可用或未阻塞時(shí),通知接收設(shè)備將數(shù)據(jù)轉(zhuǎn)發(fā)到那些設(shè)備或端口。
49.一個(gè)接口,該接口包括-多個(gè)用于串行化并行數(shù)據(jù)的裝置,每個(gè)串行化裝置可輸出一個(gè)串行數(shù)據(jù)信號(hào),-用于提供多個(gè)獨(dú)立的第一并行數(shù)據(jù)的第一裝置,為每個(gè)串行化裝置提供一個(gè)第一并行數(shù)據(jù),-用于提供第二并行數(shù)據(jù)的第二裝置,用于將第二并行數(shù)據(jù)分成多個(gè)第三并行數(shù)據(jù)并將一個(gè)第三并行數(shù)據(jù)提供給每個(gè)串行化裝置,以及-用于校準(zhǔn)和/或同步從串行化裝置輸出的串行數(shù)據(jù)信號(hào)以便得到多個(gè)串行數(shù)據(jù)信號(hào)之間的一個(gè)預(yù)定時(shí)序關(guān)系的裝置。
50.根據(jù)權(quán)利要求49的接口,其中,校準(zhǔn)/同步裝置能夠在接收第一并行數(shù)據(jù)時(shí)不校準(zhǔn)/同步從串行化裝置輸出的串行數(shù)據(jù)信號(hào)。
51.一個(gè)接口,該接口包括-多個(gè)用于串行化并行數(shù)據(jù)的裝置,每個(gè)串行化裝置可輸出一個(gè)串行數(shù)據(jù)信號(hào),-用于提供多個(gè)獨(dú)立的第一并行數(shù)據(jù)的第一裝置,為每個(gè)串行化裝置提供一個(gè)第一并行數(shù)據(jù),-用于提供第二并行數(shù)據(jù)的第二裝置,用于將第二并行數(shù)據(jù)分成多個(gè)第三并行數(shù)據(jù)并將一個(gè)第三并行數(shù)據(jù)提供給每個(gè)串行化裝置,以及-用于校準(zhǔn)和/或同步第三并行數(shù)據(jù)以便得到多個(gè)第三串行數(shù)據(jù)信號(hào)之間的一個(gè)預(yù)定時(shí)序關(guān)系的裝置。
52.根據(jù)權(quán)利要求49-51中任何一條的接口,校準(zhǔn)/并行裝置能夠被禁用。
53.根據(jù)權(quán)利要求49-52中任何一條的接口,其中第一提供裝置可沿著一條第一并行數(shù)據(jù)總線輸出每個(gè)第一并行數(shù)據(jù),其中第一并行數(shù)據(jù)總線具有第一預(yù)定數(shù)目個(gè)導(dǎo)體,其中第二提供裝置可沿著一條第二數(shù)據(jù)總線輸出第二并行數(shù)據(jù),其中第二數(shù)據(jù)總線具有第二預(yù)定數(shù)目個(gè)導(dǎo)體,并且其中第一和第二數(shù)據(jù)總線至少具有一個(gè)公共導(dǎo)體。
54.根據(jù)權(quán)利要求53的接口,導(dǎo)體的第一預(yù)定數(shù)目與導(dǎo)體的第二預(yù)定數(shù)目不同。
55.根據(jù)權(quán)利要求53的接口,其中第一并行數(shù)據(jù)總線被包括在第二并行數(shù)據(jù)總線中。
56.根據(jù)權(quán)利要求53的接口,其中多個(gè)串行化裝置乘以第一預(yù)定數(shù)目個(gè)導(dǎo)體等于第二預(yù)定數(shù)目個(gè)導(dǎo)體。
57.根據(jù)權(quán)利要求49-56中任何一條的接口,其中第一提供裝置能夠遵循GMII標(biāo)準(zhǔn)輸出第一并行數(shù)據(jù),其中第二提供裝置能夠遵循XGMII標(biāo)準(zhǔn)輸出第二并行數(shù)據(jù),并且串行化裝置能夠遵循XAUI或無限頻帶標(biāo)準(zhǔn)輸出多個(gè)串行數(shù)據(jù)信號(hào)。
58.一個(gè)接口,該接口包括-多個(gè)裝置,每個(gè)裝置用于接收一個(gè)串行數(shù)據(jù)信號(hào),以及用于將串行數(shù)據(jù)信號(hào)去串行化為并行數(shù)據(jù),-用于在去串行化之前校準(zhǔn)/同步所述串行數(shù)據(jù)信號(hào)以便獲得多個(gè)并行數(shù)據(jù)之間的一個(gè)預(yù)定時(shí)序關(guān)系的裝置,校準(zhǔn)/同步裝置可被禁用,-當(dāng)校準(zhǔn)/同步裝置未被禁用時(shí),用于將對(duì)應(yīng)去串行化后的校準(zhǔn)/同步后的串行信號(hào)的并行數(shù)據(jù)合并成一個(gè)單個(gè)并行數(shù)據(jù)段或一個(gè)單個(gè)并行數(shù)據(jù)流的裝置。
59.一個(gè)接口,該接口包括-多個(gè)裝置,每個(gè)裝置用于接收一個(gè)串行數(shù)據(jù)信號(hào),以及用于將串行數(shù)據(jù)信號(hào)去串行化為并行數(shù)據(jù),-用于校準(zhǔn)/同步所述多個(gè)并行數(shù)據(jù)以便獲得多個(gè)并行數(shù)據(jù)之間的一個(gè)預(yù)定時(shí)序關(guān)系的裝置,校準(zhǔn)/同步裝置可被禁用,-當(dāng)校準(zhǔn)/同步裝置未被禁用時(shí),用于將校準(zhǔn)/同步后的并行數(shù)據(jù)合并成一個(gè)單個(gè)并行數(shù)據(jù)段或一個(gè)單個(gè)并行數(shù)據(jù)流的裝置。
60.根據(jù)權(quán)利要求58或59中任何一條的接口,其中去串行化裝置能夠沿著一個(gè)第一并行數(shù)據(jù)總線輸出每個(gè)并行數(shù)據(jù),其中第一并行數(shù)據(jù)總線具有第一預(yù)定數(shù)目個(gè)導(dǎo)體,其中合并裝置能夠沿著一個(gè)第二數(shù)據(jù)總線輸出單個(gè)并行數(shù)據(jù),其中第二數(shù)據(jù)總線具有第二預(yù)定數(shù)目個(gè)導(dǎo)體,并且其中第一和第二數(shù)據(jù)總線具有至少一個(gè)公共導(dǎo)體。
61.根據(jù)權(quán)利要求60的接口,其中導(dǎo)體第一預(yù)定數(shù)目與導(dǎo)體的第二預(yù)定數(shù)目不同。
62.根據(jù)權(quán)利要求60的接口,其中第一并行數(shù)據(jù)總線包括在第二并行數(shù)據(jù)總線中。
63.根據(jù)權(quán)利要求60的接口,其中多個(gè)串行化裝置乘以第一預(yù)定數(shù)目個(gè)導(dǎo)體等于第二預(yù)定數(shù)目個(gè)導(dǎo)體。
64.根據(jù)權(quán)利要求58-63中任何一條的接口,其中去串行化裝置能夠遵循GMII標(biāo)準(zhǔn)輸出第一并行數(shù)據(jù),其中合并裝置能夠遵循XGMII標(biāo)準(zhǔn)輸出第二并行數(shù)據(jù),并且其中去串行化裝置能夠遵循XAUI或無限頻帶標(biāo)準(zhǔn)接收多個(gè)串行數(shù)據(jù)信號(hào)。
65.根據(jù)權(quán)利要求49-64中任何一條的接口,進(jìn)一步包括一個(gè)用于提供一個(gè)時(shí)鐘信號(hào)的裝置,并且其中串行化/去串行化裝置能夠根據(jù)該時(shí)鐘信號(hào)執(zhí)行串行化/去串行化。
66.根據(jù)權(quán)利要求65的接口,其中時(shí)鐘提供裝置能夠提供具有兩個(gè)時(shí)鐘信號(hào)頻率之一的時(shí)鐘信號(hào),其中當(dāng)校準(zhǔn)/同步裝置被禁用時(shí),提供具有時(shí)鐘信號(hào)頻率之一的時(shí)鐘信號(hào),而當(dāng)校準(zhǔn)裝置未被禁用時(shí),提供具有時(shí)鐘信號(hào)頻率中的另一個(gè)頻率的時(shí)鐘信號(hào)。
67.根據(jù)權(quán)利要求66的接口,其中時(shí)鐘頻率中的一個(gè)頻率和另一個(gè)頻率從包括3.25GHz、1.25GHz和2.5GHz的組中選擇。
68.根據(jù)權(quán)利要求67的接口,其中一個(gè)信號(hào)的頻率為1.25GHz,而另一個(gè)信號(hào)的頻率為3.25GHz或2.5GHz。
69.一種通信系統(tǒng),該通信系統(tǒng)包括根據(jù)權(quán)利要求49-57中任何一條的一個(gè)第一接口和根據(jù)權(quán)利要求58-64中任何一條的一個(gè)第二接口,以及用于將多個(gè)串行信號(hào)從第一接口傳輸?shù)降诙涌诘难b置,該系統(tǒng)包括用于處理由第二接口輸出的多個(gè)并行數(shù)據(jù)和/或單個(gè)并行數(shù)據(jù)的裝置,處理裝置能夠彼此獨(dú)立地處理所述多個(gè)并行數(shù)據(jù)。
70.根據(jù)權(quán)利要求69的通信系統(tǒng),該系統(tǒng)能夠以兩種操作模式之一被操作,這兩種模式包括-第一操作模式,其中第一和第二接口的校準(zhǔn)/同步裝置被操作,以及-第二操作模式,其中第一和第二接口的校準(zhǔn)/同步裝置被禁用。
71.操作權(quán)利要求49-68中任何一條的接口的方法,該方法包括-確定要接收和/或輸出的一個(gè)或多個(gè)串行數(shù)據(jù)信號(hào)是否將被校準(zhǔn)和/或同步,以及-相應(yīng)地操作校準(zhǔn)/同步裝置。
72.根據(jù)權(quán)利要求71的方法,其中確定步驟包括確定多個(gè)串行數(shù)據(jù)信號(hào)的總的數(shù)據(jù)速率,并且如果該數(shù)據(jù)速率超過一個(gè)預(yù)定的閾值則操作校準(zhǔn)/同步裝置。
73.操作權(quán)利要求58-64中任何一條的接口的方法,該方法包括在兩種操作模式之間變化,其中-在第一操作模式中,去串行化裝置彼此獨(dú)立地接收數(shù)據(jù),并彼此獨(dú)立地輸出并行數(shù)據(jù),以及-在第二操作模式中,輸出單個(gè)并行數(shù)據(jù)。
74.操作權(quán)利要求49-57中任何一條的接口的方法,該方法包括在兩種操作模式之間變化,其中-在第一操作模式中,串行化裝置彼此獨(dú)立地接收第一并行數(shù)據(jù),并彼此獨(dú)立地輸出串行數(shù)據(jù),以及-在第二操作模式中,多個(gè)串行數(shù)據(jù)信號(hào)輸出具有預(yù)定的時(shí)序關(guān)系。
75.一種交換器,該交換器具有-多個(gè)設(shè)備,每個(gè)設(shè)備包括一個(gè)根據(jù)權(quán)利要求49-57中任何一條的接口和一個(gè)根據(jù)權(quán)利要求58-68中任何一條的接口,并且每個(gè)設(shè)備能夠從一個(gè)或多個(gè)網(wǎng)絡(luò)連接接收多個(gè)串行數(shù)據(jù)信號(hào),以及將多個(gè)串行數(shù)據(jù)信號(hào)輸出給所述一個(gè)或多個(gè)網(wǎng)絡(luò)連接,-所述設(shè)備能在其上交換數(shù)據(jù)的一條數(shù)據(jù)總線,其中所述多個(gè)設(shè)備中的至少一個(gè)能夠在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,其中設(shè)備能夠通過接口從第一數(shù)目個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),以及通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給所述第一數(shù)目個(gè)網(wǎng)絡(luò)連接,以及-第二操作模式,其中設(shè)備能夠通過接口從第二數(shù)目個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),以及通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給所述第二數(shù)目個(gè)網(wǎng)絡(luò)連接,第二數(shù)目大于第一數(shù)目。
76.根據(jù)權(quán)利要求75的交換器,其中所述至少一個(gè)設(shè)備包括一個(gè)處理裝置,該處理裝置能夠在發(fā)送到數(shù)據(jù)總線之前處理從接口接收到的數(shù)據(jù),處理裝置可在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,其中裝置能夠彼此獨(dú)立的處理來自第一數(shù)目個(gè)網(wǎng)絡(luò)連接中的每一個(gè)的數(shù)據(jù),以及-第二操作模式,其中裝置能夠彼此獨(dú)立的處理來自第二數(shù)目個(gè)網(wǎng)絡(luò)連接的數(shù)據(jù)。
77.根據(jù)權(quán)利要求76的交換器,其中在第二操作模式中處理裝置包括對(duì)應(yīng)于第二數(shù)目個(gè)獨(dú)立過程中的每一個(gè)的單獨(dú)存儲(chǔ)器以及在第二數(shù)目個(gè)獨(dú)立程序之間共享的邏輯。
78.根據(jù)權(quán)利要求75的交換器,其中至少一個(gè)設(shè)備進(jìn)一步包括一個(gè)存儲(chǔ)裝置,該存儲(chǔ)裝置可在在接口接收數(shù)據(jù)與在總線上傳輸數(shù)據(jù)之間存儲(chǔ)數(shù)據(jù),存儲(chǔ)裝置可以在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,用于當(dāng)設(shè)備以其第一操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第一數(shù)目個(gè)網(wǎng)絡(luò)連接乘以一個(gè)第一預(yù)定數(shù)目的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù),以及-第二操作模式,用于當(dāng)設(shè)備以其第二操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第二數(shù)目個(gè)網(wǎng)絡(luò)連接乘以一個(gè)第二預(yù)定數(shù)目的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù)。
79.一種操作一個(gè)交換器的方法,該交換器具有-多個(gè)設(shè)備,每個(gè)設(shè)備包括一個(gè)根據(jù)權(quán)利要求49-57中任何一條的接口和一個(gè)根據(jù)權(quán)利要求58-68中任何一條的接口,并且每個(gè)設(shè)備能夠通過所述接口從一個(gè)或多個(gè)網(wǎng)絡(luò)連接接收多個(gè)串行數(shù)據(jù)信號(hào),以及通過所述接口將多個(gè)串行數(shù)據(jù)信號(hào)輸出給所述一個(gè)或多個(gè)網(wǎng)絡(luò)連接,-所述設(shè)備能在其上交換數(shù)據(jù)的一條數(shù)據(jù)總線,該方法包括在所述多個(gè)設(shè)備的至少之一中在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,其中所述設(shè)備能夠通過所述接口從第一數(shù)目個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),以及通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給第一數(shù)目個(gè)網(wǎng)絡(luò)連接,以及-第二操作模式,其中設(shè)備能夠通過接口從第二數(shù)目個(gè)網(wǎng)絡(luò)連接接收串行數(shù)據(jù)信號(hào),以及通過接口將串行數(shù)據(jù)信號(hào)發(fā)送給第二數(shù)目個(gè)網(wǎng)絡(luò)連接,第二數(shù)目大于第一數(shù)目。
80.根據(jù)權(quán)利要求79的方法,進(jìn)一步包括在發(fā)送到數(shù)據(jù)總線之前處理從接口接收到的數(shù)據(jù)的步驟,該方法包括使處理在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,其中來自第一數(shù)目個(gè)網(wǎng)絡(luò)連接的每一個(gè)的數(shù)據(jù)被彼此獨(dú)立地處理,以及-第二操作模式,其中來自第二數(shù)目個(gè)網(wǎng)絡(luò)連接中的數(shù)據(jù)被彼此獨(dú)立地處理。
81.根據(jù)權(quán)利要求79的方法,進(jìn)一步包括在接口接收數(shù)據(jù)與在總線上傳輸數(shù)據(jù)之間存儲(chǔ)數(shù)據(jù)的步驟,該方法包括使存儲(chǔ)在至少兩種操作模式之間變化,這兩種操作模式包括-第一操作模式,用于當(dāng)設(shè)備以其第一操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第一數(shù)目個(gè)網(wǎng)絡(luò)連接乘以一個(gè)第一預(yù)定數(shù)目的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù),以及-第二操作模式,用于當(dāng)設(shè)備以其第二操作模式操作時(shí),其中存儲(chǔ)裝置能夠在對(duì)應(yīng)于第二數(shù)目個(gè)網(wǎng)絡(luò)連接乘以一個(gè)第二預(yù)定數(shù)目的多個(gè)隊(duì)列中存儲(chǔ)接收到的數(shù)據(jù)。
82.一種操作根據(jù)權(quán)利要求75的交換器的方法,該方法包括-對(duì)于所述多個(gè)設(shè)備的至少一個(gè),確定是使用第一或第二操作模式,以及-以確定的操作模式操作所述設(shè)備。
全文摘要
一個(gè)交換裝置和方法,其中多個(gè)設(shè)備在一條數(shù)據(jù)總線(4)上交換數(shù)據(jù)。每個(gè)設(shè)備具有至少一個(gè)數(shù)據(jù)端口(10),并且至少一個(gè)設(shè)備具有多個(gè)數(shù)據(jù)端口(10)。數(shù)據(jù)端口可具有不同的數(shù)據(jù)速率。一個(gè)仲裁在允許數(shù)據(jù)在設(shè)備間傳輸之前考慮端口(10)的可用性或阻塞。設(shè)備在一個(gè)交叉點(diǎn)上直接通信。
文檔編號(hào)H04L12/43GK1608366SQ02826089
公開日2005年4月20日 申請(qǐng)日期2002年11月7日 優(yōu)先權(quán)日2001年11月9日
發(fā)明者凱·哈里基爾德-彼得森, 彼得·O·尼爾森, 金斯·P·泰格瑞-布瑞格, 博·B·托姆森, 奧魯夫·拜格爾 申請(qǐng)人:維特賽半導(dǎo)體公司