Test prestazionale SerialATA con Native Command Queuing
Analisi tecnica e prestazionale della nuova tecnologia Native Command Queuing destinata ad equipaggiare i dischi della prossima generazione e che promette di aumentare sensibilmente le prestazioni degli hard disk SerialATA grazie ad alcune ottimizzazioni in fase di lettura e scrittura
di Alessandro Bordin pubblicato il 08 Luglio 2004 nel canale StorageCenni teorici - parte 2
Esistono tuttavia delle ulteriori ottimizzazioni per rendere ancora più efficiente il lavoro delle testine sia in lettura che in scrittura. Per quanto riguarda la seek latency si possono utilizzare piatti di diametro ridotto (è il caso degli SCSI ad altissime prestazioni), con ovvie limitazioni di capienza, in contrasto con l'esigenza media attuale. Un altro metodo consiste nell'ottimizzare le richieste, in modo da minimizzare gli spostamenti della testina, organizzando meglio le richieste. L'algoritmo RPO soddisfa le richieste del sistema ad una ad una, anche nel caso di tracce distanti, con continui "avanti e indietro" sulla faccia del piatto.
La tecnologia Native Command Queuing permette di fare il punto della situazione sulle richieste e pianificare il movimento della testina trascurando l'ordine cronologico della richiesta e dando la precedenza alla vicinanza dei dati richiesti sul piatto.
Un esempio può essere utile a comprendere meglio il problema. Immaginiamo un ascensore fermo al piano terra su cui salgono quattro persone. La prima persona aziona il pulsante 4, la seconda il 2, la terza il 5 e la quarta il 3. Seguendo la logica dell'algoritmo RPO, l'ascensore si sposterebbe prima al quarto piano, poi al secondo, per poi risalire al quinto e ridiscendere al terzo, con uno spreco di tempo evidente. Sembrerà strano, ma i dischi attuali funzionano così.
L'ottimizzazione fornita dal Native Command Queuing in fatto di seek latencies può essere riassunta nel "ragionamento" fatto dall'ascensore per fermarsi al secondo, terzo, quarto e quinto piano, ignorando le precedenze ma scegliendo il metodo più veloce per accontentare le richieste. Ovviamente è una versione semplicistica di come stanno le cose, ma serve per meglio capire il ragionamento di base.
Per quanto riguarda la rotational latency le cose si complicano un po' di più. Una volta individuata la traccia, è la volta di individuare il settore. Attualmente la testina, nel peggiore dei casi, si posiziona sulla traccia, il disco fa un giro quasi completo per far scorrere il riferimento LBA, in modo che al giro seguente la testina trovi a colpo sicuro il settore ricercato. Può succedere che il riferimento sia a mezzo giro, oppure ad un angolo di pochi gradi; resta il fatto che poi serve un altro giro per rintracciare il dato.
Esistono due modi per ottimizzare il processo di individuazione del settore. Il primo è qualcosa di simile a quanto visto nell'ottimizzazione della seek latency, ovvero organizzare le richieste in modo che siano "vicine" indipendentemente dalle precedenze. Altro metodo consiste nell'ottimizzazione chiamata out-of-order data delivery. Appena posizionata sulla traccia, la testina legge tutti i settori, in modo che con un solo giro ha tutti i dati a disposizione in cache, compreso il riferimento LBA. Un algoritmo permette di relativizzare la posizione del settore cercato, risparmiando fino ad un giro intero per lo stesso risultato ottenibile con metodi tradizionali.
Il Native Command Queuing sfrutta queste ottimizzazioni, grazie anche a tre caratteristiche particolari implementate:
Race-Free Status Return Mechanism: questa caratteristica permette al disco di ricevere una qualsiasi richiesta in qualsiasi momento.Le richieste sono poi gestite dall'elettronica del disco stesso in base ai criteri sopra citati.
Interrupt Aggregation: generalmente il disco "interrompe" le richieste ulteriori da parte del sistema (anche se per un tempo brevissimo), ogni volta che ha esegue una singola richiesta. Con la tecnologia NCQ ciò può non succedere, in quanto possono essere portate a termine contemporaneamente diverse richieste, limitando così il numero di interruzioni. Non più dunque una interruzione per ogni singola richiesta, ma una interruzione ogni x richieste svolte contemporaneamente.
First Party DMA: le operazioni DMA vengono abilitate dal disco senza il supporto software del sistema operativo. Da qui il nome First Party DMA.
Sulla carta dunque il Native Command Queuing ottimizza lo spostamento della testina, stressando meno la meccanica e rendendo di conseguenza più affidabile il disco, sempre il linea teorica ma credibile.







Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Rubati 6 pallet di hardware NVIDIA da 11,4 milioni di dollari: il camion sparisce tra Oakland e il Texas
Addio ai limiti del silicio? Ecco il diamante da 200 mm che potrebbe cambiare i chip
Windows 11 27H2 sarà un 'cambio completo': un nuovo incubo per gli utenti?
Hai mai notato che l'iPhone sbaglia sempre certe parole? Non è un caso
Raffreddamento a liquido e schermo personalizzabile: ecco come va AORUS ELITE 360
TSMC valuta la produzione di 3D DRAM su richiesta di NVIDIA: nuove sfide per Samsung, SK Hynix e Micron
Il Cybertruck ha i giorni contati? Musk pronto a fare spazio ai robotaxi
Meta porta la voce su Muse, e a sponsorizzarla c'è il nuovo campione del mondo di F1
Perché il disco principale di Windows si chiama C:? Che fine hanno fatto A: e B:
Quanta acqua consuma l'IA? Da cinque gocce a miliardi di litri, dipende da cosa si mette nel conto
Airbnb lancerà un assistente AI per pianificare i viaggi nel 2027
25 miliardi sul tavolo: i sauditi vogliono mettere le mani anche su Unity
TV Haier QLED da 65'' a meno di 400€ su Amazon, ma c'è di più: 6 mesi di DAZN Full in regalo!
Il meglio degli sconti Amazon del weekend è qui: 3 novità all'inizio, ma anche uno speciale low cost e coupon








