manfid = 0x000003 and, oemid = 0x5344
$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=$[4 * 1024] align 2147483648 pre 3.47ms on 3.74ms post 2.81ms diff 601µs align 1073741824 pre 3.84ms on 3.99ms post 3.15ms diff 494µs align 536870912 pre 3.95ms on 4.05ms post 3.46ms diff 349µs align 268435456 pre 3.42ms on 3.68ms post 3.2ms diff 372µs align 134217728 pre 2.86ms on 3.13ms post 2.72ms diff 341µs align 67108864 pre 2.93ms on 3.35ms post 2.84ms diff 458µs align 33554432 pre 3.9ms on 4.34ms post 3.82ms diff 479µs align 16777216 pre 2.96ms on 3.23ms post 2.26ms diff 624µs align 8388608 pre 2.06ms on 2.66ms post 2.22ms diff 519µs align 4194304 pre 2.98ms on 3.31ms post 2.23ms diff 699µs align 2097152 pre 4.21ms on 4.5ms post 3.86ms diff 461µs align 1048576 pre 4.38ms on 4.63ms post 3.95ms diff 467µs align 524288 pre 3.03ms on 3.22ms post 2.85ms diff 280µs align 262144 pre 2.76ms on 2.98ms post 2.45ms diff 371µs align 131072 pre 2.47ms on 2.7ms post 2.48ms diff 228µs align 65536 pre 2.58ms on 2.97ms post 2.46ms diff 451µs align 32768 pre 2.48ms on 2.69ms post 2.5ms diff 194µs align 16384 pre 3.09ms on 3.28ms post 2.7ms diff 383µs align 8192 pre 2.78ms on 3.01ms post 2.76ms diff 238µs
Erase Block size assumed to be 4MB.
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au --random 4MiB 4.51M/s 2MiB 4.15M/s 1MiB 3.58M/s 512KiB 3.25M/s 256KiB 4.01M/s 128KiB 3.46M/s 64KiB 3.43M/s 32KiB 2.95M/s 16KiB 2.97M/s 8KiB 2.19M/s 4KiB 1.56M/s
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au 4MiB 4.11M/s 2MiB 3.01M/s 1MiB 2.95M/s 512KiB 2.72M/s 256KiB 2.52M/s 128KiB 2.57M/s 64KiB 3.36M/s 32KiB 2.68M/s 16KiB 2.3M/s 8KiB 1.8M/s 4KiB 1.51M/s
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=1 --random 4MiB 4.21M/s 2MiB 4.28M/s 1MiB 3.16M/s 512KiB 4.4M/s 256KiB 3.5M/s 128KiB 3.52M/s 64KiB 4.17M/s 32KiB 3.75M/s 16KiB 2.56M/s 8KiB 2.66M/s 4KiB 1.75M/s
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=1 4MiB 4.2M/s 2MiB 3.84M/s 1MiB 4.34M/s 512KiB 4.36M/s 256KiB 3.53M/s 128KiB 3.8M/s 64KiB 4.32M/s 32KiB 3.85M/s 16KiB 3.78M/s 8KiB 3.34M/s 4KiB 2.95M/s
It gave me a consistent throughput as long as upto 7 erase blocks were open. Performance with 8 open erase blocks is not that bad either.
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=7 --random 4MiB 3.73M/s 2MiB 3.02M/s 1MiB 3.14M/s 512KiB 2.88M/s 256KiB 2.48M/s 128KiB 2.34M/s 64KiB 2.16M/s 32KiB 1.96M/s 16KiB 1.55M/s 8KiB 1.04M/s 4KiB 1.01M/s
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=7 4MiB 3.4M/s 2MiB 3.1M/s 1MiB 3.01M/s 512KiB 3.12M/s 256KiB 2.91M/s 128KiB 2.87M/s 64KiB 2.58M/s 32KiB 2.78M/s 16KiB 2.37M/s 8KiB 1.85M/s 4KiB 1.28M/s
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=8 --random 4MiB 3.66M/s 2MiB 2.94M/s 1MiB 3.04M/s 512KiB 2.55M/s 256KiB 2.46M/s 128KiB 2.27M/s 64KiB 1.96M/s 32KiB 1.53M/s 16KiB 1.38M/s 8KiB 955K/s 4KiB 823K/s
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] --blocksize=$[4 * 1024] /dev/mmcblk0 --open-au-nr=8 4MiB 3.36M/s 2MiB 2.69M/s 1MiB 2.66M/s 512KiB 2.56M/s 256KiB 2.41M/s 128KiB 2.4M/s 64KiB 2.14M/s 32KiB 2.04M/s 16KiB 2.01M/s 8KiB 1.65M/s 4KiB 1.2M/s
flashbench-results@lists.linaro.org