Wie kann die Lebensdauer der SSD oder der Verschleißgrad des Mediums überprüft werden?

31

Wir alle wissen, dass SSDs eine begrenzte vorgegebene Lebensdauer haben. Wie überprüfe ich unter Linux den aktuellen Status einer SSD?

Bei den meisten Google-Suchergebnissen werden Sie gebeten, nach SMART-Informationen für ein Prozentfeld mit dem Namen Media_Wearout_Indicator oder anderen Indikatoren wie Longterm Data Endurance zu suchen. Ich könnte eine dritte SSD finden, aber ich glaube, die Felder sind nicht standardisiert.

Um das Problem hier zu veranschaulichen, sind die beiden Beispiele.


Bei der ersten SSD ist nicht klar, in welchem ​​Feld der Verschleiß angezeigt wird. Es gibt jedoch nur ein Unknown_Attribute, dessen RAW-Wert zwischen 1 und 100 liegt. Daher kann ich nur davon ausgehen, dass dies das ist, wonach wir suchen:

    $ 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

Also hat diese SSD 57% ihrer Lebensdauer für das Neuschreiben genutzt, ist das richtig?


Bei der anderen Festplatte fällt die SSD_Life_Left ATTRIBUTE auf, aber der Raw-Wert von 0, der 0% verbleibende Lebensdauer angibt, ist für eine scheinbar gesunde SSD unwahrscheinlich, es sei denn, sie ist in Gefahr (wie wir in einigen Tagen sehen werden) Wenn "0% Lebensdauer verbraucht" angezeigt wird, ist dies auch bei abgenutzter Festplatte nicht möglich (abgenutzt = länger als ein Jahr verwendet).

    > 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
Tankman 六四
quelle
Bei SMART-Attributen sind niedrigere Werte schlechter, da das Laufwerk immer benachrichtigt wird, wenn ein Wert unter dem Schwellenwert liegt (oder diesem entspricht). Trotzdem ist es sehr schön, eine Verschleißanzeige zu haben, aber ich hoffe, Sie vertrauen keinem Speichergerät wertvolle Daten an. Sie sollten mehrere Speichergeräte in einer RAID-Anordnung ausführen.
Alexios
Woher wissen Sie, dass meine Daten "wertvoll" sind? Es ist nur eine Offline-Kopie der Wissensdatenbank des Unternehmens auf meinem Laptop. Ich möchte darauf hinweisen, dass die Leute zu oft von einem Sysop-Szenario ausgehen. Trotzdem danke für deine Kommentare.
Tankman 六四
Alle Daten sind wertvoll. :) Wir sind auf diesem Prinzip starten, dann zum Verschieben von Daten auf , die ist mehr kostbares (ein digitalen Fotos des Fotografen, zum Beispiel) und weniger wertvoll (das O - leicht zu ersetzen, aber Ausfallzeiten und ein Zeitverlust / Einnahmen , wenn Sie müssen ersetze es).
Alexios
Beide Antriebe halten sich in Grenzen der Lebensdauer. Das erste Laufwerk verfügt nur über ca. 350 GiB, während das zweite Laufwerk über 1,1 TiB verfügt. Ich bin nicht sicher, was hier los ist ...
bwDraco

Antworten:

19

In Ihrem ersten Beispiel handelt es sich meines Erachtens um die "Media Wearout Indicator" auf Intel-Laufwerken (Attribut 233) 0 völlig abgenutzt. Laut Ihrer Ausgabe scheint dieses Feld nicht zu existieren.

Lesen Sie in Ihrem zweiten Beispiel die offiziellen Dokumente zu SSD_Life_Left. Auf dieser Seite:

Der RAW-Wert dieses Attributs ist immer 0 und hat keine Bedeutung. Überprüfen Sie stattdessen den normalisierten WERT. Sie beginnt bei 100 und gibt den ungefähren Prozentsatz der verbleibenden SDD-Lebensdauer an. Sie nimmt normalerweise ab, wenn Flash-Blöcke als fehlerhaft markiert sind (siehe RAW-Wert von Retired_Block_Count)

Es ist wirklich wichtig, dass Sie vollständig verstehen, was smartctl (8) sagt, und keine Annahmen treffen. Leider sind die SMART-Tools mit den neuesten SSDs und ihren Attributen nicht immer auf dem neuesten Stand. Daher gibt es nicht immer eine saubere Methode, um festzustellen, wie oft auf die Chips geschrieben wurde. Sehen Sie sich am besten "Power_On_Hours" an, in Ihrem Fall "6568", ermitteln Sie die durchschnittliche Festplattenauslastung und geben Sie den Durchschnitt an.

