reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

SSD: vývoj, technologie a budoucnost

2.7.2015, Jan Vítek, článek
SSD: vývoj, technologie a budoucnost
SSD by již brzy měly překonat pevné disky v kapacitě a v posledních měsících se i velice příznivě pro nás vyvíjí i jejich cena. Co tedy můžeme očekávat u těchto úložných zařízení, jež si u řady uživatelů ještě nezískala plnou důvěru?
Čas pamětí Flash nastal na konci 80. let, i když byly vyvinuty už na jejich začátku ve firmě Toshiba, a to z pamětí EEPROM (Eletrically Erasable Programmable ROM). EEPROM mají jednu podstatnou nevýhodu, a sice tu, že není možné smazat jen jejich část pro zápis nových dat. Je nutné smazat celou EEPROM, zatímco paměti Flash (verze NAND) jsou stvořeny z bloků skládajících se ze stránek a ty mohou být mazány a celkově využívány jednotlivě. Tedy přesněji, čtení a zápis je možné provádět po stránkách, ale mazat lze pouze po blocích, přičemž stránky mají typickou velikost udávanou v bajtech a bloky v kilobajtech. Takovouto strukturu mají do dnešních dnů.

Do čeho ale paměti Flash ukládají data? Využívají k tomu pole buněk vytvořených z tranzistorů (typ Floating Gate), přičemž v tradičním pojetí s buňkami SLC dokáže každá buňka uložit jeden bit, čili má dva stavy - 0 nebo 1. Floating Gate tranzistor v SSD připomíná MOSFET, ovšem namísto jedné brány má dvě. Nahoře je CG (Control Gate) a pod ní zase Float či Floating Gate (FG) obalená izolační vrstvou oxidu a pod ní už je kanál MOSFETu. Díky izolaci FG jsou elektrony v ní uvězněny, dokud je nevysvobodí přivedené elektrické pole potřebného napětí.




- Floating Gate tranzistor dle Wikipedie -


Nabitá Floating Gate se přitom nachází v logickém stavu 0 a elektrony v ní zvyšují prahové napětí VT1 nenabité buňky na hodnotu VT2. Abychom mohli přečíst logickou hodnotu tranzistoru, je na Control Gate přivedeno napětí mezi VT1 a VT2 a pokud kanál sepne, pak je zřejmé, že FG není nabita a buňka má logickou hodnotu 1. Pokud se stane opak, je zase zřejmé, že FG je nabita a v buňce je uložena 0. Takto fungují buňky SLC schopné uložit jeden bit, zatímco u buněk schopných uložit dva a více bitů se používá více úrovní nabití FG a zároveň se měří proud tekoucí ze Source Line do Bit Line, na základě čehož se vyhodnocují další stavy.





Paměti Flash se ale dělí na dva typy, a to NOR a NAND (názvy logických operací Not-Or a Not-And). Intel viděl v těchto pamětech potenciál, a tak v roce 1988 představil první komerčně dostupné čipy NOR Flash, takže ty se dostaly na trh první a dostaly se tak do raných elektronických médií, jako byly karty CompactFlash. Rozdíl mezi NOR a NAND Flash je jednak ve velikosti buněk, což negativně ovlivňuje jejich kapacitu i cenu. Paměti mají také obecně vyšší počet možných mazacích a zapisovacích cyklů, a to až milion. Paměti NOR také nabízí vyšší rychlosti čtení a náhodného přístupu k datům, ale na druhou stranu jsou daleko pomalejší při zápisu nových dat a mazání starých, takže se postupně začaly používat spíše jako náhrada pamětí ROM pro uložení dat, která jsou jen zřídka přepisována (BIOS nebo Firmware různých zařízení). A je tu ještě jeden rozdíl. Data v paměti NOR můžeme číst skutečně libovolně, třeba po bajtech, zatímco v případě NAND je možné číst přinejmenším celé bloky a i proto se NOR hodí jako náhrada ROM a NAND jako sekundární paměť vedle HDD a jiných zařízení pro ukládání velkého množství dat.




- porovnání výkonu NOR a NAND Flash od Toshiby -


A právě proto se dnes setkáváme v našich počítačích, MP3 přehrávačích, flash discích a jinde právě s paměťmi NAND Flash, které jsou pro tento účel daleko vhodnější než NOR.


SLC vs. MLC: výkon a výdrž


Ještě před několika lety jsme měli možnost si pořídit SSD s buňkami SLC (Single-Level Cell), ovšem postupem času je vytlačovaly paměti MLC (Multi-Level Cell) NAND Flash a dokonce přišly i další jako TLC (Triple-Level Cell). Jde o již výše zmíněnou schopnost paměti uložit do jedné buňky jeden nebo více bitů informace, takže zatímco SLC dokáží uložit jeden, MLC zvládnou dva a TLC tři.





