Based on my understanding, and after reading all the comments here, it sounds like SATA revision 3.0 will definitely improve disk I/O performance since SATA revison 2.0 offers a maximum of "300 MB/s" (or 286 MiB/s) and SSD's are known to go beyond those numbers. See some SATA rev 3.0 SSD's that break 500MB/s.
I wanted to try to add a little more clarity to the transmission rate of SATA. There seem to be two confusing factors:
- The 8b/10b encoding which has been referred to a few times here.
- Unit differences between Gibibit (Gibit) and Gigabit (Gbit) (the former is used in computer science, the latter is part of the SI metric system and also used for marketing computer parts).
I mention point #2 because normally when we all download files, most applications (and the computer science community at large) are using prefixes based on powers of 2, and not powers of 10. For example, when I download a 5 MB file, it is normally
5 * 1024 * 1024 = 5,242,880 bytes. Compare this result against
5 * 1000 * 1000 = 5,000,000 bytes. Thus, the correct notation for that file download should actually be "5 MiB," but it may be a lost cause trying to get laypeople to learn this difference; everyone is accustomed to using "MB" when they might mean "MiB."
Computer part manufacturers marketing teams have used this to their advantage since they can claim a hard drive is "500 GB" (500,000,000,000 bytes) when in reality the operating system will detect it as "465 GB."
The SATA revision 2.0 Wikipedia documentation (if correct) states that:
With a native transfer rate of 3.0 Gbit/s, and taking 8b/10b encoding into account, the maximum uncoded transfer rate is 2.4 Gbit/s (300 MB/s).
Here we are using the SI metric system, where "2.4 Gbit/s" means "2.4 Gigabits per second" and not "2.4 Gibibits per second." Why? Because it is obvious they are using powers of 10 to convert from "2.4 Gbit/s" to "300 MB/s":
(2.4 / 8) * 1000 = 300 (megabytes). What can be a little confusing here is that most computer applications probably work in terms of mebibytes and not megabytes. The conversion here is that 300 MB/s = 286 MiB/s, and it is this latter value which the computer user will probably experience.
How did I convert 300 MB to 286 MiB? I only know how to do this the long way:
(300 * 1000 * 1000) / 1024 / 1024.
Moving on to the encoding: With that in place, the way I look at it (correct me if I'm wrong) is that only 80% of the raw SATA throughout (or "native interface") can actually be used.
Why? Because for every byte of data I transfer (8 bits) SATA actually converts it into 10 bits and then sends it off (the encoding process). The 80% comes from the arithmetic:
8 / 10 = 0.8 (as in 8b/10b encoding). For example: 80% of 3.0 is 2.4; or 80% of 6.0 is 4.8. The other 20% is overhead.
Now the conversion process:
- For SATA rev 2.0:
3.0 Gigabit/s * 80% = (2.4 / 8) GB/s = 0.3 GB/s = (0.3 * 1000) MB/s = 300 MB/s.
- For SATA rev 3.0:
6.0 Gigabit/s * 80% = (4.8 / 8) GB/s = 0.6 GB/s = (0.6 * 1000) MB/s = 600 MB/s.
To restate my initial comment, we all know that SSD's perform faster than 300 megabytes/second (which is the cap for SATA rev 2.0). It would seem advantageous to me to reach for SATA rev 3.0 which allows for 600 megabytes/second of actual usage (with the SATA overhead already accounted for).
I am open to being corrected! I don't know much about SSD technology so I may have missed something. :-)