技術ノート 特徴 フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

重要なポイント

ドライブをフォーマットするときに推奨されるデフォルトのアロケーション ユニット サイズを使用する必要があります。 Windows で一般的な NTFS ドライブの場合、これはおそらく 4096 バイトになります。大きなファイルのみをドライブに保存する場合は、より大きなアロケーション ユニット サイズを自由に使用してください。これにより、ストレージ効率が向上します。

新しいストレージ デバイスをフォーマットする場合、それが 内部ソリッド ステート ドライブで あっても 外部フラッシュ ドライブで あっても、使用するファイル システムとアロケーション ユニット サイズを選択できます。しかし、割り当てファイルのユニット サイズとは何ですか?また、それは何をするのでしょうか?知っておくべきことはすべてここにあります。

アロケーションユニットサイズとは何ですか?

アロケーション ユニット サイズ — 「クラスタ サイズ」または「ブロック サイズ」とも呼ばれる — は、 ソリッド ステート ドライブ (SSD) または ハード ディスク ドライブ (HDD) が分割されるチャンクのサイズを指します。アロケーション ユニットである「チャンク」のサイズを増やすと、ドライブ上のアロケーション ユニットの総数が減ります。アロケーション ユニットのサイズを減らすと、その逆のことが起こり、ドライブ上のアロケーション ユニットの数が増加します。

この文脈では、「割り当てユニット」、「ブロック」、および「クラスター」という用語はすべて同じものを指すため、この記事では同じ意味で使用します。ブロックという用語は通常、 Linux、特に ext4 ファイル システム について話すときに使用されますが、クラスターおよびアロケーション ユニットは Windows で使用されます。

ファイルが大きすぎて 1 つのブロックに収まらない場合、ファイルは分割されて複数のブロックにまたがります。ファイルがブロック サイズより小さい場合、ファイルはそのブロックに保存されますが、ブロック ボリューム全体が使用されます。これにより、極端な場合にはストレージが非効率になる可能性がありますが、これについては後ほど詳しく説明します。

アロケーション ユニット、アロケーション ユニットのサイズ、ストレージ ドライブのボリュームの関係を示す簡単な例を次に示します。計算を簡単にするために、総容量 16,384 キロバイト (16 MB) の小さな仮想のハード ドライブについて説明します。21 世紀の基準からすると途方もなく小さいですが、要点を説明するのに便利です。

そこで、16,384 キロバイトのドライブを接続し、 NTFS ファイル システム としてパーティション分割することを選択します。そのサイズの NTFS ドライブのデフォルトのアロケーション ユニット サイズは 4069 バイト、つまり 4 KB です。ドライブには 16,384/4 (4,096) ユニット — またはブロック — が存在します。アロケーション ユニット サイズを 32 キロバイトに増やすと、代わりに 16,384/32 (512) 個のクラスターが存在することになります。これは、あらゆるサイズの HDD または SSD に当てはまりますが、今日私たちが使用している大きなドライブには、数千ではなく数百万のブロックが含まれています。

フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

どのような割り当て単位サイズを使用する必要がありますか?

変更する特別な理由がない限り、ストレージ デバイスをフォーマットするときに提案されるデフォルトのアロケーション ユニット サイズを使用する必要があります。平均的な NTFS ドライブの場合、これは 4,096 バイト、つまり 4 KB になります。

デフォルトのサイズは、 パーティションのサイズ と使用している ファイル システム によって異なります。一般に、パーティションが大きくなるにつれて、アロケーション ユニットのサイズも大きくなります。 NTFS、FAT32、および exFAT は 最も一般的な形式であり、 USB フラッシュ ドライブ ストレージ ドライブ SD カードで定期的に使用されるため、これらを比較する表をいくつか作成しました。

フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

NTFS

パーティションボリューム

アロケーションユニットサイズ

7MB~16TB

4KB(4096バイト)

16TB~32TB

8KB

32TB~64TB

16KB

64TB~128TB

32KB

128TB~256TB

