Discussion:
SSDs auf Fehler prüfen
(zu alt für eine Antwort)
Marco Moock
2022-11-21 08:05:31 UTC
Permalink
Hallo zusammen,

man hört ja immer wieder, dass man SSDs nicht mit badblock auf Fehler
prüfen soll, weil die mehr Blöcke haben als angezeigt und man damit
möglicherweise andere erwischt. Bei halbwegs neuen HDDs gibt das
Gleiche ja mit Reservesektoren. Zudem schaden ja Schreibvorgänge.

Wie kann man nun (unter Linux) eine SSD auf Fehler prüfen?
Ich habe zwar aktuell keine da, würde das aber trotzdem gerne wissen.
--
Gruß
Marco
Martin Gerdes
2022-11-23 18:12:10 UTC
Permalink
Post by Marco Moock
man hört ja immer wieder, dass man SSDs nicht mit badblock auf Fehler
prüfen soll, weil die mehr Blöcke haben als angezeigt und man damit
möglicherweise andere erwischt.
Ich kenne das (vermutlich Linux-)Programm "badblock" nicht, weiß aber
grundsätzlich, wie man Festplatten physikalisch auf Fehler prüft.
Post by Marco Moock
Bei halbwegs neuen HDDs gibt das Gleiche ja mit Reservesektoren.
Zudem schaden ja Schreibvorgänge.
Moderne Laufwerke kann man mit solchen Methoden (nämlich dem gezielten
Schreiben auf immer den gleichen Sektor) überhaupt nicht mehr prüfen,
weil man an die Platte physikalisch nicht mehr herankommt. Das gilt für
Dreheisen, noch mehr aber gilt das für SSDs. Der Plattencontroller ist
ein eigenes Subsystem mit erheblicher Rechenleistung, der sein
Massenspeichermedium nach eigenen Kriterien selbst verwaltet. Das heißt:
Das Hostsystem kann keinen Sektor direkt ansprechen (was solche externen
Fehlerverwaltungsprogramme eigentlich machen). Der Plattencontroller
stellt fest, daß ein Sektor nicht mehr korrekt funktioniert, dann mappt
er ihn automatisch weg und ersetzt ihn durch einen fehlerfreien
Reservesektor. Der Nutzer wundert sich von außen über die Selbstheilung
des Massenspeichers.
Post by Marco Moock
Wie kann man nun ... eine SSD auf Fehler prüfen?
Du kannst S.M.A.R.T.-Parameter auslesen, also auf die Fehlerstatistik
des Laufwerkscontrollers zugreifen. Weiter runter kommst Du über die
normale Schnittstelle nicht. Das gilt unter allen Betrübssystemen und
für SSDs wie modernes Dreheisen.
Marco Moock
2022-11-24 18:58:03 UTC
Permalink
Das heißt: Das Hostsystem kann keinen Sektor direkt
ansprechen (was solche externen Fehlerverwaltungsprogramme eigentlich
machen). Der Plattencontroller stellt fest, daß ein Sektor nicht mehr
korrekt funktioniert, dann mappt er ihn automatisch weg und ersetzt
ihn durch einen fehlerfreien Reservesektor. Der Nutzer wundert sich
von außen über die Selbstheilung des Massenspeichers.
Post by Marco Moock
Wie kann man nun ... eine SSD auf Fehler prüfen?
Du kannst S.M.A.R.T.-Parameter auslesen, also auf die Fehlerstatistik
des Laufwerkscontrollers zugreifen. Weiter runter kommst Du über die
normale Schnittstelle nicht. Das gilt unter allen Betrübssystemen und
für SSDs wie modernes Dreheisen.
Man kann aber dann mit badblocks erreichen, dass der Plattencontroller
alle defekten Sektoren (min. Anzahl der gezeigten) erkennt und ggf.
remappt. Das sollte sich dann in den SMART-Werten bemerkbar machen.
Martin Gerdes
2022-11-26 00:18:13 UTC
Permalink
Post by Marco Moock
Das heißt: Das Hostsystem kann keinen Sektor direkt
ansprechen (was solche externen Fehlerverwaltungsprogramme eigentlich
machen).
Post by Marco Moock
Wie kann man nun ... eine SSD auf Fehler prüfen?
Du kannst S.M.A.R.T.-Parameter auslesen, also auf die Fehlerstatistik
des Laufwerkscontrollers zugreifen. Weiter runter kommst Du über die
normale Schnittstelle nicht.
Man kann aber dann mit badblocks erreichen, dass der Plattencontroller
alle defekten Sektoren (min. Anzahl der gezeigten) erkennt und ggf.
remappt. Das sollte sich dann in den SMART-Werten bemerkbar machen.
Stimmt. Du kannst mit "badblocks" oder ähnlichen Programmen dieser Art
eine SSD gezielt kaputtschreiben und hinterher feststellen, daß sie
tatsächlich kaputt ist.

