# USB Sticks



## wwwandy (4 Oktober 2009)

Momentane Situation:
Eine MSSQL Datenbank (für HMI) läuft auf einem USB-Stick (4polig, male).
In die Datenbank werden sekündlich etwa 120Byte geschrieben, Lesezugriffe selten und azyklisch. OS ist Windows XP embedded, Dateisystem ist NTFS, "write cache" ist aktiviert über "Explorer, Properties, Optimize for Performance" (siehe dazu unten auch den Link zu Windows write cache und "Plazebo Einstellungen")
http://www.uwe-sieber.de/usbstick.html

Momentan verwendeter Stick ist
  idVendor           0x058f Alcor Micro Corp.
  idProduct          0x6387 Transcend JetFlash Flash Drive
  bcdDevice            1.42
  iManufacturer           1 JetFlash
  iProduct                2 Mass Storage Device
  iSerial                 3 Y2TG7FHS

Datenblatt zu dem Stick:
www.transcendusa.com/Support/DLCenter/Datasheet/TS4GJFT3.pdf
Dort steht "Erase Cycles >10,000 times" was auf MLC NAND schließen lässt,
über wear leveling o.Ä. schweigen sie sich aus.

Problem:
nach ca. 1 Woche Dauerbetrieb steigt der Speicher mit defekten Sektoren aus.
Wurde mittlerweile mit 3 Sticks getestet. Der Stick wird sehr warm im Betrieb, es könnte
durchaus auch ein Temperaturproblem sein, welches den Stick so schnell altern lässt.

Nun bin ich auf der Suche nach schnellen, und für die obige Anwendung lange Haltbarkeit
geeignete USB Sticks mit ca. 4GB.

Da Stellen sich dann folgende Fragen:

+ Kann man WIndows XP embedded dazu bringen den write cache zu vergrößern, bzw. was
sind sinnvolle Einstellungen?
+ Welches Dateisystem ist dafür geeignet? Unter Linux gibt es ja z.B. JFFS2, ich bin
aber hier unter Windows XP embedded. Da stehen mir NTFS,FAT und exFAT zur Verfügung.
exFAT http://www.golem.de/0902/65137.html
Macht ein spezielles Dateisystem wie exFAT überhaupt noch sinn wenn wear leveling verwendet wird? Meiner Meinung nach nicht. Angaben ob dynamisches oder statisches wear leveling verwendet wird gibt es selten.
+ NAND oder NOR Flash? Heutzutage sind fast alle USB Sticks mit NAND Flash bestückt,
also erübrigt sich die Frage.
+ SLC (single level cell) oder MLC (multi level cell)? Die Haltbarkeit von MLC wird mit >10.000 cyclen angegeben, bauartbedingt bei SLC >100.000, also bevorzuge ich SLC

(Auf http://www.pc-experience.de/wbb2/thread.php?threadid=27187 wurden einige
SLC und MLC Typen getestet.)

+ Für den verwendeten Stick gibt es ein "online recovery tool":
http://www.transcend.de/Products/online_recovery_1.asp
Welches die Sticks wieder kurzzeitig "heilen" kann. Was mich schon sehr wundert,
denn entweder sind die Zellen kaputt oder nicht. Und warum braucht das Programm eine onlineverbindung zu einem server? Also sehr dubios und mir unklar, was dieses Tool macht.
(Eher auch unwichtig, da ich im Produktionsbetrieb sicher nicht das RecoveryTool als "Lösung" ansehe)

Eine Thesis zu dem Thema und ein Tool um Speicher zu testen:
http://rtg.informatik.tu-chemnitz.de/forschung/flash/flanatoo.php

Einige Typen, die ich in Betracht ziehe:

http://www.stec-inc.com/products/usbflashdrive/
Built-in Wear Leveling
    Endurance Guarantee of 2,000,000 Write/Erase Cycles
    Built-in ECC Engine: 5-bytes detection, 4-bytes correction

Reichelt: OCZUSBR2TDC-4GB (leider kein Datenblatt)
OCZ setzt wohl Samsung und Micron Speicher ein, je nachdem was günstiger auf dem Markt ist.

