《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > FC交換機芯片MT端口軟核的設(shè)計與實現(xiàn)
FC交換機芯片MT端口軟核的設(shè)計與實現(xiàn)
2016年微型機與應(yīng)用第24期
張志禹1,許耀斌1,曹繼英2,喬雄1
1.西安理工大學(xué) 自動化與信息工程學(xué)院,陜西 西安 710048;2.長安大學(xué) 信息工程學(xué)院,陜西 西安 710064
摘要: 隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,F(xiàn)C交換機對網(wǎng)絡(luò)協(xié)議的分析、故障的定位等功能提出新的挑戰(zhàn)。首先提出基于FC交換機協(xié)議處理芯片的監(jiān)控端口(Monitor Port, MT)軟核的工作原理;然后對監(jiān)控端口軟核進行了設(shè)計與實現(xiàn);最后在虛擬仿真平臺和FPGA驗證平臺下對MT端口的功能和性能分別進行仿真和測試。結(jié)果表明,這種新的智能監(jiān)控模式不僅能夠用于網(wǎng)絡(luò)監(jiān)管和故障排除,而且可用于流量統(tǒng)計。
Abstract:
Key words :

  張志禹1,許耀斌1,曹繼英2,喬雄1

  (1.西安理工大學(xué) 自動化與信息工程學(xué)院,陜西 西安 710048;2.長安大學(xué) 信息工程學(xué)院,陜西 西安 710064)

        摘要:隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,FC交換機對網(wǎng)絡(luò)協(xié)議的分析、故障的定位等功能提出新的挑戰(zhàn)。首先提出基于FC交換機協(xié)議處理芯片的監(jiān)控端口(Monitor Port, MT)軟核的工作原理;然后對監(jiān)控端口軟核進行了設(shè)計與實現(xiàn);最后在虛擬仿真平臺和FPGA驗證平臺下對MT端口的功能和性能分別進行仿真和測試。結(jié)果表明,這種新的智能監(jiān)控模式不僅能夠用于網(wǎng)絡(luò)監(jiān)管和故障排除,而且可用于流量統(tǒng)計。

  關(guān)鍵詞:FC交換機;MT端口;虛擬仿真;FPGA驗證

  中圖分類號:TN47文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2016.24.011

  引用格式:張志禹,許耀斌,曹繼英,等. FC交換機芯片MT端口軟核的設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2016,35(24):36-39.

0引言

  美國國家標(biāo)準委員會的X3T11工作組于1988年開始制定了一種高速串行通信協(xié)議——光纖通道(Fibre Channel,F(xiàn)C)協(xié)議[1]。1997年,光纖通道協(xié)議標(biāo)準首次面世,速度為1 Gb/s,現(xiàn)在已發(fā)展到第六代,速度為32 Gb/s。光纖通道具有高帶寬、高可靠性、通用性強以及連接距離遠等優(yōu)點[2]。光纖通道主要在兩大領(lǐng)域中應(yīng)用,一是存儲區(qū)域網(wǎng)絡(luò),二是航空電子環(huán)境。目前,國內(nèi)外學(xué)者對交換結(jié)構(gòu)及其調(diào)度算法進行了大量的研究,根據(jù)研究方法的不同,交換結(jié)構(gòu)調(diào)度算法整體上可以分為純理論分析法和快速啟發(fā)式調(diào)度算法。

  純理論分析法主要探討調(diào)度算法的理論基礎(chǔ),例如吞吐量、時延、服務(wù)質(zhì)量保證等性能。國外學(xué)者提出利用高性能核心交換和路由器來確保吞吐量、速率和時延,并且這種算法在輸入和輸出端口上的并行執(zhí)行具有擴展性[3]。國內(nèi)學(xué)者提出一種保證速率的優(yōu)先級實時調(diào)度算法[4]。

  快速啟發(fā)式調(diào)度算法是一種易于硬件實現(xiàn)的調(diào)度算法,主要從其實用性出發(fā),以交叉點小緩存、高效、低復(fù)雜度、硬件易實現(xiàn)作為性能評價指標(biāo)。CARVAJAL G等人提出了在數(shù)據(jù)鏈路層之上添加實時層以支持EDF(Earliest Deadline First)調(diào)度機制,實時數(shù)據(jù)包無需按照以太網(wǎng)協(xié)議架構(gòu)的標(biāo)準在通道內(nèi)實時調(diào)度傳輸[5]。

