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.
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.