On Wednesday 05 September 2012, Jaroslav Martínek wrote:
Dne Út 4. září 2012 06:46:06 jste napsal(a):
On Monday 03 September 2012, Jaroslav Martínek wrote:
# Quite shaky speeds, but again, no more than 3 open AUs with 16 MB erase blocks
$ sudo flashbench /dev/sdb --open-au --erasesize=$[8*1024*1024] -- blocksize=$[8*1024] --open-au-nr=1 --random 8MiB 18.2M/s 4MiB 17.9M/s 2MiB 17.7M/s 1MiB 17.6M/s 512KiB 17.3M/s 256KiB 15.9M/s 128KiB 15.6M/s 64KiB 13.2M/s 32KiB 10M/s 16KiB 6.41M/s 8KiB 1.71M/s
$ sudo flashbench /dev/sdb --open-au --erasesize=$[8*1024*1024] -- blocksize=$[8*1024] --open-au-nr=3 --random Password: 8MiB 4.71M/s 4MiB 19M/s 2MiB 18.2M/s 1MiB 17.1M/s 512KiB 16.8M/s 256KiB 15.7M/s 128KiB 14.6M/s 64KiB 13.1M/s 32KiB 9.4M/s 16KiB 6.13M/s 8KiB 1.62M/s
$ sudo flashbench /dev/sdb --open-au --erasesize=$[8*1024*1024] -- blocksize=$[8*1024] --open-au-nr=4 --random Password: 8MiB 2.28M/s 4MiB 2.14M/s 2MiB 2.42M/s 1MiB 1.6M/s 512KiB 1.1M/s 256KiB 651K/s ^C
# With 8 MB erase blocks the numbers are much more stable, but still max 3 open AUs. Does this indicate something? Anyway, thanks for your time!
Yes, this is a clear indication that the device has at most 8 MB erase blocks, not 16 MB. And that's good!
It's also clear that it can do random access inside of each erase block.
To explain what happens here, doing random access over three 16 MB sections on a device that has 8 MB erase blocks in reality means that the device actually uses six 8 MB erase blocks, which it cannot handle.
It is still possible that the actual erase block size is smaller than 8 MB (in which case you would find that it can handle more than 3 blocks), or that the erase blocks are 12 MB.
If you like to find out for sure, you can run
# this is slow for 8 MB erase blocks but fast for 12 MB erase blocks sudo flashbench /dev/sdb --open-au --erasesize=$[8*1024*1024] --blocksize=$[8*1024] --open-au-nr=3 --random
# this is slow for 8 MB erase blocks but fast for 4 MB or 6 MB erase blocks sudo flashbench /dev/sdb --open-au --erasesize=$[4*1024*1024] --blocksize=$[8*1024] --open-au-nr=6 --random
# if the previous one was fast, this will be fast for 6 MB erase blocks but slow for 4 MB sudo flashbench /dev/sdb --open-au --erasesize=$[6*1024*1024] --blocksize=$[8*1024] --open-au-nr=6 --random
If you come to a result with the above, please also send the output of 'lsusb' so I have all the information to add to the wiki page.
Arnd