1FC交換機芯片的體系結(jié)構(gòu)

  FC交換機芯片集成了嵌入式片上處理器,可提供多路線卡端口、MT端口之間數(shù)據(jù)交換,且包含F(xiàn)C MAC控制器、Timer等片上資源,以及交換機域ID標(biāo)識接口、鏈路狀態(tài)指示接口和多路多種速率下全雙工高速串行SerDes接口。該芯片用于FC交換機中,完成FC網(wǎng)絡(luò)高速無阻交換、數(shù)據(jù)監(jiān)控、通信配置、時鐘同步及網(wǎng)絡(luò)管理等功能。使用該芯片可以方便地構(gòu)建FC光纖通道交換網(wǎng),以此為基礎(chǔ)可以快速實現(xiàn)用于各任務(wù)子系統(tǒng)間的光纖通道高速互聯(lián)。FC交換機芯片的體系結(jié)構(gòu)如圖1所示。

001.jpg

  如圖2所示,交換機芯片的監(jiān)控功能包括以下幾個方面:

  (1)支持監(jiān)控輸入端口的數(shù)據(jù)功能;

  (2)支持監(jiān)控輸出端口的數(shù)據(jù)功能;

  (3)支持監(jiān)控含有特殊字段幀的數(shù)據(jù)功能;圖1FC交換機芯片體系結(jié)構(gòu)

 

002.jpg

003.jpg

  (4)支持與網(wǎng)絡(luò)管理節(jié)點(CPU)之間的幀收發(fā)功能;

  (5)支持監(jiān)控、路由方案的在線動態(tài)加載,用以完成相應(yīng)的芯片內(nèi)部寄存器配置。

2FC交換機MT端口工作原理

  FC交換機芯片MT端口模塊中包含以下子模塊:監(jiān)控數(shù)據(jù)緩沖區(qū)寫控制模塊、信息ID查詢控制模塊、監(jiān)控數(shù)據(jù)緩沖區(qū)、監(jiān)控數(shù)據(jù)調(diào)度模塊、監(jiān)控數(shù)據(jù)發(fā)送控制模塊、網(wǎng)絡(luò)管理節(jié)點數(shù)據(jù)發(fā)送處理模塊以及網(wǎng)絡(luò)管理節(jié)點數(shù)據(jù)接收處理模塊。其工作原理如圖3所示。

  MT端口模塊與線卡端口以及網(wǎng)絡(luò)管理節(jié)點相連。MT端口只能被動接收來自線卡端口的數(shù)據(jù)幀,而監(jiān)控模式分為輸入監(jiān)控、輸出監(jiān)控和信息ID監(jiān)控。網(wǎng)絡(luò)管理節(jié)點可與MT端口互相通信,MT端口可以轉(zhuǎn)發(fā)來自網(wǎng)絡(luò)管理節(jié)點的幀,或者將接收到的ELS幀轉(zhuǎn)發(fā)給網(wǎng)絡(luò)管理節(jié)點。寄存器配置有時標(biāo)插入設(shè)置、監(jiān)控功能設(shè)置以及信息ID緩沖區(qū)配置等功能。

3FC交換機MT端口設(shè)計實現(xiàn)

  FC交換機MT端口設(shè)計包含信息ID查詢控制模塊設(shè)計、監(jiān)控數(shù)據(jù)緩沖區(qū)寫控制模塊設(shè)計、監(jiān)控數(shù)據(jù)調(diào)度模塊設(shè)計、監(jiān)控數(shù)據(jù)發(fā)送控制模塊設(shè)計、網(wǎng)絡(luò)管理節(jié)點數(shù)據(jù)發(fā)送處理模塊設(shè)計以及網(wǎng)絡(luò)管理節(jié)點數(shù)據(jù)接收處理模塊設(shè)計。下面將分別對子模塊設(shè)計進行詳細描述。

  3.1信息ID查詢控制模塊的設(shè)計

  該模塊的設(shè)計思路是將來自F端口的特殊幀信息的信息ID輸出到CAM表中,進行信息ID的合法性檢測。同時,將信息ID合法的CAM表查詢的結(jié)果與MT端口信息數(shù)目寄存器的值進行比較,判斷被監(jiān)控幀的有效性。

  3.2監(jiān)控數(shù)據(jù)緩沖區(qū)寫控制模塊的設(shè)計

  該模塊的設(shè)計思路是根據(jù)監(jiān)控模式、時標(biāo)使能等相關(guān)信號的設(shè)置,將來自F端口MAC客戶端口的信號時序轉(zhuǎn)化為標(biāo)準的FIFO接口時序,同時,對幀進行時標(biāo)插入或產(chǎn)生特殊幀信息ID查詢請求等操作。

  本模塊設(shè)計了對FC幀的接收處理狀態(tài)機,根據(jù)接收到的幀內(nèi)容及幀標(biāo)識信號,將幀進行相應(yīng)處理操作,并將處理后的幀輸出至對應(yīng)緩沖區(qū),其狀態(tài)機如圖4所示。

