新四季網

一種Interlaken接口的數據傳輸方法、Interlaken接口和接口系統與流程

2023-09-16 23:56:10 2


本申請涉及接口數據技術領域,尤其涉及一種interlaken接口的數據傳輸方法、interlaken接口和接口系統。



背景技術:

隨著通信領域對數據傳輸速率要求的提高,interlaken接口因其傳輸速率快、埠數目靈活的特點被廣泛應用於晶片的間的數據傳輸。

由於傳輸速率較快,interlaken接口的數據傳輸存在可靠性風險。現有技術中,為了提高interlaken接口數據傳輸的可靠性,在interlaken協議中增加了重傳協議。採用重新傳協議進行數據傳輸時的流程圖可如圖1所示。圖1中,發送端選擇常規數據緩存中緩存的數據發送至接收端,接收端的處理器檢測到接收的數據中存在誤碼後,通過接收端的帶外流控接口向發送端發送重傳請求,請求重傳上述存在誤碼的數據。發送端通過帶外流控接口接收到重傳請求後,對重傳請求進行處理,選擇重傳數據緩存中緩存的數據進行重傳。

但是,採用上述數據傳輸方法提高interlaken接口的可靠性時,由於重傳協議需要發送端額外提供重傳數據緩存區,這不僅會額外增加發送端的資源開銷,而且數據緩存區容量的增加會導致發送端的時延增加,影響接口系統性能。

綜上,為了提高接口數據傳輸的可靠性,現有的基於interlaken協議的接口數據傳輸方式存在資源開銷較大、系統性能較差的問題。



技術實現要素:

本申請提供一種interlaken接口的數據傳輸方法、interlaken接口和接口系統,用以在提高interlaken接口數據傳輸的可靠性的同時,減少資源開銷、提升系統性能。

第一方面,本申請提供一種interlaken接口的數據發送方法,該方法包括如下步驟:發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼,得到編碼碼字;然後編碼碼字分發至n個物理埠,並通過n個物理埠發送至接口系統中的接收端。

其中,n為根據該interlaken接口中進行數據傳輸的通道數預先配置的正整數,且n個邏輯埠與n個原始數據一一對應;編碼碼字包含數據碼塊和前向校驗碼塊:數據碼塊由n個原始數據壓縮得到,前向校驗碼塊用於對數據碼塊進行校驗和糾錯。

具體地,本申請實施例中,可在生成interlaken協議時預先配置多個n的取值。這樣,針對基於interlaken協議進行數據傳輸的兩個晶片,可以根據兩個晶片間進行數據傳輸的埠數m和預先配置的n的取值情況,將m個埠劃分為多組,每組中包含的埠數均為某個n的取值,然後針對每組埠中傳輸的數據執行第一方面所提供的interlaken接口的數據傳輸方法。

比如,在生成interlaken協議時,預先配置n的三種情況,n=4、n=5以及n=6。假設晶片a和晶片b基於interlaken協議進行數據傳輸,且晶片a和晶片b間進行數據傳輸的埠數m=13。那麼,在執行第一方面所提供的interlaken接口的數據傳輸方法前,可將13個埠分組三組,第一組包含4個埠,第二組包含4個埠,第三組包含5個埠,然後,針對每組埠中傳輸的數據執行第一方面所提供的interlaken接口的數據傳輸方法。假設,晶片c和晶片d基於interlaken協議進行數據傳輸,且晶片c和晶片d間進行數據傳輸的埠數m=11,那麼,在執行第一方面所提供的interlaken接口的數據傳輸方法前,可將11個埠分組兩組,第一組包含5個埠,第二組包含6個埠,然後,針對每組埠中傳輸的數據執行第一方面所提供的interlaken接口的數據傳輸方法。

本申請中,針對interlaken接口的埠數靈活可變的特點,通過在生成interlaken協議時預先配置多個n的取值,使得第一方面所提供的interlaken接口的數據傳輸方法能滿足不同晶片間基於interlaken協議進行數據傳輸。即,在晶片間進行數據接口的埠數不同時,通過配置的多個n的取值,可以方便地根據多個n的取值對晶片間進行數據接口的埠進行分組,配置每組包含的埠數為n。

在第一方面提供的interlaken接口的數據傳輸方法中,由於發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼後得到編碼碼字,並將編碼碼字發送至接收端。那麼,接收端在接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用上述第一方面提供的interlaken接口的數據傳輸方法,可以提高interlaken接口數據傳輸的可靠性。

此外,由於發送端對n個原始數據進行壓縮後,在壓縮得到的數據碼塊後添加前向校驗碼塊,因而採用上述第一方面提供的interlaken接口的數據傳輸方法,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

在上述第一方面所提供的interlaken接口的數據傳輸方法中,發送端對n個原始數據進行前向糾錯編碼得到編碼碼字的過程,具體可通過如下方式實現:將n個原始數據中每個原始數據包含的m個編碼單元按照設定順序進行交織,得到交織後的m*n個編碼單元;然後對交織後的m*n個編碼單元進行壓縮,得到數據碼塊;最後在數據碼塊後添加前向校驗碼塊,得到編碼碼字。其中,編碼單元為該interlaken接口中每個邏輯埠進行數據傳輸的基本單元。

在一種可能的設計中,若編碼碼字包含用於實現接收端與發送端同步的第一同步頭,那麼發送端在將編碼碼字分發至n個物理埠之前,還可將第一同步頭替換為指示編碼碼字的起止位置的第二同步頭。

採用上述方案,由於第二同步頭指示了編碼碼字的起止位置,因而接收端在接收到編碼碼字後更易於確定編碼碼字的起止位置,從而使得接收端更易於根據編碼碼字還原出n個原始數據。

此外,發送端在將編碼碼字分發至n個物理埠之前,還可採用預設定擾碼對編碼碼字進行擾碼處理,比如,發送端可採用g(x)=1+x39+x58這一擾碼多項式對編碼碼字進行自同步擾碼。那麼,接收端在接收到進行過擾碼處理的編碼碼字後,需要採用預設定解擾碼對編碼碼字進行解擾碼處理。

發送端對編碼碼字進行擾碼處理,可減小編碼碼字中連續出現多個比特0或連續出現多個比特1的情況,便於接收端識別編碼碼字,使得進行擾碼處理後的編碼碼字的信號頻譜更適合接口數據傳輸。

在第一方面所提供的方法中,前向校驗碼塊的長度影響系統的糾錯性能。在基於interlaken協議進行接口數據傳輸時,由於編碼碼字的長度是固定的,因而可通過在每個編碼碼字中減少數據碼塊的長度,將減少的數據碼塊的長度用來添加前向校驗碼塊,從而通過增加前向校驗碼塊的長度來達到提升系統糾錯性能的效果。也就是說,前向校驗碼塊的長度可以等於n個原始數據的總長度與數據碼塊的長度之差;或者前向校驗碼塊的長度可以大於n個原始數據的總長度與數據碼塊的長度之差。

當前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差時,添加前向校驗碼塊沒有增加額外開銷,interlaken接口帶寬保持不變,因而可在不增加額外的資源開銷的前提下實現interlaken接口可靠性的提高,從而提升了系統性能。當前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差時,雖然系統糾錯能力的提升是通過增加前向校驗碼塊的長度實現,因而在實現時會在一定程度上增加資源開銷,且需要適當提高interlaken接口帶寬,但是增加的前向校驗碼塊的長度所佔用的資源開銷遠遠小於現有技術中為重傳協議所增加的重傳數據緩存區所佔用的資源開銷,因而現有技術中定義重傳協議的方案相比,同樣能夠減少資源開銷,提升系統性能。

