[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