004.jpg

  3.3監(jiān)控數(shù)據(jù)調(diào)度模塊的設(shè)計

  數(shù)據(jù)調(diào)度模塊實現(xiàn)了線卡端口和網(wǎng)絡(luò)管理節(jié)點的FC數(shù)據(jù)幀輸出請求之間的優(yōu)先級調(diào)度,設(shè)計中采用輪詢優(yōu)先圖6信息ID監(jiān)控仿真波形級調(diào)度策略。

  圖7MT端口FPGA平臺驗證環(huán)境線卡端口及網(wǎng)絡(luò)管理節(jié)點的幀輸出優(yōu)先級調(diào)度用狀態(tài)機來完成。數(shù)據(jù)調(diào)度模塊狀態(tài)機如圖5所示。狀態(tài)機有N+3個狀態(tài),分別為Idle狀態(tài)、P_0狀態(tài)~P_N+1狀態(tài);P_0~P_N狀態(tài)對應(yīng)N+1路線卡端口,P_N+1對應(yīng)1路網(wǎng)絡(luò)管理節(jié)點。

  

005.jpg

  3.4監(jiān)控數(shù)據(jù)發(fā)送控制模塊的設(shè)計

  MT端口MAC幀發(fā)送控制模塊實現(xiàn)了將監(jiān)控數(shù)據(jù)FIFO中的FIFO接口的數(shù)據(jù)信號轉(zhuǎn)換為MAC客戶端發(fā)送接口的時序,將幀發(fā)送到MT端口MAC中。

  3.5MT端口幀發(fā)送處理模塊設(shè)計

  網(wǎng)絡(luò)管理節(jié)點到MT端口幀發(fā)送數(shù)據(jù)處理模塊完成對來自網(wǎng)絡(luò)管理節(jié)點待發(fā)送數(shù)據(jù)幀的存儲操作。

  3.6MT端口幀接收處理模塊設(shè)計

  MT端口幀接收控制模塊實現(xiàn)了數(shù)據(jù)幀的篩選、接收存儲功能,并能識別和指示非ELS幀丟棄等。本模塊功能為對MT端口接收到的ELS幀進行控制,根據(jù)接收到的幀內(nèi)容及幀類型標(biāo)識信號,將數(shù)據(jù)幀存入相應(yīng)緩沖區(qū)或丟棄(非ELS幀)。

4FC交換機MT端口仿真驗證

  4.1MT端口虛擬平臺仿真

  由于篇幅有限,以下只對信息ID監(jiān)控情景得到的虛擬仿真波形進行分析說明。

  網(wǎng)絡(luò)管理節(jié)點配置監(jiān)控模式寄存器值為0x3,表示為信息ID監(jiān)控模式;配置CAM表中需要被監(jiān)控的特殊字段值。往線卡端口輸入不同的FC幀,幀內(nèi)容中特殊字段有能被匹配到的,也有不能被匹配到的。仿真結(jié)果如圖6所示。

  從圖6中看到配置CAM表的最后一個特殊字段值為0x100,則在MT端口監(jiān)控到的數(shù)據(jù)幀中也包含該特殊字段信息。

006.jpg

  4.2FC交換機MT端口FPGA平臺驗證

  4.2.1FPGA驗證平臺的環(huán)境

  FPGA原型驗證板是整個原型驗證系統(tǒng)的核心,F(xiàn)C交換機協(xié)議處理芯片的原型驗證板可以完成對交換機芯片F(xiàn)PGA原型所有基本功能和系統(tǒng)功能的測試驗證。交換機芯片系統(tǒng)集成后的RTL級代碼,經(jīng)FPGA工具綜合、實現(xiàn),下載到FPGA芯片中,實現(xiàn)真實交換機芯片的功能。本研究搭建的MT端口FPGA平臺驗證環(huán)境如圖7所示。

007.jpg

  4.2.2FPGA驗證平臺測試

  在MT端口的光纖鏈路上接入Finisar測試儀,用以監(jiān)測光纖鏈路上的FC幀傳輸。光纖鏈路上線后,在Finisar測試儀上可以對抓到的數(shù)據(jù)包進行解析,解析結(jié)果如圖8所示。

 

