アロケーションユニットサイズの意味を深く理解する

この記事は「アロケーションユニットサイズの意味を深く理解する」についての記事なります。

この記事で得られること
  • セクターと、アロケーションユニットサイズ(クラスターサイズ)の意味を知ることが出来る。
  • 使用しているパソコンのアロケーションユニットサイズ(クラスターサイズ)を確認することが出来る。
  • アロケーションユニットサイズ(クラスターサイズ)の適切な値を知ることが出来る。

 

「アロケーションユニットサイズ」は、別名「クラスターサイズ」とも言います。

呼び方はどちらかというと、「アロケーションユニットサイズ」という呼び方よりも「クラスターサイズ」と言う呼び方の方が、一般的には使われています。

 

アロケーションユニットサイズ(クラスターサイズ)の意味を知るには、ファイルがHDDにどのように記録されるのか理解しないといけません。

では、実際に図を使ってみていきましょう。

スポンサーリンク

HDDの記録面

HDDの記録面を理解するうえで4つのポイントがあります。

・プラッタ
・トラック
・セクタ
・アロケーションユニット(クラスタ)

 

プラッタ

HDDにデータを記録する部分を円盤の事を言います。別の呼び方では「磁気ディスク」とも言います。

プラッタまたは磁気ディスクの図

※図では、内周も外周も一定の区間で区切られていますが、実際にはもっと細かく区切られていて、内周のセクター数よりも外周のセクター数の方が多くなっています。ここでは解りやすいように単純にしております。

 

 

トラック

トラックとは、ドーナツ状に区切られた緑色の部分の事を言います。

 

HDDのトラックの図

 

 

セクター

セクターとは、データを記録する最小単位で、トラック上にある赤色の部分の事を言います。ファイルを保存した際には全てセクターに保存されます。

 

HDDのセクターの図

 

 

Windowsのセクターには、512セクターと4Kセクターというものがあります。

記録できる容量は、1つのセクタは1Bなので単位は以下になります。

 

1つのセクタの単位

  • 「512セクタは512B」
  • 「4Kセクタは4096B」

 

4Kセクター(4096B)は512セクター(512B)の約8倍にもなっています。

1つのセクターに対し、512セクターであれば512B、4Kセクターであれば4096Bのファイルを保存できるという事になります。

ただし、4KセクターのHDDを使用する際は以下の2点をクリアしていないと、使用することが出来ないので注意が必要です。

 

4KセクターのHDDを使用する際の注意点

  1. OSがWindows8以降であること
  2. 使用するアプリケーションソフトが4Kセクタに対応している事
※4Kセクターの詳細について知りたい方は、MicrosoftのHPをご覧になってください。

「Windows での 4K セクターのハード ディスク ドライブに関するマイクロソフトのサポート ポリシー」


ここで、ファイルを保存したときの512セクターを例にして見てみましょう。

1つのセクターが512Bの場合、512Bまでのファイルは下図のように1つのセクターに収まります。

512セクタのHDDで512Bのファイルを保存したときのセクターの様子

 

513B以上のファイルに関しては1つのセクターに収まりません。収まりきらなかった残りの1Bのファイルは、基本的にはすぐ隣にある2個目のセクターに保存されます

512Bを超えるファイルは2つ目のセクターに保存される

 

2個目のセクターにも収まりきらない場合は、3個目、4個目のセクターに順々に保存されていきます。

保存したファイルが2個目のセクターにも収まらない場合は、3個目、4個目のセクターに保存されていく

 

 

アロケーションユニット(クラスター)

ここで話のメインであるアロケーションユニット(クラスター)の登場です。

クラスターとは、セクタの合計単位の事で青色の部分の事を言います。

 

HDDのアロケーションユニット(クラスター)の図

 

複数のセクターにファイルが保存され、「複数のセクター」の事を「アロケーションユニット(クラスター)」と言います。

 

クラスターの中は、更に細分化されたセクタがあるイメージになります。

セクターとクラスター

 

実際に、セクターにファイルが保存されたときの流れを見てみましょう。

 

スポンサーリンク

