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 dur, 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 !
Support
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).
- La carte mère et le bios : certains bios ne permettent pas l'activation de l'AHCI
- Le disque lui même
Mise en place
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 :
$ lshw <...> *-ide:0 description: IDE interface product: 82801JI (ICH10 Family) 4 port SATA IDE Controller #1 vendor: Intel Corporation <...>
… et avec l'AHCI activé :
$ lshw <...> *-storage description: SATA controller product: 82801JI (ICH10 Family) SATA AHCI Controller vendor: Intel Corporation <...>
Si l'AHCI est désactivé… activez le dans le bios de votre carte mère (généralement option "SATA Mode").
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 !
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
Liens
Contributeurs
— congelli501 Le 20/06/2010, 00:24