Wie kann ich die Lese- / Schreibintegrität eines Compact Flash-Geräts überprüfen?

13353
Paul McMillan

Ich habe eine Reihe von Compact Flash-Karten, die ich häufig für professionelle Foto- und Videokapazitäten verwendet habe.

Ich mache mir Sorgen, dass einer von ihnen schlecht läuft, da ich sehe, dass Dateien (meistens Videos, gelegentlich Fotos) auf einer schwer vorhersagbaren Basis korrupt werden. Ich bin absolut sicher, dass dies nicht mit dem Aufheben der Bereitstellung der Karte zusammenhängt, bevor sie entfernt wird. Die Beschädigung ist direkt nach dem ordnungsgemäßen Entfernen der Karte aus der Kamera sichtbar.

Das Problem ist, ich weiß nicht, welche Karte problematisch ist, und das Problem scheint intermittierend zu sein, also kann ich sie nicht einfach voll ausschießen und nach einer schlechten Datei suchen (und Korruption ist auch dann nicht immer offensichtlich - wenn die fehlerhafte Bits befinden sich im Datenteil einer Datei (dies ist möglicherweise nicht offensichtlich). Das Problem ist selten genug, dass ich es nicht zuverlässig reproduzieren kann (es sei denn, es gibt einen Client mit einem Job, dessen Dateien absolut, absolut nicht verloren gehen können - dann schlägt es sicher zu).

Ich könnte RMA alle unter Garantie stellen (sie sind alle Sandisk mit lebenslanger Garantie), aber ich würde es nicht vorziehen (wie kann ich es rechtfertigen, einen Stapel von 5 Karten einzusenden? Was verwende ich während des Monats, in dem sie weg sind ?).

Ich bin auf der Suche nach einem Tool, das sie reparieren kann. Im Besonderen brauche ich etwas, das einen Schreib- / Lese- / Schreib- / Lesezyklus für die gesamte Karte ausführt, und im Idealfall ein vollständiges Format zum Entfernen fehlerhafter Bits sowie zum Anzeigen des Status (ist eine Karte besonders schlecht?) alle anderen vollkommen in Ordnung? Wie viele Fehler sehe ich generell?).

Ich bin mir des badblocksTools bewusst, hatte aber gehofft, etwas Passendes für CF zu finden (und das würde mich hoffentlich dazu bringen, die schlechten Bereiche außer Betrieb zu nehmen, wenn es nur ein paar Bits sind). Ich würde, wenn möglich, ein Nicht-Windows-Tool bevorzugen.

Hat jemand anderes dieses Problem gelöst, ohne Ihre Geräte blind auszutauschen? Einige der verdächtigen Karten sind ziemlich neu.

4

2 Antworten auf die Frage

2
hotei

Es gibt wahrscheinlich bessere Werkzeuge, aber wenn Sie einfach und kostenlos wollen, dann wollen Sie dd.

Wenn Sie davon ausgehen, dass Ihr Nicht-Windows-Spiel etwas von Linux oder Unix ist und Ihre Karten keine Daten enthalten, die Sie behalten möchten, können Sie Folgendes versuchen:

Bringen Sie die CF-Karte in Ihrem Lesegerät an und rufen Sie den Gerätenamen auf. Ich gehe davon aus, dass es für diese Antwort / dev / CF ist. Melden Sie sich als root an.

So schreiben Sie die Karte mit zufälligen Daten

dd if=/dev/random of=/dev/CF bs=1k 

Sie können dies ein paar Mal tun (wie viele sind Ihnen überlassen). Wenn vor dem Abschluss der gesamten Karte ein Fehler angezeigt wird, liegt ein Problem mit der Karte vor.

Sie können die Lesefunktion der Karte folgendermaßen überprüfen:

dd if=/dev/CF of=/dev/null bs=1k 

Es sollte die gesamte Karte fehlerfrei lesen.

Wenn Sie fertig sind, möchten Sie die Karte neu formatieren. Schreiben Sie zuerst die Karte mit Nullen, um sie dann in Ihrer Kamera formatieren zu können:

dd if=/dev/zero of=/dev/CF bs=1k 

Damit sollte die gesamte Karte fehlerfrei geschrieben werden.

Meine persönliche Meinung ist, dass, wenn Sie irgendwelche Fehler erhalten, RMA die Karte. Ich würde nicht versuchen, es erneut zu verwenden, indem ich die fehlerhaften Blöcke neu mappe.

Beachten Sie, dass selbst wenn die Karte (n) die oben genannten Tests bestehen, sie nicht garantiert gut sind. Dies könnte einen zeitweiligen Fehler bedeuten, der etwas länger dauert, als Sie gedacht haben, um sich zu zeigen. Auf der anderen Seite, wenn dies nicht der Fall ist, haben Sie einige Daten, auf die Sie Ihre RMA-Entscheidung stützen können, und einige unterstützende Unterlagen, um Sandisk die Berechtigung für die RMA zu geben.

Hmmm. Ich hatte über dd nachgedacht, aber ich verstehe, dass der Prozess, den Sie beschrieben haben, die Karte schreibt und dann liest, aber nicht überprüft, ob das, was von der Karte gelesen wird, dem entspricht, was in die Karte geschrieben werden soll. Ich könnte die Ausgabe von / dev / random in eine andere Datei schreiben und dann einen Vergleich durchführen ... Ich hoffe, es gibt eine einfachere Methode. Paul McMillan vor 14 Jahren 0
@ Paul McMillan: dd erkennt bestimmte Probleme, andere nicht. Und es hilft nicht, mit / dev / random zu vergleichen, da sein RANDOM beim zweiten Mal nicht derselbe ist. Sie können ein Dateisystem auf dem CF-Gerät erstellen, ein Bit von / dev / random in eine Plattendatei schreiben (verwenden Sie den Parameter dd count) (oder eine beliebige Datei, die Sie mit cp wünschen), kopieren Sie dann die Plattendatei auf das CF-Gerät und dann Nehmen Sie einen md5-Hash (md5sum -b dateiname) der Festplattendatei und der CF-Datei. - - - aber das ist ein bisschen mehr Arbeit, als ich dachte, Sie wollten investieren. hotei vor 14 Jahren 0
Ich verstehe / dev / random. Ich bezog mich darauf, eine angemessene Menge davon in einer Datei abzulegen, die ich vergleichen konnte, bevor ich auf die Karte schreibe. Ich denke, Badblocks ist das beste verfügbare Werkzeug, das ich für diesen Job entdeckt habe. Paul McMillan vor 14 Jahren 0
@ paul ~: Ich dachte, du könntest, aber ich musste sicherstellen, dass auch andere auf diese Posts stoßen werden. hotei vor 14 Jahren 0
1
drfrogsplat

Wenn Sie Zugriff auf einen Windows-Computer haben, können Sie Flash überprüfen versuchen . Dieser Link dient nur zu einer Überprüfung mit einem schönen Screenshot (die eigentliche Website ist in Russisch)

Ich habe es nicht persönlich verwendet, aber wenn man davon ausgeht, dass die Screenshots / Reviews legitim sind, scheint es eine sinnvolle Möglichkeit zu sein, Flash-Laufwerke zu testen.

PS Hier ist der Link zur Website des Entwicklers (in Russisch): http://www.mikelab.kiev.ua/index.php?page=PROGRAMS/chkflsh drfrogsplat vor 14 Jahren 0
Danke, ich muss das untersuchen. Scheint eine interessante Option zu sein, und es könnte den Trick tun. Sieht auf jeden Fall benutzerfreundlich aus. Paul McMillan vor 14 Jahren 0