TL

ゾーンドストレージ(ZNS)

SSDの寿命と速度を削るFTLの変換表とGCを、ホスト側の追記制約で丸ごと引き剥がす発想を原理から理解。ログ構造ファイルシステムとの相性まで一本でつながります。

応用ZNSSSDNVMeストレージログ構造ファイルシステムカーネル最終更新: 2026-06-21
TL;DR要点だけ先に
  • 1.ZNS(Zoned Namespace)はNVMeの名前空間をゾーンに分割し、各ゾーン内は先頭からの追記のみを許すことでFTLのL2P変換表とGCを不要にする。
  • 2.書き込み順序の制約と引き換えに、書き込み増幅の主因だった有効ページ退避が消え、DRAM搭載量とテールレイテンシが劇的に改善する。
  • 3.ゾーン管理(空き追跡・GC相当のゾーンリセット)の責任はホスト側に移り、ログ構造ファイルシステムやLSMツリーとの親和性が特に高い。

FTLの隠蔽コストを剥がすという発想

SSDとFTLで見た通り、従来のSSDはNANDの「ページ単位で書き、ブロック単位で消す」非対称性と上書き不能性を、FTLがL2P変換表・ウェアレベリング・ガベージコレクション(GC)で覆い隠し、ホストには普通のブロックデバイスに見せかけています。この隠蔽には代償があります。変換表はDRAMを食い、GCの有効ページ退避は書き込み増幅(WAF)を生み、GCが割り込むタイミングでテールレイテンシが跳ねる。ZNS(Zoned Namespace)は、この隠蔽そのものをやめる規格です。FTLの仕事の大半をホスト側へ移し、デバイスは単純な追記だけを引き受けるという設計思想に立っています。

ゾーンと追記制約

ZNS SSDは名前空間をゾーンという固定サイズの領域(典型的には数十MB〜1GB程度)に分割します。各ゾーンは次の規則に従います。

  • ゾーン内のLBAは先頭から単調増加する順序でのみ書き込める(シーケンシャルライトのみ)。書き込み位置はゾーンごとのライトポインタが指し、書き込むたびに前進する。
  • ランダムな位置への上書きは許されない。ゾーンを再利用するにはゾーンリセットでライトポインタを先頭へ戻し、ゾーン全体を空の状態に一括で戻す。
  • 読み出しはゾーン内の任意位置に対して自由に行える。制約があるのは書き込み順序だけ。
ゾーンZの内部状態
  [書き込み済み][書き込み済み][書き込み済み][空き]...[空き]
                                    ▲
                              ライトポインタ(次の書き込み位置)

write(Z, data) → ライトポインタの位置に書き、ポインタを前進
reset(Z)       → ライトポインタを先頭に戻す(ゾーン全体を空に)
ゾーンはNANDブロックとほぼ1対1

ZNSのゾーンは、多くの場合NAND側の消去ブロック(またはその整数倍)に対応するよう設計されます。この対応が取れているからこそ「ゾーンへの追記=NANDへの素直な書き込み」「ゾーンリセット=ブロック消去」がほぼ直結し、従来FTLが行っていたアウトオブプレース更新とGCの退避コピーが原理的に不要になります。

FTLのオーバーヘッドが消える理由

従来のFTLとZNSを比べると、削られるものが明確になります。

項目従来のブロックSSD(FTL全面依存)ZNS SSD
L2P変換表全LBAに対する細粒度マッピングが必須。DRAMを大量消費ゾーン単位の粗粒度対応のみで足りる。DRAM必要量が桁違いに小さい
ガベージコレクションデバイス内部で無効ページを退避・消去。書き込み増幅の主因デバイス側では発生しない。ホストが不要データを判断してゾーンリセット
書き込み順序任意LBAへ自由に上書き可能に見せるゾーン内は追記のみ。順序はホストが保証する責任を負う
テールレイテンシGC割り込みで突発的に悪化する内部GCがないため予測しやすく安定する

要点は、ホストが最初から追記の順序でしか書かないと約束することで、デバイス側が「どこが有効でどこが無効か」を推測してGCする必要そのものがなくなる点です。従来のFTLはホストの書き込みパターンを知らないため、ランダム上書きに備えて常時GCを構えていました。ZNSはその不確実性を制約で消し、L2P変換もゾーン粒度で済むためDRAMもわずかで足ります。DRAMレス設計のSSDや、TCO(総所有コスト)を切り詰めたいハイパースケーラーにとって、この差は無視できません。

書き込み増幅が消えるわけではなく移動する

ZNSはデバイス内のWAFを大きく減らしますが、無効データの回収という仕事自体が消えるわけではありません。責任がホスト側のアプリケーションやファイルシステムに移るだけです。ホストが不要になったゾーンの有効データを別ゾーンへコピーしてから元ゾーンをリセットする処理を怠ると、空きゾーンが枯渇して書き込みが止まります。「見えなくなった」のではなく「見える化された」と捉えるべきです。

