Vojtěch Kavan, DATARECOVERY, s.r.o.
Pamäťové médiá založené na flash čipoch sa od ich prvého uvedenia na trh v roku 1989 rýchlo rozšírili vďaka mnohým výhodám spojeným s ich používaním. Oveľa menej sú však známe nevýhody a úskalia spojené s touto technológiou ukladania dát.
Základnými stavebnými prvkami SSD sú pamäťové flash čipy, radič a firmvér. Ich vzájomnou kombináciou a parametrami je daný spôsob, ako bude konkrétne zariadenie zaobchádzať s dátami.
Napríklad použité flash čipy určujú maximálny počet uskutočniteľných zápisov do jednotlivých pamäťových buniek. Vo flash čipoch sú dáta uchovávané v tranzistoroch s tzv. plávajúcim hradlom (floating-gate MOSFET), ktorých charakteristickou vlastnosťou je postupné opotrebovávanie až po úplnú nefunkčnosť.
Rýchlosť opotrebovania závisí okrem iného od počtu bitov uložených v jednej pamäťovej bunke (jeden bit - typ SLC, dva bity - MLC, tri bity - TLC) a od použitého výrobného procesu (od 50 nm do zatiaľ 20 nm). Pritom platí, že čím viac bitov je uložených v jednej bunke a čím menší výrobný proces je použitý, tým menej zápisov možno do flash pamäte realizovať.
Na docielenie čo najmenších rozmerov čipov NAND flash sú jednotlivé pamäťové bunky (tranzistory) prepojené sériovo do tzv. stránok. V súčasnosti sa najčastejšie používajú stránky s veľkosťou 4 alebo 8 kB. Typicky 128 alebo 256 stránok potom utvára jeden tzv. blok.
Architektúra čipov NAND flash neumožňuje pamäťovému radiču adresovať jednotlivé pamäťové bunky. Najmenšia adresovateľná jednotka na operácie čítania a zápisu je stránka. Mazanie dát je možné len po celých blokoch. Pokiaľ sa požaduje jeden konkrétny uložený bajt, načíta radič z patričného flash čipu vždy celú zodpovedajúcu stránku. Oproti tomu zapísať dáta do pamäťovej stránky možno len v prípade, že je prázdna (doteraz nepoužitá alebo vymazaná).
Jednotlivé pamäťové záznamy totiž nemožno ľubovoľne meniť, ako sa to dá napríklad pri HDD. Pred zápisom do stránky obsahujúcej iné dáta treba najprv celý blok, do ktorého patrí táto stránka, vymazať. Ak sa má teda zapísať jeden bajt do už použitej stránky, treba najprv načítať všetky stránky využité v bloku, získané dáta patrične modifikovať, celý blok vymazať a dáta nakoniec do všetkých stránok zapísať späť. Zápis či zmena jedného bajtu tak opotrebuje aj značné množstvo ďalších pamäťových buniek.
Z pohľadu štatistiky sa na bežne používanom disku mení priemerne len asi 25 % uložených dát. Jeden často modifikovaný súbor (napr. aplikačné log, odkladací súbor operačného systému) by však dokázal veľmi rýchlo zničiť pamäťový blok, v ktorom je uložený. Aby k tomu nedošlo a opotrebovanie disku SSD prebiehalo v celej jeho kapacite pokiaľ možno rovnomerne, využíva sa tzv. wear leveling.
Ďalšia technická odlišnosť SSD od pevných diskov je funkcia TRIM, resp. správa pamäte. Tá zabezpečuje, aby súbory vymazané na úrovni operačného systému mohol radič čo najskôr použiť na zápis ďalších dát. Radič sa vďaka TRIM dozvie, ktoré stránky/bloky môže vymazať a pripraviť si ich tak na zápis. Priebežne prebieha aj vyhodnocovanie správnej funkčnosti jednotlivých blokov. Ak je niektorý uznaný za chybný, použije sa namiesto neho iný. Na tento účel zvyčajne výrobca vyhradí na médiu 5 - 30 % celkovej kapacity.
Tak ako je pre HDD podstatná rýchlosť otáčania platní a hustota záznamu dát, je pre SSD zásadný typ použitého radiča a verzia firmvéru. Teda riadiaci procesor a jeho naprogramovanie. V súčasnosti najpoužívanejšie riešenia pochádzajú od firiem SandForce, Marvell, Indilinx, Samsung, Intel, Toshiba (JMicron) a Phison. Líšia sa napríklad počtom dátových kanálov, spôsobom distribúcie dát medzi jednotlivé čipy, rôzne efektívnou optimalizáciou činností, spôsobom využitia pamäte, účinnosťou wear levelingu, veľkosťou cache, rezervnou kapacitou, správou napájania, šifrovaním alebo komprimovaním ukladaných dát.
Podľa toho, ako sa výrobcom v jednotlivých prípadoch podarí túto komplexnú problematiku zvládnuť a v rámci firmvéru efektívne odladiť, taký kvalitný, výkonný a spoľahlivý bude disk SSD. Každá nová verzia obyčajne prináša isté zvýšenie výkonu, zefektívnenie prevádzky a niekedy dokonca aj mierne zvýšenie kapacity (napr. znížením rezervnej kapacity). Aj najmenšia chyba v naprogramovaniu však môže zapríčiniť badateľnú degradáciu výkonu, rýchlejšie opotrebovávanie flash pamäte, prípadne aj zamŕzanie a pády operačného systému či stratu dát.
V priebehu používania akéhokoľvek disku SSD môže nastať nespočetne veľa situácií končiacich sa nedostupnosťou uložených dát. Keď k tomu dôjde a obsah média nie je zálohovaný, jediná možnosť je obrátiť sa na odbornú firmu, ktorá má na obnovenie dát z flash pamätí špecializované vybavenie a potrebné skúsenosti.
Vzhľadom na veľké množstvo možných kombinácií typov používaných flash čipov, radičov, verzií firmvéru a vzniknutých chýb je takmer každá záchrana dát z disku SSD svojím postupom unikátna. Vo väčšine prípadov navyše nemožno využiť radič zariadenia a treba extrahovať surové, neštruktúrované dáta priamo z jednotlivých flash čipov. Zrekonštruovať zo získaných dát použiteľné súbory znamená identifikovať všetky ich časti a správne ich poskladať. Na lepšiu predstavu: typický niekoľkostránkový dokument z MS Word je uložený v niekoľkých desiatkach častí, bežná fotografia vo formáte JPG v niekoľkých tisícoch a videonahrávky sa spravidla skladajú z viac ako milióna fragmentov.
Základný problém je zistiť, kam boli ktoré časti súborov uložené. Radiče SSD na dosiahnutie maximálnej efektivity a rýchlosti práce celého média spájajú jednotlivé flash čipy do zložitých polí RAID. Navyše môžu byť dáta vďaka funkcii wear leveling rôzne premiestňované, v niektorých stránkach zostávajú dáta v operačnom systéme už vymazané, prípadne môže byť obsah média šifrovaný či skomprimovaný (typicky pri radičoch SandForce). Obnoviť dáta z havarovaného disku SSD je preto výrazne zložitejšie a odborne náročnejšie ako z klasického HDD.
Neraz môže úspešnú obnovu dát znemožniť sám princíp fungovania pamätí flash. Pri HDD dochádza k faktickému odstráneniu dát z platne až zápisom nových. Dovtedy možno pôvodné dáta získať. Naproti tomu disk SSD odstraňuje zmazané dáta v rámci správy pamäte a funkcie TRIM priebežne, keď práve nevybavuje iné požiadavky. A len čo raz dôjde k vymazaniu bloku, sú pôvodne uložené dáta neobnoviteľné zničené.
Kým sú dáta v pamäťových čipoch ešte prítomné, možno ich vo väčšine prípadov obnoviť. Firmy zaoberajúce sa záchranou dát v odbore Flash Recovery disponujú špecializovaným vybavením a odborníkmi s rozsiahlymi znalosťami a skúsenosťami. Dôležité je poškodené médium ďalej nepoužívať a bezodkladne odpojiť od napájania. Väčšine dnešných diskov SSD totiž stačí na vykonanie výmazu dát obyčajné pripojenie k elektrickej energii.
Konkrétne možnosti záchrany dát a jej cenu vám zodpovedná odborná firma zvyčajne oznamuje vždy až po vykonaní diagnostiky média.
Dátové médiá založené na pamätiach flash by pri bežnej prevádzke a záťaži mali zastarať skôr morálne než funkčne. Väčšina výrobcov však ručí za svoje výrobky iba po dobu 2 rokov.
Pri veľkej prevádzkovej záťaži (častom zápise veľkých objemov dát) je vhodné zvoliť SSD používajúce spoľahlivejšie pamäte flash typu SLC alebo disky zavčas preventívne meniť. Najlepšie odporúčanie je v každom prípade priebežné a dôsledné zálohovanie všetkých dôležitých a cenných dát.