## Might be my new favorite microSD card.
andrew@bradford:~$ head /sys/block/mmcblk0/device/* 2>/dev/null | grep -v ^$ ==> /sys/block/mmcblk0/device/block <== ==> /sys/block/mmcblk0/device/cid <== 1b534d303030303010216696ca00c100 ==> /sys/block/mmcblk0/device/csd <== 400e00325b5900003c1d7f800a400000 ==> /sys/block/mmcblk0/device/date <== 01/2012 ==> /sys/block/mmcblk0/device/driver <== ==> /sys/block/mmcblk0/device/erase_size <== 512 ==> /sys/block/mmcblk0/device/fwrev <== 0x0 ==> /sys/block/mmcblk0/device/hwrev <== 0x1 ==> /sys/block/mmcblk0/device/manfid <== 0x00001b ==> /sys/block/mmcblk0/device/name <== 00000 ==> /sys/block/mmcblk0/device/oemid <== 0x534d ==> /sys/block/mmcblk0/device/power <== ==> /sys/block/mmcblk0/device/preferred_erase_size <== 4194304 ==> /sys/block/mmcblk0/device/scr <== 0235800000000000 ==> /sys/block/mmcblk0/device/serial <== 0x216696ca ==> /sys/block/mmcblk0/device/subsystem <== ==> /sys/block/mmcblk0/device/type <== SD ==> /sys/block/mmcblk0/device/uevent <== DRIVER=mmcblk MMC_TYPE=SD MMC_NAME=00000 MODALIAS=mmc:block
andrew@bradford:~/flashbench$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=1024 align 2147483648 pre 849µs on 1.13ms post 1.02ms diff 197µs align 1073741824 pre 877µs on 1.17ms post 1.04ms diff 216µs align 536870912 pre 799µs on 1.07ms post 1.03ms diff 155µs align 268435456 pre 773µs on 1.07ms post 1ms diff 184µs align 134217728 pre 782µs on 1.08ms post 1.03ms diff 172µs align 67108864 pre 800µs on 1.06ms post 1.02ms diff 148µs align 33554432 pre 778µs on 1.06ms post 1.02ms diff 158µs align 16777216 pre 745µs on 1.05ms post 1.01ms diff 171µs align 8388608 pre 775µs on 1.05ms post 1.01ms diff 154µs align 4194304 pre 786µs on 1.08ms post 1.02ms diff 177µs align 2097152 pre 761µs on 1.01ms post 1.02ms diff 116µs align 1048576 pre 771µs on 1.01ms post 1.01ms diff 114µs align 524288 pre 755µs on 983µs post 984µs diff 114µs align 262144 pre 754µs on 1.01ms post 1.02ms diff 126µs align 131072 pre 767µs on 1.02ms post 1.02ms diff 127µs align 65536 pre 762µs on 1ms post 1.02ms diff 113µs align 32768 pre 756µs on 1.01ms post 1.02ms diff 126µs align 16384 pre 759µs on 1.02ms post 1ms diff 144µs align 8192 pre 780µs on 1.03ms post 1.01ms diff 135µs align 4096 pre 885µs on 896µs post 878µs diff 14.5µs align 2048 pre 977µs on 970µs post 930µs diff 16.9µs
## 4MiB erase block. ## 8KiB page.
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=1 4MiB 9.62M/s 2MiB 9.69M/s 1MiB 9.69M/s 512KiB 9.68M/s 256KiB 9.63M/s 128KiB 9.57M/s 64KiB 9.44M/s 32KiB 6.72M/s 16KiB 4.8M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=2 4MiB 9.69M/s 2MiB 9.68M/s 1MiB 9.68M/s 512KiB 9.66M/s 256KiB 9.62M/s 128KiB 9.58M/s 64KiB 9.45M/s 32KiB 6.6M/s 16KiB 4.66M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=7 4MiB 8.07M/s 2MiB 8.04M/s 1MiB 9.05M/s 512KiB 9M/s 256KiB 8.96M/s 128KiB 8.86M/s 64KiB 8.68M/s 32KiB 5.86M/s 16KiB 3.92M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=8 4MiB 9.75M/s 2MiB 5.03M/s 1MiB 2.1M/s 512KiB 1.13M/s ^C
## 7 open-au linear
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[256*1024] --erasesize=$[4*1024*1024] --open-au-nr=5 --offset=$[40*1024*1024] 4MiB 8.88M/s 2MiB 4.74M/s 1MiB 8.88M/s 512KiB 8.74M/s 256KiB 8.72M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[256*1024] --erasesize=$[4*1024*1024] --open-au-nr=5 --offset=$[44*1024*1024] 4MiB 8.03M/s 2MiB 6.09M/s 1MiB 9.5M/s 512KiB 9.48M/s 256KiB 9.49M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[256*1024] --erasesize=$[4*1024*1024] --open-au-nr=5 --offset=$[41*1024*1024] 4MiB 4.49M/s 2MiB 3.56M/s 1MiB 4.05M/s 512KiB 3.55M/s 256KiB 3.55M/s
## Looks to confirm 4MiB erase block
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=1 --random 4MiB 4.98M/s 2MiB 8.84M/s 1MiB 8.94M/s 512KiB 8.83M/s 256KiB 8.8M/s 128KiB 8.67M/s 64KiB 8.66M/s 32KiB 5.83M/s 16KiB 3.92M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=2 --random 4MiB 6.36M/s 2MiB 8.88M/s 1MiB 8.83M/s 512KiB 8.79M/s 256KiB 8.7M/s 128KiB 8.63M/s 64KiB 8.4M/s 32KiB 5.63M/s 16KiB 3.72M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=7 --random 4MiB 8.28M/s 2MiB 8.08M/s 1MiB 8.81M/s 512KiB 8.76M/s 256KiB 8.72M/s 128KiB 8.6M/s 64KiB 8.39M/s 32KiB 5.62M/s 16KiB 3.72M/s
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 --open-au --blocksize=$[16*1024] --erasesize=$[4*1024*1024] --open-au-nr=8 --random 4MiB 8.13M/s 2MiB 4.23M/s 1MiB 2.19M/s 512KiB 1.15M/s ^C
## 7 random open-au!
andrew@bradford:~/flashbench$ sudo ./flashbench /dev/mmcblk0 -f --erasesize=$[4*1024*1024] 4MiB 5.32M/s 9.69M/s 9.69M/s 9.69M/s 8.92M/s 9.68M/s 2MiB 9.69M/s 9.69M/s 9.68M/s 9.69M/s 4.75M/s 9.69M/s 1MiB 9.68M/s 9.69M/s 9.68M/s 9.68M/s 8.79M/s 9.68M/s 512KiB 9.67M/s 9.68M/s 9.67M/s 9.66M/s 8.83M/s 9.65M/s 256KiB 9.65M/s 9.63M/s 9.64M/s 9.67M/s 8.8M/s 9.65M/s 128KiB 9.58M/s 9.59M/s 9.57M/s 9.57M/s 8.62M/s 9.57M/s 64KiB 9.49M/s 9.45M/s 9.53M/s 9.5M/s 8.65M/s 9.47M/s 32KiB 6.73M/s 6.75M/s 6.74M/s 6.76M/s 5.84M/s 6.75M/s 16KiB 4.78M/s 4.78M/s 4.83M/s 4.78M/s 3.86M/s 4.78M/s
## No special fat area.
andrew@bradford:~/flashbench$ sudo fdisk -l /dev/mmcblk0 | grep Disk Disk /dev/mmcblk0 doesn't contain a valid partition table Disk /dev/mmcblk0: 8068 MB, 8068792320 bytes Disk identifier: 0x5a5a5a5a andrew@bradford:~/flashbench$ factor 8068792320 8068792320: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 5 19
## Forgot to do that at the beginning.
-Andrew