Kluge Leute lassen die Finger von historischen Programmen der
beschriebenen Art.
Thomas Klix
2022-11-26 01:30:33 UTC
Permalink
Post by Martin Gerdes
Post by Marco Moock
Das heißt: Das Hostsystem kann keinen Sektor direkt
ansprechen (was solche externen Fehlerverwaltungsprogramme eigentlich
machen).
Post by Marco Moock
Wie kann man nun ... eine SSD auf Fehler prüfen?
Du kannst S.M.A.R.T.-Parameter auslesen, also auf die Fehlerstatistik
des Laufwerkscontrollers zugreifen. Weiter runter kommst Du über die
normale Schnittstelle nicht.
Man kann aber dann mit badblocks erreichen, dass der Plattencontroller
alle defekten Sektoren (min. Anzahl der gezeigten) erkennt und ggf.
remappt. Das sollte sich dann in den SMART-Werten bemerkbar machen.
Stimmt. Du kannst mit "badblocks" oder ähnlichen Programmen dieser Art
eine SSD gezielt kaputtschreiben und hinterher feststellen, daß sie
tatsächlich kaputt ist.
Quatsch. Mit "badblocks" macht man bei SSDs höchstens einen Stresstest - man
macht nichts kaputt, man triggert, dass der nächste Download in sicheren
Bereichen abgelegt wird. ("Bereich", weil bei SSD "Sektoren" usw. ziemlich
sinnlos sind.)
Post by Martin Gerdes
Kluge Leute lassen die Finger von historischen Programmen der
beschriebenen Art.
Kluge Leute wissen, wann man "alte" Programme noch sinnvoll nutzen kann -
und wann man das besser bleiben lässt.

Thomas
Thomas Niering
2022-11-26 08:00:00 UTC
Permalink
Hallo Martin,
Post by Martin Gerdes
Stimmt. Du kannst mit "badblocks" oder ähnlichen Programmen dieser Art
eine SSD gezielt kaputtschreiben und hinterher feststellen, daß sie
tatsächlich kaputt ist.
Kaputtschreiben würd ich eher nicht vermuten, aber man reduziert die
Anzahl der noch verfügbaren Schreibzyklen unnötig.

Ciao Thomas
Martin Gerdes
2022-11-26 13:19:11 UTC
Permalink
Post by Thomas Niering
Post by Martin Gerdes
Stimmt. Du kannst mit "badblocks" oder ähnlichen Programmen dieser Art
eine SSD gezielt kaputtschreiben und hinterher feststellen, daß sie
tatsächlich kaputt ist.
Kaputtschreiben würd ich eher nicht vermuten, aber man reduziert die
Anzahl der noch verfügbaren Schreibzyklen unnötig.
Wenn Du mir nun noch den Unterschied zwischen beiden erklären könntest,
wäre ich Dir dankbar. Für mich ist zweiteres eine mildere Version des
ersteren. Wenn man "badblocks" nur oft genug aufruft (und
"badblocks"-Nutzer neigen nach meiner Erfahrung dazu), wird man die
Schreibzyklen einer SSD schon aufbrauchen können.

Ich erinnere mich in diesem Zusammenhang an einen Bekannten, der
abgelegte Festplatten nächtelang mittels "Spinrite" bearbeitete (ggf.
mehrfach) mit dem Ziel, vielleicht doch noch einige von den bad blocks
zurückzugewinnen. Als wie wenn einer noch 20-MB-Platten sinnvoll
eingesetzt hätte zu Zeiten, da alle andere Leute deutlich schnellere und
deutlich größere 100-MB-Blatten nutzten ...

