What is NCQ?

NCQ is the acronym for Native Command Queuing.  NCQ is a feature of SATA-II.  NCQ was not supported in SATA-I.

Without NCQ, commands are performed by the disk in the order in which they are received.  If the commands are reads and writes of data scattered randomly across the disk, a lot of time can be wasted on long seeks (mechanically moving the head long distances) between successive read/write operations.  This is particularly the case in a multi-tasking system where many tasks are accessing the disk and the disk is heavily fragmented.

With NCQ, SATA-II drives will use an algorithm to determine the most efficient order in which to perform the read/write operations. The algorithm will reduce or eliminate the long seeks.  This will reduce the overall time spent on seeking, which is the slowest operation a disk can perform.

    

Yes, the operations will be performed sometimes out of order, and yes, sometimes a task will wait longer than it might otherwise have waited without NCQ, because NCQ lets a different task get its' data ahead of schedule. But the overall reduction in mechanical re-positioning time can be significant and overall system performance is often substantially improved with NCQ.