NAND フラッシュ ウェア レベリング アルゴリズム
Aug 27, 2022
フラッシュメモリの書き込み回数には限りがあるため、一部のユニットで100000回の書き込みを行った場合、そのユニットの書き込み信頼性を保証できず、一部のユニットが故障する可能性があります。 たとえば、一部の管理データ システム ログは頻繁に書き換えられますが、一部の静的ファイル データはほとんど書き換えられません。 制御しないと、消去の繰り返しにより一部のブロックが事前に破損し、一部のブロックが再書き込みされていない.個々の細胞の失敗。 ウェアレベリングは、この問題を解決するために広く使用されているアルゴリズムです。
ウェアレベリングとは、異なるブロック間で書き込み損失を分散させるブロック マッピング メカニズムを提供することです。 一部のブロックが最初に書き出され、SSD ディスク全体が無効になることはありません。 代わりに、一部の予約済みブロックが、期待される寿命の前に失敗したブロックを置き換えます。 このアルゴリズムにより、デバイス全体の寿命がフラッシュの最大寿命と同じになります。
一般に、ウェアレベリングを実現するために、ページベースのファイルストレージアルゴリズムが使用されます。 フラッシュメモリの物理アドレスと論理アドレスは 1 対 1 で対応していません。 SSD がデータ書き込み要求を受け取ると、順番に書き込むのではなく、書き込みが最も少ないユニットを見つけます。 したがって、書き込みデータ用に物理ブロックを動的に割り当てる場合、メモリ全体の各セルの耐用年数のバランスをとるために、各ブロックの使用状況に応じて対応する優先順位が割り当てられます。

