NCQ
NCQ je zkratka z anglického Native Command Queuing, česky přirozené řazení příkazů.
Princip
Jedná se o technologii, která v některých případech umožňuje zvýšit výkon pevných disků s rozhraním SATA II. Při použití NCQ pevný disk sám optimalizuje pořadí, ve kterém jsou vykonány požadavky na zápis nebo čtení. Tato optimalizace může redukovat nadbytečný pohyb hlaviček disku. Tím se zvýší rychlost přenosu dat mezi řadičem a diskem a také se mírně sníží opotřebení disku.
Využití
Optimalizace se dobře uplatní, pokud se k disku snaží přistoupit současně několik procesů. Současný požadavek na přístup k disku nastává často u serverů, ale vyskytuje se i v domácím použití, například při práci se spuštěnou antivirovou kontrolou disku anebo současném kopírování více souborů.
Instalace v operačním systému
Ke správné funkci NCQ je zapotřebí, aby ji podporoval jak disk, tak řadič. Dále musí být v operačním systému nainstalován příslušný ovladač řadiče s NCQ. Mnoho nových řadičů dokáže pracovat pod rozhraním AHCI (anglicky Advanced Host Controller Interface), které umožňuje jednotné ovládání všech SATA NCQ řadičů jedním obecným ovladačem operačního systému. Novější Linuxová jádra tento ovladač obsahují. Windows XP vyžadují instalaci speciálních ovladačů i v případě, že daný řadič rozhraní AHCI podporuje. Windows Vista už obecný ovladač pro řadiče podporující AHCI obsahují.
Související technologie
Starší verze rozhraní ATA (PATA nebo SATA I) mohla obsahovat určitou optimalizaci řazení požadavků. Jednalo se o ATA TCQ neboli ATA Tagged Command Queuing. Toto řešení se příliš nerozšířilo kvůli jeho technické komplikovanosti. TCQ bylo navrženo tak, aby fungovalo s libovolným ATA řadičem, a zpracování tagů řešil softwarový ovladač. Proto ke zpracování každého příkazu byly potřeba dvě přerušení, jedno na nastavení tabulky adres pro DMA přenos a druhé po dokončení přenosu. Dvě přerušení (oproti jednomu, bez TCQ) zatěžovala procesor a v důsledku to nevedlo k velkému zlepšení výkonu disku.
Technologie TCQ byla původně vytvořena pro sběrnici SCSI , kde se osvědčila. Většina SCSI řadičů používajících TCQ a připojených přes sběrnici PCI (případně její nástupce) nastavovala DMA tabulku automaticky a zatěžovala procesor pouze jedním přerušením na příkaz, proto tam nedocházelo ke zpomalování jako při ATA TCQ.
Softwarová obdoba
Problematiku optimálního pořadí požadavků přístupu k disku v jednom okamžiku lze částečně řešit také softwarově, zabudováním do operačního systému. Na úrovni operačního systému není k dispozici tolik informací, kolik jich má disk sám o sobě. Přesto lze provádět částečnou optimalizaci. Například použitím mezipaměti při kopírování velkých bloků lze snížit počet jednotlivých čtení a zápisů na disk a tím i snížení počtu přesunů hlaviček disku.
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Native Command Queuing na anglické Wikipedii.
Externí odkazy
- (anglicky) Detailní dokumentace NCQ od Seagate Archivováno 29. 11. 2010 na Wayback Machine
Média použitá na této stránce
Autor:
- NCQ.svg: helix84
- derivative work: Vita.Jindra (talk)
Native Command Queueing (NCQ) example