デジタル論理

DRAMとNANDフラッシュ

同じ更新要求に対し、DRAMは既存セルへ直接書込み、NANDは空きページへ新しい版を書きます。空きが減ると、有効データの移動とブロック消去が必要になります。

DRAMとNANDの更新処理比較

DRAM読書き
~50 ns
NANDページ読出し
~50 µs
NANDページ書込み
~500 µs
NANDブロック消去
~2 ms

棒の長さは対数目盛で処理時間を表します。

DRAM:コンデンサセル累積時間 0 µs

選択セルへ直接書けます。青い枠はリフレッシュ中の行です。

NAND:ブロックとページ累積時間 0 µs、待機 0

緑は有効データ、取消線は無効な旧データ、点線は空きページです。

1倍速では実時間1µsを画面上2msに拡大します。DRAMの漏電とリフレッシュは別の説明用速度です。

L0などは論理データ番号です。更新しても番号は同じですが、NANDの物理保存先は変わります。

NANDという名前の由来

セルの直列接続がNANDゲートのトランジスタ配置に似ているための名称です。論理ゲートに保存するという意味ではありません。読書きはページ、消去はブロック単位です。

DRAMにはリフレッシュが必要

DRAMは小さなコンデンサの電荷で値を保持します。既存セルを上書きでき、この例では約50nsを仮定します。

電荷は時間とともに漏れるため、定期的に読んで書き戻すリフレッシュが必要です。電源が切れると保持できません。

NANDは使用済みページを直接上書きできない

絶縁された構造に電荷を保持するため不揮発性ですが、書込みはDRAMより遅く、この例では約500µsです。

更新は空きページへ書き、旧ページを無効にします。

空きが不足すると有効データを別ブロックへ移し、元ブロック全体を消去します。これがガベージコレクションです。

SSDやeMMCのFTLは論理アドレスと物理位置を対応付けます。GCや、書込みの偏りを減らすウェアレベリングも管理します。