ATA-ATAPI.COM
Serial ATA (SATA)

[Home] [Products] [HowItWorks]

What is Serial ATA (SATA)?

Serial ATA or SATA is the newest version of the ATA interface. SATA claims to support all the traditional ATA functions but does it over an interface cable with only 7 wires (instead of the normal 40 wires for traditional parallel ATA interfaces). SATA also claims it will be faster but the history of serial interfaces indicates you must be careful when reading such speed claims.

Discussing SATA is difficult because: a) SATA was created by a "secret society" that prohibits members from talking outside of their meetings, b) current SATA documents are available only to the members of the "secret society", c) by the time a SATA document is made public it is basically obsolete and has been replaced by a new but secret SATA document, d) the SATA "secret society" is working with the Serial Attached SCSI (SAS) committee(s) to also replace SCSI, e) the SATA documents that are public may be or will be re-published (probably with some changes?) by the T10 and T13 standards committees. All of this makes SATA a very confusing mess!

There is no doubt that SATA is in your future. SATA hard disk drives and PCI bus SATA host controllers are shipping today. And there are some motherboards shipping today with SATA interfaces. If SATA is successful it will probably replace traditional parallel ATA with a few years.

Serial ATA (SATA or SATA-1)

FIRST, THINGS YOU DO NOT DO WHEN USING SATA!

If you are setting up a system using SATA here are some things you must be aware of:

Why all these warnings? The basic problem is that the SATA cable connector is not shielded. This has to be the number one most stupid thing that has been done in the SATA world.

SECOND, LETS TALK ABOUT SATA RELIABILITY!

Are you thinking about buying a Serial ATA system and drive? If yes, read this... The Serial ATA (or SATA) products that are now shipping and available in your local computer store may not be the most reliable products. Testing of SATA products with tools such as the ATACT program are finding a variety of problems. These problems are timeout errors, data compare errors, and strange status errors. These problems are being reported by a large number of people doing SATA product testing. The best advice at this time is to be very careful - make sure you can return the SATA product you purchased if it does not perform as you expect. See the ATACT link above for some ATACT log files showing both normal testing of a parallel ATA (PATA) drive (no errors!) and testing of a SATA drive (lots of errors!).

The unshielded SATA cable connector is most likely the source of many of these problems. Making things worse is the failure of the SATA specification to implement an equivalent to the ATA Soft Reset. On a PATA interface Soft Reset rarely fails to get ATA/ATAPI devices back to a known state so that a command can be retried. On a SATA interface the equivalent to this reset does not seem to reset anything and at some times it is basically ignored by the SATA controller and device.

And finally... Don't buy SATA because it claims to be faster than PATA. The marketing claims that it can transfer data at up to 150MB/second (making it faster than the fastest PATA Ultra DMA mode, mode 6 or 133MB/second) will not be seen with the SATA products that are shipping today (late 2003). Today's SATA products are actually 10% to 20% slower than PATA. This is because today's SATA products are really PATA products with an extra SATA-to-PATA 'bridge chip' in the device. These bridge chips add significant overhead to the SATA protocols. In time there will real 'native' SATA devices that do not need these bridge chips - then we can see the true performance of SATA. But remember SATA is a 'serial interface' and serial interfaces rarely live up to their marketing claims.

THIRD, BACK TO THE SATA BASICS...

THE SPECIFICATION MESS

Serial ATA or SATA may be the best thing to happen in the I/O interface world in a long time. But the way SATA has been developed has resulted in a huge confusing mess. We may be entering a period when not one, but three (or four) separate organizations may be publishing SATA specifications and standards. Those organizations are: the SATA "secret society", the ANSI standards committee T13 (ATA/ATAPI), the ANSI standards committee T10 (SCSI) and a sub-group of T10 known as the Serial Attached SCSI (SAS) committee. Each of these organizations may publish versions of SATA that are slightly different.

How did we get to this state of affairs? First, several years ago, Intel formed a "secret society" to work on a serial interface version of the traditional parallel ATA interface. That group of companies developed and published the SATA (now called SATA-1) specification. SATA devices that are shipping today (mid-year 2003) generally conform to this specification. Second, the SATA-1 specification has been given to the ANSI T13 committee and it has now become volume 3 of the ATA/ATAPI-7 standard. Third, the SATA secret society continues to work and now the SATA specification they have doesn't always match what is in ATA/ATAPI-7. And, as you will see in the next section, SATA and SAS may merge.

WHAT IS SATA?

SATA uses a 7 wire interface. Three of the wires are ground signals. The other 4 are two pairs of differential signals - one pair in each direction. SATA is using the transceiver technology used by Fiber (Fibre) Channel. Today's hardware runs at 1.5GHz and should be at 3GHz soon. ATA commands, status and data are transmitted in packets on this interface. This is done such that the traditional ATA command protocols are basically unchanged (more about this below).

How fast is SATA? Well... There are claims that it can transfer data up to 150Mbytes/second. Remember this is a burst data rate, not an average data rate. Parallel ATA using UltraDMA mode 6 (UltraDMA 133) claims it can transfer data up to 133Mbytes/second. Again this is a burst data rate and not an average data rate. Average data rates are probably less than 1/2 of these numbers, perhaps even as low as 1/3. Yes, SATA is in theory "faster" - but not by much.

SATA-1+ and SATA-2 (neither are part of ATA/ATAPI-7 at this time) include new data transfer and tagged command queuing schemes. It is unclear if these things will ever appear in future ATA/ATAPI-x standards. They may only appear in the SATA-2/SAS documents.

SATA supports a single device per SATA cable. A SATA cable can be longer than a parallel ATA cable (limited to 1.5 feet), perhaps up to 2 or 3 feet long.

SATA Programming (Today)

2003...

SATA-1, the SATA version that will be included in ATA/ATAPI-7, is designed to emulate traditional parallel ATA. Most SATA host controllers shipping today look like and are programmed just like any other ATA host controller. These controllers are compatible with the Intel ICHx design and compatible with the T13 1510D document. This allows SATA controllers and devices to be used in systems without BIOS or OS driver changes.

The biggest problem with today's SATA host controllers is that SATA gets errors that never happened on PATA. And today's SATA host controllers do a very poor job of reporting these errors to the host software. Then there is the problem of having an OS device driver for SATA that understands these errors and knows how to recover from the error conditions. As of September 2003, T13 is just now starting to talk about these problems.

There are some SATA host controllers that are not ICHx compatible and these require proprietary BIOS or OS drivers. We can only hope that the Intel AHCI specification effort is successful in bringing us a new and better SATA host controller standard.

SATA Programming (Tomorrow)

2004 and beyond...

We don't know what SATA host controllers will look like a year from now. We can only hope that we will finally have controllers that will support four to eight or more SATA devices and that all devices will be able to transfer data at the same time. Basically this finally gives us the kind of I/O we want (and/or need), fully independent I/O for each mass storage device, no more waiting for one device to finish a command before we can start a command on another device.

The problem today is that there is no public standard for how future SATA controllers should be designed or programmed. Intel has announced that they have something called the AHCI specification. But today (late 2003) this specification is under NDA.

Serial ATA-2 (SATA-2)
or is it
Serial Attached SCSI (SAS)?

Soon after completing the SATA-1 specification the SATA "secret society" continues working and have joined forces with the Serial Attached SCSI (SAS) sub-committee of T10 to merge SATA and SAS. The result so far is yet another version of SATA known as SATA-2. The end result is unclear. There are lots of poeple that would like to replace SCSI - remember 1394 was going to replace SCSI. It is fun to read some of the marketing hype: SATA and SAS have joined forces to "create the I/O interface that will solve every problem every known to exist in I/O interfaces". When have we heard this before?

Only time and questionable marketing practices will determine the outcome of this... Until the answer is known you should keep an eye on these two web sites:


Page updated 25 Oct 2005.