# mount usb-stick mit sync > extrem langsam

## schrippe

hi,

wenn ich mit der option -o sync meinen memorystick mounte, sinkt die übertragungsrate auf ca. 20kb/s (gemessen mit mc).

er wird als highspeed device erkannt.  *Quote:*   

> usb-storage: device found at 8
> 
> usb-storage: waiting for device to settle before scanning
> 
>   Vendor: JetFlash  Model: TS256MJF2B        Rev: 2.00
> ...

 

kann das normal sein?

thx

----------

## mathes.s

Hi,

das ist normal, da er nach jedem Schreiben von Daten Bytes die Dateisystemtabelle aktuallisiert. Hiermit ist nicht gemeint das er die Tabelle aktualisiert wenn die Datei geschrieben wurde sondern bei jedem einzelen Byte. Und dies ist um längen langsamer als wenn du es ohne die sync Option mounten würdest, dann wird wohl erst die Tabelle geschrieben wenn du das Device unmountest. Ich hoffe das erklärts. Ich habe leider den Thread nicht mehr gefunden in dem auch Messwert standen. Die Sync Option wird auch erst seit Kernel 2.6.12 (glaube ich) überhaupt für vfat ausgewertet.

mfg Mathes

----------

## pir187

servus,

das problem hatte ich auch schon mal. damals hatte ich (kernel muß so ungefähr < 2.6.12 oder so gewesen sein) sync in der /etc/fstab angegeben und nach einem kernel-update war die übertragungsrate sehr viel niedriger als vorher. das lag daran, daß in vorigen kernels die sync-option gar nicht beachtet wurde und stets zwischengepuffert wurde. mit der neuen kernelversion wurde die option jedoch beachtet und verringerte wie gesagt die datenrate gewaltig.

dies nur am rande...

