On Monday 18 July 2011 19:44:18 Peter Warasin wrote:
On 18/07/11 17:03, Arnd Bergmann wrote:
I think what you see here is again an artifact of passign the wrong erasesize. Your test is with 6MB, while the card probably uses 1.5MB erase blocks. If it can have 5 1.5MB erase blocks open, doing random access within a 6 MB region consumes four of the five erase blocks, trying 4*6MB would need 16 erase blocks, which is way beyond the five it can handle.
ah ok. thought it's only the beginning of blocksize what you pass. so it affects the whole test if starting with a to big one (?)
./flashbench /dev/sda1 -O --open-au-nr=5 --erasesize=$[1024*1024+1024*512] --blocksize=3072 --random 1.5MiB 2.11M/s 768KiB 1.66M/s 384KiB 2.29M/s 192KiB 1.34M/s 96KiB 661K/s 48KiB 335K/s 24KiB 145K/s 12KiB 76.1K/s ^C
./flashbench /dev/sda1 -O --open-au-nr=1 --erasesize=$[1024*1024+1024*512] --blocksize=3072 --random 1.5MiB 1.26M/s 768KiB 2.2M/s 384KiB 2.93M/s 192KiB 1.26M/s 96KiB 2.27M/s 48KiB 1.23M/s 24KiB 1.15M/s 12KiB 701K/s 6KiB 396K/s 3KiB 211K/s
./flashbench /dev/sda1 -O --open-au-nr=4 --erasesize=$[1024*1024+1024*512] --blocksize=3072 --random 1.5MiB 3.25M/s 768KiB 1.83M/s 384KiB 1.74M/s 192KiB 1.62M/s 96KiB 828K/s 48KiB 479K/s 24KiB 217K/s 12KiB 118K/s 6KiB 57.9K/s 3KiB 29.9K/s
-> ok, still not really better, but 1 block is ok i would say
Yes, this is strange. I would have expected at least 3.
./flashbench /dev/sda -f --erasesize=$[1024*1024+1024*512] --blocksize=$[1024+512] --random --fat-nr=12 1.5MiB 6.46M/s 6.15M/s 2.11M/s 6.82M/s 2.29M/s 6.73M/s 6.5M/s 6.27M/s 6.45M/s 6.29M/s 6.47M/s 6.28M/s 768KiB 1.27M/s 2.31M/s 2.15M/s 2.3M/s 4.99M/s 2.25M/s 2.2M/s 2.3M/s 1.28M/s 2.3M/s 1.29M/s 2.23M/s 384KiB 2.32M/s 2.32M/s 2.31M/s 2.32M/s 1.27M/s 2.3M/s 2.26M/s 2.33M/s 1.31M/s 2.33M/s 1.3M/s 2.32M/s 192KiB 1.29M/s 2.32M/s 1.32M/s 2.33M/s 2.37M/s 1.3M/s 1.29M/s 2.37M/s 1.28M/s 2.37M/s 1.29M/s 2.37M/s 96KiB 1.32M/s 2.37M/s 1.29M/s 2.4M/s 2.37M/s 1.32M/s 1.31M/s 2.36M/s 1.3M/s 2.36M/s 1.31M/s 2.34M/s 48KiB 1.3M/s 2.26M/s 1.29M/s 2.32M/s 1.28M/s 1.3M/s 1.25M/s 2.35M/s 1.26M/s 2.35M/s 1.27M/s 2.3M/s 24KiB 838K/s 1.19M/s 1.16M/s 1.18M/s 1.2M/s 1.18M/s 1.18M/s 1.2M/s 1.18M/s 1.19M/s 1.18M/s 1.19M/s 12KiB 726K/s 577K/s 720K/s 722K/s 729K/s 735K/s 722K/s 725K/s 729K/s 692K/s 722K/s 724K/s 6KiB 360K/s 412K/s 414K/s 412K/s 407K/s 350K/s 360K/s 411K/s 360K/s 406K/s 361K/s 359K/s 3KiB 219K/s 218K/s 219K/s 221K/s 220K/s 219K/s 221K/s 218K/s 221K/s 204K/s 222K/s 220K/s 1.5KiB 115K/s 111K/s 115K/s 115K/s 114K/s 109K/s 108K/s 113K/s 109K/s 112K/s 111K/s 106K/s
-> nothing? seems still quite stable
Yes, I agree. There are still significant differences between the tests of each erase block, but it's probably not worth spending more time on getting to the bottom of this. The characteristics of the card seem ok, with a small erase block size, but it's rather slow to start with. As a TLC flash, it also won't last all that long, even if you treat it really well.
Arnd