プロが教えるわが家の防犯対策術!

フォーマットの際に設定するアロケーションユニットサイズについて

USBメモリをフォーマットする際にアロケーションユニットサイズを選択できますがこの数値を大きくしたり小さくしたりするとどのような変化が置きますか?
簡単に教えてください

調べたところ標準サイズで良いと知りましたがそうしない場合のことも知りたいです

よろしくお願いします

ちなみに自分のUSBメモリは初期設定で128キロバイトに選択されていました

A 回答 (4件)

アロケーションユニットサイズは1ファイルに割り当てられるサイズ単位です。



仮に、アロケーションユニットサイズを128KBにすると、64KBのファイルサイズでも、1KBのファイルサイズでも128KB割り当てられるので、読み書きは早いですが、無駄な(使用できない)領域が増えてしまう欠点があります。

逆に、アロケーションユニットサイズを1KBにすると、64KBのファイルサイズのものは1KBづつ割り当てられ64個のアロケーションユニットで管理されます。
アロケーションユニットサイズが小さいと、無駄な領域は減らせられるのですが、アロケーションユニットが多くなりすぎるため、読み書きに時間がかかるという欠点があります。

結局のところ、「標準のアロケーションサイズ」でフォーマットするのが、一番バランスが良いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

同じ領域に大きい部屋を少なく作るか、小さい部屋を沢山作るか、の差でしょうか?

5と10の大きさの部屋がそれぞれあるとした場合、8の大きさのデータを保管しようとすると5の部屋は二つ使い、二つ目の部屋のあまり2はそのデータのためだけに使われ他のデータをそこに保管することは出来ない。

10の部屋なら8のデータは問題なくすっぽり入るが2や3のデータが来ても10の部屋に入れることしかできず、小さいデータを沢山扱う場合はあまりの数が大きくなるため活用できない部分が多くなる。

という解釈で合っていますか?

アロケーションユニットサイズを小さくすると上の例でいうと、8のデータは5の部屋の二つの扉を開ける手間がかかりそれぞれの部屋から運び出す必要があるため書き込みや読み出しに時間がかかるということですよね

ということはフォーマットの際にアロケーションユニットサイズを小さく設定しておけば表示させるときやデータを管理するときに時間がかかるが、より活用できるということですか??

知識がないので自分なりの解釈ですが回答よろしくお願いします

お礼日時:2018/06/18 13:04

アロケーションユニットサイズ(クラスタサイズ)は、ファイルの読み書きで使われる大きさの最小サイズを決める単位で、使用する領域の効率に関係するというのはすでに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で、言うほど大した量じゃないですから。むしろそれをケチって寿命が縮むことの方が問題がでかいですよね。
    • good
    • 1
この回答へのお礼

回答ありがとうございます

下の回答の方にもお聞きしましたが要するに時間がかかるけど活用できる領域が多くなるため、アロケーションサイズを小さく設定したほうがより良く活用できるということですよね
内部の複雑なことは基礎知識のないものからすればとても難しく理解しがたいですが自分の考えをまとめるとこのような解釈に至りました

現在はフォーマットする際にアロケーションサイズは標準で問題ないとして、標準に設定しフォーマットしています
ですが疑問になるのがフォーマットをする際にアロケーションユニットサイズの選択が128kbになっていたことです
これは、コンピュータが自動的に128kbが一番適しているサイズだと判断したためにこのような選択になっていたのでしょうか?
もしどうだとすればわざわざ標準サイズに変更したほうがあまりよく活用できない選択になったのかもしれません
そのところはどうなのでしょうか?
疑問になったので教えて下さい

そんなの簡単で明白だと思われるかもしれませんが
あまり詳しくない方にも伝わるように説明してほしいです

お礼日時:2018/06/18 13:13

アロケーションユニットサイズを変えて利用効率を上げても、HDD(ハードディスク)だったら失うものは速度低下だけで済むんですが、これがUSBメモリとかSDカードの場合は寿命に影響しかねないから、標準サイズから変えるのは避ける方が無難だってことです。



それに利用効率を気にしてもケチれる量はたかが知れているので、寿命を犠牲にしてまでやる意味のあることか?というわけです。
    • good
    • 2
この回答へのお礼

そうなんですね
それなら長く使えるほうがいいですね
回答ありがとうございます
質問に的確に答えていただいて幸いです

お礼日時:2018/06/20 14:25

ANo.1です。



>同じ領域に大きい部屋を少なく作るか、小さい部屋を沢山作るか、の差でしょうか?
>5と10の大きさの部屋がそれぞれあるとした場合、8の大きさのデータを保管しようとすると5の部屋は二つ使い、二つ目の部屋のあまり2はそのデータのためだけに使われ他のデータをそこに保管することは出来ない。
>10の部屋なら8のデータは問題なくすっぽり入るが2や3のデータが来ても10の部屋に入れることしかできず、小さいデータを沢山扱う場合はあまりの数が大きくなるため活用できない部分が多くなる。
>という解釈で合っていますか?

はい、その解釈で合っています。

>アロケーションユニットサイズを小さくすると上の例でいうと、8のデータは5の部屋の二つの扉を開ける手間がかかりそれぞれの部屋から運び出す必要があるため書き込みや読み出しに時間がかかるということですよね
>ということはフォーマットの際にアロケーションユニットサイズを小さく設定しておけば表示させるときやデータを管理するときに時間がかかるが、より活用できるということですか??

読み書き速度より、無駄なく使うという点を重視するのであれば、その通りです。
ただ、No.2の方も書かれていますが、フラッシュメモリの書き換え頻度が多いと、それだけ早く寿命をむかえるので、無駄なく使うという点にこだわり過ぎないことをお勧めします。
    • good
    • 1
この回答へのお礼

回答ありがとうございます
非常に分かりやすいです回答でとても満足しています
必要な知識を補うことができました

お礼日時:2018/06/20 14:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!