ファイルを保存した時のセクターとクラスターの関係性について

例として、1つのセクターが512Bでアロケーションユニット(クラスター)が4096Bの一般的なHDDで説明していきます。

ファイルは4096Bを用意します。

 

セクターはデータを記録する最小単位で、保存したファイルは全てセクターに保存され、ファイルはセクターで管理するのではなく、クラスター単位で管理しています。

なぜ、クラスター単位で管理するのかは後述します。

では実際に見ていきましょう。

 

4096Bのファイルを保存した場合

 

4096Bのファイルを8等分にし各セクターに分けての4096Bのファイルとしてパソコンが認識している

 

4096Bのファイルをブツ切りにして8当分にし、アロケーションユニットサイズ(クラスターサイズ)とファイルの容量が4096Bなので、8個のセクターに収めることが出来ます。

しかし、こんなぴったり収まることはまず無いです。

 

次は、極端に考えてみて、ファイルが1Bだった場合はどうなるのか見ていきたいと思います。

 

1Bのファイルを保存した場合

 

1Bのファイルを保存した場合は、1つのセクターに収まる

 

保存するファイルが1Bだった場合は、512Bの1つのセクターに収まります。

残りの4095Bのセクターは今後、使用できると思いがちですがファイルを削除しない限りは使用できません。

1Bのファイルだったとしてもパソコンは、ファイルをセクターではなくクラスターで管理しているので4096Bと認識してしまいます。

 

では、513Bのファイルを保存した場合はどうなるでしょうか?

 

513Bのファイルを保存した場合

 

513Bのファイルを保存した際には、512Bのデータが1個目のセクターに保存され、余りの1Bのデータは2個目のセクターに保存される。

 

1つのセクターが512Bなので、残りの1Bのデータは2つ目のセクターに保存されます。

513Bのファイルもセクターではなくクラスターで管理しているので、パソコンは4096Bのファイルとして認識してしまいます。

 

以上の事から、実際にはまだデータを保存できるセクターがあるのに、ファイルが1Bであっても4096Bであってもパソコンは4096Bと認識してしまいます。

 

このように無駄に消費してしまっている状態は、パソコンから「実サイズ」と「ディスク上のサイズ」を見比べてみれば納得できます。

次は、実際にパソコン内にあるファイルを見てこの「実サイズ」と「ディスク上のサイズ」のサイズについて触れてみたいと思います。

 

実サイズとディスク上のサイズの違いについて

ファイルやフォルダを右クリックしてプロパティを開くと、そのファイルやフォルダの詳細な情報が見れて大変便利な機能があります。

時には、プロパティからファイルやフォルダの容量を見ることがあると思います。

下図をご覧ください。

 

※「サイズ=実データ」「ディスク上のサイズ=アロケーションユニットサイズ(クラスターサイズ)」となります。

 

1Bのメモ帳のファイル

1Bのメモ帳のファイルはサイズが1バイトだがディスク上のサイズは4096バイトとなっている

1Bのファイルのサイズは1バイトとなっているのに対して、ディスク上のサイズは4096バイトを使用してしまっている。

 

4096Bのメモ帳のファイル

4096Bのメモ帳のファイルではサイズは4096Bでディスク上のサイズは4096バイトとなっている。

4096Bのファイルのサイズは4096Bとなっていて、ディスク上のサイズも4096Bとなっている。

 

1Bのファイルをパソコン側は4096B使用していると認識している事になります。

「ディスク上のサイズ=アローケーションユニットサイズ(クラスターサイズ)」

となるので、1つのクラスター分の4096Bを使い切らなければ、無駄に消費していることになります。

この無駄な空き容量がHDD・SSDには無数にあります。

そして、この無駄な空き容量の領域を「クラスターギャップ」と言います。

クラスターギャップが頻繁に起きると、無駄な空き容量が増えHDDの容量は圧迫されてしまいます。

 

では、ファイルをクラスターで管理せずセクターで管理すればクラスターギャップは起きず、空き容量を無駄なく使えるのでは?」と思うかもしれません。

