Che cos’è l’accodamento dei comandi nativi?

L’accodamento comandi nativo è un sistema che consente ai dischi rigidi SATA (Serial Advanced Technology Attachment) di gestire la propria coda interna di richieste di lettura e scrittura. Nei sistemi che non utilizzano l’accodamento comandi nativo, l’unità esegue i comandi nell’ordine in cui sono stati ricevuti dal sistema principale. L’accodamento dei comandi nativo consente all’unità di riordinare i comandi per rendere più efficiente il processo di recupero. Ciò accelera il tempo di recupero delle informazioni e riduce l’usura fisica dell’unità.

I dati su un disco rigido sono memorizzati su fogli magnetici sottilissimi chiamati piatti. Ogni unità ha diversi piatti, tutti contenenti informazioni. Per leggere e scrivere sul piatto, i dischi rigidi utilizzano un braccio simile a quello di un giradischi. Mentre il piatto gira, il braccio si muove avanti e indietro sulle sezioni del piatto che contengono i dati.

Se osservati da un essere umano, i dati su un disco rigido appaiono totalmente casuali. Due informazioni correlate possono essere ampiamente distanziate sull’unità. Per leggere entrambi i pezzi, il braccio trova il primo e poi si sposta in posizione per individuare il secondo. Se l’unità riceve un comando di lettura o scrittura dopo l’altro, il braccio dovrà spostarsi costantemente per allinearsi ai dati. Se ciascuno dei comandi richiede che il braccio si sposti sul lato opposto dello stesso piatto, si perde molto tempo nel processo avanti e indietro.

Utilizzando l’accodamento comandi nativo, l’unità può scegliere l’ordine in cui eseguire un determinato set di comandi. In sostanza, esegue quante più operazioni possibili in un’area, quindi si sposta in un’area diversa. Ciò significa che l’unità ha ridotto il tempo di ricerca e l’attesa tra i comandi. Come ulteriore vantaggio collaterale, l’unità impiega meno tempo a eseguire movimenti non necessari. Ciò ridurrà l’usura dell’unità di una piccola quantità.

I sistemi avanzati possono trarre vantaggio da un altro vantaggio dell’accodamento dei comandi nativo. Quando un processore è occupato e non è in grado di accettare comandi, l’unità può inviare tutte le richieste di scrittura all’inizio della coda. Poiché il processore è troppo occupato per accettare i comandi di lettura, l’unità può scegliere di non risolverne alcuno. Ciò può comportare un enorme miglioramento delle prestazioni, specialmente nei sistemi con più unità e più core.

Questa tecnologia viene utilizzata anche su alcune forme di unità a stato solido. Queste unità non utilizzano il sistema braccio e piatto delle unità standard, quindi generalmente funzionano molto più velocemente. Dal momento che sono così veloci, spesso funzioneranno più velocemente del resto del sistema e finiranno con il collo di bottiglia. Usando l’accodamento dei comandi nativi, possono riordinare i loro comandi per inviare letture quando possibile e scrivere quando il sistema è in ritardo.