# need to disable write cache for meaningful tests $ sudo hdparm -W0 /dev/sdb
/dev/sdb: setting drive write-caching to 0 (off)
# erase size is 10 MB apparently, need a large count to get meaningful data $ sudo ./flashbench -a --blocksize=10240 /dev/sdb7 --count=1000 align 2013265920 pre 76.5µs on 77.4µs post 74.8µs diff 1.77µs align 1342177280 pre 61.1µs on 62.2µs post 61.3µs diff 989ns align 1006632960 pre 73.8µs on 74.9µs post 73.6µs diff 1.22µs align 671088640 pre 73.7µs on 74.8µs post 73.6µs diff 1.16µs align 503316480 pre 88.7µs on 89.8µs post 86.9µs diff 1.98µs align 335544320 pre 88.9µs on 90.8µs post 87µs diff 2.79µs align 251658240 pre 91.5µs on 92.7µs post 88.2µs diff 2.85µs align 167772160 pre 91.6µs on 92.7µs post 88µs diff 2.87µs align 125829120 pre 91.6µs on 92.5µs post 88µs diff 2.71µs align 83886080 pre 92µs on 92.9µs post 88.2µs diff 2.82µs align 62914560 pre 91.6µs on 92.6µs post 88.3µs diff 2.71µs align 41943040 pre 92.1µs on 92.7µs post 88.5µs diff 2.41µs align 31457280 pre 92µs on 92.9µs post 88.2µs diff 2.78µs align 20971520 pre 92.1µs on 92.9µs post 88.4µs diff 2.65µs align 15728640 pre 92.1µs on 92.1µs post 88.4µs diff 1.85µs align 10485760 pre 92.5µs on 93µs post 88.3µs diff 2.64µs align 7864320 pre 91.7µs on 91.8µs post 88.3µs diff 1.75µs align 5242880 pre 91.7µs on 91.8µs post 88.5µs diff 1.67µs align 3932160 pre 90µs on 89.2µs post 87.2µs diff 611ns align 2621440 pre 89.9µs on 89.1µs post 87.1µs diff 625ns align 1966080 pre 89.7µs on 89.2µs post 87.1µs diff 786ns align 1310720 pre 89.9µs on 89.2µs post 87.1µs diff 685ns align 983040 pre 90.1µs on 89.2µs post 87.2µs diff 489ns align 655360 pre 89.7µs on 88.9µs post 87µs diff 605ns align 491520 pre 89µs on 88.8µs post 86.9µs diff 827ns align 327680 pre 89.5µs on 89.1µs post 86.9µs diff 866ns align 245760 pre 92µs on 91.6µs post 88.4µs diff 1.44µs align 163840 pre 89.5µs on 89.1µs post 87.3µs diff 668ns align 122880 pre 89.2µs on 89.1µs post 87.1µs diff 923ns align 81920 pre 86.4µs on 86.5µs post 85.7µs diff 430ns align 61440 pre 86.1µs on 86µs post 85.9µs diff 1ns align 40960 pre 86.8µs on 86.6µs post 85.8µs diff 265ns align 30720 pre 85.5µs on 85.5µs post 87.3µs diff -866ns align 20480 pre 86.1µs on 86.1µs post 85.4µs diff 284ns
# page size is 32 KB $ sudo ./flashbench --open-au --open-au-nr=5 /dev/sdb7 --blocksize=512 --erasesize=$[1024 * 1024] 1MiB 75.8M/s 512KiB 80.4M/s 256KiB 67.5M/s 128KiB 59M/s 64KiB 43.4M/s 32KiB 28M/s 16KiB 15.5M/s 8KiB 8.48M/s 4KiB 4.25M/s 2KiB 2.18M/s 1KiB 1.1M/s 512B 553K/s
# similar numbers for using 10 MB: $ sudo ./flashbench --open-au --open-au-nr=1 /dev/sdb7 --blocksize=5120 --erasesize=$[10240 * 1024] 10MiB 70.9M/s 5MiB 73.8M/s 2.5MiB 76.8M/s 1.25MiB 77M/s 640KiB 71.9M/s 320KiB 80.5M/s 160KiB 60M/s 80KiB 54.5M/s 40KiB 36.5M/s 20KiB 19.6M/s 10KiB 9.92M/s 5KiB 5.28M/s
#trying larger number of open au: $ sudo ./flashbench --open-au /dev/sdb7 --blocksize=$[5120 * 8] --erasesize=$[10240 * 1024] --open-au-nr=2 10MiB 76.5M/s 5MiB 78M/s 2.5MiB 77.8M/s 1.25MiB 73.9M/s 640KiB 70.1M/s 320KiB 63.9M/s 160KiB 56.3M/s 80KiB 53.2M/s 40KiB 33M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdb7 --blocksize=$[5120 * 8] --erasesize=$[10240 * 1024] --open-au-nr=3 10MiB 79.1M/s 5MiB 79.1M/s 2.5MiB 79M/s 1.25MiB 73.2M/s 640KiB 68.6M/s 320KiB 63M/s 160KiB 60M/s 80KiB 54.6M/s 40KiB 33.1M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdb7 --blocksize=$[5120 * 8] --erasesize=$[10240 * 1024] --open-au-nr=4 10MiB 76.4M/s 5MiB 76.9M/s 2.5MiB 76.5M/s 1.25MiB 46.1M/s 640KiB 56.4M/s 320KiB 51M/s 160KiB 43.5M/s 80KiB 53.9M/s 40KiB 26.5M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdb7 --blocksize=$[5120 * 8] --erasesize=$[10240 * 1024] --open-au-nr=4 10MiB 78.4M/s 5MiB 78.5M/s 2.5MiB 54.5M/s 1.25MiB 58M/s 640KiB 54.7M/s 320KiB 44.7M/s 160KiB 44.4M/s 80KiB 41.1M/s 40KiB 30.5M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdb7 --blocksize=$[5120 * 8] --erasesize=$[10240 * 1024] --open-au-nr=4 10MiB 24.1M/s 5MiB 44.2M/s 2.5MiB 77.6M/s 1.25MiB 73.9M/s 640KiB 74.2M/s 320KiB 80.5M/s 160KiB 63.1M/s 80KiB 54.3M/s 40KiB 36.3M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdb7 --blocksize=$[5120 * 16] --erasesize=$[10240 * 1024] --open-au-nr=60 10MiB 64.4M/s 5MiB 70.2M/s 2.5MiB 78.4M/s 1.25MiB 71M/s 640KiB 60.4M/s 320KiB 69.9M/s arnd@klappe2:~/git/flashbench$ sudo ./flashbench --open-au /dev/sdb7 --blocksize=$[5120 * 16] --erasesize=$[10240 * 1024] --open-au-nr=130 10MiB 72.5M/s 5MiB 73.5M/s 2.5MiB 73.1M/s 1.25MiB 69M/s 640KiB 68.2M/s 320KiB 69.1M/s 160KiB 58.5M/s
Absolutely no effects can be measured based on number of open erase blocks.
Arnd