ホスト側に移るゾーン管理の責任

ZNSを使うホスト(ファイルシステムやアプリケーション)は、従来FTLが担っていた仕事を肩代わりします。

  1. 空きゾーンの追跡。 どのゾーンが書き込み可能で、どのゾーンが満杯かを管理する。
  2. 書き込み順序の保証。 アプリ側のバッファリングで更新をまとめ、必ずライトポインタに従う順序でゾーンへ流す。ランダムな更新要求が来ても、ホスト側で並べ替えてから追記する必要がある。
  3. ゾーンレベルのGC(ガベージコレクション相当の処理)。 ゾーン内に無効データが増えたら、有効データだけを新しいゾーンへコピーし、元ゾーンをリセットして再利用可能にする。この退避コピーはホストのCPUとI/O帯域を使うため、従来デバイス内で隠れていたコストが可視化された形で表に出てくる。
  4. 並行書き込み数の管理。 デバイスが同時にオープンできるゾーン数には上限があり、その範囲内でどのゾーンに何を書くかを割り当てる。

この責任移譲は無償ではありません。ホスト側のソフトウェアが未成熟だと、単に「GCが場所を変えただけ」で総コストは変わらない、あるいは悪化することもあります。ZNSが利益を生むのは、ホスト側がもともとログ構造的にしか書かない設計である場合です。

ログ構造ファイルシステムとの親和性

ログ構造化ファイルシステム(LFS)は、そもそも全更新をセグメントへ追記し、無効ブロックをセグメントクリーニングで回収するという設計でした。この「追記のみ・後でまとめて回収」というモデルは、ZNSのゾーン制約と構造的にほぼ一致します。

LFSのセグメント  ⇔ ZNSのゾーン
セグメントクリーニング(GC) ⇔ ゾーンのコピー退避+リセット

LFSやF2FS、LSMツリーベースのストレージエンジンをZNS SSDの上で直接動かすと、ソフトウェア側が元々持っていた追記ログとGCの機構が、そのままハードウェアの制約と一致するため、二重にGCを行う無駄が消えます。従来のブロックSSD上でLFSを動かすと、ホスト側のセグメントクリーニングに加えてデバイス内部のFTLもGCを行うという二重構造になっていました。ZNSはデバイス側のGCそのものを取り除くため、この二重コストを解消できます。同様に、ブロックI/O層を通過する要求がゾーンの追記順序を守るよう並べ替えられている必要があり、通常のブロックデバイス向けI/Oスケジューラとは異なる配慮が要ります。

試験・面接の頻出ポイント

「ZNSがFTLのオーバーヘッドを減らす理由」を問われたら、GCと変換表の必要性そのものを制約で消すという一点で答えます。FTLは任意順序の上書きに備えて細粒度L2P表とGCを常備しますが、ZNSはゾーン内追記のみという制約をホストに守らせることで、デバイス側の変換粒度をゾーン単位まで粗くし、内部GCを不要にします。代わりに空きゾーン管理とゾーンGCの責任がホストに移る、という表裏の関係を併せて説明できると強いです。

まとめ

まとめ

ZNSは、FTLが背負ってきた細粒度L2P変換表とガベージコレクションを、ゾーン単位の追記制約という形でホストに肩代わりさせる規格です。ゾーン内はライトポインタに従う追記のみを許し、再利用はゾーンリセットで一括に行う。この制約により、デバイス側のDRAM消費と書き込み増幅が大きく下がり、GC割り込みによるテールレイテンシの不安定さも解消される。代わりにホストは空きゾーン管理・順序保証・ゾーンGCという責任を負うことになり、この責任は元から追記ログで設計されたログ構造化ファイルシステムやLSMツリーと組み合わせたときに最も自然に果たされます。ハードウェアの制約とソフトウェアの設計思想が一致したときに初めて、ZNSは真価を発揮します。

OS Article

ゾーンドストレージ(ZNS)を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

ZNS

比較で見る軸

難易度: advanced / カテゴリ: OS / タグ数: 6

導入後に効く点

書き込み順序の制約と引き換えに、書き込み増幅の主因だった有効ページ退避が消え、DRAM搭載量とテールレイテンシが劇的に改善する。

先に潰すリスク

用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。

数字・仕様の読み方
難易度
advanced
カテゴリ
OS
タグ数
6

判断チェックリスト

  • 自社の用途が「ZNS / SSD」に近いか確認する。
  • 強みである「ZNS(Zoned Namespace)はNVMeの名前空間をゾーンに分割し、各ゾーン内は先頭からの追記のみを許すことでFTLのL2P変換表とGCを不要にする。」が本当に評価軸になるか確認する。
  • 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

ZNSSSDNVMeストレージログ構造ファイルシステムZNSSSDNVMe
参考: 公式情報