Building and civil

NAND flash hierarchy — pages and blocks

NAND flash: reads and writes go by the page, erases only by the block — every other property of an SSD follows from that mismatch

NAND flash: reads and writes go by the page, erases only by the block — every other property of an SSD follows from that mismatch

This drawing comes from one YAML file. No shape was moved by hand.

Notes in the source (in Japanese)

読み書きはページ単位、消去はブロック単位。

この食い違いから、SSD のほとんどの性質が出てくる ——上書きができない、ガベージコレクションが要る、ホストが頼んでいない書き込みが起きる(ライトアンプリフィケーション)。

1 バイト直すために、周りを読んで書き直すことになる。消去がブロック単位なので、ブロックの中の 1 ページだけを変えたくても、生きているページを別へ写してから、ブロックごと消す ——ホストが書いた量より、実際に書かれた量のほうが多くなる。

書き換えの回数に上限がある。 だから同じブロックばかり使わないように割り当てを散らす(ウェアレベリング)。SSD が「空き容量が減ると遅くなる」のも、写す先が減るため。

Source (YAML)

examples/gallery/215-NANDフラッシュの階層.zumen.yaml

More in this field