PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schreibtransferrate bei USB 2.0 Speichersticks und vielen kleinen Dateien


Gast
2004-04-04, 11:26:43
Hallo,

mir ist aufgefallen, dass die Schreibtransferrate bei USB 2.0 Speichersticks (getestet: Fujitsu-Siemens Memorybird und Sharkoon Stick mit 512 bzw. 256 MB) extrem in die Knie geht, je mehr kleine Dateien geschrieben werden. D.h. schreibe ich eine große 10 MB Datei braucht er vielleicht 3 Sekunden, schreibe ich aber 100 mal 100k Dateien, die insgesamt auch 10 MB haben, dauert es um Welten länger. Woran liegt das? Overhead beim Verwalten der Zuordnungstabelle (FAT und FAT32 zeigen ähnliches Verhalten; wie kann ich NTFS ausprobieren? WindowsXP lässt mich nur FAT/FAT32 formatieren), Flash Technologie (nur warum geht dann der Transfer einer großen Datei so schnell?)?

Der aktivierte Schreibcache bringt hier keine wirkliche Verbesserung, da zwar der Explorer schneller fertig ist, der Transfer aber im Hintergrund genau so lange dauert (Blinken der Stick LED). Gibt es da irgendeine plausible Erklärung oder Lösung? Oder gibt es gar einen USB2.0 Stick, der diese Einschränkung nicht hat? Das Auslesen geht ja auch bei kleinen und großen Dateien recht flott mit 5-6MB/s, nur das Schreiben der kleinen Dateien bricht total ein. Am Rechner leigt es nicht, da das Verhalten auf verschiedenen Systemen beobachtbar ist.

Schonmal danke für die Antworten!

zeckensack
2004-04-04, 11:58:31
Flash-Speicher kann idR nur ganze Blöcke schreiben, und die sind recht gross (mindestens 64kiB, vielleicht mehr, bin da nicht auf dem neuesten Stand).

Könnte daran liegen, dass für jede kopierte Datei auch ein neuer Verzeichniseintrag angelegt werden muss, und dann werden eben jedes Mal 64k modifiziert.

Was für Transferraten erreichst du denn mit vielen kleineren Dateien?

Gast
2004-04-04, 16:31:20
Deine Vermutung teile ich. Es werden so ca. 400 - 450 kByte/s beim Schreiben erreicht (gegenüber pi mal Daumen dem über zehnfachen Lesewert der selben Dateien [beides ohne Cache]), was sich auf verschiedenen Plattformen und mit verschiedenen Sticks ähnlich ergibt, so dass es evtl. an der Flash Technologie liegen könnte. Und wenn ich nur eine große Datei schreibe, ist natürlich auch nur ein Eintrag in der Zuordnungstabelle nötig (Schreibrate liegt dann bei auch so um die 4 MB/s), d.h. die Verwaltung scheint das Problem zu sein, nicht so sehr der Schreibvorgang selber. Würde sich da bei NTFS was grundsätzliches gegenüber FAT(32) ändern? Wenn ja, wie kriegt man NTFS auf den Stick, wenn Windows es nicht anbietet? Vielleicht mit Linux, wobei Linux und NTFS? Gibt es da sonst noch Ideen? Die Clustergröße kann man ja leider nicht beliebig erhöhen, und außerdem wäre so der Verschnitt zu groß.
Die kleinen Dateien alle on-the fly zu packen und so nur ein großes Archivfile zu schreiben geht leider bei dem geplanten Einsatzzweck nicht.