SSDのデータ消去の仕組みについて

ここ最近、SSD(Solid State Drive)が内蔵されたPCが多くなってきていますので、SSDのデータ消去についてのニーズも高まってくると思われます。

SSDはハードディスクと全く違う仕組みで構成されているため、確実にSSD内部のデータを消去するためにはSSDに関する知識が必要となります。ハードディスクもそうですが、SSDに対してフォーマットなどを実施して廃棄処分やリース会社への返却などを行いますと情報漏洩のもとになりますので十分にご注意下さい。

本ページではSSDの仕組みについてHDDと比較しながら解説を致します。

SSDとHDDデータ消去時の大きな違い

HDDの場合、データが保存されている領域に対して「0」や「乱数」を上書きすることで、データ消去を行いますが、SSDの場合は保存されているデータ領域への上書き作業ができないという点が大きな違いです。

簡単に図解すると下記の様になります。

HDDのデータ消去を行う場合

HDDのデータ消去イメージ

上記の図は、HDDのデータ領域とします。(色がついているマスがデータのある場所だとします。)
HDDのデータを消去する場合は、それぞれのマスに「0」や「乱数」を上書きしていきます。

HDDのデータ消去イメージ

全てのマスに上書きが完了しますと、上の様に全てのデータ領域にデータが無い状態となりデータ抹消が完了したということになります。

SSDのデータ消去を行う場合

一方、SSDの場合はブロック単位でしかデータ消去ができないという特性があります。

SSDのデータ消去イメージ

仮に4つのマスで1ブロックと想定したイメージ図です。(色つきのマスがデータのある場所)

例えば「赤色」の箇所を消去する場合、ブロック単位でしかデータ消去ができないため、
同一ブロック内にある「水色」「青色」のデータはブロックコピーと呼ばれる処理が行われ、他のブロックへデータを逃がす工程が入ります。

SSDのデータ消去イメージ

これで、「赤色」マスのブロックを消去できる状態となります。

SSDのデータ消去イメージ

そして、ブロックごと消去をするのですが、もともとこのブロックにあったデータは他のブロックへコピーされていますので、データは残っている状態になります。

そこで、「単純にブロック単位で消去すればいいじゃないか」と疑問がわきますが、SSDでは「ウェアレベリング」という制御技術があるために、通常の方法ではブロックコピーを行わずに消去することはできません。

SSDのウェアレベリングとは

まず、ウェアレベリングについての解説の前に、SSDの構造について解説します。

  

上記写真はSSD(Intel製 SSD 330 Series 120GB)のケースを外し基板を取り出したものです。

SSDは大きく下記の3つのパーツに分かれています。

    1. コントローラー
    2. キャッシュメモリ
    3. フラッシュメモリ

 ※上記SSDは古いタイプのため、キャッシュメモリが非搭載

SSDはNAND型フラッシュメモリを利用しておりますので、データの書き込み回数に制限(寿命)があります。そのため、何度も利用するデータを同一のブロックばかりに保存していては、そのブロックの寿命が縮まりますので、均一にブロックを利用するようにデータ保存場所を変更しながら平滑化していく仕組みがとられています。

その制御方法がウェアレベリング(摩耗平滑化)と呼ばれ、コントローラーにて制御されています。
そして、ウェアレベリングによってSSDの寿命を延ばすことが可能になっています。

また、このコントローラーにはデータがどこのブロックに保存されているかをマッピングテーブルとして記録されています。

ウェアレベリングを回避すれば消去は可能

SSDのデータを消去する場合は、前述のウェアレベリングがある意味邪魔な存在となってしまいますが、このウェアレベリングを回避(無効化)することが出来ればデータ消去は可能になります。

SSDのデータ消去を行う方法

1.コントローラーが記録しているマッピングテーブルやメモリセルを消去することでフラッシュメモリに保存されたデータが読めない状態に戻す。(SSDの初期化)

(1.SSDの初期化を行った場合、フラッシュメモリ上には事実上データは残っていてもマッピングテーブルが消えているために、フラッシュメモリ内の情報だけではデータ復元は不可能となります。)

2.ウエアレベリングを無効にして、全てのブロックを消去する。

上記2点の方法は、Secure Erase/拡張Secure Eraseと呼ばれますが、実はこの消去機能はSSD内部に格納されております。

ただ、SSD内のSecure Eraseや拡張Secure Eraseのコマンドを実行させるためには、色々と制約があります。
例えば、内蔵SSDの場合、セキュリティの観点から消去コマンドを実行させないようにパソコン側で「Secure Freeze Lock」と呼ばれるロックがかかっているため、この「Secure Freeze Lock」を解除しなければなりません。ですが多くの機種の場合この解除ができない仕様になっているのが現状です。

仮に、Secure Freeze Lockが解除できたとしても、Windows 8以降の機種ではシリアルATA接続のSSDに対してSecure Eraseが出来ない仕様になっています。

外付けSSDであればSecure Erase/拡張Secure Eraseの実行が可能

前述の通り、内蔵SSDに対してSecure Eraseや拡張Secure Eraseを実行するのはほとんど不可能に近いです。ですが、USB変換ケーブルを利用して外付けSSDとすることでSecure Erase/拡張Secure Eraseを実行することが可能になります。

Serial ATA接続からUSBへと変換するケーブルは数多く存在していますが、SSD内部のコマンドを実行させるためのケーブルは数少ないため、せっかく変換ケーブルを購入してもSSDのデータ消去を行うことができないといった事が無いように注意が必要です。DiskDeleterの専用ケーブルであれば、弊社内でSSDのデータ消去が確実に行えるかどうか検証済みケーブルのため、安心してご利用頂けます。