• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Der Frühling ist auch in den eingesandten Fotos deutlich zu erkennen. Zeigt uns, wer Euer Favorit ist! hier geht es lang für Euer Voting --> Klick

Samsung T7 SSD lässt sich nicht entschlüsseln

Marcel Bresink

Hochzeitsapfel
Registriert
28.05.04
Beiträge
9.248
Was ist für dich der Unterschied?
Reserveblöcke einer magnetischen Platte werden nur dann verwendet, falls "normale" Blöcke während der Lebensdauer der Platte als defekt erkannt wurden.

Überprovisionierung einer SSD wird bei jedem Schreibzugriff verwendet, nachdem alle Blöcke der Nennkapazität der SSD mindestens einmal beschrieben wurden. Dadurch kann fast immer eine Reserve gelöschter und damit schreibbereiter Blöcke bereitgehalten werden, falls über Garbage Collection/Trim bei Lastspitzen noch nicht genug Blöcke für Schreibzugriffe innerhalb der Nennkapazität wiederaufbereitet werden konnten.

Bekommst du einen write error so mit?
Konventionelle "write errors" wie bei einer magnetischen Platte kann es bei einer SSD nicht geben. Die werden quasi nie gemeldet, sondern nur die überprovisionierte Kapazität wird kleiner. Grundsätzliche Probleme mit USB / Controller / NAND-Steuerung im Allgemeinen werden jedoch sichtbar, wie Du es in #116 prüfen wolltest.
 
Zuletzt bearbeitet:

James Atlick

Adams Apfel
Registriert
05.05.09
Beiträge
515
Überprovisionierung einer SSD wird bei jedem Schreibzugriff verwendet, nachdem alle Blöcke der Nennkapazität der SSD mindestens einmal beschrieben wurden.
Hängt vermutlich auch stark von der Implementierung ab, Samsung verkauft OP mit "maximize your lifetime".
Gehe davon aus, die meisten SSDs haben einen sehr kleinen versteckten OP.
ZFS genau darum nicht mehr 100% der Platte sondern lässt ein paar hundert MB frei, weil eine Samsung 1TB Platte nicht zwingend gleich viel Speicher hat wie eine SanDisk 1TB Platte hat. Das wäre dann ein Problem, wenn ich eine Platte im Mirror tauschen müsste
Wenn dieser kleine OP aufgebraucht ist, hat Samsung mit den zusätzlich empfohlenen 10% OP noch mehr Platz für schlechte Blöcke. Die Platte kann nicht (?) einfach die Kapazität gegenüber dem OS schrumpfen.

Konventionelle "write errors" wie bei einer magnetischen Platte kann es bei einer SSD nicht geben. Die werden quasi nie gemeldet, sondern nur die überprovisionierte Kapazität wird kleiner.
Was sind für dich konventionelle write errors und warum gibt es diese nicht mehr bei SSDs?
ZFS arbeitet mit checksums und zeigt errors auch, bei AFPS habe ich dazu nix gefunden.
 

Marcel Bresink

Hochzeitsapfel
Registriert
28.05.04
Beiträge
9.248
ZFS genau darum nicht mehr 100% der Platte sondern lässt ein paar hundert MB frei, weil eine Samsung 1TB Platte nicht zwingend gleich viel Speicher hat wie eine SanDisk 1TB Platte hat.
Nein, jede Platte hat eine Nennkapazität, die exakt ermittelt werden kann. Die Überprovisionierung bleibt dabei komplett unsichtbar und ist mehr oder weniger Betriebsgeheimnis des Herstellers.

Dass jedes UNIX-Dateisystem schon seit 40 Jahren verschiedene Techniken verwendet, um eine gewisse Reserve als "im Normalfall nicht nutzbar" zu definieren, findet auf einer höheren Ebene statt und hat mit dem dahinter stehenden physischen Blockspeichermedium nichts zu tun. Bei Systemen, die mit Speicherredundanz arbeiten (wie RAIDs oder ZFS), wird das dann noch einmal erweitert, dort wird zwischen physischem Speicher, allokierbarem Speicher-Pool und für Volumes nutzbarem Speicher unterschieden.

