Hallo, weiß jemand, für wieviele Schreibzyklen USB Sticks in der Regel ausgelegt sind? Ich habe einen Datenlogger gebaut, der im 5Hz Takt etwa 400Byte auf den Stick schreibt. Mit welcher Lebenserwartung muss man bei so einem Stick rechnen? DAnke
Das kommt auf die Details an. Diese Schreiboperation... macht die jeweils open(), write(), close() ? oder wird nur einmal geoeffnet ? Der Unterschied ist wie oft das directory neu geschrieben wird. Ich wuerd von 10k Schreibvorgaengen pro sektor ausgehen. Das Direktory ist daher das kritische Teil.
Die Datei wird geöffnet, Daten werden geschrieben, Datei wird geschlossen. Wird bei jedem Dateizugriff die Dir. neu geschrieben?
Man darf aber nicht vergessen, dass intern im USB-Stick das Flash auch nicht immer an die gleiche Stelle geschrieben wird. Dafür sorgt die Elektronik im USB-Stick.
Bei jedem schreibenden Zugriff müsste auch das Dir aktualisiert werden: Änderungsdatum, Gröss, Archivbit. Die c't hatte mal einen Dauerversuch gemacht, ich finde das genaue Ergebnis aber gerade nicht. http://www.heise.de/ct/hotline/Flash-Haltbarkeit-296140.html http://wapedia.mobi/de/SD_Memory_Card Aber da es auch Qualitätsunterschiede bei den Flashs gibt (auch innerhalb einer Serie eines Herstellers) würde ich mich bei wichtigen Daten nicht da drauf verlassen.
Nach 5,5 Stunden ist der Spaß vorbei. Vorausgesetzt, Du beschreibst immer dieselben Zellen.
> Du beschreibst immer dieselben Zellen. Das organisiert der Controller im USB-Stick. Und der sollte ein halbwegs ausgeklügeltes Wearleveling haben, dass das nicht passiert. Aber 5x pro Sekunde scheint mir auch recht heftig... >>> Ich habe einen Datenlogger gebaut, der im 5Hz Takt etwa >>> 400Byte auf den Stick schreibt. Zudem sind die 400 Byte ganz arg ungeschickt wenig für das Dateisystem... Warum sammelst du nicht ein paar Bytes zusammen und schreibst die dann auf einen Rutsch? BTW: Du solltest übrigens nicht meinen, dass die Daten auch tatsächlich auf dem Flash gespeichert sind, wenn du sie via USB losgeworden bist. Da können durchaus noch ein paar ms zwischen "Schreiben" und "Speichern" vergehen...
Hallo Lothar, mit den paar ms kann ich leben. Die Daten müssen mit der Rate geschrieben werden, da es sich um einen Logger für Rennstreckenfahrzeuge handelt. Kommt es hier zu einem Unfall, schaltet sich in der Regel die Versorgungsspannung automatisch ab. Befindet man sich da gerade am Ende eines solchen "Sammelrhytmus", so gehen wichtige Unfalldaten verloren. Gruß Alex
ob die Daten noch lesbar sind wenn man währen des Schreibens die Stromversorung kappt ist aber zweifelhaft. Entweder das Filesystem ist platt oder wenn man ohne FS arbeitet, der Controller sich intern verschluckt sich wenn er gerade beim merken seiner Wearleveling daten ist.
Peter, habe ich schon getestet. Wenn die Stromversorgung gekaptt wird, bevor die Datei geschlossen wird, dann geht der letzte Datensatz verloren. Puffer wäre natürlich eine Möglichkeit. Gruß Alex
> ob die Daten noch lesbar sind wenn man währen des Schreibens die > Stromversorung kappt ist aber zweifelhaft. Sind sie nicht, ein einfacher Test beweist es: Kopiere eine große Datei vom PC auf den Stick und zieh den mittendrin ab. Da bekommst du alles mögliche von "Datei korrupt" über "nicht lesbar" bis zu "Medium nicht erkannt". > schaltet sich in der Regel die Versorgungsspannung automatisch ab. Dann solltest du sie lokal puffern, die Versorgung... > Logger mit Batterie puffern? Mindestens der USB-Stick muß gepuffert werden, damit der intern fertig wird und nicht das FS versaut. EDIT: > habe ich schon getestet. Wenn die Stromversorgung gekaptt wird, bevor > die Datei geschlossen wird, dann geht der letzte Datensatz verloren. Wie hast du das getestet? Statisch, oder wirklich während des Schreibens? Hast du unterschiedliche USB-Sticks ausprobiert (da gibt es nämlich Unterschiede)?
bitte auch unterscheiden welche speicherarchitektur (slc oder mlc). nur neuere sticks haben überhaupt wearleveling!
>Die c't hatte mal einen Dauerversuch >gemacht, ich finde das genaue Ergebnis aber gerade nicht. Ich habe das Ergebnis gefunden: Der Stick hat 16 Mio Zyklen geschafft. Wie gesagt hängt das aber von der Bauart und der Fehlerkorrektur ab, aber auch die Temperatur wird eine Rolle spielen (die 50 mA werden zu 99% in Wärme umgewandelt, die staut sich bei Dauerbelastung)
Lothar Miller schrieb: > Jeder USB-Stick hat so eine LED... ;-) gar kein Platz dafür http://www.elecom.co.jp/news/200903/mf-su2/
Einfach mal das hier modifizieren: http://dangerousprototypes.com/2010/05/25/prototype-flash_destroyer/ und selber testen ;)
Held der Arbeit schrieb: > bitte auch unterscheiden welche speicherarchitektur (slc oder mlc). nur > neuere sticks haben überhaupt wearleveling! Dafür vertragen bei den älteren die einzelnen Zellen mehr Zyklen. Aktuelle mlc schaffen grad noch dreitausend.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.