SATA stands for Serial Advanced Technology Attachment. It is an interface used to connect storage devices like hard disk drives (HDDs), solid state drives (SSDs) and optical drives to a computer’s motherboard. SATA provides a serial interface that can transfer data sequentially one bit at a time, unlike the parallel interface used by older storage interfaces like PATA/IDE.
Introduction to SATA
The SATA interface was introduced in the early 2000s as a replacement for the older PATA (Parallel ATA) interface used by IDE hard drives. SATA provided several improvements over PATA, including:
- Higher transfer speeds – SATA has much higher maximum bandwidth than PATA, starting at 150MB/s for SATA 1.0 and going up to 600MB/s for the latest SATA 3.0 version.
- Thinner cables – SATA uses much thinner cables compared to the wide ribbon cables used by PATA. This allows improved airflow and cable management in computer cases.
- Point-to-point connectivity – SATA has a direct connection between the storage device and the controller, unlike PATA’s shared bus architecture. This improves signal integrity and allows hot swapping of devices.
- Native command queuing – SATA supports NCQ which allows the drive to optimize command execution order for increased performance.
Due to these advantages, SATA quickly replaced PATA as the interface of choice for HDDs, SSDs and optical drives like CD/DVD drives. Today SATA remains the primary storage interface used in desktop and laptop PCs.
SATA Generations and Speeds
There have been several iterations of the SATA interface over the years, each bringing increased bandwidth:
- SATA 1.0 – Released in 2003, the first SATA version provided up to 150MB/s transfer speeds.
- SATA 2.0 – Released in 2004, SATA 2.0 doubled maximum bandwidth to 300MB/s.
- SATA 3.0 – Launched in 2009, SATA 3.0 or SATA 6Gbps boosted speeds up to 600MB/s.
- SATA 3.1 – Introduced in 2017, SATA 3.1 increased theoretical bandwidth to 1969MB/s using 16b/66 encoding, but practical speeds are similar to SATA 3.0.
- SATA 3.2 – The latest SATA spec launched in 2021 as an incremental update over 3.1. It adds a new feature called Spread Spectrum Clocking but has similar speeds to SATA 3.0/3.1.
In the real world, SSDs rarely saturate even the SATA 3.0 bus limit of 600MB/s, but the extra headroom allows drives to maintain peak performance even in demanding situations with sustained file transfers or heavy random I/O.
SATA Connectors and Cables
SATA connectors have two pairs of data signals, unlike PATA which multiplexes 16 bits of data through a single cable. There are three main SATA connector types defined by the specification:
- SATA 7-Pin – Typically used for connecting drives to motherboard SATA ports internally. Provides two pairs of transmit and receive signals.
- SATA 15-Pin – Used by SATA power cables to provide voltage to the drives. Provides 3 voltage lines – 3.3V, 5V and 12V.
- SATA eSATA – A connectors used for external SATA ports. Has a shape that prevents accidentally plugging internal cables into external ports.
SATA cables have a thin, 7-pin SATA connector on each end. Cables are not shielded but use differential signaling, so most standard SATA cables are limited to lengths under 1 meter. Active cables with built-in signal boosters can extend this distance up to 10 meters.
How SATA SSDs Work
A solid state drive with a SATA interface is designed to connect directly to a SATA host port on the computer’s motherboard or a SATA expansion card. The SSD has a SATA connector that plugs into the SATA port, providing point-to-point connectivity between the SSD controller and the host SATA controller.
Internally, a SATA SSD contains:
- An SSD controller – This manages all data I/O operations like reading, writing, wear leveling and error correction.
- NAND flash memory – Stores data in non-volatile flash memory cells that retain data when power is removed.
- DRAM cache – Provides fast temporary storage to buffer data in transit to improve performance.
- Firmware – Software that provides the OS interface and manages background tasks like garbage collection.
The SSD controller connects to the host over the SATA bus. It also connects to the NAND flash memory via flash channels. An SSD with a SATA interface typically has between 2 to 8 NAND flash chips connected to the controller by these internal channels.
When the host wants to read or write data on the SSD, it sends the appropriate SATA protocol command over the interface. The SSD controller interprets the command and performs the desired operation by reading or writing data to the NAND flash memory chips.
For example, on receiving a read request, the controller will fetch the data from the NAND chips and place it in the DRAM cache, then transfer it over the SATA interface to the host. For writes, it moves data from the SATA bus into the DRAM cache, then flushes it to the NAND flash storage when convenient.
SATA SSD Form Factors
While the SATA interface defines the electrical and logical signaling protocols, it does not specify the physical shape and size of the drive itself. SATA SSDs come in several common form factors:
- 2.5-inch – The most common form factor used by SATA SSDs in laptops and desktops. Has physical dimensions of 2.75″ x 3.96″.
- M.2 – Compact, flat form factor commonly used in laptops and small PCs. M.2 SSDs plug directly into an M.2 slot on the motherboard.
- mSATA – A miniaturized version of the 2.5-inch drive with dimensions of only 1.8″ x 3″. Used where smaller SSDs are required.
- U.2 / U.3 – Enterprise SSD form factors that connect drives over a SATA interface. Used in servers and storage arrays.
The SATA interface supports hot-swapping, so 2.5-inch or U.2 SATA SSDs can be replaced in supported systems without powering down. The compact M.2 and mSATA drives need to be plugged into a fixed motherboard slot and don’t support hot swapping.
SATA 3.0 Interface Bandwidth
SATA 3.0, also known as SATA 6Gbps, has a maximum theoretical bandwidth of 600MB/s. However, the actual usable speed is lower due to encoding overhead and protocol limitations. The usable bandwidth depends on the type of traffic:
- Sustained Sequential Reads – Up to 550 MB/s
- Sustained Sequential Writes – Up to 550 MB/s
- Random 4K Reads – Up to 85,000 IOPS
- Random 4K Writes – Up to 90,000 IOPS
In addition, commands and protocol handshaking also consume interface bandwidth. So in practice, the highest real-world transfer speeds over a SATA 3.0 bus are around 550MB/s for sequential traffic.
Despite the limits, this is more than enough headroom for even the fastest SATA SSDs today. Top SATA SSDs can sustain sequential reads/writes of over 500MB/s and random 4K IOPS well over 50,000. So they can easily saturate a SATA 3.0 bus if enough parallel IO commands are queued up.
SATA vs PCIe SSDs
SATA has been the defacto way to connect SSDs for many years, but newer PCIe SSDs are growing in popularity. PCI Express offers much higher interface bandwidth compared to SATA – up to 4GB/s for PCIe 4.0 x4. This allows PCIe SSDs to achieve much faster speeds.
Here is a general comparison between SATA and PCIe SSDs:
SATA SSD | PCIe SSD | |
Interface | SATA 3.0 (6Gbps) | PCIe 3.0/4.0 x4 |
Max Bandwidth | 600MB/s | Up to 4GB/s |
Max Read Speed | 550MB/s | 3,500 – 7,000 MB/s |
Max Write Speed | 520MB/s | 3,000 – 5,000 MB/s |
IOPS | Up to 100K | Up to 1 million |
Interface overhead | Higher | Very Low |
CPU overhead | Minimal | Higher |
Cost | Lower | Higher |
The primary advantage of PCIe SSDs is the enormous bandwidth of the PCIe interface, which allows for SSD speeds that simply aren’t possible over SATA. However, most consumer workloads don’t require this level of performance yet. And SATA SSDs cost significantly less than PCIe drives.
So SATA SSDs still offer the best balance of speed and cost for everyday users. But PCIe SSDs are preferred where maximum throughput and low latency is required – like in workstations or high performance servers.
SATA Compatibility
SATA has excellent backwards and forwards compatibility between different revisions of the SATA specification. This helps make transitioning between SATA generations smooth and non-disruptive.
Key SATA compatibility guidelines include:
- A SATA 1.0 or 2.0 drive will work in a faster SATA 3.0/3.1 port, albeit at the lower speed that device supports.
- A SATA 3.0 drive will work in a slower SATA 1.0 or 2.0 port.
- Mixing SATA drive generations on the same cable or controller is fine – each will simply operate at its rated speed.
- Hosts negotiate the fastest common speed supported by both host and device.
- Software compatibility is maintained between SATA revisions – the same AHCI driver software can support all versions.
This forward and backward compatibility makes SATA very flexible. For example, you can easily add a new fast SATA 3.0 SSD to an older system that only has SATA 1.0 ports without any issues – it will simply run at the slower SATA 1.0 speed. Then if you upgrade the system later, that SSD will seamlessly speed up to the faster SATA 3.0 performance.
Hot-plug and Hot-swap Support
A very useful feature of the SATA interface is hot plug and hot swap support. This allows SATA devices to be attached and removed without rebooting the system.
For example, you can hot-plug a SATA storage drive by simply plugging it into a SATA port or drive bay without powering off the system first. The drive will be automatically detected and made available to the OS.
Hot swapping takes this a step further by allowing devices to be swapped in/out while the system remains on. To hot swap a SATA device:
- Unmount or offline the drive if mounted to avoid data corruption.
- Remove the old drive and insert the replacement.
- The new drive is detected and made available.
Hot swap support requires hardware that specifically implements hot swap – like SATA drive bays designed for hot swapping. But it provides great flexibility for storage maintenance and upgrading.
Conclusion
SATA has been the interface of choice for connecting SSDs, HDDs and optical drives for almost 20 years now. Its simple, robust design and ability to provide sufficient bandwidth for most consumer storage devices has ensured SATA’s longevity.
Support for hot plugging and hot swapping also makes SATA very flexible for upgrades and maintenance. And excellent cross-generational compatibility enables SATA devices to work across various revisions of the SATA specification.
While the newer PCIe interface offers much higher bandwidth for incredibly fast SSDs, SATA continues to serve most home and office usage well. SATA SSDs can saturate a SATA 3.0 bus, delivering up to 550MB/s speeds that are more than adequate for everyday usage.
So for tasks like booting an OS, launching applications, loading game levels or editing documents, a SATA SSD provides excellent performance while being very cost effective. This combination of good-enough speed and affordability has helped SATA persist as the storage interface of choice for mainstream computing.