第二方面,本申請提供一種interlaken接口的數據接收方法,該方法包括如下步驟:接收端接收n個物理埠中傳輸的數據並進行匯聚後得到編碼碼字;然後,接收端根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據編碼碼字解碼得到n個原始數據。

其中,編碼碼字由發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼得到;n為發送端根據interlaken接口進行數據傳輸的通道數預先配置的正整數,且n個邏輯埠與n個原始數據一一對應;編碼碼字包含數據碼塊和前向校驗碼塊,數據碼塊由n個原始數據壓縮得到,前向校驗碼塊用於對數據碼塊進行校驗和糾錯。

採用上述方案,由於接收端在接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用第二方面提供的interlaken接口的數據傳輸方法,可以提高interlaken接口數據傳輸的可靠性。

此外,由於接收端接收到的編碼碼字中,雖然發送端在編碼時加入了前向校驗碼塊,但是發送端同時也對n個原始數據進行了壓縮處理,因而編碼碼字相比於n個原始數據,沒有增加額外的資源開銷或者僅增加了較少的資源開銷。因此,採用第二方面提供的interlaken接口的數據傳輸方法,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

在第二方面提供的interlaken接口的數據傳輸方法中,接收端根據編碼碼字解碼得到n個原始數據,具體可通過如下方式實現:接收端刪除編碼碼字中的前向校驗碼塊,得到數據碼塊,解壓縮後的數據碼塊包含m*n個編碼單元;對數據碼塊進行解壓縮,得到解壓縮後的數據碼塊;然後,將解壓縮後的數據碼塊按照設定順序分發至n個邏輯埠,得到n個原始數據,n個原始數據中的每個原始數據包含m個編碼單元。其中,編碼單元為該interlaken接口中每個邏輯埠進行數據傳輸的基本單元。

在一種可能的設計中,若編碼碼字包含指示編碼碼字的起止位置的第二同步頭,那麼接收端在根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯之前,還可根據第二同步頭確定編碼碼字的起止位置,然後將第二同步頭替換為用於實現接收端與發送端同步的第一同步頭

採用上述方案,由於第二同步頭指示了編碼碼字的起止位置,因而接收端在接收到編碼碼字後更易於確定編碼碼字的起止位置,從而使得接收端更易於根據編碼碼字還原出n個原始數據。

此外,接收端在根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯之前,還可採用預設定解擾碼對編碼碼字進行解擾碼處理。

接收端對編碼碼字進行解擾碼處理是建立在發送端在發送編碼碼字前對編碼碼字進行擾碼處理的前提下,通過發送端的擾碼處理和接收端的解擾碼處理,可使得在發送端和接收端間傳輸的編碼碼字中比特0和比特1的數量均衡,從而便於接收端識別編碼碼字,使得進行擾碼處理後的編碼碼字的信號頻譜更適合接口數據傳輸。

在第二方面所提供的interlaken接口的數據傳輸方法中,前向校驗碼塊的長度影響系統的糾錯性能。在基於interlaken協議進行接口數據傳輸時,由於編碼碼字的長度是固定的,因而可通過在每個編碼碼字中減少數據碼塊的長度,將減少的數據碼塊的長度用來添加前向校驗碼塊,從而通過增加前向校驗碼塊的長度來達到提升系統糾錯性能的效果。也就是說,前向校驗碼塊的長度可以等於n個原始數據的總長度與數據碼塊的長度之差;或者前向校驗碼塊的長度可以大於n個原始數據的總長度與數據碼塊的長度之差。

當前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差時,添加前向校驗碼塊沒有增加額外開銷,interlaken接口帶寬保持不變,因而可在不增加額外的資源開銷的前提下實現interlaken接口可靠性的提高,從而提升了系統性能。當前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差時,雖然系統糾錯能力的提升是通過增加前向校驗碼塊的長度實現,因而在實現時會在一定程度上增加資源開銷,且需要適當提高interlaken接口帶寬,但是增加的前向校驗碼塊的長度所佔用的資源開銷遠遠小於現有技術中為重傳協議所增加的重傳數據緩存區所佔用的資源開銷,因而與現有技術中定義重傳協議的方案相比,同樣能夠減少資源開銷,提升系統性能。

第三方面,本申請提供一種interlaken接口,該數據傳輸接口包括處理模塊和收發模塊。其中,處理模塊用於對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼,得到編碼碼字;收發模塊用於將編碼碼字分發至n個物理埠,並將編碼碼字通過n個物理埠發送至接口系統中的接收端

其中,n為根據該interlaken接口中進行數據傳輸的通道數預先配置的正整數,n個邏輯埠與n個原始數據一一對應;編碼碼字包含數據碼塊和前向校驗碼塊,數據碼塊由n個原始數據壓縮得到,前向校驗碼塊用於對數據碼塊進行校驗和糾錯。

在第三方面所提供的數據傳輸接口中,由於處理模塊對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼後得到編碼碼字,收發模塊將編碼碼字發送至接收端。那麼,接收端在接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用第三方面所提供的數據傳輸接口進行接口數據傳輸,可以提高interlaken接口數據傳輸的可靠性。

此外,由於處理模塊對n個原始數據進行壓縮後,在壓縮得到的數據碼塊後添加前向校驗碼塊,因而採用第三方面所提供的數據傳輸接口進行接口數據傳輸,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

處理模塊在對n個原始數據進行前向糾錯編碼,得到編碼碼字時,具體可通過如下操作實現:將n個原始數據中每個原始數據包含的m個編碼單元按照設定順序進行交織,得到交織後的m*n個編碼單元;對交織後的m*n個編碼單元進行壓縮,得到數據碼塊;然後在數據碼塊後添加前向校驗碼塊,得到編碼碼字。

其中,編碼單元為該interlaken接口中每個邏輯埠進行數據傳輸的基本單元。

在一種可能的設計中,若編碼碼字包含第一同步頭,該第一同步頭用於實現接收端與第三方面提供的數據傳輸接口的同步;那麼,處理模塊還可用於:在收發模塊將編碼碼字分發至n個物理埠之前,將第一同步頭替換為用於指示編碼碼字的起止位置的第二同步頭。

採用上述方案,由於第二同步頭指示了編碼碼字的起止位置,因而接收端在接收到編碼碼字後更易於確定編碼碼字的起止位置,從而使得接收端更易於根據編碼碼字還原出n個原始數據。

此外,處理模塊在收發模塊將編碼碼字分發至n個物理埠之前,還可採用預設定擾碼對編碼碼字進行擾碼處理。比如,處理模塊可採用g(x)=1+x39+x58這一擾碼多項式對編碼碼字進行自同步擾碼。那麼,接收端在接收到進行過擾碼處理的編碼碼字後,需要採用預設定解擾碼對編碼碼字進行解擾碼處理。

處理模塊對編碼碼字進行擾碼處理,可減小編碼碼字中連續出現多個比特0或連續出現多個比特1的情況,便於接收端識別編碼碼字,使得進行擾碼處理後的編碼碼字的信號頻譜更適合接口數據傳輸。

在第三方面所提供的數據傳輸接口中,前向校驗碼塊的長度影響系統的糾錯性能。在基於interlaken協議進行接口數據傳輸時,由於編碼碼字的長度是固定的,因而可通過在每個編碼碼字中減少數據碼塊的長度,將減少的數據碼塊的長度用來添加前向校驗碼塊,從而通過增加前向校驗碼塊的長度來達到提升系統糾錯性能的效果。也就是說,前向校驗碼塊的長度可以等於n個原始數據的總長度與數據碼塊的長度之差;或者前向校驗碼塊的長度可以大於n個原始數據的總長度與數據碼塊的長度之差。

