質問: フォーマットの際に設定するアロケーションユニットサイズについて usbメモリをフォーマットする際にア フォーマットの際に設定するアロケーションユニットサイズについて usbメモリをフォーマットする際にアロケーションユニットサイズを選択できますがこの数値を大きくしたり小さくしたりするとどのような変化が置きますか? 簡単に教えてください 調べたところ標準サイズで良いと知りましたがそうしない場合のことも知りたいです よろしくお願いします ちなみに自分のusbメモリは初期設定で128キロバイトに選択されていました
回答: アロケーションユニットサイズ(クラスタサイズ)は、ファイルの読み書きで使われる大きさの最小サイズを決める単位で、使用する領域の効率に関係するというのはすでにno.1回答に出ているとおりです。ただusbメモリと言うかフラッシュメモリを使っている記憶媒体すべてに言えることとして、もう一点考慮すべきことがあります。 実はフラッシュメモリって、データの書き換えができないんですよね。できるのは読み出し・書き込み・消去です。なので書き換えは一度消去してから改めてデータを書き込む必要があります。さらに消去は1バイト単位で自由にできず、必ずブロックという単位で実行されます。これはフラッシュメモリの構造からくる回路的制約なので、ソフト側からはどうにもできません。ということは、フラッシュメモリのデータ管理はブロックサイズが最小単位になり、その結果としてos側の最小単位はアロケーションユニットサイズだけど、フラッシュメモリの内部ではブロックサイズが最小単位になるという、2つの基準が混在のややこしい状態になっています。 なもんで、この2つのバランスを考えておかないと、フラッシュメモリ上で書き込み回数が増加します。ブロックサイズが64kbのフラッシュメモリでアロケーションユニットサイズを32kbにすると、32kbの書き込みだけど実際には1ブロック64kbが書き換え対象になるし、また1ブロックに32kbのデータが2つ入るから、1ブロックで2度消して書いてという操作が発生する可能性が。 フラッシュメモリは書き込める回数に制限があるため、無駄な書き込みは寿命を縮める原因になるので極力避けたいんですが、効率を重視しすぎると書き込み回数が増えてしまいます。 最近のgb級フラッシュメモリでは、ブロックサイズが32kb~128kbくらいの単位になっていることと、アロケーションユニットサイズがブロックサイズの整数倍の大きさならこの問題を回避できるんで、osもそれを考慮してアロケーションユニットサイズを決めています。 それに今どきの画像や音楽や動画データはどれもmb台の大きさだから、32kbや64kbばっかしケチったところであまりうれしくありません。64kbを1000個ケチっても64mbで、言うほど大した量じゃないですから。むしろそれをケチって寿命が縮むことの方が問題がでかいですよね。