Dnešního spotřebitele tedy v podstatě ani nemusí zajímat vyloženě to, jaký typ buněk jeho SSD využívá, když tu jsou stejně jen samé MLC či TLC (známé v případě Samsungu také jako 3-bit NAND). Důležitý je výkon, v jehož případě jsme často limitováni rozhraním či kontrolerem a ne použitými paměťmi a pak můžeme řešit i výdrž. Tu by paměti s buňkami SLC měly mít vyšší, stejně jako je na jejich straně rychlý zápis, ale to vše je stejně jedno, když SSD s SLC buňkami na trhu neseženeme a pokud ano, budou malé, předražené a zastaralé (tedy na dnešní poměry i pomalé).

Výrobci jednoduše vsadili na buňky schopné zapsat více bitů, a to především kvůli cenám. Zařízení SSD se díky tomu mohla rozšířit mezi širokou veřejnost, která ale také začala řešit jejich výdrž danou množstvím mazacích a zapisovacích (P/E) cyklů, jež buňky zvládnou před svým selháním. MLC NAND jsou na tom v tomto ohledu podstatně hůře než SLC NAND a výdrž dále klesá i s tím, jak se zmenšuje výrobní proces. Není tedy výjimka, když dnes narazíme na paměti s udávanou životností jen 1000 (P/E cyklů), což vypadá nuzně. Ale ve skutečnosti nám SSD s kapacitou 240 GB a takovýmito paměťmi může vydržet třeba 15 let při každodenní zátěži v běžném počítači. Výrobci navíc tuto životnost často značně podhodnocují, takže z 1000 cyklů může být ve skutečnosti dvojnásobek. Toto téma ostatně řešíme v našem článku na pokračování:

Paměti MLC a TLC či jiné modernější tedy umožnily podstatně zvýšit kapacitu a snížit ceny SSD a dnes už jsou SSD s SLC buňkami v podstatě minulostí, a to samé má v horizontu několika let potkat i dvoubitové MLC, jak ukazuje následující graf.




- projekce do budoucna dle Samsungu - Samsung.com


MLC (TLC, 3-bit, ...) tedy nad SLC vyhrály především díky nižší ceně za stejný objem paměti a možnosti nabídnout vyšší kapacitu. Ovšem to na druhou stranu přineslo problémy s postupně klesající životností buněk v takových pamětech a také se musí počítat s nižším výkonem. Však je podstatně složitější zjistit, zda má buňka třetinový, poloviční či plný náboj, než to, zda má nebo nemá náboj. Zápis do 3-bit MLC NAND tak trvá i 4x déle a čtení 2,5x déle v porovnání s SLC paměťmi. Postupně se také více opotřebovávají oxidové vrstvy, které "vězní" elektrony ve Floating Gate. Každou mazací a zapisovací operací degradují, až náboj začne rychle unikat a buňka zapsanou informaci zapomene. U SLC buněk to není velký problém, když musíme rozpoznat pouze dva stavy, ale u 3-bit MLC NAND je třeba rozpoznat 8 stavů, a je zde tedy jen malý prostor k chybám v měření. Používáním pokročilejších výrobních procesů jsou oxidové vrstvy stále tenčí, a opotřebují se tedy rychleji.

V ideálním případě by buňky v pamětech měly vydržet stejný počet P/E cyklů, jichž je u dnešních pamětí přinejlepším několik tisíc. Kontroler se tak musí starat o dobrou kondici jím spravovaných pamětí. Musí zajistit, aby byly buňky využívány rovnoměrně a část z nich nezačala selhávat v době, kdy se na jiné ještě nesáhlo. Pro tento účel se využívají algoritmy pro vyrovnávání zátěže, tzv. Wear-Leveling. Vedle toho jsou zde i další algoritmy označované jako Garbage Collection (nebo příkaz TRIM z operačního systému), které preemptivně připravují buňky pro zápis nových dat, díky čemuž ten může proběhnout rychleji. Známý Error-Correcting Code (ECC) pak slouží k odhalení chyb vzniklých třeba degradací buňky pomocí paritních bitů, pro něž má vyhrazen prostor každá stránka a nakonec tu máme termín Over Provisioning skrývající vyhrazenou skrytou paměť jako zálohu i prostor pro provádění potřebných operací. Někdy máme možnost objem této paměti stanovit i sami.

Postupně vyšší kapacita pamětí NAND Flash i samotných SSD má ale ještě další pozitivní efekt. SSD s kapacitou 240 GB má totiž teoreticky zvládnout za svůj život zapsat dvojnásobný objem dat než 120GB model a také lze předpokládat, že využije více NAND Flash čipů. To umožní využívat paralelní zápis a čtení, díky čemuž se dosáhne i vyšší datové propustnosti a právě proto jsou malá SSD často podstatně pomalejší než větší modely. U vyšších kapacit se ale tyto rozdíly obvykle smažou, či jsou případně zanedbatelné.
reklama