[root@buildroot mmc1]#head /sys/block/mmcblk1/device/* 2>/dev/null | grep -v ^$ ==> /sys/block/mmcblk1/device/block <==mmcblk1/device/* 2>/dev/null | grep -v ^$ ==> /sys/block/mmcblk1/device/cid <== 035344535530344780114a9d6000b967 ==> /sys/block/mmcblk1/device/csd <== 400e00325b5900001d8a7f800a4040b9 ==> /sys/block/mmcblk1/device/date <== 09/2011 ==> /sys/block/mmcblk1/device/driver <== ==> /sys/block/mmcblk1/device/erase_size <== 512 ==> /sys/block/mmcblk1/device/fwrev <== 0x0 ==> /sys/block/mmcblk1/device/hwrev <== 0x8 ==> /sys/block/mmcblk1/device/manfid <== 0x000003 ==> /sys/block/mmcblk1/device/name <== SU04G ==> /sys/block/mmcblk1/device/oemid <== 0x5344 ==> /sys/block/mmcblk1/device/power <== ==> /sys/block/mmcblk1/device/preferred_erase_size <== 4194304 ==> /sys/block/mmcblk1/device/scr <== 0235800100000000 ==> /sys/block/mmcblk1/device/serial <== 0x114a9d60 ==> /sys/block/mmcblk1/device/subsystem <== ==> /sys/block/mmcblk1/device/type <== SD ==> /sys/block/mmcblk1/device/uevent <== DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=SU04G MODALIAS=mmc:block
[root@buildroot mmc1]# ./flashbench -a /dev/mmcblk1 --blocksize=1024 align 1073741824 pre 1.16ms on 1.36ms post 1.07ms diff 248µs align 536870912 pre 1.1ms on 1.33ms post 990µs diff 279µs align 268435456 pre 1.12ms on 1.33ms post 1.02ms diff 259µs align 134217728 pre 1.22ms on 1.46ms post 1.09ms diff 307µs align 67108864 pre 1.21ms on 1.46ms post 1.08ms diff 312µs align 33554432 pre 1.27ms on 1.54ms post 1.11ms diff 351µs align 16777216 pre 1.19ms on 1.47ms post 1.07ms diff 344µs align 8388608 pre 1.13ms on 1.4ms post 1.08ms diff 294µs align 4194304 pre 1.01ms on 1.23ms post 1ms diff 227µs align 2097152 pre 1.02ms on 1.14ms post 1.02ms diff 122µs align 1048576 pre 1.06ms on 1.18ms post 1.06ms diff 120µs align 524288 pre 1.06ms on 1.18ms post 1.06ms diff 124µs align 262144 pre 1.06ms on 1.18ms post 1.06ms diff 118µs align 131072 pre 1.06ms on 1.17ms post 1.06ms diff 116µs align 65536 pre 1.01ms on 1.12ms post 1.01ms diff 116µs align 32768 pre 1.06ms on 1.19ms post 1.09ms diff 120µs align 16384 pre 1.06ms on 1.22ms post 1.06ms diff 159µs align 8192 pre 1.07ms on 1.12ms post 1.07ms diff 52.3µs align 4096 pre 1.07ms on 1.12ms post 1.06ms diff 50.1µs align 2048 pre 1.07ms on 1.12ms post 1.07ms diff 48µs
##4MB Erase block size, 8KB pages
[root@buildroot ~]# ./openau.sh ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=1 4MiB 2.5M/s 2MiB 7.27M/s 1MiB 3.94M/s 512KiB 4.37M/s 256KiB 17M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=2 4MiB 6.42M/s 2MiB 20M/s 1MiB 19.2M/s 512KiB 19.1M/s 256KiB 18.2M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=3 4MiB 6.78M/s 2MiB 6.26M/s 1MiB 19.2M/s 512KiB 19.2M/s 256KiB 18.2M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=4 4MiB 11.6M/s 2MiB 4.94M/s 1MiB 9.83M/s 512KiB 7.49M/s 256KiB 7.38M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=5 4MiB 9.32M/s 2MiB 9.03M/s 1MiB 3.71M/s 512KiB 3.68M/s 256KiB 3.51M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=6 4MiB 6.07M/s 2MiB 3.12M/s 1MiB 2.37M/s 512KiB 3.04M/s 256KiB 2.92M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=7 4MiB 4.53M/s 2MiB 2.83M/s 1MiB 1.97M/s 512KiB 2.16M/s 256KiB 3.04M/s
##Difficult to comprehend results here. Try with --random [root@buildroot ~]# ./openau.sh --random ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=1 --random 4MiB 2.62M/s 2MiB 6.15M/s 1MiB 3.75M/s 512KiB 4.3M/s 256KiB 9.04M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=2 --random 4MiB 6.21M/s 2MiB 19.9M/s 1MiB 19.4M/s 512KiB 17.8M/s 256KiB 9.2M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=3 --random 4MiB 8.62M/s 2MiB 19.9M/s 1MiB 19.2M/s 512KiB 17.7M/s 256KiB 9.21M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=4 --random 4MiB 6.87M/s 2MiB 11.2M/s 1MiB 10.2M/s 512KiB 4.9M/s 256KiB 3.94M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=5 --random 4MiB 6.47M/s 2MiB 4.42M/s 1MiB 3.73M/s 512KiB 3.02M/s 256KiB 1.52M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=6 --random 4MiB 5.12M/s 2MiB 3.14M/s 1MiB 2.17M/s 512KiB 1.7M/s 256KiB 1.1M/s
##Much better. open-au = 3 ?
[root@buildroot ~]#./flashbench --findfat --fat-nr=6 /dev/mmcblk1 --blocksize=$[8*1024] --erasesize=$[4*1024*1024] 4MiB 20.4M/s 6.67M/s 10M/s 5.26M/s 18.1M/s 5.28M/s 2MiB 5.12M/s 6.62M/s 9.83M/s 5.26M/s 18.1M/s 5.23M/s 1MiB 5.06M/s 6.32M/s 9.84M/s 5.23M/s 17.8M/s 5.09M/s 512KiB 5.02M/s 6.31M/s 9.81M/s 5.2M/s 17.4M/s 5.19M/s 256KiB 4.97M/s 6.12M/s 10.1M/s 5.14M/s 17.4M/s 5.14M/s 128KiB 4.87M/s 5.7M/s 10.8M/s 5.03M/s 16.6M/s 5.01M/s 64KiB 4.76M/s 4.93M/s 13.2M/s 4.85M/s 16M/s 4.84M/s 32KiB 4.48M/s 4.52M/s 12.7M/s 4.52M/s 13.8M/s 4.51M/s 16KiB 3.92M/s 3.81M/s 9.46M/s 3.97M/s 9.66M/s 3.94M/s 8KiB 2.97M/s 2.88M/s 5.26M/s 2.96M/s 5.25M/s 2.93M/s
##Once more 4MiB 5.28M/s 16.8M/s 20.6M/s 20.4M/s 5.26M/s 5.1M/s 2MiB 5.09M/s 17M/s 20.7M/s 5.28M/s 5.13M/s 5.1M/s 1MiB 5.1M/s 17.8M/s 19.7M/s 5.22M/s 5.07M/s 5.09M/s 512KiB 5.03M/s 16.5M/s 19.2M/s 5.23M/s 5.09M/s 5.08M/s 256KiB 5M/s 16.3M/s 18.8M/s 5.17M/s 5M/s 5.03M/s 128KiB 4.9M/s 15.5M/s 17.7M/s 4.98M/s 4.91M/s 4.96M/s 64KiB 4.76M/s 14.4M/s 16.2M/s 4.86M/s 4.83M/s 4.86M/s 32KiB 4.51M/s 12.3M/s 13.8M/s 4.54M/s 4.55M/s 4.5M/s 16KiB 3.96M/s 8.69M/s 9.59M/s 3.98M/s 3.98M/s 3.92M/s 8KiB 2.96M/s 4.96M/s 5.24M/s 2.95M/s 2.99M/s 2.96M/s
##FAT table area is just in the 2nd and 3rd Erase block (8MB) ?
On Thu, 5 Jul 2012 18:07:52 +0530 Venkatraman S venkat@linaro.org wrote:
[root@buildroot mmc1]# ./flashbench -a /dev/mmcblk1 --blocksize=1024 align 1073741824 pre 1.16ms on 1.36ms post 1.07ms diff 248µs align 536870912 pre 1.1ms on 1.33ms post 990µs diff 279µs align 268435456 pre 1.12ms on 1.33ms post 1.02ms diff 259µs align 134217728 pre 1.22ms on 1.46ms post 1.09ms diff 307µs align 67108864 pre 1.21ms on 1.46ms post 1.08ms diff 312µs align 33554432 pre 1.27ms on 1.54ms post 1.11ms diff 351µs align 16777216 pre 1.19ms on 1.47ms post 1.07ms diff 344µs align 8388608 pre 1.13ms on 1.4ms post 1.08ms diff 294µs align 4194304 pre 1.01ms on 1.23ms post 1ms diff 227µs align 2097152 pre 1.02ms on 1.14ms post 1.02ms diff 122µs align 1048576 pre 1.06ms on 1.18ms post 1.06ms diff 120µs align 524288 pre 1.06ms on 1.18ms post 1.06ms diff 124µs align 262144 pre 1.06ms on 1.18ms post 1.06ms diff 118µs align 131072 pre 1.06ms on 1.17ms post 1.06ms diff 116µs align 65536 pre 1.01ms on 1.12ms post 1.01ms diff 116µs align 32768 pre 1.06ms on 1.19ms post 1.09ms diff 120µs align 16384 pre 1.06ms on 1.22ms post 1.06ms diff 159µs align 8192 pre 1.07ms on 1.12ms post 1.07ms diff 52.3µs align 4096 pre 1.07ms on 1.12ms post 1.06ms diff 50.1µs align 2048 pre 1.07ms on 1.12ms post 1.07ms diff 48µs
##4MB Erase block size, 8KB pages
I would read that as 16 KiB pages, no?
Have you tried?: ./flashbench -a /dev/mmcblk1 --blocksize=$[3*1024]
Worth seeing if it's a 1.5/3/6 MiB eraseblock card.
[root@buildroot ~]# ./openau.sh ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=1 4MiB 2.5M/s 2MiB 7.27M/s 1MiB 3.94M/s 512KiB 4.37M/s 256KiB 17M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=2 4MiB 6.42M/s 2MiB 20M/s 1MiB 19.2M/s 512KiB 19.1M/s 256KiB 18.2M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=3 4MiB 6.78M/s 2MiB 6.26M/s 1MiB 19.2M/s 512KiB 19.2M/s 256KiB 18.2M/s ++ ./flashbench -O --erasesize=4194304 --blocksize=262144 /dev/mmcblk1 --open-au-nr=4 4MiB 11.6M/s 2MiB 4.94M/s 1MiB 9.83M/s 512KiB 7.49M/s 256KiB 7.38M/s
Interesting that the larger size writes are slower than the 256KiB writes, almost always (until open-au-nr=4). That seems odd to me.
What host is this performed on? I'm curious. My guess is that it's not an x86 machine, but more likely an embedded board.
[root@buildroot ~]#./flashbench --findfat --fat-nr=6 /dev/mmcblk1 --blocksize=$[8*1024] --erasesize=$[4*1024*1024] 4MiB 20.4M/s 6.67M/s 10M/s 5.26M/s 18.1M/s 5.28M/s 2MiB 5.12M/s 6.62M/s 9.83M/s 5.26M/s 18.1M/s 5.23M/s 1MiB 5.06M/s 6.32M/s 9.84M/s 5.23M/s 17.8M/s 5.09M/s 512KiB 5.02M/s 6.31M/s 9.81M/s 5.2M/s 17.4M/s 5.19M/s 256KiB 4.97M/s 6.12M/s 10.1M/s 5.14M/s 17.4M/s 5.14M/s 128KiB 4.87M/s 5.7M/s 10.8M/s 5.03M/s 16.6M/s 5.01M/s 64KiB 4.76M/s 4.93M/s 13.2M/s 4.85M/s 16M/s 4.84M/s 32KiB 4.48M/s 4.52M/s 12.7M/s 4.52M/s 13.8M/s 4.51M/s 16KiB 3.92M/s 3.81M/s 9.46M/s 3.97M/s 9.66M/s 3.94M/s 8KiB 2.97M/s 2.88M/s 5.26M/s 2.96M/s 5.25M/s 2.93M/s
##Once more 4MiB 5.28M/s 16.8M/s 20.6M/s 20.4M/s 5.26M/s 5.1M/s 2MiB 5.09M/s 17M/s 20.7M/s 5.28M/s 5.13M/s 5.1M/s 1MiB 5.1M/s 17.8M/s 19.7M/s 5.22M/s 5.07M/s 5.09M/s 512KiB 5.03M/s 16.5M/s 19.2M/s 5.23M/s 5.09M/s 5.08M/s 256KiB 5M/s 16.3M/s 18.8M/s 5.17M/s 5M/s 5.03M/s 128KiB 4.9M/s 15.5M/s 17.7M/s 4.98M/s 4.91M/s 4.96M/s 64KiB 4.76M/s 14.4M/s 16.2M/s 4.86M/s 4.83M/s 4.86M/s 32KiB 4.51M/s 12.3M/s 13.8M/s 4.54M/s 4.55M/s 4.5M/s 16KiB 3.96M/s 8.69M/s 9.59M/s 3.98M/s 3.98M/s 3.92M/s 8KiB 2.96M/s 4.96M/s 5.24M/s 2.95M/s 2.99M/s 2.96M/s
##FAT table area is just in the 2nd and 3rd Erase block (8MB) ?
At first it's fast in the 3rd and 5th, then in 2nd and 3rd. If you test find-fat again, does it stay consistent with either of those?
What's the part number on this card? Is it: SDSDRX3-4096-A21?
Thanks, Andrew
flashbench-results@lists.linaro.org