原生指令排序(Native Command Queuing,简称NCQ),原先是改善
服务器硬盘访问控制技术,应用在
SCSI和SATA 1.0/2.0/3.0接口
硬盘读写的加速技术,其接口打开磁盘阵列RAID亦有所提升。通过硬盘
固件、
硬盘控制器以及操作系统三者的互相配合,改善硬盘内部扇区的读取顺序,可以提高硬盘性能,亦能够轻微减轻硬盘损耗的速率。NCQ对用于服务器上的硬盘的效率提升尤为明显。
一般
硬盘使用的硬盘格式通常为
Windows 98核心所使用的
FAT32系列,或是
Windows NT所使用的
NTFS,此种硬盘格式在访问数据时,时常会出现散乱的情况,导致一个文件被不规则的分散成许多的区块存放于
磁盘上面,时间一久,
文件散乱的程度会日趋严重,由于传统的硬盘读取方式,会从文件的开头依序读取到结尾,若文件散乱的程度愈严重,则读取头需要来回移动的距离就越长,导致
硬盘读写性能逐渐下降。一旦发生这样的问题,解决方案便是使用磁盘碎片整理软件来进行硬盘重组,将散乱的文件重新排列为连续的区块,但由于运行
磁盘碎片整理可能会需要搬动大量的磁盘区块,如果太常运行磁盘碎片整理,除了会提高系统负载,亦将会缩短
磁盘驱动器的使用寿命,NCQ即为了解决此种情况而诞生。NCQ的概念原本是应用在
服务器上常见的
SCSI接口上,在SCSI的规格中即包含此项技术,只是不叫做NCQ,将此项技术经过些许修改后称为NCQ,并将其应用在
SATA接口上,后来的SAS接口也支持此项技术。激活
NCQ技术的硬盘,在读取文件时,会依照文件在硬盘上的分布,将访问的顺序作最有效率的排序,以减少机械臂移动的距离,进而达到省时以及延长硬盘寿命的效果。
打开NCQ,除硬盘本身必须支持NCQ外,
操作系统(OS)与
接口控制器(controller)的支持也是不可或缺的条件。举例说,在
Microsoft Windows平台上,从
Windows Vista开始才支持NCQ,而
Windows XP若要使用NCQ,则要额外安装支持软件。