NANDが保存用メモリだと分かった人が、SSDの中でデータを管理する仕組みへ進む記事です。
SSDコントローラは、パソコンやスマホから届いた命令を受け取り、NANDのどこへ保存するかを決める司令塔です。書込みを分散し、読出し時の誤りを直しながら、NANDを使いやすいストレージとしてまとめます。
メモリの基本から確認したい方は、先にCPU・メモリ・ストレージの違い、続いてDRAMとNANDの違いを読むと理解しやすくなります。
この記事でわかること
- SSDコントローラがNANDの司令塔である理由
- 保存場所・書込み分散・誤り訂正の3つの仕事
- NANDだけではSSDとして扱いにくい理由
- FTL
- ウェアレベリング
- ECC
- ガベージコレクション
SSDコントローラとは何か
SSDはNANDに保存する装置ですよね。コントローラは本当に必要ですか?
NANDは保存場所じゃが、パソコンの命令をそのまま理解して管理するわけではない。間に司令塔が必要なんじゃ。
NANDが倉庫で、コントローラが荷物の住所と出入りを管理する人なんですね。
入口の理解としてはよい。実際はLSIとファームウェアが、ホストの命令とNANDの物理動作を橋渡しする。

最初の結論: SSDコントローラは、NANDそのものではなく、NANDをストレージとして使えるように管理するロジック半導体と制御ソフトウェアです。
ここまでの一言まとめ:SSDコントローラは、ホストとNANDをつなぐ司令塔です。
なぜNANDだけではSSDにならないのか
NANDへ、ファイル名と保存場所を直接書けばよいのでは?
ホストは論理的な番号で命令するが、NANDはページへ書き、ブロック単位で消す。使う単位とルールが違うんじゃ。
パソコン側の住所と、NAND内部の実際の棚番号を変換する必要があるんですね。
その通り。しかもセルには書換え寿命があり、誤りも起こり得る。場所だけでなく使い方まで管理する。
ここまでの一言まとめ:NANDの物理ルールを、使いやすい保存装置へ翻訳する必要があります。
まず覚える3つの仕事
機能が多そうですが、最初は何を覚えればよいですか?
保存場所を決める、書込みを分散する、誤りを直す。この3つから始めればよい。
住所係、寿命を守る係、データを守る係の3役ですね。
よい整理じゃ。実際は並列処理、暗号化、電力管理などもあるが、製品で実装は異なる。

SSDコントローラは、住所の変換、書換え負担の分散、データ保護をまとめて担当します。
ここから先はFTL、ウェアレベリング、ECC、ガベージコレクションを知りたい方向けです。基本だけ知りたい方は、まとめへ進んでも問題ありません。
FTL:見える住所と実際の場所を対応させる
同じファイルを上書きすると、同じセルへ書くんですか?
必ずしも同じ場所ではない。FTLが論理アドレスと物理アドレスの対応を更新する。
利用者には同じ住所に見えても、実際の保管棚は入れ替えられるんですね。
そうじゃ。FTLはFlash Translation Layerの略で、その対応表とNAND管理の中心になる。
技術メモ: 一般的なSSDではホストがLBAという論理ブロック番号でアクセスし、コントローラ側がNANDの物理配置へ対応させます。マッピング方法や、ホストと装置の分担は製品・方式で異なります。
ここまでの一言まとめ:FTLは、ホストの住所とNANDの実際の場所を対応させます。
ウェアレベリング:書換えの偏りを減らす
よく更新するデータがあると、そこだけ壊れませんか?
そこで書込み先を分散し、特定ブロックへ消去回数が偏るのを抑える。
同じ靴だけを履き潰さず、順番に使う感覚ですね。
たとえとしては近い。ただし寿命はNAND種類、温度、書込み量、制御方法でも変わる。
ここまでの一言まとめ:ウェアレベリングは、消去・書込みの負担を分散します。
ECC:読出したデータの誤りを直す
保存した0と1は、そのまま正確に読めるのでは?
電荷状態のばらつきや劣化などで、読出し時にビット誤りが起こり得る。ECCで検出・訂正するんじゃ。
答え合わせ用の情報も一緒に持ち、間違いを見つけて直すんですね。
その理解でよい。訂正能力や方式は、NANDとコントローラの設計で異なる。
ここまでの一言まとめ:ECCは、読出し誤りを検出し、訂正できる範囲で元のデータへ戻します。
ガベージコレクション:消せるブロックを作る
削除したファイルの場所へ、すぐ新しいデータを書けないんですか?
NANDはブロック単位で消す。残したいページを別の場所へ移してから、ブロックを消去する必要がある。
必要な荷物を別棚へ移し、棚全体を空にして再利用するんですね。
そうじゃ。この裏側の移動と消去が、性能や追加書込み量にも関わる。
TRIMとの違い: TRIMは、ホストが「この論理領域は不要」とSSDへ伝える仕組みです。実際に有効データを移し、ブロックを消去して空きを作るガベージコレクションとは役割が異なります。
ここまでの一言まとめ:ガベージコレクションは、必要なデータを退避してブロックを再利用可能にします。
コントローラでSSDの性格が変わる
すべてのSSDが同じ機能や構成を持つわけではありません。DRAMキャッシュの有無、ECC方式、予備領域、電源断保護、暗号化などは製品ごとに異なります。単に「同じNANDだから同じ性能」とは判断できません。
ここまでの一言まとめ:SSDはNANDだけでなく、コントローラとファームウェアを含むシステムです。
まとめ
まず覚える3点
- SSDコントローラは、ホストとNANDをつなぐ司令塔
- 保存場所を決め、書込みを分散し、誤りを直す
- FTL、ウェアレベリング、ECC、ガベージコレクションがNANDを使いやすくする
順番に学ぶ
次に深掘りするテーマ
- NANDのページとブロックとは何か
- SSDの寿命とTBW
- NVMeとSATAの違い
未作成の記事には、現時点ではリンクを設置しません。
参考資料
- KIOXIA: Product Development Process
- Micron: NANDフラッシュメモリの種類
- Micron: What is an SSD?
- SNIA: What is an SSD?

