Ich habe gerade eine neue CF-Karte für meine DSLR gekauft. Ich habe es mit Xbench (Mac OS X) getestet und es funktioniert wie erwartet. Ich möchte jedoch einen "Oberflächenscan" (Begriff "beweglicher Plattenteller") durchführen, um nach "schlechten Sektoren" (Begriff "beweglicher Plattenteller") zu suchen. Ich könnte einen Prozess mit dd als Skript ausführen, aber ich habe das Gefühl, dass es einen besseren Ausweg gibt. Mein Ziel ist es, endgültig zu wissen, dass eine Speicherkarte (CF, SD usw.) sicher für ein Fotoshooting verwendet werden kann und nicht zurückgegeben werden muss, bevor das 30-Tage-Fenster für Lieferantenrichtlinien abläuft.
Ich möchte auf jeden Fall, dass hier Mac-Lösungen angeboten werden. Ich möchte auch ein paar Linux-Vorschläge bekommen. Lassen Sie uns den Windows-Benutzern sogar einen Knochen zuwerfen, damit diese eine Frage die Bedürfnisse aller erfüllen kann.
quelle
Antworten:
Da der Controller die Blöcke beliebig verschieben kann (siehe Verschleißnivellierung), besteht die einzige Möglichkeit für einen vollständigen Lese- / Schreibtest darin, die Festplatte zu füllen und dann zu vergleichen. Natürlich mehrmals mit unterschiedlichen Mustern.
Und trotzdem werden Sie keine fehlerhaften Regionen abfangen, da diese auch vom Controller verborgen werden, solange er Ersatzteile hat.
quelle
Der Flash-Speicher funktioniert nicht wie Festplatten mit Platten. Das Konzept eines "schlechten Sektors" existiert mit Flash-Speicher nicht wirklich. Heutzutage kümmert sich der integrierte Controller mit Flash-Speicher und SSDs darum, unbrauchbare Speicherblöcke zu identifizieren und zu markieren, Daten dynamisch zu verschieben, um Einschränkungen beim Schreiben von Blöcken zu verringern usw. Diese Funktionen sind bei SSDs weitaus häufiger anzutreffen, einige jedoch auch existieren in hochwertigen Flash-Karten (wie SanDisk).
Die meisten Tools zur Überprüfung des Dateisystems treffen entweder bestimmte Annahmen über die physische Struktur des Speichergeräts (z. B. platterbasiert, mit physischen Zylindern, Sektoren, Clustern usw.) oder arbeiten auf abstrahierter Ebene und führen Reparaturen "virtuell" mithilfe von Dateien oder Verzeichnissen durch Tabellen. Sie benötigen ein Tool, das speziell zum Markieren fehlerhafter Blöcke auf einem Flash-Speichergerät entwickelt wurde, da alles andere entweder mehr Probleme verursacht (vorausgesetzt, es kann die Probleme auf die gleiche Weise beheben wie bei einem platterbasierten Gerät) oder virtuell wird Korrekturen, die die dynamischen Funktionen von Flash auf Hardwareebene nicht berücksichtigen. Selbst wenn Sie einen bestimmten "Sektor" oder "Cluster" als "schlecht" markieren könnten, würde dies nicht unbedingt etwas Gutes bewirken, da diese physikalischen Konzepte im Flash-Speicher nicht vorhanden sind. Wenn das Flash-Gerät weiter fortgeschritten ist und Daten dynamisch verschiebt, um fehlerhafte Blöcke automatisch zu umgehen und Schreibbeschränkungen zu verringern, befindet sich der physische Speicherort der Daten möglicherweise einen Moment später in einem fehlerhaften Block und einen Moment später in einem guten Block. (Beachten Sie, dass die Idee eines "schlechten" Blocks im Flash-Speicher viel unschärfer ist als bei Plattentellern. Ein Flash-Speicherblock stirbt eher langsam als plötzlich ab und kann zwischen lesbar / nicht lesbar "flackern". A. etwas bevor es völlig unbrauchbar wird.)
Wenn es um Flash geht, lassen Sie das Gerät im Allgemeinen aus einer schlechten Blockperspektive selbst verwalten. Verschiedene Hersteller strukturieren und speichern Daten auf unterschiedliche Weise, und jeder kann unterschiedliche Ebenen und Mengen an dynamischem Verhalten aufweisen, mit denen Daten verschoben werden, um einige der Einschränkungen des Flash-Speichers zu vermeiden. Der Versuch, es selbst zu verwalten, verursacht wahrscheinlich mehr Probleme als es löst und kann Ihre Flash-Festplatten auf lange Sicht unbrauchbar machen.
Wenn Sie schlechte Karteikarten vermeiden möchten, empfehle ich die Verwendung seriöser Marken. Ich habe in der Vergangenheit eine Vielzahl von Flash-Karten ausprobiert, aber SanDisk ist die einzige Marke, die ich verwendet habe und die zumindest bisher nie versagt hat. Ich habe mehrere 4-, 8- und 16-Gig-SDHC-Karten, die ich ziemlich häufig benutze, und nehme sie regelmäßig aus meiner Kamera und stecke sie in meinen Laptop oder Computer. Sie funktionieren immer noch einwandfrei. (Einige sind mehrere Jahre alt.)
quelle
Unter Linux ist der gewünschte Befehl
badblocks
. Es scheint einen Port für Mac OS X als Teil dieses ext2-for-os-x-Ports zu geben - installieren Sie das Ganze und ignorieren Sie alles außer dem/usr/local/sbin/badblocks
Befehl.Das heißt, dies wird beim Testen helfen, aber ich denke nicht, dass es schlüssig sein wird, denn zuerst, wie Leonidas sagt, erhalten Sie keinen direkten Zugriff auf den Flash-Speicher, so dass es schwierig ist, einen vollständigen Scan durchzuführen, und auch deshalb Nach dem Test können neue Fehler auftreten, die möglicherweise sogar dadurch ausgelöst werden.
quelle
Wenn Sie Ihren Kommentar unter der Frage lesen , glaube ich, dass F3 genau das tut, was Sie wollen. Es wird unter Linux / Mac OS X kompiliert und ist auch über Homebrew verfügbar.
quelle
Ich habe dies bei Google gefunden. Ich verwende keine SD-Karten für die Aufbewahrung von Kameras, sondern habe meine Klasse 10 32 GB SDHC-Sandisk nach weniger als 2 Jahren Verwendung auf meiner Samsung Galaxy S2 vollständig beschädigt.
Ich benutze Badblocks, um zu sehen, wo die ersten Badblocks beginnen, und dann werde ich, wenn möglich, Partitionen in diesem Bereich erstellen. Dies ist meine aktuelle, sehr, sehr schlechte Lösung: /
quelle