Sowas machen Leute, denen die eigenen Daten keine 50 Euro wert sind, die
eine neue SSD/Festplatte kostet. Mir wäre das Risiko zu hoch, selbst für
meine rein privaten Daten.
Thomas Niering
2022-11-27 09:23:00 UTC
Permalink
Hallo Martin,
Post by Martin Gerdes
Wenn Du mir nun noch den Unterschied zwischen beiden erklären könntest,
wäre ich Dir dankbar. Für mich ist zweiteres eine mildere Version des
ersteren.
Genau dieses...
Post by Martin Gerdes
Wenn man "badblocks" nur oft genug aufruft (und "badblocks"-Nutzer
neigen nach meiner Erfahrung dazu), wird man die Schreibzyklen einer
SSD schon aufbrauchen können.
Dass kann man rechnerisch mal durchspielen.

Nimmt man die angesprochene 970 Evo Plus 2 TB, dann braucht man
ca. 21 min. bis sie einmal vollgeschrieben ist. Um die Werksangabe
zu knacken, braucht man dann rund 21,5 Tage.

Die c't hat 2016/2017 das mal ausprobiert, hier blieb keine der
getesteten SSDs unter den 2,5fachen von dem, was der Hersteller
garantierte, bevor sie ausfiel. Die Samsungs erreichten in dem Test
rund das 15fache, was der Hersteller garantierte...
Post by Martin Gerdes
Ich erinnere mich in diesem Zusammenhang an einen Bekannten, der
abgelegte Festplatten nächtelang mittels "Spinrite" bearbeitete (ggf.
mehrfach) mit dem Ziel, vielleicht doch noch einige von den bad blocks
zurückzugewinnen.
Nicht nur dein Bekannter hat das probiert. Bedenkt man, dass damals
die Platten sündhaft teuer waren, und das Vorgehen durchaus funktionierte,
war das durchaus eine Möglichkeit, die Platte doch noch zu verwenden.

Damals hat man auch tagelang getüftelt, um 100 weitere Bytes im RAM
freizubekommen, damit der ...-Treiber doch noch im HighMemory-Bereich
gelandet ist und das Spiel dann funktionierte.
Post by Martin Gerdes
Sowas machen Leute, denen die eigenen Daten keine 50 Euro wert sind, die
eine neue SSD/Festplatte kostet. Mir wäre das Risiko zu hoch, selbst für
meine rein privaten Daten.
Man wird älter und weiser.
100 DM waren viel Geld und man hatte nicht soviel davon.

Ciao Thomas
Martin Gerdes
2022-11-27 15:52:36 UTC
Permalink
"badblocks"
Post by Thomas Niering
Post by Martin Gerdes
Wenn Du mir nun noch den Unterschied zwischen beiden erklären könntest,
wäre ich Dir dankbar. Für mich ist zweiteres eine mildere Version des
ersteren.
Genau dieses...
Post by Martin Gerdes
Wenn man "badblocks" nur oft genug aufruft (und "badblocks"-Nutzer
neigen nach meiner Erfahrung dazu), wird man die Schreibzyklen einer
SSD schon aufbrauchen können.
Das kann man rechnerisch mal durchspielen.
Nimmt man die angesprochene 970 Evo Plus 2 TB, dann braucht man
ca. 21 min. bis sie einmal vollgeschrieben ist. Um die Werksangabe
zu knacken, braucht man dann rund 21,5 Tage.
Ich traue es einem "badblocks"-Adepten ohne weiteres zu, daß er das
schafft.
Post by Thomas Niering
Die c't hat 2016/2017 das mal ausprobiert, hier blieb keine der
getesteten SSDs unter den 2,5fachen von dem, was der Hersteller
garantierte, bevor sie ausfiel. Die Samsungs erreichten in dem Test
rund das 15fache, was der Hersteller garantierte...
Ob die das heute noch schaffen, sei dahingestellt. Die Strukturen sind
in den vergangenen 6 Jahren ja nochmal kleiner geworden.
Post by Thomas Niering
Post by Martin Gerdes
Ich erinnere mich in diesem Zusammenhang an einen Bekannten, der
abgelegte Festplatten nächtelang mittels "Spinrite" bearbeitete (ggf.
mehrfach) mit dem Ziel, vielleicht doch noch einige von den bad blocks
zurückzugewinnen.
Nicht nur dein Bekannter hat das probiert. Bedenkt man, dass damals
die Platten sündhaft teuer waren, und das Vorgehen durchaus funktionierte,
war das durchaus eine Möglichkeit, die Platte doch noch zu verwenden.
Na ja.
Das ist ja nun schon ein Weilchen her, aber dennoch erinnere ich mich
noch lebhaft an die Sprünge, die die Technologie damals gemacht hat: Man
hatte seine Festplatte vollgeschrieben, brauchte ergo eine neue. Da war
das Modell, das man im Rechner hatte, schon nicht mehr 1. Klasse,
sondern 2., und man hat zu ihrem Ersatz/zu ihrer Ergänzung nicht etwa
das gleiche Modell zu günstigem Preis gekauft, sondern das
nächstgrößere, das nicht nur mehr Daten faßte, sondern dazu auch noch
schneller war. Weil man die erste Platte schon hatte, hat man die
gnadenhalber als "Datengrab" D: im Rechner behalten, aber gearbeitet hat
man eigentlich nur mit der Platte C:.

