Ce este Native Command Queuing?

Coada de comandă nativă este un sistem care permite hard disk-urilor SATA (serial advanced technology attachment) să guverneze propria coadă internă de solicitări de citire și scriere. În sistemele care nu folosesc coada nativă de comandă, unitatea execută comenzi în ordinea în care au fost primite de la sistemul principal. Coada nativă de comandă permite unității să reordoneze comenzile pentru a face procesul de recuperare mai eficient. Acest lucru accelerează timpul de recuperare a informațiilor și scade uzura fizică a unității.

Datele de pe un hard disk sunt stocate pe foi magnetice subțiri ca hârtie numite platouri. Fiecare unitate are mai multe platouri, toate conținând informații. Pentru a citi și a scrie pe platou, hard disk-urile folosesc un braț similar cu cel de pe un recorder. Pe măsură ce platoul se învârte, brațul se mișcă înainte și înapoi peste secțiunile platoului care conțin datele.

Când sunt observate de un om, datele de pe un hard disk apar total aleatorii. Două informații înrudite pot fi distanțate larg pe unitate. Pentru a citi ambele piese, brațul o găsește pe prima și apoi se mișcă în poziție pentru a o localiza pe a doua. Dacă unitatea primește o comandă de citire sau scriere după alta, brațul va trebui să se miște constant pentru a se alinia cu datele. Dacă fiecare dintre comenzi necesită ca brațul să se miște pe partea opusă a aceluiași platou, se pierde mult timp în procesul dus-întors.

Folosind coada nativă de comandă, unitatea poate alege ordinea în care execută un anumit set de comenzi. În esență, efectuează cât mai multe operații într-o zonă, apoi se mută într-o zonă diferită. Aceasta înseamnă că unitatea a redus timpul de căutare și așteptarea între comenzi. Ca un beneficiu secundar suplimentar, unitatea petrece mai puțin timp făcând mișcări inutile. Acest lucru va reduce uzura unității cu o cantitate mică.

Sistemele avansate pot profita de un alt beneficiu al cozii native de comandă. Când un procesor este ocupat și nu poate accepta comenzi, unitatea poate împinge toate cererile de scriere în partea din față a cozii. Deoarece procesorul este prea ocupat pentru a accepta comenzi de citire, unitatea poate alege să nu rezolve niciuna. Acest lucru poate duce la o îmbunătățire uriașă a performanței, în special în sistemele cu mai multe unități și mai multe nuclee.

Această tehnologie este utilizată și pe unele forme de unități SSD. Aceste unități nu folosesc sistemul arm-and-platter al unităților standard, așa că în general funcționează mult mai rapid. Deoarece sunt atât de rapide, vor funcționa adesea mai repede decât restul sistemului și vor ajunge în blocaj. Folosind coada nativă de comandă, ei își pot reordona comenzile pentru a trimite citiri ori de câte ori este posibil și pot scrie atunci când sistemul rămâne în urmă.