# flashbench -a suggests 1 MB erase blocks, but later results suggest 2 MB arnd@wuerfel:~/flashbench$ sudo ./flashbench -a /dev/sdc --blocksize 1024 align 536870912 pre 543µs on 667µs post 544µs diff 124µs align 268435456 pre 546µs on 673µs post 546µs diff 127µs align 134217728 pre 540µs on 666µs post 544µs diff 123µs align 67108864 pre 535µs on 667µs post 540µs diff 130µs align 33554432 pre 545µs on 669µs post 544µs diff 124µs align 16777216 pre 537µs on 668µs post 537µs diff 131µs align 8388608 pre 541µs on 666µs post 544µs diff 124µs align 4194304 pre 544µs on 672µs post 547µs diff 127µs align 2097152 pre 557µs on 671µs post 547µs diff 120µs align 1048576 pre 547µs on 671µs post 546µs diff 124µs align 524288 pre 547µs on 666µs post 559µs diff 114µs align 262144 pre 541µs on 661µs post 539µs diff 121µs align 131072 pre 546µs on 664µs post 544µs diff 119µs align 65536 pre 546µs on 668µs post 560µs diff 115µs align 32768 pre 546µs on 669µs post 543µs diff 124µs align 16384 pre 544µs on 672µs post 549µs diff 125µs align 8192 pre 545µs on 668µs post 544µs diff 123µs align 4096 pre 544µs on 554µs post 547µs diff 8.64µs align 2048 pre 544µs on 548µs post 544µs diff 3.87µs
Disk /dev/sdc: 4 GB, 4013936640 bytes 255 heads, 63 sectors/track, 488 cylinders, total 7839720 sectors Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System /dev/sdc1 * 63 7846271 3927861 b FAT32
arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=1048576 /dev/sdc --blocksize=1024 1MiB 8.11M/s 512KiB 2.47M/s 256KiB 8.13M/s 128KiB 7.96M/s 64KiB 8.15M/s 32KiB 2.45M/s 16KiB 7.64M/s 8KiB 6.99M/s 4KiB 1.64M/s 2KiB 1.03M/s 1KiB 520K/s arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=4194304 /dev/sdc --blocksize=1024 4MiB 9.16M/s 2MiB 9.09M/s 1MiB 9.09M/s 512KiB 9.1M/s 256KiB 9.05M/s 128KiB 8.97M/s 64KiB 8.99M/s 32KiB 8.74M/s 16KiB 8.44M/s 8KiB 7.82M/s 4KiB 3.73M/s 2KiB 1.9M/s 1KiB 959K/s arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=1024 2MiB 5.2M/s 1MiB 5.66M/s 512KiB 9.22M/s 256KiB 9.29M/s 128KiB 9.16M/s 64KiB 9.17M/s 32KiB 8.88M/s 16KiB 8.58M/s 8KiB 7.97M/s 4KiB 3.79M/s 2KiB 1.9M/s 1KiB 964K/s
arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=1024 --open-au-nr=2 2MiB 9.44M/s 1MiB 9.38M/s 512KiB 9.27M/s 256KiB 9.25M/s 128KiB 9.17M/s 64KiB 9.22M/s 32KiB 8.96M/s 16KiB 8.56M/s 8KiB 7.94M/s 4KiB 3.8M/s 2KiB 1.9M/s 1KiB 963K/s
arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=1024 --open-au-nr=2 --random 2MiB 9.38M/s 1MiB 5.23M/s 512KiB 3.84M/s 256KiB 3.82M/s 128KiB 3.83M/s 64KiB 3.83M/s 32KiB 3.78M/s 16KiB 3.72M/s 8KiB 3.58M/s 4KiB 1.89M/s 2KiB 1.05M/s 1KiB 519K/s
arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/4] /dev/sdc --blocksize=8192 --open-au-nr=2 --random 1MiB 8.25M/s 512KiB 8.29M/s 256KiB 8.24M/s 128KiB 2.51M/s 64KiB 8.17M/s 32KiB 8.03M/s 16KiB 7.78M/s 8KiB 2.41M/s
arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=8192 --open-au-nr=4 2MiB 5.47M/s 1MiB 5.75M/s 512KiB 9.37M/s 256KiB 9.33M/s 128KiB 9.26M/s 64KiB 9.17M/s 32KiB 8.98M/s 16KiB 8.69M/s 8KiB 7.98M/s
# 6 * 2 MB is great in linear mode arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=8192 --open-au-nr=6 2MiB 9.42M/s 1MiB 6.56M/s 512KiB 9.4M/s 256KiB 9.29M/s 128KiB 9.22M/s 64KiB 9.24M/s 32KiB 9.02M/s 16KiB 8.68M/s 8KiB 7.95M/s
# More than 6 * 2 MB is not arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=8192 --open-au-nr=7 2MiB 5.16M/s 1MiB 4.16M/s 512KiB 1.58M/s 256KiB 833K/s 128KiB 434K/s 64KiB 223K/s 32KiB 113K/s 16KiB 56.7K/s ^C arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=8192 --open-au-nr=8 2MiB 9.42M/s 1MiB 4.62M/s 512KiB 1.58M/s 256KiB 831K/s ^C
# 6 * 2 MB is fine in random mode arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=8192 --open-au-nr=6 --random 2MiB 4.28M/s 1MiB 3.91M/s 512KiB 3.92M/s 256KiB 3.91M/s 128KiB 3.9M/s 64KiB 3.89M/s 32KiB 3.85M/s 16KiB 3.79M/s 8KiB 3.62M/s
# 7 * 2 MB breaks in random mode arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=8192 --open-au-nr=7 --random 2MiB 9.53M/s 1MiB 3.89M/s 512KiB 1.67M/s 256KiB 850K/s ^C
# Trying 6*4MB, also bad arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304] /dev/sdc --blocksize=8192 --open-au-nr=6 --random 4MiB 7.07M/s 2MiB 9.53M/s 1MiB 3.17M/s 512KiB 2.1M/s 256KiB 1.28M/s
# Trying 6 * 2 MB with offset 1 MB arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/2] /dev/sdc --blocksize=8192 --open-au-nr=6 --random --offset=$[17 * 1024 * 1024] 2MiB 2.88M/s 1MiB 3.57M/s 512KiB 1.62M/s 256KiB 1.1M/s 128KiB 686K/s ^C
# No special FAT area:
arnd@wuerfel:~/flashbench$ sudo ./flashbench --findfat --erasesize=$[4194304/2] /dev/sdc --blocksize=512 --random --fat-nr=6 2MiB 4.12M/s 9.48M/s 9.52M/s 9.53M/s 9.63M/s 9.53M/s 1MiB 8.2M/s 3.91M/s 3.91M/s 3.93M/s 3.92M/s 3.9M/s 512KiB 3.9M/s 3.92M/s 3.92M/s 3.92M/s 3.94M/s 3.89M/s 256KiB 3.9M/s 3.93M/s 3.89M/s 3.9M/s 3.92M/s 3.91M/s 128KiB 3.92M/s 3.88M/s 3.88M/s 3.9M/s 3.91M/s 3.9M/s 64KiB 3.88M/s 3.89M/s 3.9M/s 3.88M/s 3.84M/s 3.89M/s 32KiB 3.86M/s 3.84M/s 3.78M/s 3.8M/s 3.86M/s 3.85M/s 16KiB 3.77M/s 3.73M/s 3.74M/s 3.77M/s 3.74M/s 3.72M/s 8KiB 3.65M/s 3.59M/s 3.63M/s 3.65M/s 3.59M/s 3.6M/s 4KiB 1.65M/s 1.66M/s 1.7M/s 1.7M/s 1.7M/s 1.7M/s 2KiB 1.06M/s 1.06M/s 1.07M/s 1.07M/s 1.07M/s 1.07M/s 1KiB 527K/s 526K/s 523K/s 525K/s 521K/s 525K/s 512B 260K/s 261K/s 260K/s 260K/s 259K/s 260K/s
# looking for minimum alignment, 8KB arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/4] /dev/sdc --blocksize=8192 --open-au-nr=1 --random --offset=$[16 * 1024 * 1024 + 8192] 1MiB 8.48M/s 512KiB 8.34M/s 256KiB 8.49M/s 128KiB 2.52M/s 64KiB 8.47M/s 32KiB 8.15M/s 16KiB 7.99M/s 8KiB 2.41M/s
arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/4] /dev/sdc --blocksize=8192 --open-au-nr=1 --random --offset=$[16 * 1024 * 1024 + 4096] 1MiB 7.73M/s 512KiB 7.75M/s 256KiB 7.41M/s 128KiB 2.39M/s 64KiB 7.19M/s 32KiB 6.18M/s 16KiB 2.07M/s 8KiB 3.34M/s
arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/4] /dev/sdc --blocksize=8192 --open-au-nr=1 --random --offset=$[16 * 1024 * 1024 + 2048] 1MiB 7.72M/s 512KiB 2.44M/s 256KiB 7.44M/s 128KiB 7.12M/s 64KiB 7.09M/s 32KiB 2.26M/s 16KiB 4.73M/s 8KiB 1.73M/s arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/4] /dev/sdc --blocksize=8192 --open-au-nr=1 --random --offset=$[16 * 1024 * 1024 + 1024] 1MiB 7.85M/s 512KiB 7.52M/s 256KiB 7.27M/s 128KiB 2.4M/s 64KiB 7.17M/s 32KiB 6.24M/s 16KiB 2.06M/s 8KiB 3.34M/s arnd@wuerfel:~/flashbench$ sudo ./flashbench --open-au --erasesize=$[4194304/4] /dev/sdc --blocksize=8192 --open-au-nr=1 --random --offset=$[16 * 1024 * 1024 + 512] 1MiB 7.72M/s 512KiB 2.45M/s 256KiB 7.49M/s 128KiB 7.2M/s 64KiB 2.41M/s 32KiB 6.2M/s 16KiB 4.71M/s 8KiB 1.73M/s 2KiB 902K/s 1KiB 424K/s 512B 260K/s