On 14 January 2015, IBM announced the long anticipated “zNext”, which we all know now officially as the IBM z Systems z13. For those of us in the storage and I/O field, the most important part of the z13 launch was the announcement of the latest FICON channel: FICON Express16S. My prior blog post on 9 February ( FICON Express 16S Arrives with IBM z Systems z13) touched on some of the new technologies that IBM introduced in conjunction with the z13 FICON Express16S channels. In this post, I will focus on one of those technologies: Forward Error Correction (FEC). Subsequent blog postings will focus on the other FICON Express16S enhancements.
FEC is a technique used for controlling errors in data transmission over communication channels. FEC’s central idea is the sender encodes a message in a redundant way by using an error-correcting code (ECC). The American mathematician Richard Hamming pioneered this field in the 1940s and invented the first error-correcting code in 1950: the Hamming (7,4) code. The redundancy allows the receiver to detect a limited number of errors that may occur anywhere in the message, and often to correct these errors without retransmission. FEC gives the receiver the ability to correct errors without needing a reverse channel to request retransmission of data, but at the cost of a fixed, higher forward channel bandwidth. FEC is therefore applied in situations where retransmissions are costly or impossible.
Standards have been previously defined for FEC for data transmission over copper links. IBM, working with Brocade and IBM Business Partners, delivered an extension to the Fibre Channel standards to enable FEC across optical links.
16 Gbps fibre channel technologies (includes FICON) utilize the 64b/66b encoding schema. Prior generations of fibre channel utilized the 8b/10b encoding schema. Protocol efficiency improves from 80% with 8b/10b encoding to 97% with 64b/66b encoding. A stream of 64b/66b transmission words on a link may be further encoded to provide Forward Error Correction. The use of FEC is negotiated during transmitter training. The transmitter training signal is a transmission code that enables active feedback from a receiver to a transmitter to assist in adapting the transmitter to the characteristics of the link that connects them. A Fibre Channel (FICON) port that does not perform transmitter training shall not use FEC. If the FC_Ports on a link determine to use FEC, the streams of 64b/66b transmission words in both directions on the link shall be encoded as specified in subclauses 74.7 and 74.10 of IEEE 802.3-2008. If the FC_Ports on a link determine not to use FEC, the streams of 64b/66b Transmission Words in both directions on the link shall be encoded as specified in FC-FS-3 5.3.
FICON Express16S channels running at 16 Gbps can take advantage of Forward Error Correction (FEC) capabilities when connected to devices that support FEC. FEC provides a data transmission error control method by including redundant data (error-correcting code) to ensure error free transmission of data. FEC allows FICON Express16S channels to operate at higher speeds, over longer distances, with reduced power and higher throughput, while retaining the same reliability and robustness that FICON channels have traditionally been known for. When running at 16 Gbps link speeds, with FEC end users should see fewer I/O errors, thus easing the transition to the new, high-speed link technologies and reducing the potential impact to production workloads by I/O errors. Up to 11 bit errors out of every 2112 bits per block are corrected and this significantly improves reliability (it is the equivalent result to adding 2.5 db of signal strength, effectively doubling the signal’s link loss budget).
FEC has been available on Gen5 IBM B-Series (Brocade) FICON directors and switches since their introduction in May 2011. Brocade FICON customers using FEC on their 16 Gbps ISLs have enjoyed more reliable, better performing data transmission on ISLs. FEC has seen a great deal of use by customers doing synchronous DASD replication between sites in close proximity over native FICON/FCP ISLS. Until now, in IBM z Systems environments FEC was only supported on the 16Gbps ISLs since FEC technology was not available on FICON Express8S channels, nor on storage host adapters.
FEC is a significant improvement for both performance and availability/reliability in FICON environments. Ideally, implementations will be end to end FEC. However, this will require FICON Express 16S channels, Brocade Gen 5 FICON SAN, and 16Gbps capable storage host adapters.