Samsung SSD "Wear_Leveling_Count" bedeutet

26

Ich habe Samsung-SSDs auf meinem eigenen Laptop und auf einigen Servern.

Wenn ich mache:

smartctl -a /dev/sda | grep 177

Ich erhalte Ergebnisse, die ich nicht verstehen kann. Hier sind einige Beispiele:

# my laptop Samsung SSD 850 EVO 500GB (new)
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
177 Wear_Leveling_Count     0x0013   100   100   000    Pre-fail  Always       -       0

# server 256 GB, SAMSUNG MZ7TE256HMHP-00000
177 Wear_Leveling_Count     0x0013   095   095   000    Pre-fail  Always       -       95

# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (1 year old)
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       99

# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (suppose to be new)
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       99

# server 480 GB, SAMSUNG MZ7KM480HAHP-0E005
177 Wear_Leveling_Count     0x0013   099   099   005    Pre-fail  Always       -       3

# server 240 GB, SAMSUNG MZ7KM240HAGR-0E005
177 Wear_Leveling_Count     0x0013   099   099   005    Pre-fail  Always       -       11

Irgendeine Idee, wie man liest Wear_Leveling_Count?

Einige Werte sind minimal, andere maximal.

Wenn "Laptop" in Betracht gezogen wird Samsung SSD 850 EVO 500GB, ist es 0 und wird wahrscheinlich zu 100 gehen, dann wird es fehlschlagen.

Wenn man zuerst "Server" betrachtet 256 GB, SAMSUNG MZ7TE256HMHP-00000, ist es schon am Maximum? Wird es auf Null sinken?

Nick
quelle

Antworten:

43

Kingston beschreibt dieses SMART-Attribut wie folgt:

Durchschnittliche Anzahl der Lösch- / Programmierzyklen pro Satz. Dieses Attribut soll ein Indikator für den bevorstehenden Verschleiß sein. Normalisierte Gleichung: 100 - (100 * Durchschnittliche Anzahl der Löschvorgänge / NAND max. Nennanzahl der Löschvorgänge)

Ignorieren Sie die Raw Datain diesen Fällen (Sie können vom Hersteller auf unterschiedliche Weise manipuliert werden) und sehen Sie sich die Current ValueSpalte an.

Diese Quelle von Anandtech gibt uns einen guten Hinweis auf die Verwendung dieser Abbildung:

Der SMART-Wert (Wear Leveling Count, WLC) gibt uns alle Daten, die wir benötigen. Der aktuelle Wert gibt die verbleibende Lebensdauer des Laufwerks in Prozent an. Dies bedeutet, dass der Wert ab 100 beginnt und linear abnimmt, während auf das Laufwerk geschrieben wird. Der rohe WLC-Wert zählt die verbrauchten P / E-Zyklen. Wenn diese beiden Werte also während des Schreibens auf das Laufwerk überwacht werden, finden wir früher oder später die Stelle, an der der normalisierte Wert um eins abfällt.

Alle Ihre Antriebe sind zwischen 95 und 100 und wird Dies ist eine Schätzung der schließlich fallen auf 0 , wie viele write, erase, rewritejeder Block , bevor ein Fehler durchlaufen können usw. Zyklen, und im Moment eines Ihrer Laufwerke geschätzt zu haben 5% der aktuell erwarteten Lebensdauer genutzt. Auch hier wird das Schlüsselwort geschätzt.

Beachten Sie auch, dass Ihre Laufwerke möglicherweise eine andere NAND-Technologie verwenden, daher die Unterschiede in der wahrgenommenen Lebensdauer. Einige NAND-Technologien gehen davon aus, dass Blöcke jeweils ungefähr 1000 PE-Zyklen lang halten, andere können mit bis zu 30.000 bewertet werden.

Jonno
quelle
Ich habe die Tabelle "header" angehängt. Was ist "aktueller" Wert? ist es die Spalte "VALUE"?
Nick
@ Nick Ja, genau.
Jonno
Das ist genau das Gegenteil meiner Erfahrung. Meine neuen Laufwerke (Samsung 850 Pro, Samsung 840 Pro) waren bei einem Rohwert von 0 gestartet und von dort hochgefahren. Tatsächlich war mein aktueller 840 Pro vor ungefähr einem Monat bei 97 und es ist jetzt bei 99. (Dies ergibt sich aus dem Betrachten von SMART-Daten durch die Samsung Magician-Software.)
Granger
3
@Granger Haben Sie eine Spalte "Wert" oder "Aktuell"? Rohwerte können in der Regel vom OEM selbst bestimmt werden und sind nicht unbedingt lesbar. Beachten Sie in dem Beispiel, dass das OP bereitgestellt hat, dass 'VALUE' 100 und 'RAW_VALUE' 0 für ihre 850 EVO ist.
Jonno
Ah. Das ist sinnvoller, wenn ich die Spalte "Rohwert" komplett ignoriere.
Granger
2

SMART meldet einen PREFAILED-Zustand für mein Samsung SM951 (AHCI) 128 GB, gemeldet unter Linux als SAMSUNG MZHPV128HDGM-00000 (BXW2500Q).

Aber in meinem Fall denke ich, es ist ein Firmware-Fehler des Laufwerks,

  • da die total-bytes-writtenEigenschaft als 1,1 TB gemeldet wird, während das Laufwerk eine angegebene Gesamtzahl geschriebener Bytes (TBW) von 75 TB aufweist! Was wahrscheinlich auf der (sehr) sicheren Seite liegt, weil ähnliche (MLC NAND) Laufwerke in einem realen Dauertest alle ein Vielfaches davon (600 TB) erreichten.
  • und abgesehen von der wear_level_countWarnung werden keine anderen Prefail- oder Oldage-Fehler oder Warnungen gemeldet,
  • während der reallocated-sector-count, der laut diesem Test ein guter Pre-Fail-Indikator ist, immer noch 0 ist.

Mein Rat wäre daher, diese Werte für Ihren Antrieb / Ihr System zu untersuchen und Ihre Schlussfolgerungen daraus zu ziehen.

Ich bevorzuge das skdumpmitgelieferte Low-Level-Dienstprogramm libatasmart, dieselbe Bibliothek, die auch von Gnome Disks verwendet wird .

Verwenden Sie den folgenden Befehl und ersetzen Sie ihn /dev/sdcdurch den Pfad zu Ihrem Blockgerät:

sudo skdump /dev/sdc

Ronald
quelle