Come controllare la durata residua nell'SSD o il livello di usura del mezzo?


31

Sappiamo tutti che gli SSD hanno una durata di vita predeterminata limitata. Come posso verificare in Linux quale sia lo stato di salute corrente di un SSD?

La maggior parte dei risultati di ricerca di Google ti chiederebbe di cercare informazioni SMART per un campo percentuale chiamato Media_Wearout_Indicator o altri indicatori di gergo come Longterm Data Endurance - che non esistono - Sì, ho controllato due SSD, entrambi mancano questi campi. Potrei continuare a trovare un terzo SSD, ma sento che i campi non sono standardizzati.

Per dimostrare il problema qui ci sono i due esempi.


Con il primo SSD, non è chiaro quale campo indica il livello di usura. Tuttavia, esiste solo un attributo Unknown_ il cui RAW VALUE è compreso tra 1 e 100, quindi posso solo supporre che sia quello che stiamo cercando:

    $ sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    SMART Attributes Data Structure revision number: 1                       
    Vendor Specific SMART Attributes with Thresholds:                        
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       6568
     12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       1555
    171 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    172 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    173 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       57
    174 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       296
    187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
    230 Unknown_SSD_Attribute   0x0002   100   100   000    Old_age   Always       -       190
    232 Available_Reservd_Space 0x0003   100   100   005    Pre-fail  Always       -       0
    234 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       350
    241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       742687258
    242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       1240775277

Quindi questo SSD ha usato il 57% della sua durata di riscrittura, è corretto?


Con l'altro disco, l'ATTRIBUTE SSD_Life_Left si distingue, ma il suo valore Raw di 0, che indica 0% di vita rimanente, è improbabile per un SSD apparentemente sano a meno che non sia in pericolo (vedremo tra pochi giorni), e se legge "0% è stata utilizzata", impossibile anche per un disco rigido usurato (usurato = usato per più di un anno).

    > sudo /usr/sbin/smartctl -A /dev/sda
    smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===
    SMART Attributes Data Structure revision number: 10
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x000f   104   100   050    Pre-fail  Always       -       0/8415644
      5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
      9 Power_On_Hours_and_Msec 0x0032   100   100   000    Old_age   Always       -       4757h+02m+17.130s
     12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1371
    171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       52
    177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       2
    181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
    195 ECC_Uncorr_Error_Count  0x001c   104   100   000    Old_age   Offline      -       0/8415644
    196 Reallocated_Event_Count 0x0033   100   100   000    Pre-fail  Always       -       0
    231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
    233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       3712
    234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       1152
    241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       1152
    242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       3072

Con gli attributi SMART, i valori inferiori sono peggiori perché l'unità avvisa sempre se un valore è inferiore (o uguale a? Non sicuro) il valore di soglia. Detto questo, è molto bello avere un indicatore di usura, ma spero che tu non ti fidi dei dati preziosi su nessun dispositivo di archiviazione. Dovresti eseguire più dispositivi di archiviazione in un accordo RAID.
Alexios,

Come fai a sapere che i miei dati sono "preziosi"? È solo una copia offline della knowledge base dell'azienda sul mio laptop. Commento per sottolineare che le persone assumono troppo spesso uno scenario sysop. Grazie comunque per i tuoi commenti.
Tankman 六四

Tutti i dati sono preziosi. :) Partiamo da questo principio, quindi passiamo ai dati più preziosi (le foto digitali di un fotografo, ad esempio) e meno preziosi (il sistema operativo - facile da sostituire, ma tempi di inattività e una perdita di tempo / entrate se è necessario sostituiscilo).
Alexios,

Entrambe le unità rientrano nei limiti di resistenza. La prima unità ha solo circa 350 GiB, mentre la seconda unità ha 1,1 TiB. Non sono sicuro di cosa stia succedendo qui ...
bwDraco,

Risposte:


19

Nel tuo primo esempio, ciò a cui penso che ti riferisca è l'indicatore "Wearout Media" su unità Intel, che è l'attributo 233. Sì, ha un intervallo compreso tra 0 e 100, con 100 come unità nuova, non utilizzata e 0 essendo completamente consumato. Secondo il tuo risultato, questo campo non sembra esistere.

Nel tuo secondo esempio, leggi i documenti ufficiali su SSD_Life_Left. Per quella pagina:

Il valore RAW di questo attributo è sempre 0 e non ha significato. Controlla invece il VALORE normalizzato. Inizia da 100 e indica la percentuale approssimativa di vita di SDD rimasta. In genere diminuisce quando i blocchi Flash sono contrassegnati come non validi, vedere il valore RAW di Retired_Block_Count

