具有端口解析模塊的結(jié)構(gòu)芯片的制作方法
【專利摘要】一種結(jié)構(gòu)芯片包括多個(gè)端口接口,其中多個(gè)端口接口中每個(gè)端口接口均包括具有端口解析模塊的網(wǎng)絡(luò)芯片接口(NCI)塊以及交叉開(kāi)關(guān)塊,并且其中所述端口解析模塊要確定端口接口中哪個(gè)端口接口要從NCI塊接收分組,所述交叉開(kāi)關(guān)塊可通信地與多個(gè)端口接口中的每個(gè)NCI塊聯(lián)接。
【專利說(shuō)明】具有端ロ解析模塊的結(jié)構(gòu)芯片
【背景技術(shù)】
[0001]計(jì)算機(jī)性能已提升并且繼續(xù)以很快的速率提升。伴隨所提升的計(jì)算機(jī)性能,將計(jì)算機(jī)連接在一起的網(wǎng)絡(luò)的帶寬能力也已提升并且繼續(xù)顯著提升?;谝蕴W(wǎng)的技術(shù)是已被改變和改進(jìn)來(lái)向聯(lián)網(wǎng)的計(jì)算機(jī)提供充足帶寬的一種網(wǎng)絡(luò)的示例?;谝蕴W(wǎng)的技術(shù)通常利用網(wǎng)絡(luò)交換機(jī),網(wǎng)絡(luò)交換機(jī)是根據(jù)分組中包含的目的地址信息對(duì)分組流進(jìn)行控制的基于硬件的設(shè)備。在交換結(jié)構(gòu)中,網(wǎng)絡(luò)交換機(jī)通過(guò)允許建造具有可擴(kuò)展端ロ密度的網(wǎng)絡(luò)交換機(jī)的結(jié)構(gòu)彼此連接。此結(jié)構(gòu)通常從網(wǎng)絡(luò)交換機(jī)接收數(shù)據(jù)并且將數(shù)據(jù)轉(zhuǎn)發(fā)至其它連接的網(wǎng)絡(luò)交換機(jī)。 [0002]在傳統(tǒng)的交換式結(jié)構(gòu)中,在分組的源處對(duì)多播分組進(jìn)行復(fù)制,并且將每個(gè)所復(fù)制的分組通過(guò)該結(jié)構(gòu)傳遞至它們各自的目的地。這導(dǎo)致分組源附近的結(jié)構(gòu)消耗相對(duì)大量的帶寬。此外,傳統(tǒng)的交換式結(jié)構(gòu)對(duì)固定的結(jié)構(gòu)輸出端ロ進(jìn)行編程,以將分組移向目的地,這可能導(dǎo)致結(jié)構(gòu)帶寬的低效使用以及不必要的大量消耗。此外,當(dāng)結(jié)構(gòu)和網(wǎng)絡(luò)交換機(jī)之間連接發(fā)生故障時(shí),傳統(tǒng)冗余的交換式結(jié)構(gòu)需要軟件交互來(lái)恢復(fù)該結(jié)構(gòu)上的業(yè)務(wù)流。然而,當(dāng)在結(jié)構(gòu)和未建設(shè)有故障轉(zhuǎn)移能力的傳統(tǒng)交換式結(jié)構(gòu)中的網(wǎng)絡(luò)交換機(jī)之間的連接中發(fā)生故障吋,穿越該結(jié)構(gòu)的數(shù)據(jù)流在軟件與該結(jié)構(gòu)進(jìn)行交互來(lái)恢復(fù)該結(jié)構(gòu)上的業(yè)務(wù)流時(shí)停止。
【專利附圖】
【附圖說(shuō)明】
[0003]本公開(kāi)的特征是通過(guò)示例圖示的且不局限于下面的圖,下面的圖中相同的附圖標(biāo)記表示相同元件,其中:
[0004]圖1圖示根據(jù)本公開(kāi)示例的網(wǎng)絡(luò)裝置的簡(jiǎn)化示意圖;
[0005]圖2示出根據(jù)本公開(kāi)示例的圖1所示結(jié)構(gòu)芯片的簡(jiǎn)化框圖;
[0006]圖3和圖4分別示出根據(jù)本公開(kāi)的兩個(gè)示例的交換結(jié)構(gòu)的簡(jiǎn)化框圖;以及
[0007]圖5和圖6分別示出根據(jù)本公開(kāi)示例的用于實(shí)現(xiàn)包括圖1至圖4的結(jié)構(gòu)芯片的交換結(jié)構(gòu)的方法的流程圖。
【具體實(shí)施方式】
[0008]為簡(jiǎn)單和說(shuō)明目的,通過(guò)主要參考本公開(kāi)的示例對(duì)本公開(kāi)進(jìn)行描述。在下面的描述中,闡述大量特定細(xì)節(jié),以便提供對(duì)本發(fā)明的全面理解。然而,將顯而易見(jiàn)的是,本公開(kāi)可以在沒(méi)有對(duì)這些特定細(xì)節(jié)的限制的情況下實(shí)踐。在其它情況中,未詳細(xì)地描述ー些方法和結(jié)構(gòu),以便不非必要地使本公開(kāi)模糊。
[0009]在本公開(kāi)全文中,附圖標(biāo)記后的術(shù)語(yǔ)“n”意在表示大于I的整數(shù)值。此外,圖中的省略號(hào)…意在表示在圍繞省略號(hào)的要素之間可以包括附加的要素。此外,術(shù)語(yǔ)“一”意在表示特定要素中至少ー個(gè)。本文中使用的術(shù)語(yǔ)“包括”指包括但不限干,術(shù)語(yǔ)“包含”在本文中使用時(shí)指包含但不限干。術(shù)語(yǔ)“基干”指至少部分地基干。
[0010]本文公開(kāi)的是結(jié)構(gòu)芯片、交換結(jié)構(gòu)和用于實(shí)現(xiàn)交換結(jié)構(gòu)的方法。本文公開(kāi)的結(jié)構(gòu)芯片包含多個(gè)端ロ接ロ,其中多個(gè)端ロ接ロ中每個(gè)端ロ接ロ均能夠確定其它端ロ接口中哪個(gè)端口接口會(huì)接收要到達(dá)目的地節(jié)點(diǎn)芯片的分組,目的地節(jié)點(diǎn)芯片可以直接附接至端口接口之一或另一結(jié)構(gòu)芯片。此外,這些端口接口能夠獨(dú)立于這些端口接口外部的軟件做出這些確定。根據(jù)示例,本文公開(kāi)的用于實(shí)施結(jié)構(gòu)芯片的交換結(jié)構(gòu)具有相對(duì)高的可用性,因?yàn)樵摻Y(jié)構(gòu)芯片能夠在結(jié)構(gòu)芯片之間的鏈路故障的情況下保持結(jié)構(gòu)芯片之間的連接性。此外,本文公開(kāi)的結(jié)構(gòu)芯片能夠?qū)⒍嗖シ纸M傳送至它們的目的地節(jié)點(diǎn)芯片,同時(shí)通過(guò)在交換結(jié)構(gòu)中的最遠(yuǎn)點(diǎn)復(fù)制多播分組來(lái)使結(jié)構(gòu)擁塞最小化。因此,本文公開(kāi)的結(jié)構(gòu)芯片能夠進(jìn)行分組的多播,而不需要源節(jié)點(diǎn)芯片多次將多播分組傳輸至目的地節(jié)點(diǎn)芯片。
[0011]分組在本文中使用時(shí)可以包括數(shù)據(jù)分組和/或控制分組。根據(jù)示例,分組包括數(shù)據(jù)迷你分組(MPacket)和控制迷你分組,其中控制迷你分組是請(qǐng)求或應(yīng)答,數(shù)據(jù)迷你分組是單播和/或多播。
[0012]首先參考圖1,這里示出根據(jù)示例的網(wǎng)絡(luò)裝置100的簡(jiǎn)化圖。很明顯,圖1中繪出的圖代表概括圖示,并且可以添加其它組件或可以移除、修改或重布置現(xiàn)有組件,而不背離網(wǎng)絡(luò)裝置100的范圍。
[0013]網(wǎng)絡(luò)裝置100大體包括用于執(zhí)行聯(lián)網(wǎng)功能的裝置,如網(wǎng)絡(luò)交換機(jī)或等同裝置。在這一點(diǎn),網(wǎng)絡(luò)裝置100可以包括外殼或外罩102,并且可以被配置為用作聯(lián)網(wǎng)組件。換言之,例如,可以將外殼102配置為放置在電子設(shè)備架或其它聯(lián)網(wǎng)環(huán)境中,如與其它網(wǎng)絡(luò)裝置一起放置在堆疊構(gòu)造中。在其它示例中,網(wǎng)絡(luò)裝置100可以位于外殼內(nèi)較大ASIC的或一組ASIC的內(nèi)部。此外或可替代地,網(wǎng)絡(luò)裝置100可以提供單個(gè)外殼內(nèi)部的結(jié)構(gòu)網(wǎng)絡(luò)的一部分。
[0014]將網(wǎng)絡(luò)裝置100描繪為包括結(jié)構(gòu)芯片110和具有標(biāo)記“O”和“I”的端口的多個(gè)節(jié)點(diǎn)芯片130a-130n。還將結(jié)構(gòu)芯片110描繪為包括多個(gè)端口接口 112a_112n,多個(gè)端口接口 112a-112n可通信地聯(lián)接至節(jié)點(diǎn)芯片130a_130n的端口“O”和“I”中各個(gè)端口。端口接口 112a-112n還可通信地連接至交叉開(kāi)關(guān)陣列120,將交叉開(kāi)關(guān)陣列120描繪為包括控制交叉開(kāi)關(guān)122、單播數(shù)據(jù)交叉開(kāi)關(guān)124和多播數(shù)據(jù)交叉開(kāi)關(guān)126。還將端口接口 112η描繪為連接至另一網(wǎng)絡(luò)裝置150,另一網(wǎng)絡(luò)裝置150可以包括與網(wǎng)絡(luò)裝置100相同或相似的配置。因此,例如,另一網(wǎng)絡(luò)裝置150可以包括可通信地聯(lián)接至結(jié)構(gòu)芯片110的多個(gè)節(jié)點(diǎn)芯片130a-130n。此外,網(wǎng)絡(luò)裝置100的結(jié)構(gòu)芯片110可以以本文下面更詳細(xì)地討論的各種方式,通過(guò)各個(gè)端口接口 112a,連接至另一網(wǎng)絡(luò)裝置150的結(jié)構(gòu)芯片110。
[0015]根據(jù)示例,節(jié)點(diǎn)芯片130a_130n包括使用戶端口和結(jié)構(gòu)芯片110能彼此接合的專用集成電路(ASIC)。雖然未示出,但是節(jié)點(diǎn)芯片130a-130n中每個(gè)節(jié)點(diǎn)芯片還可以包括用戶端口,通過(guò)該用戶端口可以將像分組這樣的數(shù)據(jù)輸入給節(jié)點(diǎn)芯片130a-130n和/或從節(jié)點(diǎn)芯片130a-130n輸出。此外,端口接口 112a_112n中每個(gè)端口接口 112a_112n可以包括端口,通過(guò)該端口可以建立節(jié)點(diǎn)芯片130a中的端口和端口接口 112a之間的連接。節(jié)點(diǎn)芯片130a的端口和端口接口 112a-112n的端口之間的連接可以包括使能數(shù)據(jù)的相對(duì)高速通信的任何適合連接,如光纖或其等同物。
[0016]根據(jù)示例,結(jié)構(gòu)芯片110包括將節(jié)點(diǎn)芯片130a_130n可通信地彼此連接的ASIC。結(jié)構(gòu)芯片110還可以包括可通信地將結(jié)構(gòu)芯片110連接至另一網(wǎng)絡(luò)裝置150的結(jié)構(gòu)芯片110的ASIC,其中如此連接的結(jié)構(gòu)芯片110可以被解釋為背面可堆疊的結(jié)構(gòu)芯片。本文將與節(jié)點(diǎn)芯片130a-130n的端口可通信地聯(lián)接的端口接口 112a_112n的端口描述為“下行鏈路端口”。此外,本文將可通信地與另一網(wǎng)絡(luò)裝置150的結(jié)構(gòu)芯片110的端口接口 112a-112n聯(lián)接的端ロ接ロ 112a-112n的端ロ描述為“上行鏈路端ロ”。
[0017]根據(jù)示例,分組通過(guò)源節(jié)點(diǎn)芯片的下行鏈路端ロ進(jìn)入結(jié)構(gòu)芯片110,源節(jié)點(diǎn)芯片可以包括與目的地節(jié)點(diǎn)芯片相同的節(jié)點(diǎn)芯片。目的地節(jié)點(diǎn)芯片可以是交換結(jié)構(gòu)中的任何結(jié)構(gòu)芯片端ロ,其包括與源節(jié)點(diǎn)芯片附接的那個(gè)目的地節(jié)點(diǎn)芯片。此外,分組包括要由結(jié)構(gòu)芯片110將這些分組傳遞至的那個(gè)節(jié)點(diǎn)芯片的標(biāo)識(shí),如“數(shù)據(jù)列表”、目的地比特掩碼等。節(jié)點(diǎn)芯片130a-130n的列表與節(jié)點(diǎn)芯片的標(biāo)識(shí)中ー個(gè)或多個(gè)節(jié)點(diǎn)芯片相匹配的上行鏈路端ロ被認(rèn)為是“優(yōu)選上行鏈路端ロ ”,該優(yōu)選上行鏈路端ロ將接收要傳輸?shù)臄?shù)據(jù),除非該“優(yōu)選上行鏈路端ロ”是死的或在別的方面不可用的。如果優(yōu)選上行鏈路是死的或在別的方面不可用的,那么接收數(shù)據(jù)的端ロ接ロ 112a可以使用可編程的、指定優(yōu)先級(jí)的待使用的一系列端ロ作為替代上行鏈路端ロ,以選擇替代上行鏈路端ロ而不是選擇優(yōu)選上行鏈路端ロ來(lái)接收分組。優(yōu)選上行鏈路端ロ可以根據(jù)端ロ計(jì)算逐級(jí)改變。在這一方面,所標(biāo)識(shí)的上行鏈路端ロ可以在端ロ解析計(jì)算的第一階段期間被視為優(yōu)選上行鏈路端ロ。
[0018]單個(gè)節(jié)點(diǎn)芯片130a_130n的列表與節(jié)點(diǎn)芯片的標(biāo)識(shí)中的節(jié)點(diǎn)芯片之ー相匹配的下行鏈路端ロ被認(rèn)為是“活躍下行鏈路端ロ”。在分組中可以嵌入“路徑索引”,該路徑索引選擇將對(duì)該分組使用“活躍下行鏈路端ロ ”中的哪個(gè)活躍下行鏈路端ロ。該基于路徑的過(guò)濾使結(jié)構(gòu)芯片110能夠具有與節(jié)點(diǎn)芯片130a的多個(gè)連接。
[0019]在任何方面,結(jié)構(gòu)芯片110將分組傳遞至節(jié)點(diǎn)芯片的標(biāo)識(shí)中的且可通信地聯(lián)接至結(jié)構(gòu)芯片110的節(jié)點(diǎn)芯片130a-130n。然而,對(duì)于節(jié)點(diǎn)芯片的標(biāo)識(shí)中不與結(jié)構(gòu)芯片110可通信地聯(lián)接的節(jié)點(diǎn)芯片130a-130n而言,結(jié)構(gòu)芯片110執(zhí)行硬件計(jì)算,來(lái)確定為了到達(dá)那些節(jié)點(diǎn)芯片,分組將遍歷哪些上行鏈路端ロ。將這些硬件計(jì)算限定為“端ロ解析計(jì)算”。
[0020]端ロ接ロ 112a通過(guò)適合的交叉開(kāi)關(guān)122-126將數(shù)據(jù)傳遞至一個(gè)或多個(gè)其它端ロ接ロ 112b-l 12n并且包括促進(jìn)對(duì)節(jié)點(diǎn)芯片的標(biāo)識(shí)進(jìn)行修整的輸出端ロ計(jì)算的小數(shù)據(jù)字,使得僅被認(rèn)為遍歷端ロ的目的節(jié)點(diǎn)芯片仍包含在節(jié)點(diǎn)芯片的標(biāo)識(shí)中。
[0021]現(xiàn)在具體參考圖2,這里示出根據(jù)示例的圖1所示結(jié)構(gòu)芯片110的簡(jiǎn)化框圖。顯然,圖2中繪出的結(jié)構(gòu)芯片110代表概括圖示,并且可以添加其它組件或可以移除、修改或重布置現(xiàn)有組件,而不背離結(jié)構(gòu)芯片110的范圍。
[0022]將結(jié)構(gòu)芯片110描繪為包括多個(gè)端ロ接ロ 112a_112n以及交叉開(kāi)關(guān)陣列120。本文詳細(xì)地描繪特定端ロ接ロ 112a的組件,但是應(yīng)當(dāng)理解,剩余的端ロ接ロ 112b-112n可以包括相同或相似組件或構(gòu)造。
[0023]如圖2所示,結(jié)構(gòu)芯片110包括網(wǎng)絡(luò)芯片接ロ(NCI)塊202、高速鏈路(HSL)(接ロ)塊210以及串行器/解串行器(SerDes)222。作為特定示例,SerDes 222包括使用10:1的頻率比率運(yùn)行在8b/10b模式下的ー組八(8)個(gè)serdes。此外,將SerDes 222描繪為將接收端ロ 224和發(fā)送端ロ 226相接合。然而,可替代地,在結(jié)構(gòu)芯片110中可以使用除HSL塊210和serdes 222以外的組件,而不背離本文公開(kāi)的結(jié)構(gòu)芯片110的范圍。
[0024]將NCI塊202描繪為包括網(wǎng)絡(luò)芯片接收器(NCR)塊204a和網(wǎng)絡(luò)芯片發(fā)送器(NCX)塊204b。NCR塊204a將通過(guò)HSL塊210接收的數(shù)據(jù)饋送至交叉開(kāi)關(guān)陣列120,NCX塊204b將從交叉開(kāi)關(guān)陣列120接收的數(shù)據(jù)發(fā)送至HSL塊210。將NCR塊204a和NCX塊204b進(jìn)ー步描繪為包括寄存器206,其中寄存器中的一些寄存器可通信地聯(lián)接至交叉開(kāi)關(guān)122-126中的ー個(gè)交叉開(kāi)關(guān),寄存器206中的其它寄存器可通信地聯(lián)接至HSL塊210。[0025]NCI塊202大體以全雙工的方式在對(duì)應(yīng)的HSL塊210和交叉開(kāi)關(guān)陣列120之間傳遞數(shù)據(jù)和控制迷你分組(MPacket)。此外,NCI202提供兩個(gè)方向上的緩沖。NCI塊202還包括端口解析模塊208,端口解析模塊208對(duì)每個(gè)所接收的MPacket中包含的目的地和路徑信息進(jìn)行解釋。端口解析模塊208使用所解釋的目的地和路徑信息來(lái)索引到確定結(jié)構(gòu)芯片110的不同端口接口 112b-112n中正確目的地NCI塊202的查找表內(nèi),以進(jìn)行去往正確目的地節(jié)點(diǎn)芯片130a-130n的下一跳,該正確目的地節(jié)點(diǎn)芯片130a_130n可以附接至結(jié)構(gòu)芯片110的下行鏈路端口或上行鏈路端口。在這一方面,端口解析模塊208可以基于所接收的MPacket中包含的信息確定要通過(guò)哪些端口(上行鏈路端口和/或下行鏈路端口)輸出分組。此外,端口解析模塊208獨(dú)立于外部軟件對(duì)目的地和路徑信息進(jìn)行解釋,確定正確的NCI塊202,并且確定要將分組輸出至的端口。換言之,端口解析模塊208不需要由外部軟件控制來(lái)執(zhí)行這些功能。
[0026]NCX塊204b還包括對(duì)從多播數(shù)據(jù)交叉開(kāi)關(guān)126接收的分組進(jìn)行操作的節(jié)點(diǎn)修剪模塊209和單播轉(zhuǎn)換模塊211。更具體地,單播轉(zhuǎn)換模塊211要處理分組,以識(shí)別數(shù)據(jù)中促進(jìn)輸出端口計(jì)算的數(shù)據(jù)字。此外,節(jié)點(diǎn)修剪模塊209要對(duì)數(shù)據(jù)列表進(jìn)行修剪,使得僅被認(rèn)為遍歷端口的目的地節(jié)點(diǎn)芯片130a-130n仍包含在數(shù)據(jù)列表中。因此,例如,如果NCX塊204b接收列出結(jié)構(gòu)芯片110的芯片節(jié)點(diǎn)130a和與另一網(wǎng)絡(luò)裝置150附接的芯片節(jié)點(diǎn)130的多播分組,則NCX塊204b可以在將該多播分組發(fā)送出至另一裝置150以前對(duì)該多播分組的節(jié)點(diǎn)芯片的標(biāo)識(shí)進(jìn)行修剪,以移除結(jié)構(gòu)芯片110的芯片節(jié)點(diǎn)130a。
[0027]HSL塊210大體操作來(lái)初始化且檢測(cè)高速鏈路中的錯(cuò)誤,并且如果必要,重傳數(shù)據(jù)。根據(jù)示例,NCI塊202和HSL塊210之間的數(shù)據(jù)路徑在每個(gè)方向上均是64比特寬。
[0028]現(xiàn)在轉(zhuǎn)向圖3和圖4,這里分別示出根據(jù)兩個(gè)示例的交換結(jié)構(gòu)300和400的簡(jiǎn)化框圖。顯然,圖3和圖4中繪出的結(jié)構(gòu)芯片300和400代表概括圖示,并且可以添加其它組件或可以移除、修改或重布置現(xiàn)有組件,而不背離結(jié)構(gòu)芯片300和400的范圍。
[0029]將交換結(jié)構(gòu)300和400描繪為包括多個(gè)網(wǎng)絡(luò)裝置302a_302h。還將網(wǎng)絡(luò)裝置302a-302h中每個(gè)網(wǎng)絡(luò)裝置描繪為包括各自的結(jié)構(gòu)芯片(FC0-FC7) 350a_350h。網(wǎng)絡(luò)裝置302a-302h中每個(gè)網(wǎng)絡(luò)裝置可以包括與圖1中繪出的網(wǎng)絡(luò)裝置100相同或相似的構(gòu)造。此夕卜,結(jié)構(gòu)芯片350a-350h中每個(gè)結(jié)構(gòu)芯片可以包括與圖2中描繪的結(jié)構(gòu)芯片110相同或相似的構(gòu)造。
[0030]在任何方面,如在交換結(jié)構(gòu)300和400中示出的,將每個(gè)網(wǎng)絡(luò)裝置302a_302h描繪為包括四個(gè)節(jié)點(diǎn)芯片(N0-N31)311-342。將節(jié)點(diǎn)芯片(N0_N31)311_342中每個(gè)節(jié)點(diǎn)芯片描繪為包括兩個(gè)端口(0,1),這兩個(gè)端口可通信地聯(lián)接至至少一個(gè)各結(jié)構(gòu)芯片350a-350h的端口(0-11)。更具體地,將節(jié)點(diǎn)芯片311-342的端口中每個(gè)端口描繪為聯(lián)接至十二個(gè)端口0-11之一。此外,將節(jié)點(diǎn)芯片311-342描繪為通過(guò)雙向鏈路連接至各結(jié)構(gòu)芯片350a-350h。在這一方面,數(shù)據(jù)可以在節(jié)點(diǎn)芯片311-342和它們各自的結(jié)構(gòu)芯片350a-350h之間沿任一方向流動(dòng)。
[0031]如上面關(guān)于圖1討論的,結(jié)構(gòu)芯片350a_350h的與節(jié)點(diǎn)芯片311-342連接的端口被稱為“下行鏈路端口 ”,結(jié)構(gòu)芯片350a-350h的與其它結(jié)構(gòu)芯片350a_350h連接的端口被稱為“上行鏈路端口 ”。結(jié)構(gòu)芯片350a-350h的上行鏈路端口和下行鏈路端口中的每個(gè)端口均包括通過(guò)該鏈路應(yīng)當(dāng)?shù)竭_(dá)的目的地節(jié)點(diǎn)芯片311-342的標(biāo)識(shí)。此外,被供應(yīng)到交換結(jié)構(gòu)300和400內(nèi)的數(shù)據(jù)包括隨其一起的應(yīng)當(dāng)將分組傳遞至哪個(gè)節(jié)點(diǎn)芯片的節(jié)點(diǎn)芯片311-342的標(biāo)識(shí)。節(jié)點(diǎn)芯片311-342的標(biāo)識(shí)與節(jié)點(diǎn)芯片的標(biāo)識(shí)中ー個(gè)或多個(gè)節(jié)點(diǎn)芯片或芯片掩碼相匹配的上行鏈路端ロ被認(rèn)為是“優(yōu)選上行鏈路端ロ ”,該優(yōu)選上行鏈路端ロ將接收要傳送的數(shù)據(jù),除非該“優(yōu)選上行鏈路端ロ”是死的或在別的方面不可用的。如果優(yōu)選上行鏈路是死的或在別的方面不可用的,那么端ロ解析模塊208可以使用可編程的、指定優(yōu)先級(jí)的待使用的一系列端ロ作為替代上行鏈路端ロ,以選擇替代上行鏈路端ロ而不是選擇優(yōu)選上行鏈路端ロ來(lái)接收分組。
[0032]單個(gè)節(jié)點(diǎn)芯片130a_130n的列表與節(jié)點(diǎn)芯片的標(biāo)識(shí)中的節(jié)點(diǎn)芯片之ー相匹配的下行鏈路端ロ被認(rèn)為是“活躍下行鏈路端ロ”。在分組中可以嵌入“路徑索引”,該路徑索引選擇將對(duì)該分組使用“活躍下行鏈路端ロ ”中的哪個(gè)活躍下行鏈路端ロ。該基于路徑的過(guò)濾使結(jié)構(gòu)芯片350a-350h能夠具有與節(jié)點(diǎn)芯片311-342的多個(gè)連接。
[0033]在任何方面,結(jié)構(gòu)芯片350a_350h會(huì)將分組傳遞至在節(jié)點(diǎn)芯片的標(biāo)識(shí)內(nèi)的節(jié)點(diǎn)芯片311-342。對(duì)于那些在節(jié)點(diǎn)芯片的標(biāo)識(shí)內(nèi)包含的與結(jié)構(gòu)芯片350a的下行鏈路端ロ連接的節(jié)點(diǎn)芯片311-342而言,結(jié)構(gòu)芯片350a可以將數(shù)據(jù)直接傳遞至那些節(jié)點(diǎn)芯片311-314。然而,對(duì)于在節(jié)點(diǎn)芯片的標(biāo)識(shí)中的不與結(jié)構(gòu)芯片350a的下行鏈路端ロ連接的節(jié)點(diǎn)芯片315-342而言,結(jié)構(gòu)芯片350a執(zhí)行硬件計(jì)算,來(lái)確定為了到達(dá)那些節(jié)點(diǎn)芯片315-342,數(shù)據(jù)將遍歷哪些上行鏈路端ロ。將這些硬件計(jì)算限定為“端ロ解析”或“端ロ解析計(jì)算”。
[0034]圖3中描繪的交換結(jié)構(gòu)300包括環(huán)形網(wǎng)絡(luò)構(gòu)造,其中結(jié)構(gòu)芯片350a_350h中每個(gè)結(jié)構(gòu)芯片均連接至恰好兩個(gè)其它結(jié)構(gòu)芯片350a-350h。更具體地,相鄰結(jié)構(gòu)芯片350a_350h的端ロ(0)和(I)被描繪為可通信地彼此連接。于是,在網(wǎng)絡(luò)裝置302a-302h之間提供用于數(shù)據(jù)信號(hào)流過(guò)每個(gè)節(jié)點(diǎn)的單個(gè)連續(xù)通路。
[0035]圖4中描繪的交換結(jié)構(gòu)400包括網(wǎng)狀網(wǎng)絡(luò)構(gòu)造,其中結(jié)構(gòu)芯片350a_350h中每個(gè)結(jié)構(gòu)芯片捕獲和散播從它們各自的節(jié)點(diǎn)芯片311-342接收的分組并且操作作為用于其它結(jié)構(gòu)芯片350a-350h的中繼。交換結(jié)構(gòu)400的網(wǎng)狀網(wǎng)絡(luò)構(gòu)造與交換結(jié)構(gòu)300的環(huán)形網(wǎng)絡(luò)構(gòu)造相比提供更大帶寬、弾性和更少的跳數(shù)(延遲)。此外,可以以關(guān)于交換結(jié)構(gòu)300討論的方式中的任何方式在節(jié)點(diǎn)311-342之間傳送分組。
[0036]雖然已經(jīng)將交換結(jié)構(gòu)300和400描繪為包括八個(gè)網(wǎng)絡(luò)裝置302a_302h,網(wǎng)絡(luò)裝置302a-302h中每個(gè)網(wǎng)絡(luò)裝置均包括四個(gè)節(jié)點(diǎn)芯片311-342,但是應(yīng)當(dāng)清楚地理解,交換結(jié)構(gòu)300和400可以包括任何合理數(shù)量的網(wǎng)絡(luò)裝置302a-302h,而不背離交換結(jié)構(gòu)300和400的范圍。此外,每個(gè)網(wǎng)絡(luò)裝置302a-302h均可以包括任何合理地適當(dāng)數(shù)量的節(jié)點(diǎn)芯片311-342,而不背離交換結(jié)構(gòu)300和400的范圍。此外,結(jié)構(gòu)芯片350a_350h中每個(gè)結(jié)構(gòu)芯片均可以包括任何合理地適當(dāng)數(shù)量的端ロ接ロ 112a-112n和端ロ。
[0037]關(guān)于圖5和圖6更詳細(xì)地描述可以實(shí)現(xiàn)交換結(jié)構(gòu)300和交換結(jié)構(gòu)400的各種方式,圖5和圖6分別繪出根據(jù)示例的用于實(shí)現(xiàn)包括圖1至圖4的結(jié)構(gòu)芯片110、350a的交換結(jié)構(gòu)的方法500和600的流程圖。顯然,方法500和方法600代表概括圖示,可以添加其它步驟或者可以移除、修改或重布置現(xiàn)有步驟,而不背離方法500和方法600的范圍。
[0038]特別地關(guān)于圖1至圖4中描繪的結(jié)構(gòu)芯片110和350a_350h做出方法500和600的描述。然而,應(yīng)當(dāng)理解,方法500和600可以在與結(jié)構(gòu)芯片110和350a不同的結(jié)構(gòu)芯片中實(shí)現(xiàn),而不背離方法500和600的范圍。此外,雖然參考網(wǎng)絡(luò)裝置302a-302h中的特定網(wǎng)絡(luò)裝置并因此參考結(jié)構(gòu)芯片350a-350h和節(jié)點(diǎn)芯片311-342中特定的結(jié)構(gòu)芯片和節(jié)點(diǎn)芯片,但是應(yīng)當(dāng)理解,本文描述的操作可以被網(wǎng)絡(luò)裝置302a-302h中任何網(wǎng)絡(luò)裝置或在網(wǎng)絡(luò)裝置302a-302h中的任何網(wǎng)絡(luò)裝置中執(zhí)行。
[0039]結(jié)構(gòu)芯片110、350a_350h的端口接口 112a_112n中每個(gè)端口接口可以被編程有要通過(guò)各個(gè)端口接口 112a-112n到達(dá)的目的地節(jié)點(diǎn)芯片130a-130n、311_342。因此,例如,包含結(jié)構(gòu)芯片(FCO) 350a的端口(2)的端口接口 112a可以被編程有節(jié)點(diǎn)芯片(NO) 311作為該端口接口 112a的可到達(dá)目的地節(jié)點(diǎn)芯片。作為另一示例,包含結(jié)構(gòu)芯片(FC0)350a的端口(O)的端口接口 112η可以被編程有節(jié)點(diǎn)芯片(N4-N31) 315-342或者這些節(jié)點(diǎn)芯片的子集作為該端口接口 112η的可到達(dá)目的地節(jié)點(diǎn)芯片。
[0040]此外,結(jié)構(gòu)芯片110、350a_350h的端口接口 112a_112n中的每個(gè)端口接口可以被編程有被用作上打鏈路端口的各指定優(yōu)先級(jí)的端口的列表。各指定優(yōu)先級(jí)的端口的列表中每個(gè)列表包括優(yōu)選上行鏈路端口和排序的可替代端口。
[0041]通常來(lái)說(shuō),圖5中描繪的方法500適合于由結(jié)構(gòu)芯片350a_350h響應(yīng)于單播分組的接收而執(zhí)行的各種操作。此外,圖6中描繪的方法600適合于由結(jié)構(gòu)芯片350a-350h響應(yīng)于多播分組的接收而執(zhí)行的各種操作。在方法500和方法600中,分組可以包括各種信息,如要向哪個(gè)節(jié)點(diǎn)芯片傳遞分組的節(jié)點(diǎn)芯片的標(biāo)識(shí),如“數(shù)據(jù)列表”、比特掩碼等。在分組中還可以嵌入“路徑索引”,該路徑索引選擇多個(gè)活躍下行鏈路端口中哪些下行鏈路端口要被用于將該分組傳遞至在數(shù)據(jù)列表中包含的目的地節(jié)點(diǎn)芯片。
[0042]首先參考圖5,在框502處,將分組接收到結(jié)構(gòu)芯片350a中。結(jié)構(gòu)芯片350a可以通過(guò)下行鏈路端口從所附接的節(jié)點(diǎn)芯片311-314之一接收分組或者通過(guò)上行鏈路端口從另一結(jié)構(gòu)芯片350b-350h接收分組。在二者之中任一事件中且如圖2所示,可以通過(guò)接收端口 224將分組接收到serdes 222、HSL 210以及NCR 204a的寄存器206內(nèi)。
[0043]在框504處,通過(guò)例如端口接口 112a的端口解析模塊208,在結(jié)構(gòu)芯片350a中,進(jìn)行對(duì)結(jié)構(gòu)芯片350a的端口接口 112b-112n中的哪個(gè)端口接口要輸出分組以到達(dá)在數(shù)據(jù)列表中列出的目的地節(jié)點(diǎn)芯片的確定。在目的地節(jié)點(diǎn)芯片連接至結(jié)構(gòu)芯片350a的下行鏈路端口的情況下,在框504處,端口解析模塊208可以從可通過(guò)結(jié)構(gòu)芯片350a的端口接口112a-112n到達(dá)的節(jié)點(diǎn)芯片的被編程的列表中識(shí)別包含去往目的地節(jié)點(diǎn)芯片的下行鏈路端口的端口接口 112b-112n。在圖3和圖4繪出的示例中,端口解析模塊208可以確定要通過(guò)端口(2)- (9)之一輸出分組。
[0044]在目的地節(jié)點(diǎn)芯片未連接至結(jié)構(gòu)芯片350a的下行鏈路端口的情況下,端口解析模塊208可以識(shí)別包含去往與目的地節(jié)點(diǎn)芯片直接通信的另一結(jié)構(gòu)芯片350b-350h的上行鏈路端口的端口接口 112b-112n。在圖3和圖4繪出的示例中,端口解析模塊208可以確定要通過(guò)端口( O )和(I)之一輸出分組。此外,端口解析模塊208可以選擇端口接口 112b-l 12η來(lái)從端口的指定優(yōu)先級(jí)的列表中接收分組,該端口的指定優(yōu)先級(jí)的列表可以包括優(yōu)選上行鏈路端口和有序的可替代端口。于是,在框504處,端口解析模塊208可以選擇優(yōu)選上行鏈路來(lái)接收分組。
[0045]在框506處,例如通過(guò)端口解析模塊208對(duì)所確定的端口接口 112b_112n是否活躍進(jìn)行確定。也就是說(shuō),例如,端口解析模塊208可以確定所確定的端口接口 112b-112n是死的還是以別的方式不可用的。端口解析模塊208可以基于未通過(guò)該端口接口 112b-112n傳遞分組的通信的先前標(biāo)識(shí),進(jìn)行該確定。端ロ解析模塊208還可以通過(guò)確定將分組傳送至那個(gè)端ロ接ロ 112b-112n的嘗試已經(jīng)失敗來(lái)做出該確定。
[0046]響應(yīng)于在框506處所確定的端ロ接ロ 112b_112n是不活躍的確定,在框508處例如通過(guò)端ロ解析模塊208確定下一可替代端ロ接ロ 112b-112n。端ロ解析模塊208可以從要被用作到達(dá)目的地芯片節(jié)點(diǎn)311-342的上行鏈路端ロ的指定優(yōu)先級(jí)的端ロ列表中確定下一可替代端ロ接ロ 112b-112n。也就是說(shuō),端ロ解析模塊208可以在指定優(yōu)先級(jí)的列表中選擇下一端ロ接ロ 112b-112n來(lái)接收分組。端ロ解析模塊208還可以在框506處確定所選擇的端ロ接ロ是否活躍,并且可以響應(yīng)于所選擇的端ロ接ロ是不活躍的確定,在框508處在指定優(yōu)先級(jí)的列表中確定和選擇下一端ロ接ロ 112b-112n??梢灾貜?fù)框506和框508,直到確定活躍的端ロ接ロ 112b-112n。
[0047]在框510處,將分組傳送至所確定的端ロ接ロ 112b_112n。更具體地,例如,包含分組的端ロ接ロ 112a的NCR 204a可以通過(guò)單播數(shù)據(jù)交叉開(kāi)關(guān)124將分組傳送至所確定的端ロ接ロ 112b-112n。此外,所確定的端ロ接ロ 112b-112n可以通過(guò)NCX 204b從單播數(shù)據(jù)交叉開(kāi)關(guān)124接收分組。
[0048]在框512處,所確定的端ロ接ロ 112b_112n輸出分組。在目的地節(jié)點(diǎn)芯片311-342通過(guò)下行鏈路端ロ連接至所確定的端ロ接ロ 112b-112n的情況下,將分組直接傳遞至所附接的節(jié)點(diǎn)芯片311-342。在目的地節(jié)點(diǎn)芯片311-342不直接連接至所確定的端ロ接ロ112b-112n的情況下,將分組傳遞至另ー結(jié)構(gòu)芯片350b-350h。
[0049]在框514處,方法500可以對(duì)結(jié)構(gòu)芯片350a結(jié)束。此外,從結(jié)構(gòu)芯片350a接收分組的結(jié)構(gòu)芯片350b-350h可以按需要實(shí)施框502-512。
[0050]作為要將分組從節(jié)點(diǎn)芯片(N4) 315傳送至節(jié)點(diǎn)芯片(N15) 326的特定示例,節(jié)點(diǎn)芯片(N4) 315將分組傳送至結(jié)構(gòu)芯片(FCl) 350b的端ロ(2)或者端ロ(3)。如上面關(guān)于圖1討論的,來(lái)自節(jié)點(diǎn)芯片315的分組包括要將該分組傳遞至哪個(gè)節(jié)點(diǎn)芯片的節(jié)點(diǎn)芯片的列表(數(shù)據(jù)列表)。在此情況下,該列表恰好包括節(jié)點(diǎn)芯片(N15) 326。此外,通過(guò)其從節(jié)點(diǎn)芯片315接收分組的端ロ接ロ 112a的NCR 204a的端ロ解析模塊208在硬件中執(zhí)行計(jì)算,來(lái)確定分組為到達(dá)目的地節(jié)點(diǎn)芯片326將遍歷的端ロ接ロ 112a的上行鏈路端ロ。更具體地,例如,分組可以包括包含目的地和路徑信息的迷你分組(MPacket),端ロ解析模塊208可以對(duì)該目的地和路徑信息進(jìn)行解釋。如上面討論的,分組可以包括控制分組和/或數(shù)據(jù)分組??刂品纸M包括至少ー個(gè)MPacket,而數(shù)據(jù)分組包括兩個(gè)或更多個(gè)MPacket。
[0051]在任何方面,端ロ解析模塊208可以使用該信息來(lái)索引到查找表內(nèi),該查找表確定結(jié)構(gòu)芯片350b的正確的NCI塊202,以進(jìn)行去往目的地節(jié)點(diǎn)芯片326的下一跳。在上面的示例中,端ロ解析模塊208可以確定上行鏈路端ロ(0)的NCI塊202是正確的NCI塊202。于是,端ロ接ロ 112a的NCR204a可以將分組傳送至包含上行鏈路端ロ(0)的端ロ接ロ 112n的NCI塊202。包含上行鏈路端ロ(0)的端ロ接ロ 112n可以將分組傳遞至與上行鏈路端ロ
(0)連接的結(jié)構(gòu)芯片(FC2) 350c。
[0052]結(jié)構(gòu)芯片(FC2)350c可以通過(guò)上行鏈路端ロ(0)接收分組,包含上行鏈路端ロ(0)的端ロ接ロ 112a的NCR204a可以使用在分組中包含的信息來(lái)確定要傳遞該分組的結(jié)構(gòu)芯片350c的正確的NCI塊202,以進(jìn)行去往目的地節(jié)點(diǎn)芯片326的下一跳。在該示例中,端ロ解析模塊208可以確定上行鏈路端ロ(0)的NCI塊202是正確的NCI塊202。此外,包含上行鏈路端口(O)的端口接口 112η的NCR204a可以從包含上行鏈路端口(I)的端口接口112a接收分組并且可以將分組傳送至結(jié)構(gòu)芯片(FC3) 350d。
[0053]結(jié)構(gòu)芯片(FC3)350d可以通過(guò)上行鏈路端口(I)接收分組,包含上行鏈路端口(I)的端口接口 112a的NCR204a可以使用在分組中包含的信息來(lái)確定要傳遞該分組的結(jié)構(gòu)芯片350d的正確的NCI ±夾,以進(jìn)行去往目的地節(jié)點(diǎn)326的下一跳。在該示例中,端口接口 112a的NCR204a的端口解析模塊208可以確定下行鏈路端口(8)的NCI塊是正確的NCI塊202。此外,包含下行鏈路端口(8)的端口接口 112η的NCR 204a可以從包含上行鏈路端口(O)的端口接口 112a接收分組并且可以將分組傳送至節(jié)點(diǎn)芯片326,以此完成分組向目的地節(jié)點(diǎn)芯片326的傳遞。
[0054]在結(jié)構(gòu)芯片(FC2) 350c中的優(yōu)選上行鏈路端口( I)是死的或以別的方式不可用的情況中,結(jié)構(gòu)芯片350b可以確定分組不由結(jié)構(gòu)芯片350c接收并且可以確定要接收該分組的可替代上行鏈路。在上面的示例中,端口解析模塊208可以確定結(jié)構(gòu)芯片350b中的上行鏈路端口(I)是要接收分組的適合的可替代上行鏈路。此外,結(jié)構(gòu)芯片350b可以將分組傳遞至結(jié)構(gòu)芯片(FCO) 350a,結(jié)構(gòu)芯片(FCO) 350a可以將分組傳送至結(jié)構(gòu)芯片(FC7) 350h,等等,直到分組到達(dá)結(jié)構(gòu)芯片(FC3)并且到達(dá)目的地節(jié)點(diǎn)芯片326上,如上面討論的那樣。根據(jù)示例,結(jié)構(gòu)芯片350a-350c中的端口解析模塊208中每個(gè)端口解析模塊被編程有要將分組傳送至哪個(gè)上行鏈路的上行鏈路的有序列表。在該示例中,適合的可替代上行鏈路包括在上行鏈路的該有序列表中的下一上行鏈路。
[0055]現(xiàn)在參考圖6,在框602處,將多播分組接收到結(jié)構(gòu)芯片350a中。結(jié)構(gòu)芯片350a可以通過(guò)下行鏈路端口從所附接的節(jié)點(diǎn)芯片311-314之一接收多播分組或者通過(guò)上行鏈路端口從另一結(jié)構(gòu)芯片350b-350h接收多播分組。在二者之中任一事件中且如圖2所示,可以通過(guò)接收端口 224將分組接收到serdes 222、HSL 210以及NCR 204a的寄存器206內(nèi)。
[0056]在框604處,通過(guò)例如端口接口 112a的端口解析模塊208,在結(jié)構(gòu)芯片350a中,進(jìn)行結(jié)構(gòu)芯片350a的端口接口 112b-112n中的哪個(gè)端口接口要輸出多播分組以到達(dá)在節(jié)點(diǎn)芯片的標(biāo)識(shí)中的目的地節(jié)點(diǎn)芯片的確定。
[0057]在框606處,例如通過(guò)結(jié)構(gòu)芯片350a的端口解析模塊208,對(duì)目的地節(jié)點(diǎn)311-342中任何目的地節(jié)點(diǎn)是否附接至結(jié)構(gòu)芯片350a的下行鏈路端口進(jìn)行確定。響應(yīng)于在框606處目的地節(jié)點(diǎn)附接至結(jié)構(gòu)芯片350a的下行鏈路端口的確定,端口解析模塊208可以從可通過(guò)結(jié)構(gòu)芯片350a的端口接口 112a-112n到達(dá)的節(jié)點(diǎn)芯片的被編程的列表中識(shí)別包含去往目的地節(jié)點(diǎn)芯片的下行鏈路端口的端口接口 112b-112n。此外,在框608處,端口接口 112a的NCR 204a可以例如通過(guò)多播數(shù)據(jù)交叉開(kāi)關(guān)126將多播分組傳遞至包含所確定的下行鏈路端口的端口接口 112b-112n。此外,在框610處,已經(jīng)被傳遞分組的所附接的目的地節(jié)點(diǎn)芯片311-342可以從節(jié)點(diǎn)芯片的標(biāo)識(shí)中移除。
[0058]在框608以后和/或響應(yīng)于框606處的“否”條件,在框612處例如通過(guò)端口解析模塊208對(duì)節(jié)點(diǎn)芯片的標(biāo)識(shí)是否包含其它目的地節(jié)點(diǎn)芯片311-342進(jìn)行確定。響應(yīng)于確定所有目的地節(jié)點(diǎn)芯片311-342都附接至結(jié)構(gòu)芯片350a的下行鏈路以及因此確定在節(jié)點(diǎn)芯片的標(biāo)識(shí)中沒(méi)有其它目的地節(jié)點(diǎn)芯片,方法600可以如框614處指示的那樣結(jié)束。
[0059]然而,響應(yīng)于確定節(jié)點(diǎn)芯片的標(biāo)識(shí)包含其它目的地節(jié)點(diǎn)芯片311-342,如在框616處指示的那樣將多播分組傳送至另一結(jié)構(gòu)芯片350b-350h。更具體地,例如,端口解析模塊208可以選擇端ロ接ロ 112b-112n來(lái)從端ロ的指定優(yōu)先級(jí)的列表中接收多播分組,該端ロ的指定優(yōu)先級(jí)的列表可以包括優(yōu)選上行鏈路端口和有序的可替代端ロ。于是,在框616處,端ロ解析模塊208可以選擇優(yōu)選上行鏈路端ロ來(lái)接收多播分組并且可以將多播分組傳送至包含所選擇的上行鏈路端ロ的端ロ接ロ 112b-112n。此外,端ロ解析模塊208可以在確定并將多播分組傳送至活躍端ロ接ロ 112b-112n時(shí)實(shí)施圖5中的框506-512。此外,例如,端ロ接ロ 112a的NCR 204a可以在框616處例如通過(guò)多播數(shù)據(jù)交叉開(kāi)關(guān)126將多播分組傳遞至包含所確定的上行鏈路端ロ的端ロ接ロ 112b-112n。
[0060]方法600可以結(jié)束多播分組隨后向另一結(jié)構(gòu)芯片350b_350h的傳送。此外,從結(jié)構(gòu)芯片350a接收多播分組的結(jié)構(gòu)芯片350b-350h可以實(shí)施框602-616來(lái)將多播分組傳遞至目的地節(jié)點(diǎn)芯片311-342。
[0061]作為要將多播分組從節(jié)點(diǎn)芯片(NI) 312傳送至節(jié)點(diǎn)芯片(N4和N9) 315和320的特定示例,節(jié)點(diǎn)芯片(NI) 312將分組傳送至結(jié)構(gòu)芯片(FCO) 350a的端ロ(4)或者端ロ(5)。在該示例中,數(shù)據(jù)列表包括節(jié)點(diǎn)芯片(N4和29)315和320。此外,通過(guò)其從節(jié)點(diǎn)芯片312接收分組的端ロ接ロ 112a的NCR 204a的端ロ解析模塊208在硬件中執(zhí)行計(jì)算,來(lái)確定分組為到達(dá)目的地節(jié)點(diǎn)芯片315和320將遍歷端ロ接ロ 112a的哪個(gè)(哪些)上行鏈路端ロ。更具體地,例如,端ロ解析模塊208可以對(duì)分組的迷你分組(MPacket)中包含的目的地和路徑信息進(jìn)行解釋。此外,端ロ解析模塊208可以使用該信息來(lái)索引到查找表內(nèi),該查找表確定結(jié)構(gòu)芯片350a的正確的NCI塊202,以進(jìn)行去往目的地節(jié)點(diǎn)芯片315和320的下一跳。在當(dāng)前的示例中,端ロ解析模塊208可以確定上行鏈路端ロ(0)的NCI塊202是正確的NCI塊202。于是,端ロ接ロ 112a的NCR 204a可以將分組傳送至包含上行鏈路端ロ(0)的端ロ接ロ 112n的NCI塊202。包含上行鏈路端ロ(0)的端ロ接ロ 112n可以將分組傳送至與上行鏈路端ロ(0)連接的結(jié)構(gòu)芯片(FCl) 350b。
[0062]結(jié)構(gòu)芯片(FCl)350b可以通過(guò)上行鏈路端ロ( I)接收分組,包含上行鏈路端ロ( I)的端ロ接ロ 112a的NCX 204b可以使用在分組中包含的信息來(lái)確定是否要將分組傳遞至網(wǎng)絡(luò)裝置302b的芯片節(jié)點(diǎn)(N4-N7)315-318中的任何節(jié)點(diǎn)芯片。由于要將分組傳遞至芯片節(jié)點(diǎn)315,所以NCR 204a可以將分組傳遞至包含去往芯片節(jié)點(diǎn)315的下行鏈路端ロ(2)的端ロ接ロ 112b,NCX 204b可以從要接收該分組的節(jié)點(diǎn)芯片的標(biāo)識(shí)中移除芯片節(jié)點(diǎn)315。此外,端ロ接ロ 112a的NCR 204a的端ロ解析模塊208可以確定上行鏈路端ロ(0)的NCI塊202是進(jìn)行去往在要接收分組的節(jié)點(diǎn)芯片的標(biāo)識(shí)中包含的節(jié)點(diǎn)芯片320的下一跳的正確的NCI塊202。此外,包含上行鏈路端ロ(0)的端ロ接ロ 112n的NCR 204a可以從包含上行鏈路端ロ(I)的端ロ接ロ 112a接收分組并且可以將分組傳送至結(jié)構(gòu)芯片(FC2) 350c。
[0063]結(jié)構(gòu)芯片(FC2)350c可以通過(guò)上行鏈路端ロ( I)接收分組,包含上行鏈路端ロ( I)的端ロ接ロ 112a的NCR 204a可以使用在分組中包含的信息來(lái)確定為進(jìn)行去往目的地節(jié)點(diǎn)320的下一跳而要將分組傳遞至的結(jié)構(gòu)芯片350c的正確的NCI塊202。在該示例中,端ロ接ロ 112a的NCR 204a的端ロ解析模塊208可以確定下行鏈路端ロ(4)的NCI塊是正確的NCI塊202。此外,包含下行鏈路端ロ(4)的端ロ接ロ 112n的NCR 204a可以從包含上行鏈路端ロ(0)的端ロ接ロ 112a接收分組并且可以將分組傳送至節(jié)點(diǎn)芯片320,從而完成分組向目的地節(jié)點(diǎn)芯片320的傳遞。
[0064]在ー個(gè)方面,由于結(jié)構(gòu)芯片350a_350h控制分組向節(jié)點(diǎn)芯片311-342的傳遞和轉(zhuǎn)發(fā),所以多播分組需要由節(jié)點(diǎn)芯片311發(fā)送一次,而不是単獨(dú)地發(fā)送至每個(gè)目的地節(jié)點(diǎn)。這減少在將分組傳遞至期望的節(jié)點(diǎn)芯片311-342時(shí)在交換結(jié)構(gòu)300、400中消耗的帶寬量。
[0065]本文已經(jīng)描述和圖示的是本公開(kāi)的各個(gè)示例,以及它們的ー些變化。本文使用的術(shù)語(yǔ)、描述和圖僅是作為說(shuō)明闡述的,而不g在作為限制。在本發(fā)明的精神和范圍內(nèi),許多變化是可能的,其中本公開(kāi)g在由下面的權(quán)利要求及其等同物限定,其中所有術(shù)語(yǔ)從其最廣的合理意義上去理解,除非另外指出。
【權(quán)利要求】
1.ー種結(jié)構(gòu)芯片,包括: 多個(gè)端ロ接ロ,其中所述多個(gè)端ロ接ロ中每個(gè)端ロ接ロ包括具有端ロ解析模塊的網(wǎng)絡(luò)芯片接ロ(NCI)塊,并且其中所述端ロ解析模塊要確定端ロ接口中哪個(gè)端ロ接ロ要從所述NCI塊接收分組;以及 交叉開(kāi)關(guān)塊,可通信地與所述多個(gè)端ロ接口中的每個(gè)所述NCI塊聯(lián)接。
2.根據(jù)權(quán)利要求1所述的結(jié)構(gòu)芯片,其中所述分組包含要接收該分組的至少ー個(gè)目的地節(jié)點(diǎn)芯片的標(biāo)識(shí),并且其中所述端ロ解析模炔基于在所述標(biāo)識(shí)中包含的節(jié)點(diǎn)芯片的比較和所述端ロ接ロ 與所述目的地節(jié)點(diǎn)芯片之間的預(yù)編程的關(guān)聯(lián),確定所述端ロ接ロ中至少ー個(gè)端ロ接口中哪個(gè)端ロ接ロ要接收該分組。
3.根據(jù)權(quán)利要求2所述的結(jié)構(gòu)芯片,其中所述NCI塊包括網(wǎng)絡(luò)芯片接收(NCR)塊和網(wǎng)絡(luò)芯片發(fā)送(NCX)塊,并且其中所述NCR塊包含所述端ロ解析模塊。
4.根據(jù)權(quán)利要求2所述的結(jié)構(gòu)芯片,其中所述NCX塊包括節(jié)點(diǎn)修剪模塊,以通過(guò)在將多播分組傳遞至另ー結(jié)構(gòu)芯片以前從所述標(biāo)識(shí)中移除已經(jīng)被傳遞所述多播分組的目的地節(jié)點(diǎn)芯片,對(duì)所述標(biāo)識(shí)進(jìn)行修剪。
5.ー種交換結(jié)構(gòu),包括: 第一節(jié)點(diǎn)芯片; 目的地節(jié)點(diǎn)芯片;以及 第一結(jié)構(gòu)芯片,包括多個(gè)端ロ接ロ,其中所述第一節(jié)點(diǎn)芯片可通信地聯(lián)接至所述多個(gè)端ロ接ロ的第一端ロ接ロ,其中所述第一結(jié)構(gòu)芯片要通過(guò)所述第一端ロ接ロ從所述第一節(jié)點(diǎn)芯片接收分組,其中所述第一結(jié)構(gòu)芯片包括端ロ解析模塊,以確定為使所述分組到達(dá)所述目的地節(jié)點(diǎn)芯片所述多個(gè)端ロ接口中要接收所述分組的第二端ロ接ロ,并且其中所述端ロ解析模塊要獨(dú)立于所述端ロ解析模塊外部的軟件確定所述第二端ロ接ロ。
6.根據(jù)權(quán)利要求5所述的交換結(jié)構(gòu),其中所述第一結(jié)構(gòu)芯片進(jìn)一歩包括: 多播數(shù)據(jù)交叉開(kāi)關(guān),可通信地聯(lián)接至所述多個(gè)端ロ接ロ。
7.根據(jù)權(quán)利要求5所述的交換結(jié)構(gòu),進(jìn)一歩包括: 第二結(jié)構(gòu)芯片,包括多個(gè)第二結(jié)構(gòu)芯片端ロ接ロ,其中所述第二結(jié)構(gòu)芯片通過(guò)第二結(jié)構(gòu)芯片端ロ接ロ可通信地聯(lián)接至所述第一結(jié)構(gòu)芯片的端ロ接ロ,其中所述第一結(jié)構(gòu)芯片要通過(guò)該聯(lián)接將所述分組傳遞至所述第二結(jié)構(gòu)芯片,其中所述第二結(jié)構(gòu)芯片包括第二結(jié)構(gòu)芯片端ロ解析模塊,以確定為到達(dá)目的地節(jié)點(diǎn)而要接收所述分組的另一第二結(jié)構(gòu)芯片端ロ接□。
8.根據(jù)權(quán)利要求7所述的交換結(jié)構(gòu),其中所述目的地節(jié)點(diǎn)芯片連接至所述交換結(jié)構(gòu)中任何結(jié)構(gòu)芯片上的至少ー個(gè)結(jié)構(gòu)芯片端ロ的下行鏈路端ロ,并且其中所述端ロ解析模塊被編程有端ロ接ロ的指定優(yōu)先級(jí)的列表,所述端ロ接ロ的指定優(yōu)先級(jí)的列表對(duì)用于使所述分組到達(dá)所述目的地節(jié)點(diǎn)芯片的上行鏈路端ロ進(jìn)行識(shí)別,并且其中所述第一結(jié)構(gòu)芯片可通信地聯(lián)接至所述第二結(jié)構(gòu)芯片所通過(guò)的所述端ロ接ロ包括優(yōu)選上行鏈路端ロ。
9.根據(jù)權(quán)利要求8所述的交換結(jié)構(gòu),其中所述端ロ解析模塊要響應(yīng)于所述優(yōu)選上行鏈路端ロ是不活躍的,將所述分組通過(guò)所述端ロ接ロ的指定優(yōu)先級(jí)的列表中的下一端ロ接ロ傳送至所述第二結(jié)構(gòu)芯片。
10.根據(jù)權(quán)利要求5所述的交換結(jié)構(gòu),其中所述分組包括多播分組,并且其中所述第一結(jié)構(gòu)芯片要復(fù)制所述多播分組以傳送至與所述第一結(jié)構(gòu)芯片和第二結(jié)構(gòu)芯片的下行鏈路端口連接的至少一個(gè)第二節(jié)點(diǎn)芯片,使得所述第一節(jié)點(diǎn)芯片需要傳送單個(gè)多播分組來(lái)到達(dá)多個(gè)目的地節(jié)點(diǎn)芯片。
11.根據(jù)權(quán)利要求8所述的交換結(jié)構(gòu),其中所述分組包含要接收所述分組的至少一個(gè)目的地節(jié)點(diǎn)芯片的標(biāo)識(shí),并且其中第一結(jié)構(gòu)芯片要在將多播分組傳遞至所述第二結(jié)構(gòu)芯片以前從所述標(biāo)識(shí)中移除已經(jīng)被傳遞所述多播分組的所述目的地節(jié)點(diǎn)芯片。
12.一種用于實(shí)現(xiàn)包括第一結(jié)構(gòu)芯片的交換結(jié)構(gòu)的方法,所述第一結(jié)構(gòu)芯片具有多個(gè)端口接口,所述方法包括: 將分組接收到所述多個(gè)端口接口的第一端口接口內(nèi),其中所述分組包含要接收所述分組的至少一個(gè)目的地節(jié)點(diǎn)芯片的標(biāo)識(shí); 在所述第一結(jié)構(gòu)芯片中,根據(jù)所述標(biāo)識(shí)確定所述多個(gè)端口接口中哪個(gè)端口接口要接收所述分組;以及 將所述分組傳送至所確定的端口接口。
13.根據(jù)權(quán)利要求12所述的方法,其中所述第一端口接口編程有所述多個(gè)端口接口和多個(gè)目的地節(jié)點(diǎn)之間的一系列關(guān)聯(lián),并且其中在所述第一結(jié)構(gòu)芯片中確定所述多個(gè)端口接口中哪個(gè)端口接口要接收所述分組進(jìn)一步包括:通過(guò)比較在數(shù)據(jù)列表中包含的信息和關(guān)聯(lián)列表確定哪個(gè)端口接口要接收所述分組。
14.根據(jù)權(quán)利要求12所述的方法,其中所述第一端口接口編程有端口接口的指定優(yōu)先級(jí)的列表,所述端口接口的指定優(yōu)先級(jí)的列表對(duì)用于使所述分組到達(dá)目的地節(jié)點(diǎn)芯片的上行鏈路端口進(jìn)行識(shí)別,所述方法進(jìn)一步包括: 在所述第一結(jié)構(gòu)芯片中,確定所述分組通過(guò)所確定的端口接口向第二結(jié)構(gòu)芯片的傳送是不可用的;· 在所述端口接口的指定優(yōu)先級(jí)的列表中選擇下一端口接口來(lái)接收所述分組;以及 對(duì)所述分組通過(guò)所述下一端口接口的傳送進(jìn)行自動(dòng)重路由,以將所述分組傳遞至所述目的地節(jié)點(diǎn)芯片。
15.根據(jù)權(quán)利要求12所述的方法,其中所述分組包括多播分組,所述方法進(jìn)一步包括: 將所述多播分組傳遞至目的地節(jié)點(diǎn)芯片; 在所述第一端口接口中,從所述多播分組的數(shù)據(jù)列表中移除所述目的地節(jié)點(diǎn)芯片,來(lái)對(duì)所述數(shù)據(jù)列表進(jìn)行修剪;以及 利用所修剪的數(shù)據(jù)列表將所述多播分組傳遞至第二結(jié)構(gòu)芯片。
【文檔編號(hào)】H04L12/931GK103597789SQ201180071506
【公開(kāi)日】2014年2月19日 申請(qǐng)日期:2011年8月8日 優(yōu)先權(quán)日:2011年8月8日
【發(fā)明者】邁克爾·弗里, 文森特·卡萬(wàn)納 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)