0書きされたイメージと、ff書きされたイメージではSDにddする速度は本当に違うのか?

ffならコントローラーがスキップするから早く書けるのじゃないかと言われた。
NAND直じゃないし、専用のROMライタじゃないから、変わんないと思うけど。
テストしてみる。


普通に0を書いたイメージと、

$ dd if=/dev/zero of=0x00File.bin bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 1.66134 s, 616 MB/s

ffを書いたイメージを用意する。

$ tr "\000" "\377" < /dev/zero | dd ibs=1k count=1000000 of=0xffFile.bin
1000000+0 records in
2000000+0 records out
1024000000 bytes (1.0 GB) copied, 10.7489 s, 95.3 MB/s


8GBのmicroSDに書いてみる。
USBアダプタ経由なので、コントローラー直というわけではない。
書けば書くほど遅くなるのはFlashの宿命で、後からやるほうにハンデはある。

$ sudo time dd if=0x00File.bin of=/dev/sdb
2000000+0 records in
2000000+0 records out
1024000000 bytes (1.0 GB) copied, 449.365 s, 2.3 MB/s
1.26user 14.63system 7:38.03elapsed 3%CPU (0avgtext+0avgdata 3168maxresident)k
1999968inputs+2000000outputs (0major+254minor)pagefaults 0swaps
$ sudo time dd if=0xffFile.bin of=/dev/sdb
2000000+0 records in
2000000+0 records out
1024000000 bytes (1.0 GB) copied, 463.549 s, 2.2 MB/s
1.51user 14.74system 7:43.55elapsed 3%CPU (0avgtext+0avgdata 3168maxresident)k
2000008inputs+2000000outputs (0major+254minor)pagefaults 0swaps

かわらんね。