「dd if=/dev/zero」を使って MTD をクリアするのが「flash_eraseall」とどう違うのですか?

「dd if=/dev/zero」を使って MTD をクリアするのが「flash_eraseall」とどう違うのですか?

flash_eraseall <mtd device>すべてのMTD(デバイス)をクリアするコマンドが特に提供されています。これらとの違いは何ですかdd if=/dev/zero of=<mtd device>

答え1

SDD と MTD の両方に、寿命と特定の書き込み回数があります。初期MTDは、1000秒の消去/書き込みサイクルで評価されました。多くのMTDは実際にはブロックデバイスではありませんが、Linuxドライバはそれをエミュレートしてブロック層を提供します。あるいは、基本ハードウェアの標準ブロックサイズ(512)がはるかに大きい場合があります。連続した512バイトブロックを記録しますが、基本技術が4Kブロックの場合、基本ブロックは8回記録されます。一部のMTDでは、各書き込みはフラッシュセル全体を書き換える。

[このmtdblockドライバ]は、フラッシュフラッシュクリアブロック全体をRAMにキャッシュし、要求に応じてそれを修正し、ブロック全体をクリアして修正内容を書き換える方法で動作します。これは、mtdblockがいかなる最適化も試みず、停電時に多くのデータが失われることを意味します。最後に、mtdblockは摩耗レベリングやビット反転を実行しません。1

ほぼすべての MTD デバイスは完全な消去操作をサポートします。信頼性が高く完全な削除がある程度保証されるという利点に加えて、デバイスはより簡単で優れています。

一部のデバイスはゼロにリセットしないでくださいdd if=/dev/zero

  • SDD(ソリッドステートドライブ)
  • MTD(メモリ技術装置)
  • COWおよび他のシンプロビジョニングされた仮想ディスク

上記の理由でMTD。 COW(記録中のコピー)ファイルシステム/ディスクを使用すると、デフォルトのブロックドライバが以前に存在しなかったブロックを割り当てるように強制され、古い/既存のデータを上書きしないようになります。さらに、SDDは既存のブロックを上書きするのではなく、以前に書き込まれていないブロックを作成するCOWに似たいくつかの摩耗平準化アルゴリズムを使用します(したがって、データセキュリティのためにデバイスを0に設定することは賢明ではありません)。多くのSTAおよびSASデバイスは、起動時にBIOSが記憶および通信するマスターキーを使用してブロックレベルの暗号化を提供します。マスターキーをクリアまたはリセットするだけで、ブロックデバイスを効果的に消去できます。

関連情報