建築・土木
NAND フラッシュの階層と、ページ/ブロック
NAND フラッシュ(読み書きはページ、消去はブロック)
この図は、下の 1 枚の YAML から描かれています。手で図形を動かしてはいません。
正本に書いてある決まりごと
読み書きはページ単位、消去はブロック単位。
この食い違いから、SSD のほとんどの性質が出てくる ——上書きができない、ガベージコレクションが要る、ホストが頼んでいない書き込みが起きる(ライトアンプリフィケーション)。
1 バイト直すために、周りを読んで書き直すことになる。消去がブロック単位なので、ブロックの中の 1 ページだけを変えたくても、生きているページを別へ写してから、ブロックごと消す ——ホストが書いた量より、実際に書かれた量のほうが多くなる。
書き換えの回数に上限がある。 だから同じブロックばかり使わないように割り当てを散らす(ウェアレベリング)。SSD が「空き容量が減ると遅くなる」のも、写す先が減るため。
正本(YAML)
examples/gallery/215-NANDフラッシュの階層.zumen.yaml