(57)【特許請求の範囲】
【請求項１】
ウェアレベリングを有する記憶デバイスにおいてセンシティブデータを保護するための方法であって、
センシティブデータが、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう前記書き込みコマンドを受信すること、ここにおいて、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、および
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けること、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
によって前記書き込みコマンドを実行すること
を備える方法。
【請求項２】
前記記憶デバイスは、フラッシュメモリ固体素子デバイスである、請求項１に記載のセンシティブデータを保護するための方法。
【請求項３】
前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、請求項１に記載のセンシティブデータを保護するための方法。
【請求項４】
前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項１に記載のセンシティブデータを保護するための方法。
【請求項５】
前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、請求項１に記載のセンシティブデータを保護するための方法。
【請求項６】
前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項１に記載のセンシティブデータを保護するための方法。
【請求項７】
前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項１に記載のセンシティブデータを保護するための方法。
【請求項８】
高いデータセンシティビティレベルは、前記初期の物理記憶ブロックを消去するためのブロック消去オペレーションおよび複数の消去パターンの書き込みを引き起こす、請求項７に記載のセンシティビティデータを保護するための方法。
【請求項９】
前記書き込みコマンドを実行することは、前記書き込みコマンドの実行を完了するために、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、前記初期の物理記憶ブロックを消去する前に、利用可能な物理記憶ブロックへ転送することをさらに含む、請求項１に記載のセンシティブデータを保護するための方法。
【請求項１０】
前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項１に記載のセンシティブデータを保護するための方法。
【請求項１１】
ウェアレベリングおよびセンシティブデータ保護を有する装置であって、
センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信するための手段であって、前記セ8ンシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、手段、および
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むための手段、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けるための手段、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去するための手段
を含む前記書き込みコマンドを実行するための手段
を備える装置。
【請求項１２】
前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、請求項１１に記載の装置。
【請求項１３】
前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項１１に記載の装置。
【請求項１４】
前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、請求項１１に記載の装置。
【請求項１５】
前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項１１に記載の装置。
【請求項１６】
前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項１１に記載の装置。
【請求項１７】
高いデータセンシティビティレベルは、ブロック消去オペレーションおよび複数の消去パターンの書き込みを実施するために消去するための手段を引き起こす、請求項１６に記載の装置。
【請求項１８】
前記書き込みコマンドを実行するための前記手段は、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、利用可能な物理記憶ブロックへ転送するための手段をさらに含む、請求項１１に記載の装置。
【請求項１９】
前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項１１に記載の装置。
【請求項２０】
センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドをコンピュータに受信させるためのコードであって、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、コード、
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けること、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
によって前記書き込みコマンドをコンピュータに実行させるためのコード
を備える、コンピュータ・プログラム。
【請求項２１】
前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項２０に記載のコンピュータ・プログラム。
【請求項２２】
前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、請求項２０に記載のコンピュータ・プログラム。
【請求項２３】
前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項２０に記載のコンピュータ・プログラム。
【請求項２４】
前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項２３に記載のコンピュータ・プログラム。
【請求項２５】
前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項２０に記載のコンピュータ・プログラム。
【請求項２６】
ウェアレベリングおよびセンシティブデータ保護を有する装置であって、
センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信し、ここにおいて、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、および
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けること、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
によって前記書き込みコマンドを実行する
ように構成されるプロセッサ、および
データを記憶するために前記プロセッサに結合されたメモリ
を備える、装置。
【請求項２７】
前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、請求項２６に記載の装置。
【請求項２８】
前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項２６に記載の装置。
【請求項２９】
前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、請求項２６に記載の装置。
【請求項３０】
前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、請求項２６に記載の装置。
【請求項３１】
前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、請求項２６に記載の装置。
【請求項３２】
高いデータセンシティビティレベルは、ブロック消去オペレーションおよび複数の消去パターンの書き込みを実施するために消去するための手段を引き起こす、請求項３１に記載の装置。
【請求項３３】
前記書き込みコマンドを実行するための前記手段は、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、利用可能な物理記憶ブロックへ転送するための手段をさらに含む、請求項２６に記載の装置。
【請求項３４】
前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、請求項２６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ウェアレベリング（wear leveling）を有する記憶デバイスにおける不要な回復からセンシティブデータを保護することに関係する。
【背景技術】
【０００２】
フラッシュメモリを使用する固体素子記憶デバイスは、パフォーマンス、頑強性、および電力消費の利点により普及している。フラッシュメモリは、ハードディスクドライブ置換えアプリケーションを含む特定のデータ記憶アプリケーションに固有の書き込みオペレーションおよび消去オペレーションを繰り返した結果として磨耗の影響を受けやすい。読み出しオペレーションは、著しい磨耗を引き起こさない。
【０００３】
フラッシュメモリを有する記憶デバイスは、数百または数千のアドレス指定可能な記憶位置を有する物理記憶ブロック内にしばしば整理される。ディスクドライブ置換えアプリケーションにおける典型的な作業負荷は、際立って非対称であり得る。つまり、いくつかのアドレスは、他のアドレスよりも非常に頻繁に書き込まれる。「ウェアレベリング（wear leveling）」の技術は、一般に、任意の特定の記憶ブロックが、他の記憶ブロックよりも著しく前にその消去サイクルの最大数に達するのを防ぐために適用される。したがって、記憶デバイスの寿命をあまりにも早く制限してしまう。全体の物理記憶ブロックは、「フラッシュ(flash)」オペレーションにおいて消去される。したがって、物理記憶ブロックにおけるデータを上書きするために、全体のブロックは、新しいデータが記憶位置に書き込まれる前に、フラッシュ・オペレーションにより最初に消去されなければならない。
【０００４】
ウェアレベリングは、特定の論理アドレスを表わすために、異なる回数で、異なる基底の物理記憶ブロックを使用することができる。したがって、初期の物理記憶ブロックの特定の記憶位置における初期の値を上書きするためのオペレーションは、新しい値が、異なる利用可能な物理記憶ブロックの記憶位置に書き込まれるという結果になり得る。アドレスポインタは、新しい値により新しい記憶位置をこれから示すが、任意の残りの有効なデータを、利用可能な物理ブロックにおける記憶位置に移動し、初期の物理記憶ブロックをフラッシュ消去するクリーンアップ・オペレーションを引き起こすために、十分な記憶位置が「上書き」されるまで、初期の値は、初期の物理記憶ブロックの記憶位置に残り得る。一方、アタッカーは、クリーンアップ・オペレーションの前に初期の値を回復し得る。
【０００５】
しかもなお悪いことに、物理記憶ブロック・アプローチが失敗した場合、ウェアレベリング・アルゴリズムにより使用不能と捕えられる。サイドラインの物理記憶位置は、決して消去されることはない。したがって、記憶デバイスの寿命の間そのコンテンツを保持し得る。
【０００６】
したがって、ウェアレベリングを有する記憶デバイスにおける回復からセンシティブデータを保護する技術に関するニーズがある。
【発明の概要】
【０００７】
発明の態様は、ウェアレベリングを有する記憶デバイスにおいてセンシティブデータを保護するための方法に属することができる。当該方法において、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドが受信される。センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される。書き込みコマンドは、利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、少なくとも１つのアドレスを、利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に向けること、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去することによって実行される。
【０００８】
本発明のより詳細な態様において、記憶デバイスは、フラッシュメモリ固体素子デバイスであり得る。センシティブ書き込み信号は、記憶デバイスのハードウェア・インターフェース上の電気信号を備え得る。代替的に、書き込みコマンドは、センシティブ書き込み信号を備えることができ、またはセンシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備え得る。さらに、書き込みコマンドによって書き込まれているデータにおける別個のパターンは、センシティブ書き込み信号を備え得る。センシティブ書き込み信号は、初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含み得る。高いデータセンシティビティレベルは、初期の物理記憶ブロックを消去するために複数の消去パターンの書き込みおよびブロック消去オペレーションを引き起こし得る。
【０００９】
本発明の他のより詳細な態様において、書き込みコマンドを実行することは、書き込みコマンドの実行を完了するために、書き込みコマンドと関連されるアドレスと関連されない位置における初期の物理記憶ブロックに記憶されたデータを、初期の物理記憶ブロックを消去する前に、利用可能な物理記憶ブロックへ転送することをさらに含み得る。また、初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備え得る。
【００１０】
本発明の他の態様は、ウェアレベリングおよびセンシティブデータ保護を有する装置に属することができる。当該装置は、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信するための手段を含み得る。センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連され得る。当該装置は、利用可能な物理記憶ブロック内の少なくとも１つの記憶位置へ書き込むための手段、少なくとも１つのアドレスを、利用可能な物理記憶ブロック内の少なくとも１つの記憶位置へ向けるための手段、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去するための手段を含む書き込みコマンドを実行するための手段をさらに含み得る。
【００１１】
本発明の他の態様は、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドをコンピュータに受信させるためのコードであって、センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、コード、および利用可能な物理記憶ブロック内の少なくとも１つの記憶位置へ書き込むこと、少なくとも１つのアドレスを、利用可能な物理記憶ブロック内の少なくとも１つの記憶位置へ向けること、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去することによって書き込みコマンドをコンピュータに実行させるためのコードを備えるコンピュータ可読媒体を備えるコンピュータ・プログラム・プロダクトに属することができる。
【００１２】
本発明の他の態様は、データを記憶するためにプロセッサに結合されたプロセッサおよびメモリを備えるウェアレベリングおよびセンシティブデータ保護を有する装置に属することができる。当該プロセッサは、センシティブデータが書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信するように構成され、ここにおいて、センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、および利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、少なくとも１つのアドレスを、利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に向けること、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックを消去することによって書き込みコマンドを実行するように構成される。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明にしたがって、ウェアレベリングおよびセンシティブデータ保護を有する記憶デバイスの概略的ブロック図である。
【図２】図２は、本発明にしたがって、ウェアレベリングを有する記憶デバイスにおけるセンシティブデータを保護するための方法のフロー図である。
【図３】図３は、センシティブデータと関連される書き込みオペレーションの前に物理記憶ブロックの記憶位置を示す論理アドレスを例示する概略的ブロック図である。
【図４】図４は、センシティブデータと関連される書き込みオペレーションの間に物理記憶ブロックの記憶位置を示す論理アドレスを例示する概略的ブロック図である。
【図５】図５は、センシティブデータと関連される書き込みオペレーションの後に物理記憶ブロックの記憶位置を示す論理アドレスを例示する概略的ブロック図である。
【図６】図６は、センシティブ書き込み信号を備える別個のパターンを含む書き込みデータの概略的ブロック図である。
【図７】図７は、ディスクドライブ置換えアプリケーションにおいて、ウェアレベリングを有する記憶デバイスを使用するコンピュータのブロック図である。
【発明の詳細な説明】
【００１４】
「典型的な(exemplary)」という用語は、本明細書において、「事例、例、または例示として役に立つ(serving as an example, instance, or illustration)」ことを意味するために使用される。本明細書において、「典型的な（exemplary）」として説明される任意の実施形態は、必ずしも他の態様に対して好ましいまたは有利であるものとして解釈されない。
【００１５】
図１−５を参照して、本発明の態様は、ウェアレベリングを有する記憶デバイス１００におけるセンシティブデータを保護するための方法２００に属することができる。当該方法において、センシティブデータＩＶ２が、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドＣＭＤが受信される（ステップ２１０）。センシティブデータは、初期の物理記憶ブロックＢ１内の記憶位置ＳＬ２を示す少なくとも１つのアドレスＡ２とさらに関連される。書き込みコマンドは、利用可能な物理記憶ブロックＢ２内の少なくとも１つの記憶位置ＳＬ１へ書き込むこと（ステップ２３０）、少なくとも１つのアドレスＡ１を、利用可能な物理記憶ブロックＢ２内の少なくとも１つの記憶位置ＳＬ１へ向けること（ステップ２４０）、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックＢ１を消去すること（ステップ２５０）によって実行される（ステップ２２０）。
【００１６】
記憶デバイス１００は、Ｂ１ないしＢＮを指定された複数の物理記憶ブロック１１０を有するフラッシュメモリ固体素子デバイスであり得る。初期の物理記憶ブロックＢ１は、複数の記憶位置ＳＬ１−ＳＬ４を有し得る。ここにおいて、各々は、対応するアドレスＡ１−Ａ４と関連される。説明の目的のために、４個のアドレスおよび記憶位置のみが図示されている。実際の物理記憶ブロックは、数百または数千のアドレス指定可能な記憶位置を有し得る。さらに、各アドレスＡ１−Ａ４は、値Ｖ１−Ｖ４と関連される。書き込みオペレーションの文脈において、記憶位置は、書き込みオペレーションの前に、初期の値ＩＶを記憶し、書き込みオペレーションの後に、新しい値ＮＶを記憶することができる。利用可能な記憶位置は、ＡＶによって示される。図３は、書き込みオペレーションの前のアドレスポインタを図示する。アドレスＡ２に関するポインタは、初期の物理記憶ブロックＢ１の第２の記憶位置ＳＬ２を示す。図４は、ステップ２４０の後の、書き込みオペレーションの間のアドレスポインタを図示する。アドレスＡ２に関するポインタは、第２の物理記憶ブロックＢ２の第１の記憶位置ＳＬ１を示す。実際の書き込みオペレーションは、いくつかのアドレスに書き込むことができ、この場合、アドレスポインタの対応する数が、新しい値を有する記憶位置に向けられ得ることに注目せよ。書き込みオペレーションにおいて、この時点で第１の物理記憶ブロックＢ１を消去するフラッシュは、アドレスＡ１、Ａ３、およびＡ４について記憶される有効なデータを消去し得る。したがって、書き込みコマンドＣＭＤを実行することは、書き込みコマンドの実行を完了するために、書き込みコマンドＣＭＤと関連されるアドレスＡ２と関連されない位置ＳＬ１、ＳＬ３、およびＳＬ４における初期の物理記憶ブロックＢ１に記憶されるデータＩＶ１、ＩＶ３、およびＩＶ４を、初期の物理記憶ブロックＢ１を消去する前に、利用可能な物理記憶ブロックＢ２へ転送することをさらに含み得る。
【００１７】
ホスト１２５のオペレーティング・システムは、論理アドレスのみを見ることができる。オペレーション・システムは、記憶ブロックＢＮの記憶位置ＳＬと論理アドレスとの間の記憶デバイスの内部のマッピングを知らない。したがって、記憶デバイスに内部のオペレーションであるウェアレベリングは、特定の論理アドレスが、絶え間なく書き込まれている場合、１つの物理ブロックがあまりにも早く磨耗されないことを保証するために記憶位置に論理アドレスを動的にマップする。
【００１８】
センシティブ書き込み信号は、ホスト１２５を備える記憶デバイスのハードウェア・インターフェース１２０上で電気信号を備え得る。代替的に、書き込みコマンドは、センシティブ書き込み信号を備え得る。このセンシティブ書き込みコマンドは、センシティブデータの保護を達成するために標準化されたものであり得る。さらに、センシティブ書き込み信号は、フラッシュメモリ記憶デバイスに適用される既存のＳＣＳＩ書き込み（１０）コマンドの、erase-by-passビットであり得る。他の代替は、既存のコマンドの現在の要約されたビットを使用するためである。
【００１９】
図６を参照して、書き込みコマンドによって書き込まれているデータにおける別個のパターン６１０は、センシティブ書き込み信号を備え得る。この場合、センシティブ書き込み信号は、暗黙（implicit）であり得る。別個のパターンは、データフィールド６００の末端部の始まりにおけるあるビット数またはバイト数についてすべてゼロのパターンであり得る。さらに、別個のパターンは、統計的に起こりそうもないデータパターンであり得る。この別個のパターンの実施形態は、既存のハードウェアおよびプログラム・インターフェース上での本発明の実装を可能にし得る。
【００２０】
センシティブ書き込み信号は、初期の物理記憶ブロックＢ１を消去するための消去技術を示すためのデータセンシティブレベルを含み得る。高いデータセンシティブレベルは、初期の物理記憶ブロックを消去するためのブロック消去オペレーションおよび複数の消去パターン書き込みを引き起こし得る。低いデータセンシティビティは、単に１つのブロック消去オペレーションを引き起こし得る。
【００２１】
特定の別個のパターンは、データセンシティビティレベルを符号化することができる。実装は、記憶デバイス１００上の内部リストから、予め定義された別個のパターンを追加または削除するためのメカニズムを提供することができる。そのような別個のパターンの各々は、消去されることとなる記憶ブロック１１０の扱いの変動レベルを選択するセンシティビティレベルと関連され得る。そのような場合、示されるように、記憶デバイスは、書き込みデータにおいて特定のパターンを認識し、強化された消去メカニズムを、影響を受けた物理記憶ブロックに適用する。このメカニズムの利点は、基底のフラッシュメモリ記憶メカニズムを知らないプログラムさえ安全にデータを消去することができることである。
【００２２】
センシティブ書き込み信号は、書き込みコマンドと関連される書き込みオペレーションが、センシティブであることを表す。典型的に、書き込みコマンドとマークされたコマンドは、デバイスに以前に書き込まれたセンシティブデータを消去するように意図される。ある事例は、以前に記憶された暗号化されたキー上でゼロと書き込むという要求になり得る。これは、オペレーションにおいてウェアレベリングで有効ではない場合がある。新しく書き込まれるデータは、センシティブであり得るか、またはセンシティブではないかもしれない。例えば、暗黙のセンシティブ書き込み信号の場合、書き込みコマンドによって書き込まれているデータは、センシティブである必要がない。
【００２３】
本発明の他の態様は、ウェアレベリングおよびセンシティブデータ保護を有する装置１００に属し得る。当該装置は、センシティブデータＮＶ２が書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドＣＭＤを受信するための手段１３０を含み得る。センシティブデータは、初期の物理記憶ブロックＢ１内の記憶位置ＳＬ２を示す少なくとも１つのアドレスＡ２とさらに関連されることができる。当該装置は、利用可能な物理記憶ブロックＢ２内の少なくとも１つの記憶位置ＳＬ１に書き込むための手段１３０、少なくとも１つのアドレスＡ２を、利用可能な物理記憶ブロックＢ２内の少なくとも１つの記憶位置ＳＬ１に示すための手段１３０、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックＢ１を消去するための手段１３０を含む書き込みコマンドを実行するための手段１３０をさらに含み得る。
【００２４】
本発明の他の態様は、センシティブデータＮＶ２が、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドＣＭＤをコンピュータまたはプロセッサ１５０に受信させるためのコードであって、センシティブデータは、初期の物理記憶ブロックＢ１内の記憶位置ＳＬ２を示す少なくとも１つのアドレスＡ２とさらに関連される、コード、および利用可能な物理記憶ブロックＢ２内の少なくとも１つの記憶位置ＳＬ１に書き込むこと、少なくとも１つのアドレスＡ１を、利用可能な物理記憶位置Ｂ２内の少なくとも１つの記憶位置ＳＬ１に示すこと、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックＢ１を消去することによって書き込みコマンドをコンピュータに実行させるためのコードを備えるコンピュータ可読媒体１４０を備えるコンピュータ・プログラム・プロダクトに属することができる。
【００２５】
本発明の他の態様は、プロセッサ１５０、およびデータを記憶するためのプロセッサに結合されたメモリ１４０を備える、ウェアレベリングおよびセンシティブデータ保護を有する装置内に属することができる。当該プロセッサは、センシティブデータＮＶ２が、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドＣＭＤを受信するように構成され、ここにおいて、センシティブデータは、初期の物理記憶ブロックＢ１内の記憶位置ＳＬ２を示す少なくとも１つのアドレスＡ２とさらに関連される、および利用可能な物理記憶ブロックＢ２内の少なくとも１つの記憶位置ＳＬ１へ書き込むこと、少なくとも１つのアドレスＡ１を、利用可能な物理記憶ブロックＢ２内の少なくとも１つの記憶位置ＳＬ１に示すこと、および書き込みコマンドの実行を完了するために初期の物理記憶ブロックＢ１を消去することによって書き込みコマンドを実行するように構成される。
【００２６】
図７を参照して、ユーザデバイス７００は、ディスクドライブ置換えアプリケーションにおいて記憶デバイス１００を使用することができる。同様に、ユーザデバイスは、固定のまたは取外し可能なフラッシュメモリを使用するモバイル電話、ＰＤＡ、または同様のデバイスであり得る。ユーザデバイスは、プロセッサ７１５、常駐の記憶媒体７２０、ディスプレイ７３０、およびキーボードのような入力デバイス７４０を有するコンピュータ７１０を含むことができる。ユーザデバイスは、ハードウェア・インターフェース１２０によって記憶デバイス１００へ接続されることができる。
【００２７】
当業者は、本明細書において開示された実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電気的ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実装されることができることをさらに認識するだろう。ハードウェアおよびソフトウェアのこの互換性を明白に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、それらの機能性の観点から一般に上で説明されている。そのような機能性がハードウェアまたはソフトウェアとして実装されるかどうかは、全体のシステム上で課される特定のアプリケーションおよび設計の制約に依存する。当業者は、各々の特定のアプリケーションについて様々な方法で、説明された機能性を実装することができるが、そのような実装決定は、本発明の範囲から逸脱していると解釈されるべきではない。
【００２８】
本明細書において開示された実施形態に関して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用目的プロセッサ、デジタル信号プロセッサ（DSP）、特定用途集積回路（ASIC）、フィールドプログラマブルゲートアレイ（FPGA）または他のプログラマブル論理デバイス（PLD）、離散ゲートまたはトランジスタ論理、離散ハードウェア・コンポーネント、またはこれらのものの任意の組み合わせであって、本明細書に記載の機能を実行するように設計されたものによって実装または実行されることができる。汎用目的プロセッサは、マイクロプロセッサであってもよいが、その代わりに、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、コンピュータ計算デバイスの組み合わせ（例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと結合した１つまたは複数のマイクロプロセッサ、または任意の他のそのような構成）として実装されることもできる。
【００２９】
本明細書において開示される実施形態と関係して説明された方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはその２つの組み合わせにおいて直接具体化されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲOMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバルディスク、CD-ROM、または当該技術分野において既知の記録媒体の任意の他の形式に存在してもよい。典型的な記録媒体は、プロセッサが記録媒体から情報を読み出す、または記録媒体に情報を書き込むことができるように、プロセッサに結合されていてもよい。その代わりに、記録媒体は、プロセッサと一体化されていてもよい。プロセッサおよび記録媒体は、ASICに存在してもよい。ASICは、ユーザ端末に存在してもよい。代替的に、プロセッサおよび記録媒体は、ユーザ端末内の離散コンポーネントとして存在してもよい。
【００３０】
１つまたは複数の典型的な実施形態において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらのものの任意の組み合わせにおいて実装されることができる。コンピュータ・プログラム・プロダクトとしてソフトウェアにおいて実装される場合、当該機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、または送信されることができる。コンピュータ可読媒体は、ある場所から他の場所へのコンピュータ・プログラムの転送を容易にする任意の媒体を含むコンピュータ記憶媒体および通信媒体の両方を含む。記録媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であってもよい。事例として、かつ非制限的例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、もしくは、任意の他の媒体であって、命令またはデータ構成の形式において所望のプログラムコードを伝達または記憶するために使用可能で、かつコンピュータによってアクセス可能な媒体を具備することができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、もしソフトウェアがウェブサイト、サーバ、または他の遠くの情報源から、同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、デジタル加入者線(DSL)またはワイヤレス技術（例えば、赤外線、無線およびマイクロ波など）を使用して送信されるのであれば、そうした同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、DSLまたはワイヤレス技術（例えば、赤外線、無線およびマイクロ波など)もまた、送信媒体の定義に含まれる。本明細書において使用されるように、ディスク（disk and disc）は、コンパクトディスク（CD）、デジタルバーサタイルディスク(DVD)、フロッピー（登録商標）ディスクおよびブルーレイディスクを含む。ここで、diskは、通常、データを磁気的に再生するものをいい、discは、レーザを用いてデータを光学的に再生するものをいう。上記のものの組み合わせはまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００３１】
開示された実施形態の以前の説明は、当該技術分野の技術者の誰もが本発明を作るまたは使用することができるように提供される。これらの実施形態に対する様々な修正は、当該技術分野の技術者に直ちに明確となり、本明細書において定義された一般原則は、本発明の要旨または範囲から逸脱することなく他の実施形態に適用されることができる。したがって、本発明は、本明細書において示される実施形態に制限されるよう意図されないが、本明細書において開示された原則および新規の特徴と一致する最も広い範囲を与えられる。
以下、本願の出願当初の特許請求の範囲に記載の発明を付記する。  
［１］  ウェアレベリングを有する記憶デバイスにおいてセンシティブデータを保護するための方法であって、
センシティブデータが、書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう前記書き込みコマンドを受信すること、ここにおいて、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、および
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けること、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
によって前記書き込みコマンドを実行すること
を備える方法。
［２］  前記記憶デバイスは、フラッシュメモリ固体素子デバイスである、［１］に記載のセンシティブデータを保護するための方法。
［３］  前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、［１］に記載のセンシティブデータを保護するための方法。
［４］  前記書き込みコマンドは、前記センシティブ書き込み信号を備える、［１］に記載のセンシティブデータを保護するための方法。
［５］  前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、［１］に記載のセンシティブデータを保護するための方法。
［６］  前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、［１］に記載のセンシティブデータを保護するための方法。
［７］  前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、［１］に記載のセンシティブデータを保護するための方法。
［８］  高いデータセンシティビティレベルは、前記初期の物理記憶ブロックを消去するためのブロック消去オペレーションおよび複数の消去パターンの書き込みを引き起こす、［７］に記載のセンシティビティデータを保護するための方法。
［９］  前記書き込みコマンドを実行することは、前記書き込みコマンドの実行を完了するために、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、前記初期の物理記憶ブロックを消去する前に、利用可能な物理記憶ブロックへ転送することをさらに含む、［１］に記載のセンシティブデータを保護するための方法。
［１０］  前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、［１］に記載のセンシティブデータを保護するための方法。
［１１］  ウェアレベリングおよびセンシティブデータ保護を有する装置であって、
センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信するための手段であって、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、手段、および
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むための手段、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けるための手段、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去するための手段
を含む前記書き込みコマンドを実行するための手段
を備える装置。
［１２］  前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、［１１］に記載の装置。
［１３］  前記書き込みコマンドは、前記センシティブ書き込み信号を備える、［１１］に記載の装置。
［１４］  前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、［１１］に記載の装置。
［１５］  前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、［１１］に記載の装置。
［１６］  前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、［１１］に記載の装置。
［１７］  高いデータセンシティビティレベルは、ブロック消去オペレーションおよび複数の消去パターンの書き込みを実施するために消去するための手段を引き起こす、［１６］に記載の装置。
［１８］  前記書き込みコマンドを実行するための前記手段は、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、利用可能な物理記憶ブロックへ転送するための手段をさらに含む、［１１］に記載の装置。
［１９］  前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、［１１］に記載の装置。
［２０］  コンピュータ可読媒体を備えるコンピュータ・プログラム・プロダクトであって、
センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドをコンピュータに受信させるためのコードであって、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、コード、
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けること、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
によって前記書き込みコマンドをコンピュータに実行させるためのコード
を備える、コンピュータ・プログラム・プロダクト。
［２１］  前記書き込みコマンドは、前記センシティブ書き込み信号を備える、請求項［２０］に記載のコンピュータ・プログラム・プロダクト。
［２２］  前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、［２０］に記載のコンピュータ・プログラム・プロダクト。
［２３］  前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、［２０］に記載のコンピュータ・プログラム・プロダクト。
［２４］  前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、［２３］に記載のコンピュータ・プログラム・プロダクト。
［２５］  前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、［２０］に記載のコンピュータ・プログラム・プロダクト。
［２６］  ウェアレベリングおよびセンシティブデータ保護を有する装置であって、
センシティブデータが前記書き込みコマンドと関連されることを示す関連されたセンシティブ書き込み信号をともなう書き込みコマンドを受信し、ここにおいて、前記センシティブデータは、初期の物理記憶ブロック内の記憶位置を示す少なくとも１つのアドレスとさらに関連される、および
利用可能な物理記憶ブロック内の少なくとも１つの記憶位置に書き込むこと、
前記少なくとも１つのアドレスを、前記利用可能な物理記憶ブロック内の前記少なくとも１つの記憶位置に向けること、および
前記書き込みコマンドの実行を完了するために前記初期の物理記憶ブロックを消去すること
によって前記書き込みコマンドを実行する
ように構成されるプロセッサ、および
データを記憶するために前記プロセッサに結合されたメモリ
を備える、装置。
［２７］  前記センシティブ書き込み信号は、前記記憶デバイスのハードウェア・インターフェース上で電気信号を備える、［２６］に記載の装置。
［２８］  前記書き込みコマンドは、前記センシティブ書き込み信号を備える、［２６］に記載の装置。
［２９］  前記センシティブ書き込み信号は、ＳＣＳＩ書き込み（１０）コマンドのerase-by-passビットを備える、［２６］に記載の装置。
［３０］  前記書き込みコマンドによって書き込まれているデータにおける別個のパターンは、前記センシティブ書き込み信号を備える、［２６］に記載の装置。
［３１］  前記センシティブ書き込み信号は、前記初期の物理記憶ブロックを消去するための消去技術を示すためのデータセンシティビティレベルを含む、［２６］に記載の装置。
［３２］  高いデータセンシティビティレベルは、ブロック消去オペレーションおよび複数の消去パターンの書き込みを実施するために消去するための手段を引き起こす、［３１］に記載の装置。
［３３］  前記書き込みコマンドを実行するための前記手段は、前記書き込みコマンドと関連されるアドレスと関連されない位置における前記初期の物理記憶ブロックに記憶されるデータを、利用可能な物理記憶ブロックへ転送するための手段をさらに含む、［２６］に記載の装置。
［３４］  前記初期の物理記憶ブロックは、対応するアドレスと各々関連される複数の記憶位置を備える、［２６］に記載の装置。
【図１】
0005536191.tif 000002
【図２】
0005536191.tif 000003
【図３】
0005536191.tif 000004
【図４】
0005536191.tif 000005
【図５】
0005536191.tif 000006
【図６】
0005536191.tif 000007
【図７】
0005536191.tif 000008