Když SMART lže: 990 Pro, Crucial MX500 a WD Green

Odpověď hned: Jedno číslo v CrystalDiskInfo není diagnóza. Samsung 990 Pro s původním firmwarem 0B2QJXD7 hlásil úbytek „zdraví” o desítky procent po pár terabajtech zápisu a byla to chyba firmwaru; Crucial MX500 posílá hlídačům poplach „pending sektor”, přestože Micron tímhle atributem počítá ECC události; WD Green s IntelliParkem nasbírá statisíce parkovacích cyklů jen proto, že má z výroby časovač na 8 sekund. A opačně: podle dat Backblaze skoro čtvrtina disků selhala, aniž by kterýkoli z pěti klíčových atributů opustil nulu. Rozhodujte podle několika atributů s váhou, podle trendu a podle toho, co disk dělá — ne podle procenta na obrazovce.

Jak SMART číst, které čtyři atributy sledovat a jak zní umírající disk, máme v článku Jak poznat, že HDD nebo SSD umírá. Tenhle text na něj navazuje: řeší situace, kdy stejné atributy klamou. O skutečných hodinách provozu u Seagate (FARM log) a o teplotách NVMe píšeme zvlášť.

Falešný poplach: SMART hlásí vadu, která není

Samsung 990 Pro: opotřebení, které vyrobil firmware

Disk přišel na trh v listopadu 2022 s firmwarem 0B2QJXD7. Během týdnů se množila hlášení, že Percentage Used roste a „zdraví” v Samsung Magician i CrystalDiskInfo padá nesmyslným tempem: podle shrnutí Rossmann Group ztráceli uživatelé 10–30 % během dnů při zápisu pod 2 TB — u 2TB modelu s deklarovanou životností 1 200 TBW. Samsung přiznal, že „anomálie byly způsobeny problémy ve firmwaru”, a 13. února 2023 vydal přes Magician firmware 1B2QJXD7.

Podstatné je, co oprava neudělá: hodnoty SMART se po aktualizaci nevracejí na tovární stav. Disk, který stihl spadnout na 78 %, na 78 % zůstane a odtud stárne normálně. Procento takového kusu tedy není údaj o opotřebení NAND, ale záznam o softwarové chybě. U 990 Pro rozhoduje něco jiného: verze firmwaru (smartctl -i nebo Magician), nenulové Media and Data Integrity Errors, Critical Warning a Available Spare pod prahem. Když tyhle položky mlčí, nízké procento po staré chybě není důvod k výměně. A protože i podporovaná aktualizace může podle Tom’s Hardware v malém procentu případů selhat a disk znehodnotit, flashuje se až po záloze.

Crucial MX500: „pending sektor”, který není sektor

Typický scénář: Proxmox, TrueNAS nebo smartd pošle e-mail „1 Currently unreadable (pending) sectors”, za hodinu přijde druhý, že hodnota je zase 0, a za pár dní se to opakuje. Na fóru Proxmoxu to popisuje majitel CT1000MX500SSD1, kterému ruční smartctl žádný vadný sektor neukázal.

Vysvětlení je v dokumentaci výrobce. Micron v technické poznámce TN-FD-22 definuje atribut 197 (C5h) jako Current Pending ECC Count: surová hodnota je „celkový počet ECC událostí zjištěných při příkazech hostitele (například READ) nebo při operacích na pozadí”. Normalizovaná aktuální i nejhorší hodnota jsou natvrdo 100, takže tímhle atributem disk nikdy nespadne pod práh. Není to sektor čekající na přemapování, ale počítadlo opravených chyb, které se objeví a zase zmizí. Nástroje, které 197 automaticky překládají jako „pending sector”, z toho udělají kritickou chybu.

