www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Stick Schreibzyklen


Autor: usb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: usb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Datei wird geöffnet, Daten werden geschrieben, Datei wird 
geschlossen.
Wird bei jedem Dateizugriff die Dir. neu geschrieben?

Autor: Guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach 5,5 Stunden ist der Spaß vorbei.
Vorausgesetzt, Du beschreibst immer dieselben Zellen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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...

Autor: usb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hannes H. (mui)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Logger mit Batterie puffern? (2-3x AA)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: usb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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)?

Autor: Held der Arbeit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bitte auch unterscheiden welche speicherarchitektur (slc oder mlc). nur 
neuere sticks haben überhaupt wearleveling!

Autor: D.T.P.G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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)

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.T.P.G. schrieb:
> die 50 mA werden zu 99% in Wärme umgewandelt
und wo bleibt der Rest?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
> und wo bleibt der Rest?
Licht?
Jeder USB-Stick hat so eine LED... ;-)

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
> Jeder USB-Stick hat so eine LED... ;-)

gar kein Platz dafür
http://www.elecom.co.jp/news/200903/mf-su2/

Autor: Verwirrter Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach mal das hier modifizieren:
http://dangerousprototypes.com/2010/05/25/prototyp...
und selber testen ;)

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.