In last month's blog I gave an introduction to FEC and its importance in packet-optical transport. In a nutshell, if you want to run 10G links beyond 80km, you're going to need FEC. At 100G, it’s a must-have beyond 40km.
Things get much more interesting for metro/regional/long haul. For traditional transport applications the choice of FEC is going to be one of the major factors that will dictate the maximum optical reach and/or system margin.
This probably isn't a news flash to many of you. After all, FEC in optical transport has been nearly ubiquitous since the 10G DWDM deployments of the 1990s.
Know Thy FEC
For the uninitiated, FEC is not just a functional checkbox - the number of different FEC technologies and implementations are wide and varied. As you dig deeper, it may start to look like alphabet soup.
Further, many of these FECs are often referred to by colloquial terms that you won't find in standards docs. That in mind, let's take a look at a few specific examples:
Are there others? You bet (check out G.975.1) - but you'll be hard-pressed to find other variants in wide use today. Given that GFEC/EFEC/UFEC have become near-ubiquitous, some vendors will refer to this combo as "Tri-FEC" - yet another industry buzzword that is not based on any formal standardization.
At 100G rates, FEC starts to get interesting. Before 100G, all commonly-used FEC implementations were known as "hard decision" codes, or "HFDEC". This is to say that the FEC decoders use single-bit values to make error detection and correction decisions. This makes sense when direct-detect optics are used as only 1s and 0s are recovered from the optical-to-electrical (O/E) conversion.
With the advent of coherent detection optics (as found in the PTX DWDM PIC and the ZR CFP module) came the inclusion of integrated analog to digital conversion (ADC) in the receiver path. This provides multi-bit samples of the incoming signal which, in turn, enables more intelligent and powerful FEC algorithms to be employed. This approach is known as "soft decision" FEC, or "SDFEC". Both HDFEC and SDFEC can detect and correct multiple bit errors (including burst errors) per received block of data, but SDFEC generally has higher coding gain. Put another way, SDFEC can correct a greater number of bits in error over a link and tolerate more noise vs. HDFEC.
Recognizing FECs flavors is one thing, choosing one is quite another. Some interfaces have multiple flavors to choose from - and the default may not make sense for your application. As an end-user, picking a FEC usually boils down as follows:
Compatibility – Is 3rd party interop required? If so, it definitely needs to match what's on the other end of the link - most likely a standards-based FEC.
Performance - If the link is book-ended (same gear at each end of the link) then you'll want to pick the highest performance FEC. A stronger FEC = longer reach and/or greater link margin (i.e. more robust/resilient). For 10G that means choosing EFEC or UFEC instead of GFEC. For 100G, that means soft decision over hard decision.
Like many aspects of optical transport, FEC is a science unto itself. However, knowing the fundamentals will help you make sense of the alphabet soup so you can deploy a more robust packet-optical network.