Ein 16 GB Kingston USB Stick hatte es mir angetan: Für 25 Euro eine Sache, die man sich mal leisten kann.
Aus alter Erfahrung wollte ich natürlich sichergehen, dass der USB Stick auch die 16GB wirklich leistet – und zwar sicher. (Es gab Fälle in denen das USB Laufwerk eine größere Kapazität vorgegaukelt hat, als nachher drauf war. Und mein letztes 8 GB Thumbdrive ist nach zweimaligem völligen Beschreiben komplett kaputt gegangen.)
Ich habe also mit Linux Bordmitteln das Laufwerk füllen wollen, um dann zu testen, ob die Daten auch so wieder ausgelesen werden können.

Ich startete mit einem Gigabyte und erhöhte dann sukzessive die Datenmenge. Als alles tat, partitionierte ich den Stick neu und wollte damit „normal“ arbeiten. Ich war überrascht, denn die Geschwindigkeit war gefühlt extrem zäh. Irgendetwas konnte einfach nicht stimmen. Vielleicht eine falsche Blockgröße gewählt?
Der USB Stick brauchte wesentlich länger, mit Daten befüllt zu werden, als ich es von den „dd“ Experimenten erwartet hätte.
Nachdem auch ein Neustart des Rechners keine Änderung brachte, war ich verwirrt. (Und ich sollte mir für die Zukunft endlich merken, dass es bei mir noch nie geholfen hat, Linux Rechner neu zu starten, wenn sie nicht das taten, was ich erwartete.)

Das USB Laufwerk schien korrekt eingebunden:

sd 7:0:0:0: [sdb] 31309760 512-byte hardware sectors: (16.0 GB/14.9 GiB)
sd 7:0:0:0: [sdb] Write Protect is off
sd 7:0:0:0: [sdb] Mode Sense: 16 23 09 51
sd 7:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1

Dann kam mir eine Idee: Könnte es sein, dass ein partitionierter USB Stick deutlich langsamer ist, als ein Filesystem direkt auf dem Device?
Ein Test bringt Klarheit:

tkruse@helix:~/$ sudo dd if=sample.data of=/dev/sdb1 bs=1000 count=2000000
2000000+0 records in
2000000+0 records out
2000000000 bytes (2.0 GB) copied, 2059.02 s, 971 kB/s
tkruse@helix:~/$ sudo dd if=sample.data of=/dev/sdb bs=1000 count=2000000
2000000+0 records in
2000000+0 records out
2000000000 bytes (2.0 GB) copied, 877.241 s, 2.3 MB/s

Meine Theorie: Der Kingston USB Stick ist auf die Zugriffsmuster des FAT Dateisystems ohne separate Partition optimiert. Vermutlich führt die Paritionstabelle dazu, dass Schreibzugriffe durch den Versatz Blockgrenzen überlappen, und so Blöcke doppelt (bzw. dreifach) beschrieben werden müssen. Das erklärt auch die fast um Faktor drei schlechtere Performance des USB Stick mit Partitionstabelle.

Wieder etwas gelernt – und schnell das Dateisystem ohne Partitionen erzeugt.