HDD内にあるとあるフォルダをSDメモリーカードにコピーしました。
ちゃんとコピーできたかどうか確認するためにフォルダのプロパティを開いてみました。
すると、コピーは正常に完了していますが、「ディスク上のサイズ」が両者でずいぶんと異なっています。
NTFSでフォーマットされたHDDの方は 5.84MB であるのに対し、FATフォーマットのSDメモリーカードでは 9.18MB です。
純粋なファイルだけのサイズは 4.94MB。(これは両者同じ。≒正常にコピーできている)
この差はクラスタギャップというやつで。
要するにファイルシステムには、「どれだけ小さくても最低こんだけは消費する」というブロックサイズがあるわけで、
例えばクラスタサイズが 4KB であれば、1.6KB のファイルを書き込んでも 3.1KB のファイルを書き込んでも 4KB を消費し、
5.6KB のファイルを書き込んでも 7.2KB のファイルを書き込んでも 8KB 消費するということになります。
ファイルサイズは 5.6KB なのに 8KB 消費すると、その差の 2.4KB がクラスタギャップになるわけだ。
クラスタサイズが 16KB なら、5.6KB のファイルを書き込んだだけで 16KB 消費してしまうわけで、クラスタギャップは 10.4KB になるわけだな。
というわけで、右上図のよーに、純粋なファイルサイズと実際に消費しているサイズが異なってしまうわけです。
んで、NTFSでフォーマットしてあるHDDの方が、クラスタサイズが小さいために、SDメモリーカードより効率良く書き込めているというわけです。
というわけで、クラスタのお勉強でした。