ハードディスクのクラスタサイズとデータの関係
セクタとの関係
クラスタとはハードディスクのフォーマット形式におけるファイルのデータが保存できる区画の最小単位です。
NTFSやFAT32などファイルシステムのフォーマット構成に基づきクラスタのサイズを決めてハードディスクをフォーマットする事によりwindowsでデータの読み書きができるようになります。
ハードディスクの記憶領域の最小単位がセクタです。
1セクタで512バイトのデータが記憶できます。
一方クラスタはファイルシステム上の最小単位でセクタをある程度まとめて一緒にする事によりセクタより大きな記憶区画を作りOS上で効率的にデータのやり取りを行えるようにしたものです。
アロケーションユニットサイズ
クラスタの大きさをクラスタサイズやアロケーションユニットサイズと言います。
ファイルシステムのフォーマット形式によりサイズも様々です。
例えばサイズが4096バイトだとセクタ8個分。
16KB(16384バイト)だとセクタ32個分です。
このサイズ幅は小さい面と大きい面でメリット・デメリットがあります。
長所と短所の事例1
クラスタサイズが小さければ小さいほどファイルを保存する際のデータロスが少なくなります。
例えば16KBクラスタである16384バイトの区画に1000バイトのファイルを保存したとしましょう。
すると16384バイト-1000バイトで残り15384バイトが無駄になるのです。
一方4096バイトのクラスタに1000バイトのファイルを保存すれば残るデータ領域は少なくなりますので無駄が減ります。
長所と短所の事例2
しかし今度は例えば16000バイトのファイルを保存するとしましょう。
16384バイトのクラスタであれば1個の中にデータが収まります。
しかし4096バイトの場合は4個分使用しないと保存できないのです。
4回クラスタを書き込むと言う事になります。
読み込む場合も1回で済むの場合と4回かかる場合では後者の方がアクセス効率が悪くなります。
セクタ順に保存されている場合はまだ良いですが例えばもし保存場所のデータが断片化していてバラバラだったらハードディスクをシークさせ4回異なるセクタ番地周りにアクセスしなければなりません。
読込みが遅くなると言う事です。
サイズ決定の考え方
このようにクラスタのサイズにより良い面悪い面があります。
バランスが重要です。
尚、通常は自分で指定する事がなければ各フォーマット形式・パーティション領域に対してデフォルトのアロケーションユニットサイズを使用します。
OSにお任せです。
ファイルの断片化
先ほどデータが断片化と言いましたがファイルは保存する事もあれば削除する事もあります。
ファイルの削除を繰り返すとデータを保存していたクラスタが歯抜けの状態になります。
そこへ色々なファイルを保存すると空いた領域に収まっていきますがファイルのサイズは常に同じではありません。
はみ出したデータはクラスタを飛び越えて別の空いている場所へ移されます。
これが断片化です。
バラバラになったデータを読み込む場合はハードディスクのヘッドがシークしてバラバラになった箇所を読み込みます。
読み込むのに余計な時間がかかると言う事です。
それはすなわちアクセスが遅くなる。
パソコンの動作が遅くなる事に繋がります。
デフラグでメンテナンス
それを解消するためのメンテナンスがデフラグです。
ディスクの最適化です。
デフラグを行う事によりドライブ上の断片化したファイルを最適化します。
断片化した場合はデフラグメンテーションでデータを整理整頓する事によりアクセス効率を改善させる事ができます。
ファイルの断片化は故障ではない
物理的な故障ではありませんが断片化する事によりデータが分散されハードディスクに余計な負荷がかかります。
消耗を早める劣化を早める可能性は考えられます。
定期的にデフラグされるのが良いでしょう。
Windows VISTA以降はスケジュール機能により自動でデフラグが行われますがパソコンを使用されるユーザー様によりデータの読み書き度合いも様々です。
頻繁にやられては逆に負担もかかります。
自動実行を止めていっぱい使ったなぁと思ったらたまにしてあげるぐらいが宜しいかと思います。
このようにクラスタとは色々な面でデータの読み書きに関わってきます。
セクタやハードディスクにも密接な関係であるのです。
関連情報