(57)【特許請求の範囲】
【請求項１】
方法であって、
ストレージデバイスにおいて、ホストからストレージコマンドを受信する工程と、
前記ストレージコマンドが複数のタイプの保護されたストレージコマンドのうちの１つであることに応答して、条件付きで前記ストレージコマンドを実行する工程であって、前記ストレージコマンドは、所定の時間ウィンドウ中に前記ストレージデバイスの所定の物理的アクセス証明（Ｐｒｏｏｆ  ｏｆ  Ｐｈｙｓｉｃａｌ  Ａｃｃｅｓｓ：ＰＰＡ）が存在することに応答した場合にのみ実行され、それ以外の場合は実行されないものであり、前記複数のタイプの保護されたストレージコマンドは、
セキュリティクレデンシャルの変更と、
前記ストレージデバイスのフォーマットと、
前記ストレージデバイスのサニタイジングと、
前記ストレージデバイスの指定された部分のコンテンツの消去と、
ソリッドステートドライブＴＲＩＭコマンドと
のうちの少なくとも２つを有するものである、前記実行する工程と
を有する方法。
【請求項２】
請求項１記載の方法において、前記ストレージデバイスはセキュリティプロトコルによって保護される、方法。
【請求項３】
請求項１記載の方法において、前記所定の物理的アクセス証明は、前記ホストから独立しており、前記ストレージデバイスのファームウェアから独立している、方法。
【請求項４】
請求項１記載の方法において、前記所定の物理的アクセス証明は、前記ストレージデバイスが物理的にセキュアな接続を介して前記ホストに接続されていることを有するものである方法。
【請求項５】
請求項１記載の方法において、前記所定の物理的アクセス証明は、前記所定の時間ウィンドウ中の前記ストレージデバイスにおける所定の物理的介入を有するものである方法。
【請求項６】
請求項５記載の方法において、前記所定の物理的アクセス証明および前記所定の物理的介入はそれぞれ、
前記ストレージデバイスのリードスイッチの動作を検出し、所定の態様で磁石を操作して当該リードスイッチを制御する工程と、
前記ストレージデバイスの手動によるスイッチの動作を検出し、前記手動により動作されたスイッチを所定の態様で手動により動作させる工程と、
前記ストレージデバイスにおいて所定の無線周波数信号の存在を検出し、当該所定の無線周波数信号を提供する工程と、
前記ストレージデバイスにおいて受け取られる光源の所定の変化を検出し、当該所定の変化を提供する工程と
のうちの少なくとも１つを有するものである方法。
【請求項７】
請求項１記載の方法において、前記ストレージデバイスは、セキュリティプロトコルによって保護され、前記セキュリティプロトコルは、ＴＣＧエンタープライズ、ＴＣＧ  Ｏｐａｌ、およびＩＥＥＥ１６６７のうちの１若しくはそれ以上と互換性がある、方法。
【請求項８】
請求項１記載の方法において、前記ストレージデバイスは、ソリッドステートメモリを有する自己暗号化ドライブを有するものである、方法。
【請求項９】
システムであって、
ストレージデバイスに含まれ、メモリにおいて、ホストからストレージコマンドを受信するように適合された、ストレージデバイスのホストインターフェースと、
前記ストレージコマンドが複数のタイプの保護されたストレージコマンドのうちの１つであることに応答して、条件付きで前記ストレージコマンドを実行するように適合されたストレージデバイスコントローラであって、前記ストレージコマンドは、所定の時間ウィンドウ中に前記ストレージデバイスの所定の物理的アクセス証明（ＰＰＡ）が存在することに応答した場合にのみ実行され、それ以外の場合は実行されないものである、前記ストレージデバイスコントローラと
を有し、
前記複数のタイプの保護されたストレージコマンドは、
セキュリティクレデンシャルの変更と、
前記ストレージデバイスのフォーマットと、
前記ストレージデバイスのサニタイジングと、
前記ストレージデバイスの指定された部分のコンテンツの消去と、
ソリッドステートドライブＴＲＩＭコマンドと
のうちの少なくとも２つを有するシステム。
【請求項１０】
請求項９記載のシステムにおいて、前記ストレージデバイスコントローラは、さらに、前記ストレージコマンドの受信に応答して前記ストレージデバイスに関連付けられたセキュリティプロトコルが有効化されるかどうかを判定するように構成され、
前記ストレージコントローラは、前記複数のタイプの保護されたストレージコマンドのうちの１つを備えるかどうかに関係なく、前記セキュリティプロトコルが有効化されないことに応答して、前記ストレージコマンドを実行する、システム。
【請求項１１】
請求項９記載のシステムにおいて、前記所定の物理的アクセス証明は、前記ストレージデバイスが物理的にセキュアな接続を介して前記ホストに接続されていることを有するものである、システム。
【請求項１２】
請求項９記載のシステムにおいて、前記所定の物理的アクセス証明は、前記所定の時間ウィンドウ中の前記ストレージデバイスにおける所定の物理的介入を有するものである、システム。
【請求項１３】
請求項１２記載のシステムにおいて、前記所定の物理的アクセス証明および前記所定の物理的介入はそれぞれ、
前記ストレージデバイスのリードスイッチの動作を検出し、所定の態様で磁石を操作して当該リードスイッチを制御する工程と、
前記ストレージデバイスの手動によるスイッチの動作を検出し、前記手動により動作されたスイッチを所定の態様で手動により動作させる工程と、
前記ストレージデバイスにおいて所定の無線周波数信号の存在を検出し、当該所定の無線周波数信号を提供する工程と、
前記ストレージデバイスにおいて受け取られる光源の所定の変化を検出し、当該所定の変化を提供する工程と
のうちの少なくとも１つを有するものである、システム。
【請求項１４】
装置であって、
ストレージデバイスに具備され、ホストからストレージコマンドを受信することが可能な、ホストインターフェース回路と、
所定の時間ウィンドウ内で行われる前記ストレージデバイスの所定の物理的アクセス証明の存在を決定することが可能な、物理的アクセス証明（ＰＰＡ）回路と
制御回路とを有し、前記制御回路は、
前記ストレージコマンドが複数のタイプの保護されたストレージコマンドのうちの１つであるとの決定に応答して、前記ストレージコマンドを条件付きで実行可能であり、前記ストレージコマンドは、前記物理的アクセス証明回路が前記所定の物理的アクセス証明が前記所定の時間ウィンドウ内に存在すると決定することに応答して実行されるのみであり、そうでなければ実行されないものであり、
前記複数のタイプの保護されたストレージコマンドは、
セキュリティクレデンシャルを変更する工程と、
前記ストレージデバイスをフォーマットする工程と、
前記ストレージデバイスをサニタイジングする工程と、
前記ストレージデバイスの指定された部分のコンテンツを消去する工程と、
ソリッドステートドライブＴＲＩＭコマンドと
のうちの少なくとも２つを有するものである、
装置。
【請求項１５】
請求項１４記載の装置において、前記物理的アクセス証明回路と前記制御回路とは、ローカルメモリに記憶されたプログラムによって実現されて、前記ストレージデバイスのプログラム可能なプロセッサによって実行される、装置。
【請求項１６】
請求項１４記載の装置において、前記所定の物理的アクセス証明は、前記ストレージデバイスが物理的にセキュアな接続を介して前記ホストに接続されていることを有するものである、装置。
【請求項１７】
請求項１４記載の装置において、前記所定の物理的アクセス証明は、前記所定の時間ウィンドウ中の前記ストレージデバイスでの所定の物理的介入を有するものである、装置。
【請求項１８】
請求項１７記載の装置において、前記所定の物理的アクセス証明および前記所定の物理的介入はそれぞれ、
前記ストレージデバイスのリードスイッチの動作を検出し、所定の態様で磁石を操作して前記リードスイッチを制御する工程と、
前記ストレージデバイスの手動動作スイッチの動作を検出し、所定の態様で前記手動動作スイッチを手動で動作させる工程と、
前記ストレージデバイスでの所定の無線周波数信号の存在を検出し、前記所定の無線周波数信号を提供する工程と、
前記ストレージデバイスで受け取られる光源の所定の変化を検出し、前記所定の変化をもたらす工程と
のうちの少なくとも１つを有するものである、装置。
【請求項１９】
命令のセットが記憶されたコンピュータ可読媒体であって、前記命令のセットは、処理要素によって実行されると、前記処理要素に、
ストレージデバイスによって、ホストからストレージコマンドを受信する工程と、
前記受信したストレージコマンドが保護されたストレージコマンドであるかどうかを決定する工程と、
前記ストレージコマンドが保護されたコマンドであると決定されること、および所定の時間ウィンドウ内に物理的アクセス証明（ＰＰＡ）の値が存在することの検出に応答して前記受信したストレージコマンドを実行する工程、または前記ストレージコマンドが保護されたコマンドであると決定されること、および前記所定の時間ウィンドウ内に物理的アクセス証明（ＰＰＡ）の値が存在しないことに応答して前記受信したストレージコマンドを実行しない工程、
を有する動作を実行させ、
前記決定する工程は、前記ストレージコマンドが複数のタイプの保護されたストレージコマンドのうちの１つであるかどうかを決定する工程を含み、前記複数のタイプの保護されたストレージコマンドは、
セキュリティクレデンシャルを変更する工程と、
前記ストレージデバイスをフォーマットする工程と、
前記ストレージデバイスをサニタイジングする工程と、
前記ストレージデバイスの指定された部分のコンテンツを消去する工程と、
ソリッドステートドライブＴＲＩＭコマンドと
のうちの少なくとも２つを有するものである、コンピュータ可読媒体。
【請求項２０】
請求項１９記載のコンピュータ可読媒体において、前記動作を実行させることは、
前記ＰＰＡの値の存在に基づいて前記受信したストレージコマンドを実行すること、または、前記ＰＰＡの値が存在しないことに基づいて前記受信したストレージコマンドを実行しないことに代えて、
前記ストレージコマンドが保護されたコマンドであると決定されないことに応答して、前記ＰＰＡの値の存在または不存在とは独立に、前記受信したストレージコマンドを実行するものである、コンピュータ可読媒体。
【請求項２１】
請求項１９記載のコンピュータ可読媒体において、前記保護されたコマンドは、前記ストレージデバイスのためのセキュリティクレデンシャルを変更するためのコマンドと、前記ストレージデバイスをフォーマットするためのコマンドと、ソリッドステートＴＲＩＭ動作を実行するためのコマンドとのうちの選択された１つを少なくとも含む、コンピュータ可読媒体。
【請求項２２】
請求項１９記載のコンピュータ可読媒体において、前記ストレージデバイスのセキュリティプロトコルが有効化されるかどうかを特定する工程をさらに備え、前記決定する工程は、前記セキュリティプロトコルが有効化されたことに応答して実行され、前記特定する工程は、前記受信する工程の後および前記決定する工程の前に実行される、コンピュータ可読媒体。
【請求項２３】
請求項１９記載のコンピュータ可読媒体において、前記ストレージデバイスは、ソリッドステートドライブ（ＳＳＤ）として特徴づけられる、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願の優先権利益の主張を、（それがある場合には、適宜）添付の出願データシート、請求、または送達状において行う。本出願の種類によって許容される範囲内で、本出願はこの参照によりあらゆる目的で以下の出願を組み込むものであり、以下の出願はすべて、発明がなされた時点において本出願と所有者を同じくするものである。
【０００２】
２０１１年７月２７日付で出願され、第１発明者がＬｅｏｎｉｄ  ＢＡＲＹＵＤＩＮであり、「セキュアなストレージのハイジャック保護のための技法（ＴＥＣＨＮＩＱＵＥＳ  ＦＯＲ  ＳＥＣＵＲＥ  ＳＴＯＲＡＧＥ  ＨＩＪＡＣＫＩＮＧ  ＰＲＯＴＥＣＴＩＯＮ）」と題する、米国仮出願（代理人番号ＳＦ−１１−１１および出願番号第６１／５１１，９８９号）。
【背景技術】
【０００３】
分野：セキュアなストレージの進歩が、使用の性能、効率、及び有用性の改善を提供するために必要とされる。
【０００４】
関連技術：公知である、または周知であるものとして明記されない限り、コンテキスト、定義、または比較を目的とするものを含む本明細書における技法および概念の言及は、そのような技法または概念が以前から公知であり、あるいは先行技術の一部であることの容認と解釈すべきではない。特許、特許出願、および出版物を含む、本明細書で引用されるあらゆる参照文献は（それがある場合には）、具体的に組み込まれているか否かを問わず、あらゆる目的で、この参照によりその全体が本明細書に組み込まれるものである。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明は、プロセス、製造品、装置、システム、組成物、ならびに、コンピュータ可読記憶媒体（ディスクといった光学的大容量記憶装置および／または磁気的大容量記憶装置、または、フラッシュストレージといった不揮発性ストレージを有する集積回路など）や、プログラム命令が光通信リンクまたは電子通信リンク上で送られるコンピュータネットワークを含む様々な態様で実施されてよい。本明細書では、これらの実施形態、または本発明のいかなる任意の態様を技術と言う。詳細な説明では、上記の分野における、収益性、性能、効率、および有用性の改善を可能にする本発明の１つ若しくはそれ以上の実施形態の説明を行う。詳細な説明は概説を含むが、本概説は詳細な説明の残りの部分をより早く理解するために設けた。概説は、本明細書で説明する概念に従うシステム、方法、製造品、およびコンピュータ可読媒体の１つ若しくはそれ以上の例示的実施形態を含む。結論の項でより詳細に論じるように、本発明は、発行される特許請求の範囲内のあらゆる可能な改変形態および変形形態を包含するものである。
【図面の簡単な説明】
【０００６】
【図１Ａ】図１Ａは、ユーザが作動させる物理的アクセス証明（ＰＰＡ）からの入力を有するＳＳＤコントローラを含むソリッドステートディスク／自己暗号化ドライブ（ＳＥＤ／ＳＳＤ）の実施形態の選択された詳細を示す図である。
【図１Ｂ】図１Ｂは、図１ＡのＳＥＤ／ＳＳＤを含むシステムの実施形態の選択された詳細を示し、さらにユーザシステムインタラクションを示す図である。
【図１Ｃ】図１Ｃは、図１ＡのＳＥＤ／ＳＳＤを含むシステムの実施形態の選択された詳細を示し、さらにユーザシステムインタラクションを示す図である。
【図２】図２は、ＳＥＤ／ＳＳＤのセキュリティを有効にし、セキュアにされたドライブをアンロックするための、ホストＢＩＯＳとのユーザインタラクションと、図１Ｂおよび図１Ｃのシステムに関するＰＰＡと、を示す図である。
【図３】図３は、セキュリティが有効にされているかどうか、およびセキュアなドライブがアンロックされたかどうか、に関するＳＥＤ／ＳＳＤの動作を示す表である。
【図４】図４は、受信されたコマンドの実行中に図１Ａ〜図１ＣのＳＥＤ／ＳＳＤのようなセキュアなストレージデバイスによって使用される決定木を示す図である。
【図５Ａ】図５Ａは、図１Ａ〜図１ＣのＳＥＤ／ＳＳＤ内に存在する磁気動作リードスイッチを含む、ユーザが作動させるＰＰＡを示す図である。
【図５Ｂ】図５Ｂは、図１Ａ〜図１ＣのＳＥＤ／ＳＳＤ内に存在する手動動作瞬間スイッチを含む、ユーザが作動させるＰＰＡを示す図である。
【図５Ｃ】図５Ｃは、所定の無線信号の存在を検出することが可能な受信機であって、図１Ａ〜図１ＣのＳＥＤ／ＳＳＤ内に存在する受信機を含む、ユーザが作動させるＰＰＡを示す図である。
【図５Ｄ】図５Ｄは、図１Ａ〜図１ＣのＳＥＤ／ＳＳＤ内に存在し、光源の所定の変化を検出することが可能な光源センサを含む、ユーザが作動させるＰＰＡを示す図である。
【図５Ｅ】図５Ｅは、ＰＰＡがホストシステムとの物理的にセキュアな接続によって確立される、図１Ａ〜図１ＣのＳＥＤ／ＳＳＤを示す図である。
【０００７】
図面の参照符号の一覧
【表１】
0006049716.tif 000002
0006049716.tif 000003
【発明を実施するための形態】
【０００８】
本発明の１つ若しくはそれ以上の実施形態の詳細な説明を、以下で、本発明の選択された詳細を図示する添付の図を併用して行う。本発明を実施形態との関連で説明する。実施形態は、本明細書では、単なる例示であると理解されるものであり、本発明は、明確に、本明細書中の実施形態のいずれか若しくは全部に、またはいずれか若しくは全部によって限定されるものではなく、本発明は、多数の代替形態、改変形態、および均等物を包含するものである。説明が単調にならないように、様々な言葉によるラベル（これに限定されるものではないが、最初の、最後の、ある一定の、様々な、別の、他の、特定の、選択の、いくつかの、目立ったなど）が実施形態のセットを区別するために適用される場合がある。本明細書で使用する場合、そのようなラベルは、明確に、質を伝えるためのものでも、いかなる形の好みや先入観を伝えるためのものでもなく、単に、別々のセットを都合よく区別するためのものにすぎない。開示するプロセスのいくつかの動作の順序は本発明の範囲内で変更可能である。多様な実施形態がプロセス、方法、および／またはプログラム命令の各特徴の差異を説明するのに使用される場合は常に、所定の、または動的に決定される基準に従って、複数の多様な実施形態にそれぞれ対応する複数の動作モードの１つの静的選択および／または動的選択を行う他の実施形態が企図されている。以下の説明では、本発明の十分な理解を提供するために、多数の具体的詳細を示す。それらの詳細は例として示すものであり、本発明は、それらの詳細の一部または全部がなくても、特許請求の範囲に従って実施されうる。わかりやすくするために、本発明に関連した技術分野で公知の技術資料は、本発明が不必要に曖昧になることのないように詳細に説明していない。
【０００９】
概説
この概説は、詳細な説明のより迅速な理解を助けるために含まれるにすぎず、本発明は、（それがある場合には、明示的な例を含む）この概説で提示される概念だけに限定されるものではなく、どんな概説の段落も、必然的に、主題全体の縮約された見方であり、網羅的な、または限定的な記述であることを意味するものではない。例えば、以下の概説は、スペースおよび編成によりある一定の実施形態だけに限定される概要情報を提供するものである。特許請求の範囲が究極的にそこに導かれることになる実施形態を含む多くの他の実施形態があり、それらを本明細書の残りの部分にわたって論じる。
【００１０】
頭字語
ここで定義される様々な縮めた表現の略語（例えば、頭字語）の少なくとも一部が本明細書において使用される特定の要素を指す。
【表２】
0006049716.tif 000004
0006049716.tif 000005
アンロックされたセキュアなストレージデバイス、たとえば、ＨＤＤｓ、ＳＳＤｓ、内部ストレージを有するネットワークデバイス、インテリジェントな電気器具、等に関する問題が存在する。新しいセキュアなストレージデバイスは通常、アンロックされており、セキュアな手順が未だ有効にされていないか、またはデバイスが公に知られているデフォルトのクレデンシャルを使用しているか、のいずれかである。貴重なデータが失われるまたはハイジャックされることを防止するために、ユーザは、可及的速やかに（たとえば、何らかのデータをセキュアなストレージデバイスに保存する前に）、セキュアな手順を有効にすることによって、および／または、公に知られているデフォルトのクレデンシャルをユーザによって供給される非公開のクレデンシャルと置き換えることによって、セキュアなストレージデバイスのオーナーシップを得る。
【００１１】
オーナーシップが得られない場合、ただし、セキュアなストレージデバイスがネットワークに接続されている場合には、遠隔の侵入者は、いくつかの環境下で（たとえば、悪意のあるソフトウェアを用いて）、データを読み取ること、および／または、データを消去すること（たとえば、従来の消去手順による、または、いくつかの環境では従来の消去手順よりも速いサニタイジングまたはトリミング手順による）が可能である。遠隔の侵入者はまた、セキュリティ手順を有効にすること、および／または、デフォルトのクレデンシャルを彼自身のものと置き換えることも可能である。こうして、遠隔の侵入者は、セキュアなストレージデバイスのオーナーシップを得る。するとユーザは、セキュアなストレージデバイスが遠隔の侵入者によって「ハイジャック」されたので、たとえユーザが物理的所持を保持していたとしても、セキュアなストレージデバイスにアクセスする能力を有しない。セキュアなストレージデバイスに対するオーナーシップ（そして、それ故に制御）を回復するために、ユーザは、デバイスをデフォルトの状態にリセットするので、以前に記憶されたデータのすべてを失い、いくつかの環境では大きな経済的損失および／または他の損失を招く。
【００１２】
いくつかのシナリオでは、消費者教育が技術革新の進歩に立ち遅れている場合、そのような攻撃を受けやすい人および会社の数は、ごく近い将来に、セキュアなストレージを有するデバイスがますます市場に広がるにつれ、増え続けるだろう。
【００１３】
以下において、「デバイス」および「ストレージデバイス」という用語は、「セキュアにされたストレージデバイス」またはセキュアにされたストレージを有するデバイスのことを言うものとして理解されるべきである。「セキュアにされたドライブ」は、セキュアにされたストレージデバイスの例である。
【００１４】
アンチハイジャック技法は、セキュリティが有効にされると、保護されたクラスのストレージデバイスコマンドを認識することにより、問題を解決する。保護されたコマンドは、「既存のクレデンシャルを変更する」、「ドライブをフォーマットする」、「ドライブの指定された部分を消去する」、「サニタイジングおよびトリミングする」、それらの任意の組み合わせ、等を含む。保護されたコマンドの実行は、ユーザがデバイスの実際の物理的所持を有することを証明する、直接的なユーザ介入を条件とする。結果として、遠隔の侵入者は、ストレージデバイスの物理的所持を有しないので、そのような証明を提供することはできず、保護されたコマンドを使用することができない。
【００１５】
そのような証明のさまざまな形態が意図され、そのような形態は、直接的なユーザ介入が行われなくてはならない「証明」ウィンドウを定義することを含み、いくつかのシナリオでは、ユーザインタラクションの特定のシーケンスを定義することを含む。例示的な技法は、ストレージデバイス内に磁気動作リードスイッチを設けることと、ユーザに、所定の態様でストレージデバイスの近くで磁石を操作することにより適切な時間にスイッチを動作させるようにさせることと、を含む。代替の技法は、ストレージデバイスの内部にベーシックな無線受信機を設けることと、ユーザに、適切な時間中に予め定義された何らかの態様でデバイスの近くで携帯電話を動かすようにさせることと、を含む。上述した例は、ストレージデバイスへの物理的アクセスをどのように、たとえば、ユーザによるさまざまな意図的な行動によって、証明するかについてのイントロダクションを提供する。物理的アクセスを証明するための他の技法も同様に適切である。
【００１６】
様々な実施形態では、ＳＥＤ／ＳＳＤコントローラは、コンピューティングホストとインターフェースするためのホストインターフェースと、フラッシュメモリとインターフェースするためのフラッシュインターフェースと、各インターフェースを制御し、圧縮および解凍と共に、低レベル誤り訂正、高レベル誤り訂正、ならびに独立シリコン素子を用いた動的高レベル冗長性モード管理を行う（かつ／または行うことの様々な態様を制御する）ための回路とを含む。
【００１７】
様々な実施形態によれば、あるホストインターフェースは、ＵＳＢインターフェース規格、ＣＦインターフェース規格、ＭＭＣインターフェース規格、ＳＤインターフェース規格、メモリ・スティック・インターフェース規格、ｘＤピクチャ・カード・インターフェース規格、ＩＤＥインターフェース規格、ＳＡＴＡインターフェース規格、ＳＣＳＩインターフェース規格、ＳＡＳインターフェース規格、およびＰＣＩｅインターフェース規格のうちの１つ若しくはそれ以上と適合する。様々な実施形態によれば、コンピューティングホストは、コンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ストレージサーバ、ＰＣ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ＰＤＡ、メディアプレーヤ、メディアレコーダ、ディジタルカメラ、セルラハンドセット、コードレス電話機ハンドセット、および電子ゲームのうちの全部または任意の部分である。一部の実施形態では、インターフェースホスト（ＳＡＳ／ＳＡＴＡブリッジなど）は、コンピューティングホストおよび／またはコンピューティングホストへのブリッジとして動作する。
【００１８】
様々な実施形態によれば、あるＳＥＤ／ＳＳＤは、ＨＤＤ、ＣＤドライブ、ＤＶＤドライブといった磁気的不揮発性記憶および／または光学的不揮発性記憶によって使用されるフォームファクタ、電気的インターフェース、および／またはプロトコルと適合する。様々な実施形態では、ＳＥＤ／ＳＳＤは、０以上のパリティ符号、０以上のＲＳ符号、０以上のＢＣＨ符号、０以上のビタビ符号または他のトレリス符号、および０以上のＬＤＰＣ符号の様々な組み合わせを使用する。
【００１９】
例示的な実施形態
詳細な記載に対する導入を締めくくる際に続くものは、「ＥＣｓ」（例示的な組み合わせ）として明示的に列挙される少なくとも一部の例示的な実施形態を含む例示的な実施形態を集めたものであり、本明細書において記載される概念に従った様々な実施形態の種類の追加的な記載を提供する。これらの例は、互いに排他的、網羅的、又は制限的であることを意味せず、本発明はこれらの例示的な実施形態には限定されず、特許請求の範囲および均等物の範囲内における全ての可能な変形形態及び代替形態を包含する。
【００２０】
ＥＣ１）方法であって、
ストレージデバイスにおいて、ホストからコマンドを受信する工程と、
前記コマンドが複数のタイプの保護されたストレージコマンドのうちの１つであることに応答して、条件付きで前記コマンドを実行する工程であって、前記コマンドは、ストレージデバイスの物理的アクセス証明（（Ｐｒｏｏｆ  ｏｆ  Ｐｈｙｓｉｃａｌ  Ａｃｃｅｓｓ：ＰＰＡ）が存在する場合にのみ実行され、それ以外の場合は実行されないものである、前記実行する工程と
を有する方法。
【００２１】
ＥＣ２）ＥＣ１記載の方法において、前記複数のタイプの保護されたストレージコマンドは、
セキュリティクレデンシャルの変更と、
前記ストレージデバイスのフォーマットと、
前記ストレージデバイスのサニタイジングと、
前記ストレージデバイスの指定された部分のコンテンツの消去と、
ソリッドステートドライブＴＲＩＭコマンドと
のうちの少なくとも１つを有するものである方法。
【００２２】
ＥＣ３）ＥＣ１記載の方法において、前記物理的アクセス証明は、前記ストレージデバイスが物理的にセキュアな接続を介してホストシステムに接続されていることを有するものである方法。
【００２３】
ＥＣ４）ＥＣ１記載の方法において、前記物理的アクセス証明は、前記ホストシステムおよび前記ストレージデバイスのファームウェアから独立しているものである方法。
【００２４】
ＥＣ５）ＥＣ４記載の方法において、前記物理的アクセス証明は、前記ストレージデバイスにおける所定の物理的介入を有するものである方法。
【００２５】
ＥＣ６）ＥＣ５記載の方法において、前記物理的アクセス証明および所定の物理的介入はそれぞれ、
前記ストレージデバイスのリードスイッチの動作を検出し、所定の態様で磁石を操作して当該リードスイッチを制御する工程と、
前記ストレージデバイスの手動によるスイッチの動作を検出し、前記手動により動作されたスイッチを所定の態様で手動により動作させる工程と、
前記ストレージデバイスにおいて所定の無線周波数信号の存在を検出し、当該所定の信号を提供する工程と、
前記ストレージデバイスで受け取られる光源の所定の変化を検出し、当該所定の変化を提供する工程と
のうちの少なくとも１つを有するものである方法。
【００２６】
ＥＣ７）ＥＣ１記載の方法において、前記ストレージデバイスは、トラスティッド・コンピューティング・グループ（ＴＣＧ）（エンタープライズおよびＯｐａｌ）およびＩＥＥＥ１６６７などのセキュリティプロトコルによって保護されるものである方法。
【００２７】
ＥＣ８）ＥＣ１記載の方法において、前記ストレージデバイスは、自己暗号化ドライブを有するものである方法。
【００２８】
ＥＣ９）ＥＣ８記載の方法において、前記自己暗号化ドライブは、ソリッドステートドライブを有するものである方法。
【００２９】
ＥＣ１０）ＥＣ１記載の方法において、前記受信する工程は、ストレージインターフェース規格と互換性があるストレージインターフェースを介するものである方法。
【００３０】
ＥＣ１１）ＥＣ１記載の方法において、前記物理的アクセス証明の存在は、少なくとも部分的にソリッドステートドライブのコントローラを介して実現されるものである方法。
【００３１】
ＥＣ１２）ＥＣ１記載の方法において、前記受信する工程および前記実行する工程は、少なくとも部分的にソリッドステートドライブのコントローラを介して実行されるものである方法。
【００３２】
ＥＣ１３）方法であって、
自己暗号化ストレージデバイスにおいて、ホストからコマンドを受信する工程と、
前記コマンドが複数の保護されたストレージコマンドのうちの１つであるかどうかを決定し、そうである場合には、前記ストレージデバイスにおいて定義されたユーザの物理的介入がコマンドの受信に対し定義された時間ウィンドウ中に行われる場合にのみ、前記コマンドを実行する工程と
を有する方法。
【００３３】
ＥＣ１４）ＥＣ１３記載の方法において、前記定義されたユーザの物理的介入は、前記ストレージデバイスに配置された証明センサを所定の態様でアクティブにする工程を有するものである方法。
【００３４】
ＥＣ１５）ＥＣ１４記載の方法において、前記証明センサをアクティブにする工程は、所定の態様で磁石を操作して前記ストレージデバイス内に配置されたリードスイッチを動作させる工程を有し、前記リードスイッチの動作により前記コマンドの実行が制御されるものである方法。
【００３５】
ＥＣ１６）ＥＣ１４記載の方法において、前記証明センサをアクティブにする工程は、所定の態様でストレージデバイス内に配置された瞬間スイッチを動作させる工程を有し、前記瞬間スイッチの動作により前記コマンドの実行が制御されるものである方法。
【００３６】
ＥＣ１７）ＥＣ１４記載の方法において、前記証明センサをアクティブにする工程は、前記ストレージデバイス内に配置されたフォトセンサに到達する光を所定の態様で操作する工程を有し、当該フォトセンサによる前記光の操作の検出により前記コマンドの実行が制御されるものである方法。
【００３７】
ＥＣ１８）ＥＣ１４記載の方法において、前記証明センサをアクティブにする工程は、前記ストレージデバイス内に配置された無線受信機の近くで無線送信機を所定の態様で操作する工程を有し、当該無線受信機による当該無線送信機の操作の検出により前記コマンドの実行が制御されるものである方法。
【００３８】
ＥＣ１９）ＥＣ１８記載の方法において、前記無線送信機は携帯電話であり、前記無線受信機は携帯電話の携帯電話送信と互換性があるものである方法。
【００３９】
ＥＣ２０）命令のセットが記憶されたコンピュータ可読媒体であって、当該命令のセットは、処理要素によって実行されると、当該処理要素に、
ストレージデバイスによってホストからのストレージコマンドを受信する工程を管理する工程と、
前記ストレージコマンドが複数のタイプの保護されたストレージコマンドのうちの１つであるかどうかを決定し、そうである場合には、前記ストレージデバイスの物理的アクセス証明（ＰＰＡ）が存在する場合にのみコマンドを実行する工程を管理する工程と
を有する動作を実行させるものである、
コンピュータ可読媒体。
【００４０】
ＥＣ２１）命令のセットが記憶されたコンピュータ可読媒体であって、当該命令のセットは、処理要素によって実行されると、当該処理要素に、
ストレージデバイスによってホストからストレージコマンドを受信する工程を管理する工程と、
前記コマンドが複数のタイプの保護されたストレージコマンドのうちの１つであるかどうかを決定し、そうである場合には、前記ストレージデバイスの物理的アクセス証明（ＰＰＡ）が存在する場合にのみストレージコマンドを実行する工程と
を有する動作を実行させるものである、
コンピュータ可読媒体。
【００４１】
ＥＣ２２）ＥＣ２０またはＥＣ２１記載のコンピュータ可読媒体において、前記物理的アクセス証明は、ユーザによってもたらされる前記ストレージデバイス内の所定の物理的変化を有するものであるコンピュータ可読媒体。
【００４２】
ＥＣ２３）ＥＣ２２記載のコンピュータ可読媒体において、前記ユーザによってもたらされる所定の物理的変化は、
前記ユーザによる磁石の操作に起因する、ストレージデバイス内に配置されたリードスイッチの状態の変化と、
前記ユーザによるストレージデバイス内に配置された電気スイッチの操作に起因する、電気スイッチの状態の変化と、
前記ユーザによるストレージデバイス内に配置された無線受信機に所定の無線信号を提供する無線送信機の操作に起因する、無線受信機の状態の変化と、
前記ユーザによる光源の制御に起因する、ストレージデバイス内に配置された光センサの状態の変化と、
ラップトップコンピュータのカバーを前記ユーザが開けることおよび／または閉じることに起因する、ストレージデバイス内に配置された照明センサの状態の変化と
のうちのいずれか１つ若しくはそれ以上を有するものであるコンピュータ可読媒体。
【００４３】
ＥＣ２４）装置であって、
ホストから１若しくはそれ以上のストレージコマンドを受信するホストインターフェース回路と、
物理的アクセス証明の存在を決定する物理的アクセス証明（ＰＰＡ）制御回路と
を有し、
前記受信されたコマンドのうちのそれぞれの保護されたコマンドは、前記物理的アクセス証明回路が物理的アクセス証明が存在すると決定した場合にのみ実行されるものである、
装置。
【００４４】
ＥＣ２５）ＥＣ２４記載の装置において、前記受信された、保護されたコマンドは、
セキュリティクレデンシャルを変更するストレージコマンドと、
ストレージデバイスをフォーマットするストレージコマンドと、
ストレージデバイスをサニタイジングするストレージコマンドと、
コンテンツを消去するストレージコマンドと、
ソリッドステートドライブＴＲＩＭコマンドと
のうちのいずれか１つ若しくはそれ以上のうちの１若しくはそれ以上を有するものである装置。
【００４５】
ＥＣ２６）ＥＣ２４記載の装置において、前記物理的アクセス証明は、前記ホストインターフェース回路と前記物理的アクセス証明制御回路とを有するストレージデバイス内の、ユーザによってもたらされる所定の物理的変化を有するものである装置。
【００４６】
ＥＣ２７）ＥＣ２６記載の装置において、前記ユーザによってもたらされる所定の物理的変化は、
前記ユーザによる磁石の操作に起因する、ストレージデバイス内に配置されたリードスイッチの状態の変化と、
前記ユーザによるストレージデバイス内に配置された電気スイッチのに起因する、電気スイッチの状態の変化と、
前記ユーザによるストレージデバイス内に配置された無線受信機に所定の無線信号を提供する無線送信機の操作に起因する、無線受信機の状態の変化と、
前記ユーザによる光源の制御に起因する、ストレージデバイス内に配置された光センサの状態の変化と、
ラップトップコンピュータのカバーを前記ユーザが開けることおよび／または閉じることに起因する、ストレージデバイス内に配置された照明センサの状態の変化と
のうちのいずれか１若しくはそれ以上を有するものである装置。
【００４７】
ＥＣ２８）ＥＣ２７記載の装置において、さらに、
１若しくはそれ以上のフラッシュメモリにインターフェースし、実行されるコマンドのうちの少なくとも１つに関連する動作を実行するフラッシュインターフェース回路を有するものである装置。
【００４８】
ＥＣ２９）ＥＣ２８記載の装置において、当該装置は、ソリッドステートドライブのコントローラである装置。
【００４９】
ＥＣ３０）ＥＣ２８記載の装置において、さらに、
フラッシュメモリを有し、当該装置は、ハードディスクドライブ、ソリッドステートドライブ、内部ストレージを有するネットワークデバイス、およびインテリジェントな電気器具のうちの１つである装置。
【００５０】
ＥＣ３１）ＥＣ２７記載の装置において、当該装置は、ハードディスクドライブ、ソリッドステートドライブ、内部ストレージを有するネットワークデバイス、およびインテリジェントな電気器具のうちの１つである装置。
【００５１】
ＥＣ３２）システムであって、
ストレージデバイスにおいてホストからコマンドを受信する手段と、
前記コマンドが複数の保護されたストレージコマンドのうちの１つであるかどうかを決定する手段と、
前記ストレージデバイスの物理的アクセス証明（ＰＰＡ）が存在するかどうかを決定する手段と、
前記ストレージデバイスに対する物理的アクセス証明が存在する場合にのみ、保護されたストレージコマンドを条件付きで実行する手段と
を有するシステム。
【００５２】
ＥＣ３３）ＥＣ３２記載のシステムにおいて、さらに、
保護されていないストレージコマンドを無条件に実行する手段を有するものであるシステム。
【００５３】
ＥＣ３４）ＥＣ３２記載のシステムにおいて、前記物理的アクセス証明を決定する手段は、ユーザによってもたらされるストレージデバイス内の所定の物理的変化を有するものであるシステム。
【００５４】
ＥＣ３５）ＥＣ３４記載のシステムにおいて、前記ユーザによってもたらされる所定の物理的変化は、ユーザがストレージデバイス内に配置されたリードスイッチを動作させる磁石を操作することを含むものであるシステム。
【００５５】
ＥＣ３６）ＥＣ３４記載のシステムにおいて、前記ユーザによってもたらされる所定の物理的変化は、ユーザがストレージデバイス内に配置された電気スイッチを動作させることを含むものであるシステム。
【００５６】
ＥＣ３７）ＥＣ３４記載のシステムにおいて、前記ユーザによってもたらされる所定の物理的変化は、ユーザが無線送信機を操作してストレージデバイス内に配置された無線受信機に所定の無線信号を提供することを含むものであるシステム。
【００５７】
ＥＣ３８）ＥＣ３７記載のシステムにおいて、前記無線送信機は、携帯電話に具備されるものであるシステム。
【００５８】
ＥＣ３９）ＥＣ３４記載のシステムにおいて、前記ユーザによってもたらされる所定の物理的変化は、ユーザが、ストレージデバイス内に配置され、光検知手段を照射する光源手段を制御することを含むものであり、当該光検知手段はユーザが光源手段を制御することによって前記光源からの光の変化を検出するものであるシステム。
【００５９】
ＥＣ４０）ＥＣ３４記載のシステムにおいて、前記ユーザによってもたらされる所定の物理的変化は、ラップトップコンピュータのカバーを開閉して、前記ストレージデバイス内に配置され、受け取られる光の変化を検出する光センサ手段を照射する周辺光の量を変化させることを含むものであるシステム。
【００６０】
ＥＣ４１）ＥＣ３２記載のシステムにおいて、前記物理的アクセス証明を決定する手段は、前記ストレージデバイスと前記ホストとの間のセキュアな物理的接続を有するものであるシステム。
【００６１】
ＥＣ４２）ＥＣ３２記載のシステムにおいて、前記手段は、少なくとも部分的にソリッドステートディスク（ＳＳＤ）のコントローラによって実行されるものであるシステム。
【００６２】
ＥＣ４３）ＥＣ４２記載のシステムにおいて、さらに、
前記コントローラをホストとインターフェースする手段を有するものであるシステム。
【００６３】
ＥＣ４４）ＥＣ４３記載のシステムにおいて、前記インターフェースする手段は、ストレージインターフェース規格と互換性があるものであるシステム。
【００６４】
ＥＣ４５）ＥＣ４３記載のシステムにおいて、さらに、
前記ホストの全部または任意の一部を有するものであるシステム。
【００６５】
ＥＣ４６）ＥＣ４２記載のシステムにおいて、さらに、
不揮発性メモリとインターフェースする手段を有するものであるシステム。
【００６６】
ＥＣ４７）ＥＣ４６記載のシステムにおいて、前記インターフェースする手段は、フラッシュメモリインターフェースを有するものであるシステム。
【００６７】
ＥＣ４８）ＥＣ４２記載のシステムにおいて、さらに、
１若しくはそれ以上の不揮発性メモリを有するものであるシステム。
【００６８】
ＥＣ４９）ＥＣ４２記載のシステムにおいて、さらに、
ホストからの不揮発性メモリに記憶された情報に関連する要求をインターフェースする手段と、
前記不揮発性メモリにインターフェースする手段と
を有するものであるシステム。
【００６９】
ＥＣ５０）ＥＣ４９記載のシステムにおいて、前記手段は、単一の集積回路（ＩＣ）にまとめて実装されるものであるシステム。
【００７０】
ＥＣ５１）ＥＣ４９記載のシステムにおいて、前記手段は、ソリッドステートディスク（ＳＳＤ）に含まれるものであるシステム。
【００７１】
ＥＣ５２）ＥＣ４２記載のシステムにおいて、前記ソリッドステートディスクのコントローラは、単一の集積回路（ＩＣ）に実装されるものであるシステム。
【００７２】
ＥＣ５３）ＥＣ４８記載のシステムにおいて、前記ソリッドステートディスクのコントローラおよび前記不揮発性メモリは、自己暗号化ソリッドステートドライブに含まれるものであるシステム。
【００７３】
ＥＣ５４）ＥＣ４８記載のシステムにおいて、前記不揮発性メモリのうちの少なくとも１つは、１若しくはそれ以上のフラッシュメモリを有するものであるシステム。
【００７４】
ＥＣ５５）ＥＣ５４記載のシステムにおいて、前記フラッシュメモリのうちの少なくとも１つは、
ＮＡＮＤフラッシュ技術ストレージセルと、
ＮＯＲフラッシュ技術ストレージセルと
のうちの１若しくはそれ以上を有するものであるシステム。
【００７５】
ＥＣ５６）ＥＣ５４記載のシステムにおいて、前記フラッシュメモリのうちの少なくとも１つは、
シングルレベルセル（ＳＬＣ）フラッシュ技術ストレージセルと、
マルチレベルセル（ＭＬＣ）フラッシュ技術ストレージセルと
のうちの１若しくはそれ以上を有するものであるシステム。
【００７６】
ＥＣ５７）ＥＣ４７記載のシステムにおいて、フラッシュメモリインターフェースは、
オープンＮＡＮＤフラッシュインターフェース（ＯＮＦＩ）と、
トグルモードインターフェースと、
デュアルデータレート（ＤＤＲ）同期インターフェースと、
同期インターフェースと、
非同期インターフェースと
のうちの１若しくはそれ以上と互換性があるシステム。
【００７７】
ＥＣ５８）ＥＣ４４記載のシステムにおいて、前記ストレージインターフェース規格は、
ユニバーサル・シリアル・バス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ：ＵＳＢ）インターフェース規格と、
コンパクトフラッシュ（登録商標）（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ：ＣＦ）インターフェース規格と、
マルチメディアカード（ＭｕｌｔｉＭｅｄｉａＣａｒｄ：ＭＭＣ）インターフェース規格と、
セキュアデジタル（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ：ＳＤ）インターフェース規格と、
メモリ・スティック・インターフェース規格と、
ｘＤピクチャ・カード・インターフェース規格と、
内蔵ドライブエレクトロニクス（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ：ＩＤＥ）インターフェース規格と、
シリアル・アドバンスト・テクノロジー・アタッチメント（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ：ＳＡＴＡ）インターフェース規格と、
エクスターナルＳＡＴＡ（ｅＳＡＴＡ）インターフェース規格と、
スモール・コンピュータ・システム・インターフェース（ＳＣＳＩ）インターフェース規格と、
シリアル接続スモール・コンピュータ・システム・インターフェース（ＳＡＳ）インターフェース規格と、
ファイバー・チャンネル・インターフェース規格と、
イーサネット（登録商標）インターフェース規格と、
ペリフェラル・コンポーネント・インターコネクト・エキスプレス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ：ＰＣＩｅ）インターフェース規格と
のうちの１若しくはそれ以上を有するものであるシステム。
【００７８】
ＥＣ５９）ＥＣ４５記載のシステムにおいて、前記ホストは、
コンピュータと、
ワークステーションコンピュータと、
サーバコンピュータと、
ストレージサーバと、
パーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ：ＰＣ）と、
ラップトップコンピュータと、
ノートブックコンピュータと、
ネットブックコンピュータと、
携帯端末（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ：ＰＤＡ）と、
メディアプレイヤと、
メディアレコーダと、
デジタルカメラと、
セル方式送受話器と、
コードレス電話の送受話器と、
電子ゲームと
のうちの１若しくはそれ以上を有するものであるシステム。
【００７９】
システム
図１Ａは、ユーザによって作動される物理的アクセス証明（Ｐｒｏｏｆ  ｏｆ  Ｐｈｙｓｉｃａｌ  Ａｃｃｅｓｓ：ＰＰＡ）からの入力を有するＳＳＤコントローラを含むソリッドステートディスク／自己暗号化ドライブ（Ｓｅｌｆ−Ｅｎｃｒｙｐｔｉｎｇ  Ｄｒｉｖｅ：ＳＥＤ／Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｄｉｓｋ：ＳＳＤ）の実施形態の選択された詳細を図示する。ＳＳＤコントローラ１００は１若しくはそれ以上の外部インターフェース１１０を介してホスト（図示せず）に通信するように結合される。様々な実施形態に従って、外部インターフェース１１０は、ＳＡＴＡインターフェース、ＳＡＳインターフェース、ＰＩＣｅインターフェース、ファイバー・チャンネル・インターフェース、イーサネット（登録商標）インターフェース（例えば、１０ギガビットのイーサネット（登録商標））、上記のインターフェースのうちのいずれかの規格外版、若しくは特注のインターフェース、又はストレージ及び／又は通信機器及び／又は計算デバイスを相互接続するために使用されるその他任意の種類のインターフェースのうちの１若しくはそれ以上である。例えば、一部の実施形態において、ＳＳＤコントローラ１００はＳＡＴＡインターフェースとＰＣＩｅインターフェースとを含む。
【００８０】
ＳＳＤコントローラ１００は、さらに、１つ若しくはそれ以上のデバイスインターフェース１９０を介して、１つ若しくはそれ以上のフラッシュデバイス１９２のインスタンス（ｉｎｓｔａｎｃｅ）といった、１つ若しくはそれ以上の記憶デバイスを含むＮＶＭ１９９に通信可能に結合されている。様々な実施形態によれば、デバイスインターフェース１９０は、非同期インターフェース、同期インターフェース、ＤＤＲ同期インターフェース、ＯＮＦＩ２．２やＯＮＦＩ３．０互換インターフェースといったＯＮＦＩ互換インターフェース、トグルモード互換フラッシュインターフェース、上記のインターフェースのいずれかの非標準バージョン、カスタムインターフェース、または記憶デバイスに接続するのに使用される任意の他の種類のインターフェースのうちの１つ若しくはそれ以上である。
【００８１】
各フラッシュデバイス１９２のインスタンスは、一部の実施形態では、１つ若しくはそれ以上の個々のフラッシュダイ１９４を有する。フラッシュデバイス１９２のうちの特定のフラッシュデバイスの種類に従って、特定のフラッシュデバイス１９２内の複数のフラッシュダイ１９４に、並列に、任意選択で、かつ／または選択的にアクセスすることができる。フラッシュデバイス１９２は、単に、ＳＳＤコントローラ１００に通信可能に結合することができるようにした記憶デバイスの一種を表しているにすぎない。様々な実施形態では、ＳＬＣ  ＮＡＮＤフラッシュメモリ、ＭＬＣ  ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、読み出し専用メモリ、スタティック・ランダム・アクセス・メモリ、ダイナミック・ランダム・アクセス・メモリ、強磁性メモリ、相変化メモリ、レーストラックメモリ、または任意の他の種類のメモリデバイス若しくは記憶媒体といった、任意の種類の記憶デバイスを使用することができる。
【００８２】
様々な実施形態によれば、デバイスインターフェース１９０は、１つのバスにつき１つ若しくはそれ以上のフラッシュデバイス１９２のインスタンスを有する１つ若しくはそれ以上のバス；グループ内のバスにおおむね並列にアクセスさせる、１つのバスにつき１つ若しくはそれ以上のフラッシュデバイス１９２を有する１つ若しくはそれ以上のバスグループ；またはデバイスインターフェース１９０上へのフラッシュデバイス１９２の１つ若しくはそれ以上のインスタンスの任意の他の編成として編成される。
【００８３】
引き続き図１Ａにおいて、ＳＳＤコントローラ１００は、１若しくはそれ以上のモジュール、たとえば、ホストインターフェース１１１、データ処理１２１、ＰＰＡ制御１２９、バッファ１３１、マップ１４１、リサイクラ１５１、ＥＣＣ１６１、デバイスインターフェース論理１９１、およびＣＰＵ１７１を有する。いくつかの実施形態において、ＳＳＤコントローラ１００は、ＰＰＡ制御１２９と外部入力（たとえば、センサ）との間の通信を有効にする外部結合（たとえば、ピン）を含む。外部結合は、ＰＰＡ接続１２７として図示されている。図１Ａに示す特定のモジュールおよび相互接続は、単に一実施形態を表しているにすぎず、それらのモジュールの一部または全部ならびに図示されていない追加のモジュールの、多くの配列および相互接続が理解される。第１の例において、いくつかの実施形態では、デュアルポートを提供する２若しくはそれ以上のホストインターフェース１１１が存在する。第２の例において、いくつかの実施形態では、データ処理１２１および／またはＥＣＣ１６１は、バッファ１３１と組み合わせられる。第３の例において、いくつかの実施形態では、ホストインターフェース１１１は、バッファ１３１に直接的に結合され、データ処理１２１は、オプションでおよび／または選択的に、バッファ１３１に記憶されたデータに対し動作する。第４の例において、いくつかの実施形態では、デバイスインターフェース論理１９１は、バッファ１３１に直接的に結合され、ＥＣＣ１６１は、オプションでおよび／または選択的に、バッファ１３１に記憶されたデータに対し動作する。第５の例において、いくつかの実施形態では、コマンド管理１７３は、ＰＰＡ制御１２９に結合される。たとえば、コマンド管理１７３は、命令を表し、この命令は、たとえば、ＮＶＭ１９９に記憶され、ＰＰＡ制御１２９に応答し、ＰＰＡに基づいて保護されたコマンドへのアクセスを拒否／許可する、ＣＰＵコア１７２によって実行される。
【００８４】
ホストインターフェース１１１は、外部インターフェース１１０を介してコマンドおよび／またはデータを送受信し、一部の実施形態では、タグ追跡１１３によって個々のコマンドの進捗を追跡する。例えば、コマンドは、読み出すべきアドレス（ＬＢＡなど）およびデータの量（ＬＢＡ量、例えばセクタの数など）を指定する読み出しコマンドを含み、これに応答してＳＳＤは、読み出し状況および／または読み出しデータを提供する。別の例として、コマンドは、書き込むべきアドレス（ＬＢＡなど）およびデータの量（ＬＢＡ量、例えばセクタの数など）を指定する書き込みコマンドを含み、これに応答してＳＳＤは、書き込み状況を提供し、かつ／または書き込みデータを要求し、任意選択でその後に書き込み状況を提供する。さらに別の例として、コマンドは、もはや割り当てられる必要のなくなった１つ若しくはそれ以上のアドレス（１つ若しくはそれ以上のＬＢＡなど）を指定する割り当て解除コマンド（ｔｒｉｍコマンドなど）を含み、これに応答してＳＳＤは、マップをしかるべく変更し、任意選択で割り当て解除状況を提供する。あるコンテキストでは、ＡＴＡ互換ＴＲＩＭコマンドが割り当て解除コマンドの例である。さらに別の例として、コマンドは、超コンデンサ・テスト・コマンドまたはデータハーデニング成功問い合わせを含み、これに応答してＳＳＤは、適切な状況を提供する。一部の実施形態では、ホストインターフェース１１１は、ＳＡＴＡプロトコルと適合し、ＮＣＱコマンドを使用して、最高３２までの未処理のコマンドを有することができるようになっており、各コマンドは０から３１までの数として表された一意のタグを有する。一部の実施形態では、タグ追跡１１３は、外部インターフェース１１０を介して受け取ったコマンドのための外部タグを、ＳＳＤコントローラ１００による処理の間にコマンドを追跡するのに使用される内部タグと関連付けることができるようになっている。
【００８５】
様々な実施形態によれば、データ処理１２１は、任意選択で、かつ／または選択的に、バッファ１３１と外部インターフェース１１０との間で送られる一部または全部のデータを処理する、およびデータ処理１２１は、任意選択で、かつ／または選択的に、バッファ１３１に記憶されたデータを処理する、以下のうちの１つ若しくはそれ以上が行われる。一部の実施形態では、データ処理１２１は、１つ若しくはそれ以上のエンジン１２３を使用して、書式設定、書式設定の変更、符号変換、ならびに他のデータ処理および／または操作タスクのうちの１つ若しくはそれ以上を行う。
【００８６】
バッファ１３１は、外部インターフェース１１０からデバイスインターフェース１９０へ／デバイスインターフェース１９０から外部インターフェース１１０へ送られたデータを記憶する。一部の実施形態では、バッファ１３１は、さらに、ＳＳＤコントローラ１００によって１つ若しくはそれ以上のフラッシュデバイス１９２のインスタンスを管理するのに使用される、一部または全部のマップ表といったシステムデータも記憶する。様々な実施形態では、バッファ１３１は、データの一時記憶に使用されるメモリ１３７、バッファ１３１への、かつ／またはバッファ１３１からのデータの移動を制御するのに使用されるＤＭＡ１３３、ならびに高レベル誤り訂正および／または冗長性機能と、他のデータ移動および／または操作機能とを提供するのに使用されるＥＣＣ−Ｘ１３５のうちの１つ若しくはそれ以上を有する。高レベル冗長性機能の一例がＲＡＩＤ様の能力であり、ディスクレベルではなく、フラッシュ・デバイス（フラッシュデバイス１９２のうちの複数のものなど）レベルおよび／またはフラッシュダイ（フラッシュダイ１９４など）レベルの冗長性を備える。
【００８７】
様々な実施形態によれば、以下のうちの１つ若しくはそれ以上である。ＥＣＣ１６１は、任意選択で、かつ／または選択的に、バッファ１３１とデバイスインターフェース１９０との間で送られる一部または全部のデータを処理する；およびＥＣＣ１６１は、任意選択で、かつ／または選択的に、バッファ１３１に記憶されたデータを処理する。一部の実施形態では、ＥＣＣ１６１は、例えば１つ若しくはそれ以上のＥＣＣ技法に従った低レベル誤り訂正および／または冗長性機能を提供するのに使用される。一部の実施形態では、ＥＣＣ１６１は、ＣＲＣ符号、ハミング符号、ＲＳ符号、ＢＣＨ符号、ＬＤＰＣ符号、ビタビ符号、トレリス符号、硬判定符号、軟判定符号、消去ベースの符号、任意の誤り検出および／または訂正符号、ならびに上記の任意の組み合わせのうちの１つ若しくはそれ以上を実施する。一部の実施形態では、ＥＣＣ１６１は、１つ若しくはそれ以上の復号器（ＬＤＰＣ復号器など）を含む。
【００８８】
デバイスインターフェース論理１９１は、デバイスインターフェース１９０を介してフラッシュデバイス１９２のインスタンスを制御する。デバイスインターフェース論理１９１は、フラッシュデバイス１９２のプロトコルに従ってフラッシュデバイス１９２のインスタンスへ／からデータを送ることができるようになっている。デバイスインターフェース論理１９１は、デバイスインターフェース１９０を介したフラッシュデバイス１９２のインスタンスの制御を選択的に配列するスケジューリング１９３を含む。例えば、一部の実施形態では、スケジューリング１９３は、フラッシュデバイス１９２のインスタンスへの操作を待ち行列に入れ、フラッシュデバイス１９２（またはフラッシュダイ１９４）のインスタンスの個々のインスタンスへの操作を、フラッシュデバイス１９２（またはフラッシュダイ１９４）のインスタンスの個々のインスタンスが利用可能になるに従って選択的に送ることができるようになっている。
【００８９】
マップ１４１は、外部インターフェース１１０上で使用されるデータアドレス指定と、デバイスインターフェース１９０上で使用されるデータアドレス指定との間の変換を行い、表１４３を使用して外部データアドレスからＮＶＭ１９９内の位置へマップする。例えば、一部の実施形態では、マップ１４１は、外部インターフェース１１０上で使用されるＬＢＡを、表１４３によって提供されるマッピングにより、１つ若しくはそれ以上のフラッシュダイ１９４を対象とするブロックおよび／またはページアドレスに変換する。ドライブ製造または割り当て解除以来一度も書き込まれていないＬＢＡでは、マップは、ＬＢＡが読み取出された場合に返すべきデフォルト値を指し示す。例えば、割り当て解除コマンドを処理するときに、マップは、割り当て解除されたＬＢＡに対応するエントリがデフォルト値のうちの１つを指し示すように変更される。様々な実施形態では、様々なデフォルト値があり、各々が対応するポインタを有する。複数のデフォルト値は、ある（例えば第１の範囲内の）割り当て解除されたＬＢＡを１つのデフォルト値として読み出し、ある（例えば第２の範囲内の）割り当て解除されたＬＢＡを別のデフォルト値として読み出すことを可能にする。デフォルト値は、様々な実施形態では、フラッシュメモリ、ハードウェア、ファームウェア、コマンドおよび／若しくはプリミティブ引数および／若しくはパラメータ、プログラマブルレジスタ、またはそれらの様々な組み合わせによって定義される。
【００９０】
一部の実施形態では、リサイクラ１５１は、不要部分の整理を行う。例えば、一部の実施形態では、フラッシュデバイス１９２のインスタンスは、ブロックが書き換え可能になる前に消去されなければならないブロックを含む。リサイクラ１５１は、例えば、マップ１４１によって維持されるマップをスキャンすることによって、フラッシュデバイス１９２のインスタンスのどの部分が実際に使用されているか（例えば、割り当て解除されているのではなく割り当てられていること）を決定し、フラッシュデバイス１９２のインスタンスの未使用の（例えば割り当て解除された）部分を消去することによって書き込みに利用できるようにすることができるようになっている。別の実施形態では、リサイクラ１５１は、フラッシュデバイス１９２のインスタンスのより大きい連続した部分を書き込みに利用できるようにするために、フラッシュデバイス１９２のインスタンス内に記憶されたデータを移動することができるようになっている。
【００９１】
ＣＰＵ１７１は、ＳＳＤコントローラ１００の様々な部分を制御する。ＣＰＵ１７１は、ＣＰＵコア１７２を含む。ＣＰＵコア１７２は、様々な実施形態によれば、１つ若しくはそれ以上のシングルコアプロセッサまたはマルチコアプロセッサである。ＣＰＵコア１７２内の個々のプロセッサコアは、一部の実施形態では、マルチスレッド化されている。ＣＰＵコア１７２は、命令および／またはデータのキャッシュおよび／またはメモリを含む。例えば、命令メモリは、ＣＰＵコア１７２が、ＳＳＤコントローラ１００を制御するためのソフトウェア（ファームウェアとも呼ばれる）を実行することを可能にする命令を含む。一部の実施形態では、ＣＰＵコア１７２によって実行されるファームウェアの一部または全部が、フラッシュデバイス１９２のインスタンス上に記憶される。
【００９２】
様々な実施形態では、ＣＰＵ１７１は、外部インターフェース１１０を介して受け取られるコマンドを、コマンドが進行している間に追跡し、制御するコマンド管理１７３、バッファ１３１の割り当ておよび使用を制御するバッファ管理１７５、マップ１４１を制御する変換管理１７７、データアドレス指定の整合性を制御し、例えば、外部データアクセスと再利用データアクセスとの間の矛盾を回避するコヒーレンシ管理１７９、デバイスインターフェース論理１９１を制御するデバイス管理１８１、ならびに、任意選択で、他の管理部をさらに含む。ＣＰＵ１７１によって果たされる管理機能は、そのいずれか、若しくは全部が、ハードウェア、ソフトウェア（ＣＰＵコア１７２上や、外部インターフェース１１０を介して接続されたホスト上で実行されるファームウェアなど）、またはそれらの任意の実施形態によって制御され、かつ／または管理され、あるいは、そのどれも、制御も管理もされないものである。
【００９３】
一部の実施形態では、ＣＰＵ１７１は、性能統計の収集および／または報告、ＳＭＡＲＴの実施、電源逐次開閉機構の制御、電力消費の制御および／または調整、電源障害への応答、クロック速度の制御および／またはモニタリングおよび／または調整、ならびに他の管理タスクのうちの１つ若しくはそれ以上といった、他の管理タスクを行うことができるようになっている。
【００９４】
様々な実施形態は、ＳＳＤコントローラ１００と同様の、例えば、ホストインターフェース１１１および／または外部インターフェース１１０の適応による、様々なコンピューティングホストを用いた動作と適合するコンピューティングホスト・フラッシュ・メモリ・コントローラを含む。様々なコンピューティングホストは、コンピュータ、ワークステーションコンピュータ、サーバコンピュータ、ストレージサーバ、ＰＣ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ＰＤＡ、メディアプレーヤ、メディアレコーダ、ディジタルカメラ、セルラハンドセット、コードレス電話機ハンドセット、および電子ゲームのうちの１つまたはそれらの任意の組み合わせを含む。
【００９５】
様々な実施形態では、ＳＳＤコントローラ（またはコンピューティングホスト・フラッシュ・メモリ・コントローラ）の全部または任意の部分が、単一のＩＣ、マルチダイＩＣの単一のダイ、マルチダイＩＣの複数のダイ、または複数のＩＣ上で実施される。例えば、バッファ１３１は、ＳＳＤコントローラ１００の他の要素と同じダイ上に実施される。別の例では、バッファ１３１は、ＳＳＤコントローラ１００の他の要素と異なるダイ上に実施される。
【００９６】
図１Ｂに、図１ＡのＳＥＤ／ＳＳＤを含むシステムの１実施形態の選択された詳細を図示する。ＳＥＤ／ＳＳＤ１０１は、デバイスインターフェース１９０を介してＮＶＭ１９９に結合されたＳＳＤコントローラ１００を含む。ＳＥＤ／ＳＳＤは、外部インターフェースを介してホストに結合されている。
【００９７】
図１Ｂはまた、ユーザが、セキュアなストレージデバイス、ＳＥＤ／ＳＳＤ１０１のオーナーシップを得る例を示す。ユーザ１５０は、ストレージデバイスＳＥＤ／ＳＳＤ１０１のセキュリティを有効にするためのホスト１０２とのインタラクション１５３を有する。ユーザ１５０は、アクチュエータ１５７とのインタラクション１５５、所定の証明行動１５９を介して、ＳＥＤ／ＳＳＤ１０１内に存在し、かつ、ＰＰＡ接続１２７を介してＳＳＤコントローラ１００内に存在するＰＰＡ制御１２９と接続される、ＰＰＡセンサ１２５に作用して、ＰＰＡをストレージデバイスに提供する。そのようなユーザの物理的インタラクションの例は、ＰＰＡセンサ１２５が瞬間スイッチであること、アクチュエータ１５７が針のようなロッド（たとえば、伸ばした状態のペーパークリップ）であること、ユーザが、そのロッドを使用してアクセスホールを通ってストレージデバイス上に到達し、所定の態様で瞬間スイッチを動作させること（たとえば、１若しくはそれ以上のスイッチを閉じること）、である。
【００９８】
図１Ｃは、図１ＡのＳＳＤを含むシステムの実施形態の選択された詳細を示す。図１Ｂにおけるように、ＳＥＤ／ＳＳＤ１０１は、デバイスインターフェース１９０を介してＮＶＭ１９９に結合されたＳＳＤコントローラ１００を含む。ＳＳＤは、外部インターフェース１１０を介してホスト１０２に結合されるが、外部インターフェース１１０はまた、中間コントローラ１０３に結合され、そして、中間インターフェース１０４を介してホスト１０２に結合される。さまざまな実施形態において、ＳＳＤコントローラ１００は、１若しくはそれ以上の中間レベルの他のコントローラ、たとえば、ＲＡＩＤコントローラを介して、ホストに結合される。いくつかの実施形態において、ＳＥＤ／ＳＳＤ１０１（またはその変形例）は、ＳＡＳドライブまたはＳＡＴＡドライブに対応し、中間コントローラ１０３は、エクスパンダに対応し、このエクスパンダはまた、イニシエータに結合され、または、あるいは中間コントローラ１０３は、エクスパンダを介してイニシエータに間接的に結合されるブリッジに対応する。ユーザがストレージデバイスのセキュリティを有効にすることおよびＰＰＡを提供することに関する詳細は、図１Ｂに関し説明されたものと同様であるので、ここでは繰り返さない。
【００９９】
様々な実施形態では、１つ若しくはそれ以上のＮＶＭと組み合わされたＳＳＤコントローラおよび／またはコンピューティングホスト・フラッシュ・メモリ・コントローラが、ＵＳＢ記憶コンポーネント、ＣＦ記憶コンポーネント、ＭＭＣ記憶コンポーネント、ＳＤ記憶コンポーネント、メモリスティック記憶コンポーネント、ｘＤピクチャカード記憶コンポーネントといった不揮発性記憶コンポーネントとして実施される。
【０１００】
様々な実施形態では、ＳＳＤコントローラ（またはコンピューティングホスト・フラッシュ・メモリ・コントローラ）の全部またはいずれかの部分、またはその機能が、コントローラが結合されるべきホスト（図１Ｃのホスト１０２など）において実施される。様々な実施形態では、ＳＳＤコントローラ（若しくはコンピューティングホスト・フラッシュ・メモリ・コントローラ）の全部またはいずれかの部分、またはその機能が、ハードウェア（論理回路など）、ソフトウェア（ドライバプログラムなど）、またはそれらの任意の組み合わせによって実施される。例えば、（例えば図１ＡのＥＣＣ１６１および／またはＥＣＣ−Ｘ１３５と同様の）ＥＣＣ部の、またはＥＣＣ部と関連付けられた機能が、一部はホスト上のソフトウェアによって、一部はＳＳＤコントローラ内のハードウェアによって実施される。別の例として、（例えば図１Ａのリサイクラ１５１と同様の）リサイクラ部の、またはリサイクラ部と関連付けられた機能が、一部はホスト上のソフトウェアによって、一部はコンピューティングホスト・フラッシュ・メモリ・コントローラ内のハードウェアによって実施される。
【０１０１】
（実施例）
ストレージデバイスへの物理的アクセス証明の実施形態
図２は、ＳＥＤ／ＳＳＤのセキュリティを有効にし、セキュアにされたドライブをアンロックするための、ホストＢＩＯＳとのユーザインタラクションと、図１Ｂおよび図１Ｃのシステムに関するＰＰＡと、を示す。
【０１０２】
いくつかのシナリオにおいて、ユーザ１５０は、電源オン・シーケンスの直後の、ホスト１０２とのインタラクション１５３を有する。参照番号２００によって一般的に示されている例では、電源がオンになると、ユーザは、非ブランクユーザパスワードを選択してＢＩＯＳフラッシュメモリに入力することによりホストＢＩＯＳ２０２を変更することを許可される。ホストＢＩＯＳの変更後、およびホストオペレーティングシステムの起動前に、プリブート認証処理２０４が、破線矢印２０６によって概念的に示されているように、非ブランクパスワードをホストＢＩＯＳからＳＥＤ／ＳＳＤ１０１に送る。プリブート認証処理は、ストレージデバイスのセキュリティを有効にし、ストレージデバイスをアンロックして、たとえばホストオペレーティングシステムから、発行されたストレージコマンドが受け付けられる。セキュリティが有効にされると、ＳＥＤ／ＳＳＤ１０１は、データを読み書きするストレージコマンドのすべてを受け付け、実行するだろう。しかしながら、さまざまな実施形態によると、パスワードの変更、ストレージデバイスの一部の消去、ストレージデバイスのフォーマット、サニタイジングまたはトリミング動作の実行、等を試みるコマンドのうちのいずれか１若しくはそれ以上は、ユーザが、所定の態様でストレージデバイスのセンサ１２５を動作させることによりストレージデバイスへの実際の物理的アクセス証明２０８を提供するまで、実行されない。
【０１０３】
図３は、セキュリティが有効にされているどうか、セキュアなドライブがアンロックされたかどうか、に対するストレージデバイスの動作を示す表である。表は、参照番号３００によって一般的に示され、２つのパラメータ、セキュリティ有効およびドライブロックの許容可能な組み合わせを含む。図２の例に関し上述したように、ストレージデバイスのセキュリティは、いくつかのシナリオにおいて、非ブランクパスワードのプリブート転送中に有効にされる。セキュリティが有効にされなかった場合、ストレージデバイスは、ロックされず、受信されたすべてのコマンドを非選択的に実行する（すべてのＣＭＤｓを実行する、３０１）。しかしながら、セキュリティが有効にされると、ストレージデバイスは、電源オン・シーケンスの後、正しいパスワードがホストから受信されるまで、ロックされた状態になり、一部および／または全部のコマンドにオプションでおよび／または選択的に応答しない（正しいクレデンシャルがアンロックするのを待つ、３０３）。そして、ストレージデバイスは、アンロックになり、ストレージデバイスコマンドを選択的に実行可能な状態になる（保護されていないすべてのＣＭＤｓを実行し、ＰＰＡが存在する場合にのみ保護されたＣＭＤｓを実行する、３０２）。
【０１０４】
図４は、受信されたコマンドの実行中に図１Ａ〜図１ＣのＳＥＤ／ＳＳＤのようなセキュアなストレージデバイスによって使用される決定木を示す。決定木は、参照番号４００によって一般的に示されている。（ストレージデバイス）コマンドが受信されると４０２、セキュリティが有効にされているかどうかを決定するテスト４０４が行われる。セキュリティが有効にされていない場合、受信されたコマンドは実行され４０６、ステータスがホストに報告され４０８、ストレージデバイスは、受信されたコマンドの処理を完了している。
【０１０５】
セキュリティが有効にされていると決定されると、受信されたコマンドがテストされ４１０、それが複数の保護されたコマンドのうちの１つであるかどうかが決定される。保護されたコマンドの例は、「既存のクレデンシャルを変更する」、「ドライブの定義された部分を消去する」、「ドライブをフォーマットする」、および「サニタイジングまたはトリミング動作を実行する」、またはそれらの任意の組み合わせである。さまざまな実施形態において、保護されたコマンドは、上述した例の任意の組み合わせである。受信されたコマンドが保護されたものでない場合には、コマンドが実行され４０６、ステータスがホストに報告される４０８。受信されたコマンドが保護されたコマンドである場合には、ＰＰＡが存在するかどうかを決定するテスト４１２が行われる。いくつかのシナリオにおいて、証明は、図１Ｂ、図１Ｃ、および図２に示すようなストレージデバイスとの直接的な物理的ユーザインタラクションを含む。証明が存在する場合には、受信されたコマンドが実行され４０６、ステータスがホストに報告される４０８。ＰＰＡが直ちに存在しない場合、証明が行われる証明時間ウィンドウが確立される。ウィンドウは、たとえば、アクチュエータ（たとえば、図１Ｂおよび図１Ｃの１５７）を取得しまたはもたらし、ストレージデバイスとの所定の物理的インタラクションを開始するための、ユーザ時間を提供する。いくつかの実施形態および／または使用シナリオでは、所定の物理的インタラクションは、単一のユーザインタラクションのみを有し、相対的に単純である一方で、他の実施形態および／または使用シナリオでは、所定の物理的インタラクションは、複数のフェーズおよび特定のユーザインタラクションを有し、相対的に複雑である。さまざまな証明ウィンドウは、タイムアウトについてのテスト４１４として表現される。証明ウィンドウがタイムアウトしていない場合には、ストレージデバイスは、ＰＰＡが存在するまで待ち続ける（テスト４１２）。証明ウィンドウが、ＰＰＡが存在するようにならないままタイムアウトしてしまった場合、エラーがオプションでおよび／または選択的に、ホストに報告される４１６。
【０１０６】
いくつかの実施形態および／または使用シナリオでは、図１ＡのＣＰＵ１７１は、図４に示した機能の全部または任意の一部、および／または、図１ＡのＰＰＡ制御１２９と共に実行される機能を、管理、制御、および／または実行する、命令（たとえば、図１Ａのフラッシュデバイス１９２のインスタンスからフェッチされる）を実行する。たとえば、テスト４０４、４１０、４１２、および４１４のいずれか１若しくはそれ以上は、全部または一部がＣＰＵ１７１によって実行される。いくつかの実施形態では、図１Ａのコマンド管理１７３が、図４に示した機能の全部または任意の一部、および／または、図１ＡのＰＰＡ制御１２９と共に実行される機能を、管理、制御、および／または実行する。たとえば、テスト４０４、４１０、４１２、および４１４のうちのいずれか１若しくはそれ以上は、全部または一部がコマンド管理１７３によって、オプションで、フラッシュデバイス１９２のインスタンスからフェッチされ、ＣＰＵ１７１によって実行される命令と共に、実行される。別の例では、コマンド管理１７３は、ＰＰＡ制御１２９によって提供される情報に少なくとも部分的に基づいて、ＰＰＡを認識する。
【０１０７】
図５Ａ〜５Ｄは、さまざまなＰＰＡセンサ１２５Ａ〜Ｄ、対応するアクティベータ、および図１Ａ〜１ＣのＳＥＤ／ＳＳＤへの物理的アクセスを証明するための対応する所定のユーザインタラクション、の例を示す。ＰＰＡセンサ１２５Ａ〜Ｄの各々は、図１Ｂ、図１Ｃ、および図２のＰＰＡセンサ１２５のそれぞれの例示的な実施形態である。図５Ｅは、ＰＰＡがホストシステムとの物理的にセキュアな接続によって確立される、図１Ａ〜１ＣのＳＥＤ／ＳＳＤ１０１を示す。
【０１０８】
図５Ａにおいて、ＰＰＡセンサ１２５Ａは、ストレージデバイス（たとえば、ＳＥＤ／ＳＳＤ１０１）内の、ユーザによって操作される外部の磁石５０４によって動作可能な、磁気動作リードスイッチ５０２を含む。証明時間ウィンドウ内でユーザは、リードスイッチの近くで磁石を動かして、ストレージデバイスのＰＰＡを提供する。ストレージデバイスがラップトップコンピュータにインストールされる例では、ユーザは、コンピュータの裏面に沿って磁石を通過させて、リードスイッチをアクティブにする。いくつかの実施形態および／または使用シナリオでは、（時間に対する）スイッチの開閉の相対的により複雑なシーケンスを含む所定のユーザインタラクションが、ＰＰＡを提供する。
【０１０９】
図５Ｂにおいて、ＰＰＡセンサ１２５Ｂは、ストレージデバイス（たとえば、ＳＥＤ／ＳＳＤ１０１）内の、ストレージデバイスの筐体における開口部を介してユーザによって操作される針のようなロッド５０８（たとえば、伸ばした状態のペーパークリップ）によって動作可能な、瞬間スイッチ５０６を含む。瞬間スイッチ５０６を動作させる他のモードが意図される。証明時間ウィンドウ内でユーザは、ロッドを開口部に挿入し、次にロッドを押圧してスイッチを動作させ、ストレージデバイスのＰＰＡを提供する。いくつかの実施形態および／または使用シナリオでは、（時間に対する）スイッチの開閉の相対的により複雑なシーケンスを含む所定のユーザインタラクションが、ＰＰＡを提供する。
【０１１０】
図５Ｃにおいて、ＰＰＡセンサ１２５Ｃは、ストレージデバイス（たとえば、ＳＥＤ／ＳＳＤ１０１）内の、ユーザによって操作される外部の無線周波数送信機５１２と互換性のある、互換性のある無線周波数受信機／検出器５１０を含む。証明時間ウィンドウ内でユーザは、受信機に対し送信機を操作して、ストレージデバイスのＰＰＡを提供する。いくつかの実施形態および／または使用シナリオでは、（時間および／または位置に対する）動きの相対的により複雑なシーケンスを含む所定のユーザインタラクションが、ＰＰＡを提供する。特定の例において、ユーザは、無線送信機として携帯電話を用い、ＳＥＤ／ＳＳＤ１０１に対し定義されたパターンで携帯電話を動かす。
【０１１１】
図５Ｄにおいて、ＰＰＡセンサ１２５Ｄは、ストレージデバイス（たとえば、ＳＥＤ／ＳＳＤ１０１）内の、光源５１６を検出することが可能な、光センサ５１４を含む。ユーザによって操作される光源遮断器５１８（たとえば、シャッター）は、光源がセンサに対して選択的に入射し、且つ光源がセンサに到達するのを選択的に遮断するように構成される。センサで検出される光の変化は、遮断器の動きに対応する。証明時間ウィンドウ内でユーザは、遮断器を動かして、および／または、操作して、ストレージデバイスのＰＰＡを提供する。いくつかの実施形態および／または使用シナリオでは、（時間に対する）動きの相対的により複雑なシーケンスを含む所定のユーザインタラクションが、ＰＰＡを提供する。特定の例として、ラップトップの上面でカバーが開いているときに光ファイバが周辺光を受け取り、カバーが閉じられているときにセンサへの光は遮断される。ユーザインタラクションは、証明ウィンドウ中に、ラップトップのカバーを開閉する所定のシーケンスを含む。
【０１１２】
図５Ｅにおいて、ＰＰＡは、ホストシステムとの物理的にセキュアな接続によって確立される。特定の実施形態において、証明は、接続が存在している間、連続して存在する。別の実施形態では、証明は、定義された間隔中に存在する。ホスト１０２は、ホストと物理的にセキュアな接続との結合５２１を介して、物理的にセキュアな接続５２０に結合される。ホストと物理的にセキュアな接続との結合５２１は、物理的にセキュアな接続とＳＥＤ／ＳＳＤとの結合５２３を介して、ＳＥＤ／ＳＳＤ１０１に結合される。さまざまな実施形態において、ホストと物理的にセキュアな接続との結合５２１は、中間インターフェース１０４、中間インターフェースとは別個のインターフェース、または管理接続、のうちの全部または任意の一部である。管理接続の例は、Ｉ２Ｃインターフェース接続、ＵＡＲＴインターフェース接続、およびイーサネット（登録商標）インターフェース接続（たとえば、ＧｉｇＥ）を含む。いくつかの実施形態では、物理的にセキュアな接続とＳＥＤ／ＳＳＤとの結合５２３は、ホストと物理的にセキュアな接続との結合５２１と互換性がある。たとえば、結合５２１および５２３は、ホストおよびＳＥＤ／ＳＳＤのそれぞれのＩ２Ｃ（またはＵＡＲＴ）インターフェースに結合し、物理的にセキュアな接続５２０は、物理的にセキュアであることがユーザによって知られている１若しくはそれ以上のワイヤである。別の例として、結合５２１および５２３は、ホストおよびＳＥＤ／ＳＳＤのそれぞれのイーサネット（登録商標）インターフェースに結合し、物理的にセキュアな接続５２０は、物理的にセキュアであることがユーザによって知られている、１若しくはそれ以上のイーサネット（登録商標）ケーブル、イーサネット（登録商標）と互換性のあるルータ、およびイーサネット（登録商標）と互換性のあるスイッチ、のうちの１若しくはそれ以上である。いくつかの実施形態において、物理的にセキュアな接続とＳＥＤ／ＳＳＤとの結合５２３は、外部インターフェース１１０の全部または任意の一部である。
【０１１３】
アンチハイジャック技法の説明は主として、図１Ａ〜１ＣのＳＥＤ／ＳＳＤ１０１のような自己暗号化ソリッドステートドライブとの接続における使用に焦点を当てた。しかしながら、この技法が、ハードディスクドライブ、ソリッドステートドライブ、内部ストレージを有するネットワークデバイス、インテリジェントな電気器具、等といった、広い範囲のセキュアなストレージデバイスを用いた有用な応用例を有することが意図される。
【０１１４】
実施技法の例
一部の実施形態では、例えばフラッシュメモリを有するＳＥＤ／ＳＳＤ、コンピューティングホスト・フラッシュ・メモリ・コントローラ、および／またはＳＳＤコントローラ（例えば図１ＡのＳＳＤコントローラ１００）、ならびにプロセッサ、マイクロプロセッサ、システム・オン・チップ、特定用途向け集積回路、ハードウェアアクセラレータ、または前述の動作の全部または部分を提供する他の回路をを実装するシステムによって行われる動作の全部またはいずれかの部分の様々な組み合わせが、コンピュータシステムによる処理と適合する仕様によって指定される。仕様は、様々な記述、例えば、ハードウェア記述言語、回路記述、ネットリスト記述、マスク記述、またはレイアウト記述に従ったものである。記述の例には、Ｖｅｒｉｌｏｇ、ＶＨＤＬ、ＳＰＩＣＥ、ＳＰＩＣＥの変形、例えば、ＰＳｐｉｃｅ、ＩＢＩＳ、ＬＥＦ、ＤＥＦ、ＧＤＳ−ＩＩ、ＯＡＳＩＳ、または他の記述が含まれる。様々な実施形態では、処理は、１つ若しくはそれ以上の集積回路上に含めるのに適する論理および／または回路を生成し、検証し、または指定するための解釈、コンパイル、シミュレーション、および合成の任意の組み合わせを含む。各集積回路は、様々な実施形態によれば、様々な技法に従って設計することができ、かつ／または製造することができる。技法には、プログラマブルな技法（例えば、フィールド若しくはマスク・プログラマブル・ゲート・アレイ集積回路）、セミカスタムの技法（例えば、全部若しくは一部がセルベースの集積回路）、およびフルカスタムの技法（例えば、実質的に専門化された集積回路）、それらの任意の組み合わせ、または集積回路の設計および／若しくは製造と適合する任意の他の技法が含まれる。
【０１１５】
一部の実施形態では、命令のセットを記憶しているコンピュータ可読媒体によって記述される動作の全部または部分の様々な組み合わせが、１つ若しくはそれ以上のプログラム命令の実行および／若しくは解釈によって、１つ若しくはそれ以上のソースおよび／若しくはスクリプト言語命令文の解釈および／若しくはコンパイルによって、または、プログラミングおよび／若しくはスクリプティング言語命令文で表現された情報をコンパイルし、変換し、かつ／または解釈することによって生成されるバイナリ命令の実行によって実行される。命令文は任意の標準のプログラミングまたはスクリプティング言語（例えば、Ｃ、Ｃ＋＋、Ｆｏｒｔｒａｎ、Ｐａｓｃａｌ、Ａｄａ、Ｊａｖａ（登録商標）、ＶＢｓｃｒｉｐｔ、Ｓｈｅｌｌ）と適合する。プログラム命令、言語命令文、またはバイナリ命令のうちの１つ若しくはそれ以上が、任意選択で、１つ若しくはそれ以上のコンピュータ可読記憶媒体要素上に記憶される。様々な実施形態では、プログラム命令の一部、全部、または様々な部分が、１つ若しくはそれ以上の関数、ルーチン、サブルーチン、インラインルーチン、プロシージャ、マクロ、またはそれらの部分として実現される。
【０１１６】
結論
ある特定の選択が、説明において、テキストおよび図面を作成するに際の単なる便宜のためになされており、別の指示がない限り、それらの選択は、それ自体で、前述の実施形態の構造または動作に関する追加情報を伝えるものと解釈すべきではない。選択の例には、図の符番に使用される呼称の特定の編成または割り当て、および実施形態の特徴および要素を識別し、参照するのに使用される要素識別子（コールアウトや数値識別子など）の特定の編成または割り当てが含まれる。
【０１１７】
「ｉｎｃｌｕｄｅｓ」または「ｉｎｃｌｕｄｉｎｇ」という語は、開放型範囲の論理集合を記述する抽象概念として解釈されるべきことが明確に意図されており、後に続けて「ｗｉｔｈｉｎ」という語が明示されない限り物理的包含を伝えるためのものではない。
【０１１８】
前述の実施形態は、説明および理解の明確さのためにある程度詳細に説明されているが、本発明は提示した詳細だけに限定されるものではない。本発明の多くの実施形態がある。開示の実施形態は例示であり、限定ではない。
【０１１９】
説明と整合性を有する、構成、配置、および使用における多くの変形が可能であり、それらの変形は、発行される特許の特許請求の範囲内にあることが理解されるであろう。例えば、相互接続および機能ユニットのビット幅、クロック速度、および使用される技術の種類は、各構成要素ブロックにおける様々な実施形態に従って変わりうる。相互接続および論理に与えられた名称は、単なる例であり、説明した概念を限定するものと解釈すべきではない。フローチャートおよび流れ図のプロセス、動作、および機能要素の順序および配置は、様々な実施形態に従って変わりうる。また、特に別に指定しない限り、指定される値範囲、使用される最大値および最小値、または他の特定の仕様（例えば、フラッシュメモリ技術の種類、レジスタおよびバッファ内のエントリまたは段の数）は、単に前述の実施形態のものにすぎず、実施技術の改善および変更を追跡することが見込まれるものであり、限定として解釈すべきではない。
【０１２０】
当分野で公知の機能的に等価の技法を、様々なコンポーネント、サブシステム、動作、関数、ルーチン、サブルーチン、インラインルーチン、プロシージャ、マクロ、またはそれらの部分を実施するのに、前述の技法の代わりに用いることができる。また、実施形態の多くの機能的態様を、より高速な処理（以前にハードウェアにあった機能のソフトウェアへの移行を円滑化する）およびより高い集積密度（以前にソフトウェアにあった機能のハードウェアへの移行を円滑化する）の実施形態に依存する設計制約条件および技術傾向に応じて、選択的に、ハードウェア（例えば専用の回路など）で、またはソフトウェアで（例えば、プログラムされたコントローラ若しくはプロセッサのある方式によって）実現できることも理解される。様々な実施形態の具体的な変形は、これに限定されるものではないが、分割の違い、フォームファクタおよび構成の違い、異なるオペレーティングシステムおよび他のシステムソフトウェアの使用、異なるインターフェース規格、ネットワークプロトコル、または通信リンクの使用、本明細書で説明した概念を、特定の用途の固有の技術的業務的制約条件に従って実施するときに予期されるべき他の変形を含む。
【０１２１】
各実施形態は、前述の各実施形態の多くの態様の最小限の実施に必要とされるものを大きく超えた詳細および環境的コンテキストと共に説明されている。一部の実施形態は、残りの要素間での基本的協働を変更せずに開示の構成要素または機能を割愛することを当業者は理解するであろう。よって、開示の詳細の多くが前述の実施形態の様々な態様を実施するのに必要ではないことが理解される。残りの要素が先行技術と区別できる範囲内で、割愛される構成要素および特徴は本明細書で説明した概念を限定するものではない。
【０１２２】
設計におけるすべてのそのような変形は、前述の実施形態によって伝えられる教示に対する実質的な変更ではない。また、本明細書で説明した実施形態は、他のコンピューティング用途およびネットワーキング用途に幅広い適用性を有し、前述の実施形態の特定の用途または産業だけに限定されるものではないことも理解される。よって本発明は、発行される特許の特許請求の範囲内に包含されるあらゆる可能な改変形態および変形形態を含むものと解釈すべきである。
【図１Ａ】
0006049716.tif 000006
【図１Ｂ】
0006049716.tif 000007
【図１Ｃ】
0006049716.tif 000008
【図２】
0006049716.tif 000009
【図３】
0006049716.tif 000010
【図４】
0006049716.tif 000011
【図５Ａ】
0006049716.tif 000012
【図５Ｂ】
0006049716.tif 000013
【図５Ｃ】
0006049716.tif 000014
【図５Ｄ】
0006049716.tif 000015
【図５Ｅ】
0006049716.tif 000016