パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

SSD 内のデータを完全に消去するのは難しい」記事へのコメント

  • そうなると安全を保つためにはTruecrypt [truecrypt.org]あたりで最初から全領域を暗号化しておく、という方法がベストなんでしょうかね。

    #SSD上でのパフォーマンスはどうなんでしょ。

    • そうなると安全を保つためにはTruecrypt [truecrypt.org]あたりで最初から全領域を暗号化しておく、という方法がベストなんでしょうかね。

      #SSD上でのパフォーマンスはどうなんでしょ。

      最初からではなくて廃棄時に暗号化をして全領域使い切ってやればいいんじゃないでしょうか?
      こうすれば通常使用時のパフォーマンスには影響しない訳で。

      盗難時のリスクは別問題とします。

      # でも、それだったら暗号化しないでも全領域書き込みするだけで済みそうなもんだから
      # それでも消えないってことか。
      # 不良素子発生時用に用意された領域を使い切らないとダメなのかな?
      # ・・・って、SSDとしての寿命をほとんど使い切ってからってことですよね・・・
      # ・・・物理的破壊と変わらないじゃないか・・・

      • by Anonymous Coward on 2011年03月03日 14時35分 (#1911492)

        SSDの場合代替領域やらウェアレベリングやらのせいでどこまでやれば「全領域使い切ってやれ」たことになるのか
        さっぱり分からんという問題が理解できないんですかね?

        親コメント
        • by kicchy (4711) on 2011年03月03日 15時32分 (#1911530)

          SSDの場合代替領域やらウェアレベリングやらのせいでどこまでやれば「全領域使い切ってやれ」たことになるのか
          さっぱり分からんという問題が理解できないんですかね?

          後から理解した、という書き込みのつもりが・・・(´・ω・`)

          親コメント
          • by Anonymous Coward

            別ACだが、ウェアレベリングでググれ。

            ある物理セクタに書込みが集中すると、SSDのコントローラは残り寿命の多いブロックをその物理セクタに割り当てる。
            HDDとは違って代替領域も含めて常にローテーションするので、ここが代替領域と言うブロックは存在しない。
            同じ物理セクタにアクセスしてるつもりでも割り当てられるブロックは動的に変化してしまう。
            つまりSSDの外からはフラッシュメモリ上の全てのブロックを消去できない。

            そしてフラッシュメモリのチップを剥がしてアクセスすればデータサルベージ出来るというのがこの論文。

            • by kicchy (4711) on 2011年03月04日 14時30分 (#1912250)

              えーっと、それは分かります。

              ・・・でも、不安になったので次の認識があっているかどうか見ちゃってください。

              物理的なデータの管理場所が分からないので、
              全領域使い切ったあといくら書き込んでもコントローラが避けて上書きされない場所が
              存在する「可能性がある」ということ。
              それが無くなるには、不良素子用に確保されている余剰記憶領域を使い果たして
              ファイルシステムで管理しているデータ領域が全てむき出しになった時。
              その上で、全体にランダムデータを書き込めばコントローラがいくら書き込みをバラしても
              生きている素子全部に書き込みされることになるので、消せるかな、と思った次第です。
              でも、そうなったらSSDとしての寿命は尽きかけているし
              そういう状態にSSDが陥っていると言う事は、外からは判断できないんだろうなぁ、と。

              # 元ネタ当たってないので、不良素子化したとこからデータをサルベージできるって話ならごめんなさい
              # もしそうなら、始めから暗号化しておかないとアウトですから・・・

              親コメント
              • by Anonymous Coward

                > HDDとは違って代替領域も含めて常にローテーションするので、ここが代替領域と言うブロックは存在しない。
                って説明してくれているのに、なんでその直後に

                > それが無くなるには、不良素子用に確保されている余剰記憶領域を使い果たして
                なんて書けるんだ?

              • by kicchy (4711) on 2011年03月04日 17時34分 (#1912426)

                > HDDとは違って代替領域も含めて常にローテーションするので、ここが代替領域と言うブロックは存在しない。
                って説明してくれているのに、なんでその直後に

                > それが無くなるには、不良素子用に確保されている余剰記憶領域を使い果たして
                なんて書けるんだ?

                ん?ってことは、SSDは不良ブロックも使い回すの?!
                さすがに不良が判明したブロックはパージするでしょ???
                ・・・・違うの・・・?

                親コメント
              • by Anonymous Coward

                もちろんエラーが発生したブロックはパージされるけど、それは(狭義の)ウェアレベリングとは別の話。
                HDDの代替セクタ処理に似ていると思うかもしれないが、不良が発生しなくても再割り当てされる点が違う。
                コントローラによっては書き込みの度に残り寿命の多いブロックが割り当てられるらしい。

                えーと、基本的な事だから知ってるとは思うけど・・・
                NANDフラッシュは書き込む度に劣化して、SLCで10万回、MLCで数千回~1万回の寿命といわれている。
                その書き込み寿命を平均化するために、あるセクタを別のブロックに再配置する作業がウェアレベリングとよばれる。

                これをやらないと、例えば昔のUSBメモリではFATが真っ先に死滅して全体が使えなくなってしまったりする。
                普通に代替処理をしても代替領域を使い潰したら、たとえ空き領域が大量にあっても詰んでしまう。
                つまり書き込み回数を平均化することで製品寿命を延ばすための機能。

              • by kicchy (4711) on 2011年03月07日 0時37分 (#1913606)

                話が全く通じていなかった・・・・(´・ω・`)

                # ウェアレベリングは十分に知っています・・・
                # それがあるために、代替領域が無くなる必要があるという話だったんですが・・・
                # ウェアレベリングと代替領域の話をつなげてもらえないでしょうか・・・

                親コメント
              • by Anonymous Coward

                # それがあるために、代替領域が無くなる必要があるという話だったんですが・・・

                え?どういう意味ですか?
                代替領域を大事に温存してても意味が無いだけで、別にあってもいいんですよ?
                代替領域をもつくらいだったら、そのぶん公称容量+αでウェアレベリングするのが最近のトレンドですけど。

              • by Anonymous Coward

                そうか、ファイルシステムとしての代替領域とウェアレベリングで使う
                予備のブロックの話が混ざってたのか。
                すみません、代替領域と言ったのはウェアレベリングの冗長性を担保している部分の意味で話してました。

              • by Anonymous Coward

                先生、ウェアレベリングと冗長性はあまり関係ないと思います・・・

              • by kicchy (4711) on 2011年03月08日 13時49分 (#1914322)

                # 長文書いてて消えた・・・しかし一人でこんなに深くまで潜ったのは始めてっ☆

                SSDの容量一杯までファイルシステムにデータが詰まっている状況を考えてください。
                (話の簡便化のためにファイルシステム側にデータの冗長性はもたせてないとします。)
                いくらゴミみたいなデータが入っているかもしれないとは言え
                SSDからするとどれも大事なデータ様。
                ウェアレベリングがあるとはいえ、全てのブロックが利用されている状況ですよね。
                この状況でどこかが不良となれば即データロストです。

                しかし、そうはならないようにSSD側も表には見せていない容量というのがあり
                その領域を使って、ファイルシステムが詰まってきたときもウェアレベリングの質を落とさないようにしたり
                不良素子発生時のデータロストに備えているはずです。
                これが冗長性。

                で、↑の表に見せていない容量分の不良ブロックが出てきたら
                一触即発の状態になって、そうなって始めて全領域を潰せば完全消去になる。
                と言うのが今まで説明したかった話でして・・・

                「結局、この表には直接見えない領域があるためにデータの完全消去が逆に難しくなってるんだね!」
                っていう、気付きの話だったんです・・・・が、もはや何だかよく分からない事になってきてますね。

                # 色々難しいです。
                # (´・ω・`)

                親コメント
          • by Anonymous Coward

            > # 不良素子発生時用に用意された領域を使い切らないとダメなのかな?
            なんて書いてる辺りで全く理解できてないと判断できます。

計算機科学者とは、壊れていないものを修理する人々のことである

処理中...