On Wednesday 13 July 2011 19:16:09 Peter Warasin wrote:
hi
-> this card sucks, i think :) fast with wrong erase block and slow with correct(?) one.. ?-)
It's more likely that now your partitition is misaligned, because the start is not a multiple of 1.5MB.
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
Sorry, my fault. It needs to be --blocksize=3072 or a multiple of that. The reason for this is that O_DIRECT accesses need to be multiples of 512 byte aligned in Linux, and the test reads will be moved to half of --blocksize.
-> 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
I also forgot to mention that the --findfat test case is pointless on a partition. What it does is to write to the first few erase blocks in order to find the FAT optimized regions. If they exist, they are always on the beginning of the card, so never on the beginning of a later partition.
Arnd