In the quest for more performance there are two new standards for SATA and SAS focused on doubling current throughput to 6 Gbps. While the standards may sound like a nice potential boost don't expect individual hard drives to increase in performance.
The two primary interface standards for storage devices are SATA (Serial Advanced Technology Attachment) and SAS (Serial Attached SCSI). Both have been around for a number of years, SATA first appearing in 2003 and SAS appearing in 2004. Also, both of them have similar throughput performance currently at 3 Gbps (SATA started at 1.5 Gbps while SAS started at 3.0 Gbps). However, lately both protocols had been showing their age, particularly with the advent of SSD (Solid State Drives). However, the committees that oversee the protocols have not been idle and have created the next generation for each protocol – 6 Gbps.
Who needs 6 Gbps?
Hard drives are increasing in throughput performance but at a rather slow rate meaning that the performance of a single hard drive hasn’t changed all that much in recent years. While perhaps not the best source of benchmarks and testing, Toms Hardware did run a very interesting article that examined desktop hard drives from the last 15 years. It is a very nice retrospective of how hard drives have changed ending in 2006. In particular, this chart shows that the performance of a single SATA drive in 2006 was about 64 MB/s. The performance of single hard drives today are about the same. So if individual drive performance is somewhat stagnant, why do we need a faster storage interface? The answer is fairly simple – either we have multiple drives attached to a single interface (i.e. RAID) or we are using SSD’s (Solid-State Drives) or a combination.
The stated throughput of either a current SAS or SATA controller is 3 Gbps. A 3 Gbps interface has a theoretical throughput of 375 MB/s (Mega-Bytes per second) but actual throughput is a bit lower than that. Internal to the storage system there is data and handshaking processes taking place that reduce throughput. Also, the data is transmitted in packets (sort of like a network) that can also reduce throughput. The ASIC on the controller as well as the details of the drive performance itself can also affect performance. A rule of thumb for the 3 Gbps interface is that the maximum throughput is about 275-300 MB/s.
Using RAID controllers allows us to utilize the performance of multiple hard drives depending upon the details of the RAID configuration. With an interface that is capable of about 300 MB/s and single hard drives that are capable of 60 MB/s, you can see that it only takes 5 drives to overwhelm the interface. Given the price of drives, that is not very many (whether using that many large drives in a single RAID group is a good idea or not is a story for another time).
SSD’s have the potential for huge amounts of performance, particularly when reading data from the drive. The Intel X25-E SSD is rated at 250 MB/s for reads and about 170 MB/s for writes. While SSD’s are still generally much more expensive than hard drives (Intel SSD drives are on the order of $12/GB while 1TB+ SATA hard drives are $0.07-$0.09/GB), the prices of SSD’s have been coming down and will likely continue to do so. Putting just two Intel drives on a single SATA interface, perhaps using RAID-0, will easily overwhelm the interface when reading. Putting three drives on a single interface could easily overwhelm the interface when writing.
The committees that oversee SATA and SAS were clairvoyant enough to realize that both the use of RAID and SSD’s were pushing the throughput beyond the capability of the current interfaces (3 Gbps). Consequently, they developed the 6 Gbps interfaces that are now appearing.
Digging Deeper into the Beast
Both 6 Gbps SATA and SAS are backwards compatible within their respective protocols. In the case of SATA you can use existing cables and drives – even down to 1.5 Gbps drives and cables. This means you can plug a 3 Gbps drive into a 6 Gbps controller and it will function. You won’t necessarily get any of the extra features of either the 6 Gbps SAS or 6 Gbps SATA controllers but the drives will function at about the same speed as they currently perform.
The initial batch of 6Gbps capable hard drives will not likely have any more per disk performance compared to 3 Gbps drives in almost all respects. The one area that may have improved performance is reading data from the drive cache. Since the data is in the cache and not on the drive platters, it can be read at the full 6Gbps speed. But otherwise the performance of a 6Gbps drive should be the same as a 3 Gbps drive. Future hard drives may see a little performance improvement but fundamentally they are limited in their performance with these protocols so don’t expect too much additional performance.
Performance of 6Gbps protocols should be about double of the current 3 Gbps performance. The theoretical throughput performance is 750 MB/s. However, due to the same set of losses (i.e. data is transferred in packets, handshaking, etc.), it is likely that the performance will be 550 MB/s to 600 MB/s. As a comparison, a Fusion-IO PCIe based SSD (ioDrive) can achieve about 500 MB/s for write performance and 750 MB/s for read performance. While the new 6 Gbps protocols get us closer to PCIe performance they still do not have enough throughput for something like a Fusion-IO drive, much less multiple Fusion-IO drives.
While this article has so far discussed 6Gbps for both SATA and SAS they are different enough from each other to warrant a somewhat closer look at the new standards. The Sub-sections below present some details of the two protocols.
The 6Gbps SATA standard is called the 3.0 standard by the SATA-IO committee (SATA International Organization) which is the governing body for the SATA interface. SATA 3.0 is primarily a throughput improvement but there are some additional features:
- Some adjustments have been made to NCQ (Native Command Queuing) adding a Quality of Service (QoS) like capability to improve streaming media performance
- Additional NCQ features to help improve performance for non-streaming media
- Improved power management capabilities
- “A small Low Insertion Force (LIF) connector for more compact 1.8-inch storage devices.”
There are some other minor features but you can see in general, the 3.0 standard primarily improves throughput.
Recently SATA 3.0 drives have started to appear as have motherboards with SATA 3.0 connectors on the board. The first drive to appear is the Seagate XT 2TB drive. There are a number of reviews of the drive but one of the better ones is at Anandtech. In general the performance of the drive and the new motherboards was not that good. The throughput was actually slightly slower than it’s 3 Gbps cousin, perhaps due to the combination of a new drive ASIC and firmware as well as new additions to the motherboard chipsets. However, the point is that motherboards and drives for the new protocol are available.
The 6Gbps standard for SAS was made available earlier this year and has been incorporated into several systems by various vendors. However only recently have 6Gbps SAS hard drives started to appear. A good article that summarizes 6Gbps SAS is this one.
The major features of the new SAS protocol are:
- Improved throughput performance
- Maintaining compatibility with 1.5 Gbps and 3.0 Gbps SAS and SATA
- Improved cable lengths (10m)
- Standardized and increased Expander Zoning
You may not be familiar with the last feature of SAS – zoning. SAS expanders allow you to combine a very large number of devices. To assign these devices to various storage domains when used with multiple hosts, zoning was put into the standard. In the initial SAS protocol (SAS-1) a single expander could support up to 128 devices and you could have up to 128 expanders (quite a few drives). However, the protocol did not formally define the expander zoning. Consequently, vendors developed proprietary and frequently incompatible expander zoning. The new SAS-2 protocol (6 Gbps) standardizes the expander zoning and also increases the number of devices to 256.
Some people argue that the increased cable lengths, improved throughput, and better zoning, allows SAS to be used in place of Fibre Channel (FC) for SAN’s. Whether this is true or not remains to be seen but it is fairly obvious that these improvements allow you to better use SAS for SAN’s.
The development of 6Gbps SAS and SATA could not have come at a more appropriate time. The two thrusts of: (1) the price of hard drives falling for a given capacity allowing people to create fairly large RAID groups, and (2) the massive performance potential of SSD’s; have combined to truly push the current 3 Gbps protocols. The new 6 Gbps protocols should help throughput a great deal, particularly for SSD’s.
The common features of the the new protocols are:
- Improved throughput (3 Gbps to 6 Gbps)
- Backwards compatibility
- Some minor improvements in performance
The new SAS-2 protocol went ever further increasing cable lengths and adding better controls and interoperability to zoning, allowing people to create massive SAS networks and even using them for SAN’s.
Whether SAS or SATA, the increased throughput to 6Gbps is a most welcome improvement allowing even home users to have “beastly” throughput.
Jeff Layton is an Enterprise Technologist for HPC at Dell. He can be found lounging around at a nearby Frys enjoying the coffee and waiting for sales (but never during working hours).