La Native Command Queuing (NCQ) est une technologie conçue pour augmenter les performances des disques durs SATA des ordinateurs. Elle peut le faire dans certaines situations en permettant au disque dur individuel d'optimiser en interne l'ordre dans lequel il exécute les demandes de lecture et d'écriture qu'il reçoit. Cela peut réduire le nombre de mouvements inutiles de la tête du disque et entraîner une meilleure performance (et une légère diminution de l'usure du disque) pour les charges de travail où plusieurs demandes de lecture/écriture sont en cours en même temps. Cette situation se produit le plus souvent dans les applications de type serveur. Cependant, la technologie actuelle (depuis 2004) ralentit en fait l'accès HD dans certaines applications, comme les jeux et les lectures et écritures séquentielles, en raison de la latence supplémentaire induite par la logique NCQ. [fait obsolète]
Native Command Queuing a été précédé par la version de Parallel ATA de Tagged Command Queuing (TCQ). La tentative d'ATA d'intégrer le TCQ a été limitée par l'exigence que les adaptateurs de bus hôte ATA utilisent les protocoles de périphériques de bus ISA pour interagir avec le système d'exploitation. La surcharge élevée de l'unité centrale et le gain de performance négligeable qui en a résulté ont contribué au manque d'acceptation du TCQ par le marché.
NCQ diffère de PATA TCQ en ce que la réorganisation des commandes est effectuée par le lecteur plutôt que par le système d'exploitation, et que chaque commande est d'importance égale. Cela est préférable car c'est le lecteur qui connaît le mieux ses caractéristiques de performance et est capable de prendre en compte la position de rotation. NCQ et PATA TCQ ont une longueur de file maximale de 32 commandes en vol (31 en pratique), tandis que SCSI TCQ a une longueur de file maximale de 264 commandes en vol.
Pour que le NCQ soit activé, il doit être pris en charge et activé dans l'adaptateur de bus hôte SATA et dans le disque dur lui-même. Le pilote de périphérique approprié doit être chargé dans le système d'exploitation pour activer NCQ sur l'adaptateur de bus hôte. De nombreux chipsets plus récents prennent en charge l'AHCI (Advanced Host Controller Interface), qui devrait permettre à un pilote générique fourni par le système d'exploitation de les contrôler et d'activer le NCQ. En fait, les noyaux Linux classiques les plus récents prennent en charge l'AHCI en natif. Malheureusement, Windows XP nécessite l'installation d'un pilote spécifique au fournisseur, même si l'AHCI est présente sur l'adaptateur de bus hôte. Windows Vista corrige cette situation en incluant un pilote AHCI générique.