(57)【要約】      （修正有）【課題】記憶デバイス内のデータがホストに容易にコピーされないように保護することのできるデータ保護方法を提供する。【解決手段】ホストが記憶デバイス内のデータにアクセスすると、まず、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する。ホストがデータの再生操作を実行すれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容する。反対に、ホストがデータのコピー操作を実行すれば、記憶デバイスは妨害処置を実行して、データがホストへコピーされることを防止するか遅らせる。【選択図】図４
2011065622.tif 000002
【特許請求の範囲】
【請求項１】
記憶デバイス内のデータを、ホストが前記データにアクセスする際に保護するためのデータ保護方法であって、
前記記憶デバイス内の前記データに対する前記ホストの読取りの目的を決定するステップと、
前記決定の結果に従って、２つ以上の読取り応答を提供するステップとを含むデータ保護方法。
【請求項２】
前記記憶デバイス内の前記データに対する前記ホストの読取りの目的を決定する前記ステップは、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを決定するステップを含み、
前記決定の結果に従って２つ以上の読取り応答を提供する前記ステップは、
前記ホストが前記データの再生操作を実行することが決定されれば、前記読取り応答のうちの１つを提供し、前記記憶デバイスによる再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、前記ホストが前記データのコピー操作を実行することが決定されれば、前記読取り応答のうちのもう一方を提供し、前記記憶デバイスによる妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせるステップを含む、請求項１記載のデータ保護方法。
【請求項３】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップは、
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを、前記記憶デバイスのデータ出力量に従って決定するステップを含む、請求項２記載のデータ保護方法。
【請求項４】
前記データ出力量は、特定の時間に測定されるデータフロー値である、請求項３記載のデータ保護方法。
【請求項５】
前記データ出力量は、特定の時間期間内に測定される平均データフロー値である、請求項３記載のデータ保護方法。
【請求項６】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを前記データ出力量に従って決定する前記ステップは、
フロー速度しきい値を定義するステップと、
前記記憶デバイスのデータ出力量を前記特定の時間期間内のサンプリング持続期間の間隔で測定するステップであって、前記特定の時間期間は前記サンプリング持続時間より長いステップと、
前記特定の時間期間内に測定された全てのデータ出力量を使用することにより、平均フロー速度を計算するステップと、
前記平均フロー速度が前記フロー速度しきい値より低値であれば、前記ホストが前記データの再生操作を実行することを決定するステップと、
前記平均フロー速度が前記フロー速度しきい値より高値か等しければ、前記ホストが前記データのコピー操作を実行することを決定するステップとを含む、請求項５記載のデータ保護方法。
【請求項７】
前記フロー速度しきい値を定義するステップは、
前記フロー速度しきい値を、予め決められたファイルフォーマットまたは前記記憶デバイスの伝送インタフェースのタイプに従って定義するステップを含む、請求項６記載のデータ保護方法。
【請求項８】
前記記憶デバイス内の記憶ユニットの少なくとも一部は複数の記憶スペースに分割され、前記記憶スペースの各々はフロー速度基準に対応し、前記データは前記記憶スペースのうちの１つに存在し、前記フロー速度しきい値を定義するステップは、
前記データを含む前記記憶スペースに対応する前記フロー速度基準を前記フロー速度しきい値として供給するステップを含む、請求項６記載のデータ保護方法。
【請求項９】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップより前に、前記データ保護方法は、さらに、
予め決められた時間期間内に前記記憶デバイスにより実行された少なくとも１つのホスト命令、または前記ホスト命令に対応する命令情報を記憶するステップを含む、請求項２記載のデータ保護方法。
【請求項１０】
前記命令情報は、前記ホスト命令のタイプ及び前記ホスト命令により処理されるデータ長のうちの少なくとも一方を含む、請求項９記載のデータ保護方法。
【請求項１１】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップは、
単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数を計数するステップと、
前記合計数に従って、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップを含む、請求項２記載のデータ保護方法。
【請求項１２】
前記合計数に従って、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップは、
前記合計数が予め決められた値より多いか等しければ、前記ホストが前記データの再生操作を実行すると決定するステップと、
前記合計数が前記予め決められた値より少なければ、前記ホストが前記データのコピー操作を実行すると決定するステップとを含む、請求項１１記載のデータ保護方法。
【請求項１３】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップは、
前記ホストにより前記記憶デバイスへ連続して送られる複数の読取り命令を入手するステップと、
前記読取り命令の合計数が予め決められた数より多いか等しく、かつ各々が前記読取り命令に対応している全ての読取りデータ長が予め決められた長さより長ければ、前記ホストが前記データのコピー操作を実行すると決定するステップを含む、請求項２記載のデータ保護方法。
【請求項１４】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップは、
前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプに従って第１のデータ量及び第２のデータ量を確定するステップであって、前記第２のデータ量は前記第１のデータ量より多いステップと、
前記ホストのデータ読取り量と前記第１のデータ量との差が前記データ読取り量と前記第２のデータ量との差より少なければ、前記ホストが前記データの再生操作を実行すると決定するステップと、
前記データ読取り量と前記第１のデータ量との差が前記データ読取り量と前記第２のデータ量との差より多ければ、前記ホストが前記データのコピー操作を実行すると決定するステップとを含む、請求項２記載のデータ保護方法。
【請求項１５】
前記データ読取り量は、単一の読取り命令により読み取られるべきデータの量である、請求項１４記載のデータ保護方法。
【請求項１６】
前記データ読取り量は、複数の読取り命令により読み取られるべきデータの量の平均値である、請求項１４記載のデータ保護方法。
【請求項１７】
前記妨害処置は前記ホストへメッセージを送り返すことを含む、請求項２記載のデータ保護方法。
【請求項１８】
前記メッセージは、媒体変更メッセージ、読取り失敗メッセージ、巡回冗長検査（ＣＲＣ）エラーメッセージ、エラー訂正コード（ＥＣＣ）エラーメッセージまたは記憶媒体不在メッセージである、請求項１７記載のデータ保護方法。
【請求項１９】
前記妨害処置は、無限ループを実行してシステムダウン状態に入ることを含む、請求項２記載のデータ保護方法。
【請求項２０】
前記妨害処置は、予め決められたレートで前記ホストへ前記データを伝送することを含む、請求項２記載のデータ保護方法。
【請求項２１】
前記記憶デバイスにより前記妨害処置を実行する前記ステップはさらに、
予め決められた妨害時間内に前記妨害処置を実行するステップと、
前記予め決められた妨害時間が経過した後も前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかの決定を継続するステップとを含む、請求項２記載のデータ保護方法。
【請求項２２】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップはさらに、
前記ホストによりアクセスされる前記データがシステムデータであるかどうかを決定するステップと、
前記データが前記システムデータでなければ、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップとを含む、請求項２記載のデータ保護方法。
【請求項２３】
前記ホストによりアクセスされる前記データが前記システムデータであるかどうかを決定する前記ステップは、
前記データが前記システムデータであるかどうかを前記データの論理アドレスに従って決定するステップを含む、請求項２２記載のデータ保護方法。
【請求項２４】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップはさらに、
バッファ時間を定義するステップと、
前記バッファ時間が経過した後に、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップとを含む、請求項２記載のデータ保護方法。
【請求項２５】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップはさらに、
前記ホストによりアクセスされる前記データが前記記憶デバイスにおける記憶ユニットの特定の記憶スペース内に存在するかどうかを決定するステップと、
前記データが前記特定の記憶スペース内に存在すれば、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップとを含む、請求項２記載のデータ保護方法。
【請求項２６】
データ保護システムであって、
ホストと、
記憶デバイスとを備え、前記記憶デバイスは、
データを記憶するための記憶ユニットと、
前記記憶ユニットへ結合される記憶デバイスコントローラとを備え、
前記ホストが前記記憶デバイスへ結合されて前記データにアクセスすると、前記記憶デバイスコントローラは、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定し、
前記記憶デバイスコントローラが、前記ホストが前記データの再生操作を実行すると決定すれば、前記記憶デバイスは再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、
前記記憶デバイスコントローラが、前記ホストが前記データのコピー操作を実行すると決定すれば、前記記憶デバイスは妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせるデータ保護システム。
【請求項２７】
外部記憶デバイスであって、
コネクタと、
少なくとも第１の記憶スペースと第２の記憶スペースとに分割される記憶ユニットであって、前記第１の記憶スペース及び第２の記憶スペースは各々データを記憶する記憶ユニットと、
前記コネクタ及び前記記憶ユニットへ結合される記憶デバイスコントローラとを備え、
前記第１の記憶スペース内の前記データを読み取るために、前記ホストが前記コネクタを介して前記外部記憶デバイスへ結合されると、前記記憶デバイスコントローラは、前記第１の記憶スペース内の前記データに対する前記ホストの読取りの目的を決定し、
前記第２の記憶スペース内の前記データを読み取るために、前記ホストが前記コネクタを介して前記外部記憶デバイスへ結合されると、前記記憶デバイスコントローラは、前記第２の記憶スペース内の前記データに関する前記ホストの読取りの目的を決定することなく、直ぐに前記ホストによる前記データの読取りを許容する外部記憶デバイス。
【請求項２８】
前記データにアクセスするために、前記ホストが前記コネクタを介して前記外部記憶デバイスへ結合されると、前記記憶デバイスコントローラは、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定し、
前記記憶デバイスコントローラが、前記ホストが前記データの再生操作を実行すると決定すれば、前記外部記憶デバイスは再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、
前記記憶デバイスコントローラが、前記ホストが前記データのコピー操作を実行すると決定すれば、前記外部記憶デバイスは妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせる、請求項２７記載の外部記憶デバイス。
【請求項２９】
予め決められた持続時間内に前記外部記憶デバイスにより実行される少なくとも１つのホスト命令、及び前記ホスト命令に対応する命令情報を記憶するための記憶デバイスをさらに備える、請求項２８記載の外部記憶デバイス。
【請求項３０】
ホストから命令を受信するためと、記憶デバイス内の記憶ユニットを制御するための記憶デバイスコントローラであって、
マイクロプロセッサユニットと、
前記記憶デバイスコントローラを前記記憶ユニットへ結合するために前記マイクロプロセッサユニットへ結合される記憶媒体インタフェースユニットと、
前記記憶デバイスコントローラを前記ホストへ結合するために前記マイクロプロセッサユニットへ結合されるホストインタフェースユニットと、
前記マイクロプロセッサユニットへ結合されるデータ保護ユニットであって、前記ホストが前記記憶デバイスへ結合されて前記データにアクセスすると、前記ホストが前記記憶ユニット内のデータの再生操作を実行するか、コピー操作を実行するかを決定するためのデータ保護ユニットとを備え、
前記データ保護ユニットが、前記ホストが前記データの再生操作を実行すると決定すれば、前記記憶デバイスは再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、
前記データ保護ユニットが、前記ホストが前記データのコピー操作を実行すると決定すれば、前記記憶デバイスは妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせる記憶デバイスコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してデータを保護するための方法とシステムに関し、より具体的には、記憶デバイス内のデータをホストがコピーしないように保護するための方法とシステム、および記憶デバイス及び記憶デバイスコントローラに関する。
【背景技術】
【０００２】
技術の発達と共に、記憶容量に加えて携帯性は、消費者が記憶媒体を選ぶ際に考慮されるべき主たる要素の１つとなってきた。プラグアンドプレイ及びホットスワップ機能を有するフラッシュドライブの発明以降、当初データの記憶及び転送に使用された従来の記憶媒体（例えば、３．５”フロッピー（登録商標）ディスク及びコンパクトディスク（ＣＤ））は、その少ない記憶容量及び不便さに起因して徐々に人気を失っている。
【０００３】
フラッシュドライブは、軽量、小型、スリムな外観及び高い携帯性を提供し、またコンピュータシステムが互換的な伝送インタフェースを有する限り、フラッシュドライブへのデータの書込み、またはフラッシュドライブからのデータの読取りは極めて便利である。加えて、フラッシュドライブの記憶容量は、フラッシュメモリの進歩に伴って大幅に増大していて、人々はデータをフラッシュドライブに記憶することに慣れ、よってデータ交換が極めて便利になってきている。例えば、多くのユーザは、気に入ったビデオ／オーディオを任意の私用または公衆コンピュータを介して楽しめるようにビデオ／オーディオファイルをフラッシュドライブに記憶することに慣れている。
【０００４】
しかしながら、フラッシュドライブは便利に持ち歩くことができ、かつこれに記憶されたデータは容易にコピーができることから、データをコンピュータシステムへコピーすることは極めて容易である。著作権保持者にとって、これは、著作権で保護されたその製品が不法にコピーされる可能性があるという理由で、極めて不利である。
【０００５】
本明細書における記述は何れも、先行技術における本発明の任意の部分に関する認識を承認するものとして解釈されるべきではない。さらに、本出願における任意の文書の引用または同定も、このような文書が本発明の先行技術として利用可能であること、または任意の参照が当分野に共通する一般的認識の一部を形成することを承認するものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本発明は、記憶デバイス内のデータがホストに容易にコピーされないように保護することのできるデータ保護方法に関する。
【０００７】
本発明は、データを記憶デバイスからホストへコピーする困難さを高めることのできるデータ保護システムに関する。
【０００８】
本発明は、内部に記憶されるデータが容易にホストへコピーされないことを保証する記憶デバイスに関する。
【０００９】
本発明は、記憶デバイスに記憶されるデータがホストへコピーされないように保護すべく記憶デバイスを効果的に制御するための記憶デバイスコントローラに関する。
【課題を解決するための手段】
【００１０】
本発明は、記憶デバイスに記憶されるデータを、ホストが前記データにアクセスする際に保護するためのデータ保護方法を提供する。本データ保護方法においては、まず、記憶デバイス内のデータに対するホストの読取りの目的が決定される。次に、決定結果に従って、２つ以上の読取り応答が提供される。
【００１１】
本発明の例示的な一実施形態によれば、記憶デバイス内のデータに対するホストの読取りの目的を決定する間、ホストがデータの再生操作を実行するか、データのコピー操作を実行するかが決定される。決定結果に従って２つ以上の読取り応答を提供する一方で、ホストがデータの再生操作を実行することが決定されれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、ホストがデータのコピー操作を実行することが決定されれば、記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止または遅らせる。
【００１２】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、データのコピー操作を実行するかを決定するステップは、ホストが記憶デバイスのデータ出力量に従ってデータの再生操作を実行するか、データのコピー操作を実行するかを決定することを含み、この場合のデータ出力量は、特定の時間に測定されるデータフロー値であっても、特定の時間期間内に測定される平均データフロー値であってもよい。
【００１３】
本発明の例示的な一実施形態によれば、ホストがデータ出力量に従ってデータの再生操作を実行するか、データのコピー操作を実行するかを決定するステップは、下記のステップを含む。第１に、フロー速度しきい値が定義され、かつ記憶デバイスのデータ出力量が特定の時間期間内のサンプリング持続期間の間隔で測定され、この場合、特定の時間期間はサンプリング持続時間より長い。次に、特定の時間期間内に測定された全てのデータ出力量を使用することにより、平均フロー速度が計算される。平均フロー速度がフロー速度しきい値より低値であれば、ホストがデータの再生操作を実行することが決定され、平均フロー速度がフロー速度しきい値より高値か等しければ、ホストがデータのコピー操作を実行することが決定される。
【００１４】
本発明の例示的な一実施形態によれば、フロー速度しきい値を定義するステップは、予め決められたファイルフォーマットまたは記憶デバイスの伝送インタフェースのタイプに従ってフロー速度しきい値を定義することを含む。
【００１５】
本発明の例示的な一実施形態によれば、記憶デバイス内の記憶ユニットの少なくとも一部は複数の記憶スペースに分割され、この場合、記憶スペースの各々はフロー速度基準に対応し、データは記憶スペースのうちの１つに記憶される。フロー速度しきい値を定義するステップは、データを含む記憶スペースに対応するフロー速度基準をフロー速度しきい値として供給することを含む。
【００１６】
本発明の例示的な一実施形態によれば、本データ保護方法はさらに、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する前の予め決められた時間期間内に、記憶デバイスにより実行される少なくとも１つのホスト命令、またはこのホスト命令に対応する命令情報を記憶することを含み、この場合、前記命令情報は、少なくともホスト命令のタイプ及びホスト命令により処理されるデータ長を含む。
【００１７】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップは、単位時間内にホストにより記憶デバイスへ送られる読取り命令の合計数を計数することと、この合計数に従ってホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。例えば、この合計数が予め決められた値より多いか等しければ、ホストがデータの再生操作を実行することが決定され、合計数が予め決められた値より少なければ、ホストがデータのコピー操作を実行することが決定される。
【００１８】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップは、ホストにより記憶デバイスへ連続して送られる複数の読取り命令を入手することを含む。読取り命令の合計数が予め決められた数より多いか等しく、かつ各々が読取り命令に対応している全ての読取りデータ長が予め決められた長さより長ければ、ホストがデータのコピー操作を実行することが決定される。
【００１９】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップは、ホストと記憶デバイスとの間の伝送インタフェースのタイプに従って第１のデータ量及び第２のデータ量を確定することを含み、この場合、前記第２のデータ量は前記第１のデータ量より多い。ホストのデータ読取り量と第１のデータ量との差がデータ読取り量と第２のデータ量との差より少なければ、ホストがデータの再生操作を実行することが決定され、かつデータ読取り量と第１のデータ量との差がデータ読取り量と第２のデータ量との差より多ければ、ホストがデータのコピー操作を実行することが決定される。この場合、前記データ読取り量は、単一の読取り命令により読み取られるべきデータの量であっても、複数の読取り命令により読み取られるべきデータ量の平均値であってもよい。
【００２０】
本発明の例示的な一実施形態によれば、妨害処置はホストへメッセージを送り返すことを含み、この場合、前記メッセージは、媒体変更メッセージ、読取り失敗メッセージ、巡回冗長検査（ＣＲＣ）エラーメッセージ、エラー訂正コード（ＥＣＣ）エラーメッセージまたは記憶媒体不在メッセージである。
【００２１】
本発明の例示的な一実施形態によれば、妨害処置は、無限ループを実行してシステムダウン状態に入ることを含む。
【００２２】
本発明の例示的な一実施形態によれば、妨害処置は、予め決められたレートでホストへデータを伝送することを含む。
【００２３】
本発明の例示的な一実施形態によれば、記憶デバイスにより妨害処置を実行するステップはさらに、予め決められた妨害時間内に妨害処置を実行することと、この予め決められた妨害時間が経過した後もホストがデータの再生操作を実行するか、コピー操作を実行するかの決定を継続することを含む。
【００２４】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップはさらに、ホストによりアクセスされるデータがシステムデータであるかどうかを決定することと、前記データがシステムデータでない場合にのみ、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。例えば、データがシステムデータであるかどうかは、データの論理アドレスに従って決定される。
【００２５】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップはさらに、バッファ時間を定義することと、前記バッファ時間が経過した後にのみ、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。
【００２６】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップはさらに、ホストによりアクセスされるデータが記憶デバイスにおける記憶ユニットの特定の記憶スペース内に存在するかどうかを決定することと、データが前記特定の記憶スペース内に存在する場合にのみホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。
【００２７】
本発明は、ホストと記憶デバイスとを含むデータ保護システムを提供する。記憶デバイスは、記憶ユニットと記憶デバイスコントローラとを含み、この場合、前記記憶ユニットはデータを記憶するために使用され、かつ前記記憶デバイスコントローラは前記記憶ユニットへ結合される。ホストが記憶デバイスへ結合されてデータにアクセスすると、記憶デバイスコントローラは、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する。記憶デバイスコントローラが、ホストがデータの再生操作を実行すると決定すれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、かつ記憶デバイスコントローラが、ホストがデータのコピー操作を実行すると決定すれば、記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止するか遅らせる。
【００２８】
本発明は、コネクタと、記憶ユニットと、記憶デバイスコントローラとを含む外部記憶デバイスを提供する。記憶ユニットは、少なくとも第１の記憶スペースと第２の記憶スペースとに分割され、前記第１の記憶スペース及び第２の記憶スペースは各々データを記憶する。記憶デバイスコントローラは、コネクタ及び記憶ユニットへ結合される。第１の記憶スペース内のデータにアクセスするために、ホストがコネクタを介して外部記憶デバイスへ結合されると、記憶デバイスコントローラは、第１の記憶スペース内のデータに対するホストの読取りの目的を決定し、かつ第２の記憶スペース内のデータにアクセスするために、ホストがコネクタを介して外部記憶デバイスへ結合されると、記憶デバイスコントローラは、第２の記憶スペース内のデータに関するホストの読取りの目的を決定することなく、直ぐにホストによるそのデータへのアクセスを許容する。
【００２９】
本発明の例示的な一実施形態によれば、データにアクセスするために、ホストがコネクタを介して外部記憶デバイスへ結合されると、記憶デバイスコントローラは、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する。記憶デバイスコントローラが、ホストがデータの再生操作を実行すると決定すれば、外部記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、かつ記憶デバイスコントローラが、ホストがデータのコピー操作を実行すると決定すれば、外部記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止するか遅らせる。
【００３０】
本発明の例示的な一実施形態によれば、外部記憶デバイスはさらに、予め決められた持続時間内に外部記憶デバイスにより実行される少なくとも１つのホスト命令、及びこのホスト命令に対応する命令情報を記憶するための記憶デバイスを含む。
【００３１】
本発明は、ホストから命令を受信するためと、記憶デバイス内の記憶ユニットを制御するための記憶デバイスコントローラを提供する。本記憶デバイスコントローラは、マイクロプロセッサユニットと、記憶媒体インタフェースユニットと、ホストインタフェースユニットと、データ保護ユニットとを含む。記憶媒体インタフェースユニットは、記憶デバイスコントローラを記憶ユニットへ結合するためにマイクロプロセッサユニットへ結合される。ホストインタフェースユニットは、記憶デバイスコントローラをホストへ結合するためにマイクロプロセッサユニットへ結合される。データ保護ユニットは、マイクロプロセッサユニットへ結合される。記憶ユニット内のデータにアクセスするために、ホストが記憶デバイスへ結合されると、データ保護ユニットは、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する。データ保護ユニットが、ホストがデータの再生操作を実行すると決定すれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、かつデータ保護ユニットが、ホストがデータのコピー操作を実行すると決定すれば、記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止するか遅らせる。
【発明の効果】
【００３２】
先に述べたように、本発明においては、記憶デバイス内に記憶されたデータにアクセスするためにホストが前記記憶デバイスへ結合されると、このデータアクセス操作が再生操作であるか、コピー操作であるかが決定される。このデータアクセス操作がコピー操作であると決定されれば、データはホストへ伝送されないか、極めて遅い速度でホストへ伝送される。従って、記憶デバイスからホストへデータをコピーすることは極めて困難にされ、これにより、データ保護の目的が達成される。
【００３３】
しかしながら、この概要は、本発明の全ての態様及び実施形態を含んでいない場合があり、如何なる方法によっても限定または制限を意図するものではないこと、及び、本明細書に開示している発明は、現在及び将来においても一般的な当業者によりその明らかな改良及び修正を包含するものとして解釈されることは理解されるべきである。
【図面の簡単な説明】
【００３４】
添付の図面は、本発明をさらによく理解するために包含されるものであり、本明細書に組み込まれかつその一部を構成する。これらの図面は本発明の実施形態を示し、かつ明細書本文と共に本発明の原理を説明する働きをする。
【００３５】
【図１】本発明の例示的な一実施形態によるデータ保護システムを示すブロック図である。
【００３６】
【図２】本発明の一実施形態によるコンピュータホスト、入力／出力（Ｉ／Ｏ）デバイス及び外部記憶デバイスを示す図である。
【００３７】
【図３】本発明の別の例示的な実施形態による記憶デバイスコントローラを示すブロック図である。
【００３８】
【図４】本発明の例示的な一実施形態によるデータ保護方法のフローチャートである。
【００３９】
【図５】本発明の例示的な一実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。
【００４０】
【図６】本発明の別の例示的な実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。
【００４１】
【図７】本発明の別の例示的な実施形態によるデータ保護方法を示すフローチャートである。
【００４２】
【図８】本発明の別の例示的な実施形態によるデータ保護システムを示すブロック図である。
【００４３】
【図９】本発明のさらに別の例示的な実施形態によるデータ保護方法を示すフローチャートである。
【発明を実施するための形態】
【００４４】
以下、添付の図面にその例を示す、本発明の好適な実施形態を詳細に参照していく。可能な限り、図面及び本説明においては、同じ、または類似の部分を指して同じ参照番号を使用する。
【００４５】
本発明の実施形態は、詳細な説明におけるもの、及び／または図面に示されているものを含む、本明細書に記述された任意の１つまたはそれ以上の新規特徴を備えてもよい。本明細書で使用しているように、「少なくとも１つ」、「１つまたは複数」及び「及び／または」という言い回しは、実施に際しては接続的でも離接的でもある制約のない表現である。例えば、「Ａ、Ｂ及びＣのうちの少なくとも１つ」、「Ａ、ＢまたはＣのうちの少なくとも１つ」、「Ａ、Ｂ及びＣのうちの１つまたはそれ以上」、「Ａ、ＢまたはＣのうちの１つまたはそれ以上」及び「Ａ、Ｂ及び／またはＣ」という表現は各々、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢの双方、Ａ及びＣの双方、Ｂ及びＣの双方またはＡ、Ｂ及びＣの全てを意味する。
【００４６】
「１つの」実体という言い回しは、その１つまたは複数の実体を指すことに留意されるべきである。よって、本明細書において、「１つ」、「１つまたは複数」及び「少なくとも１つ」という言い回しは交換可能式に使用可能である。
【００４７】
以下の例示的実施形態では、データを保護するために、記憶デバイスに記憶されたデータに関してホストにより実行される異なるアクセスアクションに従って対応する応答を提供する方法について記述する。この場合、ホストは、音楽、ビデオまたは他のコンテンツ（例えば、ｅブック及びｅマップ、他）をプレイすることのできる、コンピュータ、携帯電話、マルチメディアプレーヤ、オーディオデバイス、ハンドヘルドモバイルデバイス、全地球測位システム（ＧＰＳ）ナビゲータまたはｅブック等の任意のデバイスであってもよく、記憶デバイスは、ホストに内蔵されても、ホストへ外的に接続されてもよい。
【００４８】
図１は、本発明の例示的な一実施形態によるデータ保護システムを示すブロック図である。図１に示すように、データ保護システム１０００は、ホストシステム１１００と、外部記憶デバイス１２００とを含む。説明の便宜上、この例示的実施形態では、ホストシステム１１００はコンピュータシステムであるものとされ、かつこれは、コンピュータホスト１１１０と、入力／出力（Ｉ／Ｏ）デバイス１１５０とを含む。しかしながら、他の例示的実施形態では、ホストシステム１１００内のホストは、音楽、ビデオまたは他のコンテンツ（例えば、ｅブック及びｅマップ、他）をプレイすることのできる、携帯電話、マルチメディアプレーヤ、オーディオデバイス、ハンドヘルドモバイルデバイス、ＧＰＳナビゲータまたはｅブック等の他の任意のデバイスであってもよい。加えて、この例示的実施形態では、記憶デバイスは外部記憶デバイス１２００として記述されるが、他の例示的実施形態では、記憶デバイスは、本発明の範囲を逸脱することなくホストシステム１１００に内蔵されてもよい。
【００４９】
この例示的実施形態では、コンピュータホスト１１１０は、中央処理装置（ＣＰＵ）１１１２と、メモリ１１１４と、システムバス１１１６と、データ伝送インタフェース１１１８とを含む。Ｉ／Ｏデバイス１１５０は、図２に示すように、マウス１２０２、キーボード１２０４、ディスプレイ１２０６またはプリンタ１２０８であってもよい。しかしながら、本明細書では、Ｉ／Ｏデバイス１１５０のタイプを限定しない。
【００５０】
外部記憶デバイス１２００は、コネクタ１２１０と、記憶デバイスコントローラ１２２０と、記憶ユニット１２３０とを含む。外部記憶デバイス１２００は、図２に示すように、フラッシュドライブ１２１２、メモリカード１２１４またはソリッドステートドライブ（ＳＳＤ）１２１６であってもよい。また、外部記憶デバイス１２００は、コンピュータホスト１１１０へ外的に接続され得る、ＣＤ  ＲＯＭまたはＤＶＤ  ＲＯＭをシミュレートできるフラッシュドライブ等の任意の記憶デバイスであってもよい。
【００５１】
外部記憶デバイス１２００は、コンピュータホスト１１１０が記憶ユニット１２３０に対してデータの読取りまたは書込みを行えるように、コネクタ１２１０及びデータ伝送インタフェース１１１８を介してコンピュータホスト１１１０へ接続される可能性もある。本例示的実施形態では、コネクタ１２１０及びデータ伝送インタフェース１１１８はユニバーサルシリアルバス（ＵＳＢ）インタフェースである。しかしながら、他の例示的実施形態では、コネクタ１２１０及びデータ伝送インタフェース１１１８は、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）インタフェース、電気電子技術者協会（ＩＥＥＥ）１３９４インタフェース、周辺機器コンポーネントインターコネクト拡張型（ＰＣＩ）インタフェースまたはセキュアデジタル（ＳＤ）インタフェース等の他の任意の適切なインタフェースであってもよい。しかしながら本明細書では、コネクタ１２１０及びデータ伝送インタフェース１１１８のタイプを限定しない。
【００５２】
記憶ユニット１２３０は、フラッシュメモリ（ＮＡＮＤフラッシュメモリ）及びシステムデータ（例えば、ファイル割当テーブル（ＦＡＴ））及び一般データ（例えば、ビデオ／オーディオファイルまたはテキストファイル、他）を記憶するために使用されるものであってもよい。
【００５３】
記憶デバイスコントローラ１２２０は、各々コネクタ１２１０及び記憶ユニット１２３０へ結合される。本例示的実施形態では、記憶デバイスコントローラ１２２０は、ホストインタフェースユニット１２２２と、マイクロプロセッサユニット１２２４と、データ保護ユニット１２２６と、記憶媒体インタフェースユニット１２２８とを含む。記憶デバイスコントローラ１２２０は、コンピュータホスト１１１０から命令及びデータを受信し、かつコンピュータホスト１１１０へデータを送り返すために、ホストインタフェースユニット１２２２及びコネクタ１２１０を介してコンピュータホスト１１１０へ結合される。本例示的実施形態では、ホストインタフェースユニット１２２２はＵＳＢインタフェースであり、他の実施形態では、ホストインタフェースユニット１２２２は、ＳＡＴＡインタフェース、ＩＥＥＥ１３９４インタフェース、ＰＣＩエクスプレスインタフェース、ＳＤインタフェース、他のフラッシュメモリカードインタフェースまたは他のインタフェース規格に適合するインタフェースユニットであってもよい。しかしながら、互いにデータを伝送するためには、ホストインタフェースユニット１２２２、コネクタ１２１０及びデータ伝送インタフェース１１１８が同じ、または互換的なインタフェース規格に適合しなければならないことは留意されるべきである。
【００５４】
記憶デバイスコントローラ１２２０は、記憶ユニット１２３０を制御するために、記憶媒体インタフェースユニット１２２８を介して記憶ユニット１２３０へ結合される。本例示的実施形態では、記憶媒体インタフェースユニット１２２８はフラッシュメモリインタフェースユニットである。
【００５５】
図１に示すように、ホストインタフェースユニット１２２２、データ保護ユニット１２２６及び記憶媒体インタフェースユニット１２２８は全て、マイクロプロセッサユニット１２２４へ結合される。マイクロプロセッサユニット１２２４は、記憶デバイスコントローラ１２２０の主要な制御ユニットであり、ホストインタフェースユニット１２２２、記憶媒体インタフェースユニット１２２８及びデータ保護ユニット１２２６と協動して外部記憶デバイス１２００の様々なオペレーションを実行する。
【００５６】
本例示的実施形態では、外部記憶デバイス１２００がコンピュータホスト１１１０へ結合され、かつコンピュータホスト１１１０から受信される読取り命令に従って記憶ユニット１２３０内のデータを処理する場合、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行しようとしているか、コピー操作を実行しようとしているかを決定し、決定した結果に従って対応する応答を提供する。具体的に言えば、コンピュータホスト１１１０は、データ保護ユニット１２２６が、コンピュータホスト１１１０がデータの再生操作を実行すると決定する場合にのみ、そのデータへのアクセスを許容される。データ保護ユニット１２２６が、コンピュータホスト１１１０がデータのコピー操作を実行すると決定すれば、外部記憶デバイス１２００はデータを出力しないか、コンピュータホスト１１１０へのデータ送信を比較的遅くして、記憶ユニット１２３０内のデータが容易かつ瞬時にコンピュータホスト１１１０へコピーされることを防止する。
【００５７】
本発明の別の例示的実施形態では、外部記憶デバイス内の記憶デバイスコントローラはさらに、他の機能モジュールを含む。図３は、本発明の別の例示的実施形態による記憶デバイスコントローラを示すブロック図である。図３を参照すると、ホストインタフェースユニット１２２２、マイクロプロセッサユニット１２２４、データ保護ユニット１２２６及び記憶媒体インタフェースユニット１２２８の他にも、記憶デバイスコントローラ１２２０’はバッファメモリ３００２、エラー訂正ユニット３００４及び電力管理ユニット３００６をさらに含む。
【００５８】
具体的に言えば、バッファメモリ３００２はマイクロプロセッサユニット１２２４へ結合され、コンピュータホスト１１１０または記憶ユニット１２３０から受信されるデータを一時的に記憶するために使用される。
【００５９】
エラー訂正ユニット３００４はマイクロプロセッサユニット１２２４へ結合され、エラー訂正処置を実行してデータ精度を保証する。具体的に言えば、記憶デバイスコントローラ１２２０’がコンピュータホスト１１１０から書込み命令を受信すると、エラー訂正ユニット３００４は、この書込み命令により書き込まれるべきデータに対応するエラー訂正コード（ＥＣＣ）を発生し、このデータ及び対応するＥＣＣの双方が記憶ユニット１２３０に書き込まれる。記憶デバイスコントローラ１２２０’がコンピュータホスト１１１０から読取り命令を受信すると、記憶デバイスコントローラ１２２０’は記憶ユニット１２３０から読取り命令に対応するデータ及びＥＣＣを読み取り、次に、エラー訂正ユニット３００４がＥＣＣに従ってデータを訂正する。
【００６０】
電力管理ユニット３００６は、外部記憶デバイスへ電力を供給するためにマイクロプロセッサユニット１２２４へ結合される。
【００６１】
再度、図１を参照し、外部記憶デバイス１２００がコンピュータホスト１１１０へ結合された後にコンピュータホスト１１１０が外部記憶デバイス１２００内のデータにアクセスした場合のデータ保護システム１０００のオペレーションプロセスについて、本発明の別の例示的実施形態を参照してさらに説明する。図４は、本発明の例示的な一実施形態によるデータ保護方法を示すフローチャートである。以下の説明に関しては、図１及び図４の双方を参照されたい。
【００６２】
外部記憶デバイス１２００がコンピュータホスト１１１０へ結合された後、ステップ４１０において、コンピュータホスト１１１０は、外部記憶デバイス１２００へ読取り命令を発行することにより、外部記憶デバイス１２００の記憶ユニット１２３０に記憶されたデータを再生またはコピーする。
【００６３】
次に、ステップ４２０において、記憶デバイスコントローラ１２２０内のデータ保護ユニット１２２６は、コンピュータホスト１１１０が外部記憶デバイス１２００から読み取られたデータの再生操作を実行するか、コピー操作を実行するかを決定する。本開示において、再生操作とは、コンピュータホスト１１１０が、外部記憶デバイス１２００からのデータをコンピュータホスト１１１０に読み込んだ後に単にデータを再生するだけで、そのデータを外部記憶デバイス１２００以外の別の不揮発性メモリ記憶デバイス（例えば、コンピュータホスト１１１０のハードディスク（ＨＤＤ）、フラッシュメモリカードまたはフラッシュドライブ）に書き込まないことを指し、コピー操作とは、コンピュータホスト１１１０が、外部記憶デバイス１２００からのデータをコンピュータホスト１１１０に読み込んだ後に、そのデータを外部記憶デバイス１２００以外の別の不揮発性メモリ記憶デバイスに書き込むことを指す点は留意されるべきであり、この場合、別の不揮発性メモリ記憶デバイスは、コンピュータホスト１１１０内に配置されていても、コンピュータホスト１１１０へ外的に接続されていてもよい。一般的に言えば、外部記憶デバイス１２００は、それがコンピュータホスト１１１０の制御下の異なる動作状態にあるときは、異なるデータ出力量を有する。統計によれば、ユーザがコンピュータホスト１１１０を使用して外部記憶デバイス１２００内のデータを再生する場合、そのデータがＭＰ３フォーマットであれば、外部記憶デバイス１２００のデータ出力量は約２４キロバイト／秒であり、そのデータがＭＰ４フォーマットであれば、外部記憶デバイス１２００のデータ出力量は約１２５キロバイト／秒である。しかしながら、ユーザが外部記憶デバイス１２００からのデータをコンピュータホスト１１１０にコピーする場合、外部記憶デバイス１２００のデータ出力量は容易に８メガバイト／秒に達することがある。言い替えれば、コンピュータホスト１１１０が外部記憶デバイス１２００内のデータを再生する場合、外部記憶デバイス１２００のデータ出力量は、ユーザが外部記憶デバイス１２００からのデータをコンピュータホスト１１１０にコピーする場合のそれより少ない。従って、本例示的実施形態では、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを外部記憶デバイス１２００のデータ出力量に従って決定する。
【００６４】
図５は、本発明の例示的な一実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。即ち、図５は、図４におけるステップ４２０をさらに詳しく示している。本例示的実施形態では、データ出力量は、特定の時間期間内に測定されるデータフロー値、またはデータ出力オペレーション期間の少なくとも一部の間に測定されるデータ伝送速度として定義される。データ出力量が、特定の時間期間内に測定されるデータフロー値の平均、合計または数学的に演算された数字である可能性もある点は留意されるべきである。第１に、ステップ５１０において、データ保護ユニット１２２６はフロー速度しきい値を定義し、この場合、前記フロー速度しきい値は、外部記憶デバイス１２００の予め決められた通常の値であっても、外部記憶デバイス１２００のインタフェースまたは機能に関連づけられてもよい。外部記憶デバイス１２００は、専ら予め決められたファイルフォーマットに適合するデータを記憶するために使用され、かつデータ保護ユニット１２２６は、予め決められたファイルフォーマットに従ってフロー速度しきい値を定義することが想定されている。例えば、外部記憶デバイス１２００が専らＭＰ３フォーマットに適合するデータの記憶に使用されれば、フロー速度しきい値は５０キロバイト／秒として定義されてもよく、外部記憶デバイス１２００が専らＭＰ４フォーマットに適合するデータの記憶に使用されれば、フロー速度しきい値は１５０キロバイト／秒として定義されてもよい。さらに、外部記憶デバイス１２００の伝送インタフェースがＰＣＩエクスプレスインタフェース、ＳＤインタフェースまたはＣＦインタフェースであれば、これらの伝送インタフェースは異なる最大伝送速度を有することから、データの再生操作またはコピー操作が実行されると、フロー速度しきい値は伝送インタフェースの指定された最大伝送速度に伴って変わってもよい。しかしながら、フロー速度しきい値の前述の値は、本発明を説明するために使用される単なる例であって、本発明を限定する意図はなく、フロー速度しきい値は１メガバイト／秒または３００キロバイト／秒、他であってもよいことは留意されるべきである。
【００６５】
フロー速度しきい値を定義した後、ステップ５２０において、データ保護ユニット１２２６は、特定の時間期間内のサンプリング持続時間の間隔で外部記憶デバイス１２００のデータ出力量を測定し、この場合、前記特定の時間期間は前記サンプリング持続時間より長い。加えて、ステップ５３０において、この期間中に測定された全てのデータ出力量を使用することにより、特定の時間期間内の平均フロー速度が計算される。例えば、特定の時間期間が２秒でありかつサンプリング持続時間が０．１秒であるとすると、データ保護ユニット１２２６は、この２秒以内に測定される２０個のデータ出力量の平均値を計算する。具体的に言えば、本例示的実施形態では、コンピュータホスト１１１０は、外部記憶デバイス１２００へ先に送信されたホスト命令が完了した後にのみ次のホスト命令を送信し、かつ外部記憶デバイス１２００により実行されるこれらのホスト命令（またはホスト命令に対応する命令情報）は、外部記憶デバイス１２００の記憶デバイス（例えば、バッファメモリ３００２）に一時的に記憶される。ホスト命令の命令情報は、命令のタイプ（例えば、読取りまたは書込み）または処理されるべきデータ長を含む。別の例示的実施形態では、外部記憶デバイス１２００は、予め決められた持続時間内の出力データ量を単に一時的に記憶してもよい。データ保護ユニット１２２６は、特定の時間期間中のデータ出力量を取得するために、バッファメモリ３００２に記録された命令情報に従ってあらゆるサンプリング持続時間中にコンピュータホスト１１１０へ出力されたデータの量を計算する。
【００６６】
次に、ステップ５４０において、データ保護ユニット１２２６は、特定の時間期間内の平均フロー速度がフロー速度しきい値以上であるかどうかを決定する。平均フロー速度がフロー速度しきい値より低値であれば、ステップ５５０において、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行すると決定する。平均フロー速度がフロー速度しきい値以上であれば、ステップ５６０において、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータのコピー操作を実行すると決定する。
【００６７】
別の例示的実施形態では、平均フロー速度がフロー速度しきい値の予め決められた倍数（例えば、２倍または５倍）以上であれば、データ保護ユニット１２２６は、コンピュータホスト１１１０がコピー操作を実行すると決定する。
【００６８】
別の例示的実施形態では、サンプリング持続時間中にコンピュータホスト１１１０へ出力されたデータの量がしきい値の予め決められた倍数（例えば、３倍または４倍）以上であれば、データ保護ユニット１２２６は、コンピュータホスト１１１０がコピー操作を実行すると決定する。
【００６９】
本例示的実施形態において、データ保護ユニット１２２６は、データ出力量がしきい値より多くても、直後にはコンピュータホスト１１１０がコピー操作を実行すると認識しない点は言及されるべきである。代わりに、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかは、主としてデータ出力の量及びデータ出力の連続性に従って決定される。よって、コンピュータホスト１１１０が単にデータへのアクセスを開始して、結果的に大量のデータを読み込んでバッファに記憶したとしても、これは、図５に示すステップによってデータのコピー操作とは決定されない。
【００７０】
別の例示的実施形態では、データ保護ユニット１２２６が、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを外部記憶デバイス１２００のデータ出力量に従って決定する場合、本明細書で使用するデータ出力量は特定の持続時間内に測定されるデータフロー値も指す場合がある。データフロー値が予め決められた値以上であれば、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータのコピー操作を実行すると決定する。例えば、データ保護ユニット１２２６はデータフローを毎秒測定し、データフロー値が予め決められた値以上であれば、コンピュータホスト１１１０がデータのコピー操作を実行すると決定する。
【００７１】
再度、図４を参照すると、データ保護ユニット１２２６が、コンピュータホスト１１１０がデータの再生操作を実行する（即ち、コンピュータホスト１１１０がデータを再生する）と決定すれば、ステップ４３０において、外部記憶デバイス１２００はこの再生操作の実行を継続し、コンピュータホスト１１１０が記憶ユニット１２３０内のデータに連続的にアクセスすることを許容する。この後、本データ保護方法のオペレーションフローはステップ４２０へ戻り、データ保護ユニット１２２６は再度、データが再生されるか、コピーされるかを決定する。
【００７２】
しかしながら、データ保護ユニット１２２６が、コンピュータホスト１１１０がデータのコピー操作を実行すると決定すると、ステップ４４０において、外部記憶デバイス１２００は妨害処置を実行し、データがコンピュータホスト１１１０へコピーされることを防止するか遅らせる。本例示的実施形態では、外部記憶デバイス１２００により実行される妨害処置はコンピュータホスト１１１０へメッセージを送り返すことを含み、この場合、前記メッセージは、媒体変更メッセージ（ノット・レディトゥレディ遷移）、巡回冗長検査（ＣＲＣ）エラーメッセージ、エラー訂正コード（ＥＣＣ）エラーメッセージ、読取り失敗メッセージまたは記憶媒体不在メッセージ、他のようなメッセージであってもよい。コンピュータホスト１１１０は、このメッセージの受信後はもはやデータのコピー操作を実行することができない。
【００７３】
別の例示的実施形態では、外部記憶デバイス１２００により実行される妨害処置は、外部記憶デバイス１２００がシステムダウン状態に入るような無限ループであってもよい。この場合、外部記憶デバイス１２００は、ユーザが外部記憶デバイス１２００をコンピュータホスト１１１０へ接続し直さない限りデータアクセス操作を行わない。
【００７４】
さらに別の例示的実施形態では、外部記憶デバイス１２００により実行される妨害処置は、データを素早くコンピュータホスト１１１０へコピーできないように、データを予め決められた極端に遅い速度でコンピュータホスト１１１０に送信することであってもよい。
【００７５】
他の例示的実施形態では、ユーザが低速伝送インタフェースによってデータをコピーすることを防止するために、記憶デバイスコントローラ１２２０内のデータ保護ユニット１２２６が、外部記憶デバイス１２００のコネクタ１２１０がＵＳＢ伝送インタフェースであって、低伝送速度によるＵＳＢ１．１規格に適合すると決定すると、外部記憶デバイス１２００はデータをコンピュータホスト１１１０へ送らない。
【００７６】
先に説明した例示的実施形態では、データが単に再生されるか、コピーされるかがデータ出力量に従って決定される。しかしながら、本発明はこれに限定されない。言い替えれば、データ保護システム１０００には、データ再生操作とデータコピー操作とを区別できる他の任意の技術も適用されてもよい。図６は、本発明の別の例示的な実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。本実施形態では、データ保護ユニット１２２６が、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを決定しようとすると、ステップ６１０において、データ保護ユニット１２２６はまず、コンピュータホスト１１１０と外部記憶デバイス１２００との間の伝送インタフェースのタイプ（即ち、コネクタ１２１０及びデータ伝送インタフェース１１１８に対応する伝送インタフェースのタイプ）に従って第１のデータ量及び第２のデータ量を定義する。この場合、前記第２のデータ量は前記第１のデータ量より多く、例えば、コネクタ１２１０及びデータ伝送インタフェース１１１８に対応する伝送インタフェースがＵＳＢインタフェースであれば、第１のデータ量は４ＫＢと定義され、かつ第２のデータ量は６４ＫＢと定義される。
【００７７】
次に、ステップ６２０において、データ保護ユニット１２２６は、コンピュータホスト１１１０のデータ読取り量が第１のデータ量の方に近いか、第２のデータ量の方に近いかを決定する。具体的に言えば、コンピュータホスト１１１０は、外部記憶デバイス１２００に読取り命令を発行して記憶ユニット１２３０からデータを送り返すように要求し、かつ再生操作とコピー操作では必要とされるデータ量が異なることから、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを読取り命令のデータ読取り量に従って決定することができる。しかしながら、本明細書において、データ読取り量は、単一の読取り命令によって読み取られるべきデータの量であっても、複数の読取り命令によって読み取られるべきデータの平均量であってもよいことは留意されるべきである。
【００７８】
データ読取り量と第１のデータ量との差が、データ読取り量と第２のデータ量との差より小さければ、データ読取り量は第１のデータ量の方に近いことが決定され、よって、ステップ６３０において、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行すると決定する。
【００７９】
反対に、データ読取り量と第１のデータ量との差が、データ読取り量と第２のデータ量との差より大きければ、データ読取り量は第２のデータ量の方に近いことが決定され、よって、ステップ６４０において、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータのコピー操作を実行すると決定する。
【００８０】
再度、上述の実施形態において、データが再生されるか、コピーされるかは各々、外部記憶デバイス１２００の連続するデータ出力量及びコンピュータホスト１１１０によりその度に読み取られることが望まれるデータ量に従って決定されることは留意されるべきである。しかしながら、これらの２つの決定方法は単に本発明の実施形態例であり、本発明の範囲を限定するためのものではない。
【００８１】
コンピュータホスト１１１０が記憶ユニット１２３０からシステムデータ（例えば、ＦＡＴ）を読み取る場合、外部記憶デバイス１２００がコンピュータホスト１１１０へデータを送り返すデータフロー速度はデータを再生する速度より速いことは言及されるべきである。従って、図７に示すように、再生操作かコピー操作かを間違って決定することを避けるために、外部記憶デバイス１２００がコンピュータホスト１１１０へ結合されかつコンピュータホスト１１１０が記憶ユニット１２３０内のデータにアクセスすると（ステップ７１０）、データ保護ユニット１２２６は、コンピュータホスト１１１０によりアクセスされるべきデータがシステムデータであるかどうかを決定しなければならない（ステップ７２０）。その時点でアクセスされているデータがシステムデータであれば、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを決定せず、コンピュータホスト１１１０がデータに連続してアクセスすることを許容する（ステップ７３０）。ステップ７２０は、その時点でアクセスされているデータがシステムデータでなくなるまで繰り返される。そのデータがシステムデータでなくなれば、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを決定する（ステップ７４０）。図７におけるステップ７４０からステップ７６０は、図４におけるステップ４２０からステップ４４０までと同じか類似するものであり、よってここでは説明を省く。具体的に言えば、システムデータは特定の論理アドレスにブロックで記憶されることが可能であり、または記憶デバイスコントローラ１２２０はシステムデータを含むブロックの論理アドレスを検出できることから、記憶デバイスコントローラ１２２０内のデータ保護ユニット１２２６は、データがシステムデータであるかどうかをアクセスされるべき論理アドレスに従って決定することができる。さらに、コンピュータホスト１１１０は、外部記憶デバイス１２００へ結合されているときは通常、システム情報をまず記憶ユニット１２３０から読み取ることから、別の例示的実施形態において、データ保護ユニット１２２６はまずバッファ時間を定義し、コンピュータホスト１１１０が外部記憶デバイス１２００へ結合されてからの時間が前述のバッファ時間を超えるまではデータフローを監視せず、かつデータ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかをバッファ時間の経過後にのみ決定する。
【００８２】
図８は、本発明の別の例示的な実施形態によるデータ保護システムを示すブロック図である。図８におけるデータ保護システム８０００は図１におけるデータ保護システム１０００に類似するものであるが、両者の相違点は、外部記憶デバイス１２００内の記憶ユニット１２３０の少なくとも一部が複数の記憶スペースに分割され、記憶スペースの各々がフロー速度基準に対応していることにある。本明細書では、記憶スペースの数を限定していないが、本例示的実施形態において、記憶ユニット１２３０は記憶スペース１２３１、記憶スペース１２３２及び記憶スペース１２３５に分割されている。
【００８３】
データ保護ユニット１２２６が、データが再生されるかコピーされるかを外部記憶デバイス１２００の連続するデータ出力量に従って決定する場合、データ保護ユニット１２２６は、そのデータを含む記憶スペースに対応するフロー速度基準をフロー速度しきい値として使用することができる。
【００８４】
加えて、記憶ユニット１２３０が幾つかの記憶スペースに分割されることから、ある例示的実施形態において、データ保護システム８０００は記憶ユニット１２３０全体を保護する。別の例示的実施形態では、データ保護システム８０００は特定の記憶スペースしか保護しない。即ち、データ保護システム８０００の少なくとも１つの記憶スペース内のデータが読み取られる場合、データ保護システム８０００はコンピュータホストの読取りの目的を決定せず、コンピュータホストから受信される読取り要求は全て許容される。一方で、データ保護システム８０００の少なくとも別の１つの記憶スペース内のデータが読み取られると、データ保護システム８０００はコンピュータホストの読取りの目的を決定し、かつ決定結果に従って対応する応答を提供する。
【００８５】
図９は、本発明のさらに別の例示的な実施形態によるデータ保護方法を示すフローチャートである。まず、ステップ９１０において、外部記憶デバイス１２００はコンピュータホスト１１１０へ結合され、コンピュータホスト１１１０が記憶ユニット１２３０内のデータにアクセスする。次に、ステップ９２０において、データ保護ユニット１２２６は、コンピュータホスト１１１０によってアクセスされたデータが記憶ユニット１２３０の特定の記憶スペースに存在するかどうかを決定しなければならない。その時点でアクセスされているデータが特定の記憶スペースに存在しなければ、データ保護ユニット１２２６はコンピュータホスト１１１０の読取りの目的を決定せず、ステップ９３０において、コンピュータホスト１１１０はデータへのアクセスを許容される。次には、その時点でアクセスされているデータが特定の記憶スペースに存在することが決定されるまで、ステップ９２０が繰り返される。次いで、ステップ９４０において、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを決定する。図９におけるステップ９４０からステップ９６０は、図４におけるステップ４２０からステップ４４０までと同じか類似するものであり、よってここでは説明を省く。
【００８６】
図９に示すように、ユーザがコンピュータホスト１１１０を介して記憶ユニット１２３０の特定の記憶スペース内のデータにアクセスする場合にのみ、記憶デバイスコントローラ１２２０のデータ保護ユニット１２２６はデータの監視及び保護措置を講じる。言い替えれば、ユーザは、重要なデータを記憶ユニット１２３０の特定の記憶スペースに記憶して、データが他人によってコピーされることを防止する。
【００８７】
より具体的に言えば、別の例示的実施形態では、記憶ユニット１２３０は少なくとも第１の記憶スペース（例えば、記憶スペース１２３１）と第２の記憶スペース（例えば、記憶スペース１２３２）とに分割され、第１の記憶スペース及び第２の記憶スペースは各々データを記憶する。コンピュータホスト１１１０が、第１の記憶スペースからデータを読み取るためにコネクタ１２１０を介して外部記憶デバイス１２００へ結合されると、記憶デバイスコントローラ１２２０内のデータ保護ユニット１２２６は、コンピュータホスト１１１０による第１の記憶スペース内のデータに対する読取りの目的を決定する。しかしながら、コンピュータホスト１１１０が外部記憶デバイス１２００へ結合されて第２の記憶スペースからデータを読み取る場合、記憶デバイスコントローラ１２２０内のデータ保護ユニット１２２６は、コンピュータホスト１１１０による第２の記憶スペース内のデータに対する読取りの目的を決定することなく直にコンピュータホスト１１１０がデータを読み取ることを許容する。
【００８８】
即ち、上述の例示的実施形態では、データ保護システム８０００は、それに関してはコンピュータホスト１１１０による読取りの目的を決定する必要がない少なくとも１つの記憶スペースを有し、この記憶スペースに対するコンピュータホスト１１１０からの読取り要求はどれも直に許容される。一方で、データ保護システム８０００は、それに関してはコンピュータホスト１１１０による読取りの目的を決定する必要がある少なくとも１つの記憶スペースを有し、コンピュータホスト１１１０がこの記憶スペース内のデータにアクセスすると、外部記憶デバイス１２００は、コンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかを上述の方法に従って決定し、かつ決定結果に従って対応する応答を提供する。
【００８９】
別の例示的実施形態では、データ保護ユニット１２２６が、コンピュータホスト１１１０がデータのコピー操作を実行すると決定した後、外部記憶デバイス１２００によって実行される妨害処置は、データ保護ユニット１２２６が外部記憶デバイス１２００においてコンピュータホスト１１１０がデータの再生操作を実行するか、コピー操作を実行するかの決定を継続するように、予め決められた妨害時間（例えば、５秒）後に停止される。
【００９０】
さらに別の実施形態では、ビデオ／オーディオデータが再生されると、予め決められた量（例えば、８キロバイト／秒）のデータが連続して読み取られ、かつこの予め決められたデータ量は、データがコピーされるときの量（例えば、１２８キロバイト／秒）より少ないことから、データ保護ユニット１２２６はコンピュータホスト１１１０により発行される命令を検出し、かつ予め決められた数の命令が全て読取り命令であって、これらの読取り命令に対応する読み取られたデータ長が全て予め決められた量より多い場合、または連続する読取り命令の数が予め決められた数より多く、かつこれらの読取り命令に対応する読み取られたデータ長が全て予め決められた量より多い場合、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータのコピー操作を実行すると決定し、外部記憶デバイス１２００は妨害処置を実行する。
【００９１】
さらに別の例示的実施形態では、各読取り命令は少量のビデオ／オーディオデータを伝送するだけであることから、これは短時間しか実行されない。従って、読取り命令は、単位時間内に何回も発行される。データ保護ユニット１２２６は、コンピュータホスト１１１０によって読取り命令が発行される合計回数を検出し、単位時間（例えば、０．１秒）内に発行される読取り命令の合計数が予め決められた数以上であれば、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータの再生操作を実行すると決定する。そうでなければ、データ保護ユニット１２２６は、コンピュータホスト１１１０がデータのコピー操作を実行すると決定する。またさらに別の例示的実施形態では、データ保護ユニット１２２６は、コンピュータホスト１１１０により発行される読取り命令の合計数及びコンピュータホスト１１１０のデータ読取り量の双方を使用することによって、コンピュータホスト１１１０による読取りの目的を決定する。さらに別の例示的実施形態では、データ保護ユニット１２２６は、予め決められた期間（例えば、１秒）内の決定因子（例えば、読取り命令の合計数及びデータ読取り量、他）の平均値を計算することによって、コンピュータホスト１１１０の読取りの目的を決定する。
【００９２】
他の例示的実施形態では、記憶デバイス内のデータに対する読取りの目的が、出力フロー速度が予め決められた範囲内（例えば、１２８ミリ秒（ｍｓ）毎に１２８から２５６キロバイトまで）であるかどうかをチェックすることによって決定されれば、妨害処置は実行されない（例えば、これらのバイト数は、既に外部記憶デバイス１２００によって０から１２７キロバイトの範囲または１２８から２５６キロバイトの範囲内で送信されている）。しかしながら、出力フロー速度が予め決められた範囲より大きい場合には、妨害処置（遅延時間を追加してデータを遅らせる）が実行される。例えば、これらのバイト数が既に外部記憶デバイス１２００により２５７から５１２キロバイトの範囲内で送信されていれば、データ保護ユニット１２２６は、外部記憶デバイス１２００によるデータ送信の遅延時間として余分に１２８ｍｓを追加する。これらのバイト数が既に５１２から１０２４キロバイトの範囲内で送信されていれば、データ保護ユニット１２２６は、データ送信の遅延時間として余分に１２８ｍｓの２倍を追加する。これらのバイト数が既に１０２４から２０４８キロバイトの範囲内で送信されていれば、データ保護ユニット１２２６は、遅延時間として余分に１２８ｍｓの７倍を追加する、等々となる。従って、データ保護ユニット１２２６はコンピュータホスト１１１０へ特別なエラーメッセージを送らないが、データを保護する、またはデータフロー値を制限するという目的もある程度達成することができる。
【００９３】
これまでの例示的実施形態の説明に際しては、コンピュータホスト及び外部記憶デバイスを使用しているが、本発明がこれらに限定されないことは再度強調されなければならない。他の例示的実施形態では、音楽、ビデオまたは他のコンテンツ（例えば、ｅブック及びｅマップ、他）を再生できる、携帯電話、マルチメディアプレーヤ、オーディオデバイス、ハンドヘルドモバイルデバイス、ＧＰＳナビゲータまたはｅブック等の任意のホストも、本発明に適用されてもよく、かつ記憶デバイスは、ホストへ外的に接続される以外にホストに内蔵されてもよい。ホストが記憶デバイス内のデータにアクセスする限り、まず、そのデータに対するホストの読取りの目的が決定されなければならず、この場合、ホストの読取りの目的は、記憶デバイスのデータ出力量に従って決定されてもよい。この後、決定結果に従って２つ以上の読取り応答が提供される。即ち、記憶デバイスは決定結果に従って妨害処置を実行し、データがホストへコピーされることを防止するか遅らせる。
【００９４】
先に述べたように、本発明においては、ホストが記憶デバイス内のデータにアクセスすると、ホストがデータの再生操作を実行するか、コピー操作を実行するかが自動的に決定される。ホストがデータのコピー操作を実行することが決定されると、記憶デバイスはホストへデータを送らないか、ホストへデータを低速で送る。これまでに記述した本発明の例示的実施形態は、記憶デバイス内のデータが容易にホストにコピーされずにデータ保護の目的が達成されることを含む多くの優位点を有するが、これまでに述べた優位点が本発明の全てのバージョンに必要なわけではない。
【００９５】
当業者には、本発明の精神及び範囲を逸脱することなく本発明の構造に様々な修正及び変形を行い得ることが明らかであろう。これまでの説明に鑑みて、下記のクレーム及びその同等物の範囲に含まれるものであれば、本発明は本発明の修正及び変形を包含することが意図される。
【図１】
2011065622.tif 000003
【図２】
2011065622.tif 000004
【図３】
2011065622.tif 000005
【図４】
2011065622.tif 000006
【図５】
2011065622.tif 000007
【図６】
2011065622.tif 000008
【図７】
2011065622.tif 000009
【図８】
2011065622.tif 000010
【図９】
2011065622.tif 000011
【外国語明細書】
2011065622.tif 000012
2011065622.tif 000013
2011065622.tif 000014
2011065622.tif 000015
2011065622.tif 000016
2011065622.tif 000017
2011065622.tif 000018
2011065622.tif 000019
2011065622.tif 000020
2011065622.tif 000021
2011065622.tif 000022
2011065622.tif 000023
2011065622.tif 000024
2011065622.tif 000025
2011065622.tif 000026
2011065622.tif 000027
2011065622.tif 000028
2011065622.tif 000029
2011065622.tif 000030
2011065622.tif 000031
2011065622.tif 000032
2011065622.tif 000033
2011065622.tif 000034
2011065622.tif 000035
2011065622.tif 000036
2011065622.tif 000037
2011065622.tif 000038
2011065622.tif 000039
2011065622.tif 000040
2011065622.tif 000041
2011065622.tif 000042
2011065622.tif 000043
2011065622.tif 000044
2011065622.tif 000045
2011065622.tif 000046
2011065622.tif 000047
2011065622.tif 000048
2011065622.tif 000049
2011065622.tif 000050
2011065622.tif 000051
１．Abstract
2011065622.tif 000052
２．Representative Drawing
Ｆｉｇ４
Ｆｉｇ１
2011065622.tif 000053
Ｆｉｇ２
2011065622.tif 000054
Ｆｉｇ３
2011065622.tif 000055
Ｆｉｇ４
2011065622.tif 000056
Ｆｉｇ５
2011065622.tif 000057
Ｆｉｇ６
2011065622.tif 000058
Ｆｉｇ７
2011065622.tif 000059
Ｆｉｇ８
2011065622.tif 000060
Ｆｉｇ９
2011065622.tif 000061