專利名稱:一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)姆椒ê脱b置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別涉及一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)姆椒ê脱b置。
背景技術(shù):
數(shù)據(jù)通信領(lǐng)域的高速發(fā)展對芯片之間的互連帶寬提出更高的要求,大量的數(shù)據(jù)會從一顆芯片傳送到另外一顆芯片去,從而產(chǎn)生了芯片之間進(jìn)行互連的高帶寬協(xié)議,系統(tǒng)第四層分組接口階段II(System Packet Interface Level 4Phase II,SPI4.2)和萬兆附著單元接口(10 Gigabite Attachment Unit Interface,XAUI)就是其中的兩種協(xié)議。
SPI4II是為了適萬兆位傳送而由光互連論壇(Optical InterworkingForum,OIF)提出來的芯片之間的互連協(xié)議。SPI4II接口實(shí)現(xiàn)了芯片的物理層(Physics Device)與鏈路層(Link Layer Device)之間的數(shù)據(jù)互連。數(shù)據(jù)總線(data)由16對高速的低電壓差分信號(Low Voltage Differential Signal,LVDS)傳輸線實(shí)現(xiàn),流控(Flow Control)與數(shù)據(jù)分開傳輸。
SPI4II協(xié)議實(shí)現(xiàn)了芯片之間的高速互連,其帶寬容量可達(dá)14.4Gbps。但由于其總線數(shù)很多,同時其數(shù)據(jù)傳送電平為LVDS,因此,SPI4II接口不適合用于進(jìn)行遠(yuǎn)距離的背板傳送,所以SPI4II協(xié)議的應(yīng)用場合一般為本板的芯片之間的互連,而通常不將其應(yīng)用于板間互連。此外,SPI4II協(xié)議只支持端口級流控而不支持鏈路級流控。
XAUI是隨著萬兆以太網(wǎng)的發(fā)展而制定的標(biāo)準(zhǔn)接口。以太網(wǎng)的第一層和第二層的層次模型如圖1所示,位于第一層即物理層與第二層即媒體接入控制(Media Access Control,MAC)層之間的接口為媒體無關(guān)接口(XGMII)。XGMII接口由32位的并行總線和4位控制總線組成,其總線數(shù)目很多,不適合于背板的遠(yuǎn)距離傳輸。XAUI接口解決了這個問題,它由四對高速的3.125G的串行器/解串器(Serializer/Deserializer,SERDES)總線組成,可以進(jìn)行遠(yuǎn)距離的數(shù)據(jù)傳送。發(fā)送端首先將XGMII接口格式的數(shù)據(jù)轉(zhuǎn)換成XAUI接口格式的數(shù)據(jù),接收端再將XAUI接口格式的數(shù)據(jù)轉(zhuǎn)換成XGMII接口格式的數(shù)據(jù)。圖2為XGMII接口與XAUI接口的轉(zhuǎn)換示意圖,左端為標(biāo)準(zhǔn)的XGMII接口,右端為XAUI接口,圖2中所示每一條通道(lane)分別對應(yīng)一條SERDES總線;具體地說,在源通道中,對應(yīng)于XAUI接口中標(biāo)號為SLn<P>,SLn<N>(n=0,1,2,3)的通道的XGMII接口的總線標(biāo)號為TXD[8n+7:8n],TXC[n];在目的通道中,對應(yīng)于XAUI接口中標(biāo)號為DLn<P>,DLn<N>(n=0,1,2,3) 的通道的XGMII接口的總線標(biāo)號為RXD[8n+7:8n],RXC[n]。
XAUI接口能夠?qū)崿F(xiàn)的最大傳輸距離為50cm,適合進(jìn)行跨背板的板間通信。但是其帶寬只有10Gbps,刨除內(nèi)部開銷,實(shí)際凈荷帶寬達(dá)不到10G。XAUI是XAUI介面延展子層(XAUI Extender Sublayer,XGXS)層接口,實(shí)質(zhì)傳輸?shù)氖荕AC幀,因此其流控只有鏈路級流控而不支持端口級流控。
數(shù)據(jù)通信領(lǐng)域的高速發(fā)展需要有一種實(shí)際帶寬10G以上,能夠?qū)崿F(xiàn)遠(yuǎn)距離傳輸而且支持多種流控方式的高帶寬數(shù)據(jù)傳輸協(xié)議。而以上所述兩種高速數(shù)據(jù)傳輸協(xié)議各有其優(yōu)缺點(diǎn),都不能很好地滿足目前數(shù)據(jù)通信領(lǐng)域發(fā)展的需要。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的實(shí)施例提出一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)姆椒ǎ瑢?shí)際帶寬可達(dá)10G以上,并能夠?qū)崿F(xiàn)遠(yuǎn)距離傳輸。該方法采用多于四條通道進(jìn)行數(shù)據(jù)傳輸,并包括如下步驟將媒體無關(guān)接口XGMII特定總線中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到對應(yīng)的通道中傳輸;
將通道中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到XGMII對應(yīng)總線中。
本發(fā)明還公開了一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)难b置,包括第一轉(zhuǎn)換模塊,用于接收第一XGMII_E接口的多于4條總線的數(shù)據(jù),將其中任意一條總線TXD[8n+7:8n]中的數(shù)據(jù)轉(zhuǎn)換為一條通道lane[n]的數(shù)據(jù),并將各條通道的數(shù)據(jù)發(fā)送至傳輸模塊;傳輸模塊,用于將來自第一轉(zhuǎn)換模塊的各條通道的數(shù)據(jù)發(fā)送至第二轉(zhuǎn)換模塊;第二轉(zhuǎn)換模塊,用于接收來自傳輸模塊的各條通道的數(shù)據(jù),將所述任意一條通道lane[n]的數(shù)據(jù)轉(zhuǎn)換為一條總線RXD[8n+7:8n]的數(shù)據(jù),并將所述各條總線的數(shù)據(jù)分別發(fā)送至第二XGMII_E接口的對應(yīng)總線。
從以上技術(shù)方案可以看出,由于采用多于4條通道傳輸,本發(fā)明的XAUI_E接口能夠在實(shí)現(xiàn)傳輸帶寬大于10G的同時,仍然保持XAUI接口支持遠(yuǎn)距離傳輸?shù)奶攸c(diǎn),最大傳輸距離在45~50cm之間,能夠支持板間通信。
圖1為以太網(wǎng)第一層和第二層的模型圖;圖2為現(xiàn)有XAUI接口數(shù)據(jù)轉(zhuǎn)換圖;圖3為本發(fā)明的XAUI_E接口數(shù)據(jù)轉(zhuǎn)換圖;圖4為本發(fā)明XGMII_E數(shù)據(jù)時序圖;圖5為本發(fā)明XAUI_E數(shù)據(jù)時序圖;圖6為本發(fā)明實(shí)施例中數(shù)據(jù)由XGMII_E接口向XAUI_E接口轉(zhuǎn)換的處理流程圖;圖7為本發(fā)明實(shí)施例中數(shù)據(jù)由XAUI_E接口向XGMII_E接口轉(zhuǎn)換的處理流程圖;圖8為本發(fā)明實(shí)施例帶內(nèi)流控幀格式圖;圖9為應(yīng)用本發(fā)明方法的系統(tǒng)的示意圖;圖10為本發(fā)明實(shí)施例裝置結(jié)構(gòu)圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)闡述。
本發(fā)明的實(shí)施例將XAUI接口的四條通道擴(kuò)展為N條通道,每條通道仍然采用SERDES總線方式,這樣在每條通道速率不變的情況下,本發(fā)明方案可以實(shí)現(xiàn)比現(xiàn)有XAUI接口更高的速率。
就目前的技術(shù)來說,SERDES總線的速率為3.125GHz,現(xiàn)有XAUI接口每條通道上采用8B/10B編碼,有效數(shù)據(jù)加上編碼開銷的總速率才達(dá)到3.125GHz,在8B/10B解碼后,實(shí)質(zhì)帶寬容量為2.5G;而本發(fā)明方案的接口帶寬容量能達(dá)到2.5×NG,只要N的取值大于4,則即使剝離內(nèi)部開銷,實(shí)質(zhì)帶寬仍然將大于10G。為便于描述,以下將本發(fā)明方案的接口稱為增強(qiáng)型XAUI(XAUI_Extension,XAUI_E)。
由于XAUI_E的通道數(shù)目增加,與之相連接的XGMII接口也要進(jìn)行擴(kuò)展,XAUI_E相對于XAUI每增加一條通道,需要在XGMII接口增加8比特的DDR數(shù)據(jù)和1比特IDLE指示控制線。為便于描述,將這種擴(kuò)展的XGMII接口稱為XGMII_E。圖3為本發(fā)明的XAUI_E接口與XGMII_E接口的連接示意圖,從圖3中可以看出,與圖2所示現(xiàn)有的XAUI接口比較,XAUI_E接口將XAUI接口原有的4條通道擴(kuò)展為N條通道。
圖4所示為XGMII_E的數(shù)據(jù)時序結(jié)構(gòu),其中TX_CLK表示時鐘周期;XGMII_E的數(shù)據(jù)由數(shù)據(jù)包(packet)和空載(IDLE)組成,在數(shù)據(jù)包之間插入空載。如果將之再細(xì)分的話,可以分成非S/TIDLE+Start+PACKET+Terminate,其中幀起始指示(Start)和幀尾指示(Terminate)均為空載;非S/T IDLE指除幀起始指示或幀尾指示之外的其它空載。
圖5所示為XAUI_E的數(shù)據(jù)時序結(jié)構(gòu),其中CLK表示時鐘周期。XAUI_E的數(shù)據(jù)由數(shù)據(jù)包和特殊字符集(char)組成,在數(shù)據(jù)包之間插入具有特定含義和功能的特殊字符集,所謂特殊字符集可以理解為帶有特定含義的空載。特殊字符集中各個符號的意義如下S起始空載,用于表示數(shù)據(jù)包的起始,采用K27.7編碼;T結(jié)束空載,用于表示數(shù)據(jù)包的結(jié)束,采用K29.7編碼;K同步空載,用于實(shí)現(xiàn)每條通道的字節(jié)同步,采用K28.5編碼;A相位對齊空載,用于實(shí)現(xiàn)多條通道之間的對齊,采用K28.0編碼;R時鐘補(bǔ)償空載,用于實(shí)現(xiàn)不同時鐘域之間的時鐘補(bǔ)償,采用K28.0編碼。
本發(fā)明實(shí)施例中數(shù)據(jù)由XGMII_E接口向XAUI_E接口轉(zhuǎn)換的處理流程如圖6所示,包括步驟601判斷XGMII_E接口總線TXD[8n+7:8n]在當(dāng)前時刻是否傳輸數(shù)據(jù)包,若是則執(zhí)行步驟602,否則執(zhí)行步驟603。
步驟602將XGMII_E接口的總線TXD[8n+7:8n](n為非負(fù)整數(shù))中的數(shù)據(jù)包直接映射為XAUI_E的lane[n]中的數(shù)據(jù)包,并轉(zhuǎn)至步驟601。
本步驟的映射就是將并行總線TXD[8n+7:8n]中的packet對應(yīng)的8比特數(shù)據(jù),通過并串轉(zhuǎn)換電路,轉(zhuǎn)換成lane[n]中的串行數(shù)據(jù),即將并行的8比特數(shù)據(jù)轉(zhuǎn)換成并行的1比特的數(shù)據(jù)。
步驟603判斷XGMII_E接口總線TXD[8n+7:8n]在當(dāng)前時刻傳輸?shù)目蛰d是否為起始空載或結(jié)束空載,若是則執(zhí)行步驟604,否則執(zhí)行步驟605步驟604將數(shù)據(jù)包起始空載(Start)映射為XAUI_E中的S字符;或者,將數(shù)據(jù)包結(jié)束空載映射為XAUI_E中的T字符,并轉(zhuǎn)至步驟601。
本步驟的映射實(shí)際上就是原來Start處數(shù)據(jù)(固定值為0xFB)轉(zhuǎn)換為S特殊字符(對應(yīng)為K27.7);原來Terminate處數(shù)據(jù)(固定值為0xFD)現(xiàn)在將之變成了T特殊字符(對應(yīng)為K29.7)。如此,數(shù)據(jù)格式就變成了非S/TIDLE+S+PACKET+T。
步驟605將當(dāng)前時刻的空載隨機(jī)映射為K、A、R字符,使得每條通道的數(shù)據(jù)包均勻排布,并轉(zhuǎn)至步驟601。實(shí)際就是將非S/T IDLE轉(zhuǎn)換成K/A/R特殊字符。這些IDLE到底對應(yīng)的是K特殊字符還是A特殊字符還是R特殊字符,則是隨機(jī)的。只要它們遵循一個原則在非S/T IDLE轉(zhuǎn)換成K/A/R字符后,K、A、R字符的分布是均勻的。如此,數(shù)據(jù)格式就變成了K/A/R+S+PACKET+T,也就是XAUI_E的數(shù)據(jù)格式。
對于n=0,1,2,3,...的各條總線TXD[8n+7:8n]分別并行執(zhí)行上述流程,則實(shí)現(xiàn)了將數(shù)據(jù)由XGMII_E接口向XAUI_E接口轉(zhuǎn)換。
本發(fā)明實(shí)施例中數(shù)據(jù)由XAUI_E接口向XGMII_E接口轉(zhuǎn)換的處理流程為如圖7所示,包括步驟701判斷XAUI_E接口的第n條通道lane[n]在當(dāng)前時刻是否傳輸數(shù)據(jù)包,若是則執(zhí)行步驟702,否則執(zhí)行步驟703;步驟702將XAUI_E接口的第n條通道lane[n]中的數(shù)據(jù)包直接映射到XGMII_E的總線RXD[8n+7:8n]中的數(shù)據(jù)包中,并轉(zhuǎn)至步驟701。
步驟703將XAUI_E中第n條通道lane[n]中當(dāng)前傳輸?shù)囊粋€特殊字符集映射為XGMII_E接口總線RXD[8n+7:8n]中的一個空載,并轉(zhuǎn)至步驟701。
很容易看出,圖7所示流程就是圖6所示流程的反向轉(zhuǎn)換過程。
其中,R字符的設(shè)置需要遵循如下規(guī)則1、R字節(jié)必須是在每個數(shù)據(jù)包結(jié)束之后;2、當(dāng)接收數(shù)據(jù)包時,不能插入R字節(jié);3、在刪除R字節(jié)時,仍然需要保有最小包間距的長度。
以上所述特殊字符集的定義僅為一種示例,實(shí)際應(yīng)用中可以采取其他的定義,或者對特殊字符集的數(shù)據(jù)進(jìn)行增減。
由于采用SERDES方式,同時采用K、A、R字節(jié)的均勻分布方式,電氣標(biāo)準(zhǔn)遵循XAUI規(guī)范,因此本發(fā)明的XAUI_E接口能夠?qū)崿F(xiàn)傳輸帶寬大于10G的同時,仍然保持了XAUI接口能支持遠(yuǎn)距離傳輸?shù)奶攸c(diǎn),最大傳輸距離在45~50cm之間,能夠支持板間通信。本發(fā)明的增強(qiáng)型XAUI當(dāng)保留lane4~laneN不使用時則和現(xiàn)在的XAUI協(xié)議一致,因此本發(fā)明能夠兼容現(xiàn)有的XAUI接口。
本發(fā)明的XAUI_E接口不但能支持10G業(yè)務(wù),而且可以支持20G、40G,甚至更高帶寬的數(shù)據(jù)業(yè)務(wù)。在增加業(yè)務(wù)帶寬的同時,由于容量的擴(kuò)展,在接口內(nèi)部可以采用其它形式的管理報文,來實(shí)現(xiàn)通道級、子通道級、隊(duì)列級、流級管理。
以下以具體實(shí)施例說明如何實(shí)現(xiàn)端口級和鏈路級流控。本實(shí)施例定義一種帶內(nèi)流控幀格式,該流控幀格式圖8所示,該帶內(nèi)流控幀的各個控制字定義詳見表1。
表1其中,Offset為0x0000時端口(port)與通道號的對應(yīng)關(guān)系如表2所示
表2當(dāng)然,Offset為其他值時也有相應(yīng)的端口號與通道號的對應(yīng)關(guān)系,這里就不一一舉例。通過所述帶內(nèi)流控幀的定義,可以很方便的實(shí)現(xiàn)鏈路級和通道級的流控。數(shù)據(jù)的接收端只要在帶內(nèi)流控幀內(nèi)設(shè)置相應(yīng)的控制字,并將所設(shè)置的流控幀通過XAUI_E接口發(fā)送至數(shù)據(jù)的發(fā)送端;則數(shù)據(jù)的發(fā)送端就可以根據(jù)所述控制字執(zhí)行相應(yīng)的流控操作。例如,數(shù)據(jù)的接收端只需要將操作碼設(shè)置為0x0001,將pause時間系數(shù)設(shè)置為非0數(shù),則數(shù)據(jù)的發(fā)送端檢測流控幀中的控制字為上述值,就可實(shí)現(xiàn)鏈路級反壓;一旦pause時間系數(shù)設(shè)置為0x0000,那么即使操作碼設(shè)置為0x0001也認(rèn)為該鏈路恢復(fù)正常,鏈路可以正常傳輸數(shù)據(jù);當(dāng)需要通道級反壓時,只需要將操作碼設(shè)置為0x1101,將offset設(shè)置為需要反壓通道對應(yīng)參數(shù)值,將port中相應(yīng)通道設(shè)置為相應(yīng)通道狀態(tài)信息即可。
下面以圖9所示系統(tǒng)來說明本發(fā)明如何實(shí)現(xiàn)流控。這里給出流控的具體含義。所謂通道級流控,或稱為端口級流控,指針對某個或者某些通道或端口的流控處理機(jī)制。在某通道需要流控時,鏈路上將不再發(fā)送該通道或端口的數(shù)據(jù),但是其它可用通道或端口的數(shù)據(jù),仍然可以通過鏈路發(fā)送過來;所謂鏈路級流控,指針對整個鏈路的流控處理機(jī)制。當(dāng)發(fā)送鏈路級流控時,通常時表示對應(yīng)的所有通道全部擁塞,鏈路上不能在發(fā)送數(shù)據(jù)。
圖9所示設(shè)備A和設(shè)備B之間采用XAUI_E接口,設(shè)備B從XAUI_E中接收到來自設(shè)備A的數(shù)據(jù),并將所接收的數(shù)據(jù)分別放入兩個隊(duì)列FIFO1、FIFO2中。在這種情況下,我們可以認(rèn)為設(shè)備B上占用了兩個通道,分別對應(yīng)FIFO1和FIFO2。
當(dāng)設(shè)備B上的FIFO1擁塞(所謂擁塞的意思就是該隊(duì)列緩存的內(nèi)容達(dá)到其內(nèi)部水線),而FIFO2的狀態(tài)正常時,設(shè)備B可以通過XAUI_E接口發(fā)送通道級的流控信息給設(shè)備A。此時,將Opcode設(shè)置為0x1101,將Qutanum設(shè)置為0xffff,將Offset設(shè)置為0x0,將port設(shè)置為0x02000000。設(shè)備A收到該流控信息,經(jīng)CRC校驗(yàn)無誤后,讀取Opcode的值,得知流控的種類為通道級流控;設(shè)備A繼續(xù)讀取Qutanum的值,得知流控的時間長度為0xffff×512比特;設(shè)備A再讀取Offset和Port的值,得知進(jìn)行流控的端口號對應(yīng)通道1,流控狀態(tài)信息為停止發(fā)送數(shù)據(jù)包。則設(shè)備A根據(jù)以上的流控信息,停止向FIFO1發(fā)送數(shù)據(jù)包,并保持這種停止?fàn)顟B(tài)的時長為0xffff×512bit;對于其他通道的發(fā)送保持不變。
如果在0xffff×512bit時間內(nèi)FIFO1的擁塞情況好轉(zhuǎn)了,F(xiàn)IFO1的狀態(tài)變?yōu)檎?,則設(shè)備B將Opcode設(shè)置為0x1101,將Qutanum設(shè)置為0x0,將Offset設(shè)置為0x0,將port設(shè)置為0x00000000,再次發(fā)送帶內(nèi)流控幀;設(shè)備A收到該流控信息,經(jīng)CRC校驗(yàn)無誤后,讀取Opcode的值,得知流控的種類為仍通道級流控;再讀取Qutanum的值,得知流控的時長為0;設(shè)備A再讀取Offset和Port的值,得知進(jìn)行流控的端口號對應(yīng)通道1,流控狀態(tài)信息為數(shù)據(jù)包的發(fā)送不受限制。則設(shè)備A向FIFO1發(fā)送數(shù)據(jù)包。
如果在0xffff×512bit時間后FIFO1的擁塞情況依然,則設(shè)備B將Opcode設(shè)置為0x1101,將Qutanum設(shè)置為0xffff,將Offset設(shè)置為0x0,將port設(shè)置為0x02000000,再次發(fā)送帶內(nèi)流控幀。設(shè)備A收到該流控信息,經(jīng)CRC校驗(yàn)無誤后,讀取Opcode的值,得知流控的種類為通道級流控;設(shè)備A繼續(xù)讀取Qutanum的值,得知流控的時間長度為0xffff×512比特;設(shè)備A再讀取Offset和Port的值,得知進(jìn)行流控的端口號對應(yīng)通道1,流控狀態(tài)信息為停止發(fā)送數(shù)據(jù)包。則設(shè)備A根據(jù)以上的流控信息,繼續(xù)停止向FIFO1發(fā)送數(shù)據(jù)包,并保持這種停止?fàn)顟B(tài)的時長為0xffff×512比特;對于其他通道的發(fā)送保持不變。
如果,在FIFO1擁塞之后,F(xiàn)IFO2也擁塞了,此時可以發(fā)送一次鏈路級的帶內(nèi)流控幀。將Opcode設(shè)置為0x0001,將Qutanum設(shè)置為0xffff,Offset和port設(shè)置隨意。設(shè)備A收到該流控信息,經(jīng)CRC校驗(yàn)無誤后,讀取Opcode的值,得知流控的種類為鏈路級流控;設(shè)備A繼續(xù)讀取Qutanum的值,得知流控的時間長度為0xffff×512比特;設(shè)備A不再讀取后面的控制字,而直接停止向連接設(shè)備B的鏈路發(fā)送數(shù)據(jù),并保持這種停止?fàn)顟B(tài)的時長為0xffff×512比特。
在0xffff×512bit時間內(nèi),有一個FIFO的擁塞情況取消了,設(shè)備B則發(fā)送一次相應(yīng)的通道級流控信息;如果在0xffff×512bit時間內(nèi),所有通道的擁塞情況均取消了,則再次發(fā)送一次鏈路級的帶內(nèi)流控幀,將Opcode設(shè)置為0x0001,將Qutanum設(shè)置為0x0,Offset和port設(shè)置隨意;如果在0xffff×512bit時間后,所有通道的擁塞情況依舊,則再次發(fā)送一次鏈路級的帶內(nèi)流控幀,將Opcode設(shè)置為0x0001,將Qutanum設(shè)置為0xffff,Offset和port設(shè)置隨意。
本實(shí)施例所定義的帶內(nèi)流控幀僅是一個示例,用于說明XAUI_E接口在帶寬容量拓展后,能夠?qū)崿F(xiàn)鏈路級流控和通道級流控;實(shí)際應(yīng)用中,XAUI_E還可以攜帶其它任何有用信息或者采用其他流控方法。
本發(fā)明實(shí)施例的高帶寬數(shù)據(jù)傳輸裝置如圖10所示,包括如下模塊第一轉(zhuǎn)換模塊1010,用于接收第一XGMII_E接口的多于4條總線的數(shù)據(jù),將其中任意一條總線TXD[8n+7:8n]中的數(shù)據(jù)轉(zhuǎn)換為一條通道lane[n]的數(shù)據(jù),并將各條通道的數(shù)據(jù)都發(fā)送至傳輸模塊1030。第一轉(zhuǎn)換模塊1010還用于接收來自傳輸模塊的流控信息,根據(jù)所述流控信息執(zhí)行相應(yīng)的流控操作。
第二轉(zhuǎn)換模塊1020,用于接收來自傳輸模塊1030的多于4條的通道數(shù)據(jù),將所述任意一條通道lane[n]的數(shù)據(jù)轉(zhuǎn)換為一條總線RXD[8n+7:8n]的數(shù)據(jù),并將所述各條總線的數(shù)據(jù)分別發(fā)送至第二XGMII_E接口的對應(yīng)總線。第二轉(zhuǎn)換模塊1020還用于生成流控信息,并將所生成的流控信息發(fā)送至傳輸模塊1030。
傳輸模塊1030,包括多于4條的SERDES總線,每條SERDES總線分別將一條通道的數(shù)據(jù)從第一轉(zhuǎn)換模塊1010傳輸?shù)?020。傳輸模塊1030還用于將來自第二轉(zhuǎn)換模塊1020的流控信息傳輸?shù)降谝晦D(zhuǎn)換模塊1010。
其中,第一轉(zhuǎn)換模塊1010還包括第一流控單元1011,用于根據(jù)流控信息執(zhí)行對應(yīng)的流控操作。所述流控信息可以為表1所示的流控幀中攜帶的信息;所述流控操作可以是根據(jù)流控信息選擇特定的端口/通道發(fā)送數(shù)據(jù),而停止其它端口/通道的數(shù)據(jù)發(fā)送,也可以是使高帶寬數(shù)據(jù)傳輸裝置停止或進(jìn)行的數(shù)據(jù)發(fā)送。
第一判斷單元1012,用于對任意一個總線TXD[8n+7:8n]當(dāng)前時刻傳輸?shù)膬?nèi)容進(jìn)行判斷,若是數(shù)據(jù)包,則使第一數(shù)據(jù)包映射單元1013對該數(shù)據(jù)包進(jìn)行處理,若是空載,則使第一空載映射單元1014對該空載進(jìn)行處理。
第一數(shù)據(jù)包映射單元1013,用于將任意一個總線TXD[8n+7:8n]當(dāng)前時刻傳輸?shù)臄?shù)據(jù)包映射為通道lane[n]中的數(shù)據(jù)包。
第一空載映射單元1014,用于將任意一個總線TXD[8n+7:8n]當(dāng)前時刻傳輸?shù)目蛰d映射為通道lane[n]中的特殊字符,其中將起始空載映射為S字符,將結(jié)束空載映射為T字符,將其它空載隨機(jī)映射為K、A、R字符,并且保持K、A、R字符的分布是均勻的。
第二轉(zhuǎn)換模塊1020還包括第二流控單元1021,用于根據(jù)第二轉(zhuǎn)換模塊1020接收數(shù)據(jù)的情況,生成相應(yīng)的流控幀。
第二判斷單元1022,用于對任意一個通道lane[n]中當(dāng)前時刻傳輸?shù)膬?nèi)容進(jìn)行判斷,如果是數(shù)據(jù)包,則使第二數(shù)據(jù)包映射單元1023對該數(shù)據(jù)包進(jìn)行處理,若是空載,則使第二空載映射單元1024對該空載進(jìn)行處理。
第二數(shù)據(jù)包映射單元1023,用于將任意一個通道lane[n]中當(dāng)前時刻傳輸?shù)臄?shù)據(jù)包映射為總線RXD[8n+7:8n]的數(shù)據(jù)包。
第二空載映射單元1024,用于將任意一個通道lane[n]中當(dāng)前時刻傳輸?shù)淖址成錇榭偩€RXD[8n+7:8n]的空載。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,采用多于四條通道進(jìn)行數(shù)據(jù)傳輸,該方法包括如下步驟將媒體無關(guān)接口XGMII特定總線中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到對應(yīng)的通道中傳輸;將通道中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到XGMII對應(yīng)總線中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通道采用串行器/解串器SERDES總線。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將媒體無關(guān)接口XGMII特定總線中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到對應(yīng)的通道中傳輸包括判斷XGMII的標(biāo)號為TXD[8n+7:8n]的總線在當(dāng)前時刻是否傳輸數(shù)據(jù)包,若是,則將所述數(shù)據(jù)包映射為通道lane[n]中的數(shù)據(jù)包;否則,將標(biāo)號為TXD[8n+7:8n]的總線中當(dāng)前時刻傳輸?shù)目蛰d映射為通道lane[n]的特殊字符集;n為非負(fù)整數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將通道中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到XGMII對應(yīng)總線中傳輸包括判斷通道lane[n]在當(dāng)前時刻是否傳輸數(shù)據(jù)包,若是,將所述數(shù)據(jù)包映射為XGMII的標(biāo)號為RXD[8n+7:8n]的總線中的數(shù)據(jù)包;否則,將通道lane[n]中當(dāng)前時刻傳輸?shù)奶厥庾址成錇闃?biāo)號為RXD[8n+7:8n]的總線中的一個空載。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述特殊字符集包括起始空載S,用于表示數(shù)據(jù)包的起始;結(jié)束空載T,用于表示數(shù)據(jù)包的結(jié)束;同步空載K,用于實(shí)現(xiàn)每條通道的字節(jié)同步;相位對齊空載A,用于實(shí)現(xiàn)多條通道之間的對齊;時鐘補(bǔ)償空載T,用于實(shí)現(xiàn)不同時鐘域之間的時鐘補(bǔ)償。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將標(biāo)號為TXD[8n+7:8n]的總線中當(dāng)前時刻傳輸?shù)目蛰d映射為通道lane[n]的特殊字符集包括判斷標(biāo)號為TXD[8n+7:8n]的總線中當(dāng)前時刻傳輸?shù)目蛰d是否為起始空載或結(jié)束空載,若是,則將所述起始空載映射為通道lane[n]中的S字符,或者,將所述結(jié)束空載映射為通道lane[n]中的T字符;否則,將TXD[8n+7:8n]總線中當(dāng)前傳輸?shù)目蛰d隨機(jī)映射為K字符、A字符或R字符。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述將空載映射為R字符必須滿足如下條件R字符必須是在每個數(shù)據(jù)包結(jié)束之后;當(dāng)接收數(shù)據(jù)包時,不能插入R字符;在刪除R字符時,仍然需要保有最小包間距的長度。
8.根據(jù)權(quán)利要求1至7任一項(xiàng)所述的方法,其特征在于,該方法進(jìn)一步包括接收端設(shè)置流控信息,并將設(shè)置好的流控信息通過所述通道發(fā)送至發(fā)送端;發(fā)送端根據(jù)所收到的流控信息執(zhí)行相應(yīng)的流控操作。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述流控信息為帶內(nèi)流控幀中的控制字。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述設(shè)置流控信息包括將操作碼設(shè)置為通道級流控,設(shè)置暫停時間,需要進(jìn)行流控的通道參數(shù)以及流控狀態(tài)信息;所述根據(jù)所收到的流控信息執(zhí)行相應(yīng)的流控操作為讀取操作碼得知流控種類為通道級流控;讀取暫停時間、通道參數(shù)以及流控狀態(tài)信息,在通道參數(shù)對應(yīng)的通道,執(zhí)行流控狀態(tài)信息對應(yīng)的操作,持續(xù)時間為所述暫停時間。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述暫停時間為非0數(shù),所述流控狀態(tài)信息為停止發(fā)送數(shù)據(jù)包。
12.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述暫停時間為0,所述流控狀態(tài)信息為發(fā)送數(shù)據(jù)包。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述設(shè)置流控信息包括將操作碼設(shè)置為鏈路級流控,設(shè)置暫停時間;所述根據(jù)所收到的流控信息執(zhí)行相應(yīng)的流控操作為讀取操作碼得知流控種類為鏈路級流控,讀取暫停時間,若為0,則在鏈路的全部通道發(fā)送數(shù)據(jù),否則在鏈路的全部通道停止發(fā)送數(shù)據(jù),持續(xù)時間為所述暫停時間。
14.一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)难b置,其特征在于,該裝置包括第一轉(zhuǎn)換模塊,用于接收第一XGMII_E接口的多于4條總線的數(shù)據(jù),將其中任意一條總線TXD[8n+7:8n]中的數(shù)據(jù)轉(zhuǎn)換為一條通道lane[n]的數(shù)據(jù),并將各條通道的數(shù)據(jù)發(fā)送至傳輸模塊;傳輸模塊,用于將來自第一轉(zhuǎn)換模塊的各條通道的數(shù)據(jù)發(fā)送至第二轉(zhuǎn)換模塊;第二轉(zhuǎn)換模塊,用于接收來自傳輸模塊的各條通道的數(shù)據(jù),將所述任意一條通道lane[n]的數(shù)據(jù)轉(zhuǎn)換為一條總線RXD[8n+7:8n]的數(shù)據(jù),并將所述各條總線的數(shù)據(jù)分別發(fā)送至第二XGMII_E接口的對應(yīng)總線。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述傳輸模塊包括多于4條的SERDES總線。
16.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述第一轉(zhuǎn)換模塊進(jìn)一步包括第一判斷單元,用于對任意一個總線TXD[8n+7:8n]當(dāng)前時刻傳輸?shù)膬?nèi)容進(jìn)行判斷,若是數(shù)據(jù)包,則使第一數(shù)據(jù)包映射單元對該數(shù)據(jù)包進(jìn)行處理,若是空載,則使第一空載映射單元對該空載進(jìn)行處理;第一數(shù)據(jù)包映射單元,用于將任意一個總線TXD[8n+7:8n]當(dāng)前時刻傳輸?shù)臄?shù)據(jù)包映射為通道lane[n]中的數(shù)據(jù)包;第一空載映射單元,用于將任意一個總線TXD[8n+7:8n]當(dāng)前時刻傳輸?shù)目蛰d映射為通道lane[n]中的特殊字符。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第一空載映射單元用于將起始空載映射為S字符,將結(jié)束空載映射為T字符,將其它空載隨機(jī)映射為K、A、R字符,并且保持K、A、R字符的分布均勻。
18.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述第二轉(zhuǎn)換模塊包括第二判斷單元,用于對任意一個通道lane[n]中當(dāng)前時刻傳輸?shù)膬?nèi)容進(jìn)行判斷,如果是數(shù)據(jù)包,則使第二數(shù)據(jù)包映射單元對該數(shù)據(jù)包進(jìn)行處理,若是空載,則使第二空載映射單元對該空載進(jìn)行處理;第二數(shù)據(jù)包映射單元,用于將任意一個通道lane[n]中當(dāng)前時刻傳輸?shù)臄?shù)據(jù)包映射為總線RXD[8n+7:8n]的數(shù)據(jù)包;第二空載映射單元,用于將任意一個通道lane[n]中當(dāng)前時刻傳輸?shù)淖址成錇榭偩€RXD[8n+7:8n]的空載。
19.根據(jù)權(quán)利要求14至18任一項(xiàng)所述的裝置,其特征在于,所述第二轉(zhuǎn)換模塊進(jìn)一步包括第二流控單元,用于根據(jù)第二轉(zhuǎn)換模塊接收數(shù)據(jù)的情況,生成相應(yīng)的流控信息;所述傳輸模塊用于將來自第二轉(zhuǎn)換模塊的流控信息發(fā)送至第一轉(zhuǎn)換模塊;所述第一轉(zhuǎn)換模塊包括第一流控單元,用于根據(jù)所收到的流控信息執(zhí)行對應(yīng)的流控操作。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?,采用多于四條通道進(jìn)行數(shù)據(jù)傳輸,該方法包括如下步驟將媒體無關(guān)接口(XGMII)特定總線中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到對應(yīng)的通道中傳輸;將通道中的數(shù)據(jù)經(jīng)格式轉(zhuǎn)換后,映射到XGMII對應(yīng)總線中。本發(fā)明還公開了一種實(shí)現(xiàn)高帶寬數(shù)據(jù)傳輸?shù)难b置。本發(fā)明方案可以實(shí)現(xiàn)傳輸帶寬達(dá)到10G以上,并能夠?qū)崿F(xiàn)遠(yuǎn)距離傳輸。
文檔編號H04L29/06GK1996998SQ20061016718
公開日2007年7月11日 申請日期2006年12月26日 優(yōu)先權(quán)日2006年12月26日
發(fā)明者孫文華, 付海春, 王曉波, 潘登, 葛建閣, 楊昌貢, 李鴻梅 申請人:華為技術(shù)有限公司