[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