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

  • araczynski - Friday, June 25, 2004 - link

    yawn,

    if ncqprice <= raptorprice then
    ncqproduct = possiblesuccess
    else
    whocares = 1
    endif

    I would say forget the spinning crap alltogether, why aren't we advnacing the solid state field storage? like that HyperDrive3 thing mentioned on the forums, THAT'S something to drool about.
    Reply
  • Da3dalus - Friday, June 25, 2004 - link

    I wanna see a Raptor with that 16MB buffer ;)
    I'm not gonna put a Maxtor drive in my comp again no matter what they come up with, bad previous experiences...
    Reply
  • Demon - Friday, June 25, 2004 - link

    The Seagate 7200.7 does support NCQ.

    "The Barracuda 7200.7 is the industry's first hard drive family capable of supporting SATA Native Command Queuing (NCQ)"

    http://www.seagate.com/cda/newsinfo/newsroom/relea...
    Reply
  • apriest - Friday, June 25, 2004 - link

    #4, I believe the drive has to support NCQ as well. Doesn't the Raptor support NCQ though? Reply
  • Zar0n - Friday, June 25, 2004 - link

    Why did u not benchmark Seagate 7200.7 with NCQ enabled?

    1GB of ram? Most users have 256mb or 512mb.

    What is the technical explanation for some many tests being slower with NCQ?
    Reply
  • AnnoyedGrunt - Friday, June 25, 2004 - link

    Hmmm, I thought the conclusion in this article gave too much credit to NCQ as far as boosting performance. It helped in one test which has significant multi-tasking, and that is by no means a bad thing, but I do wonder how often that scenario would arise. It seems to me that the human operating the computer would have a hard time keeping that many activities occuring @ the same time. Also, the Hitachi drive (as well as the other 7200 RPM drives) were all usually quite close in performance to the new Maxtor. Finally, in the game loading tests, the Raptor still had a significant lead, which is somewhat dissapointing for me since that is my main concern and I was hoping the Maxtor would do better in that arena.

    Well, I'll check out the storagereview article to see how that turned out.

    -D'oh!
    Reply
  • Sivar - Friday, June 25, 2004 - link

    Hmm. The results using a Promise TCQ controller were quite different (See StorageReview.com's latest review). Reply
  • Jeff7181 - Friday, June 25, 2004 - link

    Well it had to happen sometime... competition for the Raptor. Reply

Log in

Don't have an account? Sign up now