ブロックサイズ(ブロックサイズ)
ファイルシステム割当単位。NTFS 4KB/16KB/64KB・APFS 4KB・ext4 4KB・ZFS ashift=12(4KB)〜13(8KB)・Btrfs 4KB固定が代表、NVMe SSD Samsung 9100 Pro 512B/4KB LBA format対応、Large Block(64KB)でシーケンシャル高速化。
概要
ブロックサイズとは、ファイルシステムがディスク上にデータを格納する際の最小単位です。1ブロックに格納できるデータ量はファイルシステムごとに決まっており、ディスクの物理レイアウトやコスト、性能に大きく影響します。一般的に4KBが標準ですが、用途やハードウェアによっては16KB、64KB、8KB、512B などが採用されます。ブロックサイズが大きいほど、連続したデータの読み書きが高速になる一方、ファイルが小さい場合は空き領域が無駄になる可能性があります。
主な特徴・仕組み
-
割当単位
ファイルシステムはディスク上の空き領域をブロック単位で管理します。ファイルが占めるブロック数は、ファイルサイズをブロックサイズで割り、切り上げた値です。 -
物理レイアウトとの関係
NVMe SSD では LBA(Logical Block Addressing)単位が 512B か 4KB かで決まります。Samsung 9100 Pro 512B/4KB LBA format 対応により、ブロックサイズと物理レイアウトが一致すると、オーバーヘッドが減少します。 -
性能への影響
大きなブロックサイズ(例:64KB)を採用すると、シーケンシャルアクセス時に転送レートが向上します。逆にランダムアクセスでは小さなブロックが有利です。 -
ファイルシステム別の代表値
- NTFS: 4KB / 16KB / 64KB
- APFS: 4KB
- ext4: 4KB
- ZFS: ashift=12(4KB)〜13(8KB)
- Btrfs: 4KB 固定
スペック/製品比較表
| ファイルシステム | ブロックサイズ | 主な用途 | 典型的なSSD LBA | 備考 |
|---|---|---|---|---|
| NTFS | 4KB / 16KB / 64KB | Windows | 4KB | 64KB は大容量ファイル向け |
| APFS | 4KB | macOS | 4KB | 低消費電力設計 |
| ext4 | 4KB | Linux | 4KB | 高い互換性 |
| ZFS | 4KB / 8KB | サーバー | 4KB / 8KB | データ保護機能 |
| Btrfs | 4KB | Linux | 4KB | スナップショット |
具体例・対応製品
-
Samsung 980 Pro 1TB
- LBA: 4KB
- 最大転送速度: 7.0GB/s
- ブロックサイズ: 4KB
-
Crucial MX500 500GB
- LBA: 4KB
- 最大転送速度: 560MB/s
- ブロックサイズ: 4KB
-
Western Digital Black SN850 2TB
- LBA: 4KB
- 最大転送速度: 7.0GB/s
- ブロックサイズ: 4KB
-
Seagate IronWolf 4TB
- LBA: 4KB
- 最大転送速度: 240MB/s
- ブロックサイズ: 4KB
-
Intel Optane DC P5800X 1TB
- LBA: 512B
- 最大転送速度: 3.5GB/s
- ブロックサイズ: 512B
-
Samsung 9100 Pro 512GB
- LBA: 512B / 4KB
- 最大転送速度: 5.0GB/s
- ブロックサイズ: 512B / 4KB
-
ADATA XPG GAMMIX S70 1TB
- LBA: 4KB
- 最大転送速度: 7.0GB/s
- ブロックサイズ: 4KB
-
Kingston A2000 1TB
- LBA: 4KB
- 最大転送速度: 2200MB/s
- ブロックサイズ: 4KB
-
Sabrent Rocket Q 1TB
- LBA: 4KB
- 最大転送速度: 7.0GB/s
- ブロックサイズ: 4KB
-
Corsair MP600 2TB
- LBA: 4KB
- 最大転送速度: 7.0GB/s
- ブロックサイズ: 4KB
自作PCでの選び方・注意点
-
用途を明確に
- 大容量映像編集 → 64KB ブロックを検討
- ゲームや軽量アプリ → 4KB ブロックが最適
-
SSD の LBA とブロックサイズの一致
- 512B LBA の SSD では 512B ブロックを選ぶとオーバーヘッドが減る
- 4KB LBA の SSD では 4KB ブロックが一般的
-
ファイルシステムの設定
- Windows では
fsutilで NTFS のクラスターサイズを変更可能 - Linux では
mkfs.ext4 -b 4096で 4KB ブロックを指定
- Windows では
-
将来性を考慮
- 2025年にリリース予定の SSD では 8KB LBA が増える可能性がある
- 次世代 NVMe では 512B LBA が標準化される見込み
-
コストと性能のバランス
- 512B ブロックは小さなファイルに有利だが、書き込みコストが高い
- 64KB ブロックは大容量ファイル向けだが、空き領域の浪費が懸念
-
パーティションサイズ
- ブロックサイズが大きいと、パーティションの最小サイズが増える
- 例:64KB ブロックなら 64KB 以上のパーティションが必要
-
データ保護機能
- ZFS では ashift=13(8KB)でデータの冗長性を高める
- Btrfs では 4KB 固定だが、スナップショットでデータ保護
-
電力消費
- 512B ブロックは書き込み時に多くの I/O が発生し、電力が増加
- 4KB ブロックは効率的だが、長時間の連続書き込みで熱が上がる
-
互換性
- 古い BIOS では 512B LBA しかサポートしない場合がある
- UEFI では 4KB LBA が標準化されている
-
アップグレード計画
- 2026年に SSD を交換する場合、ブロックサイズの変更はフォーマットが必要
- データ移行時は
ddやrsyncでブロック単位のコピーを行う
関連用語との違い
- クラスター
ファイルシステムが管理する最小単位で、ブロックサイズと同義。 - LBA(Logical Block Addressing)
ディスクの物理ブロックを論理的に参照する方式。ブロックサイズと LBA サイズが一致するとオーバーヘッドが低減。 - Sector
物理ディスクの最小単位。通常 512B。SSD では 4KB が一般的。 - ashift
ZFS でブロックサイズを 2^ashift バイトで設定。ashift=12 は 4KB、ashift=13 は 8KB。
よくある質問
Q1: 64KB ブロックを使うと何が変わりますか?
A1: 64KB ブロックは大容量ファイルのシーケンシャルアクセスで転送速度が向上しますが、ファイルが小さいと空き領域が無駄になります。
Q2: 512B LBA の SSD で 4KB ブロックを使うと問題はありますか?
A2: 512B LBA では 4KB ブロックを使用すると、4KB を 8回に分割して書き込む必要があり、オーバーヘッドが増えます。
Q3: Windows で NTFS のクラスターサイズを変更する方法は?
A3: format コマンドで -c オプションを指定し、4096 などのサイズを設定します。
まとめ
ブロックサイズは、ファイルシステムの性能と効率を左右する重要なパラメータです。自作PCを構築する際は、用途、SSD の LBA 形式、将来のアップグレード計画を総合的に判断し、最適なブロックサイズを選択することが鍵となります。2025年以降の次世代 SSD では 512B LBA が主流になる可能性が高く、512B ブロックの採用が増える見込みです。最新のハードウェアとファイルシステムの組み合わせを理解し、最適な構成を実現してください。