先述で少し触れましたが、セクターでファイルを管理すると、1つのファイルが細かすぎるのとファイルが連続していないこともあるため、様々なセクターにアクセスしなければなりません。

結果、ファイルを開く(読み込み)、ファイルを保存する(書き込み)作業の時間が、大幅に増えパソコンが重くなってパフォーマンスが落ちてしまいます。

よって、ファイルをセクタではなくクラスタで管理していれば、アクセス回数を減らせたり、連続したファイルになる可能性が増えるため、読み込みと書き込みの時間が短縮できパソコンが高速化します。

 

次は、アローケーションユニットサイズ(クラスターサイズ)の適正値は、いくつなのか説明していきたいと思いますが、その前にまずは、使用しているパソコンのアローケーションユニットサイズ(クラスターサイズ)を確認してみましょう。

 

アローケーションユニットサイズ(クラスターサイズ)の確認方法

アローケーションユニットサイズ(クラスターサイズ)の確認は、「コマンドプロンプト」もしくは「Windows PowerShell」から確認することが出来ます。

管理者として実行しなければなりません。

 

コマンドプロンプトの起動方法は以下になります。

Windows7

左下にあるスタートボタンのすぐ上に「プログラムとファイルの検索」の窓があるので、「cmd」と打ち込むと窓の上に「cmd」と出てきます。「cmd」の文字を右クリック後、「管理者として実行」を左クリック。

 

Windows8/8.1

「スタートボタン」右クリック後「コマンドプロンプト」を左クリックで管理者で実行。

 

Windows10

「スタートボタン」を右クリック後、通常はコマンドプロンプトは表示されず「Windows PowerShell」が表示されます。管理者として実行。

 

※上記の全てのOSは、ユーザーアカウント制御の画面が出てきたら「はい」ボタンを左クリックします。

 

各OSのコマンドプロンプトもしくはWindows PowerShellの起動方法が、文字だけでは解らない場合は下記のリンクを参照してみてください。図を使い案内しております。

「コマンドプロンプトの起動方法」

 

コマンドプロンプト、もしくはWindowsPower Shellが起動したら、以下のコマンドを入力します。コピペでOKです。

chkdsk c:

※「c:」の意味はドライブレターになるので例えば、Cドライブ以外のドライブを調べたいのであれば「c」を「d」に置き換えるだけです。ここではUSBメモリを使用しているので、「F」でchkdsk(チェックディスク)を行っています。

 

結果は、システムファイルによって表示が若干違います。

※フォーマットする際の各システムファイルのアロケーションユニットサイズは「標準のアロケーションユニットサイズ」を選んでおります。

 

NTFSの場合

NTFSの標準のアローケーションユニットサイズは4096B(約4KB)

NTFSの場合のアロケーションサイズの確認する項目

 

FAT32の場合

FAT32の標準のアローケーションユニットサイズは8192B(約8.2KB)

FAT32の場合のアロケーションサイズの確認する項目

 

exFATの場合

exFATの標準のアローケーションユニットサイズは32768B(約33KB)

exFATの場合のアロケーションサイズの確認する項目

 

アローケーションユニットサイズ(クラスターサイズ)は既定値がいいのか?

最後に、アローケーションユニットサイズ(クラスターサイズ)は、既定値(標準のアローケーションユニットサイズ)でいいのか説明していきます。

パソコンを長年使用しているのであれば一度は経験あると思いますが、フォーマットをする際にアローケーションユニットサイズ(クラスターサイズ)を選ぶ画面が表示されます。

 

HDDのフォーマットの画面

HDDのフォーマットの画面

 

USBメモリのフォーマットの画面

USBメモリのフォーマットの画面

 

フォーマットの画面は、最初は見ただけでは分けが解らないと思います。

既定値(標準のアローケーションユニットサイズ)とは、各ファイルシステムによって推奨されるクラスターサイズになります。

 

  • NTFSの標準のアローケーションユニットサイズは4096B(約4KB)
  • FAT32の標準のアローケーションユニットサイズは8192B(約8.2KB)
  • exFATの標準のアローケーションユニットサイズは32768B(約33KB)