Was sind für dich konventionelle write errors und warum gibt es diese nicht mehr bei SSDs?
Das Dateisystem schreibt einen Block und die Hardware meldet, dass das fehlgeschlagen ist.

Erst wenn die komplette Überprovisionierung (die auch für defekte Blöcke verwendet werden kann, aber normalerweise für ganz andere Dinge gedacht ist), aufgebraucht sein würde, was in der Praxis so gut wie nie passiert, würde die SSD anfangen, Schreibfehler zu melden. Das liegt daran, dass die Platte tatsächlich nicht ihre ursprüngliche gemeldete Nennkapazität schrumpfen kann, wie Du richtig bemerkt hast.

ZFS arbeitet mit checksums und zeigt errors auch, bei AFPS habe ich dazu nix gefunden.
Das ist schon wieder die falsche Ebene. Solche Dinge kommen nur zum tragen, wenn das Dateisystem Fehler gemacht hat, aber nicht, wenn Blöcke auf der Hardware-Ebene versagen.
 
  • Like
Reaktionen: landplage

James Atlick

Adams Apfel
Registriert
05.05.09
Beiträge
515
Nein, jede Platte hat eine Nennkapazität, die exakt ermittelt werden kann. Die Überprovisionierung bleibt dabei komplett unsichtbar und ist mehr oder weniger Betriebsgeheimnis des Herstellers.
Jein. OP ist zwingend komplett unsichtbar.
Also ja, sie ist unsichtbar, weil du nicht genau weisst wie viel der Hersteller im Hintergrund für OP reserviert haben.

Sie ist aber insofern sichtbar, dass für SanDisk eine 1TB Platte sich dem OS mit genau 1048576MB meldet,
eine Samsung Platte, die laut Label ebenso 1TB hat, aber ein paar 4k Sektoren weniger hat.
Darum hat ZFS das eingeführt. Das hat nix mit OS oder FS Reserven zu tun.

{i}
In case of using whole disks ZFS will automatically reserve 8 MiB at the end of the device, to allow for replacement and/or additional physical devices that don't have the exact same size as the other devices in the pool.

Sondern weil du eine 1048576MB Platte bei einem Ausfall mit einer gleich grossen Platte ersetzten musst. Mit mindestens gleich vielen Sektoren.

Das Dateisystem schreibt einen Block und die Hardware meldet, dass das fehlgeschlagen ist.
Bringt halt nicht viel, weil du dann der Hardware trauen musst.
Darum bringt meiner Meinung nach nur die Platte beschreiben nix.
Wenn die Hardware einen Fehler hat aber nichts meldet, ist der Fehler da und du merkst nichts.
Wenn du aber die Daten nochmals liest (was badblock tut) merkst du es.
Das ist schon wieder die falsche Ebene.
Nicht wirklich, beziehungsweise diese Ebenen verwischen mit ZFS. Weil ich eben der Hardware nicht traue, das zu tun was ich ihr gesagt habe, nutzte ich Checksums. ZFS geht immer davon aus, dass die Hardware Fehler macht und ich ihr nicht trauen kann.
 

Marcel Bresink

Hochzeitsapfel
Registriert
28.05.04
Beiträge
9.248
Sie ist aber insofern sichtbar, dass für SanDisk eine 1TB Platte sich dem OS mit genau 1048576MB meldet,
eine Samsung Platte, die laut Label ebenso 1TB hat, aber ein paar 4k Sektoren weniger hat.
Nein, dass das nur gerundet ist, ist bei jedem Hersteller so. 1 TB-SSDs haben mindestens 1.000.000.000.000 Bytes, die meisten etwas mehr.

Darum hat ZFS das eingeführt.
Nein, ZFS macht das bei magnetischen Platten genauso und das hat nichts mit Überprovisionierung zu tun.

Bringt halt nicht viel, weil du dann der Hardware trauen musst.
Deshalb machen das SSDs nicht.

