Native Command Queuing

Hard drives are the slowest things in your PC and they are such mostly because they are the only component in your PC that still relies heavily on mechanics for its normal operation. That being said, there are definite ways of improving disk performance by optimizing the electronics that augment the mechanical functions of a hard drive.

Hard drives work like this: they receive read/write requests from the chipset's I/O controller (e.g. Intel's ICH6) that are then buffered by the disk's on-board memory and carried out by the disk's on-board controller, making the heads move to the correct platter and the right place on the platter to read or write the necessary data. The hard drive is, in fact, a very obedient device; it does exactly what it's told to do, which is a bit unfortunate. Here's why:

It is the hard drive, not the chipset's controller, not the CPU and not the OS that knows where all of the data is laid out across its various platters. So, when it receives requests for data, the requests are not always organized in the best manner for the hard disk to read them. They are organized in the order in which they are dispatched by the chipset's I/O controller.

Native Command Queuing is a technology that allows the hard drive to reorder dynamically its requests according to the location of the requests on a platter. It's like this - say you had to go to the grocery store and the drug store next to it, the mall and then back to the grocery store for something else. Doing it in that order would not make sense; you'd be wasting time and money. You would naturally re-order your errands to grocery store, grocery store, drug store and then the mall in order to improve efficiency. Native Command Queuing does just that for disk accesses.

For most desktop applications, NCQ isn't necessary. Desktop applications are mostly sequential in nature and exhibit a high degree of spatial locality. What this means is that most disk accesses for desktop systems occur around the same basic areas on a platter. Applications store all of their data around the same location on your disk as do games, so loading either one doesn't require many random accesses across the platter - reducing the need for NCQ. Instead, we see that most desktop applications benefit much more from higher platter densities (more data stored in the same physical area on a platter) and larger buffers to improve sequential read/write performance. This is the reason why Western Digital's 10,000 RPM Raptor can barely outperform the best 7200 RPM drives today.

Times are changing however, and while a single desktop application may be sequential in nature, running two different desktop applications simultaneously changes the dynamics considerably. With Hyper Threading and multi core processors being the thing of the future, we can expect desktop hard disk access patterns to begin to slightly resemble those of servers - with more random accesses. It is with these true multitasking and multithreading environments that technologies such as NCQ can improve performance.

Index Maxtor's MaXLine III: NCQ Enabled
POST A COMMENT

38 Comments

