400G时代,非“FEC”不可?

2019-10-25 08:11:00 深圳市瑞普高电子有限公司 636

为什么我们需要用FEC?



开始正题之前,先来看看以下场景您是否设想过,甚至感同身受过:



购物 --

image.png


双十一熬夜至凌晨,由于网络延迟,下单失败。




交通 -- 

image.png


自动驾驶,由于网络信息丢失,引发交通事故。


通信 --


image.png


通信卫星,信息无法重新解码,造成数小时的延迟。



以上这些场景,你是否想到这些丢失的数据,传递错误的信息,失联的信号背后其实是传输层面上由于高带宽大数据量带来的处于临界的链路容限,数据中心和承载网超低时延要求可能会引发丢失数据无法再次重新传递,为了节省成本采用多电平传输而导致的糟糕的信噪比,超限的误码率

现有网络基础设施持续被要求要以更快的速度提供更多数据,这些需求带来了许多通信挑战,比如噪声干扰,超高数据速率、小幅度信号和有衰减的传输通道都会造成传输错误。为了克服这些错误,诞生了新的编码理论,前向纠错(FEC)就是一种用来显著减少这些数据传输错误的技术

image.png


FEC (Forward Error Correction)

顾名思义被称作“前向纠错” ,它被广泛应用于通信系统中的编码技术以保证数据的准确性,它的基本思路是在发送端,把要发送的信息重新编码,加入一定的冗余校验信息,组成长度较长的codeword,待到达接收端之后,如果错误在可纠范围之内,通过解码检查后纠正错误,从而降低误码率,提高通信系统的可靠性。在光通信系统中,通过FEC的处理,可以以很小的冗余开销,有效降低系统的误码率,延长传输距离,实现降低系统成本的目的。

前向纠错在数字通信领域应用很广,在无线、接入和传输等都有广泛应用,今天小K和大家分享的就是400G通信中和FEC相关的内容,在光通信领域,最早应用于长距传输的海底光缆,事实证明它可有效延长光信号传输距离。

那么降低误码率,具体可以降低到什么程度呢?我们以400G中 (50 Gb/s每通道)为例:电信号的 BER limit为1E-5,/1E-6 ,而光信号为 2.4 E-4,通过使用FEC之后可将修正过的误码率变为好于1E-15,由此可见虽然FEC增加了传输冗余却显著提高了数据的有效性。

Reed Solomon FEC 是如何实现的?

FEC的编码形式有很多种,比如说Hamming code, Golay编码,BCH 编码,但光通信领域使用较多的,从规范定义中就可以发现都以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码。

image.png


接下来针对FEC的几个重要参数,比如说冗余码位数,究竟增加多少才适合呢?可以通过下面的例子了解一下。

 

举例说明  

如果说我们想传递的信息是灯打开或者关闭的状态,用简单的数字信号传递,用0代表打开,用1代表关闭。那么当信息传输产生错误的时候,0变成1,1变成0,但是由于这些都是发送端可能会发送的信息,所以接收端根本无法分辨传输错误。

image.png


那么我们增加一位冗余码试试,用00代表打开,用11代表关闭。那么当信息传递产生错误的时候,接收端有可能会收到10和01两种情况,因为这两种情况都是发送端不会发送的编码,所以接收端会识别出错误,但是它还是无法分辨是哪一个bit位发生了错误,所以无法自动纠错。

image.png

最后我们再增加一位冗余码试试,用000表示打开灯,用111表示关闭灯,那么当信息传递到接收端产生错误时,可能会有以下几种情况,对于接收到的1位或者2位错误接收端都可以检测到,并且可以确定1位码错误时这一位的位置并纠正它。

我们用下表来表示可能会发生的情况:

image.png

由此可见,对于FEC来说,增加多个冗余位之后,编码的抗干扰能力增强,编码纠错,检错的能力都变强。当然冗余位的多少需要和有效位开销之间找到一个平衡点,并不是越多越好。否则也会严重影响数据传输的效率。

