Kdo brzdí SSD? AMD, Intel nebo OCZ? Průšvihů přibývá

0

I když SandForce dodal na trh vadnou sérii SSD řadičů (spolu s nedoladěným firmwarem) a OCZ to dodnes kryje, stojí za velkou poruchovostí prý doslova banalita – úsporné funkce řadičů SATA 6 Gb/s zvané LPM (Link Power Managment), DIPM (Device-Initiated Link Power Management) a HIPM (Host-Initiated Link Power Management). Ty byly původně navrženy pro notebooky, aby při nečinnosti disku vypínaly sběrnici (řadič případně disk) a tím snížily spotřebu (po řepce v benzínu nám zelená lobby prosadila úsporu několika miliwattů vypínáním řadičů pevných disků :-)).

Na tom by nebylo nic špatného, kdyby byla tato funkce kompatibilní se všemi SSD řadiči a Intel ji u nových ovladačů implicitně neaktivoval i u desktopových čipových sad. Kromě SandForce není LPM, DIPM a HIPM plně kompatibilní také s Marvellem. Disk pak náhodně zamrzává a v extrémních případech (jako se tomu stalo u chybné revize SF-2281) může dojít k jeho poškození. Ale pěkně popořádku…

Blokové schéma SSD s řadiči SandForce NAND flash Intel o kapacitě 128Gb obsahuje dva 64Gb čipy
SSD řadiče SandForce obsahují osm komunikační kanálů, pro zvýšení kapacity jednotlivých disků je však k nim připojeno mnohem více čipů
– pro zvětšení klikněte –

Rodina řadičů SandForce SF-2200 obsahuje osm kanálů pro připojení NAND flash čipů. V tomto případě je myšlen fyzický kus křemíku (die). Zapouzdření je obvykle osmibitové a řadič obvykle šestnáctibitový. Na plošném spoji je pro plné využití sběrnice obvykle osazeno šestnáct pouzder. V každém keramickém pouzdře mohou být i čtyři kusy křemíku. Ve 240GB SSD disku komunikuje řadič s 32 kousky křemíku. Jenomže nemůže s nimi komunikovat současně, a proto „čekají ve frontě“ až se na ně dostane řada.

Fronta na vykonání příkazu

Všimněte si, že nejrychlejší jsou SSD se střední kapacitou. U větších modelů, obvykle vlivem vyšší latence, rychlost zápisku klesá. Menší modely (SandForce 50 GB a 100 GB, Intel 40 GB) jsou pomalejší kvůli nižšímu počtu zapojených kanálů.

  • OCZ Vertex 3, 120 GB: 16 pouzder, 16 čipů, 550 MB/s čtení, 500 MB/s zápis
  • OCZ Vertex 3, 240 GB: 16 pouzder, 32 čipů, 550 MB/s čtení, 520 MB/s zápis
  • OCZ Vertex 3, 480 GB: 16 pouzder, 64 čipů, 530 MB/s čtení, 450 MB/s zápis

Vinou optimalizací power managmentu však dochází k částečnému nebo plnému uspání sběrnice SATA i ve chvíli, kdy probíhá komunikace mezi ředičem SATA a ředičem SSD. SSD řadič se snaží komunikovat opakováním požadavků, a tak „nemá čas“ na NAND flash. Na některé buňky se buď nikdy nedostane, nebo čtení / zápis skončí v uspané sběrnici. Také už není čas, kdy by řadič mohl efektivně provádět wear leveling a garbage collection algoritmy, což má za následek pokles výkonu při dlouhodobém a intenzivním používání (případ disků Crucial C300).

Standard ONFi

Další problém nastává ve chvíli, kdy se v rámci „zpřístupnění SSD širokým masám – SSD do každé rodiny“ rozhodne výrobce použít ty nejlevnější čipy na trhu. To je i případ OCZ, kde se rozhodnuli do Agility 3 osadit pomalejší čipy. Zatímco ve Vertexu 3 MAX IOPS jsou osazeny Toshiba Toggle NAND s rychlostí až 200 MB/s a ve Vertexu 3 jsou 25nm IMFT NAND flash standardu ONFi 2.0, do Agility 3 osadilo OCZ čipy standardu ONFi 1.0. I když jsou vyrobeny 25nm výrobním procesem, jde o zbytky, které vznikají při výrobě, ale je „škoda je vyhodit“. Tedy takový Sempron nebo Celeron v SSD provedení.


Na blogu konkurenčního OWC se objevil nepravdivý pamflet o tom, jak OCZ okrádá zákazníky tím, že osazuje do disků neznačkové NAND flash. Pravda je taková, že v rozebíraném disku jsou Micron čipy pro OEM trhy prodávané jako SpecTec

Přestože jsou v Agility 3 osazeny mnohem pomalejší NAND flash čipy než ve vyšších modelech, díky řadiči SandForce a jeho efektivnímu kompresnímu algoritmu není pokles rychlosti zápisu tak výrazný. Jenomže co je to platné, když řadič pouze v mezidobí spánku sběrnice stíhá pouze pomalé čtení a zápis a není čas na skoro žádné algoritmy pro obnovení výkonu. V OCZ to v tichosti přiznali a vyvěsili na své fórum řešení (okopírované z fóra Micronu), jak LPM vypnout.

Pokud jste dočetli až sem a stále vám není problém jasný, mám zde ještě stručnější vysvětlení. Nespecifikované množství nové řady superrychlých SSD založených na řadiči SandForce trpí problémy (dle OCZ malé procento, Corsair stahuje všechny 120GB disky Force 3): zamrzání, degradace výkonu, modré obrazovky a následná smrt. Podle několika nezávislých zdrojů (PCEva.cz, Micron i OCZ) za to mohou úsporné režim SATA řadičů. Ty uspávají za chodu SATA sběrnici a znemožňují SSD komunikovat s počítačem a provádět vlastní opravné kódy.

Autor ani redakce nenese žádnou odpovědnost za škody způsobené nesprávně provedeným zásahem do registrů a instalace neoficiálních ovladačů. Než se do aktualizace pustíte, doporučujeme původní nastavení důkladně zálohovat a zrušit přetaktování celého počítače. Pokud nevíte, co děláte, nedělejte to!

Řešení je prosté: vypnout úsporné režimy řadiče SATA úpravou registru. Nejprve nainstalujte nejnovější ovladače čipové sady. Ty naleznete na stránkách výrobce anebo neoficiální verze (bez jakýchkoliv garancí) na francouzských stránkách Station Drivers – Intel a AMD (jazykový koutek: oui = ano, non = ne). Po restartu spusťte soubor s příkazy do registru pro svoji čipovou sadu.

Kdo z vás si disk s řadičem SandForce koupil? Máte také problémy s poklesem výkonu? Reklamovali jste jej? Používáte Windows 7 SP1 a Intel RST 10.x, kterých se prý problém nejvíce týká?

Doplněno: Pár měsíců po vydání Windows 7 jsem měl problém s probouzením svého druhého disku. Vada se projevovala tak, že se neroztočil. Pomáhalo jen fyzické připojení a odpojení SATA kabelu. Nakonec to vyřešil následující hotfix KB977178. V článku jsem také zapomněl zmínit existenci nového firmwaru OCZ v2.08 pro disky Vertex 3, Agility 3 a Solid 3. Nový firmware připravil také Crucial pro řadu m4.

Zdroj: PCEVA, Anandtech, PCPerspektive