(57)【要約】メモリを備えるデータ記憶装置からデータを削除する方法を開示するのであって、該方法は、既知のデータパターンをデータ記憶装置の複数の既知のメモリ位置に書き込むステップと、データ記憶装置にデータ削除手順を行わせるステップと、データ削除手順の完了後に既知のメモリ位置に格納されたデータを読み出すステップと、読み出されたデータと既知のデータパターンのデータとを比較するステップと、読み出されたデータと既知のデータパターンのデータとの間の比較の結果に少なくとも部分的に基づいて検証結果を決定するステップとを含む。
2020509467.tif 000002
【特許請求の範囲】
【請求項１】
メモリを備えるデータ記憶装置からデータを削除する方法であって、該方法は、
既知のデータパターンを前記データ記憶装置の複数の既知のメモリ位置に書き込むステップと、
前記データ記憶装置にデータ削除手順を行わせるステップと、
前記データ削除手順の完了後に前記既知のメモリ位置に格納されたデータを読み出すステップと、
前記読み出されたデータと前記既知のデータパターンのデータとを比較するステップと、
前記読み出されたデータと前記既知のデータパターンのデータとの間の前記比較の結果に少なくとも部分的に基づいて、検証結果を決定するステップとを含む、方法。
【請求項２】
請求項１に記載の方法において、前記データ記憶装置は暗号化データ記憶装置を備える、方法。
【請求項３】
請求項１又は２に記載の方法において、下記の少なくとも１つが該当する方法：
ａ）前記データ記憶装置の前記複数の既知のメモリ位置は、物理的な位置である、
ｂ）前記データ記憶装置の前記既知のメモリ位置は、論理ブロックアドレッシング（ＬＢＡ、logical block addressing）を用いて定義されている、
ｃ）前記書き込み及び／又は読み出しは、前記メモリと関連付けられているファイルシステム及び／又はファイル転送プロトコルを用いないでなされる。
【請求項４】
前記いずれかの請求項に記載の方法において、前記データ削除手順は、前記アドレス可能なメモリの実質的に全てからデータを削除することを含む、方法。
【請求項５】
前記いずれかの請求項に記載の方法において、前記データ削除手順は、さらなるデータパターンを前記メモリへと書き込むことを含む、方法。
【請求項６】
請求項５に記載の方法において、前記さらなるデータパターンは次の少なくとも１つを含む、方法：予め定義された静的なパターン；全て１からなるパターン；全て０からなるパターン；ランダムなデータパターン；少なくとも１回反復された一連の１及び０からなるパターンであって、例えば少なくとも１回反復された０ｘ５５、０ｘＡＡ又は０ｘ３Ｃシリーズからなるパターン；周期的に反復された一連の１及び０からなるパターンであって、例えば周期的に反復された０ｘ５５、０ｘＡＡ又は０ｘ３Ｃシリーズからなるパターン。
【請求項７】
前記いずれかの請求項に記載の方法において、前記データ削除手順は、データを暗号化及び／又は復号化をするために用いられる鍵を置換又は削除することを含む、方法。
【請求項８】
前記いずれかの請求項に記載の方法において、前記読み出されたデータと前記既知のデータパターンの前記データとについて所定の割合又は量が相違するかに応じて肯定的な検証結果を提供するステップを含む、方法。
【請求項９】
前記いずれかの請求項に記載の方法において、前記読み出されたデータと前記既知のデータパターンの前記データとについて全てが相違するかに応じて肯定的な検証結果を提供するステップを含む、方法。
【請求項１０】
前記いずれかの請求項に記載の方法において、前記読み出されたデータと前記既知のデータパターンの前記データとについて所定の割合又は量が実質的に同じであるかに応じて否定的な検証結果を提供するステップを含む、方法。
【請求項１１】
前記いずれかの請求項に記載の方法において、
前記否定的な検証結果の提供に応答して：
前記データ記憶装置に前記データ削除手順を追加的に１回以上行わせるステップ、及び／又は、
前記データ記憶装置が破壊されるべきことを示すステップ、及び／又は、
代替的な削除手順を行うステップをなす、方法。
【請求項１２】
前記いずれかの請求項に記載の方法において、前記データ記憶装置の総データ記憶容量の所定の割合又は量、例えば前記データ記憶装置の前記総データ記憶容量の少なくとも１％、２％、５％、又は１０％、について前記既知のデータパターンを書き込むステップを含む、方法。
【請求項１３】
請求項１２に記載の方法において、前記データ記憶装置の前記総データ記憶容量についての前記所定の割合又は量に依存して前記既知のデータパターンを生成するステップを含む、方法。
【請求項１４】
前記いずれかの請求項に記載の方法において、前記メモリの複数の領域を選択するステップと、前記既知のデータパターンを前記領域の各々に書き込むステップとを含む、方法。
【請求項１５】
請求項１４に記載の方法において、下記の少なくとも１つが該当する方法：
前記メモリの前記複数の領域は、前記メモリの一帯に分布している；
前記メモリの前記複数の領域は、前記メモリ内の物理的な位置について実質的に周期的に分布している；
メモリの前記複数の領域は、物理メモリ空間内にて選択された間隔によって隔ててある；
前記メモリの前記複数の領域は、ランダムに分布し得る；
前記メモリの前記複数の領域は、前記メモリについての所与のサブセット内にてランダムに選択されていることができる；
各領域について１つ設けられる複数の等しいサイズの区域に前記メモリを論理的にスライスして、対応する１つの前記区域内において前記メモリの各領域を選択することによって、前記メモリの前記複数の領域は、選択され得る；
メモリの前記複数の領域は、論理ブロックアドレッシング（ＬＢＡ、logical block addressing）を用いて定義される。
【請求項１６】
前記いずれかの請求項に記載の方法において、
前記既知のデータパターンは、再現可能である、
前記既知のデータパターンは、予め定義された静的なパターンを備える、
前記既知のデータパターンは、アルゴリズム又は公式を用いて生成される、
前記既知のデータパターンは、少なくとも２つの異なるデータ値を備える、
前記既知のデータパターンは、少なくとも１回反復された一連の１及び０からなるパターンであって例えば周期的に反復された１及び０からなるシリーズからなるパターンを備える、
前記既知のデータパターンは、少なくとも１回反復された０ｘＢ５シリーズからなるパターンであって例えば周期的に反復された０ｘＢ５シリーズからなるパターンを備える、
前記既知のデータパターンは、一連の１及び０の複数インスタンスからなるパターンであって例えば０ｘＢ５シリーズの複数インスタンスからなるパターンからなる、及び／又は
前記既知のデータパターンは、既知の固定シードを伴って乱数生成器（ＲＮＧ、random number generator）を用いて生成される
こととなる、方法。
【請求項１７】
前記いずれかの請求項に記載の方法において、予備検証手順を行うステップであって：
前記メモリから読み出されたデータの所定の割合又は量が実質的に同一であるかを決定することを含む、ステップを含む、方法。
【請求項１８】
請求項１７に記載の方法において、前記メモリから読み出されたデータの所定の割合又は量が実質的に同一であるか一貫した値を有している場合には肯定的な予備検証結果を提供し、その余の場合には否定的な予備検証結果を提供するステップを含む、方法。
【請求項１９】
請求項１７又は１８に記載の方法において：
前記メモリから読み出されたデータの所定の割合又は量が全てバイナリのゼロであるか、全てバイナリの１であるか、反復する一貫した任意の他のパターンであって例えば０ｘＣＣか０ｘＡＡか任意の他の明らかに反復するパターンであるかを決定するステップと、
前記メモリから読み出されたデータの所定の割合又は量がバイナリのゼロづくしであるか、バイナリの１づくしであるか、反復する一貫した任意の他のパターンであって例えば０ｘＣＣか０ｘＡＡか任意の他の明らかに反復するパターンである場合には肯定的な予備検証結果を提供し、その余の場合には否定的な予備検証結果を提供するステップとを含む、方法。
【請求項２０】
請求項１７〜１９のいずれかに記載の方法において、否定的な予備検証結果の提供に応答して前記検証結果を決定するステップをなすステップを含む、方法。
【請求項２１】
前記いずれかの請求項に記載の方法において、前記データ記憶装置は次の少なくとも１つであるか次の少なくとも１つを備える、方法：自己暗号化ドライブ（ＳＥＤ、self-encrypting drive）、ＨＤＤ、ＳＳＤ、不揮発性メモリ、フラッシュメモリ、ＮＡＮＤフラッシュメモリ、ＲＡＭ、任意の種類のメモリカードであって例えば埋込型ＭＭＣ（ｅＭＭＣ）等の任意の種類のマイクロメディアカード（ＭＭＣ）やＳＤカード（登録商標）等の任意の種類のメモリカード。
【請求項２２】
前記いずれかの請求項に記載の方法において、前記データ記憶装置は前記データ記憶装置に固有なデータ削除ルーチンであって随意的にはファームウェアで実装されたデータ削除ルーチンを格納しているか該ルーチンと関連付けられており、前記データ削除手順を実行するように構成されており、また、該方法は、データ削除装置によって前記データ削除ルーチンの実行を命令するステップを含む、方法。
【請求項２３】
前記いずれかの請求項に記載の方法において、前記データ記憶装置はハードウェア、ファームウェア、及びソフトウェアの少なくとも１つを備えており、また、前記データ削除手順は前記データ記憶装置の前記ハードウェア、ファームウェア、及びソフトウェアの少なくとも１つによって定義される、方法。
【請求項２４】
前記いずれかの請求項に記載の方法において：前記データ記憶装置又は前記データ記憶装置を含む装置を外部処理資源に接続するステップと；前記既知のデータパターンの書き込み、前記データ削除手順の実行、前記データの読み出し、及び、前記検証結果の決定の少なくとも１つを、前記外部処理資源の制御下で行うステップとを含む、方法。
【請求項２５】
データ削除装置であって、
既知のデータパターンをデータ記憶装置の複数の既知のメモリ位置にわたって書き込み、
データ削除手順を行うか前記データ記憶装置にデータ削除手順を行わせ、
前記データ削除手順の完了後に前記既知のメモリ位置に格納されたデータを読み出し、
前記読み出されたデータと前記既知のデータパターンのデータとを比較し、
前記読み出されたデータと前記既知のデータパターンのデータとの間の前記比較の結果に少なくとも部分的に基づいて、検証結果を決定するように構成された、データ削除装置。
【請求項２６】
コンピュータ実行可能命令を備えたコンピュータプログラム製品であって、該命令は：
既知のデータパターンを前記データ記憶装置の複数の既知のメモリ位置にわたって書き込むステップと、
前記データ記憶装置にてデータ削除手順を行うステップと、
前記データ削除手順の完了後に前記既知のメモリ位置の各々に格納されたデータを読み出すステップと、
前記読み出されたデータと前記既知のデータパターンのデータとを比較するステップと、
前記読み出されたデータと前記既知のデータパターンのデータとの間の前記比較の結果に少なくとも部分的に基づいて、検証結果を決定するステップとを実行させる、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はデータ記憶装置、例えば暗号化ドライブ或いは随意的には自己暗号化ドライブ、についてなすデータ削除用の方法及び装置に関する。
【背景技術】
【０００２】
データ記憶装置について新たな目的への転用、新ユーザへの再割当、又は退役を行う場合、機密データ等のデータをデータ記憶装置から除去することが望ましいとされ得る。強化されたプライバシに向かっての絶え間ない前進、並びに、データ保護法制、並びに、環境関連規制の導入を考慮すると、データ記憶装置から効果的にデータ削除をなすことの重要性が強調されていると言えよう。
【０００３】
国際的なデータ削除規格は存在しているのであり、様々なタイプのデータ記憶装置からセキュアにデータ削除をなすためにどのような動作が要求されているかがこれらによって定義されている。諸々のデータ削除規格は充足されるべき様々な検証要件を具体的に特定しており、該要件によって様々なタイプのデータ記憶装置からデータが実効的に消去されたことについての保証がもたらされる。
【０００４】
データ記憶装置からデータを除去することについての既知の手法としては次の手法が挙げられる：データ記憶装置の外部のデータ削除装置を用いて既定のデータパターンを書き込んで、データ記憶装置の全体を埋め尽くして、機密データが冗長データ又はnullデータで置き換えられるようにする手法。既定のデータパターンは通常は、準拠する削除規格の要件に応じてデータ削除装置によって決定される。代替的には、データ記憶装置はファームウェアを含むことができ、該ファームウェアはデータ記憶装置内に格納された機密データを上書きするための、データ記憶装置によって行われる内部削除手順を定義していることができる。内部削除手順は、データ記憶装置の外部のデータ削除装置によって開始され得る。用いられる具体的な内部削除手順は、データ記憶装置のタイプ及び／又はデータ記憶装置とデータ削除装置との間で用いられるインタフェースのタイプに応じて異なり得る。例えば、自己暗号化ドライブ（ＳＥＤ、self-encrypting drive）については暗号学的削除手順が知られており、該手順では、格納データの復号のために用いられる暗号鍵が変更されて、これによって格納データが無意味なものと化する。これによると、ＳＥＤからの読み出しによって得られるデータは、暗号学的削除の前後において異なるものとなり得るのであり、これは新たな鍵を用いてデータが復号される故に起こる。問題とされているデータが当初は異なる鍵を用いて暗号化されていた故に、新たな鍵を用いて復号化を行うと、物理装置上の格納データが不変であっても、無意味な或いは外見上はランダムなデータが結果的に出力されることとなる。このことは図１Ａ及び１Ｂに示されており、これらの図では、暗号学的削除（即ち、鍵の置き換え）の前後において出力される復号化データの論理表現が提示されている。暗号学的削除の前後において読み出されるデータは、物理装置上に格納されており読み出し手順の対象とされるデータが変わっていないにもかかわらず、異なるものと化していることに留意されたい。
【０００５】
ハードディスクドライブ（ＨＤＤ、hard disk drive）用には上書き削除手順と称される手順が知られており、該手順では格納データが既定データパターンで置換される。例えば、図２Ａ及び２Ｂに示すように、ＨＤＤのメモリを二進値のゼロで上書きする手法が知られている。ソリッドステートドライブ（ＳＳＤ、solid state drive）用にはブロック削除手順も知られており、該手順ではＮＡＮＤフラッシュメモリに対してブロック削除（トンネルリリース）が行われる。
【０００６】
もっとも、そのような内部削除手順を用いる場合、所定の削除規格によって定立された検証要件を充足することが困難となり得る。なぜならば、特定のデータ記憶装置によって用いられる具体的な内部削除手順の正確な詳細事項が未知であるか提供されていない場合があるからである。例えば、内部削除手順の結果が、データ記憶装置のメモリがランダムデータ（或いは「ランダム風」のデータ）で上書きされたという結果、又は、暗号学的削除手順の使用によってランダム風のデータがもたらされたという結果である場合、次のことに関して検証することがとても困難となり得る：内部削除手順完了後にデータ記憶装置内に格納されたデータが内部削除手順の一環として成功裏に書き込まれたのか否か、或いは、格納データが内部削除手順完了後に暗号学的削除手順の使用の結果によって変更されたか否か、或いは、格納データが（データ削除手順の失敗故に）内部削除手順前にデータ記憶装置内に以前格納されていたデータと同じか否か。これがために、データ削除手順が実際には成功していたにもかかわらず、データ記憶装置にてデータ削除手順の失敗が生じたものと看做され得る。そうすると、失敗事象を伴ったデータ記憶装置についてデータ削除手順が反復されたり、さらには失敗事象を伴ったデータ記憶装置が不必要に破壊されたりすることになってしまい得る。
【０００７】
内部削除手順の実行前にデータ記憶装置に格納されたデータを読み出すこととなっており、次の用途に読み出しデータを用いるのであれば、読み出しデータを一時的に格納しておくかキャッシュしておくことを要する：削除手順の実行後に装置から読み出されたデータとの比較用途に用いる場合。一部のタイプのデータ記憶装置のデータ記憶容量を考慮すると、所定の削除規格を充足するに足りる程の（一部のタイプのデータ記憶装置の総データ記憶容量に対しての）割合を格納又はキャッシュすることは純粋に実用性に欠けることとなり得る。例えば、容量５００ＧＢのドライブの１０％を格納又はキャッシュするためには、５０ＧＢもの一時的記憶容量を要することとなるのであり、例えばＲＡＭを用いては該容量を達成するのは実際的には困難又は不可能となり得る。また、データを、データ記憶装置及びデータ削除装置からリモートな場所に一時格納することがセキュリティリスクとなり得る。例えば、キャッシュ済みデータについて述べるに、その格納場所が第三者に知れてしまった場合や他の態様を通じて危険に曝されている場合、潜在的なセキュリティリスクとなり得る。
【０００８】
既知のデータ削除規格についての更なる詳細事項を提供するために、国際的な規格（削除規格）も存在するのであり、これらはあらゆるタイプの媒体からデータをセキュアに削除するための動作を定義している。これらの規格はどの機関が発行主体であるかに応じて異なり得るものであるも、記憶テクノロジやハードコピーや例えばファクシミリ装置又はネットワークルータ等のデータを記憶できる他のアセット等についてどのような具体的な方法を用いてサニタイズを行うことを要するかについて枠組みを示している。これらの要件中においては、処理の検証段階に着眼した明示的な規制が存在する。該規制はデータが除去／破壊されたことについて保証をもたらすためのものであり、手動的な又は自動化された方法を包含している。
【０００９】
ホストコンピュータ／ラップトップ機／サーバマシンに接続された記憶域について論じるに、様々な異なるインタフェースが存在する（ＡＴＡ、ＳＡＴＡ、ＰＡＴＡ、ＡＴＡ、ＡＴＡＰＩ、ＳＣＳＩ、ＳＡＳ、ＵＳＢ、ＰＣＩｅ、ＮＶＭｅ等、並びにそれらのマシンがホストマシン接続及び通信する態様について標準化を図る諸々の標準（例えば、ＳＡＴＡやＰＡＴＡやＡＴＡやＡＴＡＰＩ標準等））。
【００１０】
これらのインタフェースと関連付けられている公表済み規格は、あらゆるディスク機能を行うための手法を律し得る。これらのインタフェース規格は、一般には、ドライブ製造者等の主要利害関係者によって管理されており、ソフトウェアが記憶装置を利用してそれと相互作用してデータの記憶や読み出しを可能とするために提供されるのであり、一方でその完全性についても意図されている。
【００１１】
記憶アセットからデジタルデータを除去するための主要な手法においては、既定のデータパターンを書き込んで記憶装置全体を飽和させて、それによって機密情報を冗長データ又はnullデータで置換する。記憶アセットがコンピュータに取り付け可能である場合（例えばＨＤＤの場合）においては、これらの手法は多くの場合ホストアプリケーションによって行われるのであり、該アプリケーションが（通常は、採用される削除規格の要件に基づいて）パターンを決定して、それを装置のアドレッシング可能領域の全域に亘って適用する。代替的には、記憶装置のファームウェアによって実行できるサニタイゼーション命令も存在するのであり、該命令によればデータ削除を行うことができる。これらの命令は異なるインタフェース毎に多少異なり得るのであり、ホストアプリケーションによって開始されるも、装置自体によって行われる。一部の場合においては命令がデータの上書きをなすが、幾つかのヴァリエーションがある：
・暗号学的削除（ＳＥＤ専用）
−データ暗号化鍵が変更されて格納データが無意味と化す。
・上書き（ＨＤＤ用に設計）
−ユーザデータをホスト指定型パターンと置換するファームウェアベースド上書きコマンド。
・ブロック削除（ＳＳＤ用に設計）
−例えばトンネルリリースや任意の他の適切な手法等を用いて装置のユーザデータ領域を削除するために該手法を用い得る。
【００１２】
例えば上記にて概説したようなファームウェア削除命令をデータ削除の主たる手段として用いた場合、データ削除の効率性は、これらのファームウェア命令が規格に準拠して作用したか否かに依存し得るのであり、ここで検証行為が主要な役割を果たすことになる。なぜならば、データを読み返すことによってユーザデータが残存していないことを確認して削除行為の成功（或いはその余事象）を確認することができるからである。
【００１３】
上述のファームウェア削除処理は一般的にはそれぞれのドキュメンテーションによって規格化されている。これらの文献の中には、特定のタスクをなすように要請された場合に記憶装置がどのように振る舞うべきかについての説明が含まれている。削除命令に関しては、仕様ドキュメントは詳細、例えば上書き時にドライブが書き込むべきデータパターンや設定すべきプロパティやフラグ等、について宣言する。
【００１４】
（削除規格によって提供される）義務づけられた検証要件を充足しようとした場合に問題が生じる。例えば、インタフェース規格（例えば、ＡＴＡ、ＡＴＡＰＩや任意の他の適切な規格）がもたらされていても、該規格はファームウェア命令が何をすべきかについて漠然とした情報だけ与えるものである場合があったり、製造者が規格外のタスク遂行手段や誤ったタスク遂行手段を実装している場合があったりし得るのであり、どちらの場合でも検証困難な結果がもたらされる。
【００１５】
ファームウェア命令の結果が、ドライブがランダムデータで装置を上書きをなしたという結果である場合（或いは暗号学的削除によってランダム風のデータがもたらされた場合）、削除ソフトウェアが（検証処理中に）次の点について知ることが困難となり得る：このデータが、ドライブのファームウェアソフトウェアによって実際に書き込まれたのか、暗号学的削除の結果として変更されたのか、それとも従前からのデータと同じデータであり削除動作中にエラーが生じたのか。削除ツールは、削除が成功裏に完了されたことを保証できるようになるためには、削除がなされた当時において装置上に何が書かれていたのかを知っている必要がある（事前状態及び事後状態の比較）。削除前にドライブのスナップショットを取り得るが、装置のスケール及びサイズ故にこれは実際的なタスクとはならず、また、どこにそのようなスナップショットが格納されるべきかという論点も提起されてしまう。ＲＡＭに格納しようとしても、検証すべき装置容量の割合の最低要件を充足しつつ、データの格納及びタスクの実行を共になすために十分な容量があるとは限らない。その他の場所にデータを格納したのでは、セキュリティリスクを惹起しかねない。
【００１６】
この結果、削除処理について必ずしも不合格判定が出されなくても良い場合にもドライブについて不合格判定が出されているということが起こる。このことの理由は、例えば、削除ソフトウェアが一律のパターンで一杯に満たされたドライブを想定する一方で、「ランダム」なデータを発見してしまい、処理を不合格と看做してしまうという点に求められる。このランダムデータは装置によって書き込まれたか暗号学的削除によって書き込まれたものである場合があり、その場合には削除は実際には成功しており、ユーザの要求を満たすのに適していることになる。この結果、例外が発動されて（誤って）不合格とされてしまった装置を再処理するのに時間が浪費されてしまい、不必要にハードウェアが破壊されることになりかねない。
【００１７】
実際に、データ削除が大規模になされる業界ではこの問題が悪化する（例えば、ＩＴアセット処分業界）。この局面では、時間の浪費は装置のＲＯＩに多大な影響を与え得るのであり、運用者は、再度削除を試みたり不合格の理由を理解したりしようとはせずに、一見すると誤作動しているアセットを破壊してしまう方向に流されやすくなり得る。ドライブが削除を適切に行っているのか否かについて理解するために、また、これらの事項をユーザに報告するためには、より先進的な処理が必要である。例えば、中規模の施設では、年間８０，０００台前後のドライブを削除している場合があり、１台の装置の正常な削除のために数時間を費やしている場合がある。したがって、データ削除仕様を充足せずに不合格となる装置の発生率について幾らかでも削減できれば、時間及び金銭面で相当な節約をもたらし得る。
【発明の概要】
【００１８】
以下のいずれかの態様又は実施形態の１つ以上の任意の特徴は、他のいずれかの態様又は実施形態の１つ以上の任意の特徴と、組み合わせることができるということに留意されたい。例えば、方法の特徴は装置の特徴として適用でき、その逆もまた然りである。
【００１９】
第１の態様によれば、メモリを備えるデータ記憶装置からデータを削除する方法を提供するのであって、該方法は、
既知のデータパターンをデータ記憶装置の複数の既知のメモリ位置にわたって書き込むステップと、
データ記憶装置にデータ削除手順を行わせるステップと、
データ削除手順の完了後に既知のメモリ位置に格納されたデータを読み出すステップと、
読み出されたデータと既知のデータパターンのデータとを比較するステップと、
読み出されたデータと既知のデータパターンのデータとの間の比較の結果に少なくとも部分的に基づいて、検証結果を決定するステップとを含む。
【００２０】
データ削除手順は、データ記憶装置内にて内部的に行われ得る。データ削除手順は予め定義されていることができる。例えば、データ記憶装置はハードウェア、ファームウェア、及びソフトウェアの少なくとも１つを備えていることができ、また、データ削除手順はデータ記憶装置のハードウェア、ファームウェア、及びソフトウェアの少なくとも１つによって定義されていることができる。
【００２１】
データ記憶装置は、暗号化データ記憶装置を備え得る。
【００２２】
複数の既知のメモリ位置は、物理的な又は論理的なメモリアドレスたり得る。既知の位置は、選択された及び／又は既定の位置を備え得る。データパターンは、異なる位置について異なることができ、又は、異なる位置について同じデータパターンの異なる部分を用いることができる。データパターンは、異なる位置について同じであることができる。
【００２３】
方法は、データ記憶装置の複数の既知のメモリ位置にわたって直接的に既知のデータパターンを書き込むステップを含むことができる。
【００２４】
書き込み及び／又は読み出しは、メモリと関連付けられているファイルシステム及び／又はファイル転送プロトコルを用いないで及び／又はそれらとは独立に、行われ得る。
【００２５】
方法は、任意の種類のファイル転送プロトコルに頼らず、及び／又は、装置と関連付けられているファイルシステムを用いないものとされ得る。つまり、利用可能なアドレス可能メモリ空間の全てを削除し得るのであり、潜在的に削除可能なメモリアドレスはデータ記憶装置の任意のファイルシステム構成（例えば、ファイルシステムが存在している論理パーティションを含む）によって限定はされていないことになる。
【００２６】
データ記憶装置の複数の既知のメモリ位置は、論理ブロックアドレッシング（ＬＢＡ、logical block addressing）を用いて定義され得る。複数の位置は、論理ブロックアドレスたり得る。ＬＢＡでは、データ記憶装置のあらゆる且つ全てのメモリブロックをデータの読み書きの見込みある対象と看做し得るのであり、データ記憶装置に存在しているかその上に設けられているかもしれない任意のファイルシステム内のルートファイルシステムに対応する場所も含まれる。方法は、記憶域のアドレス可能エリアを単一のものとして観念することができ、任意のファイル又は格納情報がどこから始まりどこで終わるかは知る術がないものとできる。ファイルについてのメタデータは認知されないかも知れず、既知のデータパターンは単に「その場で」上書きされるだけかも知れない。方法は、ファイルシステムに管理させずに、特定のＬＢＡ範囲を適用対象とすることができる。ＬＢＡを用いることによって、あらゆる種類の断片化を回避し得る。なぜならば、既知のデータパターンはデータ記憶装置のメモリへと直接的に書き込まれるからである。ＬＢＡを用いることによって、データの位置についてのあらゆる不明瞭化を回避し得る。ＬＢＡを用いることによって、ファイルシステムを介さずに直接的にディスクアクセスを行い得る（これによって、例えばより多くの制御を効かし得る）。
【００２７】
データ削除手順は、アドレス可能なメモリの実質的に全てからデータを削除することを含み得る。
【００２８】
データ削除手順は、さらなるデータパターンをメモリへと書き込むことを含み得る。
【００２９】
さらなるデータパターンは次の少なくとも１つを含み得る：予め定義された静的なパターン；全て１からなるパターン；全て０からなるパターン；ランダムなデータパターン；少なくとも１回反復された一連の１及び０からなるパターン又は任意の他の適切なパターンであって、例えば少なくとも１回反復された０ｘ５５、０ｘＡＡ又は０ｘ３Ｃシリーズからなるパターン；周期的に反復された一連の１及び０からなるパターン又は任意の他の適切なパターンであって、例えば周期的に反復された０ｘ５５、０ｘＡＡ又は０ｘ３Ｃシリーズからなるパターン。
【００３０】
データ削除手順は、データを暗号化及び／又は復号化をするために用いられる鍵を置換又は削除することを含み得る。
【００３１】
読み出されたデータと既知のデータパターンのデータとを比較するステップは、次のステップを含み得る：既知のデータパターンを再生成又は複製するステップ、及び、その再生成又は複製後に読み出されたデータを既知のデータパターンのデータと比較するステップ。
【００３２】
このような方法によれば、データ削除手順の正確な詳細を把握せずとも、データ記憶装置によってなされたデータ削除手順について検証可能となり得る。また、このような方法によれば、データ記憶装置がデータ削除手順をなす前にデータ記憶装置内に格納された機密データを一時的に格納又はキャッシュすることについての任意の要件を回避し得る。
【００３３】
方法は、読み出されたデータと既知のデータパターンのデータとについて所定の割合又は量が相違するかに応じて肯定的な検証結果を提供するステップを含み得る。読み出されたデータと既知のデータパターンのデータとについての所定の割合又は量は、１つ以上のデータ削除規格によって定義されるか及び／又はユーザ定義可能とされ得る。方法は、読み出されたデータと既知のデータパターンのデータとについて全てが相違するかに応じて肯定的な検証結果を提供するステップを含み得る。所定の割合又は量は方法の実行前に選択された割合又は量たり得るのであり、例えば、方法の実行直前に選択されたり予め保存されたりしたものたり得る。
【００３４】
方法は、読み出されたデータと既知のデータパターンのデータとについて所定の割合又は量が実質的に同じであるかに応じて否定的な検証結果を提供するステップを含み得る。読み出されたデータと既知のデータパターンのデータとについての所定の割合又は量は、１つ以上のデータ削除規格によって定義されるか及び／又はユーザ定義可能とされ得る。方法は、読み出されたデータ及び既知のデータパターンのデータの１以上のバイト、例えば所定の若しくは選択されたバイト数若しくはバイトの割合、が実質的に同じであるかに応じて否定的な検証結果を提供するステップを含み得る。不合格例えば否定的な検証の条件は、読み出されたデータ及び既知のデータパターンのデータが任意の所定の許容水準に達する程合致しているということとし得る。１つの極論においては、許容水準については、否定的な結果を返すためには読み出されたデータと既知のデータパターンのデータと間でたった１つのバイトが合致することを要するものとし得る。代替的には、方法は、読み出されたデータ及び既知のデータパターンのデータが互いに実質的に同じであるか或いは任意の選択された許容水準に応じて否定的な検証結果を提供するステップを含み得る（例えば、データを対応する論理位置又は物理位置にて比較すること）。
【００３５】
方法は、否定的な検証結果の提供に応答して以下のステップをなし得る：
データ記憶装置にデータ削除手順を追加的に１回以上行わせるステップ、及び／又は、
データ記憶装置が破壊されるべきことを示すステップ、及び／又は、
代替的な削除手順を行うステップ。
【００３６】
方法は、データ記憶装置の総データ記憶容量の所定の又は選択された割合又は量にわたって既知のデータパターンを書き込むステップを含み得る。例えば、データ記憶装置の総データ記憶容量の少なくとも１％、２％、５％、又は１０％、にわたって既知のデータパターンを書き込むステップを含み得る。データ記憶装置の総データ記憶容量についての選択された又は所定の割合又は量は、１つ以上のデータ削除規格によって定義されるか及び／又はユーザ定義可能とされ得る。
【００３７】
方法は、データ記憶装置の総データ記憶容量についての所定の割合又は量に依存して既知のデータパターンを生成するステップを含み得る。
【００３８】
方法は、メモリの複数の領域を選択するステップと、既知のデータパターンを領域の各々に書き込むステップとを含み得る。
【００３９】
メモリの複数の領域は、メモリの一帯に分布していることができる。メモリの複数の領域は、メモリ内の物理的な又は論理的な位置について実質的に周期的に分布していることができる。メモリの複数の領域は、物理メモリ空間内又は論理メモリ空間内にて選択された間隔によって隔ててあることができる。メモリの複数の領域は、ランダムに分布し得る。メモリの複数の領域は、メモリについての所与のサブセット内にてランダムに選択されていることができる。各領域について１つ設けられる複数の等しいサイズの区域にメモリを論理的に「スライス」して、対応する１つの区域内においてメモリの各領域を選択することによって、メモリの複数の領域は、選択され得る。
【００４０】
メモリの複数の領域は、論理ブロックアドレッシング（ＬＢＡ、logical block addressing）を用いて定義され得る。
【００４１】
既知のデータパターンは、再現可能とすることができる。
【００４２】
既知のデータパターンは、予め定義された静的なパターンを備え得る。
【００４３】
既知のデータパターンは、任意の既存のタイプのデータ記憶装置によって記述されたものとして知られている任意のデータパターンとは異なっていることができ、或いは、任意の既存のデータ削除検証規格内にて定義されている任意のデータ仕様又はデータパターンとは異なっていることができる。そのような異なる既知のデータパターンを書き込むことによって、データ記憶装置によってなされたデータ削除手順の検証が可能となり得る。既知のデータパターンは、アルゴリズム又は公式を用いて生成され得る。
【００４４】
既知のデータパターンは、少なくとも２つの異なるデータ値を備え得る。
【００４５】
既知のデータパターンは、少なくとも１回反復された一連の１及び０又は任意の他の適切なパターンからなるパターンであって例えば周期的に反復された１及び０からなるシリーズからなるパターンを備え得る。
【００４６】
既知のデータパターンは、少なくとも１回反復された一連の１６進数値又は任意の他の適切な値からなるパターンであって例えば周期的に反復された０ｘＢ５シリーズからなるパターンを備え得る。既知のデータパターンは、一連の１及び０又は任意の他の適切な値又はパターンの複数インスタンスからなるパターンであって例えば既知のデータパターンは０ｘＢ５シリーズの複数インスタンスからなるパターンとされ得る。
【００４７】
既知のデータパターンは、ランダムなデータパターン及び／又は非周期的なデータパターンを備えていることができ、例えば既知のシード値を用いて生成されたランダムなデータパターン及び／又は非周期的なデータパターンとし得る。データパターンの異なる部分を、及び随意的には、ランダムデータパターンの異なる部分を、異なるメモリ位置に書き込むことができる。例えば、シードを用いて生成されるランダムデータパターンの異なる部分を、削除されるべきドライブの異なるセクタに書き込むことができる。異なるシードを用いて、異なるセクタ又は他のメモリ位置についてのランダムデータパターンを生成できる。一部の場合においては、異なるシードを用いて、削除されるべきドライブの異なるセクタ用の、異なるランダムデータパターンを生成できる。検証目的でランダムデータパターンが１度より多くの回数メモリに書き込まれており、例えば第１回目のランダムデータパターン書き込みに際して試行された削除処理が成功しなかったり進行しなかったりしたことに応答して次のようになせる：第２回目のランダムデータパターン書き込みに際して（例えば異なるシードを用いて生成した）異なるランダムデータパターンを用いることができる。
【００４８】
該方法を用いて異なるデータ記憶装置からデータを削除する場合には、異なるシードを用いてランダムデータパターンを生成し得る。例えば、異なる装置からデータを削除するために該方法を用いる度に、異なるシードを用い得る。したがって、用いられるデータパターンは装置毎に異なり得るのであり、セキュリティが向上し得る。
【００４９】
代替的には、同じデータパターンを異なるメモリ位置に書き込むことができる。
【００５０】
既知のデータパターンは、例えば既知の固定シードを伴って乱数生成器（ＲＮＧ、random number generator）を用いて生成され得る。
【００５１】
方法は、予備検証手順を行うステップを含み得るのであり、該ステップはメモリから読み出されたデータの所定の割合又は量が実質的に同一であるかを決定することを含む。メモリから読み出されたデータの所定の割合又は量が実質的に同一である場合には、方法は肯定的な予備検証結果を提供でき、その余の場合には否定的な予備検証結果を提供できる。例えば、方法は次のステップを含み得る：メモリから読み出されたデータの所定の割合又は量が全てバイナリのゼロであるか、全て１であるか、反復する一貫した任意の他のパターンであって例えば０ｘＣＣか０ｘＡＡか任意の他の明らかに反復するパターンであるかを決定するステップ、並びに、メモリから読み出されたデータの所定の割合又は量がバイナリのゼロづくしであるか、バイナリの１づくしであるか、反復する一貫した任意の他のパターンであって例えば０ｘＣＣか０ｘＡＡか任意の他の明らかに反復するパターンである場合には肯定的な予備検証結果を提供し、その余の場合には否定的な予備検証結果を提供するステップ。読み出されたデータについての所定の割合は、１つ以上のデータ削除規格によって定義されるか及び／又はユーザ定義可能とされ得る。方法は、否定的な予備検証結果の提供に応答して検証結果を決定するステップをなすステップを含み得る。
【００５２】
方法は、読み出されたデータの所定の割合が同一であるかという点に少なくとも部分的に基づいて、データ記憶装置によって行われたデータ削除手順のタイプについての表示を提供することを伴い得る。
【００５３】
方法は、読み出されたデータ及び既知のデータパターンのデータの所定の割合が異なるかという点に少なくとも部分的に基づいて、データ記憶装置によって行われたデータ削除手順のタイプについての表示を提供することを伴い得る。
【００５４】
既知のデータパターンがデータ記憶装置の任意の既存のタイプによって書き込まれると知られている任意のデータパターンとは異なるか、又は、それが任意の既存のデータ削除規格によって定義される任意のデータ仕様若しくはデータパターンとは異なる場合には、読み出されたデータの所定の割合が同一かという点に応じて肯定的な予備検証結果を提供すれば、一部の場合においては、データ記憶装置によって行われたデータ削除手順のタイプを決し得る。例えば、データ記憶装置によってなされたデータ削除手順によってデータ記憶装置の総データ記憶容量の所定の割合が全部バイナリのゼロで又は全部バイナリの１によって上書きされた場合、このことを検出してユーザに伝達し得る。代替的には、データ削除手順がランダムデータ又はランダム風データをデータ記憶装置に書き込んだ場合、このことを検出してユーザに伝達し得る。
【００５５】
データ記憶装置は任意の種類のデータ記憶装置を備え得る。例えば、データ記憶装置は、次の少なくとも１つを備え得る：自己暗号化ドライブ（ＳＥＤ、self-encrypting drive）、ＨＤＤ、ＳＳＤ、不揮発性メモリ、フラッシュメモリ、ＮＡＮＤフラッシュメモリ、ハイブリッドドライブ、ＲＡＭ、任意の種類のメモリカードであって例えば埋込型ＭＭＣ（ｅＭＭＣ）等の任意の種類のマイクロメディアカード（ＭＭＣ）やＳＤカード（登録商標）等の任意の種類のメモリカード。
【００５６】
データ記憶装置は、データ記憶装置に固有なデータ削除ルーチンであって随意的にはファームウェアで実装されたデータ削除ルーチンを格納しているか該ルーチンと関連付けられていることができ、データ削除手順を実行するように構成されており、また、方法は、例えばデータ削除装置によってデータ削除ルーチンの実行を命令するステップを含み得る。
【００５７】
方法は、データ記憶装置又はデータ記憶装置を含むかこれらと関連付けられている装置を外部処理資源に接続するステップと；既知のデータパターンの書き込み、データ削除手順の実行、データの読み出し、及び、検証結果の決定の少なくとも１つを、外部処理資源の制御下で行うステップとを含み得る。
【００５８】
他のものとは独立に提供し得るさらなる態様によれば、データ削除装置を提供するのであって、該データ削除装置は、
既知のデータパターンをデータ記憶装置の複数の既知のメモリ位置にわたって書き込み、
データ削除手順を行うかデータ記憶装置にデータ削除手順を行わせ、
データ削除手順の完了後に既知のメモリ位置に格納されたデータを読み出し、
読み出されたデータと既知のデータパターンのデータとを比較し、
読み出されたデータと既知のデータパターンのデータとの間の比較の結果に少なくとも部分的に基づいて、検証結果を決定するように構成されている。
【００５９】
データ削除装置はプロセッサとメモリとメモリ内に格納されたコンピュータ実行可能命令とを備え得るのであり、コンピュータ実行可能命令は、プロセッサによって実行されるとデータ削除装置に次のことを行わせる：書き込み、データ削除手順、読み込み、比較、及び／又は検証。
【００６０】
コンピュータ実行可能命令は、ホストアプリケーションを構成又は定義できる。
【００６１】
データ削除装置は次のステップを含む方法を少なくとも部分的に定義するように構成されたハードウェア及び／又はファームウェアを備え得る：
データ記憶装置の複数の既知のメモリ位置にわたって既知のデータパターンを書き込むステップと、
データ記憶装置にデータ削除手順を行わせるステップと、
データ削除手順の完了後に既知のメモリ位置の各々に格納されたデータを読み出すステップと、
読み出されたデータに少なくとも部分的に基づいて検証結果を決定するステップ。
【００６２】
データ削除装置は、データ記憶装置の複数の既知のメモリ位置にわたって既知のデータパターンを書き込み得る任意の種類の装置であることができ又はそのような装置を備えていることができる。データ削除装置は、既知のデータパターンを含む削除用ペイロードをデータ記憶装置へともたらし得る任意の種類の装置であることができ又はそのような装置を備えていることができる。データ削除装置は、例えばコンピュータ、ラップトップ、タブレット、スマートフォン、サーバの少なくとも１つであることができ又はそのようなものを備えていることができる。
【００６３】
データ削除装置は、インタフェース規格を用いてデータ記憶装置とデータ転送を行えるように構成されていることができる。
【００６４】
インタフェース規格は次の少なくとも１つを備えることができる：ＳＡＴＡ、ＰＡＴＡ、ＡＴＡ、ＡＴＡＰＩ、ＳＣＳＩ、ＳＡＳ、ＵＳＢ、ＰＣＩｅ、ＮＶＭｅ。
【００６５】
データ削除装置は、ファイバチャネルを用いてデータ記憶装置とデータ転送を行えるように構成されていることができる。
【００６６】
データ記憶装置は次の少なくとも１つであるか次の少なくとも１つを備え得る：自己暗号化ドライブ（ＳＥＤ、self-encrypting drive）、ＨＤＤ、ＳＳＤ、不揮発性メモリ、フラッシュメモリ、ＮＡＮＤフラッシュメモリ、ＲＡＭ、任意の種類のメモリカードであって例えば埋込型ＭＭＣ（ｅＭＭＣ）等の任意の種類のマイクロメディアカード（ＭＭＣ）やＳＤカード（登録商標）等の任意の種類のメモリカード。
【００６７】
他のものとは独立に提供し得るさらなる態様によれば、コンピュータ実行可能命令を定義するコンピュータプログラムを提供するのであって、該プログラムをプロセッサによって実行すると：
既知のデータパターンをデータ記憶装置の複数の既知のメモリ位置にわたって書き込むステップと、
データ記憶装置にてデータ削除手順を行うステップと、
データ削除手順の完了後に既知のメモリ位置の各々に格納されたデータを読み出すステップと、
読み出されたデータと既知のデータパターンのデータとを比較するステップと、
読み出されたデータと既知のデータパターンのデータとの間の比較の結果に少なくとも部分的に基づいて、検証結果を決定するステップとを実行させる。
【００６８】
さらなる態様によれば、暗号学的削除及び他のファームウェア削除処理についてのインテリジェントな検証用の方法及び／又は装置が提供される。
【００６９】
或る態様における特徴は、任意の他の態様における特徴として提供され得る。例えば、方法の特徴は装置の特徴として提供でき、その逆もまた然り。
【図面の簡単な説明】
【００７０】
添付の図面を参照して非限定的例示という限りで以下においてデータ削除用の装置及び方法について論じる。
【００７１】
【図１Ａ】データ記憶装置による暗号学的削除手順実行前においてのデータ記憶装置の複数のメモリアドレスから読み出されたデータを論理レベルで示した概略図である。
【図１Ｂ】データ記憶装置において暗号学的削除手順がなされて暗号化／復号化のために用いられる鍵が差し替えられた後においての図１Ａの複数のメモリアドレスから読み出されたデータを論理レベルで示した概略図である。
【図２Ａ】データ記憶装置によるデータ削除手順実行前においてのデータ記憶装置の複数のメモリアドレス内に格納されたデータを示す概略図である。
【図２Ｂ】データ記憶装置によるデータ削除手順実行後においての図２Ａの複数のメモリアドレスにて格納されたデータを示す概略図である。
【図３Ａ】図３Ａは、データ記憶装置と通信可能に配されたデータ削除装置について示す概略図である。図３Ｂは、図３Ａのデータ記憶装置について示す概略図である。図３Ｃは、図３Ａのデータ削除装置について示す概略図である。
【図４】データ削除方法について概略的に示す流れ図である。
【図５】図４のデータ削除方法と共に用いるためのデータ削除検証結果判定方法について概略的に示す流れ図である。
【図６】図４のデータ削除方法と共に用いるためのデータ削除検証結果判定方法について代替的方法を概略的に示す流れ図である。
【発明を実施するための形態】
【００７２】
まず、図３Ａについて参照するに、同図ではデータ記憶装置１０及びデータ削除装置２０が示されている。図３Ａの実施形態では、データ記憶装置は自己暗号化ドライブ（ＳＥＤ、self-encrypting drive）である。代替的実施形態では、データ記憶装置は、任意の他の適切なタイプのデータ記憶装置たり得る。データ記憶装置１０及びデータ削除装置２０は、インタフェース３０を介してそれらの間でデータ交換をなせるように構成されている。データ記憶装置１０については図３Ｂでさらに詳述し、データ削除装置２０については図３Ｃでさらに詳述する。図３Ａ及び３Ｃにおいてデータ削除装置２０は単一の装置として表されているも、代替的には、データ削除装置２０は複数の分散した別個の装置を含むものであることもでき、これらが後述のデータ削除装置２０の機能を集合的に行うことができる、ということにも留意されたい。また、データ削除装置２０は、データ記憶装置１０の近隣に配置されているか、データ記憶装置１０との関係でリモートに配置されていることができる。
【００７３】
図３Ｂに示すように、データ記憶装置１０は、データ記憶用のメモリ１２と、データ記憶及びデータ削除オペレーションをなすためのファームウェア１４と、インタフェース３０を介してデータ削除装置２０と通信するための送受信機１６とを含んでいる。図３Ｂにおいては不図示であるも、データ記憶装置１０は、メモリ１２に書き込まれるべきデータを圧縮し、又は、メモリ１２から読み出されるデータを展開するための圧縮機能を含み得ることに留意されたい。同様に、図３Ｂに図示されていないが、データ記憶装置１０は、異なる時々においてデータを異なる物理的メモリアドレスへと分配してメモリ１２の耐用期間を延長するための消耗平準化（wear-levelling）機能を有していることができることに留意されたい。当該実施形態においてデータ記憶装置１０はＳＥＤを備えているも、代替的実施形態において該装置は任意の他の適切なタイプの記憶装置であることもでき例えば次のものとすることもできる：ＨＤＤ、ＳＳＤ、不揮発性メモリ、フラッシュメモリ、ＮＡＮＤフラッシュメモリ、ＲＡＭ、任意の種類のメモリカードであって例えば埋込型ＭＭＣ（ｅＭＭＣ）等の任意の種類のマイクロメディアカード（ＭＭＣ）やＳＤカード等。
【００７４】
インタフェース３０はインタフェース規格に従って動作するかインタフェース規格に準拠していることができ、例えば次の１つ以上とすることができる：ＳＡＴＡ、ＰＡＴＡ、ＡＴＡ、ＡＴＡＰＩ（例えば、インタフェースはＡＴＩやＡＴＡＰＩ規格を用いる装置を備えるかそのような装置の一部を構成できる）、ＳＣＳＩ、ＳＡＳ、ＵＳＢ、ＰＣＩｅ、ＮＶＭｅ等。
【００７５】
図３Ｃにてより詳しく述べるように、データ削除装置２０はプロセッサ２２とメモリ２４と送受信機２６とユーザインタフェース２８とを含む。メモリ２４内にコンピュータ実行可能命令２９が格納されており、プロセッサ２２によってこれが実行されると、図４に示したデータ削除方法１００をデータ削除装置２０に行わせることとなる。データ削除装置２０は、サーバ、コンピュータ、ラップトップ、の少なくとも１つを備えていることができ又はそのようなものであることができる。
【００７６】
図４に示すデータ削除方法１００に転じるに、Ｓ１０２にてデータ削除装置２０は既知のデータパターン又はシーケンスを、データ記憶装置１０の、例えば物理的メモリアドレス等の複数の既知のメモリ位置にわたって書き込む。
【００７７】
図４の実施形態では、既知のデータパターン又はシーケンスは、メモリ装置上に提供されているかメモリと関連付けられているファイルシステム又はファイル転送プロトコルを用いずに直接的に書き込まれるのであり、このためには既知の手法であって例えばＬＢＡや任意の他の適切な手順を用いて書き込む。したがって、既知のデータパターン又はシーケンスはメモリ内の論理アドレスへと直接的に書き込まれることができる。
【００７８】
ファイルシステムを通さずして既知のデータを直接的にメモリ位置へと書き込むことは、任意の適切な既知の手法を用いて行うことができるのであり、これはメモリの具体的なタイプに依存する。既知のデータが書き込まれる選択されたメモリ位置は、例えば物理メモリによってサポートされた番号スキームによってアドレッシングされたりする選択されたセクタを備え得る。任意の適切なセクタ数及びセクタ分布に対して書き込みを行い得るのであり、処理は、対象となる具体的なメモリのセクタサイズとは独立になされ得る。代替的実施形態では、ファイルシステムを用いてデータをファイルとして書き込んだり、ＬＢＡ又は類似の論理的アドレッシングスキームを用いずにして直接的に物理的な位置へと書き込むことができる。
【００７９】
既知のデータパターン又はシーケンスは、任意の適切なサイズとでき任意の適切な内容を含み得るのであるが、通常は小さなデータパターンが用いられるのであり、同じデータパターンが選択されたメモリ位置の複数箇所に書き込まれる。図４の実施形態では、２バイトの１６進数値（例えば、Ｂ５）が用いられる。一部の他の実施形態では、１６進数の集合や生成されたランダムデータのブロックが反復するデータパターンとして用いられる。
【００８０】
複数の既知のメモリ位置は、データ記憶装置１０の総データ記憶容量の所定の割合又は量を、構成し得る。所定の割合又は量は、例えばユーザによって、データ削除期間前に選択され得るのであり、又は、予め保存されていることができる。例えば、複数の既知のメモリ位置が、所定のデータ削除規格を充足させることとの関係で、データ記憶装置１０の総データ記憶容量についての十分な割合を構成し得るのであり、これについては以下において詳述する。追加的に又は代替的には、複数の既知のメモリ位置は、データ記憶装置１０の総データ記憶容量についてのユーザ定義割合を構成し得る。既知のデータパターン又はシーケンスは、例えば既知の固定シードを伴ってＲＮＧを用いて生成したデータパターン又はシーケンス等の複製可能なデータパターン又はシーケンスの形式をとる。ＲＮＧ及びシードを用いて任意の適切なサイズのデータパターン又はシーケンスを決定することができるのであり、例えば数列におけるポジション又はポジションの範囲を選択してポジション又はポジション範囲に対応する乱数を生成することによってこれをなし得る。したがって、検証手順をなすためには、必ずしも大規模な数列を一時的に格納又はキャッシュしなくても良い場合がある。任意の適切なＲＮＧ又は乱数若しくは擬似乱数を生成するための手順を用いることができる。
【００８１】
一部の実施形態では、ランダムデータパターンの異なる部分を異なるメモリ位置に書き込むことができる。例えば、或るシードを用いて生成されたランダムデータパターンの異なる部分を削除対象ドライブの異なるセクタに書き込むことができるのであり、或いは、異なるセクタ若しくは他のメモリ位置のためのランダムデータパターンを異なるシードを用いて生成することができる。一部の場合においては、異なるシードを用いて異なるランダムデータパターンを生成してこれを削除対象ドライブの異なるセクタ用とすることができる。
【００８２】
検証目的でランダムデータパターンが１度より多くの回数メモリに書き込まれており、例えば第１回目のランダムデータパターン書き込みに際して試行された削除処理が成功しなかったり進行しなかったりしたことに応答して次のようになせる：第２回目のランダムデータパターン書き込みに際して（例えば異なるシードを用いて生成した）異なるランダムデータパターンを用いることができる。
【００８３】
一部の実施形態では、異なるデータ記憶装置からデータを削除するために方法を用いる場合には、異なるシードを用いてランダムデータパターンを生成する。例えば、異なる装置からデータを削除するために方法が用いられる度に、異なるシードを用い得る。一部の実施形態では、同じデータ削除装置を用いて並列で幾つかのデータ記憶装置に対して削除を行える。このような実施形態では、データ記憶装置の各々について同じランダムデータパターン／シードを用い得る。
【００８４】
Ｓ１０４では、データ削除装置２０は、インタフェース３０を介してコマンドをデータ記憶装置１０へと送って、データ記憶装置１０のファームウェア１４によって定義されたデータ削除手順をデータ記憶装置１０に行わせる。
【００８５】
図３の実施形態では、データ記憶装置１０は暗号化記憶装置（この場合は自己暗号化ドライブ）を備えるのであり、Ｓ１０４におけるデータ削除手順は鍵について削除・置換・上書きをなすことを伴い、該鍵は例えばメディア暗号化鍵等であり、暗号化ドライブによって格納されており、データ記憶装置に記憶されたデータを暗号化／復号化するための暗号化／復号化処理の一部として暗号化ドライブによって用いられる。鍵の削除・置換・上書きが成功した場合、ドライブから以後読み取られるデータは復号化できても復号後データは元々格納されていた有意義なデータ（例えば、ファイルやアプリケーションや任意の他の種類のデータを構築するのに用い得るデータ）を反映したものではなくなっているのであり、例えばランダムであったり擬似ランダムであったり、無意味又は使い物にならないデータの外見を呈し得る。
【００８６】
Ｓ１０６では、データ削除手順の完了後、データ削除装置２０は、既知のメモリアドレスに格納されたデータを検証手順の一環として読み出して、削除手順（例えばこの場合は、鍵の削除・置換・上書き）が正しく行われたか否かを決定する。
【００８７】
その後、Ｓ１０８において、読み出されたデータに少なくとも部分的に基づいて検証結果について決定する。例えば、検証結果はＳ１０８にて決定され得るのであり、読み出されたデータと既知のデータパターンのデータとの間の比較の結果に少なくとも部分的に基づいて決定がなされるのであり、図５を参照して以下説明する。具体的には、既知のデータパターンは（例えば、下の既知のデータパターンを生成するために用いられたのと同じシードを用いて）複製されるか再生成されるのであり、図５のＳ２００にて読み出されたデータと既知のデータパターンのデータとが比較される。
【００８８】
Ｓ２０２では読み出されたデータの所定の割合及び既知のデータパターンのデータが異なるかが決定される。例えば、読み出されたデータ及び既知のデータパターンのデータの全てが異なるかが決定され得る。Ｓ２０２にて読み出されたデータの所定の割合及び既知のデータパターンのデータが異なると決定された場合、Ｓ２０４にて肯定的な検証結果が提供されるのであり、削除手順が成功したことが示される。反対に、読み出されたデータの所定の割合及び既知のデータパターンのデータが同じであると決定された場合には、Ｓ２０６にて否定的な検証結果が提供される。
【００８９】
図４及び５にて説明されるデータ削除方法１００は、幾つかの理由からして既存のデータ削除方法に対して優位性を有している場合がある。第１に、図４及び５を参照して説明されるデータ削除方法１００では、データ記憶装置１０がデータ削除手順を行う前にデータ記憶装置１０からデータを読み出す必要が課されないで済み得る。したがって、データ削除手順をデータ記憶装置１０がなす前にデータ記憶装置１０から何らのデータを読み出さなくてもよいこととなり得る。このことは、データ記憶装置１０の総データ記憶容量の相当な割合についてデータ削除検証をなすことを要請するデータ削除規格の場合に特に利点をもたらすこととなろう。
【００９０】
第２に、図４及び５を参照して説明されるデータ削除方法１００では、データ記憶装置１０によって行われるデータ削除手順について詳細を知っていることを必要とされないで済む場合があるのであり、データ削除手順はデータ記憶装置１０のファームウェア１４内にて定義されている。換言するに、図４及び５を参照して説明されるデータ削除方法１００は、信頼性を有しており、検証可能性を有しており、データ記憶装置１０によってなされるデータ削除手順について無知的（アグノスチック）であってもよいことになり得る。
【００９１】
第３に、データ削除方法１００がもたらす検証結果は、任意の所与の削除規格及び／又は特定のユーザ選好から見てスケーラブルなものとなるのであり、このことは、次の文脈から与えられる：データ記憶装置１０の総データ記憶容量についての所定の割合について読み出されたデータと既知のデータパターンのデータとを比較することによってデータ削除検証をなし得るということ。
【００９２】
削除手順は必ずしも自己充足型ではない。例えば、該手順は、ファームウェア削除コマンドが装置について用いられた任意の時に用いられ得るのであり、及び／又は、別の規格の一部として統合されることができる。例えば、削除手順は様々な段階を伴うことができ、その１つがファームウェア削除手順たり得る。実施形態によれば、実施形態による検証手順の結果次第によってフォールバック削除処理を使用可能にしておくことができる。例えば、米国標準技術局（ＮＩＳＴ、National Institute of Standards and Technology）の標準によれば、ＳＳＤを消去する手段としては暗号学的削除もブロック削除も両方有用な手段とされている。一部の実施形態では、検証手順において削除手順に失敗が（例えば、装置全体について又は論理的（若しくは物理的）な装置の１つ以上のブロック若しくは他の部分について）生じていると示された場合、否定的な検証結果に対して自動で或いはユーザコマンドに従って異なる削除手順を用い得る。例えば、ブロック削除手順の失敗に続いて暗号学的削除手順へのフォールバック（或いはその逆のフォールバック）が定められていることができ、そのことについての指示をユーザに提供し得る。
【００９３】
図６は検証結果を決定するための代替的な方法について示している（例えば、図４のＳ１０８を参照。）。この代替的方法はＳ３００で開始し、予備検証手順がなされるのであり、該手順では予備的確認をなして読み出されたデータの所定の割合が同一であるかを決定する。例えば、Ｓ３００は、読み出されたデータの全部がバイナリのゼロづくしであるかバイナリの１づくしであるかを決定するステップを含み得る。Ｓ３００にて読み出されたデータの所定の割合が同一であると決定された場合、Ｓ１０４にてなされたデータ削除手順が成功裏に置換をなしていることの徴表であり、既知のメモリアドレスにて元々データ記憶装置１０に格納されていた機密データが、全部バイナリのゼロや全部バイナリの１等の冗長データ又はnullデータで置換されるのであり、肯定的な検証結果がＳ３０２にて提供される。他方で、Ｓ３００にて読み出されたデータの所定の割合が異なると決定された場合、既知のデータパターンは複製されるか再生成されて、読み出されたデータと既知のデータパターンのデータとがＳ３０４にて比較される。Ｓ３０６にて、読み出されたデータの所定の割合及び既知のデータパターンのデータが異なっているかを決定する。例えば、読み出されたデータ及び既知のデータパターンのデータが異なっているものと決定され得る。Ｓ３０６にて読み出されたデータ及び既知のデータパターンのデータの所定の割合が異なると決定された場合、肯定的な検証結果が提供される。反対に、読み出されたデータ及び既知のデータパターンのデータの所定の割合が同じであると決定された場合、Ｓ３０８にて否定的な検証結果が提供される。
【００９４】
したがって、図６にて説明される代替的な検証結果決定方法によれば、次の可能性がもたらされ得る：データ記憶装置１０が削除オペレーションをなして格納された機密データが冗長データ又はnullデータで置換されること、並びにデータ記憶装置１０が削除オペレーションをなして格納された機密データが一見するとランダムなデータで置換されること（例えば、データ記憶装置１０が暗号学的削除手順を行ったことの結果）。
【００９５】
少なくとも一部の実施形態によれば、ファームウェア削除の予期せぬ効果に対抗し、暗号学的削除処理を扱うために、処理をなすソフトウェアが動作保証手段を用いることができる。この点について解決を図るためのアプローチとしては、ファームウェア削除前に比較用データを装置に書き込んでおいて、データの除去又は不存在について確認できるようにしておく。これによってデータが削除されたことを保証できるようになる。なぜならば、前もって装置の従前の状態について知っておくことができるからである（ホストソフトウェアが自己によって書き込まれたデータを既に知っているからである）。既知のデータが除去されたことを担保することによって、削除処理の結果がランダムデータの存在を伴う状況であっても、削除が成功したものと結論付けることができる。この処理はユーザ要件と共にスケールできる。即ちドライブのアドレス可能エリアのＸ％を包括できるのであり、処理に関するアシュアランスもスケールし得ることを意味する。
【００９６】
規格に準拠していないドライブや予期せぬ結果をもたらしつつデータ削除を達成するドライブについては、スループットが増大するはずである。また、これ故にソフトウェアが規格についての不遵守を強調できる。これはソフトウェアのユーザに対して通知をなす際に有用たり得るのであり、内規が特定の処理のみを用いることをユーザらに強いている場合がある。処理の結果、ユーザに対して示唆が発せられ得るのであり、該示唆では結末が想定されていたものではなかったことが伝えられる。これによって、ユーザはさらなるインテリジェンスを検証プロセスに与え得る。
【００９７】
特定の実施形態による処理は次のステージを含み得る：
１．  ドライブのあちこちの特定のエリアに既知のデータセットを書き込む（例えば、データは定義されたパターンか固定シードを伴ってＲＮＧを用いて生成されたパターンであることができる）：
ａ．  データを装置のあちこちに広げて、広範な包括範囲を保証する
ｂ．  書き込まれるデータ量は、ユーザによって選択される％値に基づいているか又は削除規格若しくは他の要件に従って決定される
２．  ファームウェア削除を開始（上書き系、暗号系、ブロック系）
３．  検証処理を開始
ａ．  まず、ドライブサーフェイスを満たす一貫性を有するパターン（例えば、全て１や全て０のパターン）について確認するのであり、これはデータ削除の成功の徴表であるか及び／又はユーザデータが存在していないことの徴表たり得る。
ｂ．  これが失敗した場合、従前書き込まれたデータの不存在について代わりに確認する。
【００９８】
一部の実施形態では、上述の段階の１つ以上を省略できる。例えば、ステージ３ａを一部の実施形態では省略できる。
【００９９】
当業者であれば、上述の装置及び方法に様々な変更を加え得ることに気付くであろう。例えば、データ記憶装置は、データ記憶装置内において内部的になされるデータ削除手順を少なくとも部分的に定義するハードウェア及び／又はソフトウェアを備え得る。既知の固定シードを用いて生成された既知のデータパターンを書き込むことに代えて、他のデータパターンを用いることができる。例えば、既知のデータパターンは、任意の種類のアルゴリズム又は公式を用いて生成できる。既知のデータパターンは、少なくとも２つの異なるデータ値を含み得る。既知のデータパターンは、反復的及び／又は周期的であることができる。既知のデータパターンは、任意の既存のタイプのデータ記憶装置によって書き込まれると知られている任意のデータパターンとは異なることができ、又は、任意の既存のデータ削除検証規格にて定義されている任意のデータ仕様若しくはデータパターンとは異なることができる。そのような異なる既知のデータパターンを書き込むことによって、データ記憶装置によってなされるデータ削除手順について検証できるようになり得る。そのような異なる既知のデータパターンを書き込むことによって、データ記憶装置によってなされるデータ削除手順のタイプについて一部の場合において決定もし得る。例えば、データ記憶装置によってなされたデータ削除手順が全てバイナリのゼロ又は全てバイナリの１でデータ記憶装置の総データ記憶容量の所定の割合を上書きした場合、図６に示す方法のステージ３００は、このことを検出するのであり、この情報はユーザインタフェース２８を介してデータ削除装置２０のユーザへと伝達し得る。代替的には、ランダムデータ又はランダム風のデータをデータ削除手順がデータ記憶装置１０へと書き込んでいる場合、図６のステージ３０６がこれを検出するのであり、この情報をどうにかしてユーザインタフェース２８を介してデータ削除装置２０のユーザへと伝達できる。
【０１００】
図４、５、６のデータ削除方法は、メモリ２４内に格納されたコンピュータ実行可能命令２９によって定義され得るものであるも、図４、５、６のデータ削除方法の少なくとも一部はハードウェア及び／又はファームウェアで又は任意の他の適切な態様で定義され得ることに留意されたい。
【０１０１】
本明細書にて説明した実施形態は純粋に例示的に説明されたに過ぎず、添付の特許請求の範囲にて画定された本発明の範疇に収まりつつ変更を加え得ることに留意されたい。
【図１Ａ】
2020509467.tif 000003
【図１Ｂ】
2020509467.tif 000004
【図２Ａ】
2020509467.tif 000005
【図２Ｂ】
2020509467.tif 000006
【図３】
2020509467.tif 000007
【図４】
2020509467.tif 000008
【図５】
2020509467.tif 000009
【図６】
2020509467.tif 000010
【国際調査報告】
2020509467.tif 000011
2020509467.tif 000012
2020509467.tif 000013