Hi Arnd, As you asked for flashbench results, here's some:
Transcend µSDcard 2GB : flashbench -a /dev/mmcblk1 align 536870912 pre 3.24ms on 3.8ms post 2.67ms diff 845µs align 268435456 pre 3.05ms on 3.6ms post 2.53ms diff 814µs align 134217728 pre 3.11ms on 3.65ms post 2.56ms diff 814µs align 67108864 pre 3.07ms on 3.65ms post 2.52ms diff 854µs align 33554432 pre 3.08ms on 3.63ms post 2.49ms diff 851µs align 16777216 pre 3.09ms on 3.59ms post 2.58ms diff 756µs align 8388608 pre 3.25ms on 3.82ms post 2.68ms diff 850µs align 4194304 pre 2.93ms on 3.5ms post 2.52ms diff 772µs align 2097152 pre 2.96ms on 3.51ms post 2.49ms diff 788µs align 1048576 pre 2.45ms on 2.5ms post 2.47ms diff 37.6µs align 524288 pre 2.46ms on 2.47ms post 2.5ms diff -7440ns align 262144 pre 2.45ms on 2.47ms post 2.51ms diff -13815n align 131072 pre 2.45ms on 2.47ms post 2.49ms diff 2.15µs align 65536 pre 2.45ms on 2.47ms post 2.49ms diff -1188ns align 32768 pre 2.45ms on 2.46ms post 2.5ms diff -15476n Seems to be a 2MiB eraseblock
Kingston µSD-HC card 4GB: flashbench -a /dev/mmcblk1 align 1073741824 pre 1.76ms on 2.09ms post 1.86ms diff 280µs align 536870912 pre 1.75ms on 2.09ms post 1.88ms diff 274µs align 268435456 pre 1.76ms on 2.1ms post 1.88ms diff 279µs align 134217728 pre 1.75ms on 2.1ms post 1.89ms diff 275µs align 67108864 pre 1.75ms on 2.11ms post 1.9ms diff 282µs align 33554432 pre 1.74ms on 2.09ms post 1.91ms diff 269µs align 16777216 pre 1.92ms on 2.26ms post 1.88ms diff 362µs align 8388608 pre 1.76ms on 2.1ms post 1.87ms diff 280µs align 4194304 pre 1.75ms on 2.09ms post 1.88ms diff 268µs align 2097152 pre 1.72ms on 1.91ms post 1.88ms diff 110µs align 1048576 pre 1.85ms on 2.02ms post 1.85ms diff 171µs align 524288 pre 1.72ms on 1.88ms post 1.85ms diff 98.5µs align 262144 pre 1.72ms on 1.91ms post 1.88ms diff 108µs align 131072 pre 1.73ms on 1.9ms post 1.87ms diff 96.3µs align 65536 pre 1.72ms on 1.9ms post 1.86ms diff 105µs align 32768 pre 1.72ms on 1.88ms post 1.85ms diff 89.5µs Seems to be a standard 4MiB eraseblock.
Emmc 32GB: ./flashbench -a /dev/mmcblk0 align 8589934592 pre 467µs on 470µs post 470µs diff 1.25µs align 4294967296 pre 470µs on 469µs post 466µs diff 976ns align 2147483648 pre 472µs on 473µs post 476µs diff -1154ns align 1073741824 pre 479µs on 487µs post 483µs diff 5.83µs align 536870912 pre 474µs on 480µs post 481µs diff 2.9µs align 268435456 pre 490µs on 497µs post 486µs diff 8.85µs align 134217728 pre 485µs on 485µs post 486µs diff -145ns align 67108864 pre 491µs on 493µs post 480µs diff 7.05µs align 33554432 pre 495µs on 490µs post 495µs diff -4414ns align 16777216 pre 491µs on 496µs post 495µs diff 2.32µs align 8388608 pre 500µs on 504µs post 491µs diff 8.27µs align 4194304 pre 475µs on 492µs post 497µs diff 6.63µs align 2097152 pre 478µs on 477µs post 481µs diff -1896ns align 1048576 pre 481µs on 488µs post 488µs diff 3.58µs align 524288 pre 489µs on 489µs post 484µs diff 2.3µs align 262144 pre 487µs on 485µs post 479µs diff 1.92µs align 131072 pre 477µs on 477µs post 486µs diff -4437ns align 65536 pre 484µs on 487µs post 481µs diff 4.52µs align 32768 pre 485µs on 478µs post 484µs diff -6095ns I didn't see a pattern on this one.
regards, Richard
Hi Richard,
On 09/04 13:01, Richard Genoud wrote:
Transcend µSDcard 2GB : flashbench -a /dev/mmcblk1 align 536870912 pre 3.24ms on 3.8ms post 2.67ms diff 845µs align 268435456 pre 3.05ms on 3.6ms post 2.53ms diff 814µs align 134217728 pre 3.11ms on 3.65ms post 2.56ms diff 814µs align 67108864 pre 3.07ms on 3.65ms post 2.52ms diff 854µs align 33554432 pre 3.08ms on 3.63ms post 2.49ms diff 851µs align 16777216 pre 3.09ms on 3.59ms post 2.58ms diff 756µs align 8388608 pre 3.25ms on 3.82ms post 2.68ms diff 850µs align 4194304 pre 2.93ms on 3.5ms post 2.52ms diff 772µs align 2097152 pre 2.96ms on 3.51ms post 2.49ms diff 788µs align 1048576 pre 2.45ms on 2.5ms post 2.47ms diff 37.6µs align 524288 pre 2.46ms on 2.47ms post 2.5ms diff -7440ns align 262144 pre 2.45ms on 2.47ms post 2.51ms diff -13815n align 131072 pre 2.45ms on 2.47ms post 2.49ms diff 2.15µs align 65536 pre 2.45ms on 2.47ms post 2.49ms diff -1188ns align 32768 pre 2.45ms on 2.46ms post 2.5ms diff -15476n Seems to be a 2MiB eraseblock
Kingston µSD-HC card 4GB: flashbench -a /dev/mmcblk1 align 1073741824 pre 1.76ms on 2.09ms post 1.86ms diff 280µs align 536870912 pre 1.75ms on 2.09ms post 1.88ms diff 274µs align 268435456 pre 1.76ms on 2.1ms post 1.88ms diff 279µs align 134217728 pre 1.75ms on 2.1ms post 1.89ms diff 275µs align 67108864 pre 1.75ms on 2.11ms post 1.9ms diff 282µs align 33554432 pre 1.74ms on 2.09ms post 1.91ms diff 269µs align 16777216 pre 1.92ms on 2.26ms post 1.88ms diff 362µs align 8388608 pre 1.76ms on 2.1ms post 1.87ms diff 280µs align 4194304 pre 1.75ms on 2.09ms post 1.88ms diff 268µs align 2097152 pre 1.72ms on 1.91ms post 1.88ms diff 110µs align 1048576 pre 1.85ms on 2.02ms post 1.85ms diff 171µs align 524288 pre 1.72ms on 1.88ms post 1.85ms diff 98.5µs align 262144 pre 1.72ms on 1.91ms post 1.88ms diff 108µs align 131072 pre 1.73ms on 1.9ms post 1.87ms diff 96.3µs align 65536 pre 1.72ms on 1.9ms post 1.86ms diff 105µs align 32768 pre 1.72ms on 1.88ms post 1.85ms diff 89.5µs Seems to be a standard 4MiB eraseblock.
Emmc 32GB: ./flashbench -a /dev/mmcblk0 align 8589934592 pre 467µs on 470µs post 470µs diff 1.25µs align 4294967296 pre 470µs on 469µs post 466µs diff 976ns align 2147483648 pre 472µs on 473µs post 476µs diff -1154ns align 1073741824 pre 479µs on 487µs post 483µs diff 5.83µs align 536870912 pre 474µs on 480µs post 481µs diff 2.9µs align 268435456 pre 490µs on 497µs post 486µs diff 8.85µs align 134217728 pre 485µs on 485µs post 486µs diff -145ns align 67108864 pre 491µs on 493µs post 480µs diff 7.05µs align 33554432 pre 495µs on 490µs post 495µs diff -4414ns align 16777216 pre 491µs on 496µs post 495µs diff 2.32µs align 8388608 pre 500µs on 504µs post 491µs diff 8.27µs align 4194304 pre 475µs on 492µs post 497µs diff 6.63µs align 2097152 pre 478µs on 477µs post 481µs diff -1896ns align 1048576 pre 481µs on 488µs post 488µs diff 3.58µs align 524288 pre 489µs on 489µs post 484µs diff 2.3µs align 262144 pre 487µs on 485µs post 479µs diff 1.92µs align 131072 pre 477µs on 477µs post 486µs diff -4437ns align 65536 pre 484µs on 487µs post 481µs diff 4.52µs align 32768 pre 485µs on 478µs post 484µs diff -6095ns I didn't see a pattern on this one.
Do you have part numbers for each of these?
And can you run the open-au tests to see how many simultaneous open erase blocks each card supports? (the open-au tests perform writes, so they will potentially ruin data)
Thanks! -Andrew
Hi Andrew, Here are the other tests you asked for : 2015-09-04 14:42 GMT+02:00 Andrew Bradford andrew@bradfordembedded.com:
Hi Richard,
On 09/04 13:01, Richard Genoud wrote:
Transcend µSDcard 2GB :
cat /sys/class/block/mmcblk1/device/date 06/2010 cat /sys/class/block/mmcblk1/device/fwrev 0x0 cat /sys/class/block/mmcblk1/device/hwrev 0x3 cat /sys/class/block/mmcblk1/device/manfid 0x000003 cat /sys/class/block/mmcblk1/device/name SU02G cat /sys/class/block/mmcblk1/device/oemid 0x5344 cat /sys/class/block/mmcblk1/device/preferred_erase_size 4194304 cat /sys/class/block/mmcblk1/device/serial 0x70b54404 and there's a number on the sdcard : 379900 7773
flashbench -a /dev/mmcblk1 align 536870912 pre 3.24ms on 3.8ms post 2.67ms diff 845µs align 268435456 pre 3.05ms on 3.6ms post 2.53ms diff 814µs align 134217728 pre 3.11ms on 3.65ms post 2.56ms diff 814µs align 67108864 pre 3.07ms on 3.65ms post 2.52ms diff 854µs align 33554432 pre 3.08ms on 3.63ms post 2.49ms diff 851µs align 16777216 pre 3.09ms on 3.59ms post 2.58ms diff 756µs align 8388608 pre 3.25ms on 3.82ms post 2.68ms diff 850µs align 4194304 pre 2.93ms on 3.5ms post 2.52ms diff 772µs align 2097152 pre 2.96ms on 3.51ms post 2.49ms diff 788µs align 1048576 pre 2.45ms on 2.5ms post 2.47ms diff 37.6µs align 524288 pre 2.46ms on 2.47ms post 2.5ms diff -7440ns align 262144 pre 2.45ms on 2.47ms post 2.51ms diff -13815n align 131072 pre 2.45ms on 2.47ms post 2.49ms diff 2.15µs align 65536 pre 2.45ms on 2.47ms post 2.49ms diff -1188ns align 32768 pre 2.45ms on 2.46ms post 2.5ms diff -15476n Seems to be a 2MiB eraseblock
./flashbench -O --erasesize=$((2 * 1024 * 1024)) --blocksize=$((256 * 1024)) /dev/mmcblk1 --open-au-nr=1 2MiB 5.02M/s 1MiB 4.66M/s 512KiB 11.7M/s 256KiB 11.2M/s ./flashbench -O --erasesize=$((2 * 1024 * 1024)) --blocksize=$((256 * 1024)) /dev/mmcblk1 --open-au-nr=2 2MiB 7.03M/s 1MiB 5.39M/s 512KiB 2.15M/s 256KiB 1M/s
Kingston µSD-HC card 4GB:
cat /sys/class/block/mmcblk1/device/date 02/2014 cat /sys/class/block/mmcblk1/device/fwrev 0x0 cat /sys/class/block/mmcblk1/device/hwrev 0x3 cat /sys/class/block/mmcblk1/device/manfid 0x000041 cat /sys/class/block/mmcblk1/device/name SD4GB cat /sys/class/block/mmcblk1/device/oemid 0x3432 cat /sys/class/block/mmcblk1/device/preferred_erase_size 4194304 cat /sys/class/block/mmcblk1/device/serial 0x00134b81 On the SDcard: class 10 SDC10/4GB N0455-004.A00LF
flashbench -a /dev/mmcblk1 align 1073741824 pre 1.76ms on 2.09ms post 1.86ms diff 280µs align 536870912 pre 1.75ms on 2.09ms post 1.88ms diff 274µs align 268435456 pre 1.76ms on 2.1ms post 1.88ms diff 279µs align 134217728 pre 1.75ms on 2.1ms post 1.89ms diff 275µs align 67108864 pre 1.75ms on 2.11ms post 1.9ms diff 282µs align 33554432 pre 1.74ms on 2.09ms post 1.91ms diff 269µs align 16777216 pre 1.92ms on 2.26ms post 1.88ms diff 362µs align 8388608 pre 1.76ms on 2.1ms post 1.87ms diff 280µs align 4194304 pre 1.75ms on 2.09ms post 1.88ms diff 268µs align 2097152 pre 1.72ms on 1.91ms post 1.88ms diff 110µs align 1048576 pre 1.85ms on 2.02ms post 1.85ms diff 171µs align 524288 pre 1.72ms on 1.88ms post 1.85ms diff 98.5µs align 262144 pre 1.72ms on 1.91ms post 1.88ms diff 108µs align 131072 pre 1.73ms on 1.9ms post 1.87ms diff 96.3µs align 65536 pre 1.72ms on 1.9ms post 1.86ms diff 105µs align 32768 pre 1.72ms on 1.88ms post 1.85ms diff 89.5µs Seems to be a standard 4MiB eraseblock.
./flashbench -O --erasesize=$((4 * 1024 * 1024)) --blocksize=$((256 * 1024)) /dev/mmcblk1 --open-au-nr=3 4MiB 11.5M/s 2MiB 11.5M/s 1MiB 11.4M/s 512KiB 11.2M/s 256KiB 10.8M/s ./flashbench -O --erasesize=$((4 * 1024 * 1024)) --blocksize=$((256 * 1024)) /dev/mmcblk1 --open-au-nr=4 4MiB 11.5M/s 2MiB 9.89M/s 1MiB 6.44M/s 512KiB 3.09M/s 256KiB 1.62M/s
Emmc 32GB:
cat /sys/class/block/mmcblk0/device/date 03/1999 :) nice date for an Emmc cat /sys/class/block/mmcblk0/device/fwrev 0x0 cat /sys/class/block/mmcblk0/device/hwrev 0x0 cat /sys/class/block/mmcblk0/device/manfid 0x000045 cat /sys/class/block/mmcblk0/device/name SDW32G cat /sys/class/block/mmcblk0/device/oemid 0x0100 cat /sys/class/block/mmcblk0/device/preferred_erase_size 524288 cat /sys/class/block/mmcblk0/device/serial 0xa4993010
./flashbench -a /dev/mmcblk0 align 8589934592 pre 467µs on 470µs post 470µs diff 1.25µs align 4294967296 pre 470µs on 469µs post 466µs diff 976ns align 2147483648 pre 472µs on 473µs post 476µs diff -1154ns align 1073741824 pre 479µs on 487µs post 483µs diff 5.83µs align 536870912 pre 474µs on 480µs post 481µs diff 2.9µs align 268435456 pre 490µs on 497µs post 486µs diff 8.85µs align 134217728 pre 485µs on 485µs post 486µs diff -145ns align 67108864 pre 491µs on 493µs post 480µs diff 7.05µs align 33554432 pre 495µs on 490µs post 495µs diff -4414ns align 16777216 pre 491µs on 496µs post 495µs diff 2.32µs align 8388608 pre 500µs on 504µs post 491µs diff 8.27µs align 4194304 pre 475µs on 492µs post 497µs diff 6.63µs align 2097152 pre 478µs on 477µs post 481µs diff -1896ns align 1048576 pre 481µs on 488µs post 488µs diff 3.58µs align 524288 pre 489µs on 489µs post 484µs diff 2.3µs align 262144 pre 487µs on 485µs post 479µs diff 1.92µs align 131072 pre 477µs on 477µs post 486µs diff -4437ns align 65536 pre 484µs on 487µs post 481µs diff 4.52µs align 32768 pre 485µs on 478µs post 484µs diff -6095ns I didn't see a pattern on this one.
for the number of open erase blocks, I stopped at 100 with still the same results : ./flashbench -O --erasesize=$((4 * 1024 * 1024)) --blocksize=$((256 * 1024)) /dev/mmcblk0 --open-au-nr=100 4MiB 45.1M/s 2MiB 44M/s 1MiB 41M/s 512KiB 40.5M/s 256KiB 39.4M/s
flashbench-results@lists.linaro.org