If you're getting into the storage game, even on a locally-attached basis, there are a number of options from which to pick when it comes to the way that you will connect your storage. In this article, I'll go over Parallel ATA (Advanced Technology Attachment) and SATA 1 (Serial ATA) and explain some of the differences between them, listing their pros and cons. Primarily, I will be going over the system interface types, rather than the actual disk types.
This series will be broken into three parts. For this article, I will present technologies based on the ATA/SATA standard. The second part will go over the SATA II and SCSI standards, while the last part will discuss fibre channel disks and provide a summary and comparison chart of the various connections.
Parallel ATA /IDE (Integrated Device Electronics)/EIDE (Enhanced IDE)
Arriving on the hard drive scene back in 1986, and originated by Imprimis (now owned by Seagate), Western Digital and Compaq, the ATA standard has been improved upon a number of times and spawned newer variations and enhancements, including ATA-2, Fast ATA, Ultra ATA, Ultra DMA and many more. While some low-end servers and storage devices do ship with ATA disks (not to be confused with Serial ATA, discussed next), ATA has some serious limitations.
Parallel ATA is a parallel interface with each channel supporting a maximum of two devices and a cable length of 0.5 meters. While the two-device limit per channel in and of itself is not that serious, the parallel nature of the interface reduces its performance since only one device at a time can communicate on the channel. Further, current ATA/IDE drives do not support transfer speeds of above 80 MBps or so, a figure which is purely theoretical under perfect circumstances. Moreover, the overall design of parallel ATA inhibits real-world performance gains beyond 100 MBps, meaning that the standard would need to evolve before making this leap.
Some Parallel ATA drawbacks
The Parallel ATA interface also suffers from some other problems. First, the sheer size of the cable, containing either 40 or 80 wires, makes installing a number of devices difficult. And, some parallel ATA cables are not keyed, meaning that they can accidentally be inserted upside down. The parallel ATA interface also uses high 5V signaling, which runs counter to manufacturer's efforts to lower overall system voltage requirements for cooler systems. Lastly, while recent versions of the ATA standard do include CRC checks on the data, ATA command data remains unchecked and is a potential source of errors, making it unsuitable for high-end storage needs.
Both parallel ATA and serial ATA suffer from operating system-induced capacity limitations. For those running versions of Windows prior to Windows 2000 SP3, your operating system (and drivers) imposes a 28-bit logical block address (LBA), meaning that the largest drive supported is 137 GB. Later versions of Windows support a 48-bit LBA and, thus, can use drives up to 144 petabytes in size.
Parallel ATA drives are mostly relegated to non-server scenarios, including both laptops and desktops, but even in these applications parallel ATA is giving way to the more efficient Serial ATA mechanism.
SATA (Serial ATA) – also known as SATA I
Serial ATA 1.0 was released in August of 2001 (with subsequent revisions 1.0a and 1.1) and provides significant improvements over parallel ATA. Most importantly, SATA provides a serial bus for data transmission, with a single device on each channel, thus eliminating device contention per channel. Second, SATA reduces the connector pin count from forty to a mere seven. This has also resulted in a much smaller cable, which is much easier to route in a chassis. Even better, each individual SATA cable can be up to 1 meter in length, double that of parallel ATA. The SATA connector is also keyed so you can't connect it incorrectly. And, since SATA is a point-to-point solution, there are no more master/slave jumpers to mess around with.
The SATA specification is designed in such a way that it is software compatible with parallel ATA, so all operating systems that support parallel ATA should have no problem supporting SATA disks…as long as you have a SATA controller card and cables, of course.
While many SATA implementations are point-to-point affairs, add-on SATA specs also allow for a port multiplier that increases the number of devices supported on a single channel from one to fifteen, utilizing the full bandwidth of the main connection to the host. However, fifteen disks would likely result in serious performance issues since the host connections in SATA run at speeds of only 150 MBps peak. An average disk provides about a 50-MBps transfer rate, meaning that a SATA port peaks at three disks. While all SATA controllers are supposed to support port multipliers to some degree, note that not all SATA I controllers have the features that enable port multipliers to be used in a performance-enhancing fashion.
On the voltage front, SATA has a reduced signaling voltage requirement of 500mV, down from parallel ATA's 5V requirement. SATA also supports the ability to hot-plug new devices, which was not possible with parallel ATA.
Overall, SATA I satisfies many of the problems associated with parallel ATA, but even with a slight increase in its theoretical speed (up to 150 MBps from parallel ATA's maximum theoretical speed of 133 MBps), lower signaling voltage, and cables that about a million times better, SATA I is still very much rooted in ATA-land and lacks many of the advanced features required for high-end storage.
SATA II, starting to seriously hit the market now, improves on SATA I. The specification calls for improvements that make it more enterprise-ready, including support for higher speeds, native command queuing, and more. I will provide an overview of SATA II in my next article.