NAND Page/Block 構造(ナンドページブロックコウゾウ)
NAND フラッシュメモリのアクセス単位構造。Page (4-16KB、読込/書込最小単位) と Block (128-512 Pages、消去最小単位) の二階層構造を持ち、書込前に必ずブロック単位消去が必要な特殊な制約から、SSD コントローラの Garbage Collection・FTL アルゴリズムが必要になる根本的特性。
概要
NAND Page/Block 構造は、NAND フラッシュメモリのアクセス単位構造で、Page (4-16KB、読込/書込最小単位) と Block (128-512 Pages、消去最小単位) の二階層構造を持つ NAND フラッシュ固有の物理的特性です。重要なのは「書込前に必ずブロック単位の消去が必要」という NAND の物理的制約で、Page は読込・書込可能ですが消去はできず、Block 単位でしか消去できません。この特殊な制約により、SSD は HDD と異なる FTL (Flash Translation Layer)・Garbage Collection (ガベージコレクション)・Wear Leveling などの複雑な内部処理が必要となり、Write Amplification (実書込量がホスト書込量より大きくなる現象)・SLC Cache (動的に TLC/QLC セルを SLC モードで使用)・TRIM コマンド (削除済みデータ通知) などの SSD 固有概念の源流となっています。
主な特徴・仕組み
- Page: 読込/書込最小単位、4KB-16KB (世代別)
- Block: 消去最小単位、128-512 Pages = 512KB-8MB
- 書込制約: 空 Page にのみ書込可能、上書き不可
- 消去制約: Block 単位のみ、Page 単位消去不可
- OOB (Out-of-Band): 各 Page の ECC・メタデータ領域
- Plane: 複数 Block を並列処理する単位、Multi-plane で並列性向上
- Die: 複数 Plane で構成、NAND チップの単位
- 書込シーケンス: 1. 新しい空 Page に書込 → 2. 古い Page を「無効」マーク → 3. Block 内有効 Page を別 Block に移動 → 4. 元 Block 消去 (Garbage Collection)
- FTL: 論理 LBA を物理 Page にマッピング、コントローラが管理
- TRIM: OS が削除済みデータ通知、Garbage Collection 効率化
スペック比較表 (NAND 世代別 Page/Block サイズ)
| 世代 | プロセス | Page | Block | Pages/Block |
|---|---|---|---|---|
| SLC (旧) | 50nm | 2KB | 128KB | 64 |
| MLC (旧) | 25nm | 4KB | 512KB | 128 |
| TLC | 20nm-3D | 8KB | 2MB | 256 |
| 3D TLC (V-NAND 9) | N5/N3 | 16KB | 4MB | 256 |
| QLC | 3D N5 | 16KB | 8MB | 512 |
具体例・対応技術 / 関連概念
- Garbage Collection: 無効 Page を含む Block を空き Block に統合、消去
- Wear Leveling: 全 Block の P/E Cycle 均一化
- Write Amplification: ホスト 1MB 書込で SSD 内部 1.5-3MB 書込発生
- SLC Cache: TLC/QLC セルを SLC モード (1bit/cell) で高速書込、後 TLC 化
- TRIM: OS が削除データを SSD に通知、Garbage Collection 最適化
自作PCでの選び方・注意点
NAND Page/Block 構造は SSD 内部実装の根本ですが、エンドユーザーが直接意識する場面は少ないものの、SSD 性能特性を理解する重要な基盤知識です。Sequential Write 性能 (連続書込) と Random Write 性能 (4K ランダム書込) が大きく異なる理由が Page/Block 構造に由来、Garbage Collection の負荷でランダム書込性能が変動します。SSD の空き容量を 20-30% 確保することで Garbage Collection が効率動作し、性能維持が可能 (Over-Provisioning) ・空き容量 10% 以下で性能急落のリスク。Linux で fstrim -av ・Windows で「ドライブの最適化」(SSD 用) でトリム実行が定期的に必要 (現代 OS は自動)。SSD 寿命延伸のために 4K アライン (パーティション開始位置を Block 境界に合わせる) は現代 OS で自動だが、レガシー (Windows XP) では手動設定必要。
関連用語との違い
- HDD セクタ/トラック: HDD の物理構造、NAND と全く異なる
- DRAM ロウ/カラム: DRAM の物理構造、NAND と異なる原理
- FTL: NAND Page/Block を抽象化するソフトウェア層
よくある質問(FAQ)
Q1: なぜ NAND は上書き不可? A: NAND の物理特性、フローティングゲートに電子を注入して書込・引抜きで消去するため、消去前に書込はできない仕組み。
Q2: Block 消去が遅い理由は? A: 高電圧 (18-22V) を Block 全体に長時間 (1.5-3ms) 印加する必要があるため。Page 書込 (Program、200-1000μs) より一桁遅い。
Q3: SSD 空き容量を確保すべき理由は? A: Garbage Collection の効率化、Wear Leveling の余裕、Write Amplification の削減のため。20-30% の空きが推奨値。
まとめ
- NAND Page/Block = フラッシュメモリの二階層構造
- Page (4-16KB) 書込・Block (512KB-8MB) 消去
- 上書き不可制約から FTL・GC・WA・SLC Cache 等の SSD 固有概念派生
- SSD 空き容量 20-30% 確保で性能・寿命最大化