Sunday, November 15, 2009

Serial ATA

Serial ATA (SATA or Serial Advanced Technology Attachment) is a computer bus interface for connecting host bus adapters to mass storage devices such as hard disk drives and optical drives. Serial ATA was designed to replace the older ATA (AT Attachment) standard (also known as EIDE). It is able to use the same low level commands, but serial ATA host-adapters and devices communicate via a high-speed serial cable over two pairs of conductors. In contrast, the parallel ATA (the redesignation for the legacy ATA specifications) used 16 data conductors each operating at a much lower speed.

SATA offers several advantages over the older parallel ATA (PATA) interface: reduced cable-bulk and cost (reduced from 80 wires to seven), faster and more efficient data transfer, and hot swapping.
The SATA host adapter is integrated into almost all modern consumer laptop computers and desktop motherboards. As of 2009, SATA has replaced parallel ATA in most shipping consumer PCs. PATA remains in industrial and embedded applications dependent on CompactFlash storage although the new CFast storage standard will be based on SATA.

SATA specification bodies
Serial ATA industry compatibility specifications originate from The Serial ATA International Organization (aka. SATA-IO, The SATA-IO group collaboratively creates, reviews, ratifies, and publishes the interoperability specifications, the test cases, and plug-fests. As with many other industry compatibility standards, the SATA content ownership is transferred to other industry bodies: primarily the INCITS T13subcommittee ATA, the INCITS T10 subcommittee (SCSI); a subgroup of T10 responsible for SAS. The complete specification from SATA-IO. The remainder of this article will try to use the terminology and specifications of SATA-IO.
The SATA-IO succeeded in its mission of improving PATA. More than 1.1 billion SATA disk drives have been shipped from 2001 through 2008. SATA’s market share in the desktop PC market is 99% in 2008.


The Serial ATA Spec includes logic for SATA device hotplugging. Devices and motherboards that meet the interoperability spec are capable of hot plugging.

Advanced Host Controller Interface
As their standard interface, SATA controllers use the AHCI (Advanced Host Controller Interface), allowing advanced features of SATA such as hotplug and native command queuing (NCQ). If AHCI is not enabled by the motherboard and chipset, SATA controllers typically operate in "IDE emulation" mode, which does not allow features of devices to be accessed if the ATA/IDE standard does not support them.
Windows device drivers that are labeled as SATA are often running in IDE emulation mode unless they explicitly state that they are AHCI mode, in RAID mode, or a mode provided by a proprietary driver and command set that was designed to allow access to SATA's advanced features before AHCI became popular. Modern versions of Microsoft Windows, FreeBSD, Linux with version 2.6.19 onward, as well as Solaris and OpenSolaris include support for AHCI, but older OSes such as Windows XP do not. Even in those instances a proprietary driver may have been created for a specific chipset, such as Intel's.