有名なSDカードのプロデューサーは、自分のSDカードはウェアレベリングを使用していると宣伝しています。カードの空き容量が十分にあると、書き込みアクセスは空きメモリに均等に分散されます。
しかし、内蔵メモリコントローラはどのメモリセクタが未使用または未使用であるかをどのように認識しますか。
各フラッシュページは、ペイロード(すなわち、ユーザデータ)用のバイトと、メタデータおよびエラー訂正用の追加のバイトとからなる。これは、ページ(およびその中のセクター)の使用/割り当て方法と使用回数を示すメタデータです。
—
sawdust
それでいいのですが、どうすればメタデータを正しい情報で埋めることができますか?それぞれ、対応するメモリが未使用であることを示すためにメタデータにフラグを設定する方法はありますか。
—
wewa
できません。フラッシュのこれらの領域は、SDカードのコントローラ専用です。このコントローラーはウェアレベリングを実行します。なぜあなたはアクセスが必要だと思いますか?ところでウェアレベリングの概念には欠陥があります。ウェアレベリングには、次の状態は含まれません。 「未使用または無料」 。摩耗レベルは使用カウント、すなわちページが消去され書き込まれた回数を使用する。最も少ないカウントを持つページは、次の書き込みのための最初の選択です。
—
sawdust