目次
はじめに
サイズとディスク上のサイズ?
「ディスク上のサイズ」はクラスタサイズに依存する
クラスタサイズとは
最後に
はじめに
もうすぐWindows7のライフサイクルが切れます。
このサポート終了に伴い発生するのがOSの移行ですがOSを移行した後にデータの移行も待っています。
このデータ移行を行うときに、移行前と移行後のファイルの容量を見てデータが移行完了しているか確認することがありますが、
このデータ移行時に起こりえるサイズの違いについて簡単に記載します。
サイズとディスク上のサイズ?
Windows上でファイルやフォルダを右クリックして「プロパティ」を開くと以下のようなダイアログが表示されます。
ここのダイアログに出てくる「サイズ」と「ディスク上のサイズ」は、どちらがファイルのサイズなのでしょうか?
結論からいうと「サイズ」がファイルの本当のサイズになるのですが、この2つは何を表しているのでしょう。
「ディスク上のサイズ」はクラスタサイズに依存する
例えばクラスタが「4バイト」であったとします。
ここに「3バイト」のファイルを保存するとクラスタが4バイトなので、こんな感じで保存されます。
(あくまでもイメージです)
さらに「2バイト」のファイルを保存するとどうなるのでしょうか?
実はこうはならないのです。
クラスタのサイズは最小の記録単位なのでファイルの容量がそれよりも少ない場合は使用されません。
では、この空いている領域はどうなるかというと「何にも使われない無駄スペース」になってしまいます。
(黒丸は無駄スペースを表しています)
これが「サイズ」と「ディスク上のサイズ」です。
というわけでファイルの移行を行うときは「サイズ」が合っていればよいというわけでした。
「ディスク上のサイズ」はクラスタサイズによって増減するためデータ移行時には気にしなくてよいのです。
(ただし、実際に消費されているHDDのサイズは「ディスク上のサイズ」です)
クラスタサイズとは
ここまでで度々出ているクラスタサイズですが、これはWindowsでいう「アロケーションユニットサイズ」のことです。
これはHDDをフォーマットするときに目にすることができるのですが
上記までの話だと、このクラスタサイズは小さい方が容量が無駄にならない気がします。
しかし、待ってください。
このクラスタサイズですが大きい場合と小さい場合でメリットとデメリットがあります。
クラスターサイズ | メリット | デメリット |
大きい | ファイルへのアクセスが速い | 無駄なスペースが発生しやすい |
小さい | 無駄なスペースの発生を抑制 | ファイルへのアクセスが遅い |
クラスタサイズは小さくすることで、無駄なスペースの発生を抑制することが出来ます。しかし、もちろん弊害もあり、
クラスタサイズが大きいものと比べ、ファイルへのアクセスが遅くなってしまいます。
HDDは円形の板にデータが記憶されていくのですが、PCでデータの追加や削除が行われていくうちにデータが分割保存(断片化)されることがあります。
例えばクラスタサイズが1バイトずつにフォーマットされたHDDがあったとします。
ここに3バイトファイル(青色)を保存して、次に4バイトファイル(緑色)を保存して最後に2バイトファイル(赤色)を保存します。
次に4バイトファイル(緑色)が不要になったので削除して、新たに2バイトファイル(黄色)を保存します。
次に4バイトファイル(紫色)を保存します。
どうでしょうか?
最後に保存した紫色のファイルは1つのファイルであるにも関わらず分割して保存されています。
このようにPCは、使っていくうちにデータが断片化していきます。
この断片化によってファイルにアクセスする速度がどんどんと遅くなっていきます。
(一つのファイルのデータを読み込むためにいろいろなところにアクセスする必要があるので遅くなる)
では、クラスタサイズが4バイトでフォーマットされた場合はどうでしょうか。
同じように3バイトファイル(青色)を保存し、次に4バイトファイル(緑色)、2バイトファイル(赤色)を保存します。
このように保存されます。
では次に不要になった4バイトファイル(緑色)を削除して、2バイトファイル(黄色)を保存します。
このように2バイトファイル(黄色)を保存した時点で、サイズ(7バイト)、ディスク上のサイズ(12バイト)と、無駄なスペースが5バイト分できてしまいました。
では最後に4バイトファイル(紫色)を追加します。
一目瞭然ですが、クラスタサイズが少ない時よりも保存に必要な容量が増えています。
しかし、4バイトファイル(紫色)は並んで保存されているので、読み込みにかかる時間は短縮されるというわけです。
最後に
昨今ではHDDの容量が肥大化したことによってファイルを多く保存することができるようになりました。
それにともないアクセス速度も遅くなってしまうため無駄なスペースができることを容認する形になっているのではないかと思います。
如何でしょうか。「ディスク上のサイズ」編は以上になります。