Quick Links

When researching about the speed of SATA 3, the "stated speed" and the "actual result" are noticeably different, so what exactly is going on? Today's SuperUser Q&A posts helps a curious reader understand more about how SATA 3 works.

Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.

Photo courtesy of GiocoVisione (Flickr).

The Question

SuperUser reader Space Ghost wants to know what the actual speed of SATA 3 is:

Google says it is running at 6 Gb/s. The throughput is at 600 MB/s. 600 MB/s equals 4.8 Gb/s. Does this mean that the bandwidth is 6 Gb/s, but the actual throughput is 4.8 Gb/s ?

What is the actual speed of SATA 3?

The Answer

SuperUser contributor MariusMatutiae has the answer for us:

  • Does this mean that the bandwidth is 6Gb/s, but the actual throughput is 4.8 Gb/s ?

Yes it does. It is interesting to understand why.

While data is actually sent at 6 Gb/s, it is encoded to counteract two common defects in telecommunications, DC Bias and Clock Recovery. This is often accomplished using a specific coding algorithm called 8b/10b Encoding. It is not the only encoding algorithm which has been devised to this end (there is also a Manchester encoding), but it has become the de facto standard for SATA data transfer.

In 8b/10b encoding, eight bits of signal are replaced by 10 bits of (signal + code). This means that, out of the 6 Gb the channel sends in a second, only 8/10 (4/5) are signal. 4/5's of 6 Gb is 4.8 Gb, which in turn equals 600 MB. This is what degrades the 6 Gb/s channel into a mere(?) 600 MB/s channel.

The advantages obtained by compensating for DC bias and allowing for Clock Recovery more than compensate for this slight degradation.


Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.