Ceci est une ancienne révision du document !


NCQ (Native Command Queuing)

NCQ, ou Native Command Queuing est un protocole SATA qui permet, en gros, d'envoyer plusieurs requêtes en même temps a votre disque dure, afin qu'il réponde à ces requêtes dans le meilleur ordre possible (le disque va lire les donnés en suivant le chemin le plus court possible).

Cela permet un gain de performance. (http://techreport.com/articles.x/8624/3)

Si votre carte mère et votre disque dur permettent l'utilisation de NCQ (souvent désactivé par défaut), ce serait dommage de ne pas en profiter !

L'utilisation de NCQ passe par l'activation du mode SATA AHCI dans le bios. Pour pouvoir utiliser ce mode, il faut que ces éléments soient compatibles :

  • Le système d'exploitation, c'est le cas pour Ubuntu et Windows (nativement pour Vista et +, requiert un driver pour Windows XP).
Attention, si un autre système d'exploitation est installé à côté d'Ubuntu et qu'il ne gère pas le mode AHCI, il ne pourra plus démarrer tant que vous n'aurez pas désactivé l'AHCI.
  • La carte mère et le bios : certains bios ne permettent pas l'activation de l'AHCI
  • Le disque lui même

Effectuer les étapes suivantes :

Est ce que mon disque dur supporte NCQ ?

Pour le savoir faites (en remplacent /dev/sda en fonction du disque à tester) :

sudo hdparm -I /dev/sda | grep NCQ

Résultat positif :

	   *	Native Command Queueing (NCQ)

… et négatif :

	   	Native Command Queueing (NCQ)

(ou rien)

Si le résultat est négatif, vous ne pouvez rien faire à part changer de disque dur.

Est ce que l'AHCI est activé ?

Le mieux est d'aller voir directement dans le bios.

Vous pouvez aussi voir si Ubuntu considère que vos disques SATA comme des disques IDE (je ne suis pas certain de l'efficacité réelle de ce test) :

$ lshw

<...>
        *-ide:0
             description: IDE interface
             product: 82801JI (ICH10 Family) 4 port SATA IDE Controller #1
             vendor: Intel Corporation
<...>

Si l'AHCI est désactivé… activez le.

Est ce que NCQ est en cours d'utilisation ?

Si les deux points précédents sont remplis, NCQ devrait normalement être en cours d'utilisation par Ubuntu. Une petite vérification s'impose:

dmesg | grep NCQ

Le résultat est positif si vous obtenez (depth 31/32), par exemple :

[    1.851473] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)

Dans ce cas, félicitation, vous avez activé le mode NCQ !

Une fois le mode AHCI activé, vous pouvez aussi faire d'autres trucs cools comme le hot plug (branchement à chaud de disques durs SATA) !

Et le résultat est négatif si vous obtenez (depth 0/32), par exemple :

[    1.851473] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)

Si ça ne marche pas… Vérifiez que le mode AHCI de votre matériel est bien supporté par Linux: https://ata.wiki.kernel.org/index.php/Hardware,_driver_status

congelli501 Le 20/06/2010, 00:24

  • ncq_native_command_queuing.1276987034.txt.gz
  • Dernière modification: Le 20/06/2010, 00:37
  • par congelli501