Projekt smartmontools to řeší v databázi disků: záznam pro Crucial/Micron client SSD (MX100 až MX500, BX500) přejmenovává atribut na Current_Pending_ECC_Cnt s poznámkou, že u MX500 hodnota „může přeskakovat 0 ↔ 1” (ticket #1227). Aktualizace databáze (update-smart-drivedb) poplach v smartd zastaví. Ve vláknech se zmiňují i firmwary M3CR022 a M3CR023 jako možná oprava; oficiální changelog, který by to potvrdil, jsme nedohledali. U MX500 sledujte atributy 5 (Reallocated NAND Blocks) a 202 (Percent Lifetime Remaining). Když 197 zablikalo a atribut 5 se nehnul, nestalo se nic.

WD Green s IntelliParkem: statisíce parkování, které nastavil výrobce

WD Green (a podle hlášení uživatelů i některé další řady WD) má ve firmwaru časovač „idle3”, který po 8 sekundách nečinnosti odpaří hlavy z ploten na parkovací rampu — WD tu funkci označuje jako IntelliPark. Ve Windows se disk v klidu opravdu nudí. V Linuxu, v NAS nebo pod čímkoli, co průběžně zapisuje metadata, ho systém každých pár sekund zase probudí. Manjaro wiki popisuje 100 a více zaparkování za hodinu, StorageReview naměřil v Synology NAS s WD20EARS nárůst o 600–800 cyklů denně a uživatel na fóru WD hlásil u nového WD Red WD30EFRX 1 200 cyklů za prvních 24 hodin.

Podle specifikace WD Green (WD5000AZRX až WD40EZRX) je disk navržený na 300 000 load/unload cyklů. Při stovce cyklů za hodinu je to zhruba čtyři měsíce provozu — a atribut 193 Load Cycle Count pak ukazuje číslo, které v nástrojích vypadá jako blížící se konec. Manjaro wiki uvádí kus s 1 991 353 cykly po 29 549 hodinách, který dál funguje. 193 je počítadlo opotřebení parkovacího mechanismu, ne chyba čtení; o plotnách vypovídají 5, 197 a 198.

Časovač jde přenastavit: oficiálním DOS nástrojem wdidle3 (/S300 nastaví 300 s, /D vypne) nebo v Linuxu balíkem idle3-tools:

sudo idle3ctl -g /dev/sda      # aktuální hodnota idle3 časovače
sudo idle3ctl -s 129 /dev/sda  # nastaví 30 s
sudo idle3ctl -d /dev/sda      # vypne parkování

Změna se projeví až po úplném vypnutí a zapnutí disku, restart nestačí. Autoři idle3-tools nástroj označují za experimentální a přístup k nízkoúrovňovým datům disku je na vlastní riziko — i tady nejdřív záloha.

Falešné bezpečí: SMART mlčí a disk umírá

Backblaze v roce 2016 vyhodnotil 67 814 disků ve svém datacentru. Z disků, které selhaly, mělo 76,7 % alespoň jeden z atributů 5, 187, 188, 197 a 198 nenulový. Zbylých 23,3 % odešlo s nulami ve všech pěti. Zároveň 4,2 % disků v provozu mělo nenulovou hodnotu také — atributy hlásí riziko, ne jistotu, a to ani jedním směrem.

Důvod je prostý: SMART počítá jen to, čeho si disk sám všiml při čtení a zápisu. Slábnoucí hlava, ložisko, motor ani elektronika počítadlo nemají. Disk s čistým SMART, který začal cvakat, zpomalil na zlomek rychlosti nebo se odpojuje při zátěži, má mechanickou nebo elektrickou závadu bez ohledu na nápis „Dobrý”.

U SSD je to ostřejší, protože ke smrti obvykle nevede opotřebení, které Percentage Used sleduje, ale řadič a firmware. HPE v listopadu 2019 varovalo, že jeho SAS SSD s firmwarem starším než HPD8 selžou přesně po 32 768 hodinách provozu; po selhání nejde obnovit disk ani data a kusy nasazené současně odejdou téměř současně — jeden správce popsal šest SSD mrtvých během 15 minut. Přenosné SanDisk Extreme a Extreme Pro V2 (SDSSDE61-4T00, SDSSDE81-4T00) se v roce 2023 hlásily větou „The disk you attached was not readable by this computer” bez předchozího varování; WD slíbil v květnu firmware, v srpnu přišla hromadná žaloba. Proč je záchrana dat z SSD v takové chvíli jiná disciplína než u HDD, máme rozepsané zvlášť.

Třetí zdroj falešného klidu je USB. Disk v externím boxu odpovídá jen tehdy, když můstek předává ATA příkazy (SAT); smartctl k tomu má -d sat a zvláštní typy pro JMicron, Cypress nebo Sunplus. U části JMicron můstků nefungují 48bitové ATA příkazy, takže rozšířený log chyb (-l xerror) je vypnutý; NVMe v USB boxu jde číst jen přes můstky ASMedia, JMicron a Realtek (-d sntasmedia, -d sntjmicron, -d sntrealtek). Když nástroj u externího disku neukáže nic nebo „neznámý stav”, není to zdravý disk — je to nečitelný SMART.

Které atributy mají váhu

AtributCo počítáJak číst
5 Reallocated Sectors Countsektory přemapované do rezervyjakýkoli růst = povrch nebo hlava; jeden z pěti atributů Backblaze
187 Reported Uncorrectable Errorschyby, které nešly opravit ECCBackblaze plánuje výměnu, jakmile je větší než 0
188 Command Timeoutpříkazy zrušené kvůli timeoutu diskusprávně nula; růst číst spolu s 5 a 197
197 Current Pending Sector Countsektory čekající na přemapování po neopravitelném čteníHDD: zálohovat hned; Micron/Crucial SSD: ECC počítadlo
198 Offline Uncorrectableneopravitelné chyby při offline čtenístejná váha jako 197
199 UDMA CRC Error Countchyby přenosu po kabelukabel, port, řadič — ne plotny; hodnota sama neklesá
193 Load Cycle Countzaparkování hlavopotřebení mechanismu, ne chyba dat (IntelliPark)
NVMe Critical Warningpříznaky: spare pod prahem, teplota, spolehlivost, read-onlysmartctl -H u NVMe čte jen tohle
NVMe Available Spare / Thresholdzbývající rezerva a její práhpod prahem = disk dojíždí na rezervách
NVMe Percentage Usedodhad výrobce o spotřebované životnosti100 nemusí znamenat selhání, smí přesáhnout 100; u 990 Pro 0B2QJXD7 chybný
NVMe Media and Data Integrity Errorsneopravené chyby integrity (ECC, CRC, LBA tag)nenulové a rostoucí = zálohovat hned

Přehled případů: co SMART hlásí a co je pravda

Model / situaceCo SMART hlásíSkutečnostCo dělat
Samsung 990 Pro, fw 0B2QJXD7Percentage Used roste, zdraví padá o procenta za dnychyba firmwaru, ne opotřebeníověřit firmware, po záloze 1B2QJXD7; rozhodovat podle Media Errors a Critical Warning
Crucial MX500197 = 1, pak 0; smartd posílá poplachyu Micronu je 197 ECC počítadloaktualizovat drivedb smartmontools; hlídat 5 a 202
WD Green (idle3 8 s)193 ve stovkách tisícparkovací časovač, limit 300 000wdidle3 / idle3ctl, vypnout a zapnout; hlídat 5/197/198
HDD s čistým SMART, cvaká nebo mizínicmechanická nebo elektrická závada bez počítadlanepouštět znovu, první pomoc a laboratoř
SSD s čistým SMART, náhle nečitelnénicřadič/firmware (HPE 32 768 h, SanDisk Extreme V2)vypnout, nezkoušet opravy, laboratoř
Disk v USB boxu bez SMARTprázdno nebo „neznámý”můstek nepředává příkazy-d sat, nebo připojit přímo na SATA

Co znamená PASSED a proč krátký self-test není důkaz

smartctl -H u ATA disku vypíše PASSED, když příkaz SMART RETURN STATUS nehlásí selhání a žádný atribut označený jako pre-fail neklesl na svůj práh nebo pod něj. Prahy určuje výrobce a porovnávají se normalizované hodnoty, ne surové počty: disk s 12 pending a 40 přemapovanými sektory je PASSED, dokud normalizovaná hodnota drží nad prahem. U NVMe je test ještě užší — PASSED znamená jen nulový bajt Critical Warning.

CrystalDiskInfo počítá jinak: „Pozor” nastaví, jakmile surová hodnota atributů 05, C5 nebo C6 dosáhne nastaveného prahu (výchozí je 1), u SSD při zbývající životnosti 10 % a méně; „Špatný” až při poklesu pod práh výrobce. Dva nástroje, dvě definice zdraví — a ani jedna nečte celý povrch.

Krátký self-test prověří elektroniku, mechaniku a čtení jen z části disku; podle Wikipedie trvá obvykle pod dvě minuty, podle manuálu smartctl „obvykle do deseti minut”. Rozšířený test čte celý povrch a trvá hodiny. Krátký test, který prošel, nic neříká o sektoru na konci plotny, na který se vůbec nedostal.

Jak to číst v CrystalDiskInfo a smartctl

smartctl -a /dev/sda           # zdraví, atributy, log self-testů
smartctl -x /dev/sda           # navíc statistiky zařízení, SCT teploty, SATA phy log
smartctl -a -d sat /dev/sdb    # disk v USB boxu přes SAT
smartctl -i /dev/nvme0         # model a verze firmwaru (990 Pro: 0B2QJXD7 vs. 1B2QJXD7)
smartctl -a /dev/nvme0         # NVMe: Critical Warning, spare, Percentage Used, Media Errors
nvme smart-log /dev/nvme0      # totéž z nvme-cli

Výstup -x se hodí u sporných případů: SATA phy log ukáže, jestli chyby 199 rostou s konkrétním kabelem, a u WD Green uvidíte 193 vedle 5 a 197 v jedné tabulce. V CrystalDiskInfo se dívejte na surovou hodnotu a na verzi firmwaru v hlavičce — jméno atributu nástroj bere z obecné tabulky, takže u MX500 uvidíte „Current Pending Sector Count” i tam, kde Micron myslí ECC.

Kdy zálohovat hned a kdy do laboratoře

Zálohovat hned, dokud disk čte: 5, 197 nebo 198 nenulové a při druhém měření vyšší; 187 větší než 0; u NVMe nenulový Critical Warning, Available Spare pod prahem nebo rostoucí Media Errors. Kopírujte jedním průchodem, sektorově a jen pro čtení — proč ne po souborech a proč ne opakovaně, vysvětluje článek o vadných sektorech.

Rovnou do laboratoře: disk cvaká nebo brousí, není vidět v BIOSu, hlásí nulovou kapacitu, odpojuje se při zátěži, SMART nejde přečíst, nebo pending sektory přibývají v řádu hodin. Totéž u členů RAID pole a u SSD, které se náhle přestalo hlásit — každý další start je pokus na jediné kopii dat.

Nic nedělat: MX500 s blikajícím 197 a nulou v atributu 5; 990 Pro s nízkým procentem po staré chybě, ale s čistými Media Errors; WD Green s vysokým 193 a nulami v 5/197/198. Tady se přenastavuje časovač nebo databáze nástroje, ne kupuje disk.

Co nedělat

  • Spouštět dlouhý self-test na disku s pending sektory. Hodiny čtení přes oslabené plochy jsou přesně ta zátěž, která z pending sektorů udělá neopravitelné.
  • Pouštět chkdsk /r nebo „opravu” sektorů. Zapisuje a nutí disk k přemapování; kdy chkdsk pomůže a kdy ne, máme zvlášť.
  • Restartovat a přepojovat. Každý rozběh a každé připojení USB je další průjezd hlav nad poškozeným místem.
  • Flashovat firmware na jedinou kopii dat. I podporovaná aktualizace může selhat; nejdřív záloha.
  • Umlčet varování zvýšením prahu v CrystalDiskInfo. Změna zobrazení disk neopraví; má smysl jen tam, kde víte, proč atribut lže (MX500, IntelliPark).
  • Rozhodovat podle jednoho čísla. Vyhodit zdravý 990 Pro kvůli procentu je stejná chyba jako nechat cvakající disk v provozu, protože je PASSED.

Často se ptáte

990 Pro ukazuje 78 % zdraví po pár měsících. Je vadný?

Nejdřív verze firmwaru. Pokud disk běžel na 0B2QJXD7, je procento pozůstatkem chyby, kterou opravil firmware 1B2QJXD7 z února 2023; hodnota se po aktualizaci nevrací. Rozhodují Media and Data Integrity Errors, Critical Warning a Available Spare — když jsou v pořádku, disk pracuje normálně.

CrystalDiskInfo hlásí u MX500 „Pozor” kvůli C5. Mám ho vyměnit?

Ne kvůli tomuhle. Micron atributem 197 počítá ECC události, ne sektory čekající na přemapování, a hodnota kolísá mezi 0 a 1. Sledujte atributy 5 a 202; v smartmontools aktualizujte databázi disků, aby atribut dostal správné jméno.

WD Green má Load Cycle Count 900 000. Umírá?

Číslo říká, že parkovací mechanismus překročil hodnotu, na kterou je navržený (300 000), ne že disk selhává. Pokud jsou 5, 197 a 198 nulové, přenastavte časovač idle3 a disk vypněte a zapněte. Do NAS nebo serveru bych ale takový kus dál nenasazoval bez záložní kopie.

SMART je PASSED, ale disk cvaká. Komu věřit?

Zvuku. PASSED znamená jen to, že žádný pre-fail atribut nedosáhl prahu; mechanickou závadu hlavy nebo motoru SMART nepočítá. Podle Backblaze skoro čtvrtina selhání proběhla s nulami ve všech pěti klíčových atributech.

Můžu důvěřovat zdraví SSD v procentech?

Jako odhadu výrobce ano, jako diagnóze ne. Percentage Used je podle specifikace NVMe odhad výrobce, 100 nemusí znamenat selhání a hodnota může jít i přes 100. SSD, které selže na řadiči nebo firmwaru, má procento v pořádku do poslední sekundy.

Pokud u disku nevíte, do které kolonky patří — číslo vypadá hrozivě, ale disk pracuje, nebo naopak SMART mlčí a disk se chová divně — nechte ho vypnutý a napište nám. Diagnostiku děláme ve vlastní laboratoři v Brně, k disku přistupujeme jen pro čtení a nejdřív řekneme, jestli jde o falešný poplach, o zálohu hned, nebo o záchranu dat.

Zdroje