[prev in list] [next in list] [prev in thread] [next in thread]
List: linaro-flashbench-results
Subject: Re: [Flashbench] Sandisk Extreme 16GB MicroSDHC - unclear results
From: Andrew Bradford <andrew () bradfordembedded ! com>
Date: 2014-08-11 11:44:04
Message-ID: 53E8AC84.2070108 () bradfordembedded ! com
[Download RAW message or body]
On 08/06/2014 02:50 PM, Marcel Partap wrote:
>> Finding the erase block size in order to align the partitions is more
>> important than the mkfs parameters and will make a much larger impact on
>> performance than setting ideal stride and stripe.
> [...]
>
>> Likely the card does not have an erase block size smaller than 2 MiB due
>> to the amount of flash in it, so 128 kiB is probably not the correct
>> erase block size. Most larger sized cards have 2, 4 or 8 MiB erase
>> blocks these days.
>
> Why then would there not be a step in timing difference at f.e. 2MiB?
SanDisk controllers are known to have fancy tricks which result in
better performance under certain loads, hiding the actual erase block
size may be a side effect. I don't really know the root cause but I
have seen this kind of behavior before.
>> It's probably easier for those who read this list to see raw output of
>> flashbench rather than looking at csv files or plots in order to assist
>> with interpreting your results.
>
> Here it is.
>> flashbench --count=1000 -a /dev/sdb --blocksize=$((1*1024))
>> align 4294967296 pre 611 µs on 799 µs post 615 µs diff 186 µs
>> align 2147483648 pre 615 µs on 792 µs post 619 µs diff 175 µs
>> align 1073741824 pre 608 µs on 812 µs post 613 µs diff 201 µs
>> align 536870912 pre 615 µs on 771 µs post 619 µs diff 153 µs
>> align 268435456 pre 607 µs on 774 µs post 612 µs diff 164 µs
>> align 134217728 pre 614 µs on 800 µs post 617 µs diff 185 µs
>> align 67108864 pre 614 µs on 799 µs post 618 µs diff 183 µs
>> align 33554432 pre 612 µs on 783 µs post 614 µs diff 171 µs
>> align 16777216 pre 607 µs on 748 µs post 613 µs diff 138 µs
>> align 8388608 pre 605 µs on 742 µs post 605 µs diff 137 µs
>> align 4194304 pre 603 µs on 749 µs post 608 µs diff 143 µs
>> align 2097152 pre 603 µs on 750 µs post 607 µs diff 146 µs
>> align 1048576 pre 601 µs on 741 µs post 603 µs diff 139 µs
>> align 524288 pre 603 µs on 767 µs post 615 µs diff 158 µs
>> align 262144 pre 597 µs on 747 µs post 604 µs diff 146 µs
>> align 131072 pre 606 µs on 751 µs post 611 µs diff 143 µs
>> align 65536 pre 603 µs on 705 µs post 609 µs diff 99.1 µs
>> align 32768 pre 606 µs on 694 µs post 595 µs diff 93.6 µs
>> align 16384 pre 601 µs on 703 µs post 604 µs diff 100 µs
>> align 8192 pre 614 µs on 613 µs post 611 µs diff 351ns
>> align 4096 pre 613 µs on 616 µs post 608 µs diff 5.19 µs
>> align 2048 pre 612 µs on 613 µs post 614 µs diff 276ns
>
> What would you make from that? The drop-off definitely is @128K...
Could be caching or intermediate SLC flash or the page size.
Try running with '--blocksize=$(3*1024)' and see if any noticeable
changes happen. Some SanDisk cards look like 1.5 MiB erase blocks and
this can be exposed with the 3072 blocksize.
Alternatively, you can do write testing and move the offset to span
where you think the erase block edges are and see if performance drops
off when crossing the erase block boundary. This is a better indicator
but takes much longer to do.
Thanks,
Andrew
_______________________________________________
Flashbench-results mailing list
Flashbench-results@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/flashbench-results
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic