What is Serial ATA
by Dr. Fred
Twenty years after its first iteration, after having been augmented and modified beyond recognition up to its current 133MB/s transfer speed, PATA is sitting at a technological dead end. The fact that it uses parallel signaling implies many of the same limitations as PCI, and as such it is essentially impossible to push it any further while maintaining costs.
This is where Serial ATA comes in. SATA uses serial signaling instead of parallel, which offers much higher speeds, greater flexibility and lower implementation costs than PATA. Where ATA133 is constrained to a 33MHz clockspeed pushing 32 bits of data per clock cycle (which yields 33 x 32 / 8 = 132MB/s), SATA manages an incredible 1.5GHz with 1 bit transfer per clock. This would yield 187.5MB/s, but - like PCIe - SATA uses 8b/10b encoding, which cuts down bandwidth by 20%. This gives us (187.5 x 0.8) = 150MB/s for the SATA I specification.
This isn’t very impressive in itself, but one has to consider three things. First of all, current consumer storage devices don’t really need any extra bandwidth just yet. Second, the specification will double to 300MB/s (SATA II) fairly soon, and again to 600MB/s (SATA III) by 2010. Lastly, SATA brings several major enhancements to the table, which alone are more than worth the switch:
It uses a point-to-point topology, which means there can only be one device per channel. This might seem like a step back, as PATA allows two devices for each connector on the motherboard, but the 133MB/s bandwidth has to be shared between them which causes some serious bottlenecking when they’re both used simultaneously. SATA allows a full 150MB/s for each device, and does away with those pesky master/slave jumpers. Considering one can fit four SATA headers in the same space as a single PATA header, this also doesn’t cause any limitations in number of drives allowed.
Where PATA requires a gargantuan 80 wires (40 data and 40 ground) per connector, SATA only needs seven (4 data, 3 ground). Less wires means less interference, and signal voltage is therefore reduced from 5V to 250mV which in turns requires less shielding. SATA cables end up being smaller, thinner and more flexible as a result. The SATA spec also allows for cable lengths up to 1m (40”), compared to only 45cm (18”) for PATA.
SATA is hot-swappable, thanks to a new 15-pin power connector, which makes use of all three power rails (+3.3v, +5v and +12v). This provides a nice middle ground between external Firewire/USB drives and SCSI, which should be welcome on workstations and low-end servers. Note that some SATA drives still use the same 4-pin molex power connector as PATA drives, which most definitely does not allow hot-swapping.
SATA supports something called “first-party direct memory access” (or first-party DMA). Essentially, on a PATA system, DMA transfers are managed by the IDE controller on the motherboard, which handles handshaking and memory addressing for all devices. This is pretty inefficient, however, as the controller can’t keep up when multiple devices are in use. First-party DMA simply means that the devices themselves are able to fully handle DMA transactions, which removes the bottleneck at the controller level and improves overall speed.
SATA also brings superior error checking to the table. Where PATA only supports error detection for data bits in its latest iteration, SATA uses 32-bit CRC checking for all bits (data, signal and status) which guarantees integrity between sent and received data. Like hot-swapping, this should help SATA gain some market share in the low-end server market, where SCSI has pretty much been the only choice for years.
Lastly, SATA is fully compatible on the software layer with PATA, and uses the same protocol to transmit data. This maintains compatibility at the OS level (as long as the right drivers for the SATA controller itself are installed), and also enables relatively cheap SATA to PATA (or vice versa) adapters. This means that you can keep using your old PATA devices in a 100% SATA system without having to invest in a third-party PATA controller card. Conversely, you could also buy an SATA drive now and use it in an all-PATA system. This provides a great deal of upgrading flexibility and is really quite a refreshing addition.
So there you have it. While, from a performance point of view, consumer 7200RPM drives don’t seem to benefit very significantly from the interface change, there are still plenty of reasons to make the switch. As spindle speeds and cache sizes increase, and new technologies such as NCQ (native command queuing) bring greater overall transfer speeds, SATA should scale nicely without holding back further device development.
This article is ©2009 by the respective authors. Reproduction is prohibited without express permission from all contributors.