Qu'est-ce que la file d'attente de commande native?
La mise en file d'attente de commandes natives est un système qui permet aux disques durs SATA (Advanced Advanced Technology Attachment) de gérer leur propre file d'attente interne de demandes de lecture et d'écriture. Dans les systèmes qui n'utilisent pas la mise en file d'attente de commandes native, le lecteur exécute les commandes dans l'ordre dans lequel elles ont été reçues du système principal. La mise en file d'attente des commandes natives permet au lecteur de réorganiser les commandes afin de rendre le processus de récupération plus efficace. Cela accélère le temps de récupération des informations et diminue l'usure physique du lecteur.
Les données sur un disque dur sont stockées sur des feuilles magnétiques minces comme du papier, appelées plateaux. Chaque disque a plusieurs plateaux contenant tous des informations. Pour lire et écrire sur le plateau, les disques durs utilisent un bras similaire à celui du tourne-disque. Lorsque le plateau tourne, le bras se déplace d'avant en arrière sur les sections du plateau contenant les données.
Lorsque observé par un humain, les données sur un disque dur apparaissent totalement aléatoires. Deux informations liées peuvent être largement espacées sur le lecteur. Pour lire les deux morceaux, le bras trouve le premier et se déplace ensuite pour localiser le second. Si le lecteur reçoit une commande de lecture ou d'écriture après l'autre, le bras devra se déplacer constamment pour s'aligner sur les données. Si chacune des commandes demande au bras de se déplacer du côté opposé du même plateau, le processus de va-et-vient perd beaucoup de temps.
En utilisant la mise en file d'attente de commandes natives, le lecteur peut choisir l'ordre dans lequel il exécute un jeu de commandes donné. Essentiellement, il effectue autant d'opérations que possible dans une zone, puis se déplace dans une autre zone. Cela signifie que le lecteur a réduit le temps de recherche et l'attente entre les commandes. En outre, le lecteur passe moins de temps à faire des mouvements inutiles. Cela réduira légèrement l'usure du lecteur.
Les systèmes avancés peuvent tirer parti d'un autre avantage de la mise en file d'attente de commandes natives. Lorsqu'un processeur est occupé et incapable d'accepter des commandes, le lecteur peut envoyer toutes les demandes d'écriture au début de la file d'attente. Le processeur étant trop occupé pour accepter les commandes de lecture, le lecteur peut choisir de ne pas en résoudre. Cela peut entraîner une amélioration considérable des performances, en particulier dans les systèmes dotés de plusieurs lecteurs et de plusieurs cœurs.
Cette technologie est également utilisée sur certaines formes de disques SSD. Ces disques n'utilisent pas le système bras et plateaux des disques standard, ils fonctionnent donc généralement beaucoup plus vite. Comme ils sont si rapides, ils travaillent souvent plus vite que le reste du système et finissent par devenir goulets d'étranglement. En utilisant la mise en file d'attente des commandes natives, ils peuvent réorganiser leurs commandes pour envoyer des lectures autant que possible et écrire lorsque le système est en retard.