NCQ
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/NCQ.svg/220px-NCQ.svg.png)
In informatica e elettronica l'NCQ, acronimo di Native Command Queuing, è una estensione del protocollo SATA 1.0, introdotta con il SATA versione II [1], che identifica una tecnologia utilizzabile sugli hard disk per migliorare la velocità di accesso ai dati in essi memorizzati.
Descrizione
Nei dischi che non supportano l'NCQ, o quando questo è disabilitato, l'accesso ai dati presenti sull'hard disk viene effettuato soddisfacendo una alla volta le singole richieste di lettura/scrittura da eseguire. In particolare l'accesso ad un singolo dato avviene identificando sequenzialmente il piatto, il cilindro, traccia e settore dove si trova il dato.
Ognuna di queste fasi comporta dei ritardi tra i quali:
- command overhead time (tempo intercorso tra l'invio di un comando di accesso e l'inizio del movimento della testina);
- head switch time (tempo per il passaggio da una testina di lettura all'altra);
- cylinder switch time (tempo impiegato dalla testina per passare da un cilindro a quello adiacente, detto anche track switch time);
- seek time (tempo che la testina impiega per passare da una traccia a quella adiacente);
- rotational latency (tempo di rotazione del disco atteso dalla testina affinché il settore cercato passi sotto la testina stessa)[2].
L'NCQ, invece, permette di accodare in un proprio buffer più richieste di accesso (fino a 32) [1] che, prima di essere eseguite, possono essere riordinate in una sequenza tale da ottimizzare il percorso compiuto dalle testine per accedere ai dati [3] [4]. In questo modo si riducono le latenze eliminando la quantità di movimenti inutili eseguiti dalle testine, con conseguente aumento delle prestazioni.
Abilitazione dell'NCQ
Per utilizzare la tecnologia NCQ è necessario che:
- disco rigido;
- controller del bus SATA del chipset della scheda madre;
- sistema operativo installato sul computer;
supportino tutti l'NCQ.
Per quanto riguarda il disco rigido, è sufficiente controllare le specifiche fornite dal produttore (indicativamente, se il disco è almeno SATA II il supporto dovrebbe essere garantito).
Per il controller SATA, è necessario che questo supporti le modalità più nuove o avanzate quali AHCI (sviluppato da Intel) o RAID. Queste opzioni, se presenti, sono visibili nel BIOS del computer, insieme ad altre identificate spesso con i termini Legacy IDE e Native IDE, che invece non supportano l'NCQ. In genere, e specialmente con i sistemi Windows, l'opzione AHCI (o l'alternativa RAID) deve essere abilitata nel BIOS prima dell'installazione del sistema operativo.
La terza condizione per l'abilitazione dell'NCQ è l'utilizzo di un sistema operativo per cui siano disponibili driver AHCI per il controller SATA. Con Windows XP, al momento dell'installazione, è necessario fornire un floppy disk o CD-ROM con driver AHCI (o RAID) aggiuntivi di terze parti, solitamente resi disponibili sul proprio sito web dal produttore della scheda madre o del chipset. Windows Vista, Windows 7 e Windows 8 supportano nativamente l'AHCI e non necessitano di driver aggiuntivi. In tutti i casi è comunque consigliabile abilitare l'AHCI nel BIOS prima dell'installazione, per evitare di dover effettuare poi procedure più o meno laboriose (ad esempio, modifica manuale del registro di Windows) per poter abilitare l'AHCI in fasi successive all'installazione. I kernel Linux supportano l'AHCI a partire dalla versione 2.6.19, mentre FreeBSD dalla versione 8.
Note
- ^ a b (EN) Amber Huffman, Comparazione tra NCQ e TCQ (zip file contenente il documento in PDF) (ZIP), su sata-io.org, Intel Corporation, 10/2003. URL consultato il 05-02-2013 (archiviato dall'url originale il 6 gennaio 2012).
- ^ (EN) Charles M. Kozierok, Descrizione del tempo di accesso ad un dato, su pcguide.com, The PC Guide. URL consultato il 05-02-2013.
- ^ (IT) Alessandro Bordin, Cenni Teorici - parte 1, su hwupgrade.it, Hardware Upgrade, 08/07/2004. URL consultato il 04-02-2013.
- ^ (IT) Alessandro Bordin, Cenni Teorici - parte 2, su hwupgrade.it, Hardware Upgrade, 08/07/2004. URL consultato il 04-02-2013.
Voci correlate
Collegamenti esterni
- (EN) Multitasking with Native Command Queuing
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)