當前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差時,添加前向校驗碼塊沒有增加額外開銷,interlaken接口帶寬保持不變,因而可在不增加額外的資源開銷的前提下實現interlaken接口可靠性的提高,從而提升了系統性能。當前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差時,雖然系統糾錯能力的提升是通過增加前向校驗碼塊的長度實現,因而在實現時會在一定程度上增加資源開銷,且需要適當提高interlaken接口帶寬,但是增加的前向校驗碼塊的長度所佔用的資源開銷遠遠小於現有技術中為重傳協議所增加的重傳數據緩存區所佔用的資源開銷,因而與現有技術中定義重傳協議的方案相比,同樣能夠減少資源開銷,提升系統性能。

第四方面,本申請提供一種interlaken接口,該數據傳輸接口包括收發模塊和處理模塊。其中,收發模塊用於接收n個物理埠中傳輸的數據並進行匯聚後得到編碼碼字;處理模塊用於根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據編碼碼字解碼得到n個原始數據。

其中,編碼碼字由發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼得到;n為發送端根據interlaken接口中進行數據傳輸的通道數預先配置的正整數,且n個邏輯埠與n個原始數據一一對應;編碼碼字包含數據碼塊和前向校驗碼塊,數據碼塊由n個原始數據壓縮得到,前向校驗碼塊用於對數據碼塊進行校驗和糾錯。

在第四方面提供的數據傳輸接口中,由於處理模塊在收發模塊接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用第四方面提供的數據傳輸接口進行接口數據的傳輸,可以提高interlaken接口數據傳輸的可靠性。

此外,由於收發模塊接收到的編碼碼字中,雖然發送端在編碼時加入了前向校驗碼塊,但是發送端同時也對n個原始數據進行了壓縮處理,因而編碼碼字相比於n個原始數據,沒有增加額外的資源開銷或者僅增加了較少的資源開銷。因此,採用第四方面提供的數據傳輸接口進行接口數據的傳輸,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

在第四方面提供的數據傳輸接口中,處理模塊根據編碼碼字解碼得到n個原始數據,具體可通過如下方式實現:刪除編碼碼字中的前向校驗碼塊,得到數據碼塊;對數據碼塊進行解壓縮,得到解壓縮後的數據碼塊,解壓縮後的數據碼塊包含m*n個編碼單元;然後,將解壓縮後的數據碼塊按照設定順序分發至n個邏輯埠,得到n個原始數據,n個原始數據中的每個原始數據包含m個編碼單元。其中,編碼單元為該interlaken接口中每個邏輯埠進行數據傳輸的基本單元。

在一種可能的設計中,若編碼碼字包含用於指示編碼碼字的起止位置的第二同步頭;那可,處理模塊還可在根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯之前,根據第二同步頭確定編碼碼字的起止位置;以及將第二同步頭替換為第一同步頭,第一同步頭用於實現第四方面提供的數據傳輸接口與發送端的同步。

採用上述方案,由於第二同步頭指示了編碼碼字的起止位置,因而處理模塊根據第二同步頭的指示,更易於確定編碼碼字的起止位置,從而使得處理模塊更易於根據編碼碼字還原出n個原始數據。

此外,處理模塊在根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯之前,還可採用預設定解擾碼對編碼碼字進行解擾碼處理。

處理模塊對編碼碼字進行解擾碼處理是建立在發送端在發送編碼碼字前對編碼碼字進行擾碼處理的前提下,通過發送端的擾碼處理和處理模塊的解擾碼處理,可使得在發送端和第四方面提供的數據傳輸接口間傳輸的編碼碼字中,比特0和比特1的數量均衡,從而便於處理模塊識別編碼碼字,使得進行擾碼處理後的編碼碼字的信號頻譜更適合接口數據傳輸。

在第四方面所提供的數據傳輸接口中,前向校驗碼塊的長度影響系統的糾錯性能。在基於interlaken協議進行接口數據傳輸時,由於編碼碼字的長度是固定的,因而可通過在每個編碼碼字中減少數據碼塊的長度,將減少的數據碼塊的長度用來添加前向校驗碼塊,從而通過增加前向校驗碼塊的長度來達到提升系統糾錯性能的效果。也就是說,前向校驗碼塊的長度可以等於n個原始數據的總長度與數據碼塊的長度之差;或者前向校驗碼塊的長度可以大於n個原始數據的總長度與數據碼塊的長度之差。

當前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差時,添加前向校驗碼塊沒有增加額外開銷,interlaken接口帶寬保持不變,因而可在不增加額外的資源開銷的前提下實現interlaken接口可靠性的提高,從而提升了系統性能。當前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差時,雖然系統糾錯能力的提升是通過增加前向校驗碼塊的長度實現,因而在實現時會在一定程度上增加資源開銷,且需要適當提高interlaken接口帶寬,但是增加的前向校驗碼塊的長度所佔用的資源開銷遠遠小於現有技術中為重傳協議所增加的重傳數據緩存區所佔用的資源開銷,因而與現有技術中定義重傳協議的方案相比,同樣能夠減少資源開銷,提升系統性能。

第五方面,本申請提供一種接口系統,該接口系統包括:上述第三方面或其任一種可能的設計中所提供的數據傳輸接口以及上述第四方面或其任一種可能的設計中所提供的數據傳輸接口。

附圖說明

圖1為本申請提供的一種採用interlaken重新傳協議進行數據傳輸的流程示意圖;

圖2為本申請提供的一種發送端基於interlaken協議發送數據的流程示意圖;

圖3為本申請提供的一種編碼單元的數據結構示意圖;

圖4為本申請提供的一種interlaken接口的數據傳輸方法的流程示意圖;

圖5為本申請提供的一種交織後的編碼單元的結構示意圖;

圖6為本申請提供的一種壓縮後的編碼單元的結構示意圖;

圖7為本申請提供的另一種壓縮後的編碼單元的結構示意圖;

圖8為本申請提供的一種編碼碼字的結構示意圖;

圖9為本申請提供的另一種編碼碼字的結構示意圖;

圖10為本申請提供的一種有效信息的結構示意圖;

圖11為本申請提供的一種interlaken接口的數據發送方法的流程示意圖;

圖12為本申請提供的一種interlaken接口的數據接收方法的流程示意圖;

圖13為本申請提供的第一種interlaken接口的結構示意圖;

圖14為本申請提供的第二種interlaken接口的結構示意圖;

圖15為本申請提供的第三種interlaken接口的結構示意圖;

圖16為本申請提供的第四種interlaken接口的結構示意圖;

圖17為本申請提供的一種接口系統的結構示意圖。

具體實施方式

為了使本申請的目的、技術方案和優點更加清楚,下面將結合附圖對本申請作進一步地詳細描述。

本申請提供一種interlaken接口的數據傳輸方法、interlaken接口和接口系統,用以在提高interlaken接口數據傳輸的可靠性的同時,減少資源開銷、提升系統性能。其中,方法和interlaken接口是基於同一發明構思的,二者解決問題的原理相似,因此二者的實施可以相互參見,重複之處不再贅述。

本申請涉及基於interlaken協議進行接口數據傳輸。發送端在基於interlaken協議進行數據發送時,待發送數據可通過多個物理埠發送,其中,物理埠的數量可根據數據量和帶寬等因素而靈活改變,從而使得基於interlaken協議進行數據發送時可滿足多種需求。假設待發送數據通過11個物理埠發送,發送端發送數據的過程可如圖2所示。圖2中,邏輯埠中傳輸的數據在傳輸至邏輯埠前經過64b/67b編碼,因此每個邏輯埠進行數據傳輸的基本單元為67比特。對於每個邏輯埠來說,經過64b/67b編碼後的數據經過埠映射,映射到一個物理埠,該邏輯埠中傳輸的數據則通過該邏輯埠映射到的物理埠發送至接收端。

