Reklama

Proč chtít AHCI a NCQ u pevných disků i SSD?

Možná by v nadpisu mohlo klidně být i nechtít, ale nepředbíhejme. AHCI rozšiřuje rozhraní Serial ATA o několik užitečných funkcí, mezi nimiž ční Native Command Queuing (NCQ). Výkon HDD a samozřejmě i SSD se může po zapnutí AHCI hodně měnit a jsou tu i další zajímavé aspekty takové změny.

Počítačová sběrnice Serial ATA určená pro komunikaci hostitelského počítače s úložnými zařízeními začala od roku 2003 pomalu nahrazovat doposud nejrožšířenější ATA. Tu jste možná znali pod jmény PATA (Parallel ATA) anebo EIDE. Na rozdíl od ATA je SATA sběrnicí sériovou, komunikaci po šestnácti bitech nahradila komunikace po dvou vodičích zato na mnohem vyšší rychlosti (frekvenci).

Reklama

Serial ATA je v ukotvených standardech nejen rychlejší, ale je i levnější a kupříkladu napájení SATA je připraveno pro výměnu za běhu. Právě tato funkce ale potřebuje také podporu ve vrstvě BIOSu/firmwaru, ovladačů a OS. SATA může totiž pracovat ve dvou režimech: kompatilním s IDE (někdy označován také jako Legacy nebo emulovaný IDE) a v případě podpory všech potřebných součástí AHCI.


HBA označuje přímo části čipu/čipy ("silicon"), k nimž jsou připojeny zařízení Serial ATA. Může pracovat v režimu Legacy, v němž zprostředkuje všechny funkce jako Bus Master IDE apod., nebo jako rozhraní AHCI. HBA lze rozšiřovat multiplikátorem portů. Zdroj:
Intel

Je to právě režim AHCI (Advanced Host Control Interface), v němž máte k dispozici všechny vymoženosti, které si se SATA možná automaticky spojujete. Zatímco za pokrokem a standardizací Serial ATA stojí několik organizací v čele se SATA-IO a INCITS, AHCI má na svědomí Intel. Intel také vybírá poplatky za licencování této technologie.


Funkce získané zapnutím AHCI na jižním můstku Intel ICH10. Zdroj: Intel

Množství anglickými termíny nazvaných technologií si žádá vysvětlení:

  • Native Command Queuing (NCQ) – umožňuje přeospořádat požadavky efektivněji (z pohledu úložného zařízení).
  • Auto Activate for DMA transfers – z DMA Setup a DMA Activate se stane jen DMA Setup.
  • Hot Plug Support – umožňuje detekci zařízení bez zapnutí a možnost připojovat i odpojovat zařízení bez předchozího oznámení operačnímu systému.
  • Asynchronous Signal Recovery – má na starosti obnovu po ztrátě či započetí komunikace po hot plug.
  • 3 Gb/s Transfer Rate – umožňuje přenosové rychlosti 3 Gb/s (ve skutečnosti max. asi 286 MB/s čistě pro datové přenosty, u SATA 1,5 Gb/s to bylo asi 148 MB/s).
  • Host & Link Initiated Power Management – schopnost hostitelského řadiče požadovat po zařízení přechod do úsporných režimů (power states, Partial a Slumber).
  • Staggered Spin-Up – umožňuje hostiteli postupně spínat (roztáčet) pevné disky (hodí se především kvůli vysokému startovnímu proudu pevných disků – při více jednotkách je díky postupnému zapínání možné snížit nároky na zdroj).
  • Command Completion Coalescing – snižuje režii vykonávání příkazů jejich slučováním v současně předaný shluk.
  • External SATA – technologie umožňující připojení až dvoumetrovým kabelem (dle specifikace SATA-IO).

Režim AHCI může být tedy pro leckterý počítač přínosem, ale jak už jsem předeslal výše, nestačí pouhá podpora v koncovém (úložném) zařízení. Budete také potřeba podporu v čipových sadách. Zapátral jsem trochu v minulosti, kdy výrobci čipových sad pro PC s AHCI začali a došel jsem k závěru, že AHCI podporují:

  • Intel ICH6 a novější
  • nVidia nForce 500 a novější
  • ATI SB600 a novější (SB450 ještě ne)
  • VIA VT8251 a novější
  • ULi M1573 a novější

