NCQ: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+Aiutare
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(45 versioni intermedie di 23 utenti non mostrate)
Riga 1:
[[File:NCQ.svg|thumb|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.]]
{{A|Brevissima e poco comprensibile perché decontestualizzata|informatica|settembre 2012|firma=[[Utente:Sanremofilo|Sanremofilo]] ([[Discussioni utente:Sanremofilo|msg]]) 08:14, 30 set 2012 (CEST)}}
 
In [[informatica]] e [[elettronica]] l{{'}}'''NCQ''', acronimo di '''Native Command Queuing''', è una estensione del [[Protocollo di comunicazione|protocollo]] [[Serial ATA|SATA]] 1.0, introdotta con il SATA versione II
L'acronimo significa Native Command Queuing ed è una estensione di protocollo per il SATA. Permette di ottimizzare le prestazioni e l'affidabilità delle operazioni di lettura scrittura sul disco rigido (HD) mettendo in fila i vari comandi ricevuti secondo una logica di esecuzione degli stessi.
<ref name=Comparazione>
{{cita web
|autore = Amber Huffman
|url = http://www.sata-io.org/documents/NCQ_TCQ_comparison_final.ZIP
|titolo = Comparazione tra NCQ e TCQ (zip file contenente il documento in PDF)
|accesso = 05-02-2013
|lingua = Inglese
|editore = Intel Corporation
|data = 10/2003
|urlmorto = sì
|urlarchivio = https://web.archive.org/web/20120106155316/http://www.sata-io.org/documents/NCQ_TCQ_comparison_final.ZIP
|dataarchivio = 6 gennaio 2012
}}</ref>,
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 (informatica)|piatto]], il [[cilindro (informatica)|cilindro]], [[traccia (informatica)|traccia]] e [[settore (informatica)|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)<ref>
{{cita web
| autore = Charles M. Kozierok
| url = http://www.pcguide.com/ref/hdd/perf/perf/spec/pos_Access.htm
| titolo = Descrizione del tempo di accesso ad un dato
| accesso = 05-02-2013
| lingua = Inglese
| editore = The PC Guide
}}</ref>.
 
L'NCQ, invece, permette di accodare in un proprio [[buffer]] più richieste di accesso (fino a 32)
<ref name=Comparazione/>
che, prima di essere eseguite, possono essere riordinate in una sequenza tale da ottimizzare il percorso compiuto dalle [[Testina (elettrotecnica)|testine]] per accedere ai dati
<ref>
{{cita web
| autore = Alessandro Bordin
| url = http://www.hwupgrade.it/articoli/storage/1050/test-prestazionale-serialata-con-native-command-queuing_2.html
| titolo = Cenni Teorici - parte 1
| accesso = 04-02-2013
| lingua = Italiano
| editore = Hardware Upgrade
| data = 08/07/2004
}}</ref>
<ref>
{{cita web
| autore = Alessandro Bordin
| url = http://www.hwupgrade.it/articoli/storage/1050/test-prestazionale-serialata-con-native-command-queuing_3.html
| titolo = Cenni Teorici - parte 2
| accesso = 04-02-2013
| lingua = Italiano
| editore = Hardware Upgrade
| data = 08/07/2004
}}</ref>.
In questo modo si riducono le [[latenza|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;
* [[Host_Bus_Adapter|controller]] del [[bus_(informatica)|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 (informatica)|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 ==
<references/>
 
== Voci correlate ==
* [[Tagged Command Queuing]]
 
== Collegamenti esterni ==
*{{en}} [https://techreport.com/review/8624/multitasking-with-native-command-queuing Multitasking with Native Command Queuing]
 
{{Portale|informatica}}
 
[[Categoria:Serial ATA]]