[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Flashbench

On 04/18/2012 07:58 AM, Peter Easthope wrote:

On Sat, April 14, 2012 11:38 pm, Bob wrote:

8< snip 8<

... I haven't yet figured out
what open AUs are and what to do with them, I got slightly disheartened
when on my OCZ SSD drive it didn't seem to make any difference to speed
where I started the partition, I need to try again with a CF or SD card,
maybe it was a buffering thing.

How about AU = allocation unit?  No clear idea of
how this relates to the HDD sector or the Flash page.

From perusing the README it seems to be referring to the number of allocation units that can be open at any given moment without impacting performance too badly. [0] I don't know how any of that helps tho as I don't know what to do with that number, is there some-way of instructing the kernal to limit the number of open AUs?

My 32GB SanDisk Ultra SDHC card, starts to slow down with 6 open AUs

./flashbench -O --erasesize=$[8 * 1024 * 1024] --blocksize=$[256 * 1024] ${trg}  --open-au-nr=1 --random
8MiB    4.32M/s
4MiB    7.58M/s
2MiB    12.6M/s
1MiB    18.6M/s
512KiB  17.4M/s
256KiB  11.8M/s
./flashbench -O --erasesize=$[8 * 1024 * 1024] --blocksize=$[256 * 1024] ${trg}  --open-au-nr=3 --random
8MiB    9.27M/s
4MiB    18.9M/s
2MiB    18.9M/s
1MiB    18.7M/s
512KiB  17.5M/s
256KiB  11.7M/s
./flashbench -O --erasesize=$[8 * 1024 * 1024] --blocksize=$[256 * 1024] ${trg}  --open-au-nr=5 --random
8MiB    9.85M/s
4MiB    12.2M/s
2MiB    11.5M/s
1MiB    18.7M/s
512KiB  17.7M/s
256KiB  11.8M/s
./flashbench -O --erasesize=$[8 * 1024 * 1024] --blocksize=$[256 * 1024] ${trg}  --open-au-nr=6 --random
8MiB    11.6M/s
4MiB    12.6M/s
2MiB    14M/s
1MiB    12.8M/s
512KiB  7.64M/s
256KiB  6.38M/s
./flashbench -O --erasesize=$[8 * 1024 * 1024] --blocksize=$[256 * 1024] ${trg}  --open-au-nr=7 --random
8MiB    10.3M/s
4MiB    12.6M/s
2MiB    8.16M/s
1MiB    6.46M/s
512KiB  5.54M/s
256KiB  2.5M/s
./flashbench -O --erasesize=$[8 * 1024 * 1024] --blocksize=$[256 * 1024] ${trg}  --open-au-nr=8 --random
8MiB    8.93M/s
4MiB    12.4M/s
2MiB    7.76M/s
1MiB    6.12M/s
512KiB  3.26M/s
256KiB  2.02M/s

When / if I get time I'll condense this down a bit and send it into the flashbench mailing list.

This also helped.

Will aim to work on it again in late May or in June.

Thanks for the notes,          ... Peter E.

Thanks for the link, we'll get to the bottom of this in the end, hopefully someone who knows what's going on will put flashbench in the repositories with a good man page

[0] Some not very relevant musings. Since a hard-drive cannot physically do more than one I/O at once we simulate that ability by giving them clever controllers, buffers and command queues then we more or less treat them as a black box of storage. I don't know if an individual flash memory chip can perform multiple simultaneous I/O but even if it can't, if the SSD or memory card is based on more than one chip then the question becomes can the controller support simultaneous I/O.

Reply to: