SATA, the Next Generation
SATA, the Next Generation
Understanding Native Command Queuing
Introduction
Serial ATA (SATA) is the emerging replacement for ATA/IDE drive interfacing. While early SATA drives did not provide performance significantly faster than ATA/IDE drives, the newest SATA drives feature support for command queuing, which can provide better real-world performance in some cases. This article discusses how command queuing works and helps you determine which products support which types of command queuing.
Serial ATA, a Mainstream Data Storage Solution
In the last two years, Serial ATA (SATA) hard drives and host adapters (see my article http://www.quepublishing.com/articles/article.asp?p=339070
for examples) have finally become common in high-performance systems. As I discuss in Chapter 7 of Upgrading and Repairing PCs, 16th Edition, http://www.quepublishing.com/promotion/1634#_, SATA drives are designed to transfer data at up to 150MBps, which is significantly faster than the 133MBps transfer rate supported by the fastest ATA/IDE standard, ATA-133 (also known as ATA-7). However, real-world performance of SATA drives has been about the same as ATA/IDE drives.
Now that SATA has proven itself in the marketplace, with most recent mid-range and high-end motherboards using Intel, nVIDIA and VIA chipsets including two or more SATA host adapters, hard disk drive manufacturers have gone back to the drawing board to make the promises of SATA become a reality.
Native Command Queuing
The most important improvement in new SATA drive designs is the introduction of a technology called native command queuing (NCQ). NCQ works by enabling the drive to re-sequence data read/write commands in the most efficient order of execution. It uses direct memory access (DMA) to improve data transfer performance, and it uses an always-available channel to indicate which commands have been completed.
When an SATA drive using NCQ is given commands to read or write data, it uses an algorithm called Rotational Position Ordering (RPO). RPO takes into account the location of the read/write heads relative to the data and the seek distance. When necessary, the order of commands is changed to enable the drive to access the data in the shortest amount of time. This is comparable to taking your shopping list and rewriting it so that the items in aisle one are listed first, those in aisle two are listed next, and so on.
Seek latency optimization enables the hard disk to accept new commands and continue to reorder them for best performance, just as an elevator can accept new floor requests at each stop, but continues to go to the highest or lowest floor requested before reversing order.
When data is being retrieved, the data might also be retrieved from the disk in an order different than it was requested by the host. This feature, known as out-of-order data delivery, enables an SATA hard disk to retrieve data more quickly than if it read the data in sequence.
By using NCQ, the latest SATA drives have performaned as much as 33% faster than SATA drives without NCQ, according to Seagate benchmarks (available at http://www.seagate.com/products/interface/sata/benchmark.html). However, NCQ's benefits in the real world are primarily found in RAID applications, rather than in single-drive installations.
NCQ Not the Only Command Queuing Solution
NCQ, as the name implies, requires a native SATA interface in the hard disk to function. Seagate was the first vendor to introduce drives with a native SATA interface, and Maxtor also offers NCQ in its newest desktop SATA drives. Some vendors, such as Western Digital, manufacture SATA drives which contain an ATA/IDE (parallel ATA) to SATA bridge. At first glance, it might appear that bridged drives could not support command queuing, however, a subset of NCQ known as tagged command queuing (TCQ) has been available ever since the ATA/4 standard was released in 1996. Although TCQ has been widely used in SCSI drives for some years, TCQ was not widely used in ATA/IDE drives because its benefits were minimal in desktop computers.
Western Digital uses TCQ in its Raptor enterprise-level SATA drives, which are designed for SATA RAID server installations in place of the traditional SCSI RAID arrays, but does not support TCQ in its desktop Caviar SE drives. None of WD's products currently support NCQ.
Who's Who in Next-Generation Serial ATA Drives
Use Table 1 to compare current drives which support some form of command queuing.
Table 1 Serial ATA Drives with Command Queuing Support
Vendor |
Hard Disk Model# |
Capacities |
Onboard Cache |
RPM |
Maxtor |
Ultra16 |
250GB 300GB |
16MB |
7200 |
Seagate |
Barracuda 7200.8 |
250GB 300GB 400GB |
8MB, 16MB |
7200 |
Western Digital |
Raptor |
36.7GB 74GB |
8MB |
10,000 |
Chipset and BIOS Support Requirements
For command queuing to function, drives with NCQ/TCQ must be connected to host adapters which support command queuing. PCs using motherboards with one of the following South Bridge or I/O Controller Hub chips support command queuing in their integrated Serial ATA host adapters:
Intel ICH6 family
VIA VT8251
In addition to using a chipset with command queuing support, you also need to enable a new SATA configuration BIOS setting known as Advanced Host Control Interface (AHCI), which supports command queuing as well as hot-plugging of SATA drives. If your system has a supported SB/ICH chip but the BIOS does not offer the AHCI option, contact your motherboard or system vendor for information about a BIOS upgrade. If you enable AHCI after you install Windows XP, you need to reinstall Windows to enable support for this feature.
Some third-party SATA host adapter cards and chips also support NCQ/TCQ. These are listed in Table 2.
Table 2 Third Party SATA Products Supporting Command Queing
Vendor / Website |
Model # |
SATA RAID |
NCQ |
TCQ |
Form Factor |
High Point http://www.highpoint-tech.com |
RocketRAID 1820A |
0,1, 0+1, 5, 10 |
Yes |
Yes |
PCI card |
Promise http://www.promise.com |
FastTrak TX4200 |
0, 1, 0+1 |
Yes |
Yes |
PCI card |
FastTrak TX4200 |
0, 1 |
Yes |
Yes |
PCI card |
|
Silicon Image http://www.siliconimage.com |
Sil3124-1, Sil3124-2 |
0, 1, 0+1, 5 |
Yes |
Yes |
Chip for PCI-X OEM products |
Do You Need Command Queing Support?
Although drive manufacturers which support NCQ or TCQ are enthusiastic about the benefits of these features, most current computer users can't use NCQ or TCQ without a motherboard or host adapter upgrade. And, because NCQ and TCQ are designed to handle high volumes of randomized data retrieval, a single drive installation, even with many programs running, doesn't stress the disk subsystem enough to make the expense worthwhile.
The story is different when you look at RAID installations, particularly RAID 0 (striping), RAID 0+1 (striping and mirroring) or higher levels. In RAID arrays, command queuing does make a significant difference in performance.
If you're planning a motherboard or system upgrade which will include SATA RAID, you should look for motherboards and drives which support command queuing. However, if you've decided to skip SATA-150 drives altogether and wait for the 300MBps SATA-300 drives, they'll start arriving in 2005, and NCQ is an integral part of that specification.
For Further Research
Drive Vendor Websites
Learn more about NCQ-enabled drives from Seagate at http://www.seagate.com
Learn more about NCQ-enabled drives from Maxtor at http://www.maxtor.com
Learn more about TCQ-enabled drives from Western Digital at http://www.wdc.com
SATA Specifications
Serial ATA Working Group http://www.serialata.org/
Performance Tests
The following websites also provide additional details about the real-world differences between NCQ, TCQ, and drives lacking these features.
Gamer's Depot review of Seagate 160GB with NCQ
http://www.gamers-depot.com/hardware/storage/seagate/ncq/160/001.htm
Best Price Computers face off of Maxtor (NCQ) vs Western Digital (TCQ) http://www.bestpricecomputers.co.uk/reviews/NCQ/index.htm
Storage Review's discussion of SCSI, SATA, NCQ and TCQ http://www.storagereview.com/articles/200406/20040625TCQ_1.html