NCQ

NCQ permette al disco stesso di determinare l'ordine ottimale in cui recuperare le richieste. Questo può permettere al drive di soddisfare tutte le richieste in meno rotazioni e quindi meno tempo.

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

  1. ^ 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).
  2. ^ (EN) Charles M. Kozierok, Descrizione del tempo di accesso ad un dato, su pcguide.com, The PC Guide. URL consultato il 05-02-2013.
  3. ^ (IT) Alessandro Bordin, Cenni Teorici - parte 1, su hwupgrade.it, Hardware Upgrade, 08/07/2004. URL consultato il 04-02-2013.
  4. ^ (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
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica