„Hniloba dat“ na SSD

SSD jsou super, rychlé, dnes už i levné, a zdá se jako výborný nápad je používat na všechno. Teoreticky všechna data na SSD (ale vlastně i flashdiscích, SD kartách apod.) ale mají svou „expiraci“, pokud nejsou znovu zapsána. Jinými slovy, časem „zhnijou“ tak, že už nebudou čitelná. Podobně hnijí data i na vypalovaných CD nebo DVD, kdy jednoho krásného dne už nemusí jít přečíst. Zatímco u cédéček se to děje u mizerných disků po 10 letech (tj. některá stará CD už nepřečteme) a u kvalitních by data měla vydržet i 100 let, u některých SSD na výrazné problémy lze narazit už po půl roce od zápisu. A jak tu máme 3 bity v buňce (TLC), nově už i 4 bity v buňce (QLC) a plánuje se i 5 bitů v buňce (PLC) atd., bude to už jen horší. Tyhle problémy měla i někerá SSD od Samsungu (840 EVO), takže to není jen doménou levných značek. Nabízím krátkou zkušenost z praxe s levným Patriotem Burst 240 GB, co jsem si dal do USB 3.0 rámečku jako externí disk na přenášení dat, aby šla rychle kopírovat i číst a otřesy v batohu apod. disk neohrozily tak jako tradiční rotační disky.

Nepatrně teorie proč k postupné ztrátě informace u SSD může dojít: paměťová buňka obsahuje nějaký elektrický náboj, ale ten se nedokonalou izolací postupně „odpařuje“. U nejodolnějších pevných úložišť to je v pohodě, protože jsou typu SLC, tj. ukládají jen jediný bit (0/1). Rozdíl v náboji určující binární nulu a jedničku je tak velký, že může trvat možná desítky let, než se buňka vybije tak, aby bylo už nejasné, jestli šlo původně o jedničku či nulu.

Se zmenšováním výrobní technologie (čím míň nanometrů, tím víc adidas) a snahou narvat do buňky co nejvíc dat se situace zhoršuje: odizolovat mrňavé buňky tak dobře nejde, a pokud tam jsou dva bity (MLC), tak náboj reprezentuje čtyři možné hodnoty. Tři bity (TLC) reprezentují už 8 hodnot a QLC 16 hodnot. V případě QLC stačí, aby náboj byl o jednu šesnáctinu nižší a při čtení dojde k přečtení úplně jiné hodnoty. Čtení hodnoty „na hraně“ může trvat déle, nebo se chybná data musejí opravit kontrolními součty (která taky může jít přečíst blbě). Výsledek?

Na mém Patriotu Burst jsem měl některá data zapsaná rok, některá půl roku, některá úplně nově. Rok a půl stará data mi počítač čte rychlostí 1-10 MB/s. Ano, čtete správně, ono super-rychlé SSD je sotva schopné takto stará/nová data přečíst. Půl roku stará data jedou kolem 30-40 MB/s, což je pořád bída a násobně pomalejší, než rotační disk, Pouze velmi čerstvě zapsaná data jedou cca 250-300 MB/s (limitem je zde možná USB 3.0/SATA řadič nebo samotné USB 3.0 rozhraní, papírově jde samozřejmě o SSD co má mít čtení až 550 MB/s…)

Ještě větším problémem tohoto SSD je skutečnost, že ani po tom pomalém, takřka neúspěšném čtení dat, si řadič/firmware SSD neuvědomil, že tato data stárnou a za chvilku nepůjdou přečíst vůbec (krom toho, že SSD s rychlostí čtení 1 MB/s je k ničemu), a ani poté, co tato data přečetl, je potichu na disku nepřepsal na nové buňky, aby opakované čtení stejných dat už bylo zase chvíli rychlé. Bez toho, aniž by člověk sám data znovu zapsal, toto SSD zkrátka po čase o data přijde, ačkoli by bylo triviální, aby si na pozadí SSD dělalo tuto kontrolu a „zapomínající“ paměťové buňky si periodicky přepisovalo. Na takovém SSD mi přijde, že jediným způsobem, jak to „automaticky“ „řešit“, je na něm natvrdo pouštět jednou za pár měsíců defragmentaci jako u klasického disku, a vynutit aby to všechny soubory přeuložilo někam jinam. Pár stovek přepisů buňky mají vydržet a tohle cvičení by mělo stačit párkrát do roka. Pro cokoli serióznějšího je takovéto SSD na vyhození. Samsung svého času stejný problém u 840 EVO „vyřešil“ nakonec za zákazníky upgradem firmwaru, které toto periodické přeukládání dělá na pozadí, i za cenu vyčerpávání počtu možných přepisů buněk. Nic jiného u takovýchto „zapomínajících“ SSD totiž dělat nejde. Ideálně to má firmware dělat potichu sám i když člověk data nečte. K úplné ztrátě dat by tak mělo dojít až bud po vyčerpání počtu zápisů buněk, nebo pokud to je právě externí disk, co běžně není vůbec zapojený, a při krátkém zapojení jen občas se přepis celého SSD nestihne provést, případně pokud takové SSD leží vypnuté skutečně delší dobu.

Tak brutální zpomalení čtení na jednotky MB již po roce od zápisu dat, ačkoli byl disk mezitím mnohokrát připojován a používán k ukládání a čtení jiných dat, je ale varováním před přílišný spoleh na SSD…

Nějaké zdroje:

https://forums.anandtech.com/threads/ssd-unpowered-data-retention.2504433/

https://www.techspot.com/article/997-samsung-ssd-read-performance-degradation/

https://www.techspot.com/downloads/6712-ssd-read-speed-tester.html

https://web.archive.org/web/20150428040623/http://www.jedec.org/sites/default/files/Alvin_Cox%20%5BCompatibility%20Mode%5D_0.pdf

Autor

Martin

Pracuji jako ajťák a grafik na volné noze, zejména ale pro brněnskou firmu vyrábějící ekodrogerii. Dále působím v brněnském systému místní směny Rozleťse, Českém zahrádkářském svazu, České psychedelické společnosti, spolku Archetypal a Mezinárodní komunitě dzogčhenu. Chcete mě podpořit? BTC: 37mf2FJR26Ce3DxMkocukJDgB1eVjasnZB, příp. PGP podepsané adresy dalších kryptoměn.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *