Případ nakonec ukázal, že ne každá závada NAND flash musí nutně znamenat ztrátu dat nebo nákladnou opravu. S trpělivým přístupem a správnou kombinací čtecích metod jsme se dostali ke kompletní binární kopii.

Co je uvnitř Patriot P210

Po sundání krytu jsme našli kompaktní PCB s řadičem Silicon Motion SM2259XT a jedním paměťovým čipem NAND s označením 29RD4T2ANCQJ1. Pohled na tyto dvě komponenty hodně napovídá o tom, proč disk začal selhávat.

SM2259XT je takzvaný DRAMless řadič, tedy řadič bez vlastní vyrovnávací paměti DRAM. Všechny SSD ukládají mapovací tabulku do NAND paměti jako trvalou kopii – bez toho by po vypnutí ztratily informaci o tom, kde fyzicky leží která data. Řadiče s DRAM si po zapnutí celou tabulku načtou do rychlé operační paměti a pracují s ní odtud. SM2259XT tuto možnost nemá – disponuje pouze malou interní pamětí SRAM přímo na čipu řadiče, kam se vejde jen zlomek mapovací tabulky. Zbytek musí průběžně číst z NAND za provozu, kdykoli přijde požadavek na adresu, jejíž mapování zrovna nemá v SRAM uložené. Více o funkci řadiče v SSD najdete v sekci Princip fungování SSD – řadič.

To znamená, že řadič je při každém přístupu přímo závislý na čitelnosti NAND – pokud se zhorší kvalita čtení v oblasti, kde jsou uloženy mapovací struktury, projeví se to okamžitě na funkci celého disku.

Druhá důležitá informace se skrývá v označení paměťového čipu. Prefix „29R“ v názvu 29RD4T2ANCQJ1 prozrazuje, že se jedná o čip s takzvaným SpecTek gradingem. SpecTek je dceřiná společnost Micronu, která prodává paměťové čipy, jež neprošly plným kvalitativním tříděním. V praxi to znamená potenciálně vyšší výchozí chybovost ve srovnání s plnohodnotně tříděnými čipy. Dekódování zbytku part numberu pak ukazuje na QLC NAND paměť Intel/Micron s 96 vrstvami. QLC znamená, že každá paměťová buňka ukládá 4 bity dat pomocí 16 různých napěťových úrovní. Pro srovnání – u TLC paměti je to 8 úrovní pro 3 bity. Čím více úrovní, tím citlivější je buňka na opotřebení – a tím snáze dochází k chybám při čtení. Podrobněji o typech NAND pamětí píšeme v sekci Kvalita NAND čipů – SLC/MLC/TLC/QLC.

Kombinace DRAMless řadiče, QLC paměti a SpecTek gradingu vytváří úložné médium s minimálními výrobními náklady – ale zároveň náchylnější k problémům s čitelností při opotřebení. A přesně to se v tomto případě stalo.

Diagnostika v PC-3000

Po připojení disku k PC-3000 Express se SSD korektně přihlásilo a identifikovalo. Diagnostika SMART parametrů potvrdila podezření – disk vykazoval chyby ukazující na problémy s NAND pamětí. Při pokusu o čtení se chování přesně shodovalo s popisem klienta: prvních několik set megabajtů se přečetlo v pořádku, poté se proces zastavil na nečitelných oblastech.

U QLC paměti je tento vzorec degradace očekávatelný. S přibývajícím opotřebením se napěťové distribuce jednotlivých buněk rozšiřují a překrývají, což vede k nárůstu bitových chyb. Řadič se snaží chyby opravovat pomocí zabudovaného ECC systému – SM2259XT používá technologii NANDXtend s víceúrovňovou LDPC korekcí. Nejprve zkusí rychlou „hard“ korekci, a pokud ta nestačí, přejde na pomalejší „soft“ dekódování s jemnějším rozlišením napěťových prahů. Když ale počet chyb překročí i korekční schopnosti soft dekódování, sektory se stávají nečitelnými.

Cesta k binární kopii

Klíčem k úspěchu byla trpělivost a systematický přístup. Namísto jednorázového čtení jsme využili kombinaci různých metod, které PC-3000 nabízí. Postupným střídáním čtecích režimů, opakovaným dočítáním problematických oblastí a aplikací pokročilých korekcí se podařilo postupně přečíst i oblasti, které při prvních průchodech selhávaly.

Celý proces trval několik týdnů. Disk jsme nechali pracovat v kontrolovaném režimu, kdy se po každém zaseknutí automaticky přešlo na alternativní metodu čtení. Výsledkem bylo kompletní přečtení všech 1 000 215 216 sektorů bez jediného výpadku – tedy stoprocentní binární kopie celého SSD.

Klient požadoval binární kopii celého disku, nikoli jen export souborového systému. Hotová kopie byla následně exportována na nový SSD, který nám klient dodal.


Médium: Patriot P210 512GB (2,5" SATA III SSD)
Řadič: Silicon Motion SM2259XT (DRAMless)
NAND: Intel/Micron 96L QLC (SpecTek grade)
Firmware: T0220A0
Kapacita: 476,94 GB (1 000 215 216 sektorů)
Problém: Disk se přihlásí, ale po přečtení cca 0,5 GB přestává reagovat – degradace NAND
Řešení: Kombinace různých čtecích metod, dočítání a pokročilých korekcí v PC-3000 Express
Výsledek: 100% binární kopie


Tento případ dobře ilustruje, že žádné úložné médium není stoprocentně spolehlivé, a to včetně SSD, která nemají mechanické části. Zároveň ale ukazuje, že ne každá závada paměťových čipů znamená katastrofu. Někdy se jedná o postupnou degradaci, kterou lze s profesionálním nástrojem a správným postupem překonat, aniž by bylo nutné sahat k náročným zásahům.

Pokud váš SSD začne vykazovat podobné příznaky – zpomalení, zamrzání nebo nedostupnost části dat – rozhodně ho nepřetěžujte opakovaným připojováním a pokusy o kopírování. Každý další pokus může degradaci zhoršit. Doporučení, jak postupovat v prvních okamžicích po selhání, najdete v sekci První kroky při selhání SSD. Raději disk odpojte a svěřte ho odborníkům s odpovídajícím vybavením.

Když selže samotný řadič

V tomto případě byl řadič SM2259XT funkční a problém spočíval v degradaci NAND paměti. Existují ale situace, kdy selže samotný řadič – disk se pak vůbec nepřihlásí, není detekován v BIOSu nebo se identifikuje s nesprávným názvem a nulovou kapacitou. U DRAMless řadičů je navíc tenká hranice mezi „řadič nefunguje“ a „řadič nedokáže načíst mapovací tabulku z poškozené NAND“, protože bez externí DRAM paměti závisí na čitelnosti NAND od prvního okamžiku po zapnutí.

Řešení selhání řadiče vyžaduje specializované postupy na úrovni firmwaru nebo v krajním případě výměnu řadiče za kompatibilní kus s následnou rekonstrukcí konfigurace. Tyto postupy ovládáme a dokážeme je aplikovat i na řadiče řady Silicon Motion SM2259. Pokud se tedy setkáte s Patriot P210 nebo jiným SSD s tímto řadičem, které nereaguje vůbec, nemusí to nutně znamenat konec dat.

Technické pojmy podrobněji

DRAMless řadič – Řadič SSD bez vlastního čipu operační paměti DRAM. Mapovací tabulku (FTL – Flash Translation Layer) ukládají do NAND všechny SSD jako trvalou kopii, ale řadiče s DRAM ji po startu celou načtou do rychlé vyrovnávací paměti a pracují s ní odtud. DRAMless řadiče mají k dispozici pouze malou interní SRAM paměť na čipu řadiče, kam se vejde jen část tabulky. Zbytek čtou přímo z NAND podle potřeby. Výhodou jsou nižší výrobní náklady, nevýhodou vyšší závislost na čitelnosti NAND při každém přístupu k datům.

QLC NAND – Typ paměti NAND flash, kde každá buňka ukládá 4 bity dat (Quad-Level Cell). K rozlišení 16 možných stavů používá 16 napěťových úrovní, což je dvakrát více než u TLC (8 úrovní pro 3 bity). Vyšší hustota zápisu umožňuje nižší cenu za gigabajt, ale za cenu nižší odolnosti – typicky kolem 1 000 zápisových cyklů oproti přibližně 3 000 u TLC. Užší rozestupy mezi napěťovými úrovněmi také znamenají, že se chyby při čtení projeví dříve.

ECC korekce (NANDXtend) – Mechanismus opravy chyb zabudovaný do řadiče SSD. Silicon Motion používá vlastní implementaci nazvanou NANDXtend, která pracuje ve třech úrovních. Nejprve zkusí rychlou „hard“ LDPC korekci, poté pomalejší „soft“ dekódování s jemnějším rozlišením napěťových prahů, a jako poslední záchrannou síť využije paritní data podobná principu RAID. Pokud ani třetí úroveň nestačí, sektor se stává nečitelným.

Binární kopie – Přesná kopie celého úložného média sektor po sektoru, bez ohledu na souborový systém nebo obsah dat. Na rozdíl od prostého kopírování souborů zachycuje i smazaná data, systémové struktury a skryté oblasti. Používá se tam, kde je potřeba zachovat kompletní obsah disku v původní podobě.

Fotogalerie: Patriot P210 512GB – záchrana dat z degradované QLC NAND