hi
-> this card sucks, i think :) fast with wrong erase block and slow with correct(?) one.. ?-)
On 13/07/11 18:30, Arnd Bergmann wrote:
Another oddity that occasionally comes up:
[..]
This card must have 1.5 MB erase blocks! On all SD cards, the total size is a multiple of the erase block size, so yet another way of guessing the correct size is looking at the prime factors of the size.
ah yeah, clear. cool, good to know
If the erase block size is a multiple of three, the test does not work any more. It could work with ./flashbench -a /dev/sda3 --count=100 --blocksize=1536
it doesn't, i get: time_read: Invalid argument
$ ./flashbench /dev/sda3 --open-au-nr=1 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] 1.5MiB 4.84M/s 768KiB 928K/s 384KiB 1.31M/s 192KiB 2.37M/s 96KiB 1.34M/s 48KiB 2.28M/s 24KiB 1.27M/s 12KiB 1.45M/s 6KiB 817K/s 3KiB 765K/s 1.5KiB 419K/s
$ ./flashbench /dev/sda3 --open-au-nr=1 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] 1.5MiB 6.91M/s 768KiB 1.97M/s 384KiB 2.36M/s 192KiB 1.34M/s 96KiB 2.4M/s 48KiB 1.3M/s 24KiB 2.18M/s 12KiB 980K/s 6KiB 1.13M/s 3KiB 607K/s 1.5KiB 496K/s
$ ./flashbench /dev/sda3 --open-au-nr=5 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] 1.5MiB 1.7M/s 768KiB 1.14M/s 384KiB 884K/s 192KiB 864K/s 96KiB 885K/s 48KiB 877K/s 24KiB 793K/s 12KiB 761K/s 6KiB 673K/s 3KiB 611K/s ^C
$ ./flashbench /dev/sda3 --open-au-nr=4 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] 1.5MiB 1.41M/s 768KiB 1.25M/s 384KiB 1.07M/s 192KiB 1.04M/s 96KiB 1.07M/s 48KiB 1.04M/s 24KiB 911K/s 12KiB 873K/s 6KiB 761K/s ^C
$ ./flashbench /dev/sda3 --open-au-nr=3 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] 1.5MiB 1.81M/s 768KiB 1.53M/s 384KiB 1.56M/s 192KiB 1.57M/s 96KiB 1.59M/s 48KiB 1.56M/s 24KiB 1.44M/s 12KiB 1.21M/s 6KiB 999K/s 3KiB 695K/s 1.5KiB 513K/s
$ ./flashbench /dev/sda3 --open-au-nr=2 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] 1.5MiB 2.3M/s 768KiB 1.3M/s 384KiB 1.69M/s 192KiB 1.64M/s 96KiB 1.69M/s 48KiB 1.62M/s 24KiB 1.53M/s 12KiB 1.29M/s 6KiB 1.04M/s 3KiB 722K/s 1.5KiB 411K/s
-> only 1 is really good. 3 is acceptable if closing both eyes -> how come that with 4MiB 4 blocks was that good? -> erase-block must be a multiple of 1.5MiB, so makes no sense to try -> with 3.5MiB, right?
$ ./flashbench /dev/sda3 --open-au-nr=1 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] --random 1.5MiB 1.3M/s 768KiB 2.37M/s 384KiB 2.29M/s 192KiB 2.31M/s 96KiB 2.39M/s 48KiB 1.28M/s 24KiB 1.15M/s 12KiB 715K/s 6KiB 396K/s 3KiB 245K/s 1.5KiB 116K/s
$ ./flashbench /dev/sda3 --open-au-nr=3 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] --random 1.5MiB 1.76M/s 768KiB 1.16M/s 384KiB 1.08M/s 192KiB 624K/s 96KiB 342K/s 48KiB 225K/s 24KiB 130K/s 12KiB 68.4K/s 6KiB 33.4K/s ^C
$ ./flashbench /dev/sda3 --open-au-nr=2 -O --blocksize=$[1024+512] --erasesize=$[1024*1024 + 1024*512] --random 1.5MiB 7.85M/s 768KiB 1.08M/s 384KiB 2.3M/s 192KiB 1.02M/s 96KiB 1.05M/s 48KiB 613K/s 24KiB 328K/s 12KiB 206K/s 6KiB 120K/s ^C
-> so random pretty sucks also here
$ ./flashbench /dev/sda3 -f --erasesize=$[1024*1024+1024*512] --blocksize=$[1024+512] --random 1.5MiB 6.53M/s 6.81M/s 7.01M/s 6.79M/s 7.16M/s 6.74M/s 768KiB 1.12M/s 2.23M/s 2.34M/s 2.15M/s 2.34M/s 904K/s 384KiB 2.27M/s 2.1M/s 1.3M/s 7.94M/s 1.3M/s 2.34M/s 192KiB 2.38M/s 1.3M/s 2.35M/s 1.32M/s 2.36M/s 1.31M/s 96KiB 2.38M/s 1.3M/s 2.4M/s 1.29M/s 2.38M/s 1.29M/s 48KiB 2.32M/s 2.26M/s 2.32M/s 1.3M/s 2.26M/s 906K/s 24KiB 1.13M/s 1.18M/s 1.16M/s 1.17M/s 1.17M/s 839K/s 12KiB 721K/s 570K/s 711K/s 570K/s 713K/s 932K/s 6KiB 402K/s 399K/s 404K/s 389K/s 400K/s 394K/s 3KiB 214K/s 225K/s 213K/s 204K/s 209K/s 222K/s 1.5KiB 108K/s 106K/s 109K/s 110K/s 109K/s 115K/s
peter