View All Comments

  • titte - Wednesday, February 22, 2006 - link

    I would strongly discourage from buing a disk from Maxtor. I recently bought a 250gig Maxline III but the disk fails to work with my nForce-chipset. The disk works ok on other machine and it's not a driver issue since Maxtors boot ISO fails to read/write to the disk. There is an article about the issue here http://www.theinquirer.net/?article=29570">http://www.theinquirer.net/?article=29570 and i also found an issue in the maxtor knowledgebase (can't seem to find it anymore though). This would be ok if maxtor support was up to the task but their resonses are almost autogenerated answers like "reinstall drivers". My problem description clearly states that drivers has been reinstalled and drive fails even when started from their diagnostics boot CD.... Reply
  • darksage429 - Thursday, October 14, 2004 - link

    Two questions:
    If you were to run them in RAID-0, would it beat Raptor's RAID-0 performance?

    and

    Would NCQ benefit those running Bittorrent?
    Reply
  • Kaido - Tuesday, June 29, 2004 - link

    Raptor + NCQ + 16mb cache = $250 *I'm* willing to pay :D

    So is this going to be an Intel-only thing like Hyperthreading, or will it be available on AMD motherboards too...an a64 with this Maxtor hard drive would be sick! :)
    Reply
  • Kaido - Tuesday, June 29, 2004 - link

    Reply
  • TrogdorJW - Tuesday, June 29, 2004 - link

    33 - I believe the article on Storage Review specifically stated that they will be doing an NCQ article in the near future, once they get all the necessary hardware in. Reply
  • quanta - Tuesday, June 29, 2004 - link

    I read the storagereview's article, but it did not test drive's NCQ capability. Rather, it only tested 'non-native' TCQ. Reply
  • DerekWilson - Sunday, June 27, 2004 - link

    The arguement is still that NCQ will be more helpful the more multi-tasking oriented our systems become.

    As for me, I sure could use it right now. I'm always playing MP3s, editing large sound and image files (photoshop is an insane resource hog), copying files between drives, and opening huge PDF, PPT and Word documents (I really wish marketing people would realize that we don't need print quality images in our online presentations). Most of the CDs I use everyday are actually images on my drive that I mount using Daemon Tools.

    I would also argue that everything is HD limited. Whenever you power up, open a program, or open a large file that little hourglass alwasy rears its ugly head. Sure, once everything gets shuffled off into RAM things are fine, but that wait time is still the most annoying bottleneck in my system. And if you've ever wanted to open or copy more than one file or program at a time, then there's an argument for NCQ.
    Reply
  • Pariah - Saturday, June 26, 2004 - link

    "The raptor has TCQ, which is basically the same, but in the raptor's case, it is actually an ATA implementation. TCQ has been around for awhile, originally from SCSI."

    Without going into the technical differences, which nobody probably cares about, the Raptor TCQ is quite different from SATA II NCQ. While SATA II NCQ is actually closer to current SCSI TCQ than the Raptor legacy ATA TCQ is. TCQ is a rather generic term used to describe a whole bunch of different schemes. NCQ is just a name used to describe the new form of TCQ used in SATA.

    "Both Intel and AMD are banking the future of their microprocessor designs heavily on a shift towards more multithreaded/multitasking usage patterns."

    It would appear to be more the other way around. Intel and AMD aren't betting on that, they really don't have a choice, and everyone else will have to adapt to that whether they like it or not. Intel has seen there is a limit to how fast you can push the clockrates of current CPU tech before the heat and power requirements exceed what is practical for users. In comes Pentium M, out goes Tejas. You can't compare CPU development to hard drive development because they don't run in parallel (no pun intended). There are quite a few CPU limited applications for home users even today, while there are very few HD limited applications, and even fewer scenarios where any of us would be running multiple such applications. For TCQ/NCQ to be effective, a user truly has to be hammering their drives and that is a rare occurence and unlikely to be for any length of time.

    There's a reason it has taken so long for the technology to reach ATA, and it has nothing to do with the evolution of the home user. One form of TCQ has been in PATA for years, but no one every used it because there was no use for it in the home. There still isn't, the difference now is that ATA, and more specifically SATA, is moving into the lowend enterprise and server markets which DO benefit from such technologies. The ability to use SATA drives on upcoming SAS controllers is further evidence that the markets are blurring a bit in the middle between ATA and SCSI. The needs of users haven't changed, nor are they, the target markets for the technologies have changed.

    "Right now I've got an IM client, an email client, a handful of browsers, Excel, Word, a calendar app, Photoshop and iTunes running. Of those, I'm concurrently managing tasks in the browser, MP3 player and Mail applications."

    Yup, those are some pretty hardcore HD usage applications. I bet you can just hear your drive grinding away under that workload.
    Reply
  • Anand Lal Shimpi - Saturday, June 26, 2004 - link

    brentpresley

    TCQ won't be nearly as widely used as NCQ on the desktop, I expect the Raptor to be the only desktop SATA drive to support it; as far as I know, no chipset manufacturer is planning on including TCQ support in their south bridges.

    FacelessNobody

    NCQ, like Hyper Threading, improves performance in multitasking situations and not in single thread, single application scenarios. Both Intel and AMD are banking the future of their microprocessor designs heavily on a shift towards more multithreaded/multitasking usage patterns. I would tend to agree that this is a fairly logical progression for PCs to take. Already today we do some fairly heavy multitasking on PCs. Right now I've got an IM client, an email client, a handful of browsers, Excel, Word, a calendar app, Photoshop and iTunes running. Of those, I'm concurrently managing tasks in the browser, MP3 player and Mail applications. Start adding media encoding (which will happen once more people start using their PCs as media servers as well as work/play machines), multiuser environments (e.g. someone using the computer to play a game while someone else uses the same system to work in Word) through technologies like Vanderpool and then you have a clear benefit to technologies like NCQ and Hyper Threading. I'd honestly be curious to see the impact of NCQ on Media Center systems, I'd expect there to be a sizable performance boost - the only difficult part is measuring performance to be able to put into a graph.

    Take care,
    Anand
    Reply
  • brentpresley - Saturday, June 26, 2004 - link

    74GB raptor is TCQ, as this document shows:
    http://www.westerndigital.com/en/library/sata/2579...

    Still, it would have been nice to compare the raptor running tcq w/ the maxtor ncq. Both are next-gen desktop technologies.
    Reply

Log in

Don't have an account? Sign up now