由於邏輯埠中傳輸的數據為經過64b/67b編碼後的數據,因而每個邏輯埠進行數據傳輸的基本單元為包含67b的數據塊(為了描述簡便,下文中簡稱67b),即本申請中所述的編碼單元,也可稱為metaframeblock。編碼單元可以分為兩種,一種為淨載荷,一種為控制字。淨載荷和控制字的數據結構可如圖3所示。下文為了描述方便,將67b中的最高位中的數據稱為比特66,次高位中的數據稱為比特65,最低位中的數據稱為比特0,依此類推。

圖3中,淨載荷和控制字中的比特66均用x表示,x為翻轉指示位。當x為1時,代表該67b的數據在傳輸至邏輯埠前,即在64b/67b編碼過程中,比特63~比特0已經過高低電平翻轉(即將0翻轉為1,將1翻轉為0)處理;當x為0時,代表該67b的數據在傳輸至邏輯埠前,比特63~比特0未經過高低電平翻轉處理。對比特63~比特0進行高低電平翻轉處理的目的是為了保持每個邏輯埠傳輸的數據中高電平和低電平的數量均衡。

圖3中,比特65~比特64用於指示該編碼單元的數據類型。當比特65~比特64為01時,代表該編碼單元為淨載荷;當比特65~比特64為10時,代表67b數據編碼單元為控制字。當編碼單元為淨載荷時,比特63~比特0為數據信息,其中,b0~b7分別為8比特的數據塊;當編碼單元為控制字時,比特63~比特0為控制信息。

此外,對於圖2中的每個邏輯埠傳輸的數據來說,一般將2048個67b作為一個interlakenmetaframe幀長。每個interlakenmetaframe幀中均包含一個同步頭,該同步頭用於接收端與發送端進行同步。

需要說明的是,圖2中的邏輯埠和物理埠的數量相同,邏輯埠與物理埠進行埠映射時可採用任意映射規則,僅需滿足每個邏輯埠傳輸的數據均可通過與該邏輯埠對應的一個物理埠發送至接收端即可。比如,邏輯埠0可映射至物理埠7,那麼邏輯埠0中傳輸的數據可通過物理埠7發送至接收端;邏輯埠3可映射至物理埠2,那麼邏輯埠3中傳輸的數據可通過物理埠2發送至接收端。

本申請提供一種interlaken接口的數據傳輸方法、interlaken接口和接口系統,用以在提高interlaken接口數據傳輸的可靠性的同時,減少資源開銷、提升系統性能。

需要說明的是,本申請中所涉及的多個,是指兩個或兩個以上。另外,需要理解的是,在本申請的描述中,「第一」、「第二」等詞彙,僅用於區分描述的目的,而不能理解為指示或暗示相對重要性,也不能理解為指示或暗示順序。

下面結合附圖對本申請提供的接口數據的傳輸方案進行具體說明。

參見圖4,為本申請提供的一種interlaken接口的數據傳輸方法流程圖。

s401:發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼,得到編碼碼字。

其中,n為發送端根據interlaken接口進行數據傳輸的通道數預先配置的正整數,n個邏輯埠與n個原始數據一一對應;s401中得到的編碼碼字包含數據碼塊和前向校驗碼塊,數據碼塊由n個原始數據壓縮得到,前向校驗碼塊用於對數據碼塊進行校驗和糾錯。

基於interlaken協議進行接口數據傳輸時,物理埠的數量與邏輯埠的數量相同。圖4所示方法中,n的選取較為靈活。n的數值可以等於用於進行接口數據傳輸的所有邏輯埠的數量,也可以等於用於進行接口數據傳輸的部分邏輯埠的數量。

n的數值等於用於進行接口數據傳輸的全部邏輯埠的數量,適用於全部邏輯埠的數量較少的情況。比如,用於進行接口數據傳輸的全部邏輯埠的數量為4,那麼可取n=4,然後針對4個邏輯埠傳輸的4個原始數據執行圖4所示方法;再比如,用於進行接口數據傳輸的全部邏輯埠的數量為5,那麼可取n=5,然後針對5個邏輯埠傳輸的5個原始數據執行圖4所示方法。

n的數值等於用於進行接口數據傳輸的部分邏輯埠的數量,適用於全部邏輯埠的數量較多的情況。當用於進行接口數據傳輸的全部邏輯埠的數量較多時,可將全部邏輯埠劃分為多組,然後針對每組邏輯埠中傳輸的原始數據執行圖4所示方法。比如,用於進行接口數據傳輸的全部邏輯埠的數量為11,那麼可將11個邏輯埠分為兩組,一組包含5個邏輯埠,另一組包含6個邏輯埠。然後,針對5個邏輯埠傳輸的5個原始數據執行圖4所示方法,此時n=5;再針對6個邏輯埠傳輸的6個原始數據執行圖4所示方法,此時n=6。

為了便於圖4所示方法的執行,可預設多個可選的n的數值,比如,可選的n為4、5和6,那麼在執行圖4所示方法時,可根據用於進行接口數據傳輸的全部邏輯埠的數量選擇不同的n的配置。比如,當用於進行接口數據傳輸的全部邏輯埠的數量為17時,可將前12個邏輯埠分為2組,每組包含6個邏輯埠,針對每6個邏輯埠傳輸的6個原始數據執行圖4所示方法。然後將後5個邏輯埠視為一組,針對後5個邏輯埠傳輸的5個原始數據執行圖4所示方法。也就是說,對於全部邏輯埠的數量為17的情況,需要執行圖4所示方法的次數為3(2+1=3)次。

具體地,本申請實施例中,可在生成interlaken協議時預先配置多個n的取值。這樣,針對基於interlaken協議進行數據傳輸的兩個晶片,可以根據兩個晶片間進行數據傳輸的埠數m和預先配置的n的取值情況,將m個埠劃分為多組,每組中包含的埠數均為某個n的取值,然後針對每組埠中傳輸的數據執行圖4所示的方法。

比如,在生成interlaken協議時,預先配置n的三種情況,n=4、n=5以及n=6。假設晶片a和晶片b基於interlaken協議進行數據傳輸,且晶片a和晶片b間進行數據傳輸的埠數m=13。那麼,在執行圖4所示方法前,可將13個埠分組三組,第一組包含4個埠,第二組包含4個埠,第三組包含5個埠,然後,針對每組埠中傳輸的數據執行圖4所示方法。假設,晶片c和晶片d基於interlaken協議進行數據傳輸,且晶片c和晶片d間進行數據傳輸的埠數m=11,那麼,在執行圖4所示方法前,可將11個埠分組兩組,第一組包含5個埠,第二組包含6個埠,然後,針對每組埠中傳輸的數據執行圖4所示方法。

本申請中,針對interlaken接口的埠數靈活可變的特點,通過在生成interlaken協議時預先配置多個n的取值,使得圖4所示方法能滿足不同晶片間基於interlaken協議進行數據傳輸。即,在晶片間進行數據接口的埠數不同時,通過配置的多個n的取值,可以方便地根據多個n的取值對晶片間進行數據接口的埠進行分組,配置每組包含的埠數為n。

需要說明的是,圖4所示方法中,每個原始數據是指經過前述64/67b編碼後得到的數據。

s401中,編碼碼字可包含為120個編碼單元。原始數據的長度可根據編碼碼字包含的編碼單元的個數和n的數值選取。比如,當編碼碼字包含120個編碼單元時,若n=6,那麼每個原始數據可均包含20個編碼單元;若n=5,那麼每個原始數據可均包含24個編碼單元;若n=4,那麼每個原始數據可均包含30個編碼單元。

s402:發送端將編碼碼字分發至n個物理埠,並通過n個物理埠發送至接口系統中的接收端。

s403:接收端接收n個物理埠中傳輸的數據並進行匯聚後得到編碼碼字,根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據編碼碼字解碼得到n個原始數據。

