[Flashbench] Results for Sandisk class 4 "SDHC card"
Arnd Bergmann
arnd at arndb.de
Thu Apr 7 14:23:05 UTC 2011
On Wednesday 06 April 2011, Sascha Silbe wrote:
> Excerpts from Arnd Bergmann's message of Tue Apr 05 00:17:14 +0200 2011:
> Ah, I see. Here we go:
>
> flashtest at flatty:~/flashbench$ time ./flashbench -a /dev/mmcblk[0-9] --blocksize=1024 --count=100 | tee ~/sandisk_a_1k.result
> align 402653184 pre 5.06ms on 5.99ms post 2.74ms diff 2.09ms
> align 268435456 pre 3.44ms on 3.8ms post 3.67ms diff 244µs
> align 201326592 pre 4.74ms on 5.83ms post 2.77ms diff 2.07ms
> align 134217728 pre 2.78ms on 2.89ms post 2.92ms diff 32.5µs
> align 100663296 pre 5.04ms on 5.65ms post 2.74ms diff 1.76ms
> align 67108864 pre 3.48ms on 3.71ms post 3.68ms diff 135µs
> align 50331648 pre 5.53ms on 5.93ms post 2.73ms diff 1.8ms
> align 33554432 pre 2.74ms on 2.89ms post 2.93ms diff 52.1µs
> align 25165824 pre 5.29ms on 5.66ms post 2.78ms diff 1.62ms
> align 16777216 pre 3.5ms on 3.79ms post 3.67ms diff 204µs
> align 12582912 pre 5.15ms on 5.77ms post 2.75ms diff 1.82ms
> align 8388608 pre 2.52ms on 2.69ms post 2.71ms diff 72.9µs
> align 6291456 pre 4.69ms on 5.46ms post 2.54ms diff 1.85ms
> align 4194304 pre 3.23ms on 3.46ms post 3.31ms diff 189µs
> align 3145728 pre 4.79ms on 5.41ms post 2.54ms diff 1.74ms
> align 2097152 pre 2.57ms on 2.72ms post 2.71ms diff 77.8µs
> align 1572864 pre 4.63ms on 5.81ms post 2.61ms diff 2.2ms
> align 1048576 pre 3.26ms on 3.49ms post 3.29ms diff 215µs
> align 786432 pre 3.28ms on 3.45ms post 2.58ms diff 524µs
> align 524288 pre 2.52ms on 2.69ms post 2.69ms diff 88µs
Ok, so all multiples of 1.5 MB are an order of magnitude slower in the "diff" column
than the others, which makes it clear that there is something going on at that
point. I should probably modify the test so that the 2 MB alignment actually does
6 MB, which would make it a superset of 1.5 and of 2.
(--random)
> Trying 10 open AUs:
> 1.5MiB 3.82M/s 2.9M/s 3.16M/s 2.39M/s 2.08M/s
> 768KiB 3.86M/s 3.13M/s 3.52M/s 4.11M/s 3.65M/s
> 384KiB 3.11M/s 3.57M/s 2.75M/s 2.72M/s 3.17M/s
> 192KiB 3.14M/s 2.98M/s 2.94M/s 3.08M/s 2.52M/s
> 96KiB 2.39M/s 2.15M/s 2.64M/s 2.03M/s 2.26M/s
> 48KiB 1.37M/s 1.32M/s 1.22M/s 1.18M/s 1.47M/s
> 24KiB 1.03M/s 1.29M/s 1.24M/s 1.48M/s 1.1M/s
> 12KiB 1.23M/s 1.36M/s 1.36M/s 1.14M/s 1.22M/s
> 6KiB 336K/s 334K/s 342K/s 354K/s 345K/s
> 3KiB 173K/s 166K/s 172K/s 175K/s 161K/s
> 1.5KiB 100K/s 96.4K/s 98.6K/s 96.9K/s 95.8K/s
(not random)
> Trying 10 open AUs:
> 1.5MiB 1.89M/s 3.13M/s 3.87M/s 4.99M/s 3.59M/s
> 768KiB 3.2M/s 3.91M/s 3.74M/s 3.07M/s 3.29M/s
> 384KiB 3.78M/s 2.61M/s 2.55M/s 3.17M/s 2.63M/s
> 192KiB 2.49M/s 3.1M/s 2.98M/s 3.09M/s 3.29M/s
> 96KiB 2.09M/s 2.45M/s 2.12M/s 2.07M/s 2.51M/s
> 48KiB 1.31M/s 1.35M/s 1.27M/s 1.35M/s 1.25M/s
> 24KiB 1.18M/s 982K/s 1.4M/s 1.33M/s 1.06M/s
> 12KiB 1.14M/s 1.33M/s 1.09M/s 1.06M/s 1.14M/s
> 6KiB 424K/s 488K/s 500K/s 444K/s 421K/s
> 3KiB 190K/s 185K/s 182K/s 200K/s 190K/s
> 1.5KiB 145K/s 144K/s 145K/s 143K/s 147K/s
>
>
> I'm afraid the numbers don't make much more sense to me than before. :-/
There are a few things that are notable here:
* The numbers for --random and not random are roughly the same, so you don't
really need to do both. I'd suggest running only --random tests.
* anything under 12 KB blocks is awfully slow, so you can probably speed
up the test process by running --blocksize=12
* The variance between the test runs has significantly gone down, which is
a good sign.
* You did not try any larger values for --open-au-nr=. Since the blocksize
is relatively small, it is possible that the number of open AUs is much
higher on this card. Try a much larger value (e.g. 32) once to see if
you get a radical change, then go smaller from there. You don't really
need to try every value for open-au-nr, finding the cut-off is the
interesting one.
* It is possible that this card has a fully log-structured approach,
which would mean that there actually is no cut-off but that it simply gets
gradually slower with more open AUs. I have no programmatic way to find
these yet.
Arnd
More information about the Flashbench-results
mailing list