SSDを非通電状態で放置しておくとデータが消える

というような話について調べてみました。

そもそも数年前に話題になっていたようです。

 SSDにはNAND Flash ROMが使われています。これは昔からの半導体ROM同様静電気を内部に溜め込んで記憶しています。ところが、最近は加工技術が微細化したために、リークが無視できなくなってきている、という話でした。

大騒ぎしていた人もいるようですが、結論から言えば非通電状態でも数年程度は持つようです。

で、私が気になったのはこの先の話です。

「通電していると消えないのか」

結論から言えば、どうやら消えるようです。NAND Flashは通電していようがいまいが記憶セルの静電気が漏れていきます。防ぐ方法はひとつしかありません。上書きすることです。

で、上書きの方法ですが

  • ソフトウェアが明示的に読み込んだ時にエラーが見つかると、SSD内蔵コントローラのエラー検出・訂正機能が訂正済みデータを書き込む(はず)。
  • ソフトウェアからの書き込みに対してSSD内蔵コントローラがウェアレベリングを行い、全体にまんべんなく書き込みを行う(はず)。

となります。

このうち、前者の方法を使ってデータを維持する場合は明示的に全面に対して定期的に均等読み込みをする必要があります。一方、後者の方法を使ってデータを維持する場合はSSD内蔵コントローラがウェアレベリングをする(はず)ので、一定時間ごとに一定量を書き込んでいれば問題ないはずです。

ということで、単に通電していても情報は消えるようです。で、具体的な対策ですが一番単純なのは多分定期的にチェックディスクを行うことです。チェックディスクはファイルシステムが使用しているセクタを全部読みます。これはディスクのセクタ・エラー検出機能を使って全セクタチェックを行うためです。これによってSSD内蔵コントローラもエラー訂正・修正後にセクタ書き込みをするチャンスを得ます。

多分、1ヶ月に1度位ディスクチェックをすれば万全でしょう。あるいは1年にSSD容量分の3倍くらい書き込み続ければデータは維持できると考えられます。

/* -----codeの行番号----- */