http://www.micron.com/products/partdetail?part=MTFDCAE004SAF-1B1IT
Leider nur 10poliger USB Anschluss, ansonsten sehr interessant.

von Transcend gibt es auch Industrial Versionen mit ausführlicherem Datenblatt:
www.transcendusa.com/support/dlcenter/datasheet/TS512M~4GUFM-V_H0409.pdf
Sieht nach DualChannel SLC aus, leider auch 10poliger USB Stecker.

Interessante Links:
http://www.heise.de/ct/Die-Technik-der-Flash-Speicherkarten--/artikel/125983
http://www.heise.de/ct/Schnelle-Solid-State-Disks--/artikel/126494


----------



## Rainer Hönle (4 Oktober 2009)

Es gibt doch auch Industriefestplatten (ich glaube 1,8") in USB-Stickform, die sich auch wie ein Stick verhalten. Wäre das nicht eine Alternative?


----------



## rostiger Nagel (4 Oktober 2009)

ich hab mich im chat darüber unterhalten, er braucht
etwas absolut rüttelfestes. Das sind ziemlich rauhe 
bedingungen die er da hat.


----------



## eYe (4 Oktober 2009)

Schonmal über die neue SSD Technik nachgedacht?

http://www.preissuchmaschine.de/in-Festplatte/SSD-Diverse/Maxell-eSATA-USB-Flash-32GB.html
(Gibts sicher auch kleiner)


Industrielle SSD-Flash Speicher schaffen pro Zelle bis zu 5 Millionen Schreibzyklen und sind Flugschreibertauglich ^^

http://de.wikipedia.org/wiki/Solid_State_Drive


----------



## wwwandy (4 Oktober 2009)

eYe schrieb:


> Schonmal über die neue SSD Technik nachgedacht?



Die "neue SSD Technik" gibt es nicht. Auch ein USB Stick ist ein SSD und beide verwenden NAND oder NOR Flash als SLC oder MLC...
Wenn man nun mehrere dieser Flash Speicher parallel an einen IDE/SATA Controller hängt, kommt dein SSD dabei raus. Und ja, wie mein Ursprungsposting vermuten lässt habe ich mich mit der Materie auseinandergesetzt. Und andere Schnittstellen als USB und Ethernet habe ich nicht zur Verfügung. Mein einziger anderer Ausweg wäre NAS mit SSD, kostet aber und muss ich extern (außerhalb des IP67 Gehäuses) anbringen.

Trotzdem danke, Gruß von Andy


----------



## thomass5 (4 Oktober 2009)

Wenn NAS dann vielleicht das http://www.freenas.org/. Das läuft als embedded-Installation auch von CF-Card und dergleichen.
Da kannst Du auch erstmal Deinen USB-Stick anstecken und schauen ob er da auch "stirbt".
Hast Du schon mal an eine  RAMDISK gedacht? Und die Daten nur täglich auf nen Stick bringen als Backup?
Leztens hab ich nen Artikel gelesen, da wurde mit RAM eine HD nachgebildet mit Batterie/Akkupufferung.
Mal sehen ob ich das wiederfinde.
Thomas


----------



## RobiHerb (5 Oktober 2009)

*Zwischenspeichern!*

Die Sticks sind nicht für den Dauerschreibzugriff geeignet. Da hilft nur wie oben empfohlen das Anlegen von Arrays in der SPS und schreiben der gesammelten Daten periodisch nach einer Zeit x auf den Stick. Achtung, die SPS Zykluszeit kann sich beim Schreiben je nach Implementation des File Systems extrem verlängern. Manche File Systeme kommen auch mit dem dauernd neu Anlegen des Directorys ins Schleudern.

Wir hatten so ein Problem einmal in Lybien, da wurde alle Monat die Hardware getauscht und aus politischen/embargo Gründen zum "Service" (Austausch des Memory) nach Tunesien gebracht.


----------



## wwwandy (5 Oktober 2009)

RobiHerb schrieb:


> Die Sticks sind nicht für den Dauerschreibzugriff geeignet. Da hilft nur wie oben empfohlen das Anlegen von Arrays in der SPS und schreiben der gesammelten Daten periodisch nach einer Zeit x auf den Stick. ...



Sorry, aber ich würde mir echt wünschen, wenn man sich die Frage genau durchlesen würde, bevor man antwortet. Bitte nicht böse sein...
Eine SPS ist gar nicht im Spiel und das Sammeln von Daten ist Job des Betriebssystems mit seinem write cache und des wear levelings des controllers...


----------



## Ralle (5 Oktober 2009)

Es gibt ja noch FRAM, der sollte das können. Allerdings habe ich nirgends eine Hardware gefunden, die als Stick oder SSD oder Festplatte eingesetzt werden kann. Angeblich arbeitet man an einer SSD auf FRAM-Basis. wenn mich nicht alles täuscht, ist der größte FRAM-Chip bisher ein 4 MBit-Chip. Also würde es auch noch ein Platz und sicher auch ein Kostenproblem geben.


----------



## wwwandy (5 Oktober 2009)

Ralle schrieb:


> Es gibt ja noch FRAM, der sollte das können.



Hi Ralle,
von FRAM wird ja seit 8Jahren (wieder) gesprochen, aber ein Produkt damit ist mir noch nicht untergekommen.

Aber SLC NAND Flash sollte die Datenbank auch abkönnen, wenn die Datenbank und das Betriebssystem(und damit der Dateisystemtreiber) die Zugriffe vernünftig zwischenspeichert (unter Linux kein Problem, Stichwort "write cache") und der Controller auf dem USB Stick wear leveling sinnvoll unterstützt.

Gruß von Andy


----------



## Proxy (5 Oktober 2009)

Hi,

wie wäre eine SSD Festplatte?

http://www.samsung.com/global/business/semiconductor/products/flash/Products_FlashSSD.html

Es gibt die Festplatten auch beim Conrad kannst ja mal durchsehen

musst halt nur mit einen adapter auf ein USB port bringen 
z.b. mit http://www.conrad.de/goto.php?artikel=974903


----------



## Ralle (5 Oktober 2009)

Proxy schrieb:


> Hi,
> 
> wie wäre eine SSD Festplatte?
> 
> ...



Ne, den Vorschlag hatte eYe schon gebracht, das scheint für wwwandy auch nicht das Erhoffte zu bringen.


----------



## thomass5 (14 Oktober 2009)

Hallo,
hier der Artikel mit der Ramdisk:
http://internet.magnus.de/sicher-su...schnueffelei-so-wird-ihr-pc-eine-festung.html
falls es jemanden interessiert.
Thomas


----------



## Lars Weiß (22 November 2010)

Was ist denn eigentlich hieraus geworden ? Würde mich mal interessieren ...


----------



## wwwandy (29 Dezember 2010)

Lars Weiß schrieb:


> Was ist denn eigentlich hieraus geworden ? Würde mich mal interessieren ...



Hi Lars,
die ursprünglichen USB Stick sind alle rausgeflogen weil diese wohl einen Fehler in der Firmware hatten und daher das wear leveling nicht zuverlässig funktioniert hat. Ich habe mit neuen Sticks (die aus dem ersten Post) unter Linux diese mehrmals komplett mit Zufallszahlen beschrieben und gegengeprüft. Bei Einigen traten schon nach ca. 200 Zugriffen Fehler auf. Es gibt wohl wenige USB Sticks mit SLC Speicher (ggf. kann ich dir per EMail diese nennen) wobei die Verfügbarkeit fragbar war und die Dokumentation dazu schlecht.

Schlußendlich bin ich auf CF Karten von WesternDigital umgestiegen. Diese haben statisches wear leveling und ein CLI tool, mit dem man diese Informationen vom Controller auslesen kann. Man kann also die Anzahl der Schreibzugriffe, benutzte Spare Block usw. einsehen. Bei bedarf such ich die genaue Typenbezeichnung raus. Gruß Andy


----------