AHCI podporují také některé řadiče SATA od JMicronu anebo Marvellu.


Serial ATA na hned několika rozdílných řadičích připojených jak k NB, tak k SB (deska GA-X58A-UD5). Zdroj: Gigabyte

Nyní máte už podporu na straně hardwaru (a jeho firmwaru/BIOSu), měli byste se ale zajímat také o podporu v softwaru. Wikipedia uvádí, že AHCI nativně podporují operační systémy Linux s novějšími jádry a FreeBSD od verze 8.0. Narazil jsem na stránky nějakého otevřeného ovladače AHCI pro Solaris: zde by již většina funkcí AHCI včetně těch nejdůležitějších (NCQ, Hot Swap a Staggered Spin-Up, nebyl hotov myslím ještě Power Management) k dispozici být měla také.

Devětadevadesát procent našich čtenářů bude ale asi zajímat především platforma Windows a zde je to trochu složitější. Zatímco s Windows Vista a 7 máte ovladač s AHCI už v systému, Windows XP vyžadují instalaci ovladače přímo od výrobce. Na to je třeba pamatovat už při instalaci, kdy musíte instalátoru podstrčit disketu s ovladačem. Pozdější instalace ovladače a zapnutí v BIOSu by měla být teoreticky možná také. U Windows Vista a 7 si na zapnutí AHCI můžete vzpomenout kdykoli, stačí jen povolit příslušnou službu, restartovat, v BIOSu přepnout z Legacy/Emulated IDE na AHCI a znovu zavést operační systém.


Jestli budete na systémovém disku zapínat AHCI až po instalaci Windows 7/Vista, najděte v registru klíč HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci a hodnotu Start změňte z 3 (Zakázáno) na 0 (Povoleno)

Microsoft nutnost manuálního povolení služby msahci vysvětluje na stránkách podpory:

Během instalace systému Windows Vista dojde k zakázání všech nepoužitých ovladačů úložných zařízení. Toto chování urychluje proces spuštění operačního systému. Změníte-li spouštěcí jednotku na ovladač, který byl zakázán, před provedením změny konfigurace hardwaru je třeba tento nový ovladač povolit.

Předpokládejme například, že je systém Windows Vista nainstalován do počítače obsahujícího řadič, který používá ovladač Pciide.sys. Později dojde ke změně režimu SATA na specifikaci AHCI. Jednotka nyní potřebuje načíst ovladač Msahci.sys. Před provedením této změny je však nutné ovladač Msahci.sys povolit. Tento problém se týká pouze spouštěcí jednotky. Dojde-li ke změně na jednotce, která není spouštěcí jednotkou, tento problém nenastane.

Tím ale veškeré zrádnosti nekončí. Zatímco u čipsetů Intel nebo nVidia se nemusíte kromě případu SSD a Windows 7 (za chvíli) nijak zvlášť starat o to, jestli používáte ovladač od výrobce zařízení nebo generický ovladač od Microsoftu, testy AMD/ATI SB700 a SB750 ukazují, že s výkonem těchto jižních můstků s AHCI není něco v pořádku. Další testy odhalují, že zakopaný pes zřejmě leží v ovladači od AMD a když použijete ovladač dodávaný Microsoftem přímo s Windows Vista/7, je výkon těchto čipových sad s AHCI už v souladu s očekáváním.

Průměr: 4.8 (31 hlas)