È davvero importante comprendere appieno cosa dice smartctl (8) e non fare ipotesi. Sfortunatamente, gli strumenti SMART non sono sempre aggiornati con gli SSD più recenti e i loro attributi. Pertanto, non esiste sempre un modo chiaro per dire a quante volte sono state scritte le chips. La cosa migliore che puoi fare è guardare "Power_On_Hours", che nel tuo caso è "6568", determina l'utilizzo medio del disco e calcola la media.

Dovresti essere in grado di cercare le specifiche del tuo disco e determinare il processo utilizzato per realizzare i chip. I chip di processo a 32 nm avranno una durata di scrittura più lunga rispetto ai chip di processo a 24 nm. Tuttavia, sembra che "in media", ci si potrebbe aspettare da circa 3.000 a 4.000 scritture, con un minimo di 1.000 e un massimo di 6.000. Quindi, se hai un SSD da 64 GB, dovresti aspettarti da qualche parte nelle vicinanze un totale di 192 TB a 256 TB scritto sull'SSD, supponendo che il livellamento dell'usura.

Ad esempio, se stai sostenendo un utilizzo di dire 11 KBps sul tuo disco, potresti aspettarti di vedere circa 40 MB scritti all'ora. A 6568 ore di accensione, hai scritto circa 260 GB su disco. Sapendo che probabilmente potresti sostenere circa 200 TB di scritture totali, prima del fallimento, hai circa 600 anni prima del fallimento a causa dell'usura dei chip. Probabilmente il disco si guasterà a causa di condensatori usurati o regolazione della tensione.


9
Così chiaro, grazie. Questa conoscenza è meglio trasformata in uno strumento GUI che utilizza smartctl o la sua API. Dopotutto il calcolo con una calcolatrice usando il computer come dispositivo di input e l'essere umano seduto di fronte a esso come processore è contro lo spirito con cui sono stati inventati i computer!
Tankman 六四

Il tuo link sembra essere morto
Skeleton Bow

15

Per gli SSD Samsung, controllare l'attributo SMART 177 (Conteggio livellamento usura).

ID # 177 Conteggio livellamento usura

Questo attributo rappresenta il numero di programmi multimediali e operazioni di cancellazione (il numero di volte in cui un blocco è stato cancellato). Questo valore è direttamente correlato alla durata dell'SSD. Il valore non elaborato di questo attributo mostra il conteggio totale dei cicli P / E.

Fonte: http://www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

L'indicatore del livello di usura inizia da 100 e diminuisce linearmente fino a 1 da quello che posso dire. A 1 l'azionamento avrà superato tutti i suoi cicli p / e nominali, ma in realtà la resistenza totale dell'azionamento può superare significativamente quel valore.

Fonte: http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

Suggerirei di prendere l'ultima affermazione sul superamento di quel valore con un granello di sale.


Ormai il link è morto.
Calculus Knight,

Penso che abbiano l'ordine per Wear_Leveling_Count al contrario. Ho 2 SSD Samsung e quello che ha ~ 4 anni ha un RAW_VALUE di 42 e un altro che ha ~ 1 mese ha un RAW_VALUE di 0. Sembra essere che inizia da 0 e aumenta verso l'alto.
John Eikenberry,

4

Se non hai un SSD con marchio Intel: fai attenzione !! Ho un SSD Samsung e sono stato completamente fuorviato dall'etichettatura degli attributi errata da smartmontools / smartctl. Se hai qualcosa tranne Intel - potresti trovare utile la mia storia di dolore (insano) su https://askubuntu.com/a/460463/65722 .

Possa il tuo rapporto tra qualità delle informazioni e tempo trascorso a scavare essere migliore del mio!


0

avendo un server con una carta raid LSI , ho installato 7 SSD Samsung.

È tale che

  • / dev / sda è il mio SSD del sistema operativo, contrassegnato come JBOD da Raid Controller.
  • Gli altri 7 SSD appaiono solo come / dev / sdb perché sono RAID 0 (o RAID-?).

per ottenere informazioni sui dischi dietro un controller raid il trucco è

smartctl --scan

{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device

quindi per ottenere le informazioni smartctl come

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS e tutte le altre cose buone

per ogni disco fare

smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0

la sintassi di smartctl èsmartctl [options] <device>

questo è il modo in cui si entra e si passa attraverso una carta raid quando più dischi non vengono visualizzati come dispositivi multipli come / dev / sdb, / dev / sdc, / dev / sdd e così via.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.