※単位は、KB(キロバイト)→MB(メガバイト)→GB(ギガバイト)となるほど大きくなります。1KBは1024B、1MBは1024KB、1GBは1024MB

結論から言うと、一般的な使い方をしているのであれば、既定値(標準のアローケーションユニットサイズ)で問題ないです。

 

大きいデータを頻繁に取り扱うのであれば、大容量のHDD・SSDを用意して、アローケーションユニットサイズ(クラスターサイズ)を出来る限り大きくすることにより、ファイルの断片化を防げる事が出来ます。

結果、アクセスの向上が見込めるため、パフォーマンスを上げることが出来ます。

 

逆に小さいデータを頻繁に取り使うのであれば、クラスタのサイズは小さい方が無駄なクラスターを消費せずに、HDD・SSDの容量を確保することが出来ます。

とはいっても一般的な使い方では、1KBの小さいファイルから今では4.7GBの動画ファイル、下手したらそれ以上のファイルもあるので、適切なアロケーションユニットサイズ(クラスターサイズ)を決めるのは非常に困難です。

 

アローケーションユニットサイズ(クラスターサイズ)のまとめ

どのアロケーションユニットサイズ(クラスターサイズ)を選べばいいのかは、以下になります。

 

大きいサイズを選ぶ理由

64KB以上のデータを頻繁に使うようであれば大容量のHDD・SSDを用意し、最大の「64K」の値を選ぶ。exFATでは最大32MBまである。

 

小さいサイズ選ぶ理由

512Bのデータを頻繁に使うようであれば最小の「512」の値を選ぶ。

 

既定値(標準のアローケーションユニットサイズ)を選ぶ理由

よく解らなかったり、512B以上のデータがたくさんあるようであれば「既定値(標準のアローケーションユニットサイズ)」を選ぶ。

 

「アロケーションユニットサイズの意味を深く理解する」については以上になります。

お疲れさまでした!

参考になれば幸いです。


スポンサーリンク
 
関連記事(スポンサー含む)
 
  • コメント: 3

MBRまたはGPTの確認方法(パーティション形式)前のページ

Windows8/8.1 HDD増設後のパソコン側の詳細な設定(パーティション作成)次のページ

関連記事

  1. HDD・SSD

    CドライブとDドライブとは?違いについて

    ここでは「Cドライブ」」と「Dドライブ」の違いについて説明していきます…

  2. Windows11

    Windows11 タスクバーに固定キー機能を表示させる方法

    Windows11のPCで、タスクバーに固定キー機能を表示させる方法を…

  3. HDD・SSD

    Windows HDDなのかSSDなのか確認する方法

    Windows8/8.1、Windows10、Windows11の現在…

  4. HDD・SSD

    Windows10 HDDなのかSSDなのか確認する方法

    Windows10で、現在使用しているパソコンがHDDなのか、SSDな…

コメント

    • つん
    • 2020年 6月 08日

    読み終わってすっきりです
    文章もやさしさが伝わる感じがします
    色もところどころ見やすくなってて
    わかりやすかったです
    ありがとうございます!

      • パソ子
      • 2020年 9月 14日

      返信が遅くなり申し訳ないです。
      まだまだ改善点は多くありますが、そういって頂けると嬉しいです!ありがとうございました!

    • kei
    • 2021年 1月 16日

    非常にわかりやすい説明で、素人の自分にもなんとなくイメージをつかむことができました。わたしのようなごく普通の人はPCを道具として使う上で最低限の知識だけで運用していますが、なんだかわからないままに「はい」や「OK」をクリックしていることが多いです。でもたとえばHDDに大量のデータのコピーをしていてふと待ち時間に「そういえばディスク上のサイズと実際のサイズ結構違うけどなんでだろ・・・まいっか」みたいになることがあります。そのふとした疑問が解決されて今日は本当にスッキリしました。こういう情報は書籍で得ようとすると正解にたどり着くまでに時間と労力を要しますよね、本当にありがたいことです。

  1. この記事へのトラックバックはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク

カテゴリー

PAGE TOP