為什么我們需要用FEC?
開始正題之前,先來看看以下場景您是否設想過,甚至感同身受過:
購物 --
雙十一熬夜至凌晨,由于網絡延遲,下單失敗。
交通 --
自動駕駛,由于網絡信息丟失,引發(fā)交通事故。
通信 --
通信衛(wèi)星,信息無法重新解碼,造成數(shù)小時的延遲。
以上這些場景,你是否想到這些丟失的數(shù)據,傳遞錯誤的信息,失聯(lián)的信號背后其實是傳輸層面上由于高帶寬大數(shù)據量帶來的處于臨界的鏈路容限,數(shù)據中心和承載網超低時延要求可能會引發(fā)丟失數(shù)據無法再次重新傳遞,為了節(jié)省成本采用多電平傳輸而導致的糟糕的信噪比,超限的誤碼率。
現(xiàn)有網絡基礎設施持續(xù)被要求要以更快的速度提供更多數(shù)據,這些需求帶來了許多通信挑戰(zhàn),比如噪聲干擾,超高數(shù)據速率、小幅度信號和有衰減的傳輸通道都會造成傳輸錯誤。為了克服這些錯誤,誕生了新的編碼理論,前向糾錯(FEC)就是一種用來顯著減少這些數(shù)據傳輸錯誤的技術。
FEC (Forward Error Correction)
顧名思義被稱作“前向糾錯” ,它被廣泛應用于通信系統(tǒng)中的編碼技術以保證數(shù)據的準確性,它的基本思路是在發(fā)送端,把要發(fā)送的信息重新編碼,加入一定的冗余校驗信息,組成長度較長的codeword,待到達接收端之后,如果錯誤在可糾范圍之內,通過解碼檢查后糾正錯誤,從而降低誤碼率,提高通信系統(tǒng)的可靠性。在光通信系統(tǒng)中,通過FEC的處理,可以以很小的冗余開銷,有效降低系統(tǒng)的誤碼率,延長傳輸距離,實現(xiàn)降低系統(tǒng)成本的目的。
前向糾錯在數(shù)字通信領域應用很廣,在無線、接入和傳輸?shù)榷加袕V泛應用,今天小K和大家分享的就是400G通信中和FEC相關的內容,在光通信領域,最早應用于長距傳輸?shù)暮5坠饫|,事實證明它可有效延長光信號傳輸距離。
那么降低誤碼率,具體可以降低到什么程度呢?我們以400G中 (50 Gb/s每通道)為例:電信號的 BER limit為1E-5,/1E-6 ,而光信號為 2.4 E-4,通過使用FEC之后可將修正過的誤碼率變?yōu)楹糜?/span>1E-15,由此可見雖然FEC增加了傳輸冗余卻顯著提高了數(shù)據的有效性。
Reed Solomon FEC 是如何實現(xiàn)的?
FEC的編碼形式有很多種,比如說Hamming code, Golay編碼,BCH 編碼,但光通信領域使用較多的,從規(guī)范定義中就可以發(fā)現(xiàn)都以Reed Solomon為主,它是一種交織編碼,使用一組糾錯碼,與低密度校驗碼和turbo碼相比,具有更小的編碼增益。但是它有很高的編碼速率并且復雜度低,所以它適用于許多應用場景。
我們經常會聽到 KR4 和 KP4 這兩種FEC的方式。100G KR4 使用 528, 514 代碼,KP4 使用 544, 514 代碼。這里KP4中的514 表示編碼器采用 514 個符號,增加 30 個校驗符號,就會構成一個 544 個符號的碼字。在談到 KR4 FEC 時,我們說的其實是 528, 514 Reed Solomon碼,KP4 表示 544, 514 Reed Solomon碼。
接下來針對FEC的幾個重要參數(shù),比如說冗余碼位數(shù),究竟增加多少才適合呢?可以通過下面的例子了解一下。
舉例說明
如果說我們想傳遞的信息是燈打開或者關閉的狀態(tài),用簡單的數(shù)字信號傳遞,用0代表打開,用1代表關閉。那么當信息傳輸產生錯誤的時候,0變成1,1變成0,但是由于這些都是發(fā)送端可能會發(fā)送的信息,所以接收端根本無法分辨?zhèn)鬏斿e誤。
那么我們增加一位冗余碼試試,用00代表打開,用11代表關閉。那么當信息傳遞產生錯誤的時候,接收端有可能會收到10和01兩種情況,因為這兩種情況都是發(fā)送端不會發(fā)送的編碼,所以接收端會識別出錯誤,但是它還是無法分辨是哪一個bit位發(fā)生了錯誤,所以無法自動糾錯。
最后我們再增加一位冗余碼試試,用000表示打開燈,用111表示關閉燈,那么當信息傳遞到接收端產生錯誤時,可能會有以下幾種情況,對于接收到的1位或者2位錯誤接收端都可以檢測到,并且可以確定1位碼錯誤時這一位的位置并糾正它。
我們用下表來表示可能會發(fā)生的情況:
由此可見,對于FEC來說,增加多個冗余位之后,編碼的抗干擾能力增強,編碼糾錯,檢錯的能力都變強。當然冗余位的多少需要和有效位開銷之間找到一個平衡點,并不是越多越好。否則也會嚴重影響數(shù)據傳輸?shù)男省?/span>
FEC中還會用到interleaving,也可以稱為 “交織處理”,它可以將可能出現(xiàn)的長串誤碼分散到多個RS編碼序列中,使得分散后的誤碼長度落到編碼糾錯能力范圍之內,從而使得交織處理之前超出糾錯能力的長誤碼串也能得到正確的恢復。
注意:這里要說的是在光通信的FEC中,糾正的是Symbol error而不是bit error,Symbol, bit和codeword的對應關系如下,其中codeword由我們要傳遞的信息加冗余信息組成,如下圖所示:
圖中橙色部分即為增加的冗余校驗碼,綠色即為一個一個的symbol.
每10 bits = 1 symbol
544 symbols = 1 codeword (針對400G, KP4)
我們通常會看到 FEC 的編碼以這種形式出現(xiàn):
RS(n, k, t, m),
在這里不同字母的含義分別是:
n: frame size [symbol]
k: message size [symbol]
t : correctable symbol error per frame
m: symbol size [bit]
常見的IEEE 802.3bs中的兩種 FEC 編碼格式為:
● RS ( 544, 514, 15, 10 ) → KP4 (400G)
就意味著544個symbol組成一幀,實際傳遞信息為514個symbol,每一幀中最大可修正symbol個數(shù)為15個,每一個symbol包含10bits。
● RS ( 528, 514, 7, 10 ) → KR4 (100G)
就意味著528個symbol組成一幀,實際傳遞信息為514個symbol,每一幀中最大可修正symbol個數(shù)為7個,每一個symbol包含10bits。
了解了這些基本概念之后,一起來看看小K準備的400GE FEC編解碼過程圖加深一下理解,在IEEE 802.3bs中,F(xiàn)EC是必須使用的,我們先從400GBASE-R RS-544 (KP4 FEC) 編解碼過程看起,這一過程發(fā)生在PCS(Physical Coding Sublayer)物理編碼子層,它的原始輸入是 64B/66B的codeword。
Step 1: 轉碼器對每四個通道的數(shù)據進行轉碼,(262比特到257比特) 從而減少編碼開銷。
Step 2: 對轉碼后的數(shù)據進行加擾,以防止長時間運行0或1。
Step 3: 將對齊游標插入到16條PCS通道。每條通道都有其各自唯一的游標。
Step 4: 經過一個變速器(gearbox)給每514個比特增加30比特,為傳輸FEC“校驗和”預留好位置。
Step 5: 補充的冗余位數(shù)會在兩個FEC編碼引擎之間進行分配。
Step 6: 分配結束后,任何突發(fā)誤差都會由兩個FEC引擎負責,從而提供了更好的糾錯能力。
Step 7: FEC的codeword交織處理后,數(shù)據會被分配給16個PCS通道。在PAM4系統(tǒng)中,每兩個通道相互連接,形成8個50G通道。在接收方向上,情況恰好與此相反。
每一個Codeword中可以糾正15個Symbol,如果符號誤差超過 15 個,就會導致Codeword無法被糾正。在 400GE 系統(tǒng)中,一個錯誤的Codeword將會導致大約 15 個 64B數(shù)據包丟失。隨之而來的是一個新的衡量指標FLR(Frame loss ratio), 它 是 IEEE 針對采用 FEC 的高速以太網鏈路而定義的新指標。這個指標意味著丟失的數(shù)據包與總數(shù)據包的比率。
以為清楚了 FEC 之前/之后的 BER 和 FLR 就完全清楚了您的系統(tǒng)設計情況?事實證明我們還需要了解誤碼分布。
因為在有些案例中,我們發(fā)現(xiàn)雖然在統(tǒng)計數(shù)據中,F(xiàn)LR 為 0,F(xiàn)EC 之前的 BER 也優(yōu)于 -4。系統(tǒng)也通過了測試,但symbol誤碼分布卻告訴我們鏈路運行的裕量比較小,每個碼字的最大符號誤碼已經高達 15 個極限值。這種狀態(tài)下的進一步分析可以讓我們更好地了解鏈路的健康狀況,這才是針對FEC測試的最根本目的。
總結一下,你需要記住的幾點是:
· FEC在400G級別和所有未來的數(shù)據中心通訊標準中非用不可
· FEC編碼并不影響 Tx 的測試結果
· FEC只在接收端糾正誤碼
· IEEE802.3bs 中對FEC的要求在400GAUI-16 及 400GAUI-8所有場景,永遠打開FEC功能
· 除了FEC和Frame Loss Ratio,您還需清楚誤碼分布等情況了解系統(tǒng)預量
是德科技解決方案
從基于NRZ的100G接口過渡到基于PAM4的400G接口是革命性的變革:新技術的采用也不能保證整條鏈路能夠零誤碼運行,400G鏈路通常以較高的固有誤碼率 (BER)運行,因此需要前向糾錯 (FEC)提高數(shù)據傳輸?shù)挠行浴?/span>
FEC和PAM4在產業(yè)界的同時使用給測試驗證帶來了很大的挑戰(zhàn),大大增加了表征和驗證硅器件、特定應用集成電路 (ASIC)、光纖和銅互連、光收發(fā)器以及交換機和路由器的電端口性能的復雜性。如果能在研發(fā)的早期階段識別出潛在的性能和互操作性問題就太令人欣慰了,因為后期要解決這些問題既復雜又耗時。
所以我們的目標是?
在設計過程中
盡早發(fā)現(xiàn)影響FEC性能的設計問題!
是德科技在2019年9月5號正式宣布推出業(yè)界首款N4891A 400GBASE FEC交互接收機測試解決方案,這將促使業(yè)界能夠加速數(shù)據中心下一代400G設備的部署。
N4891A提供更詳細的分析以了解組件和系統(tǒng)如何受前向糾錯(FEC)的影響,并進行測試真實操作下的系統(tǒng)裕量。它還能夠測得在電或光接口處的幀丟失率(FLR), IEEE規(guī)范對此有要求以確保400GBASE設備之間的互操作性。
IEEE 802.3bs/cd
121.1.1 Bit error ratio
The bit error ratio(BER)when processed according to Clause 120 shall be less than 2.4x10-4 provided that the error statistics are sufficiently random that this results in a frame loss ratio (see 1.4.223) of less than 1.7x10-12 for 64-octet frames with minimum interpacket gap when processed according to Clause 120 and OIF-CEI 4.0
Capable of achieving a raw Bit Error Ratio (BER) of 10-6 or better per lane. FEC is assumed to be used to achieve a corrected BER of 10-15 or better per lane. The baud rate includes the overhead required for FEC. The definition of FEC is outside the scope of this IA (see Appendix 16.D).
N4891A由M8040A高性能PAM4誤碼儀和A400GE-QDD分析儀組成,測試時在400G以太網鏈路中通過M8040A提供一個加壓的通道,同時利用A400GE-QDD在其他鏈路通道中依然保持傳輸FEC strip測試碼型數(shù)據。該方案提供了獨特的視角,深入洞察組件和系統(tǒng)設計如何受到前向糾錯 (FEC) 需求的影響,并能夠預測真實條件下的系統(tǒng)裕量。
滿足規(guī)范要求:
l IEEE 400GAUI-8 specifications
l 200GAUI-4 & 100GAUI-2
l IEEE 400GBASE-FR8/-LR8/(-SR8) specifications
l 400GBASE-DR4/-(FR4)
l 200GBASE-FR4/-LR4
l 100GBASE-DR
l future SW upgrade
IEEE 400GBASE 標準要求使用 Reed-Solomon 編碼 RS (544,514),也就是 KP4,確保 error-free ,當誤碼位數(shù)隨機分布時,F(xiàn)EC后的誤碼及隨之而來的Frame Loss Ratio (FLR)能夠很容易的從FEC之前的誤碼情況推導得出,然而,抖動,碼間干擾、ISI或前向反饋均衡FFE、決策反饋均衡 DFE等可能會產生誤碼突發(fā),使FEC解碼器過載,導致整個FEC 的codeword丟失數(shù)千位數(shù)據。
由于這些影響對互操作性有直接影響,因此,對電接收機和光接收機的400G以太網標準的一致性測試需要同時滿足傳統(tǒng)的BER限制和FLR限制。FEC strip機制將FEC編碼的幀分布在不同的電通道上,有效地降低了操作中誤碼突發(fā)的易發(fā)性,但限制了基于單通道PRBS的FLR和FEC裕量測量的有效性。
N4891A非常靈活,可提供以下三種使用場景:
01
可以直接用內部的FEC解碼器環(huán)回到誤碼分析模塊中去用于測試400G主機ASIC和收發(fā)模塊。下表提供了N4891A解決方案功能與傳統(tǒng)BERT系統(tǒng)和協(xié)議分析儀的對比概況。
N4891A 整合了M8040A 64G波特率高性能誤碼儀去產生一路FEC加壓信號,與A400GE-QDD 400GE 一起提供八路完全對齊的FEC striped信號,使被測件可以測得其在壓力條件下的FLR值。這種測試方法完全遵循IEEE 802.3標準的121,122,124和136,137以及138條款(802.3bs和802.3cd)。
對于一致性測試,被測件的加壓通道先使用采樣示波器經過一致性校準軟件比如IEEE802.3bs M8091BSPA接收端一致性測試軟件或者M809256PA OIF-CEI CEI-56G接收端測試軟件進行校準。然后使用端接電纜將被測件以環(huán)回模式連接到QSFP-DD端口之一進行FEC解碼。
下圖是FEC交互性一致性測試的示例連接圖:
02
我們也可以選擇不在復雜的FEC Strip編碼的情況下進行測試,僅使用PRBS和PRBSQ等測試模式,選擇單個通道通過M8046A誤碼分析儀進行環(huán)回,以詳細表征誤碼機制(突發(fā)誤碼可視、誤碼分布圖)。
03
N4891A的獨特之處還在于它還能夠提供在光接收機壓力極限測試環(huán)境下量測光收發(fā)模塊的FLR和FEC裕量參數(shù)。在這種情況下,加壓的光信號通路可以使用基于M8040A誤碼儀的N4917BSCB 400G光壓力眼測試軟件來校準,同時還可以很方便的表征不同光發(fā)射機損傷如ISI碼間干擾,光噪聲,抖動或者串擾對FEC性能的影響:
瑞普高的服務宗旨
用真心對待客戶,用技術贏得客戶,
用誠信創(chuàng)建企業(yè)。
瑞普高的目標
以不斷創(chuàng)新的服務理念,力爭打造中國儀器行業(yè)的“一站式”服務的領先品牌。
瑞普高的團隊精神
為美好的生活,負責的企業(yè),進步的行業(yè)而同舟共濟。
瀏覽詳細