008.jpg

  圖8表示MT端口在信息ID監(jiān)控模式下監(jiān)測到從線卡端口0發(fā)往線卡端口1的數(shù)據(jù),其中CAM表配置的值從16’h1到16’h100,符合邏輯設(shè)計中CAM表深度256。該幀的MSGID值為4,屬于監(jiān)測范圍,所以在MT端口能夠正確監(jiān)控。TYPE字段為0x49且CSCTL字段為0x04,表明該幀為ASM幀且優(yōu)先級為4。信息數(shù)據(jù)長度值為16’h5F3,換算到十進制時值為1523,表明MT監(jiān)控到的幀為超長幀。

  輸入數(shù)據(jù)監(jiān)控模式是MT端口只對一個線卡端口進行監(jiān)控,而信息ID監(jiān)控模式是特殊的輸入數(shù)據(jù)監(jiān)控模式,可以對線卡端口的輸入數(shù)據(jù)與CAM表配置的敏感信息進行MSGID查詢控制,只要CAM表查詢匹配成功,該幀就會被鏡像到MT端口。由上述結(jié)果分析可知,MT端口能夠在FPGA原型驗證板上正確工作。

  4.2.3監(jiān)控流量統(tǒng)計

  FC幀最短幀為9個字段,最長幀為537字段,其中1字段等于4 B,F(xiàn)C對應(yīng)的數(shù)據(jù)范圍是36 B~2148 B。為了便于對監(jiān)控的流量進行統(tǒng)計,驗證時FC幀長度取256個字段,即1 KB數(shù)據(jù)。假設(shè)FC鏈路的速率為2 Gb/s,即帶寬為2 Gb/s,那么用戶獨享帶寬時流量應(yīng)為200 MB/s。計算方法如下:

  流量=帶寬×1 000×0.8/8

  其中編碼因子0.8為8b/10b轉(zhuǎn)換時帶寬利用率,假如數(shù)據(jù)為8位,經(jīng)過8b/10b編碼之后數(shù)據(jù)擴展為10位數(shù)據(jù),帶寬利用率為80%。轉(zhuǎn)換因子8代表8位數(shù)據(jù)轉(zhuǎn)化成1 B數(shù)據(jù)。

  本文中用戶最高獨享帶寬的流量為212.5 MB/s,在FPGA驗證平臺上做全雙工無誤碼率的測試,其中線卡端口注入的數(shù)據(jù)包含有特殊字段的幀數(shù)據(jù),如表1所示。

009.jpg

  下面給出一種特殊的數(shù)據(jù)傳輸方式,線卡輸入端口唯一,目的端口分別為0、1,且數(shù)據(jù)幀發(fā)往目的端口的比重分別約占20%和80%,則MT端口監(jiān)控流量如表2所示。由監(jiān)控流量統(tǒng)計表分析可得,輸入數(shù)據(jù)端口唯一時,將數(shù)據(jù)20%和80%比例輸出到線卡端口0和1,端口速率分別為41 MB/s和169 MB/s。信息ID監(jiān)控只是監(jiān)控所有數(shù)據(jù)中存在特殊字段的幀信息,在此不做詳細分析。全雙工無阻交換模式下,端口吞吐量為425 MB。

010.jpg

5結(jié)論

  目前這款FC交換機協(xié)議處理芯片的MT端口軟核虛擬驗證工作已經(jīng)完成,F(xiàn)PGA平臺上的測試證明該芯片運行良好。從MT端口軟核設(shè)計和實現(xiàn)上來說,可對下一個版本以及其他相關(guān)芯片的研發(fā)提供一定的借鑒,并且該智能監(jiān)控技術(shù)具有廣泛的應(yīng)用前景。

  參考文獻

 ?。?] 羅燁. F AERDMA技術(shù)的研究與實現(xiàn)[D]. 成都:電子科技大學(xué), 2010.

 ?。?] 林強, 熊華鋼, 張其善. 光纖通道綜述[J]. 計算機應(yīng)用研究, 2006, 23(2): 9 13.

 ?。?] CHUANG S T, IYER S, MCKEOWN N. Practical algorithms for performance guarantees in buffered crossbars[J]. Proceedings of IEEE INFOCOM, 2005, 2(7):981 991.

 ?。?] 黃永葵. 光纖通道標(biāo)準及其在航空電子中的應(yīng)用[J]. 航空電子技術(shù), 2004, 34(4): 1 12.

  [5] CARVAJAL G,WU C W,F(xiàn)ISCHMEISER S.Evaluation of communication architectures for switched realtime Ethernet[J]. IEEE Transactions on Computers,2014,63(1):218 229.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。