When last we left our story, we discussed some of the basics about what standards are, and how storage and storage connectivity fits into a standards based world. In this article, we’re going to take a slight detour and provide a bit of a bonus conversation about one of the most common storage standards in use today. Learning a little bit about ATA and Serial ATA (SATA) helps place all kinds of storage protocol standards – including Fibre Channel – into context.
What Is ATA and Serial ATA?
Advanced Technology Attachment (ATA) is a type of parallel data interface for disk drives that integrate the drive controller directly on the drive itself and utilizes the Integrated Drive Electronics (IDE) is a standard interface protocol. Due to the need for increased speed and reduced costs, the standards evolved into the Serial ATA (SATA) – abbreviated from Serial AT Attachment – and succeeded at becoming the predominant interface for connecting host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives.
The “AT Attachment” (ATA) name originated after the 1984 release of the IBM Personal Computer AT, more commonly known as the IBM AT. The IBM AT’s controller interface became an industry standard interface for the inclusion of hard disks. “AT” was IBM’s abbreviation for “Advanced Technology”. To avoid possible trademark conflicts, use of SATA, simply adding an “S”, became a more common name.
Today, the “S” implies Serial ATA – or SATA – as depicted in the below infographic provided by the Serial ATA International Organization (SATA-IO). According to (SATA-IO), as of Oct. 2018, SATA made up to 85% of the storage interconnect market. This would not have been possible without standardization.
Who “Owns” ATA and SATA?
As was referenced in the previous blog, the information technology sector is where Small Computer System Interface (SCSI), Fibre Channel (FC), and Advanced Technology Attachment (ATA/IDE) standards are developed under the governance of the International Committee for Information Technology Standards (INCITS). SATA compatibility specifications originated from the SATA-IO consortium. Looking at the big picture, the SATA-IO consortium collaboratively creates, reviews in collaboration with INCITs subcommittees T10 (which covers SCSI) and T11 (which covers Fibre Channel), ratifies, and publishes the interoperability specifications, test cases, and sponsors plugfests. The SATA specifications content ownership is transferred to primarily the INCITS T13 – ATA Storage Interfaces subcommittee.
SATA In Use, Today
The buzz in today’s storage interconnect market is around Non-Volatile Memory Express (NVMe). One of the most common (and popular) form factors for NVMe has been the M.2 standard specification drive type. You might be forgiven if you thought that M.2 was a new technology, developed just for NVMe.
However, solid state storage connectivity with the M.2 standard specification has been in use for over 6 years. Used for computer expansion cards and associated connectors, M.2 was incorporated as one logical SATA 3.0 (6 Gbit/s) port in the SATA standard revision 3.2 published in August, 2013. This integration of M.2, PCIe, I2C, and SATA into a standard product is a perfect example of how standards are developed to take advantage of new technologies while also integrating advances in existing standards.
The SATA 3.0 standard introduced in 2009 was focused on introduction of 6 Gbit/s physical layer and by 2013 SATA M.2 card standards were added, enabling easy incorporation of local solid state storage to enterprise servers as well as PCs without requiring SATA cables. As with other standards, the need for multi-generation support (also known as “backwards compatibility”) is a task for the subcommittees. The third-generation SATA interface was defined to double the previous generations’ transfer rate while being backwards compatible.
This was accomplished utilizing 8b/10b encoding. Since the maximum uncoded transfer rate of SATA 3.0 is 4.8 Gbit/s and is double that of SATA 2.0. So SATA 3.0 6Gbit/s is backward compatible with SATA 2.0 3 Gbit/s and SATA 1.5 Gbit/s, and introduced additional enhancements in a series of incremental revisions to the current version 3.4 published in 2018.
SATA standard version 3.2, defined in 2013, is what has become known as M.2 SATA. This specification included support for both SATA and PCIe (more on this in a second). Other highlights included hot plug support, allowing users to attach or remove a SATA storage device from a system while it is still running with no ill effects, and the Advanced Host Controller Interface (AHCI) interface compatibility.
AHCI allows for hot plug support and a drive optimization technology that improves performance called native command queuing (NCQ). The M.2 form factor supports multiple storage and non-storage use cases and is therefore more of a form factor and connector specification for computers. SATA, meanwhile, is a bus interface strictly for data storage devices. Although the term “M.2 SSD” may imply a SATA-based version of a M.2 module, it’s not a given, because M.2 can support both the SATA and PCIe storage interfaces, but, not both in the same module.
As we’ll see in a moment, there is a difference between the SATA bus and the PCIe bus…
One might question why the M.2 form factor and connector specification supports SATA and PCIe connectivity. One reason is that SATA is a bus interface strictly for data storage devices.
The M.2 specification allows device makers to fit flash storage modules into thin and light devices, like today’s razor-slim notebook PCs. M.2 isn’t exclusive to PCs, these sockets are found on many enterprise servers and desktop PC motherboards. M.2 not only supports SATA, and PCIe, it even supports USB 3.0, Bluetooth, Wi-Fi and Near-Field Communication (NFC) in certain configurations.
Upon closer examination of an M.2 module, users may notice that there are notches, or keys, where the connector pins are located, yielding asymmetrical pin configurations. These determine which interface the M.2 module uses and the bus (PCIe, USB 3.0, etc.) that it can connect to. It’s also a design that prevents slotting an M.2 card into an incompatible interface or placing it in a reverse configuration.
A SATA-based M.2 SSD is limited by SATA’s maximum limit of 600 MB/s. An M.2 SSD that supports PCIe enables it to use NVMe, a low-latency host controller interface specification that reaches PCIe 3.0 speeds of up to 4 GB/s, delivering comparatively to SATA, blistering performance on compatible motherboards.
In short, M.2 NVMe SSDs and PCIe out perform their SATA counterparts when it comes transferring data. Of course, this comes at a cost. However, when physical space is at a premium, M.2 is the most cost-effective way to add storage using a tiny card that barely takes up any room.
Essentially, SSDs can outperform the storage interfaces and bus architectures that were designed for spinning disks. NVMe can pump data at breakneck rates compared to SATA and at lower latency, providing brisk performance. Another characteristic of NVMe is its commands per queue capacity of 64K, and support for 64K queues. SATA makes do with a queue depth of 32 and a single command queue.
Don’t get too riled up about the queue differences, however. SATA has been an excellent technology for a long time, with good reason. In storage, after all, mature, stable, and boring are all good attributes to have!
Don’t count SATA out. The SATA standards are well established and it doesn’t look like it’s going away anytime soon. NVMe is expected to coexist with SATA, as well as SAS (Serial Attached SCSI) devices, within data center environments for the foreseeable future.
In today’s open computing environment, isn’t it a great advantage to have standards? The T13 subcommittee has developed and published SATA standards that work for the many involved in product development to provide the market a multi-vendor compatible advantage. As I sit at my laptop and type these words, I am comforted by knowing that my document will be saved on industry standard direct connected storage. I trust SATA attached storage in my PC, after all, the T13 standard has enabled this reality.
Keep an eye out for our next posting!