War die nun wieder voll, wiederholte sich das Spielchen: Die bisherige
Platte C: wurde zu D: heruntergerückt, die neue Platte wurde die neue
C:. Dann war die vor-vorherige Platte aber über. Es wäre zwar mit
Klimmzügen möglich gewesen, auch die noch zu betreiben, aber den
Klimmzug wollte man nicht machen, also wanderte sie ins Regal.
Irgendwann später einmal wollte man die dann verkaufen (dafür wollte sie
keiner) oder verschenken (noch nicht einmal geschenkt wollten die Leute
sie noch haben). Der bereits genannte Bekannte wollte sie aber doch noch
haben. Allerdings störten ihn die "bad blocks", die damals jede Platte
offen nach außen auswies, also bearbeitete er sie erstmal tage- und
nächtelang mit Spinrite und freute sich wie ein Schneekönig, wenn er von
den 14 Fehlern der Platte auf diese Weise 9 ausbügeln konnte.

Ich habe nie erfahren, was hinterher aus den vielen gespinriteten
Platten geworden ist.
Post by Thomas Niering
Damals hat man auch tagelang getüftelt, um 100 weitere Bytes im RAM
freizubekommen, damit der ...-Treiber doch noch im HighMemory-Bereich
gelandet ist, und das Spiel dann funktionierte.
Das ist eine völlig andere Kategorie.
Post by Thomas Niering
Post by Martin Gerdes
Sowas machen Leute, denen die eigenen Daten keine 50 Euro wert sind, die
eine neue SSD/Festplatte kostet. Mir wäre das Risiko zu hoch, selbst für
meine rein privaten Daten.
Man wird älter und weiser.
100 DM waren viel Geld und man hatte nicht soviel davon.
Für 100 DM gabs damals keine Platte. Mach eine 0 dran, dann stimmt es
etwa (Je nach Zeit). Das ändert aber nichts daran, daß die Leute keine
ST-225 mehr wollten, als 120-MB-Platten Standard waren.

Thomas Niering
2022-11-26 08:23:00 UTC
Permalink
Hallo Marco,
Post by Marco Moock
man hört ja immer wieder, dass man SSDs nicht mit badblock auf Fehler
prüfen soll, weil die mehr Blöcke haben als angezeigt und man damit
möglicherweise andere erwischt. Bei halbwegs neuen HDDs gibt das
Gleiche ja mit Reservesektoren.
Stimmt schon, diese "Mehrblöcke" werden aber unterschiedlich benutzt.

Bei HDD dann, wenn die Platte einen Block als defekt erkannt hat.
Bei SSD werden die "Mehrblöcke" laufend von der SSD mitbenutzt.

Übrigends, Reservesektoren gibt es seit es Platten gibt.
Post by Marco Moock
Zudem schaden ja Schreibvorgänge.
Prinzipiell richtig, aber heise & Co haben das schon ausprobiert
und festgestellt, dass die tatsächliche Lebenszeit einer SSD
wesentlich höher ist, als das, was der Hersteller angibt.

Jede Zelle verträgt nur eine gewisse Anzahl an Löschvorgängen, von
daher ist eine SSD stets bemüht, die Zellen möglichst gleichmäßig
zu belasten. Von daher hat jede SSD ein paar GB mehr, mit denen die
SSD dies machen kann.

Hinzu kommt, dass man zwar in kleinen Blöcken lesen und schreiben kann,
aber löschen geht nur in größeren Blöcken.

Beides zusammen bewirkt, dass der von badblock getestete Block 4711
heute in Zelle 007, morgen in Zelle 0815 und übermorgen in Zelle 1 liegt.
Von daher macht badblock keinen Sinn...
Post by Marco Moock
Wie kann man nun (unter Linux) eine SSD auf Fehler prüfen?
Rein mit SMART oder mit den jeweiligen Herstellertools...

Ciao Thomas
Lesen Sie weiter auf narkive:
Loading...