在一種可能的設計中,s401中發送端對n個原始數據進行前向糾錯編碼得到編碼碼字的過程,具體可通過如下方式實現:發送端將n個原始數據中每個原始數據包含的m個編碼單元按照設定順序進行交織,得到交織後的m*n個編碼單元,編碼單元為interlaken接口中每個邏輯埠進行數據傳輸的基本單元;對交織後的m*n個編碼單元進行壓縮,得到數據碼塊;在數據碼塊後添加前向校驗碼塊,得到編碼碼字。那麼,接收端在根據編碼碼字解碼得到n個原始數據,具體可通過如下方式實現:刪除編碼碼字中的前向校驗碼塊,得到數據碼塊;對數據碼塊進行解壓縮,得到解壓縮後的數據碼塊;將解壓縮後的數據碼塊按照設定順序分發至n個邏輯埠,得到n個原始數據。

其中,n個原始數據中的每個原始數據均包含m個編碼單元,這裡的編碼單元可以為每個邏輯埠進行數據傳輸的基本單元,即圖3所示的包含67比特的淨載荷或者控制字。若編碼碼字的長度為120個編碼單元,且n=6,那麼m=20,即每個原始數據可均包含20個編碼單元;若編碼碼字的長度為120個編碼單元,且n=5,那麼m=24,即每個原始數據可均包含24個編碼單元;若編碼碼字的長度為120個編碼單元,且n=4,那麼m=30,即每個原始數據可均包含30個編碼單元。

發送端在將n個原始數據中每個原始數據包含的m個編碼單元按照設定順序進行交織時,可按照設定順序依次從每個邏輯埠中取一個編碼單元,遍歷n個邏輯埠後再按照上述設定順序依次從每個邏輯埠中取一個編碼單元,直至每個邏輯埠中的m個編碼單元均取出。比如,n=4、m=3時,假設4個邏輯埠中的邏輯埠0用於傳輸a、b、c三個編碼單元,4個邏輯埠中的邏輯埠1用於傳輸d、e、f三個編碼單元,4個邏輯埠中的邏輯埠2用於傳輸g、h、i三個編碼單元,4個邏輯埠中的邏輯埠3用於傳輸j、k、l三個編碼單元,那麼按照邏輯埠0→邏輯埠3的順序將4個原始數據中每個原始數據包含的3個編碼單元進行交織後,得到的交織後的12個編碼單元可如圖5所示。

對m*n個編碼單元進行壓縮時,可針對每個編碼單元進行壓縮。比如,當編碼單元採用圖3所示的數據結構時,可將每個編碼單元由67比特壓縮到65比特。具體地,在進行壓縮時可將比特66和比特64刪除,或者將比特66和比特65刪除。

若對圖3所示的編碼單元進行壓縮時將比特66和比特64刪除,則壓縮後的編碼單元可如圖6所示。圖6中,當比特64為0時,代表該編碼單元為淨載荷;當比特64為1時,代表該編碼單元為控制字。

若對圖3所示的編碼單元進行壓縮時將比特66和比特65刪除,則壓縮後的編碼單元可如圖7所示。圖7中,當比特64為1時,代表該編碼單元為淨載荷;當比特64為0時,代表該編碼單元為控制字。

此外,如前所述,編碼單元中的比特66為翻轉指示位,當比特66為1時,代表比特63~比特0已經過高低電平翻轉,當比特66為0時,代表比特63~比特0未經過高低電平翻轉,因此,刪除比特66時涉及到高低電平翻轉的問題。具體地,在通過刪除比特66對編碼單元進行壓縮時,可通過以下兩種方式實現:

第一種方式

發送端在進行64b/67b編碼時,可選擇不進行高低電平翻轉,那麼對於每個編碼單元來說,比特66均為0。因此,在對編碼單元進行壓縮時,可直接將比特66刪除。由於編碼單元在進行64b/67b編碼時均沒有經過高低電平翻轉,因而接收端在進行解壓縮時,可直接在比特66的位置添加0,從而還原出編碼單元。

第二種方式

發送端在進行64b/67b編碼時,若已經對某些編碼單元進行高低電平翻轉,那麼經過高低電平翻轉的編碼單元的比特66為1,未經過高低電平翻轉的編碼單元的比特66為0。因此,在對編碼單元進行壓縮時,可對經過高低電平翻轉的編碼單元的比特63~比特0再次進行高低電平翻轉,這樣處理相當於將所有編碼單元的比特66均置為0,即相當於所有編碼單元均沒有經過高低電平翻轉。然後,將所有編碼單元的比特66刪除。接收端在進行解壓縮時,可直接在比特66的位置添加0,從而還原出編碼單元。

在數據碼塊後添加前向校驗碼塊時,前向校驗碼塊的長度可以等於n個原始數據的總長度與數據碼塊的長度之差;或者前向校驗碼塊的長度可以大於n個原始數據的總長度與數據碼塊的長度之差。

當前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差時,添加前向校驗碼塊沒有增加額外開銷,interlaken接口帶寬保持不變。當前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差時,前向校驗碼塊的長度增加了,系統的糾錯能力提升了,但是前向碼塊長度的增加會在一定程度上增加系統的資源開銷,且需要適當提高interlaken接口帶寬。

前向校驗碼塊的長度影響系統的糾錯性能,也就是說,在基於interlaken協議進行接口數據傳輸時,由於編碼碼字的長度是固定的,因而可通過在每個編碼碼字中減少數據碼塊的長度,將減少的數據碼塊的長度用來添加前向校驗碼塊,從而通過增加前向校驗碼塊的長度來達到提升系統糾錯性能的效果。

以下將分別闡述前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差和前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差這兩種情況。

第一種情況:前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差

假設,發送端將6個邏輯埠中傳輸的6個原始數據中,每個原始數據包含的20個編碼單元進行交織後,得到20*6個編碼單元,每個編碼單元包含67比特。然後對20*6個編碼單元中的每個編碼單元進行壓縮,即將67比特的數據壓縮為65比特,那麼數據碼塊包含的比特數為120*65,6個原始數據的總長度與數據碼塊的長度之差為120*67-120*65=240比特。此時,在數據碼塊後添加前向校驗碼塊時,前向校驗碼塊的長度可等於240比特,因而編碼碼字的長度為8040(120*65+240)比特。

由於對6個邏輯埠中傳輸的6個原始數據進行前向糾錯編碼前,6個原始數據的總長度為6*20*67=8040比特,對6個邏輯埠中傳輸的6個原始數據進行前向糾錯編碼後,數據碼塊的長度為6*20*65=7800比特。那麼,當前向校驗碼塊的長度等於240比特時,採用本申請提供的方法,前向校驗碼塊的長度等於6個原始數據的總長度與數據碼塊的長度之差,採用本申請提供的方案與現有技術中通過定義重傳協議來提高接口數據傳輸的可靠性的方案相比,無需增加額外的資源開銷,從而提升了系統性能。當前向校驗碼塊的長度等於240比特時,可在編碼碼字的長度為8040(7800+240)比特時對120個比特,即對12個符號(即symbol,每個symbol包含10比特)進行糾錯。

本申請中,編碼碼字包含數據碼塊和前向校驗碼塊。其中,數據碼塊可根據數據碼塊的長度劃分為多個子碼塊,每個子碼塊包含的比特數相同。

在第一種情況中,編碼碼字的結構可如圖8所示。圖8中,數據碼塊分為30個子碼塊,每個子碼塊包含260比特,校驗碼塊包含240比特。

