Hallo,
ich habe einen Datenlogger der mir 1 x /sec auf einen USB Stick
schreibt. Eigentlich sollte der Messvorgang 24 Std./ ca, 86400
Messwerte.Leider hatt es nur ca. 8 Std. funktioniert ( ca. 27000
Messwerte), dann war Schluß. Den Usb Stick konnte ich gerade noch 2 x
anschließen und darauf lesen. Jetzt ist der Schrott. Nix geht mehr.
Lebensdauer am Ende oder nur Pech gehabt. Was meint Ihr?
Danke
Andreas
Andreas schrieb:> Lebensdauer am Ende oder nur Pech gehabt.> Was meint Ihr?
Pech mit der Lebendsdauer gehabt.
Die c't hat mal versucht, durch wiederholtes Beschreiben des selben
Sektors (mit max. Speed) einen USB-Stick zu schrotten, erfolglos.
=> Neuen Stick versuchen, ggfs. Hersteller wechseln.
es empfielt sich allerdings die Daten entweder im RAM oder auf der HDD
zwischenzuspeichern und dann immer ein Paket mit mehreren kb
zuschreiben.
Wenn da jede Sekunde nur 4 byte geschrieben werden ist das schon etwas
umständlich, lege doch in Deiner Prüfsoftware ein array an und schreibe
das stündlich oder so auf den stick!
@plong
ja, ne. Die Software steckt in einem ATmega88, der in einem Rohr
zusammen mit Akku, AD590 und Stick. Ich werde aber trotzdem erst sammeln
und dann schreiben.
>Die c't hat mal versucht, durch wiederholtes Beschreiben des selben>Sektors (mit max. Speed) einen USB-Stick zu schrotten, erfolglos.
Das ist quatsch. Das ist mir selber mal passiert. Ich habe mal ein
Programmm geschrieben, welches mir den Inhalt von Stick physisch
spiegelt und dabei den Fehler gemacht, immmer auf den selben Sektor zu
speichern. Der Stick war danach hinüber. Ich gehe mal davon aus, dass
einige Sticks über eigenständiges Wear-Leveling verfügen und andere eben
nicht.
>Leider hatt es nur ca. 8 Std. funktioniert ( ca. 27000>Messwerte), dann war Schluß.
Dann unterstelle ich dir mal, immer auf denselben Sektor geschrieben zu
haben.
Spade, Sam schrieb:>>Die c't hat mal versucht, durch wiederholtes Beschreiben des selben>>Sektors (mit max. Speed) einen USB-Stick zu schrotten, erfolglos.> Das ist quatsch. Das ist mir selber mal passiert.http://de.wikipedia.org/wiki/Flash-Speicher#Anzahl_der_L.C3.B6schzyklen
(Der orginal c't-Artikel ist leider online nicht kostenlos)
> Ich habe mal ein> Programmm geschrieben, welches mir den Inhalt von Stick physisch> spiegelt und dabei den Fehler gemacht, immmer auf den selben Sektor zu> speichern. Der Stick war danach hinüber.
Der Stick oder der Sektor? Ganzer Stick => Controller abgebrannt, Quarz
kaputt oder ähnliches. Nur der Sektor => Wear leveling für'n A*sch, da
gebe ich dir recht.
(Oder kann der conroller so bescheiden programmiert sein, dass der bei
end-of-life einzelner Blöcke auch den Read-Access auf den Rest des
Sticks sperrt => ABM für Datenretter?)
> Ich gehe mal davon aus, dass> einige Sticks über eigenständiges Wear-Leveling verfügen und andere eben> nicht.
Irgendein Wear-Leveling haben sie alle. Aber scheinbar haben manche das
nur für die Sektoren, bei denen im Orginal-Formatierungs-Zustand die FAT
zu liegen kommt.
=> Im Normalbetrieb OK, nach Neuformatierung (mit NTFS, oder HFS+ oder
EXT2,3,4, ...) schon fast Sondermüll.
Ne passende Blacklist habe ich leider nicht auftreiben können....
Ich habe damals Standard-Fileroutinen mit physischen Handles benutzt.
Normalerweise ist so, dass bei einen Zugriff auf eine logisches File der
FileCounter automatisch erhöht wird. Dies gilt aber nicht für physischen
Zugriff auf Blockdevices. Das wusste ich damals nicht und so ging eine
ganze Partition auf den ersten Sektor. Wenn der MBR futsch ist und der
Controller das von sich aus nicht ausgleicht (wie Festplatten das tun),
dann ist dies das Ende vom Stick als logisches Medium. (Das OS gleicht
in diesem Fall nicht aus.) Physisch kann man die restlichen Sektoren
natürlich noch weiter beschreiben und lesen.
>Leider hatt es nur ca. 8 Std. funktioniert ( ca. 27000>Messwerte), dann war Schluß.
Dann unterstelle ich dir mal, immer auf denselben Sektor geschrieben zu
haben.
Da liegst du wahrscheinlich richtig. Ich muß jetzt im Firmware Handbuch
schauen ob der Vinculum das regelt, oder sonst wie gemacht wird. Leider
habe ich von dieser ganze Materie nicht viel Ahnung und ich muß mich
schlau lesen.
Danke
Andreas
Eine eigene Frage?
Dieser Thread ist über 15 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.