When you do:
dd if=somefile of=/dev/sdX bs=1024 count =10 with a magnetic Hard Disk, and if the disk has say
R/W multiple sector transfer: Max = 16 one can estimate that
16 * 512 = 8192 so setting a
block size of bs=8192 would be nice, because dd would output 8192 byte chunks that would go straight to the disk buffer with minimal command overhead.
However what happens when you use
dd with a USB stick? Will a write of 512 bytes result in multiple clusters/blocks much larger than 512bytes, getting erased or does the Linux USB driver handle this through cleverness? Will it write out 512 bytes by erasing 4096 bytes and then write out the next 512 bytes by nuking another 4096 bytes, ad infinitum?