本發(fā)明屬于網絡技術與fpga,具體涉及一種雙冗余fc數據鏈路ip核。
背景技術:
1、fc(fibre?channel,簡稱fc)協(xié)議是美國國家標準協(xié)會于1988年提出的一種高速串行通信協(xié)議。可以實現(xiàn)遠距離、高帶寬、低延遲的數據傳輸,提供完善的錯誤處理和流量控制機制,具備靈活的拓撲結構,支持scsi、ipv4等多種上層協(xié)議,主要應用于高性能網絡存儲和航空電子通信領域。fc協(xié)議和以太網協(xié)議類似,均采用分層結構,包括物理層(fc-0)、編碼層(fc-1)、協(xié)議層(fc-2)、服務層(fc-3)和映射層(fc-4),其中fc-2層是最為復雜的一層,主要規(guī)定了fc網絡系統(tǒng)中數據傳輸的規(guī)則。大多數fc網絡系統(tǒng)將fc-2層的功能卸載到硬件,利用fpga高并發(fā)、低延遲的特性,完成其他協(xié)議數據與標準fc幀的轉換,大大提高轉換效率,減輕cpu的負載。
2、隨著技術的不斷更新發(fā)展,目前市面上應用的fc網絡系統(tǒng)的傳輸速率已從最初的1.0625gbps不斷提升到2.125gbps、4.25gbps、8.5gbps、16gbps,最新的fc協(xié)議標準更是支持最高256gbps的傳輸速率。在高速數字系統(tǒng)中,數據傳輸很容易因為微小的干擾出現(xiàn)不穩(wěn)定現(xiàn)象,為了構建高速且可靠的網絡,雙冗余結構是一種解決方式。然而現(xiàn)有的雙冗余結構性能較差。
技術實現(xiàn)思路
1、本發(fā)明提供了一種雙冗余fc數據鏈路ip核解決上述提到的技術問題,具體采用如下的技術方案:
2、一種雙冗余fc數據鏈路ip核,包含:fc發(fā)送組幀引擎、fc雙冗余接口和fc接收雙冗余傳輸引擎;
3、所述fc發(fā)送組幀引擎用于接收dma模塊傳輸的fc數據報文,并將fc數據報文轉換成遵循fc協(xié)議的標準fc幀;
4、所述fc雙冗余接口用于采用雙活全對稱數據競爭雙冗余模式發(fā)送或接收fc幀,所述fc雙冗余接口同時兼容非雙冗余模式和主備切換雙冗余模式;
5、所述fc接收雙冗余傳輸引擎用于考慮多個fc序列同時接收的情況,并進行冗余判斷后對fc幀選擇dma傳輸或丟棄。
6、進一步地,所述fc發(fā)送組幀引擎包含:分片模塊、組幀模塊和校驗模塊;
7、所述分片模塊用于將fc數據報文的幀起始定界符和首部提取出來寫入首部fifo,并對載荷進行分片寫入載荷fifo,同時使用一個幀信息fifo記錄每個載荷分片組幀所需的信息;
8、所述組幀模塊從首部fifo讀取幀起始定界符和首部并暫存至寄存器,根據不同載荷分片修改部分首部信息,與載荷fifo讀出的載荷分片拼接后寫入幀數據fifo;
9、所述校驗模塊對非起始幀跟在首部后面的4字節(jié)載荷進行替換,并在fc幀最后添加循環(huán)冗余校驗碼和幀終止定界符,完成標準fc幀的傳輸。
10、進一步地,所述分片模塊對載荷以2048字節(jié)為單位進行分片寫入載荷fifo;每個載荷分片組幀所需的信息包含載荷長度、數據報文類型標志位、起始幀標志位、結束幀標志位和短幀標志位。
11、進一步地,所述組幀模塊組幀時使用兩個狀態(tài)機協(xié)同工作,主狀態(tài)機負責首部、載荷和信息的傳輸,子狀態(tài)機負責首部的讀取、暫存和更新。
12、進一步地,所述fc雙冗余接口包含fc發(fā)送雙冗余接口和fc接收雙冗余接口;
13、所述fc發(fā)送雙冗余接口在雙活全對稱數據競爭雙冗余模式下將fc幀復制雙份并發(fā)往兩個fc節(jié)點,在非雙冗余模式下僅從fc節(jié)點1發(fā)送fc幀,在主備切換雙冗余模式下可選擇的從fc節(jié)點1或fc節(jié)點2發(fā)送fc幀;
14、所述fc接收雙冗余接口用于交替接收兩個fc節(jié)點的fc幀并匯成一路,不對fc幀具體內容進行判斷,允許兩路fc幀不完全相同,或是只有一路fc幀。
15、進一步地,所述fc發(fā)送雙冗余接口使用第一軟件寄存器mode_sel進行模式選擇。
16、進一步地,所述fc發(fā)送雙冗余接口在主備切換雙冗余模式下通過第二軟件寄存器port_sel控制從fc節(jié)點1或fc節(jié)點2發(fā)送fc幀。
17、進一步地,所述fc接收雙冗余傳輸引擎考慮多個fc序列同時接收的情況,使用一個序列管理bram記錄每個fc序列的傳輸狀態(tài),根據序列管理bram提供的信息進行冗余判斷,選擇傳輸或丟棄當前fc幀,并及時更新信息,用于后續(xù)fc幀的冗余判斷。
18、進一步地,所述fc接收雙冗余傳輸引擎對每個fc序列的s_id和seq_id進行哈希計算,得到唯一的認定標識flow_id,作為序列管理bram的地址。
19、進一步地,所述序列管理bram包含幀校驗正確標志位、幀存在標志位、序列存在標志位、超時標志位、起始幀有效標志位、結束幀有效標志位、需要傳輸的幀總數和當前接收的幀總數。
20、本發(fā)明的有益之處在于所提供的雙冗余fc數據鏈路ip核,在fc-2層數據鏈路的設計中加入雙冗余結構,提高數據傳輸的可靠性,且采用雙活全對稱數據競爭雙冗余策略,在接收節(jié)點內部做冗余處理,冗余時間僅為兩個相同fc幀傳輸的時間差,相較于其他雙冗余策略,通過硬件邏輯資源的消耗獲取了更高的性能。
21、本發(fā)明的有益之處還在于所提供的雙冗余fc數據鏈路ip核,將協(xié)議數據與標準fc幀轉換的功能卸載到硬件,減少dma讀寫次數和存儲空間的占用,利用fpga高并發(fā)、低延遲的特性,大大提高轉換效率,減輕cpu的負載,有助于發(fā)揮fc網絡高速傳輸的性能。
22、本發(fā)明的有益之處還在于所提供的雙冗余fc數據鏈路ip核,不僅支持雙冗余數據傳輸,只需要通過一個軟件寄存器的設置即可切換為非雙冗余傳輸模式,具有很強的通用性。
1.一種雙冗余fc數據鏈路ip核,其特征在于,包含:fc發(fā)送組幀引擎、fc雙冗余接口和fc接收雙冗余傳輸引擎;
2.根據權利要求1所述的雙冗余fc數據鏈路ip核,其特征在于,
3.根據權利要求2所述的雙冗余fc數據鏈路ip核,其特征在于,
4.根據權利要求2所述的雙冗余fc數據鏈路ip核,其特征在于,
5.根據權利要求1所述的雙冗余fc數據鏈路ip核,其特征在于,
6.根據權利要求5所述的雙冗余fc數據鏈路ip核,其特征在于,
7.根據權利要求5所述的雙冗余fc數據鏈路ip核,其特征在于,
8.根據權利要求1所述的雙冗余fc數據鏈路ip核,其特征在于,
9.根據權利要求8所述的雙冗余fc數據鏈路ip核,其特征在于,
10.根據權利要求9所述的雙冗余fc數據鏈路ip核,其特征在于,