Sie sollten in der Lage sein, Ihre Laufwerksspezifikationen nachzuschlagen und den zur Herstellung der Chips verwendeten Prozess zu bestimmen. 32-nm-Prozesschips haben eine längere Schreibdauer als 24-nm-Prozesschips. Es scheint jedoch, dass "im Durchschnitt" mit etwa 3.000 bis 4.000 Schreibvorgängen zu rechnen ist, wobei mindestens 1.000 und höchstens 6.000 Schreibvorgänge erforderlich sind. Wenn Sie also eine 64-GB-SSD haben, sollten Sie davon ausgehen, dass insgesamt 192 TB bis 256 TB auf die SSD geschrieben werden, vorausgesetzt, der Verschleiß wird ausgeglichen.

Wenn Sie beispielsweise eine Auslastung von beispielsweise 11 KBit / s für Ihr Laufwerk beibehalten, können Sie damit rechnen, dass etwa 40 MB pro Stunde geschrieben werden. Bei 6568 Betriebsstunden haben Sie ungefähr 260 GB auf die Festplatte geschrieben. Wenn Sie wissen, dass Sie wahrscheinlich 200 TB aller Schreibvorgänge aushalten können, haben Sie vor dem Fehlschlagen etwa 600 Jahre Zeit, da die Chips verschlissen sind. Ihre Festplatte wird wahrscheinlich aufgrund abgenutzter Kondensatoren oder Spannungsregulierung ausfallen.

Aaron Toponce
quelle
9
Also klar, danke. Dieses Wissen wird am besten in ein GUI-Tool umgewandelt, das smartctl oder dessen API verwendet. Schließlich widerspricht das Rechnen mit einem Taschenrechner, bei dem der Computer als Eingabegerät und der Mensch als Prozessor davor sitzt, dem Geist, mit dem Computer erfunden wurden!
Tankman 六四
Ihr Link scheint tot zu sein
Skeleton Bow
15

Überprüfen Sie bei Samsung-SSDs das SMART-Attribut 177 (Wear Leveling Count).

ID # 177 Wear Leveling Count

Dieses Attribut gibt die Anzahl der Medienprogramm- und Löschvorgänge an (die Häufigkeit, mit der ein Block gelöscht wurde). Dieser Wert steht in direktem Zusammenhang mit der Lebensdauer der SSD. Der Rohwert dieses Attributs gibt die Gesamtanzahl der P / E-Zyklen an.

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

Die Abnutzungsgradanzeige beginnt bei 100 und verringert sich linear auf 1, soweit ich das beurteilen kann. Bei 1 hat das Laufwerk alle seine Nenn-P / E-Zyklen überschritten, aber in Wirklichkeit kann die Gesamtlebensdauer des Laufwerks diesen Wert erheblich überschreiten.

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

Ich würde vorschlagen, dass Sie diese letzte Aussage über die Überschreitung dieses Wertes mit einem Körnchen Salz treffen.

Diaa Sami
quelle
Link ist inzwischen tot.
Calculus Knight
Ich denke, sie haben die Bestellung für Wear_Leveling_Count rückwärts. Ich habe 2 Samsung-SSDs und die ~ 4 Jahre alte hat einen RAW_VALUE von 42 und eine andere, die ~ 1 Monat alt ist, hat einen RAW_VALUE von 0. Scheint, dass sie bei 0 beginnt und sich nach oben erhöht.
John Eikenberry
4

Wenn Sie keine Intel-SSD haben: Seien Sie vorsichtig !! Ich habe eine Samsung-SSD und wurde durch eine fehlerhafte Attributbeschriftung von smartmontools / smartctl völlig irregeführt. Wenn Sie etwas anderes als Intel haben, finden Sie unter https://askubuntu.com/a/460463/65722 eine hilfreiche Geschichte über (dumme) Schmerzen .

Möge Ihr Verhältnis von Informationsqualität zu Zeitaufwand besser sein als meins!

Matt S.
quelle
0

Wenn ich einen Server mit einer LSI-RAID-Karte habe , habe ich 7 Samsung-SSDs installiert.

Es ist so, dass

  • / dev / sda ist die SSD meines Betriebssystems, die von Raid Controller als JBOD gekennzeichnet wurde.
  • Die anderen 7 SSDs werden nur als / dev / sdb angezeigt, da es sich um RAID 0 (oder RAID-?) Handelt.

Der Trick ist , Informationen über Festplatten hinter einem RAID-Controller zu erhalten

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

dann bekommst du die smartctl info wie

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS und all das andere gute Zeug

für jede Platte tun

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

Die Syntax von smartctl lautetsmartctl [options] <device>

Auf diese Weise gelangen Sie auf eine RAID-Karte, wenn mehrere Festplatten nicht als mehrere Geräte angezeigt werden, z. B. / dev / sdb, / dev / sdc, / dev / sdd usw.

Ron
quelle