24G SAS Feature Focus: Forward Error Correction

[Editor’s Note: This is the first in a series of upcoming blog posts discussing 24G SAS features.]

By: Cameron T. Brett (SCSI Trade Association), with contributions from Tim Symons (Microchip) and Alvin Cox (Seagate), October 21, 2019

Serial Attached SCSI (SAS) and the SCSI protocol continue to innovate with one of the storage industry’s longest running technology roadmaps. Today’s 12Gb/s SAS is moving to 24G, and some 24G ecosystem elements are sampling today. SAS became the industry benchmark for high reliability, availability and scalability (RAS) by delivering per lane performance, data integrity, flexible architectures and scalability in enterprise servers and storage for decades. SAS is becoming less expensive to deploy with the highest capacity SSD and HDD storage devices, along with the introduction of Value SAS.

So what’s next for SAS? The SAS-4 specification is in the publication process and products are well into development. 24G SAS brings a significant performance speed bump, nearly doubling the current data rate, but it also brings SSD, QoS, data reliability and signal improvements.

20-bit Forward Error Correction (FEC)
In short, FEC enhances data integrity as electrical signal transmission rates increase (like from 12Gb/s → 22.5Gb/s). Faster data rates increase the probability of bit errors at the physical layer, hence improved error correction is required. Forward error correction enables the signal receiver with the ability to correct errors without re-transmitting the data. Without going too far into the technical weeds, Reed-Solomon codes are used to create parity elements, or “symbols”, that are transmitted with the data. SAS uses a very short (150-bits) code length for low latency. The 20-bits of FEC code can fix up to two errors in each transmission.

Data transmission with 20-bit Forward Error Correction (FEC)

A benefit of using FEC is a reduced number of re-transmissions, or retries. Data integrity is improved, and that means SAS can successfully transmit more transactions than other protocols that do not use FEC by reducing the need to retransmit when corrupted data is found.

Where Does FEC Benefit the System?
During transmission of data over a SAS-4 (24G SAS) channel, the signal is impacted by physical impairments, including crosstalk, reflections and poor signal-to-noise ratio, resulting in bit errors at the receiving end of the transmission. If a bit is uncorrectable, even by FEC, it will be transmitted again so the fewer the re-transmissions the better. The FEC implementation in the SAS-4 specification will correct most bit errors, but occasionally one will get through, which translates to one uncorrectable bit error every 12.3 hours. Not too bad, having to do one retransmission only twice a day, compared with multiple re-transmissions if FEC is not available.

24G SAS Enhancements: 20-bit Forward Error Correction (FEC)