特別地,在圖8中所示的編碼碼字的數據結構中,為了便於接收端對編碼碼字進行解碼,可在編碼碼字前添加20比特的全0序列,那麼圖8中的第一個碼塊則由20b的全0序列和240b的數據組成,圖8中最後一個碼塊則包含20b的數據和240b的前向校驗碼塊組成。因此,通過在編碼碼字前添加20b的全0序列,可以使得圖8中的每個碼塊均包含260比特,便於接收端對編碼碼字進行解碼處理。

第二種情況:前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差

若要在每個編碼碼字中增加前向校驗碼塊的長度,比如前向校驗碼塊的長度為500比特。由於編碼碼字的長度仍需為8040比特,那麼數據碼塊的長度為7540(8040-500)比特。此時,在執行圖4所示方法時,可以適當減小6個原始數據中某幾個原始數據的長度,使得6個原始數據經過壓縮處理後得到的數據碼塊的長度為7540比特。然後在數據碼塊後添加500比特前向校驗碼塊,得到長度為8040比特的編碼碼字。

當前向校驗碼塊的長度為500比特時,前向校驗碼塊的長度大於6個原始數據的總長度與數據碼塊的長度之差,但是增加的前向校驗碼塊的長度所佔用的資源開銷遠遠小於現有技術中為重傳協議所增加的重傳數據緩存區所佔用的資源開銷,因而採用本申請提供的方案與現有技術中定義重傳協議的方案相比,同樣能夠減少資源開銷,提升系統性能。當前向校驗碼塊的長度等於500比特時,可在編碼碼字的長度為8040(7540+500)比特時對250個比特,即對25個symbol進行糾錯。由此可見,當前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差時,可以在增加較少資源開銷的前提下,提升糾錯性能。

在第二種情況中,編碼碼字的結構可如圖9所示。圖9中,數據碼塊分為29個子碼塊,每個子碼塊包含260比特,校驗碼塊分為兩個子碼塊,第一個子碼塊均包含260比特,第二個子碼塊包含240比特。

特別地,在圖9中所示的編碼碼字的數據結構中,為了便於接收端進行解碼,可在編碼碼字前添加20比特的全0序列,從而使得圖9中的每個碼塊均包含260比特,便於接收端對編碼碼字進行解碼。

在一種可能的設計中,若編碼碼字包含第一同步頭,該第一同步頭用於實現接收端與發送端的同步,則發送端執行s402將編碼碼字分發至n個物理埠之前,還可將第一同步頭替換為第二同步頭,該第二同步頭用於指示編碼碼字的起止位置。那麼,接收端在接收到編碼碼字包含的第二同步頭後,可根據第二同步頭確定編碼碼字的起止位置,然後將第二同步頭替換為第一同步頭。

採用這種方案,由於第二同步頭指示了編碼碼字的起止位置,因而接收端在接收到編碼碼字後更易於確定編碼碼字的起止位置,從而使得接收端更易於根據編碼碼字還原出n個原始數據。

前面提到過,在基於interlaken協議進行數據傳輸時,一般將2048個67b作為一個interlakenmetaframe幀長。每個interlakenmetaframe幀中均包含一個同步頭,該同步頭用於接收端與發送端進行同步。這裡的同步頭可以理解為第一同步頭。

也就是說,對於每個邏輯埠傳輸的數據來說,每2048個67b中均存在一個第一同步頭。但是,由於本申請中將原來n個邏輯埠傳輸的n個原始數據進行交織、壓縮處理和添加校驗碼塊處理後得到編碼碼字,然後在向接收端發送數據時以編碼碼字為基本單位進行數據的發送。因此,原本用於接收端與發送端進行同步的第一同步頭在編碼碼字中的位置被打亂,採用第一同步頭難以實現接收端與發送端的同步。同時,若某個序列指示了編碼碼字的起止位置,則接收端可根據編碼碼字的起止位置獲取編碼碼字。因此,發送端執行s402將編碼碼字分發至n個物理埠之前,可將第一同步頭替換為第二同步頭。

當編碼單元的長度為67比特,發送端對編碼單元進行壓縮後將編碼單元壓縮為65比特時,第二同步頭的長度也可以為65比特。第二同步頭可由60比特的有效信息和5比特的無效信息組成。

其中,有效信息的一種可選的數據結構可如圖10所示。圖10中,m0=8'h83,m1=8'h16,m2=8'h84,m3=8'hcc,m4=8'h7c,m5=8'he9,m6=8'h7b,m7=4'h6。

其中,無效信息的設置通常可考慮0和1均衡分布。比如,當發送端採用圖4所示方法對6個邏輯埠(邏輯埠0~邏輯埠5)中傳輸的6個原始數據進行前向糾錯編碼,得到編碼碼字。那麼,在將邏輯埠0~邏輯埠5中的第一同步頭替換為第二同步頭時,可將第二同步頭分別設置為pad0~pad5,pad0~pad5的取值可以是:pad0=pad2=pad4=10100,pad1=pad3=pad5=01011,這樣取值可以減小第二同步頭中連續出現多個比特0或連續出現多個比特1的情況,便於接收端識別編碼碼字。

發送端在將第一同步頭替換為第二同步頭時,不必將編碼碼字包含的每個第一同步頭均替換為第二同步頭。假設將編碼碼字中每t個第一同步頭中的一個第一同步頭替換為第二同步頭(q≤t),那麼t可在滿足如下條件下求解:

1、p*n=n*40*n

2、p*n=m*n*n

3、p=2048*t

其中,p為編碼碼字中包含的編碼單元的個數,n為自然數的倍數。

由以上公式還可得出如下結論:當n=4或5時,p必須為120的倍數;當n=6時,p必須為40的倍數。

在一種可能的設計中,發送端在將編碼碼字分發至n個物理埠之前,還可採用預設定擾碼對編碼碼字進行擾碼處理,比如,發送端可採用g(x)=1+x39+x58這一擾碼多項式對編碼碼字進行自同步擾碼。那麼,接收端在接收到進行過擾碼處理的編碼碼字後,需要採用預設定解擾碼對編碼碼字進行解擾碼處理。

發送端對編碼碼字進行擾碼處理,可減小編碼碼字中連續出現多個比特0或連續出現多個比特1的情況,便於接收端識別編碼碼字,使得進行擾碼處理後的編碼碼字的信號頻譜更適合接口數據傳輸。

需要說明的是,本申請中給出了發送端對n個原始數據進行前向糾錯編碼,得到一個編碼碼字,並將該編碼碼字發送給接收端做解碼處理的方法。其中,n為根據interlaken接口進行數據傳輸的通道數預先配置的正整數。實際實現時,由於每個邏輯埠中傳輸的原始數據的數量一般為多個,因此發送端執行多次前向糾錯編碼的操作,得到多個編碼碼字,並將多個編碼碼字依次發送至接收端,由接收端做多次解碼處理。由於每次執行圖4所示方法的過程是相似的,因此本申請對發送端進行前向糾錯編碼得到多個編碼碼字的方案不再贅述。

需要說明的是,在本申請所提供的interlaken接口的數據傳輸方法中,當n=1時,interlaken接口的數據傳輸方法與n>1時的類似,只是由於n=1,發送端執行的interlaken接口的數據發送方法僅針對一個邏輯埠,因而發送端不需再對每個邏輯埠中傳輸的數據進行交織,對原始數據進行壓縮和前向糾錯編碼得到編碼碼字後,無需再對編碼碼字進行分發,僅需將編碼碼字通過物理埠發送出去即可。接收端與發送端執行的方法互逆,此處不再贅述。

圖4所示的interlaken接口的數據傳輸方法中,由於發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼後得到編碼碼字,並將編碼碼字發送至接收端,其中,編碼碼字包含數據碼塊和前向校驗碼塊。那麼,接收端在接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用圖4所示的interlaken接口的數據傳輸方法,可以提高interlaken接口數據傳輸的可靠性。