Komentáře

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Zajímal by mě výsledek v praxi, třeba já se potýkám s pomalým načítáním map ve hrách, mám 3GB 1600MHz pamětí a napojuju se do MP her celkem pomalu (hlavně CoD6), zvýšilo by to tedy rychlost v tomto případě?
Jaké jsou rizika flashování BIOSu? Tady jsem nováček.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Myslim ze nejaky viditelny vplyv by to malo len v pripade, ze by popri nacitani mapy v hre prebiehala aj nejaka ina praca s diskom. Pokial je spustena len hra a nic ine disk aktivne nevyuziva (nejake obcasne sluzby v pozadi nepocitam), tak asi nebude mat zmysel za kazdu cenu zapinat AHCI. Ale na druhej strane, uskodit by to tiez nemalo. Otazne je, ci to stoji za namahu. Ak ma clovek z neustaleho hrania sa s nastaveniami radost, tak preco nie? :)
Btw, co s tym ma flash BIOSu? Staci v nom AHCI aktivovat... Alebo je nejaky problem so sucasnou verziou a je potrebne aktualizovat?

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Pro rychlejší načítání to chce kromě rychlého CPU a zásoby ramky, také rychlej systém (Win 7 nutnost, x64 ideálně). A hlavně, rychlej disk.. SSD nebo SAS (tzn. 15k disk). Druhé řešení je levnější, ale pekelně hlučné. :D

Nicméně hry nainstalované na tom disku se načítají opravdu velmi rychle..

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Diky za clanek, alespon vim ze po te co mi nenabehly Windowsy po zapnuti AHCI nebyla HW chyba :-)

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Jakto, ze kopirovani pri DMA takto zatezuje procesor? Mel jsem za to, ze primym pristupem do pameti se procesor nezatezuje.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

... a že současné NCQ se dělá (uspořádává) v zařízení... já taky, ale můžu v případě nedůvěry vyhrabat nějaké screenshoty. Zatím jsem v dokumentaci nenašel vysvětlení, ale určitě přijde paco a ušetří nám další bádání.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Předpokládám, že je to problém ovladače MSAHCI. Kdyby se použil jiný ovaldač, tak vytížení CPU bude jiné.
Obdobný problém byl kdysi u USB 2.0 řadičů. Kdy byla chyba v ovladači Microsoftu.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Pokud byste měl pravdu, bylo by to zase pro SSD trochu smutné (trim pracuje zatím jen s ovladačem Microsoftu, buď msahci nebo pciide).

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Rád bych se mýlil, ale podle toho co jste změřili a co o ovladačích MS vím, tak je toto možné. Je potřeba vyčkat na novější verzi tohoto ovladače (jestli bude).

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Přesněji napsáno automatický TRIM. Manuálně lze TRIM vyvolat i s ovladačem od výrobce. A vzhledem k tomu, že Intelí SSD Toolbox umožňuje manuální TRIM automatizovat naplánováním na konkrétní dny, tak je vlastně jedno, jestli je tam ovladač od MS nebo od výrobce.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Tak osobně mám desku MSI K9A2 (790FX/SB600). Ve Vistách sem povolil msahci, v biosu nastavil AHCI. Systém naběhl, nainstaloval automaticky ovladač a řekl si o restart. Následně po restartu bylo zřejmé že systém nabíhá mnohem déle, disk sem testnul v HDTune a průměrná přenosová rychlost se z původních 80MB/s snížila o více jak polovinu na 35MB/s, navíc systém občas zamrznul na pár sekund a stále s diskem něco řešil. Na druhém nesystémovém disku nastal uplně stejný propad ve výkonu.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Typický symptom problému ovladače, BIOSu či firmware HDD.

IDE a SSD intel....neuveritelne pomaly, proc?

Ahoj,
instaloval jsem ted do sveho PC Intel 160GB a zapomel v biosu IDe-rezim...instalace byla neuveritelne pomala...po prenuti a reinstalaci, uz je vse realitvne v poradku. Presto mam porad pocit, ze disk nejede na 100% svych moznosti. Mam zakl desku AMD790, mohl b byt problem tam? Popr. na jakem programu nejobjektivneji zjistim spravnou funkci disku.

Dekuji za odpoved J. Silhan

Re: IDE a SSD intel....neuveritelne pomaly, proc?

Zkuste pár volně stažitelných benchmarků (HD Tach, HD Tune, CrystalDiskMark a jeden z PCMarků) a váš disk srovnat s nejpodobnějším (rpm, cache, max. kapacita plotny u řady) v nějaké starší recenzi (kde je vícero HDD) v sekci Disky tady na EHW.

Re: IDE a SSD intel....neuveritelne pomaly, proc?