Wenn die Hardware einen Fehler hat aber nichts meldet, ist der Fehler da und du merkst nichts.
Bei einer SSD ist da kein Fehler, da ihn die Hardware automatisch beseitigt, ohne dass der Computer das merken kann.
Wenn du aber die Daten nochmals liest (was badblock tut) merkst du es.
Nein, denn die SSD liefert die Daten nicht mehr aus dem gleichen physischen Block, wenn sie gemerkt hat, dass mit dem ursprünglich genutzten Block etwas nicht stimmt.

Nicht wirklich, beziehungsweise diese Ebenen verwischen mit ZFS.
Nein, man merkt nur immer weiter, dass Du nicht weißt, wie die Sache wirklich funktioniert, wie es oben @dadudeness und @Wuchtbrumme schon angemerkt haben.
 

dadudeness

Pomme Miel
Registriert
06.09.07
Beiträge
1.490
Wenn Du bei einer drehenden Festplatte auf eine Speicheradresse schreibst, dann wird auf diese Speicheradresse geschrieben.

Wenn Du eine SSD anweist, eine bestimmte Speicheradresse zu beschreiben, dann unterscheidet sich die Rückmeldung, die Du von der SSD bekommst, von dem, was die SSD tut:

Sie meldet zurück, dass de Schreibvorgang erfolgreich war, intern hat sie aber gar nicht die Speicheradresse beschrieben, sondern eine völlig andere.

Wenn Du nun 5min später wieder den Auftrag gibst, exakt die Speicheradresse zu beschreiben, erhältst Du wieder ein OK, intern wird aber erneut eine völlig andere Speicheradresse beschrieben.


Wie die SSD intern ihren Speicher nutzt, ist für alle Akteure außerhalb der SSD selbst völlig intransparent.
 
  • Like
Reaktionen: James Atlick

James Atlick

Adams Apfel
Registriert
05.05.09
Beiträge
515
Nein, dass das nur gerundet ist, ist bei jedem Hersteller so. 1 TB-SSDs haben mindestens 1.000.000.000.000 Bytes, die meisten etwas mehr.
Eben. Die meisten etwas mehr. Dann sind sie nicht gleich gross.
Nein, ZFS macht das bei magnetischen Platten genauso und das hat nichts mit Überprovisionierung zu tun.
Ok stimmt. Höchstens vielleicht indirekt, da hast du recht.
Deshalb machen das SSDs nicht.
Was machen SSDs nicht? Dem NAND trauen?
Bei einer SSD ist da kein Fehler, da ihn die Hardware automatisch beseitigt, ohne dass der Computer das merken kann.
Du gehst halt immer davon aus, dass die SSD funktioniert. Was wenn dies aber nicht zutrifft?

Das ist genau der Punkt, auf den ich hinaus will. Du traust der SSD. Ich verdächtige die SSD fehlerhaft zu sein (ohne das selbst zu merken).
 

Marcel Bresink

Hochzeitsapfel
Registriert
28.05.04
Beiträge
9.248
Was machen SSDs nicht?
Das, was Du gefragt hattest, also nach einem Schreibzugriff auf einen kaputten Block einen Fehler zu melden. Da der Block immer von der Hardware repariert wird, kann er aus Sicht des Computers nie kaputt sein.

Einzige Ausnahme ist, wenn die SSD ihre gesamte Überprovisionierung aufgebraucht hätte, was in der Regel erst nach über 40 Jahren normaler Nutzung passiert. Dann würde sie aber einen Totalausfall melden und keinen defekten Block.

Du gehst halt immer davon aus, dass die SSD funktioniert.
Nein, Du gehst fälschlicherweise davon aus, der Computer hätte irgendeine Chance zu ermitteln, ob Blöcke der SSD funktionieren. Außer bei einem Totalausfall der SSD, der korrekt erkannt wird, kann er das grundsätzlich nicht, weil die Hardware das nicht zulässt.
Du traust der SSD. Ich verdächtige die SSD fehlerhaft zu sein
Nein, Du unterscheidest nicht zwischen fehlerhaften Daten (was der Computer z.B. mithilfe von ZFS erkennt) und fehlerhaften Hardware-Blöcken (von denen der Computer nichts mitbekommen kann). Fehler in den Daten erkennt und korrigiert das redundante Dateisystem. Fehler in der Hardware erkennt und korrigiert die Hardware.