此外,由於發送端對n個原始數據進行壓縮後,在壓縮得到的數據碼塊後添加前向校驗碼塊,因而採用圖4所示的interlaken接口的數據傳輸方法,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

本申請中,發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼。其中,n為根據interlaken接口進行數據傳輸的通道數預先配置的正整數。下面,針對n=1和n>1兩種情況對本申請提供的interlaken接口的數據傳輸方法進行舉例。以下兩個示例可視為圖4所示interlaken接口的數據傳輸方法的兩種具體實現方式。

示例一:n>1

當n>1時,假設發送端分別對11個邏輯埠中的邏輯埠0~邏輯埠5和邏輯埠6~邏輯埠10中傳輸的原始數據進行前向糾錯編碼,每個編碼碼字包含120*65b數據碼塊和240b前向校驗碼塊。發送端執行的interlaken接口的數據發送方法如圖11所示。圖11中,發送端執行的interlaken接口的數據發送方法可包含如下步驟:

1、在對每個邏輯埠中傳輸的數據進行64b/67b編碼時,對每個編碼單元均不做高低電平翻轉處理,即每個編碼單元中的比特66均為0。

2、對邏輯埠0~邏輯埠5中傳輸的6個原始數據(每個原始數據包含20個67b)進行交織,得到120個編碼單元;對邏輯埠6~邏輯埠10中傳輸的5個原始數據(每個原始數據包含24個67b)進行交織,得到120個編碼單元。

3、將每個編碼單元中包含的67比特的數據壓縮至65比特。

在對每個編碼單元進行壓縮時,將比特66和比特65刪除。

4、將每t個sy中的一個sy字替換為am字

sy字可視為本申請中的第一同步頭的具體示例,am字可視為本申請中的第二同步頭的具體示例。

t滿足如下條件:

1)、p*n=n*40*n

2)、p*n=m*n*n

3)、p=2048*t

其中,對邏輯埠0~邏輯埠5執行圖11所示方法時,n=6,m=20;對邏輯埠6~邏輯埠10執行圖11所示方法時,n=5,m=24;p為編碼碼字中包含的編碼單元的個數,n為自然數的倍數。

需要說明的是,對邏輯埠0~邏輯埠5執行圖11所示方法時和對邏輯埠6~邏輯埠10執行圖11所示方法時,選取的t需相同。

5、對壓縮編碼後的每個65比特的數據進行自同步擾碼,得到數據碼塊。

其中,對am字不做擾碼處理。

6、在數據碼塊後添加240b前向校驗碼塊,得到編碼碼字。

7、將編碼碼字以10比特(1個symbol)為單位依次分發至前向校驗埠。

其中,對邏輯埠0~邏輯埠5中傳輸的6個原始數據執行步驟1~6後得到的編碼碼字分發至前向校驗埠0~前向校驗埠5;對邏輯埠6~邏輯埠10中傳輸的5個原始數據執行步驟1~6後得到的編碼碼字分發至前向校驗埠6~前向校驗埠10。

8、對前向校驗埠0~10進行埠映射,映射至物理埠0~物理埠10。

其中,埠映射時可採用任意映射規則,僅需滿足每個邏輯埠傳輸的數據均可通過與該邏輯埠對應的一個物理埠發送至接收端即可。

當n>1時,若發送端採用圖11所示的interlaken接口的數據發送方法,那麼接收端可採用圖12所示的interlaken接口的數據接收方法。圖12中,接收端執行的interlaken接口的數據接收方法可包含如下步驟:

1、將am字鎖定,將各個物理埠對齊,找到編碼碼字的起止位置。

其中,編碼碼字包含數據碼塊和前向校驗碼塊。

2、進行埠反映射,將物理埠0~物理埠10分別反映射至前向校驗埠0~前向校驗埠10。

其中,埠反映射的映射規則和圖11所示方法的步驟8中的埠映射規則互逆。

3、根據編碼碼字中包含的前向校驗碼塊對編碼碼字中的數據碼塊進行糾錯,並刪除所述編碼碼字中的前向校驗碼塊,得到數據碼塊。

4、對數據碼塊進行解擾碼處理。

5、將數據碼塊中的am字替換為sy字。

6,對數據碼塊進行解壓縮處理,將每65比特的數據還原為67比特的數據。

在對65比特的數據進行解壓縮時,添加比特66和比特65,還原出67比特的數據,即還原出編碼單元。

7、將進行解壓縮處理後的數據碼塊進行分發。

其中,分發後的數據碼塊將傳輸至多個邏輯埠。

8、對分發至多個邏輯埠的數據進行延時處理,得到11個原始數據,並將11個原始數據分發至11個邏輯埠。

其中,傳輸至邏輯埠0~邏輯埠5的數據的延時時長與傳輸至邏輯埠6~邏輯埠10的數據的延時時長不同。

示例二:n=1

發送端執行的interlaken接口的數據發送方法包含如下步驟:

1、在對邏輯埠中傳輸的數據進行64b/67b編碼時,對每個編碼單元均不做高低電平翻轉處理,即每個編碼單元中的比特66均為0。

2、將每個編碼單元中包含的67比特的數據壓縮至65比特。

在對每個編碼單元進行壓縮時,將比特66和比特65刪除。

3、將每t個sy中的一個sy字替換為am字

其中,t的設置可參考圖11中的相關描述。

4、在數據碼塊後添加160b前向校驗碼塊,得到編碼碼字,並將編碼碼字通過該邏輯埠對應的通過物理埠發送至接收端。

接收端執行的interlaken接口的數據接收方法包含如下步驟:

1、將am字鎖定,將各個物理埠對齊,找到通過物理埠接收的編碼碼字的起止位置。

其中,編碼碼字包含數據碼塊和前向校驗碼塊。

2、根據編碼碼字中包含的前向校驗碼塊對編碼碼字中的數據碼塊進行糾錯,並刪除所述編碼碼字中的前向校驗碼塊,得到數據碼塊。

3、將數據碼塊中的am字替換為sy字。

4,對數據碼塊進行解壓縮處理,將每65比特的數據還原為67比特的數據,得到原始數據。

綜上,採用本申請提供的interlaken接口的數據傳輸方法,可以在提高interlaken接口數據傳輸的可靠性的同時,減少資源開銷、提升系統性能。

本申請提供一種interlaken接口,該interlaken接口可用於執行圖4所示interlaken接口的數據傳輸方法中發送端所執行的操作。如圖13所示,該interlaken接口1300包括處理模塊1301和收發模塊1302。

處理模塊1301用於對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼,得到編碼碼字。收發模塊1302用於將編碼碼字分發至n個物理埠,並將編碼碼字通過n個物理埠發送至接口系統中的接收端。

其中,n為根據interlaken接口1300進行數據傳輸的通道數預先配置的正整數,n個邏輯埠與n個原始數據一一對應;編碼碼字包含數據碼塊和前向校驗碼塊,數據碼塊由n個原始數據壓縮得到,前向校驗碼塊用於對數據碼塊進行校驗和糾錯。

在一種可能的設計中,處理模塊1301在對n個原始數據進行前向糾錯編碼,得到編碼碼字時,可具體用於:將n個原始數據中每個原始數據包含的m個編碼單元按照設定順序進行交織,得到交織後的m*n個編碼單元;然後對交織後的m*n個編碼單元進行壓縮,得到數據碼塊;在數據碼塊後添加前向校驗碼塊,得到編碼碼字。其中,編碼單元為每個邏輯埠進行數據傳輸的基本單元。

在一種可能的設計中,編碼碼字包含第一同步頭,該第一同步頭用於實現接收端與interlaken接口1300的同步;處理模塊1301還用於:在收發模塊1302將編碼碼字分發至n個物理埠之前,將上述第一同步頭替換為第二同步頭,其中,第二同步頭用於指示編碼碼字的起止位置。

