I am not subscribed to linaro-dev, so please Cc me in case you drop flashbench-results
mailinglist from receivers.
Hi Arnd, hi everyone!
For now quick and short.
A simple script to automate common steps on reporting flash medium test
results. It goes as far as read tests for erase block size and then suggests
some open au tests together with a warning that these write to the device.
I checked other flashbench-results posts as to what info would be
interesting.
Find it at:
git://gitorious.org/flashbench/flashbench.git
Example output is at:
[Flashbench] Samsung Plus MB-SPAGFFP Class 10 SDHC 16GB
Sat Dec 1 16:02:18 UTC 2012
http://lists.linaro.org/pipermail/flashbench-results/2012-December/000346.h…
Sorry that I occupied flashbench upstream name for project. I can look
into renaming it to "flashbench-martin" or something like that.
The script is in branch "flashreport".
In branch "defaultblocksize" you find a currently untested patch for
changing default block size to 1024.
I can try to send patches as mails via git, but I´d have to look it up first,
since I do this quite rarely.
Up to then please use the repo urls :)
Nice weekend,
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
Hi,
I grabbed a new flash drive yesterday, so I'm trying to sort out the
eraseblock size to format it properly. I grabbed this one because it was
on sale and has a small form factor. I'm planning to format half of it as
swap so that I can plug it in to my tegra 2 tablet while compiling software
that requires additional RAM (seamonkey and firefox at least require extra
RAM for linking libxul and I don't want to swap a lot on my internal flash
or sdcard).
Anyway, here's what I got from fdisk and flashbench:
Disk /dev/sdc: 8166 MB, 8166703104 bytes
256 heads, 63 sectors/track, 989 cylinders, total 15950592 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3072e18
Device Boot Start End Blocks Id System
/dev/sdc1 * 56 15950591 7975268 c W95 FAT32 (LBA)
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -a /dev/sdc
--blocksize=1024
align 2147483648 pre 494µs on 491µs post 494µs diff -2812ns
align 1073741824 pre 487µs on 491µs post 491µs diff 1.68µs
align 536870912 pre 491µs on 492µs post 493µs diff 204ns
align 268435456 pre 507µs on 528µs post 511µs diff 19.4µs
align 134217728 pre 507µs on 526µs post 510µs diff 17.5µs
align 67108864 pre 508µs on 524µs post 505µs diff 17.8µs
align 33554432 pre 508µs on 547µs post 507µs diff 39.3µs
align 16777216 pre 494µs on 510µs post 494µs diff 16.5µs
align 8388608 pre 511µs on 531µs post 508µs diff 21.6µs
align 4194304 pre 505µs on 530µs post 507µs diff 24µs
align 2097152 pre 507µs on 526µs post 508µs diff 17.8µs
align 1048576 pre 509µs on 534µs post 513µs diff 22.9µs
align 524288 pre 508µs on 529µs post 507µs diff 21.5µs
align 262144 pre 508µs on 527µs post 508µs diff 19µs
align 131072 pre 510µs on 525µs post 512µs diff 13.9µs
align 65536 pre 511µs on 531µs post 512µs diff 19.1µs
align 32768 pre 509µs on 530µs post 506µs diff 22.1µs
align 16384 pre 506µs on 531µs post 507µs diff 24.4µs
align 8192 pre 505µs on 509µs post 511µs diff 1.13µs
align 4096 pre 506µs on 509µs post 504µs diff 4.08µs
align 2048 pre 509µs on 508µs post 506µs diff 882ns
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O
--erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc
4MiB 26.1M/s
2MiB 22.6M/s
1MiB 22.9M/s
512KiB 21M/s
256KiB 19.9M/s
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O
--erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc
--open-au-nr=2
4MiB 22.8M/s
2MiB 22.8M/s
1MiB 22.8M/s
512KiB 21.7M/s
256KiB 19.8M/s
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O
--erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc
--open-au-nr=3
4MiB 10.4M/s
2MiB 10.2M/s
1MiB 23.3M/s
512KiB 21.2M/s
256KiB 20.2M/s
root@porteus:~/Downloads/flashbench-2e30b19# ./flashbench -O
--erasesize=$[4 * 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc
--open-au-nr=4
4MiB 4.28M/s
2MiB 2.05M/s
1MiB 2.94M/s
512KiB 2.56M/s
256KiB 2.97M/s
root@porteus:~/Downloads/flashbench-2e30b19#
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[2
* 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=4 --random
2MiB 2.19M/s
1MiB 1.29M/s
512KiB 1.75M/s
^C^[[A
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4
* 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=4 --random
4MiB 2.53M/s
2MiB 2.11M/s
1MiB 2.97M/s
512KiB 2.6M/s
256KiB 1.44M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4
* 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=3 --random
4MiB 4.27M/s
2MiB 6.6M/s
1MiB 10.6M/s
512KiB 6.56M/s
256KiB 10.1M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4
* 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=2 --random
4MiB 4.9M/s
2MiB 8.12M/s
1MiB 8.43M/s
512KiB 4.91M/s
256KiB 21.5M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19# ./flashbench -O --erasesize=$[4
* 1024 * 1024] --blocksize=$[256 * 1024] /dev/sdc --open-au-nr=1 --random
4MiB 5.1M/s
2MiB 4.82M/s
1MiB 26.7M/s
512KiB 5.01M/s
256KiB 4.72M/s
root@porteus:/mnt/sdb2/flashbench-2e30b19#
I had a hard time determining the eraseblock size from the '-a' test; the
numbers seemed to keep jumping around on me. I assumed that I was dealing
with 4mb eraseblocks (but was kind of a guess on my part, since most of my
other devices are 4mb), and testing the open-au's seemed to confirm this
(in my mind anyway) as going to 8, 16, or 32 MB erasesizes slowed down
quite a bit, even with only one au.
I'd consider myself a novice at all of this; if you'd like me to run some
additional testing with different parameters, just let me know. For now,
I'm assuming 4mb eraseblocks, with no offset (not sure how to confirm
that), 16kb page size, with 2 linear and 2 or 3 random au's.
Thanks!