Hi,
I grabbed a new flash drive yesterday, so I'm trying to sort out the eraseblock size to format it properly. I grabbed this one because it was on sale and has a small form factor. I'm planning to format half of it as swap so that I can plug it in to my tegra 2 tablet while compiling software that requires additional RAM (seamonkey and firefox at least require extra RAM for linking libxul and I don't want to swap a lot on my internal flash or sdcard).
Anyway, here's what I got from fdisk and flashbench:
Disk /dev/sdc: 8166 MB, 8166703104 bytes
256 heads, 63 sectors/track, 989 cylinders, total 15950592 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3072e18
Device Boot Start End Blocks Id System
/dev/sdc1 * 56 15950591 7975268 c W95 FAT32 (LBA)
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -a /dev/sdc --blocksize=1024
align 2147483648 pre 494µs on 491µs post 494µs diff -2812ns
align 1073741824 pre 487µs on 491µs post 491µs diff 1.68µs
align 536870912 pre 491µs on 492µs post 493µs diff 204ns
align 268435456 pre 507µs on 528µs post 511µs diff 19.4µs
align 134217728 pre 507µs on 526µs post 510µs diff 17.5µs
align 67108864 pre 508µs on 524µs post 505µs diff 17.8µs
align 33554432 pre 508µs on 547µs post 507µs diff 39.3µs
align 16777216 pre 494µs on 510µs post 494µs diff 16.5µs
align 8388608 pre 511µs on 531µs post 508µs diff 21.6µs
align 4194304 pre 505µs on 530µs post 507µs diff 24µs
align 2097152 pre 507µs on 526µs post 508µs diff 17.8µs
align 1048576 pre 509µs on 534µs post 513µs diff 22.9µs
align 524288 pre 508µs on 529µs post 507µs diff 21.5µs
align 262144 pre 508µs on 527µs post 508µs diff 19µs
align 131072 pre 510µs on 525µs post 512µs diff 13.9µs
align 65536 pre 511µs on 531µs post 512µs diff 19.1µs
align 32768 pre 509µs on 530µs post 506µs diff 22.1µs
align 16384 pre 506µs on 531µs post 507µs diff 24.4µs
align 8192 pre 505µs on 509µs post 511µs diff 1.13µs
align 4096 pre 506µs on 509µs post 504µs diff 4.08µs
align 2048 pre 509µs on 508µs post 506µs diff 882ns
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc
4MiB 26.1M/s
2MiB 22.6M/s
1MiB 22.9M/s
512KiB 21M/s
256KiB 19.9M/s
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=2
4MiB 22.8M/s
2MiB 22.8M/s
1MiB 22.8M/s
512KiB 21.7M/s
256KiB 19.8M/s
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=3
4MiB 10.4M/s
2MiB 10.2M/s
1MiB 23.3M/s
512KiB 21.2M/s
256KiB 20.2M/s
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=4
4MiB 4.28M/s
2MiB 2.05M/s
1MiB 2.94M/s
512KiB 2.56M/s
256KiB 2.97M/s
root@porteus:~/Downloads/flashbench-2e30b19#
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[2 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=4 --random
2MiB 2.19M/s
1MiB 1.29M/s
512KiB 1.75M/s
^C^[[A
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=4 --random
4MiB 2.53M/s
2MiB 2.11M/s
1MiB 2.97M/s
512KiB 2.6M/s
256KiB 1.44M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=3 --random
4MiB 4.27M/s
2MiB 6.6M/s
1MiB 10.6M/s
512KiB 6.56M/s
256KiB 10.1M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=2 --random
4MiB 4.9M/s
2MiB 8.12M/s
1MiB 8.43M/s
512KiB 4.91M/s
256KiB 21.5M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=1 --random
4MiB 5.1M/s
2MiB 4.82M/s
1MiB 26.7M/s
512KiB 5.01M/s
256KiB 4.72M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19#
I had a hard time determining the eraseblock size from the '-a' test; the numbers seemed to keep jumping around on me. I assumed that I was dealing with 4mb eraseblocks (but was kind of a guess on my part, since most of my other devices are 4mb), and testing the open-au's seemed to confirm this (in my mind anyway) as going to 8, 16, or 32 MB erasesizes slowed down quite a bit, even with only one au.