SDカードをフォーマットするときは

SDカード専用のフォーマッタがあったとさ
ソフトウェアダウンロード一覧 | SDメモリーカード | お客様サポート | Panasonic
しらなかったです。
あるんだろうなぁとは思ってたけどまじめに探したことがなかった。


もともとフラッシュメモリというものの書き込みは、実際にデータの書き込み処理*1の前に、2K4K8K16Kなどのデータブロックを消去する必要があります。直接上書きすることが出来ないデバイスです。
ディスクのクラスタサイズがデータブロックに満たない場合は、データブロックを一旦メモリ上に読み出し、書き込みデータをデータブロックサイズに合わせる処理を行ってから、データブロックを消して書き込み処理を行います。


データブロックとクラスタサイズが合致しなければ上記のとおりサイズ合わせ処理が必要ですが、合致するならば不要になるので単に消して書き込むだけでよくなります。
その結果として高速になります。
そのためのクラスタサイズのチェックと選択みたいなことをやってくれるのが、上記フォーマッタらしいです。


らしいというのは、このフォーマットプログラムが実際にそういう動作をしているのか不明だから。
上記で書いたのは基板上のROMに相当するNAND-Flashメモリの場合の話なんで、SDカードはまたちょっと違うのかもしれない。


ちなみに8GBや16GBのmicroSDカードは、これつかってFAT32にするよりもexFATの方が速かったりします。
データの受け渡し用にどうしてもFAT32が必要な場合に使うと幸せになるかもしれません。

*1:ファーム屋でいうROMのプログラミング