FEC中还会用到interleaving,也可以称为 交织处理”,它可以将可能出现的长串误码分散到多个RS编码序列中,使得分散后的误码长度落到编码纠错能力范围之内,从而使得交织处理之前超出纠错能力的长误码串也能得到正确的恢复。

image.png


注意:这里要说的是在光通信的FEC中,纠正的是Symbol error而不是bit error,Symbol, bit和codeword的对应关系如下,其中codeword由我们要传递的信息加冗余信息组成,如下图所示:

image.png



图中橙色部分即为增加的冗余校验码,绿色即为一个一个的symbol.

每10 bits = 1 symbol

544 symbols = 1 codeword (针对400G, KP4)

 

我们通常会看到 FEC 的编码以这种形式出现:

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个数为15个,每一个symbol包含10bits。

● RS ( 528, 514, 7, 10 ) → KR4 (100G)

就意味着528个symbol组成一帧,实际传递信息为514个symbol,每一帧中最大可修正symbol个数为7个,每一个symbol包含10bits。

了解了这些基本概念之后,一起来看看小K准备的400GE FEC编解码过程图加深一下理解,在IEEE 802.3bs中,FEC是必须使用的,我们先从400GBASE-R RS-544 (KP4 FEC) 编解码过程看起,这一过程发生在PCS(Physical Coding Sublayer)物理编码子层,它的原始输入是 64B/66B的codeword。


Step 1:  转码器对每四个通道的数据进行转码,(262比特到257比特) 从而减少编码开销。

Step 2:  对转码后的数据进行加扰,以防止长时间运行0或1。

Step 3:  将对齐游标插入到16条PCS通道。每条通道都有其各自唯一的游标。

Step 4:  经过一个变速器(gearbox)给每514个比特增加30比特,为传输FEC“校验和”预留好位置。

Step 5:  补充的冗余位数会在两个FEC编码引擎之间进行分配。

Step 6:  分配结束后,任何突发误差都会由两个FEC引擎负责,从而提供了更好的纠错能力。

Step 7:  FEC的codeword交织处理后,数据会被分配给16个PCS通道。在PAM4系统中,每两个通道相互连接,形成8个50G通道。在接收方向上,情况恰好与此相反。


image.png


每一个Codeword中可以纠正15个Symbol,如果符号误差超过 15 个,就会导致Codeword无法被纠正。在 400GE 系统中,一个错误的Codeword将会导致大约 15 个 64B数据包丢失。随之而来的是一个新的衡量指标FLR(Frame loss ratio), 它 是 IEEE 针对采用 FEC 的高速以太网链路而定义的新指标。这个指标意味着丢失的数据包与总数据包的比率。

 

以为清楚了 FEC 之前/之后的 BER 和 FLR 就完全清楚了您的系统设计情况?事实证明我们还需要了解误码分布。

因为在有些案例中,我们发现虽然在统计数据中,FLR 为 0,FEC 之前的 BER 也优于 -4。系统也通过了测试,但symbol误码分布却告诉我们链路运行的裕量比较小,每个码字的最大符号误码已经高达 15 个极限值。这种状态下的进一步分析可以让我们更好地了解链路的健康状况,这才是针对FEC测试的最根本目的。

image.png



image.png



总结一下,你需要记住的几点是:

·       FEC在400G级别和所有未来的数据中心通讯标准中非用不可

·       FEC编码并不影响 Tx 的测试结果

·       FEC只在接收端纠正误码 

·       IEEE802.3bs 中对FEC的要求在400GAUI-16 及 400GAUI-8所有场景,永远打开FEC功能

·       除了FEC和Frame Loss Ratio,您还需清楚误码分布等情况了解系统预量

 

是德科技解决方案

从基于NRZ的100G接口过渡到基于PAM4的400G接口是革命性的变革:新技术的采用也不能保证整条链路能够零误码运行,400G链路通常以较高的固有误码率 (BER)运行,因此需要前向纠错 (FEC)提高数据传输的有效性。

