Hello again,
I have another device to test:
# Product info:
http://www.transcend-info.com/Products/CatList.asp?ModNo=274
$ lsusb
Bus 001 Device 006: ID 8564:1000
$ fdisk -l /dev/sdb
Disk /dev/sdb: 32.5 GB, 32451330048 bytes 16 heads, 48 sectors/track, 82528 cylinders, total 63381504 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/sdb1 * 18160 63381503 31681672 c W95 FAT32 (LBA)
# This is with factory partitioning
$ sudo flashbench -a /dev/sdb --blocksize=1024 --count=100 align 8589934592 pre 528µs on 603µs post 547µs diff 65.8µs align 4294967296 pre 523µs on 575µs post 522µs diff 52.5µs align 2147483648 pre 550µs on 635µs post 551µs diff 84.2µs align 1073741824 pre 573µs on 640µs post 565µs diff 71.2µs align 536870912 pre 543µs on 608µs post 562µs diff 55.3µs align 268435456 pre 536µs on 574µs post 530µs diff 40.9µs align 134217728 pre 558µs on 607µs post 549µs diff 53.1µs align 67108864 pre 532µs on 577µs post 515µs diff 53.6µs align 33554432 pre 568µs on 629µs post 561µs diff 64.6µs align 16777216 pre 536µs on 598µs post 533µs diff 63.4µs align 8388608 pre 556µs on 619µs post 556µs diff 62.7µs align 4194304 pre 566µs on 620µs post 539µs diff 67.5µs align 2097152 pre 565µs on 604µs post 567µs diff 38µs align 1048576 pre 568µs on 606µs post 567µs diff 38.7µs align 524288 pre 563µs on 602µs post 562µs diff 39.7µs align 262144 pre 567µs on 596µs post 551µs diff 37.5µs align 131072 pre 564µs on 594µs post 553µs diff 35.6µs align 65536 pre 553µs on 594µs post 563µs diff 35.3µs align 32768 pre 555µs on 596µs post 563µs diff 36.6µs align 16384 pre 557µs on 595µs post 566µs diff 33.4µs align 8192 pre 561µs on 572µs post 553µs diff 15.1µs align 4096 pre 556µs on 566µs post 565µs diff 6.04µs align 2048 pre 553µs on 565µs post 568µs diff 4.85µs
# Okay, I think this indicates 4MB erase blocks (and 16kB page size), so let's try it with open AUs
$ sudo flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] -- blocksize=$[4*1024] --open-au-nr=1 --random 4MiB 17.7M/s 2MiB 17.8M/s 1MiB 17.8M/s 512KiB 2.49M/s 256KiB 17.2M/s 128KiB 16M/s 64KiB 13M/s 32KiB 2.19M/s 16KiB 6.37M/s 8KiB 2.54M/s 4KiB 825K/s
$ sudo flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] -- blocksize=$[4*1024] --open-au-nr=4 --random Password: 4MiB 17.5M/s 2MiB 17.3M/s 1MiB 4.29M/s 512KiB 4.31M/s 256KiB 16.5M/s 128KiB 14.4M/s 64KiB 4M/s 32KiB 3.42M/s 16KiB 5.74M/s 8KiB 1.68M/s 4KiB 785K/s
$ sudo flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] -- blocksize=$[4*1024] --open-au-nr=6 --random 4MiB 17.5M/s 2MiB 17M/s 1MiB 3.47M/s 512KiB 16.5M/s 256KiB 16.4M/s 128KiB 13M/s 64KiB 3.24M/s 32KiB 8.26M/s 16KiB 5.68M/s 8KiB 1.3M/s 4KiB 786K/s
# Seems OK so far, but the speed randomly drops under different sizes between tests, sometimes it's a bit shaky like this:
$ sudo flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] -- blocksize=$[4*1024] --open-au-nr=6 --random 4MiB 5.8M/s 2MiB 17.3M/s 1MiB 3.47M/s 512KiB 15.9M/s 256KiB 5.52M/s 128KiB 12.8M/s 64KiB 3.24M/s 32KiB 8.19M/s 16KiB 3.43M/s 8KiB 1.52M/s 4KiB 775K/s
# Does this indicate something or it's just device's feature? # With more open AUs it's slow, also with bigger erase size
$ sudo flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] -- blocksize=$[4*1024] --open-au-nr=7 --random 4MiB 2.51M/s 2MiB 1.37M/s 1MiB 711K/s 512KiB 362K/s ^C
# Here it's clear...
$ sudo flashbench /dev/sdb --open-au --erasesize=$[8*1024*1024] -- blocksize=$[4*1024] --open-au-nr=6 --random 8MiB 5.93M/s 4MiB 4.38M/s 2MiB 17.4M/s 1MiB 4.34M/s 512KiB 16M/s 256KiB 4.21M/s 128KiB 13.8M/s 64KiB 3.97M/s 32KiB 8.26M/s 16KiB 2.88M/s
# But here I'm not sure, I think it should me much slower if the erase size is 4MB, becouse it would use two erase blocks. So maybe erase size is bigger than 4MB?
flashbench-results@lists.linaro.org