SATA (SATA)
SATA is the standard connection for hard drives and older SSDs. It uses a thin data cable and a separate power cable, and almost every desktop motherboard has several SATA ports. It is plenty fast for hard drives and bulk storage, but newer NVMe drives have left it behind for speed.
Serial ATA (SATA) replaced parallel ATA (IDE) in the early 2000s.
Revisions:
| Revision | Line rate | Usable throughput |
|---|---|---|
| SATA I | 1.5 Gb/s | ~150 MB/s |
| SATA II | 3 Gb/s | ~300 MB/s |
| SATA III | 6 Gb/s | ~600 MB/s (SSDs top out near 550 MB/s) |
Protocol: the host uses AHCI, which supports NCQ with one queue of 32 commands, designed for spinning disks. NVMe replaced this for flash.
Connectors: 7-pin data, 15-pin power. M.2 SATA drives use the M.2 slot but the SATA protocol and speed, so an M.2 drive is not automatically NVMe. eSATA was an external variant, now rare.
Hot-plug is supported when AHCI mode is enabled in firmware.
SAS (Serial Attached SCSI) is the server cousin: SAS controllers accept SATA drives, but SATA controllers do not accept SAS drives.
Linux: SATA disks appear as /dev/sdX through the libata driver. Set the firmware storage mode to AHCI, not RAID or Intel RST, or Linux may not see the drives.
Checking SATA links
# Disks and their transport
$ lsblk -d -o NAME,TRAN,ROTA,SIZE,MODEL
NAME TRAN ROTA SIZE MODEL
sda sata 1 3.6T WDC WD40EFPX
# Negotiated link speed from kernel logs
$ sudo dmesg | grep -i "SATA link up"
ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
# Interface details and health
$ sudo smartctl -i /dev/sda | grep -i "sata version"
SATA Version is: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s) SATA is still the right home for large hard drives in a NAS and for budget SSDs in older machines. If a SATA SSD benchmarks at half speed, dmesg may show the link at 3.0 Gbps because of an old port or bad cable. CRC errors in SMART data almost always mean a cable problem, not a dying disk. When adding NVMe drives, check the manual; some M.2 slots disable SATA ports when populated.