FEC和PAM4在产业界的同时使用给测试验证带来了很大的挑战,大大增加了表征和验证硅器件、特定应用集成电路 (ASIC)、光纤和铜互连、光收发器以及交换机和路由器的电端口性能的复杂性。如果能在研发的早期阶段识别出潜在的性能和互操作性问题就太令人欣慰了,因为后期要解决这些问题既复杂又耗时。

 

所以我们的目标是?

 在设计过程中 

 尽早发现影响FEC性能的设计问题! 

 

是德科技在2019年9月5号正式宣布推出业界首款N4891A 400GBASE FEC交互接收机测试解决方案,这将促使业界能够加速数据中心下一代400G设备的部署。

N4891A提供更详细的分析以了解组件和系统如何受前向纠错(FEC)的影响,并进行测试真实操作下的系统裕量。它还能够测得在电或光接口处的帧丢失率(FLR), IEEE规范对此有要求以确保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测试码型数据。该方案提供了独特的视角,深入洞察组件和系统设计如何受到前向纠错 (FEC) 需求的影响,并能够预测真实条件下的系统裕量。


image.png



满足规范要求:

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 ,当误码位数随机分布时,FEC后的误码及随之而来的Frame Loss Ratio (FLR)能够很容易的从FEC之前的误码情况推导得出,然而,抖动,码间干扰、ISI或前向反馈均衡FFE、决策反馈均衡 DFE等可能会产生误码突发,使FEC解码器过载,导致整个FEC 的codeword丢失数千位数据。

由于这些影响对互操作性有直接影响,因此,对电接收机和光接收机的400G以太网标准的一致性测试需要同时满足传统的BER限制和FLR限制。FEC strip机制将FEC编码的帧分布在不同的电通道上,有效地降低了操作中误码突发的易发性,但限制了基于单通道PRBS的FLR和FEC裕量测量的有效性。

N4891A非常灵活,可提供以下三种使用场景:


01

可以直接用内部的FEC解码器环回到误码分析模块中去用于测试400G主机ASIC和收发模块。下表提供了N4891A解决方案功能与传统BERT系统和协议分析仪的对比概况。


image.png


N4891A 整合了M8040A 64G波特率高性能误码仪去产生一路FEC加压信号,与A400GE-QDD 400GE 一起提供八路完全对齐的FEC striped信号,使被测件可以测得其在压力条件下的FLR值。这种测试方法完全遵循IEEE 802.3标准的121,122,124和136,137以及138条款(802.3bs和802.3cd)。

image.png


对于一致性测试,被测件的加压通道先使用采样示波器经过一致性校准软件比如IEEE802.3bs M8091BSPA接收端一致性测试软件或者M809256PA OIF-CEI CEI-56G接收端测试软件进行校准。然后使用端接电缆将被测件以环回模式连接到QSFP-DD端口之一进行FEC解码。

下图是FEC交互性一致性测试的示例连接图:

image.png

image.png


02

我们也可以选择不在复杂的FEC Strip编码的情况下进行测试,仅使用PRBS和PRBSQ等测试模式,选择单个通道通过M8046A误码分析仪进行环回,以详细表征误码机制(突发误码可视、误码分布图)。

image.png


03

N4891A的独特之处还在于它还能够提供在光接收机压力极限测试环境下量测光收发模块的FLR和FEC裕量参数。在这种情况下,加压的光信号通路可以使用基于M8040A误码仪的N4917BSCB 400G光压力眼测试软件来校准,同时还可以很方便的表征不同光发射机损伤如ISI码间干扰,光噪声,抖动或者串扰对FEC性能的影响:

image.png



瑞普高电子

瑞普高的服务宗旨

用真心对待客户,用技术赢得客户,

用诚信创建企业。

瑞普高的目标

以不断创新的服务理念,力争打造中国仪器行业的“一站式”服务的领先品牌。

瑞普高的团队精神

为美好的生活,负责的企业,进步的行业而同舟共济。

浏览详细

主推产品

联系我们