在一種可能的設計中,處理模塊1301還用於在收發模塊1302將編碼碼字分發至n個物理埠之前,採用預設定擾碼對編碼碼字進行擾碼處理。

在一種可能的設計中,前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差;或者前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差。

需要說明的是,本申請中對模塊的劃分是示意性的,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。另外,在本申請各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。

所述集成的模塊如果以軟體功能模塊的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)或處理器(processor)執行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬碟、只讀存儲器(read-onlymemory,rom)、隨機存取存儲器(randomaccessmemory,ram)、磁碟或者光碟等各種可以存儲程序代碼的介質。

在圖13所示的interlaken接口1300中,由於處理模塊1301對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼後得到編碼碼字,收發模塊1302將編碼碼字發送至接收端。那麼,接收端在接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用圖13所示的interlaken接口1300進行接口數據的傳輸,可以提高interlaken接口數據傳輸的可靠性。

此外,由於處理模塊1301對n個原始數據進行壓縮後,在壓縮得到的數據碼塊後添加前向校驗碼塊,因而採用圖13所示的interlaken接口1300進行接口數據的傳輸,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

圖13所示的interlaken接口1300可用於執行圖4所示interlaken接口的數據傳輸方法中發送端所執行的操作,interlaken接口1300未詳細解釋和描述的實現方式可參考圖4所示interlaken接口的數據傳輸方法中的相關描述。

基於以上實施例,本申請還提供一種interlaken接口,該interlaken接口可用於執行圖4所示的interlaken接口的數據傳輸方法中發送端所述執行的操作,該interlaken接口可以是與圖13所示interlaken接口1300相同的裝置。如圖14所示,該interlaken接口1400包括處理器1401和收發器1402。

其中,處理器1401可用於執行圖13所示的interlaken接口1300中處理模塊1301所執行的操作,收發器1402可用於執行圖13所示的interlaken接口1300中收發模塊1302所執行的操作。

interlaken接口1400可用於執行圖4所示的interlaken接口的數據傳輸方法,且可以是與圖13所示interlaken接口1300相同的裝置,因此,interlaken接口1400未詳細解釋和描述的實現方式可參考圖4所示的interlaken接口的數據傳輸方法中的相關描述。

本申請提供一種interlaken接口,該interlaken接口可用於執行圖4所示interlaken接口的數據傳輸方法中接收端所執行的操作。如圖15所示,該interlaken接口1500包括收發模塊1501和處理模塊1502。

收發模塊1501用於接收n個物理埠中傳輸的數據並進行匯聚後得到編碼碼字;處理模塊1502用於根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據編碼碼字解碼得到n個原始數據。

編碼碼字由發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼得到;其中,n為發送端根據interlaken接口進行數據傳輸的通道數預先配置的正整數,n個邏輯埠與n個原始數據一一對應;編碼碼字包含數據碼塊和前向校驗碼塊,數據碼塊由n個原始數據壓縮得到,前向校驗碼塊用於對數據碼塊進行校驗和糾錯。

在一種可能的設計中,處理模塊1502在根據編碼碼字解碼得到n個原始數據時,具體用於:刪除編碼碼字中的前向校驗碼塊,得到數據碼塊;對數據碼塊進行解壓縮,得到解壓縮後的數據碼塊,解壓縮後的數據碼塊包含m*n個編碼單元;將解壓縮後的數據碼塊按照設定順序分發至n個邏輯埠,得到n個原始數據,n個原始數據中的每個原始數據包含m個編碼單元。其中,編碼單元為interlaken接口中每個邏輯埠進行數據傳輸的基本單元。

在一種可能的設計中,編碼碼字包含第二同步頭,該第二同步頭用於指示編碼碼字的起止位置;處理模塊1502還用於在根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯之前,根據第二同步頭確定編碼碼字的起止位置;以及將第二同步頭替換為第一同步頭,第一同步頭用於實現interlaken接口1500與發送端的同步。

在一種可能的設計中,處理模塊1502還用於在根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯之前,採用預設定解擾碼對編碼碼字進行解擾碼處理。

在一種可能的設計中,前向校驗碼塊的長度等於n個原始數據的總長度與數據碼塊的長度之差;或者前向校驗碼塊的長度大於n個原始數據的總長度與數據碼塊的長度之差。

在圖15所示的interlaken接口1500中,由於處理模塊1502在收發模塊1501接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用圖15所示的interlaken接口1500進行接口數據的傳輸,可以提高interlaken接口數據傳輸的可靠性。

此外,由於收發模塊1501接收到的編碼碼字中,雖然發送端在編碼時加入了前向校驗碼塊,但是發送端同時也對n個原始數據進行了壓縮處理,因而編碼碼字相比於n個原始數據,沒有增加額外的資源開銷或者僅增加了較少的資源開銷。因此,採用圖15所示的interlaken接口1500進行接口數據的傳輸,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

圖15所示的interlaken接口1500可用於執行圖4所示的interlaken接口的數據傳輸方法中接收端所執行的操作,interlaken接口1500未詳細解釋和描述的實現方式可參考圖4所示interlaken接口的數據傳輸方法中的相關描述。

基於以上實施例,本申請還提供一種interlaken接口,該interlaken接口可用於執行圖4所示的interlaken接口的數據傳輸方法中接收端所述執行的操作,該interlaken接口可以是與圖15所示interlaken接口1500相同的裝置。如圖16所示,該interlaken接口1600包括收發器1601和處理器1602。

其中,收發器1601可用於執行圖15所示的interlaken接口1500中收發模塊1501所執行的操作,處理器1602可用於執行圖15所示的interlaken接口1500中處理模塊1502所執行的操作。

interlaken接口1600可用於執行圖4所示的interlaken接口的數據傳輸方法,且可以是與圖15所示interlaken接口相同的裝置,因此,interlaken接口1600未詳細解釋和描述的實現方式可參考圖4所示的interlaken接口的數據傳輸方法中的相關描述。

本申請提供一種接口系統,如圖17所示,該接口系統1700包含圖13所示的interlaken接口1300和圖15所示的interlaken接口1500。圖17所示的接口系統1700中的interlaken接口1300可用於執行圖4所示interlaken接口的數據傳輸方法中發送端所執行的操作,圖17所示的接口系統1700中的interlaken接口1500可用於執行圖4所示interlaken接口的數據傳輸方法中接收端所執行的操作。

在本申請提供的interlaken接口的數據傳輸方法、interlaken接口和接口系統中,由於發送端對n個邏輯埠中傳輸的n個原始數據進行前向糾錯編碼後得到編碼碼字,並將編碼碼字發送至接收端,其中,編碼碼字包含數據碼塊和前向校驗碼塊。那麼,接收端在接收到編碼碼字後可根據編碼碼字包含的前向校驗碼塊對編碼碼字包含的數據碼塊進行糾錯,並根據糾錯後的數據碼塊解碼得到n個原始數據。因此,採用本申請提供的接口數據的傳輸方案,可以提高interlaken接口數據傳輸的可靠性。

此外,由於發送端對n個原始數據進行壓縮後,在壓縮得到的數據碼塊後添加前向校驗碼塊,因而採用本申請提供的接口數據的傳輸方案,可在不增加資源開銷或者僅增加較少資源開銷的情況下達到提高interlaken接口數據傳輸的可靠性的效果,和現有技術中基於interlaken重傳協議提高interlaken接口數據傳輸的可靠性的方案相比,減少了資源開銷,提升了系統性能。

本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、cd-rom、光學存儲器等)上實施的電腦程式產品的形式。

本申請是參照根據本申請的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和範圍。這樣,倘若本申請的這些修改和變型屬於本申請權利要求及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