64KB

256TB~512TB

128KB

512TB – 1PB

265KB

フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

FAT32

パーティションボリューム

アロケーションユニットサイズ

32MB~64MB

0.5KB(512バイト)

64MB~128MB

1KB

128MB~256MB

2KB

256MB~8GB

4KB

8GB~16GB

8KB

16GB~32GB

16KB

フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

exFAT

パーティションボリューム

アロケーションユニットサイズ

7MB~256MB

4KB(4096バイト)

256MB~32GB

8KB

32GB~256TB

16KB

フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?

アロケーションユニットサイズを変更する理由

少なくとも理論的には、アロケーション ユニット サイズを変更すると、ドライブの速度やストレージ容量を最適化できます。最近のドライブは大きく、非常に高速であるため、実際には、デフォルト値を使用する場合は、このことに気付かないか、あまり気にすることはないでしょう。これについて心配する必要がある極端なケースは実際には 2 つだけです。

  1. 巨大なファイルがいくつかあり、小さなアロケーション ユニット サイズを選択した場合
  2. 逆のシナリオでは、小さなファイルが大量にあり、大きなアロケーション ユニット サイズを選択します。

巨大なファイルが少数しかなく、4096 バイト オプションを使用すると、わずか数個のファイルで満たされた大量のクラスター (バイト単位のボリューム サイズ/4096 バイト) が作成されることになります。各アロケーション ユニットは、最終的にファイル全体の一部のみを保持することになります。たとえば、アロケーション ユニット サイズが 4096 バイトで、ファイルが 12 KB の場合、ファイル全体を保存するには 3 つのアロケーション ユニット (またはブロック) を使用する必要があります。ファイルの保存に使用するブロックが増えるほど、断片化の可能性が高くなり、オペレーティング システムが追跡する必要があるブロックも増えます。これにより、ドライブのパフォーマンスが低下する可能性があります。

断片化は以前の問題ではありません。 Windows は定期的にデフラグを実行します が、おそらくそれが行われていることに気付かないでしょう。

「フォーマット時のアロケーションユニットサイズは何を設定すればよいですか?」に関するベスト動画選定!

ExcelVBA【実践】ガントチャート色付け機能!休日以外を瞬時に色付け!?【解説】
Windows11●10● NTFS、FAT、exFAT フォーマットをミスするとエラーにファイルシステムとは

逆の状況 (割り当てサイズが大きい小さなファイルが多数ある場合) では、ストレージ領域を無駄に消費することになります。各アロケーション ユニットは最大で 1 つのファイルのみを保持できます。アロケーション ユニット サイズが 64 キロバイトで、そこに 3 キロバイトのファイルを書き込むと、そのブロック全体がいっぱいになります。つまり、わずか 3 キロバイトを保存するために、64 キロバイトのストレージを使い果たしたことになります。そのようにフォーマットされたドライブ全体を埋めるのに十分な 3 KB のファイルがある場合、ドライブの総容量の 95% 以上が無駄になることになります。アロケーション ユニット サイズを 4KB に縮小した場合、無駄になるのはドライブの総容量の 25% だけです。ただし、これは極端な例であり、通常の使用ではそのような損失は発生しません。

無駄なスペースの平均量は、 ボリューム上のファイルごとのアロケーション ユニット (ブロック) サイズの半分です。したがって、4096 バイトのブロック サイズを選択し、100,000 個のファイルがある場合、無駄になるストレージ容量は約 200 メガバイト (4KB/2*100,000) だけになります。一方、100,000 個のファイルで 64 KB のブロック サイズを選択すると、平均 3.2 ギガバイト が無駄になります。最近の SSD や HDD のサイズを考慮すると、寝不足になるようなことはありません。

独自の Jellyfin Media Server をホストしている 場合など、より大きなファイルのみをドライブに保存することが事前にわかっている場合は、より大きなアロケーション ユニット サイズを使用しても問題はありません。それ以外の場合は、デフォルト値をそのまま使用する必要があります。