Já jsem zažil s istalací 80GB Intel X25-M zase jiný extrém.
Předem jsem v BIOSu (deska GB P45-DS3L) nastavil AHCI a započal instalírovat Visty.
Ovšem po každém nuceném restartu při instalaci, PC nemohl nabootovat. Nakonec jsem tu instalaci dokončil asi 20x vypnutím počítače.
Po instalaci systému se mi stávalo že se systém kousnul na detekci AHCI disků (měl jsem v SATA-0 SSD a v SATA-1 HDD Samsung F1). Trochu jsem hledal na webech až jsem našel podobný problém a zmínku že ICH10 od intelu používá pro první 4 porty SATA jiný přístup než pro zbývající dva.
Tudíž HDD putoval do SATA-4 a od té doby jede vše vpohodě.
Díval jsem se na datasheet ICH10 ale tam se o rozdílu mezi SATA 0-3 a SATA 4-5 (krom raidu ale ten nemám) nikde nepíše.
Tak kdyby měl někdo další problém, tak se to zde aspoň dozví.

PS: Disk běhá fajn, zkoušel jsem jej v Crystalu a je to zhruba podle výsledků Mirka Jahody. Ale stejně bych rád věděl, jak to s tím řadičem v ICH10 je :-)

PSS: Pro zvýšení rychlosti SSD se obecně doporučuje vypnout systémové funkce superfetch a prefetch. Existuje na to jednoduchý prográmek, který se ani nemusí instalovat, jen nastaví potřebné parametry systému - http://www.ocztechnologyforum.com/forum/showthread.php?49779-SSD-Tweak-U... ale jestli ti to na AMD chipsetu pomůže toť otázka...

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Zdar, mám takový problém. Na desce Gigabyte EP35-DS3 mám v modu AHCI na ICH9 připojeny dva disky. Na prvním jsou dva oddíly, jeden se systémem. Na druhém také dva oddíly, jeden se swap souborem. Problém je následující: Jakmile uspím počítač do režimu S3 (suspend-to-ram) a následně probudím tak druhý disk ze systému zmizí. Není vidět ani ve správci hardwaru. Pomůže jedině následný restart. Nainstalovány mám i aktuální drivery od Intelu (Inf). Napadla mě ještě možnost druhý disk připojit na sekundární řadič od Gigabyte, který je na desce. Ten mám ale aktuálně vypnutý, protože jeho inicializace prodlužuje dobu bootování počítače.
Původně jsem to takto provozoval na Vistách a nebyl problém. Operační systém je 64-bit. Zkoušel jsem googlit ale nic rozumného nenašel. Pokud někdo ví a poradí, budu moc vděčný

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Dá se vypnout jenom samotné NCQ, aniž by se muselo vypínat celé AHCI?

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

skor by ma zaujimalo presne navod ako zapnut AHCI a NCQ a ako to vypnut.
napriklad mam disky v RAID, cize moj radic automaticky pracuje v AHCI?

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Prvotně je třeba toto zapnout v BIOSu základní desky či řadiče RAID, pokud se jedná o samostatný řadič.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

AHCI SATA o nic nerozšiřuje. AHCI je standard pro komunikaci OS s řadičem.

Z článku by taky mohlo vyznít, že třeba NCQ nebo hotplug nejde bez AHCI. To je taky nesmysl, jsou řadiče, který to podporují (pěknej přehled je na http://linuxmafia.com/faq/Hardware/sata.html )

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Bohužel jsem se v praxi (myslím BIOS, či SETUP základní desky, abych se pojistil před chytáním za slovo ;-)) s touto možností u základních desek pro PC a NTB nesetkal. Nebude myslím na škodu, když to tak v poměrně krátkém článku zůstane a o existenci či možnosti existence NCQ a Hot Plug bez AHCI budou čtenáři vědět z pod každou kapitolou zobrazené diskuze.

Re: Proč chtít AHCI a NCQ u pevných disků i SSD?

Ked tak prezeram tie vysledky testov, ziskal som dojem, ze AHCI pri ICH10R a Intel X-25 M /34nm/ nema velky prinos s pohladu bezneho pouzivatela PC. Opravte ma prosim, pokial sa mylim a ci ma vobez zmysel aktivovat AHCI pri tomto SSD.