Serial ATA (SATA) and its cousin, Serial Attached SCSI (SAS), promise smaller, faster, more reliable drives with features that system and embedded designers can really use.
It has become the norm to replace parallel interfaces throughout system design. PCI Express will push PCI and PCI-X out the door, so it's no surprise that SATA and SAS will do the same to parallel ATA and SCSI. The wave of SATA 1 drives and controllers is just the beginning. The backward-compatible SATA II is where the real action will be, and it likely will be the target for embedded designers.
SATA probably will lead SAS (see "SAS Appeal," right) by a wide margin because SATA II offers more SCSI-like features, such as command queueing and hot-swapping. On the other hand, SAS controllers more likely will find their way into general use because they can support SATA drives. It's no longer necessary to toss out a controller to get new SAS features. This interchange feature means designers can leave the choice of a SATA or SAS hard drive to consumers. It also can provide an upgrade path to higher-performance SAS drives. SAS connectors will accept SAS and SATA cabling, although SATA connectors will only work with SATA devices.
Higher performance isn't the only reason vendors are switching to SATA. Cutting the number of wires in the cable is key to reducing internal system clutter and improving air flow. This will actually be more important to embedded designers, where reduced space and cooling requirements make a larger difference than they do in a desktop PC or tower server. SATA also is point-to-point, not daisy-chain, as used by parallel ATA and SCSI.
SATA 1 provides transparent support for parallel ATA commands requiring no change in software. This remains true for SATA II devices. But like PCI Express, SATA II takes a step forward in functionality by adding command queuing and other new functions.
SATA's point-to-point architecture changes the way devices are connected to the controller. Logically, each device has its own controller. SATA II defines port multiplexers and port selectors. A multiplexer links a single SATA controller to multiple devices, but only one can be active at a time. Selectors enable multiple controllers to access a single device. This is usually found in a RAID system where redundant connections are useful. Both types of port controllers provide a single level of fanout. SAS, on the other hand, has multiple active devices and multiple fanout levels in its specification. SATA II also supports SCSI-style management.
SATA switches will become commonplace on motherboards. These switches are different from selectors and multiplexers, as a switch will provide a transparent link between a controller and device. It's configured using an out-of-band system that's switch-specific. For the most part, switches allow a controller to be connected to an internal or external SATA device.
Eventually, SATA controllers will be found on microcontrollers simply because they lower the pin count necessary to interface to a device. Though change will be more deliberate in embedded systems, it should commence right away.
|Throughput||1.5-Gbit/s SATA 1a
3.0-Gbit/s SATA II
6.0 Gbits/s in the future
|Benefits||Higher throughput (SATA II), smaller cables|
|Cabling||Data: four-wire (two serial links) Power|
|Connectors||Multiple specifications including split data/power and high-density connectors|
|SATA II Enhancements|
|Command queuing||Maximum of 32 outstanding requests|
|Port multiplier||Maximum fan-out of 15 devices, single-level branching, single active link|
|Port selector||Provides redundant controller access to a single device, single-level branching, single active link|
|Management||SAF-TE (SCSI Accessed Fault-Tolerant Enclosures), SES (SCSI Enclosure Services), I2C out-of-band management|