seit dem nutze ich sync nicht mehr und warte stets, bis der kopiervorgang vollständig abgeschlossen ist. dann erst entferne ich den stick. außerdem kann man den stick nicht eher unmounten, bevor der speicherinhalt nicht auch wirklich geschrieben wurde. zieht man den stick trotz fehlendem sync-flag vor dem regulärenende raus, ist datenverlust quasi vorprogrammiert 8( .

i love my linux system!

pir187

----------

## firefly

sync ist in zusammenhang mit usb-sticks mit fat böse.

denn dadurch wird recht schnell der stick unbrauchbar.

Das Problem bei Flash-speichern+Fat und die sync option(ab kernel 2.6.12) ist folgendes:

Jede Speicherzelle in einem Flashspeicher hat eine garantierte maximale überschreibbarkeit(in der regel etwa 1 -2 Mio mal).

Bei dem Fat-Fs wird bei jedem schreibvorgang(löschen, Daten draufschreiben oder überschreiben), die Änderung in der FAT(File Allocation Table) verzeichnet. Und das ist auch das Problem, welches Flash-speicher kaputt macht.

Da die FAT am anfang des Speicher liegt, wird dort schnell, wenn man viele daten schreibt/löscht(im synchronen betrieb), die maximale Beschreibbarkeit einiger Speicher-zellen überschritten und die sind dann meistens nicht mehr zu gebrauchen.

Dadurch ist die FAT defekt und dadurch ist der Speicher nicht mehr zu gebrauchen.

----------

## pir187

@firefly: hält ein usb-stick länger, wenn man ein anderes filesystem nutzt? wenn ja, welches fs wäre besser, um die lebensdauer zu erhöhen? haste da facts?

pir187

----------

## Anarcho

Rein aus dem Bauch herraus würde ich ext2 nehmen. Denn auch das schreiben des Journals ist nicht soo gut ausserdem braucht man bei den grössen keins.

----------

## nic0000

 *firefly wrote:*   

> Da die FAT am anfang des Speicher liegt, wird dort schnell, wenn man viele daten schreibt/löscht(im synchronen betrieb), die maximale Beschreibbarkeit einiger Speicher-zellen überschritten und die sind dann meistens nicht mehr zu gebrauchen.
> 
> Dadurch ist die FAT defekt und dadurch ist der Speicher nicht mehr zu gebrauchen.

 

Naja, der MBR ist davon nicht betroffen und somit lässt sich die Partition verkleinern um dann die FAT in einem heilen Bereich zu haben. Aber natürlich hast du recht, das hier ist keine wirkliche Lösung des Problems  :Wink: 

Generell sollt man bei Flashspeicher auf sync verzichten und dafür den Speicher ordentlich unmounten wenn er nicht gebraucht wird.

grüße

nico

----------

## amne

Weiss nicht wie bekannt das ist: Wenn man das Gerät nicht unmounten will aber trotzdem alle noch ausstehenden Daten schreiben will, einfach mal folgendes tippen (oder einen Button auf dem Desktop anlegen):

```
sync
```

----------

## Hypfvieh

Ja das is mir vor zeiten auch schon aufgefallen das es endslahm ist. Da bei mir umount einfach nicht praktikabel ist, da Kunden es von Windoze gewöhnt sind USB Sticks einfach so rauszuziehen, hab ich mal bei google nen bisschen gesucht. Ich bin da auf eine Lösungsmöglichkeit gestoßen. Die ist zwar net die schönste funzt dafür aber ohne großen umstand.

Und zwar folgendes: Das sync "Problem" ist erst seit Kernel 2.6.12, beim 2.6.11 waren noch die alten vfat module drin.

Ich hab jetzt einfach meinem derzeitigen Kernel (2.6.13-r5) mit den alten vfat modul gepatched.

Das geht so: 

1. Man besorgt sich die Kernelsourcen vom 2.6.11 Kernel (zb von Kernel.org)

2. kopiert man die Dateien bzw Verzeichnisse in seinen neuen Kernel (backup der alten net vergessen!):

    SOURCE-2.6.11/fs/vfat -> /usr/src/linux/fs/vfat

    SOURCE-2.6.11/fs/fat -> /usr/src/linux/fs/fat

    SOURCE-2.6.11/fs/msdos -> /usr/src/linux/fs/msdos

    SOURCE-2.6.11/include/linux/msdos_fs.h -> /usr/src/linux/include/linux/

3. baut seinen kernel mit make && make modules_install neu

Damit hat man dann nen "aktuellen Kernel" mit dem vfat modul vom 2.6.11 in dem das sync Problem noch nicht existiert hat. Das Modul verhält sich also wie das alte.

Ich weiß die Lösung ist nicht sehr elegant aber bei mir funzt sie ohne Problem  :Very Happy: 

----------

## pir187

@Hypfvieh: hast Du Deinen Kunden schon mal erzählt, daß es auch bei Windows durchaus ratsam ist, den Stick nicht gleich nach dem Kopieren "einfach so" rauszuziehen? Auch das tolle Windows  :Smile:  kopiert nach Schließen des Kopier-Dialogs noch fleißig weiter. Wenn man während dieser Zeit den Stick entfernt, gibt es genau so Datensalat wie unter Windows auch! Und auch beim tollen Windows sollte man den Stick vor Entfernen "unmounten". Nur daß das dort eben mit "Wechseldatenträger auswerfen" umschrieben ist.

Aber bei Windows denkt eben leider jeder, daß dies nicht der Fall ist - bis mal etwas schief geht!

pir187 *dersolcheineerfahrungschongemachthat*

----------

## Anarcho

Die Erfahrung von pir187 kann ich bestätigen. Nicht umsonst hat man in Windows diesen Dialog eingebaut. 

Zum Thema Kernel patchen:

So wie ich die Sache sehe reicht es doch aus einfach kein sync zu verwenden. Dann sollte es sich verhalten wie beim 2.6.11 Kernel. Daher ist kein patchen nötig.

----------

## Fauli

 *pir187 wrote:*   

> @firefly: hält ein usb-stick länger, wenn man ein anderes filesystem nutzt? wenn ja, welches fs wäre besser, um die lebensdauer zu erhöhen? haste da facts?

 

Besonders Flash-schonend ist JFFS2. Es lässt sich dafür aber auch beim Mounten besonders viel Zeit, da der Index (~FAT) gar nicht auf dem Datenträger gespeichert ist.  :Very Happy: 

----------

