@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

雑談:SSDのウェアレベリングについてメモ

先日、Facebookで SSD のウェアレベリングについてコメントいただいたのですが、この仕組みについては勉強不足で良く知らないため、少し関連URLを読んでメモしておきたいと思います。まずはWikiで基本的な部分から覚えていきます・

ウェアレベリング - Wikipedia

つまり、あるブロックについての更新回数の値が、全ブロックの状態から計算される値など一定値を下回った場合に、当該ブロックの内容を空きブロックに転送し、移動させる(空きブロックが少ないか無い場合は、変更回数が少ないブロックとの間でブロックを転送し、入れ替える)。このようにして記憶媒体全体の変更回数を平準化させる。該当ブロックを「スワップ」した後は、前述のアドレス変換テーブルを更新する。これにより、ソフトウェアからはウェアレベリング動作を(積極的には)関知せずに読み書きを続けることができる。

ウェアレベリングには方式として、ダイナミックとスタティックという方式があるようですが、下記製品ではハイブリッド?な実装もあるようで、各社色々と工夫をされているようですね。

高速SATA 3Gbps 対応 SMART CFast | TECH JOURNAL | TDK

ウェアレベリングにはダイナミック方式とスタティック方式の2 タイプがあります。書き込みアドレスに割り当てられた物理メモリの範囲で、ウェアレべリングを実行するのがダイナミック方式。OS のような頻繁に更新されないスタティック(静的)データはそのままで、ダイナミックデータ(新しいデータ)のみ分散化する方式です。

 さて、この仕組みがデータ復旧などにどの様な影響があるのだろうか?と思ったのですが、下記URLの「データ復旧を妨げるウェアレベリング」の項目で説明されていました。

メモリセルの寿命を延ばすウェアレベリング|Logitec データ復旧技術センター

 

これとは別の話題とかも見ていると、感覚的なお話ですがSSDってなんか怖いなぁと思ってしまいますが、別に壊れるという点においてはHDDでも同じ事がありえるわけで、バックアップは大切ですねという事になりますね。どっちも壊れる原因は、たまたまかもしれないし、因果を求めてもデータが救えるわけではなさそうです。