説明

データの保護方法とシステム、記憶デバイス及び記憶デバイスコントローラ

【課題】データを保護するための方法とシステム、記憶デバイス及び記憶デバイスコントローラを提供する。
【解決手段】ホストが記憶デバイス内のデータにアクセスする410と、まず、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する420。ホストがデータの再生操作を実行すれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容する430。反対に、ホストがデータのコピー操作を実行すれば、記憶デバイスは妨害処置を実行して、データがホストへコピーされることを防止するか遅らせる440。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概してデータを保護するための方法とシステムに関し、より具体的には、記憶デバイス内のデータをホストがコピーしないように保護するための方法とシステム、および記憶デバイス及び記憶デバイスコントローラに関する。
【背景技術】
【0002】
技術の発達と共に、記憶容量に加えて携帯性は、消費者が記憶媒体を選ぶ際に考慮されるべき主たる要素の1つとなってきた。プラグアンドプレイ及びホットスワップ機能を有するフラッシュドライブの発明以降、当初データの記憶及び転送に使用された従来の記憶媒体(例えば、3.5”フロッピー(登録商標)ディスク及びコンパクトディスク(CD))は、その少ない記憶容量及び不便さに起因して徐々に人気を失っている。
【0003】
フラッシュドライブは、軽量、小型、スリムな外観及び高い携帯性を提供し、またコンピュータシステムが互換的な伝送インタフェースを有する限り、フラッシュドライブへのデータの書込み、またはフラッシュドライブからのデータの読取りは極めて便利である。加えて、フラッシュドライブの記憶容量は、フラッシュメモリの進歩に伴って大幅に増大していて、人々はデータをフラッシュドライブに記憶することに慣れ、よってデータ交換が極めて便利になってきている。例えば、多くのユーザは、気に入ったビデオ/オーディオを任意の私用または公衆コンピュータを介して楽しめるようにビデオ/オーディオファイルをフラッシュドライブに記憶することに慣れている。
【0004】
しかしながら、フラッシュドライブは便利に持ち歩くことができ、かつこれに記憶されたデータは容易にコピーができることから、データをコンピュータシステムへコピーすることは極めて容易である。著作権保持者にとって、これは、著作権で保護されたその製品が不法にコピーされる可能性があるという理由で、極めて不利である。
【0005】
本明細書における記述は何れも、先行技術における本発明の任意の部分に関する認識を承認するものとして解釈されるべきではない。さらに、本出願における任意の文書の引用または同定も、このような文書が本発明の先行技術として利用可能であること、または任意の参照が当分野に共通する一般的認識の一部を形成することを承認するものではない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、本発明は、記憶デバイス内のデータがホストに容易にコピーされないように保護することのできるデータ保護方法に関する。
【0007】
本発明は、ホストのコピー操作のようなデータアクセス操作を決定し、データを記憶デバイスからホストへコピーする困難さを高めるために、前記決定に対応する応答を提供できるデータ保護システムに関する。
【0008】
本発明は、ホストのコピー操作のようなデータアクセス操作を決定し、内部に記憶されるデータが容易にホストへコピーされないことを保証するために、前記決定に対応する応答を提供できる記憶デバイスに関する。
【0009】
本発明は、記憶デバイスに記憶されるデータがホストへコピーされないように保護するために対応する応答を提供するように、記憶デバイスを効果的に制御し、かつホストのコピー操作のようなデータアクセス操作を決定するめの記憶デバイスコントローラに関する。
【課題を解決するための手段】
【0010】
本発明は、記憶デバイスに記憶されるデータを、ホストが前記データにアクセスする際に保護するためのデータ保護方法を提供する。本データ保護方法においては、まず、記憶デバイス内のデータに対するホストの読取りの目的が決定される。次に、決定結果に従って、2つ以上の読取り応答が提供される。
【0011】
本発明の例示的な一実施形態によれば、記憶デバイス内のデータに対するホストの読取りの目的を決定する間、ホストがデータの再生操作を実行するか、データのコピー操作を実行するかが決定される。決定結果に従って2つ以上の読取り応答を提供する一方で、ホストがデータの再生操作を実行することが決定されれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、ホストがデータのコピー操作を実行することが決定されれば、記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止または遅らせる。
【0012】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、データのコピー操作を実行するかを決定するステップは、ホストが記憶デバイスのデータ出力量に従ってデータの再生操作を実行するか、データのコピー操作を実行するかを決定することを含み、この場合のデータ出力量は、特定の時間に測定されるデータフロー値であっても、特定の時間期間内に測定される平均データフロー値であってもよい。
【0013】
本発明の例示的な一実施形態によれば、ホストがデータ出力量に従ってデータの再生操作を実行するか、データのコピー操作を実行するかを決定するステップは、下記のステップを含む。第1に、フロー速度しきい値が定義され、かつ記憶デバイスのデータ出力量が特定の時間期間内のサンプリング持続期間の間隔で測定され、この場合、特定の時間期間はサンプリング持続時間より長い。次に、特定の時間期間内に測定された全てのデータ出力量を使用することにより、平均フロー速度が計算される。平均フロー速度がフロー速度しきい値より低値であれば、ホストがデータの再生操作を実行することが決定され、平均フロー速度がフロー速度しきい値より高値か等しければ、ホストがデータのコピー操作を実行することが決定される。
【0014】
本発明の例示的な一実施形態によれば、フロー速度しきい値を定義するステップは、予め決められたファイルフォーマットまたは記憶デバイスの伝送インタフェースのタイプに従ってフロー速度しきい値を定義することを含む。
【0015】
本発明の例示的な一実施形態によれば、記憶デバイス内の記憶ユニットの少なくとも一部は複数の記憶スペースに分割され、この場合、記憶スペースの各々はフロー速度基準に対応し、データは記憶スペースのうちの1つに記憶される。フロー速度しきい値を定義するステップは、データを含む記憶スペースに対応するフロー速度基準をフロー速度しきい値として供給することを含む。
【0016】
本発明の例示的な一実施形態によれば、本データ保護方法はさらに、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する前の予め決められた時間期間内に、記憶デバイスにより実行される少なくとも1つのホスト命令、またはこのホスト命令に対応する命令情報を記憶することを含み、この場合、前記命令情報は、少なくともホスト命令のタイプ及びホスト命令により処理されるデータ長を含む。
【0017】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップは、単位時間内にホストにより記憶デバイスへ送られる読取り命令の合計数を計数することと、この合計数に従ってホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。例えば、この合計数が予め決められた値より多いか等しければ、ホストがデータの再生操作を実行することが決定され、合計数が予め決められた値より少なければ、ホストがデータのコピー操作を実行することが決定される。
【0018】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップは、ホストにより記憶デバイスへ連続して送られる複数の読取り命令を入手することを含む。読取り命令の合計数が予め決められた数より多いか等しく、かつ各々が読取り命令に対応している全ての読取りデータ長が予め決められた長さより長ければ、ホストがデータのコピー操作を実行することが決定される。
【0019】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップは、ホストと記憶デバイスとの間の伝送インタフェースのタイプに従って第1のデータ量及び第2のデータ量を確定することを含み、この場合、前記第2のデータ量は前記第1のデータ量より多い。ホストのデータ読取り量と第1のデータ量との差がデータ読取り量と第2のデータ量との差より少なければ、ホストがデータの再生操作を実行することが決定され、かつデータ読取り量と第1のデータ量との差がデータ読取り量と第2のデータ量との差より多ければ、ホストがデータのコピー操作を実行することが決定される。この場合、前記データ読取り量は、単一の読取り命令により読み取られるべきデータの量であっても、複数の読取り命令により読み取られるべきデータ量の平均値であってもよい。
【0020】
本発明の例示的な一実施形態によれば、妨害処置はホストへメッセージを送り返すことを含み、この場合、前記メッセージは、媒体変更メッセージ、読取り失敗メッセージ、巡回冗長検査(CRC)エラーメッセージ、エラー訂正コード(ECC)エラーメッセージまたは記憶媒体不在メッセージである。
【0021】
本発明の例示的な一実施形態によれば、妨害処置は、無限ループを実行してシステムダウン状態に入ることを含む。
【0022】
本発明の例示的な一実施形態によれば、妨害処置は、予め決められたレートでホストへデータを伝送することを含む。
【0023】
本発明の例示的な一実施形態によれば、記憶デバイスにより妨害処置を実行するステップはさらに、予め決められた妨害時間内に妨害処置を実行することと、この予め決められた妨害時間が経過した後もホストがデータの再生操作を実行するか、コピー操作を実行するかの決定を継続することを含む。
【0024】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップはさらに、ホストによりアクセスされるデータがシステムデータであるかどうかを決定することと、前記データがシステムデータでない場合にのみ、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。例えば、データがシステムデータであるかどうかは、データの論理アドレスに従って決定される。
【0025】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップはさらに、バッファ時間を定義することと、前記バッファ時間が経過した後にのみ、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。
【0026】
本発明の例示的な一実施形態によれば、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定するステップはさらに、ホストによりアクセスされるデータが記憶デバイスにおける記憶ユニットの特定の記憶スペース内に存在するかどうかを決定することと、データが前記特定の記憶スペース内に存在する場合にのみホストがデータの再生操作を実行するか、コピー操作を実行するかを決定することを含む。
【0027】
本発明は、ホストと記憶デバイスとを含むデータ保護システムを提供する。記憶デバイスは、記憶ユニットと記憶デバイスコントローラとを含み、この場合、前記記憶ユニットはデータを記憶するために使用され、かつ前記記憶デバイスコントローラは前記記憶ユニットへ結合される。ホストが記憶デバイスへ結合されてデータにアクセスすると、記憶デバイスコントローラは、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する。記憶デバイスコントローラが、ホストがデータの再生操作を実行すると決定すれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、かつ記憶デバイスコントローラが、ホストがデータのコピー操作を実行すると決定すれば、記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止するか遅らせる。
【0028】
本発明は、コネクタと、記憶ユニットと、記憶デバイスコントローラとを含む外部記憶デバイスを提供する。記憶ユニットは、少なくとも第1の記憶スペースと第2の記憶スペースとに分割され、前記第1の記憶スペース及び第2の記憶スペースは各々データを記憶する。記憶デバイスコントローラは、コネクタ及び記憶ユニットへ結合される。第1の記憶スペース内のデータにアクセスするために、ホストがコネクタを介して外部記憶デバイスへ結合されると、記憶デバイスコントローラは、第1の記憶スペース内のデータに対するホストの読取りの目的を決定し、かつ第2の記憶スペース内のデータにアクセスするために、ホストがコネクタを介して外部記憶デバイスへ結合されると、記憶デバイスコントローラは、第2の記憶スペース内のデータに関するホストの読取りの目的を決定することなく、直ぐにホストによるそのデータへのアクセスを許容する。
【0029】
本発明の例示的な一実施形態によれば、データにアクセスするために、ホストがコネクタを介して外部記憶デバイスへ結合されると、記憶デバイスコントローラは、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する。記憶デバイスコントローラが、ホストがデータの再生操作を実行すると決定すれば、外部記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、かつ記憶デバイスコントローラが、ホストがデータのコピー操作を実行すると決定すれば、外部記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止するか遅らせる。
【0030】
本発明の例示的な一実施形態によれば、外部記憶デバイスはさらに、予め決められた持続時間内に外部記憶デバイスにより実行される少なくとも1つのホスト命令、及びこのホスト命令に対応する命令情報を記憶するための記憶デバイスを含む。
【0031】
本発明は、ホストから命令を受信するためと、記憶デバイス内の記憶ユニットを制御するための記憶デバイスコントローラを提供する。本記憶デバイスコントローラは、マイクロプロセッサユニットと、記憶媒体インタフェースユニットと、ホストインタフェースユニットと、データ保護ユニットとを含む。記憶媒体インタフェースユニットは、記憶デバイスコントローラを記憶ユニットへ結合するためにマイクロプロセッサユニットへ結合される。ホストインタフェースユニットは、記憶デバイスコントローラをホストへ結合するためにマイクロプロセッサユニットへ結合される。データ保護ユニットは、マイクロプロセッサユニットへ結合される。記憶ユニット内のデータにアクセスするために、ホストが記憶デバイスへ結合されると、データ保護ユニットは、ホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する。データ保護ユニットが、ホストがデータの再生操作を実行すると決定すれば、記憶デバイスは再生操作の実行を継続してホストがデータにアクセスすることを許容し、かつデータ保護ユニットが、ホストがデータのコピー操作を実行すると決定すれば、記憶デバイスは妨害処置を実行してデータがホストにコピーされることを防止するか遅らせる。
【発明の効果】
【0032】
先に述べたように、本発明においては、記憶デバイス内に記憶されたデータにアクセスするためにホストが前記記憶デバイスへ結合されると、このデータアクセス操作が再生操作であるか、コピー操作であるかが決定される。このデータアクセス操作がコピー操作であると決定されれば、データはホストへ伝送されないか、極めて遅い速度でホストへ伝送される。従って、記憶デバイスからホストへデータをコピーすることは極めて困難にされ、これにより、データ保護の目的が達成される。
【0033】
しかしながら、この概要は、本発明の全ての態様及び実施形態を含んでいない場合があり、如何なる方法によっても限定または制限を意図するものではないこと、及び、本明細書に開示している発明は、現在及び将来においても一般的な当業者によりその明らかな改良及び修正を包含するものとして解釈されることは理解されるべきである。
【図面の簡単な説明】
【0034】
添付の図面は、本発明をさらによく理解するために包含されるものであり、本明細書に組み込まれかつその一部を構成する。これらの図面は本発明の実施形態を示し、かつ明細書本文と共に本発明の原理を説明する働きをする。
【0035】
【図1】本発明の例示的な一実施形態によるデータ保護システムを示すブロック図である。
【0036】
【図2】本発明の一実施形態によるコンピュータホスト、入力/出力(I/O)デバイス及び外部記憶デバイスを示す図である。
【0037】
【図3】本発明の別の例示的な実施形態による記憶デバイスコントローラを示すブロック図である。
【0038】
【図4】本発明の例示的な一実施形態によるデータ保護方法のフローチャートである。
【0039】
【図5】本発明の例示的な一実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。
【0040】
【図6】本発明の別の例示的な実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。
【0041】
【図7】本発明の別の例示的な実施形態によるデータ保護方法を示すフローチャートである。
【0042】
【図8】本発明の別の例示的な実施形態によるデータ保護システムを示すブロック図である。
【0043】
【図9】本発明のさらに別の例示的な実施形態によるデータ保護方法を示すフローチャートである。
【発明を実施するための形態】
【0044】
以下、添付の図面にその例を示す、本発明の好適な実施形態を詳細に参照していく。可能な限り、図面及び本説明においては、同じ、または類似の部分を指して同じ参照番号を使用する。
【0045】
本発明の実施形態は、詳細な説明におけるもの、及び/または図面に示されているものを含む、本明細書に記述された任意の1つまたはそれ以上の新規特徴を備えてもよい。本明細書で使用しているように、「少なくとも1つ」、「1つまたは複数」及び「及び/または」という言い回しは、実施に際しては接続的でも離接的でもある制約のない表現である。例えば、「A、B及びCのうちの少なくとも1つ」、「A、BまたはCのうちの少なくとも1つ」、「A、B及びCのうちの1つまたはそれ以上」、「A、BまたはCのうちの1つまたはそれ以上」及び「A、B及び/またはC」という表現は各々、Aのみ、Bのみ、Cのみ、A及びBの双方、A及びCの双方、B及びCの双方またはA、B及びCの全てを意味する。
【0046】
「1つの」実体という言い回しは、その1つまたは複数の実体を指すことに留意されるべきである。よって、本明細書において、「1つ」、「1つまたは複数」及び「少なくとも1つ」という言い回しは交換可能式に使用可能である。
【0047】
以下の例示的実施形態では、データを保護するために、記憶デバイスに記憶されたデータに関してホストにより実行される異なるアクセスアクションに従って対応する応答を提供する方法について記述する。この場合、ホストは、音楽、ビデオまたは他のコンテンツ(例えば、eブック及びeマップ、他)をプレイすることのできる、コンピュータ、携帯電話、マルチメディアプレーヤ、オーディオデバイス、ハンドヘルドモバイルデバイス、全地球測位システム(GPS)ナビゲータまたはeブック等の任意のデバイスであってもよく、記憶デバイスは、ホストに内蔵されても、ホストへ外的に接続されてもよい。
【0048】
図1は、本発明の例示的な一実施形態によるデータ保護システムを示すブロック図である。図1に示すように、データ保護システム1000は、ホストシステム1100と、外部記憶デバイス1200とを含む。説明の便宜上、この例示的実施形態では、ホストシステム1100はコンピュータシステムであるものとされ、かつこれは、コンピュータホスト1110と、入力/出力(I/O)デバイス1150とを含む。しかしながら、他の例示的実施形態では、ホストシステム1100内のホストは、音楽、ビデオまたは他のコンテンツ(例えば、eブック及びeマップ、他)をプレイすることのできる、携帯電話、マルチメディアプレーヤ、オーディオデバイス、ハンドヘルドモバイルデバイス、GPSナビゲータまたはeブック等の他の任意のデバイスであってもよい。加えて、この例示的実施形態では、記憶デバイスは外部記憶デバイス1200として記述されるが、他の例示的実施形態では、記憶デバイスは、本発明の範囲を逸脱することなくホストシステム1100に内蔵されてもよい。
【0049】
この例示的実施形態では、コンピュータホスト1110は、中央処理装置(CPU)1112と、メモリ1114と、システムバス1116と、データ伝送インタフェース1118とを含む。I/Oデバイス1150は、図2に示すように、マウス1202、キーボード1204、ディスプレイ1206またはプリンタ1208であってもよい。しかしながら、本明細書では、I/Oデバイス1150のタイプを限定しない。
【0050】
外部記憶デバイス1200は、コネクタ1210と、記憶デバイスコントローラ1220と、記憶ユニット1230とを含む。外部記憶デバイス1200は、図2に示すように、フラッシュドライブ1212、メモリカード1214またはソリッドステートドライブ(SSD)1216であってもよい。また、外部記憶デバイス1200は、コンピュータホスト1110へ外的に接続され得る、CD ROMまたはDVD ROMをシミュレートできるフラッシュドライブ等の任意の記憶デバイスであってもよい。
【0051】
外部記憶デバイス1200は、コンピュータホスト1110が記憶ユニット1230に対してデータの読取りまたは書込みを行えるように、コネクタ1210及びデータ伝送インタフェース1118を介してコンピュータホスト1110へ接続される可能性もある。本例示的実施形態では、コネクタ1210及びデータ伝送インタフェース1118はユニバーサルシリアルバス(USB)インタフェースである。しかしながら、他の例示的実施形態では、コネクタ1210及びデータ伝送インタフェース1118は、シリアルアドバンストテクノロジーアタッチメント(SATA)インタフェース、電気電子技術者協会(IEEE)1394インタフェース、周辺機器コンポーネントインターコネクト拡張型(PCI)インタフェースまたはセキュアデジタル(SD)インタフェース等の他の任意の適切なインタフェースであってもよい。しかしながら本明細書では、コネクタ1210及びデータ伝送インタフェース1118のタイプを限定しない。
【0052】
記憶ユニット1230は、フラッシュメモリ(NANDフラッシュメモリ)及びシステムデータ(例えば、ファイル割当テーブル(FAT))及び一般データ(例えば、ビデオ/オーディオファイルまたはテキストファイル、他)を記憶するために使用されるものであってもよい。
【0053】
記憶デバイスコントローラ1220は、各々コネクタ1210及び記憶ユニット1230へ結合される。本例示的実施形態では、記憶デバイスコントローラ1220は、ホストインタフェースユニット1222と、マイクロプロセッサユニット1224と、データ保護ユニット1226と、記憶媒体インタフェースユニット1228とを含む。記憶デバイスコントローラ1220は、コンピュータホスト1110から命令及びデータを受信し、かつコンピュータホスト1110へデータを送り返すために、ホストインタフェースユニット1222及びコネクタ1210を介してコンピュータホスト1110へ結合される。本例示的実施形態では、ホストインタフェースユニット1222はUSBインタフェースであり、他の実施形態では、ホストインタフェースユニット1222は、SATAインタフェース、IEEE1394インタフェース、PCIエクスプレスインタフェース、SDインタフェース、他のフラッシュメモリカードインタフェースまたは他のインタフェース規格に適合するインタフェースユニットであってもよい。しかしながら、互いにデータを伝送するためには、ホストインタフェースユニット1222、コネクタ1210及びデータ伝送インタフェース1118が同じ、または互換的なインタフェース規格に適合しなければならないことは留意されるべきである。
【0054】
記憶デバイスコントローラ1220は、記憶ユニット1230を制御するために、記憶媒体インタフェースユニット1228を介して記憶ユニット1230へ結合される。本例示的実施形態では、記憶媒体インタフェースユニット1228はフラッシュメモリインタフェースユニットである。
【0055】
図1に示すように、ホストインタフェースユニット1222、データ保護ユニット1226及び記憶媒体インタフェースユニット1228は全て、マイクロプロセッサユニット1224へ結合される。マイクロプロセッサユニット1224は、記憶デバイスコントローラ1220の主要な制御ユニットであり、ホストインタフェースユニット1222、記憶媒体インタフェースユニット1228及びデータ保護ユニット1226と協動して外部記憶デバイス1200の様々なオペレーションを実行する。
【0056】
本例示的実施形態では、外部記憶デバイス1200がコンピュータホスト1110へ結合され、かつコンピュータホスト1110から受信される読取り命令に従って記憶ユニット1230内のデータを処理する場合、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行しようとしているか、コピー操作を実行しようとしているかを決定し、決定した結果に従って対応する応答を提供する。具体的に言えば、コンピュータホスト1110は、データ保護ユニット1226が、コンピュータホスト1110がデータの再生操作を実行すると決定する場合にのみ、そのデータへのアクセスを許容される。データ保護ユニット1226が、コンピュータホスト1110がデータのコピー操作を実行すると決定すれば、外部記憶デバイス1200はデータを出力しないか、コンピュータホスト1110へのデータ送信を比較的遅くして、記憶ユニット1230内のデータが容易かつ瞬時にコンピュータホスト1110へコピーされることを防止する。
【0057】
本発明の別の例示的実施形態では、外部記憶デバイス内の記憶デバイスコントローラはさらに、他の機能モジュールを含む。図3は、本発明の別の例示的実施形態による記憶デバイスコントローラを示すブロック図である。図3を参照すると、ホストインタフェースユニット1222、マイクロプロセッサユニット1224、データ保護ユニット1226及び記憶媒体インタフェースユニット1228の他にも、記憶デバイスコントローラ1220’はバッファメモリ3002、エラー訂正ユニット3004及び電力管理ユニット3006をさらに含む。
【0058】
具体的に言えば、バッファメモリ3002はマイクロプロセッサユニット1224へ結合され、コンピュータホスト1110または記憶ユニット1230から受信されるデータを一時的に記憶するために使用される。
【0059】
エラー訂正ユニット3004はマイクロプロセッサユニット1224へ結合され、エラー訂正処置を実行してデータ精度を保証する。具体的に言えば、記憶デバイスコントローラ1220’がコンピュータホスト1110から書込み命令を受信すると、エラー訂正ユニット3004は、この書込み命令により書き込まれるべきデータに対応するエラー訂正コード(ECC)を発生し、このデータ及び対応するECCの双方が記憶ユニット1230に書き込まれる。記憶デバイスコントローラ1220’がコンピュータホスト1110から読取り命令を受信すると、記憶デバイスコントローラ1220’は記憶ユニット1230から読取り命令に対応するデータ及びECCを読み取り、次に、エラー訂正ユニット3004がECCに従ってデータを訂正する。
【0060】
電力管理ユニット3006は、外部記憶デバイスへ電力を供給するためにマイクロプロセッサユニット1224へ結合される。
【0061】
再度、図1を参照し、外部記憶デバイス1200がコンピュータホスト1110へ結合された後にコンピュータホスト1110が外部記憶デバイス1200内のデータにアクセスした場合のデータ保護システム1000のオペレーションプロセスについて、本発明の別の例示的実施形態を参照してさらに説明する。図4は、本発明の例示的な一実施形態によるデータ保護方法を示すフローチャートである。以下の説明に関しては、図1及び図4の双方を参照されたい。
【0062】
外部記憶デバイス1200がコンピュータホスト1110へ結合された後、ステップ410において、コンピュータホスト1110は、外部記憶デバイス1200へ読取り命令を発行することにより、外部記憶デバイス1200の記憶ユニット1230に記憶されたデータを再生またはコピーする。
【0063】
次に、ステップ420において、記憶デバイスコントローラ1220内のデータ保護ユニット1226は、コンピュータホスト1110が外部記憶デバイス1200から読み取られたデータの再生操作を実行するか、コピー操作を実行するかを決定する。本開示において、再生操作とは、コンピュータホスト1110が、外部記憶デバイス1200からのデータをコンピュータホスト1110に読み込んだ後に単にデータを再生するだけで、そのデータを外部記憶デバイス1200以外の別の不揮発性メモリ記憶デバイス(例えば、コンピュータホスト1110のハードディスク(HDD)、フラッシュメモリカードまたはフラッシュドライブ)に書き込まないことを指し、コピー操作とは、コンピュータホスト1110が、外部記憶デバイス1200からのデータをコンピュータホスト1110に読み込んだ後に、そのデータを外部記憶デバイス1200以外の別の不揮発性メモリ記憶デバイスに書き込むことを指す点は留意されるべきであり、この場合、別の不揮発性メモリ記憶デバイスは、コンピュータホスト1110内に配置されていても、コンピュータホスト1110へ外的に接続されていてもよい。一般的に言えば、外部記憶デバイス1200は、それがコンピュータホスト1110の制御下の異なる動作状態にあるときは、異なるデータ出力量を有する。統計によれば、ユーザがコンピュータホスト1110を使用して外部記憶デバイス1200内のデータを再生する場合、そのデータがMP3フォーマットであれば、外部記憶デバイス1200のデータ出力量は約24キロバイト/秒であり、そのデータがMP4フォーマットであれば、外部記憶デバイス1200のデータ出力量は約125キロバイト/秒である。しかしながら、ユーザが外部記憶デバイス1200からのデータをコンピュータホスト1110にコピーする場合、外部記憶デバイス1200のデータ出力量は容易に8メガバイト/秒に達することがある。言い替えれば、コンピュータホスト1110が外部記憶デバイス1200内のデータを再生する場合、外部記憶デバイス1200のデータ出力量は、ユーザが外部記憶デバイス1200からのデータをコンピュータホスト1110にコピーする場合のそれより少ない。従って、本例示的実施形態では、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを外部記憶デバイス1200のデータ出力量に従って決定する。
【0064】
図5は、本発明の例示的な一実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。即ち、図5は、図4におけるステップ420をさらに詳しく示している。本例示的実施形態では、データ出力量は、特定の時間期間内に測定されるデータフロー値、またはデータ出力オペレーション期間の少なくとも一部の間に測定されるデータ伝送速度として定義される。データ出力量が、特定の時間期間内に測定されるデータフロー値の平均、合計または数学的に演算された数字である可能性もある点は留意されるべきである。第1に、ステップ510において、データ保護ユニット1226はフロー速度しきい値を定義し、この場合、前記フロー速度しきい値は、外部記憶デバイス1200の予め決められた通常の値であっても、外部記憶デバイス1200のインタフェースまたは機能に関連づけられてもよい。外部記憶デバイス1200は、専ら予め決められたファイルフォーマットに適合するデータを記憶するために使用され、かつデータ保護ユニット1226は、予め決められたファイルフォーマットに従ってフロー速度しきい値を定義することが想定されている。例えば、外部記憶デバイス1200が専らMP3フォーマットに適合するデータの記憶に使用されれば、フロー速度しきい値は50キロバイト/秒として定義されてもよく、外部記憶デバイス1200が専らMP4フォーマットに適合するデータの記憶に使用されれば、フロー速度しきい値は150キロバイト/秒として定義されてもよい。さらに、外部記憶デバイス1200の伝送インタフェースがPCIエクスプレスインタフェース、SDインタフェースまたはCFインタフェースであれば、これらの伝送インタフェースは異なる最大伝送速度を有することから、データの再生操作またはコピー操作が実行されると、フロー速度しきい値は伝送インタフェースの指定された最大伝送速度に伴って変わってもよい。しかしながら、フロー速度しきい値の前述の値は、本発明を説明するために使用される単なる例であって、本発明を限定する意図はなく、フロー速度しきい値は1メガバイト/秒または300キロバイト/秒、他であってもよいことは留意されるべきである。
【0065】
フロー速度しきい値を定義した後、ステップ520において、データ保護ユニット1226は、特定の時間期間内のサンプリング持続時間の間隔で外部記憶デバイス1200のデータ出力量を測定し、この場合、前記特定の時間期間は前記サンプリング持続時間より長い。加えて、ステップ530において、この期間中に測定された全てのデータ出力量を使用することにより、特定の時間期間内の平均フロー速度が計算される。例えば、特定の時間期間が2秒でありかつサンプリング持続時間が0.1秒であるとすると、データ保護ユニット1226は、この2秒以内に測定される20個のデータ出力量の平均値を計算する。具体的に言えば、本例示的実施形態では、コンピュータホスト1110は、外部記憶デバイス1200へ先に送信されたホスト命令が完了した後にのみ次のホスト命令を送信し、かつ外部記憶デバイス1200により実行されるこれらのホスト命令(またはホスト命令に対応する命令情報)は、外部記憶デバイス1200の記憶デバイス(例えば、バッファメモリ3002)に一時的に記憶される。ホスト命令の命令情報は、命令のタイプ(例えば、読取りまたは書込み)または処理されるべきデータ長を含む。別の例示的実施形態では、外部記憶デバイス1200は、予め決められた持続時間内の出力データ量を単に一時的に記憶してもよい。データ保護ユニット1226は、特定の時間期間中のデータ出力量を取得するために、バッファメモリ3002に記録された命令情報に従ってあらゆるサンプリング持続時間中にコンピュータホスト1110へ出力されたデータの量を計算する。
【0066】
次に、ステップ540において、データ保護ユニット1226は、特定の時間期間内の平均フロー速度がフロー速度しきい値以上であるかどうかを決定する。平均フロー速度がフロー速度しきい値より低値であれば、ステップ550において、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行すると決定する。平均フロー速度がフロー速度しきい値以上であれば、ステップ560において、データ保護ユニット1226は、コンピュータホスト1110がデータのコピー操作を実行すると決定する。
【0067】
別の例示的実施形態では、平均フロー速度がフロー速度しきい値の予め決められた倍数(例えば、2倍または5倍)以上であれば、データ保護ユニット1226は、コンピュータホスト1110がコピー操作を実行すると決定する。
【0068】
別の例示的実施形態では、サンプリング持続時間中にコンピュータホスト1110へ出力されたデータの量がしきい値の予め決められた倍数(例えば、3倍または4倍)以上であれば、データ保護ユニット1226は、コンピュータホスト1110がコピー操作を実行すると決定する。
【0069】
本例示的実施形態において、データ保護ユニット1226は、データ出力量がしきい値より多くても、直後にはコンピュータホスト1110がコピー操作を実行すると認識しない点は言及されるべきである。代わりに、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかは、主としてデータ出力の量及びデータ出力の連続性に従って決定される。よって、コンピュータホスト1110が単にデータへのアクセスを開始して、結果的に大量のデータを読み込んでバッファに記憶したとしても、これは、図5に示すステップによってデータのコピー操作とは決定されない。
【0070】
別の例示的実施形態では、データ保護ユニット1226が、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを外部記憶デバイス1200のデータ出力量に従って決定する場合、本明細書で使用するデータ出力量は特定の持続時間内に測定されるデータフロー値も指す場合がある。データフロー値が予め決められた値以上であれば、データ保護ユニット1226は、コンピュータホスト1110がデータのコピー操作を実行すると決定する。例えば、データ保護ユニット1226はデータフローを毎秒測定し、データフロー値が予め決められた値以上であれば、コンピュータホスト1110がデータのコピー操作を実行すると決定する。
【0071】
再度、図4を参照すると、データ保護ユニット1226が、コンピュータホスト1110がデータの再生操作を実行する(即ち、コンピュータホスト1110がデータを再生する)と決定すれば、ステップ430において、外部記憶デバイス1200はこの再生操作の実行を継続し、コンピュータホスト1110が記憶ユニット1230内のデータに連続的にアクセスすることを許容する。この後、本データ保護方法のオペレーションフローはステップ420へ戻り、データ保護ユニット1226は再度、データが再生されるか、コピーされるかを決定する。
【0072】
しかしながら、データ保護ユニット1226が、コンピュータホスト1110がデータのコピー操作を実行すると決定すると、ステップ440において、外部記憶デバイス1200は妨害処置を実行し、データがコンピュータホスト1110へコピーされることを防止するか遅らせる。本例示的実施形態では、外部記憶デバイス1200により実行される妨害処置はコンピュータホスト1110へメッセージを送り返すことを含み、この場合、前記メッセージは、媒体変更メッセージ(ノット・レディトゥレディ遷移)、巡回冗長検査(CRC)エラーメッセージ、エラー訂正コード(ECC)エラーメッセージ、読取り失敗メッセージまたは記憶媒体不在メッセージ、他のようなメッセージであってもよい。コンピュータホスト1110は、このメッセージの受信後はもはやデータのコピー操作を実行することができない。
【0073】
別の例示的実施形態では、外部記憶デバイス1200により実行される妨害処置は、外部記憶デバイス1200がシステムダウン状態に入るような無限ループであってもよい。この場合、外部記憶デバイス1200は、ユーザが外部記憶デバイス1200をコンピュータホスト1110へ接続し直さない限りデータアクセス操作を行わない。
【0074】
さらに別の例示的実施形態では、外部記憶デバイス1200により実行される妨害処置は、データを素早くコンピュータホスト1110へコピーできないように、データを予め決められた極端に遅い速度でコンピュータホスト1110に送信することであってもよい。
【0075】
他の例示的実施形態では、ユーザが低速伝送インタフェースによってデータをコピーすることを防止するために、記憶デバイスコントローラ1220内のデータ保護ユニット1226が、外部記憶デバイス1200のコネクタ1210がUSB伝送インタフェースであって、低伝送速度によるUSB1.1規格に適合すると決定すると、外部記憶デバイス1200はデータをコンピュータホスト1110へ送らない。
【0076】
先に説明した例示的実施形態では、データが単に再生されるか、コピーされるかがデータ出力量に従って決定される。しかしながら、本発明はこれに限定されない。言い替えれば、データ保護システム1000には、データ再生操作とデータコピー操作とを区別できる他の任意の技術も適用されてもよい。図6は、本発明の別の例示的な実施形態による、コンピュータホストがデータの再生操作を実行するか、コピー操作を実行するかを決定する方法を示すフローチャートである。本実施形態では、データ保護ユニット1226が、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを決定しようとすると、ステップ610において、データ保護ユニット1226はまず、コンピュータホスト1110と外部記憶デバイス1200との間の伝送インタフェースのタイプ(即ち、コネクタ1210及びデータ伝送インタフェース1118に対応する伝送インタフェースのタイプ)に従って第1のデータ量及び第2のデータ量を定義する。この場合、前記第2のデータ量は前記第1のデータ量より多く、例えば、コネクタ1210及びデータ伝送インタフェース1118に対応する伝送インタフェースがUSBインタフェースであれば、第1のデータ量は4KBと定義され、かつ第2のデータ量は64KBと定義される。
【0077】
次に、ステップ620において、データ保護ユニット1226は、コンピュータホスト1110のデータ読取り量が第1のデータ量の方に近いか、第2のデータ量の方に近いかを決定する。具体的に言えば、コンピュータホスト1110は、外部記憶デバイス1200に読取り命令を発行して記憶ユニット1230からデータを送り返すように要求し、かつ再生操作とコピー操作では必要とされるデータ量が異なることから、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを読取り命令のデータ読取り量に従って決定することができる。しかしながら、本明細書において、データ読取り量は、単一の読取り命令によって読み取られるべきデータの量であっても、複数の読取り命令によって読み取られるべきデータの平均量であってもよいことは留意されるべきである。
【0078】
データ読取り量と第1のデータ量との差が、データ読取り量と第2のデータ量との差より小さければ、データ読取り量は第1のデータ量の方に近いことが決定され、よって、ステップ630において、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行すると決定する。
【0079】
反対に、データ読取り量と第1のデータ量との差が、データ読取り量と第2のデータ量との差より大きければ、データ読取り量は第2のデータ量の方に近いことが決定され、よって、ステップ640において、データ保護ユニット1226は、コンピュータホスト1110がデータのコピー操作を実行すると決定する。
【0080】
再度、上述の実施形態において、データが再生されるか、コピーされるかは各々、外部記憶デバイス1200の連続するデータ出力量及びコンピュータホスト1110によりその度に読み取られることが望まれるデータ量に従って決定されることは留意されるべきである。しかしながら、これらの2つの決定方法は単に本発明の実施形態例であり、本発明の範囲を限定するためのものではない。
【0081】
コンピュータホスト1110が記憶ユニット1230からシステムデータ(例えば、FAT)を読み取る場合、外部記憶デバイス1200がコンピュータホスト1110へデータを送り返すデータフロー速度はデータを再生する速度より速いことは言及されるべきである。従って、図7に示すように、再生操作かコピー操作かを間違って決定することを避けるために、外部記憶デバイス1200がコンピュータホスト1110へ結合されかつコンピュータホスト1110が記憶ユニット1230内のデータにアクセスすると(ステップ710)、データ保護ユニット1226は、コンピュータホスト1110によりアクセスされるべきデータがシステムデータであるかどうかを決定しなければならない(ステップ720)。その時点でアクセスされているデータがシステムデータであれば、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを決定せず、コンピュータホスト1110がデータに連続してアクセスすることを許容する(ステップ730)。ステップ720は、その時点でアクセスされているデータがシステムデータでなくなるまで繰り返される。そのデータがシステムデータでなくなれば、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを決定する(ステップ740)。図7におけるステップ740からステップ760は、図4におけるステップ420からステップ440までと同じか類似するものであり、よってここでは説明を省く。具体的に言えば、システムデータは特定の論理アドレスにブロックで記憶されることが可能であり、または記憶デバイスコントローラ1220はシステムデータを含むブロックの論理アドレスを検出できることから、記憶デバイスコントローラ1220内のデータ保護ユニット1226は、データがシステムデータであるかどうかをアクセスされるべき論理アドレスに従って決定することができる。さらに、コンピュータホスト1110は、外部記憶デバイス1200へ結合されているときは通常、システム情報をまず記憶ユニット1230から読み取ることから、別の例示的実施形態において、データ保護ユニット1226はまずバッファ時間を定義し、コンピュータホスト1110が外部記憶デバイス1200へ結合されてからの時間が前述のバッファ時間を超えるまではデータフローを監視せず、かつデータ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかをバッファ時間の経過後にのみ決定する。
【0082】
図8は、本発明の別の例示的な実施形態によるデータ保護システムを示すブロック図である。図8におけるデータ保護システム8000は図1におけるデータ保護システム1000に類似するものであるが、両者の相違点は、外部記憶デバイス1200内の記憶ユニット1230の少なくとも一部が複数の記憶スペースに分割され、記憶スペースの各々がフロー速度基準に対応していることにある。本明細書では、記憶スペースの数を限定していないが、本例示的実施形態において、記憶ユニット1230は記憶スペース1231、記憶スペース1232及び記憶スペース1235に分割されている。
【0083】
データ保護ユニット1226が、データが再生されるかコピーされるかを外部記憶デバイス1200の連続するデータ出力量に従って決定する場合、データ保護ユニット1226は、そのデータを含む記憶スペースに対応するフロー速度基準をフロー速度しきい値として使用することができる。
【0084】
加えて、記憶ユニット1230が幾つかの記憶スペースに分割されることから、ある例示的実施形態において、データ保護システム8000は記憶ユニット1230全体を保護する。別の例示的実施形態では、データ保護システム8000は特定の記憶スペースしか保護しない。即ち、データ保護システム8000の少なくとも1つの記憶スペース内のデータが読み取られる場合、データ保護システム8000はコンピュータホストの読取りの目的を決定せず、コンピュータホストから受信される読取り要求は全て許容される。一方で、データ保護システム8000の少なくとも別の1つの記憶スペース内のデータが読み取られると、データ保護システム8000はコンピュータホストの読取りの目的を決定し、かつ決定結果に従って対応する応答を提供する。
【0085】
図9は、本発明のさらに別の例示的な実施形態によるデータ保護方法を示すフローチャートである。まず、ステップ910において、外部記憶デバイス1200はコンピュータホスト1110へ結合され、コンピュータホスト1110が記憶ユニット1230内のデータにアクセスする。次に、ステップ920において、データ保護ユニット1226は、コンピュータホスト1110によってアクセスされたデータが記憶ユニット1230の特定の記憶スペースに存在するかどうかを決定しなければならない。その時点でアクセスされているデータが特定の記憶スペースに存在しなければ、データ保護ユニット1226はコンピュータホスト1110の読取りの目的を決定せず、ステップ930において、コンピュータホスト1110はデータへのアクセスを許容される。次には、その時点でアクセスされているデータが特定の記憶スペースに存在することが決定されるまで、ステップ920が繰り返される。次いで、ステップ940において、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを決定する。図9におけるステップ940からステップ960は、図4におけるステップ420からステップ440までと同じか類似するものであり、よってここでは説明を省く。
【0086】
図9に示すように、ユーザがコンピュータホスト1110を介して記憶ユニット1230の特定の記憶スペース内のデータにアクセスする場合にのみ、記憶デバイスコントローラ1220のデータ保護ユニット1226はデータの監視及び保護措置を講じる。言い替えれば、ユーザは、重要なデータを記憶ユニット1230の特定の記憶スペースに記憶して、データが他人によってコピーされることを防止する。
【0087】
より具体的に言えば、別の例示的実施形態では、記憶ユニット1230は少なくとも第1の記憶スペース(例えば、記憶スペース1231)と第2の記憶スペース(例えば、記憶スペース1232)とに分割され、第1の記憶スペース及び第2の記憶スペースは各々データを記憶する。コンピュータホスト1110が、第1の記憶スペースからデータを読み取るためにコネクタ1210を介して外部記憶デバイス1200へ結合されると、記憶デバイスコントローラ1220内のデータ保護ユニット1226は、コンピュータホスト1110による第1の記憶スペース内のデータに対する読取りの目的を決定する。しかしながら、コンピュータホスト1110が外部記憶デバイス1200へ結合されて第2の記憶スペースからデータを読み取る場合、記憶デバイスコントローラ1220内のデータ保護ユニット1226は、コンピュータホスト1110による第2の記憶スペース内のデータに対する読取りの目的を決定することなく直にコンピュータホスト1110がデータを読み取ることを許容する。
【0088】
即ち、上述の例示的実施形態では、データ保護システム8000は、それに関してはコンピュータホスト1110による読取りの目的を決定する必要がない少なくとも1つの記憶スペースを有し、この記憶スペースに対するコンピュータホスト1110からの読取り要求はどれも直に許容される。一方で、データ保護システム8000は、それに関してはコンピュータホスト1110による読取りの目的を決定する必要がある少なくとも1つの記憶スペースを有し、コンピュータホスト1110がこの記憶スペース内のデータにアクセスすると、外部記憶デバイス1200は、コンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかを上述の方法に従って決定し、かつ決定結果に従って対応する応答を提供する。
【0089】
別の例示的実施形態では、データ保護ユニット1226が、コンピュータホスト1110がデータのコピー操作を実行すると決定した後、外部記憶デバイス1200によって実行される妨害処置は、データ保護ユニット1226が外部記憶デバイス1200においてコンピュータホスト1110がデータの再生操作を実行するか、コピー操作を実行するかの決定を継続するように、予め決められた妨害時間(例えば、5秒)後に停止される。
【0090】
さらに別の実施形態では、ビデオ/オーディオデータが再生されると、予め決められた量(例えば、8キロバイト/秒)のデータが連続して読み取られ、かつこの予め決められたデータ量は、データがコピーされるときの量(例えば、128キロバイト/秒)より少ないことから、データ保護ユニット1226はコンピュータホスト1110により発行される命令を検出し、かつ予め決められた数の命令が全て読取り命令であって、これらの読取り命令に対応する読み取られたデータ長が全て予め決められた量より多い場合、または連続する読取り命令の数が予め決められた数より多く、かつこれらの読取り命令に対応する読み取られたデータ長が全て予め決められた量より多い場合、データ保護ユニット1226は、コンピュータホスト1110がデータのコピー操作を実行すると決定し、外部記憶デバイス1200は妨害処置を実行する。
【0091】
さらに別の例示的実施形態では、各読取り命令は少量のビデオ/オーディオデータを伝送するだけであることから、これは短時間しか実行されない。従って、読取り命令は、単位時間内に何回も発行される。データ保護ユニット1226は、コンピュータホスト1110によって読取り命令が発行される合計回数を検出し、単位時間(例えば、0.1秒)内に発行される読取り命令の合計数が予め決められた数以上であれば、データ保護ユニット1226は、コンピュータホスト1110がデータの再生操作を実行すると決定する。そうでなければ、データ保護ユニット1226は、コンピュータホスト1110がデータのコピー操作を実行すると決定する。またさらに別の例示的実施形態では、データ保護ユニット1226は、コンピュータホスト1110により発行される読取り命令の合計数及びコンピュータホスト1110のデータ読取り量の双方を使用することによって、コンピュータホスト1110による読取りの目的を決定する。さらに別の例示的実施形態では、データ保護ユニット1226は、予め決められた期間(例えば、1秒)内の決定因子(例えば、読取り命令の合計数及びデータ読取り量、他)の平均値を計算することによって、コンピュータホスト1110の読取りの目的を決定する。
【0092】
他の例示的実施形態では、記憶デバイス内のデータに対する読取りの目的が、出力フロー速度が予め決められた範囲内(例えば、128ミリ秒(ms)毎に128から256キロバイトまで)であるかどうかをチェックすることによって決定されれば、妨害処置は実行されない(例えば、これらのバイト数は、既に外部記憶デバイス1200によって0から127キロバイトの範囲または128から256キロバイトの範囲内で送信されている)。しかしながら、出力フロー速度が予め決められた範囲より大きい場合には、妨害処置(遅延時間を追加してデータを遅らせる)が実行される。例えば、これらのバイト数が既に外部記憶デバイス1200により257から512キロバイトの範囲内で送信されていれば、データ保護ユニット1226は、外部記憶デバイス1200によるデータ送信の遅延時間として余分に128msを追加する。これらのバイト数が既に512から1024キロバイトの範囲内で送信されていれば、データ保護ユニット1226は、データ送信の遅延時間として余分に128msの2倍を追加する。これらのバイト数が既に1024から2048キロバイトの範囲内で送信されていれば、データ保護ユニット1226は、遅延時間として余分に128msの7倍を追加する、等々となる。従って、データ保護ユニット1226はコンピュータホスト1110へ特別なエラーメッセージを送らないが、データを保護する、またはデータフロー値を制限するという目的もある程度達成することができる。
【0093】
これまでの例示的実施形態の説明に際しては、コンピュータホスト及び外部記憶デバイスを使用しているが、本発明がこれらに限定されないことは再度強調されなければならない。他の例示的実施形態では、音楽、ビデオまたは他のコンテンツ(例えば、eブック及びeマップ、他)を再生できる、携帯電話、マルチメディアプレーヤ、オーディオデバイス、ハンドヘルドモバイルデバイス、GPSナビゲータまたはeブック等の任意のホストも、本発明に適用されてもよく、かつ記憶デバイスは、ホストへ外的に接続される以外にホストに内蔵されてもよい。ホストが記憶デバイス内のデータにアクセスする限り、まず、そのデータに対するホストの読取りの目的が決定されなければならず、この場合、ホストの読取りの目的は、記憶デバイスのデータ出力量に従って決定されてもよい。この後、決定結果に従って2つ以上の読取り応答が提供される。即ち、記憶デバイスは決定結果に従って妨害処置を実行し、データがホストへコピーされることを防止するか遅らせる。
【0094】
先に述べたように、本発明においては、ホストが記憶デバイス内のデータにアクセスすると、ホストがデータの再生操作を実行するか、コピー操作を実行するかが自動的に決定される。ホストがデータのコピー操作を実行することが決定されると、記憶デバイスはホストへデータを送らないか、ホストへデータを低速で送る。これまでに記述した本発明の例示的実施形態は、記憶デバイス内のデータが容易にホストにコピーされずにデータ保護の目的が達成されることを含む多くの優位点を有するが、これまでに述べた優位点が本発明の全てのバージョンに必要なわけではない。
【0095】
当業者には、本発明の精神及び範囲を逸脱することなく本発明の構造に様々な修正及び変形を行い得ることが明らかであろう。これまでの説明に鑑みて、下記のクレーム及びその同等物の範囲に含まれるものであれば、本発明は本発明の修正及び変形を包含することが意図される。

【特許請求の範囲】
【請求項1】
記憶デバイス内のデータを、ホストが前記データにアクセスする際に保護するためのデータ保護方法であって、
前記記憶デバイスの記憶デバイスコントローラによって、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数、前記ホストにより前記記憶デバイスへ連続して送られる読取り命令の合計数、または前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプおよび前記ホストのデータ読み取り量に従って決定するステップと、
前記記憶デバイスによって、前記決定の結果に従って、2つ以上の読取り応答を提供するステップとを含み、
前記決定の結果に従って2つ以上の読取り応答を提供する前記ステップは、
前記記憶デバイスコントローラが、前記ホストが前記データの再生操作を実行することを決定したら、前記読取り応答のうちの1つを提供し、前記記憶デバイスによる再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、前記記憶デバイスコントローラが、前記ホストが前記データのコピー操作を実行することを決定したら、前記読取り応答のうちのもう一方を提供し、前記記憶デバイスによる妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせるステップを含む、データ保護方法。
【請求項2】
前記妨害処置は、前記記憶デバイスによって前記ホストへメッセージを送り返すこと、前記記憶デバイスによって無限ループを実行してシステムダウン状態に入ること、または前記記憶デバイスによって予め決められたレートで前記ホストへ前記データを伝送することを含む、請求項1記載のデータ保護方法。
【請求項3】
前記メッセージは、媒体変更メッセージ、読取り失敗メッセージ、巡回冗長検査(CRC)エラーメッセージ、エラー訂正コード(ECC)エラーメッセージまたは記憶媒体不在メッセージである、請求項2記載のデータ保護方法。
【請求項4】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数、前記ホストにより前記記憶デバイスへ連続して送られる読取り命令の合計数、または前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプおよび前記ホストのデータ読み取り量に従って決定する前記ステップは、
前記記憶デバイスコントローラによって、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数を計数するステップと、
前記記憶デバイスコントローラによって、前記合計数が予め決められた値より多いか等しければ、前記ホストが前記データの再生操作を実行すると決定するステップと、
前記記憶デバイスコントローラによって、前記合計数が前記予め決められた値より少なければ、前記ホストが前記データのコピー操作を実行すると決定するステップとを含む、請求項1記載のデータ保護方法。
【請求項5】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数、前記ホストにより前記記憶デバイスへ連続して送られる読取り命令の合計数、または前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプおよび前記ホストのデータ読み取り量に従って決定する前記ステップは、
前記記憶デバイスコントローラによって、前記ホストにより前記記憶デバイスへ連続して送られる前記読取り命令の合計数を入手するステップと、
前記記憶デバイスコントローラによって、前記読取り命令の合計数が予め決められた数より多いか等しく、かつ各々が前記読取り命令に対応している全ての読取りデータ長が予め決められた長さより長ければ、前記ホストが前記データのコピー操作を実行すると決定するステップを含む、請求項1記載のデータ保護方法。
【請求項6】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数、前記ホストにより前記記憶デバイスへ連続して送られる読取り命令の合計数、または前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプおよび前記ホストのデータ読み取り量に従って決定する前記ステップは、
前記記憶デバイスコントローラによって、前記ホストと前記記憶デバイスとの間の前記伝送インタフェースの前記タイプに従って第1のデータ量及び第2のデータ量を確定するステップであって、前記第2のデータ量は前記第1のデータ量より多いステップと、
前記記憶デバイスコントローラによって、前記ホストのデータ読取り量と前記第1のデータ量との差が前記データ読取り量と前記第2のデータ量との差より少なければ、前記ホストが前記データの再生操作を実行すると決定するステップと、
前記記憶デバイスコントローラによって、前記データ読取り量と前記第1のデータ量との差が前記データ読取り量と前記第2のデータ量との差より多ければ、前記ホストが前記データのコピー操作を実行すると決定するステップとを含む、請求項1記載のデータ保護方法。
【請求項7】
前記データ読取り量は、単一の読取り命令により読み取られるべきデータの量である、請求項6記載のデータ保護方法。
【請求項8】
前記データ読取り量は、複数の読取り命令により読み取られるべきデータの量の平均値である、請求項6記載のデータ保護方法。
【請求項9】
前記記憶デバイスにより前記妨害処置を実行する前記ステップはさらに、
前記記憶デバイスによって、予め決められた妨害時間内に前記妨害処置を実行するステップと、
前記記憶デバイスによって、前記予め決められた妨害時間が経過した後も前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかの決定を継続するステップとを含む、請求項1記載のデータ保護方法。
【請求項10】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップはさらに、
前記記憶デバイスによって、前記ホストによりアクセスされる前記データがシステムデータであるかどうかを決定するステップと、
前記記憶デバイスによって、前記データが前記システムデータでなければ、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップとを含む、請求項1記載のデータ保護方法。
【請求項11】
前記ホストによりアクセスされる前記データが前記システムデータであるかどうかを決定する前記ステップは、
前記記憶デバイスによって、前記データが前記システムデータであるかどうかを前記データの論理アドレスに従って決定するステップを含む、請求項10記載のデータ保護方法。
【請求項12】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップより前に、前記データ保護方法は、さらに、
予め決められた時間期間内に前記記憶デバイスにより実行された少なくとも1つのホスト命令、または前記ホスト命令に対応する命令情報を記憶するステップを含む、請求項1記載のデータ保護方法。
【請求項13】
前記命令情報は、前記ホスト命令のタイプ及び前記ホスト命令により処理されるデータ長のうちの少なくとも一方を含む、請求項12記載のデータ保護方法。
【請求項14】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップはさらに、
前記記憶デバイスによって、バッファ時間を定義するステップと、
前記記憶デバイスによって、前記バッファ時間が経過した後に、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップとを含む、請求項1記載のデータ保護方法。
【請求項15】
前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定する前記ステップはさらに、
前記記憶デバイスによって、前記ホストによりアクセスされる前記データが前記記憶デバイスにおける記憶ユニットの特定の記憶スペース内に存在するかどうかを決定するステップと、
前記記憶デバイスによって、前記データが前記特定の記憶スペース内に存在すれば、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを決定するステップとを含む、請求項1記載のデータ保護方法。
【請求項16】
データ保護システムであって、
ホストと、
記憶デバイスとを備え、
前記記憶デバイスは、
データを記憶するための記憶ユニットと、
前記記憶ユニットへ結合される記憶デバイスコントローラとを備え、
前記ホストが前記記憶デバイスへ結合されて前記データにアクセスすると、前記記憶デバイスコントローラは、前記ホストが前記データの再生操作を実行するか、コピー操作を実行するかを、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数、前記ホストにより前記記憶デバイスへ連続して送られる読取り命令の合計数、または前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプおよび前記ホストのデータ読み取り量に従って決定し、
前記記憶デバイスコントローラが、前記ホストが前記データの再生操作を実行すると決定すれば、前記記憶デバイスは再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、
前記記憶デバイスコントローラが、前記ホストが前記データのコピー操作を実行すると決定すれば、前記記憶デバイスは妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせるデータ保護システム。
【請求項17】
外部記憶デバイスであって、
コネクタと、
少なくとも第1の記憶スペースと第2の記憶スペースとに分割される記憶ユニットであって、前記第1の記憶スペース及び第2の記憶スペースは各々データを記憶する記憶ユニットと、
前記コネクタ及び前記記憶ユニットへ結合される記憶デバイスコントローラとを備え、
前記第1の記憶スペース内の前記データを読み取るために、前記ホストが前記コネクタを介して前記外部記憶デバイスへ結合されると、前記記憶デバイスコントローラは、前記第1の記憶スペース内の前記データの再生操作を実行するか、コピー操作を実行するかを、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数、前記ホストにより前記記憶デバイスへ連続して送られる読取り命令の合計数、または前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプおよび前記ホストのデータ読み取り量に従って決定し、
前記記憶デバイスコントローラが、前記ホストが前記データの再生操作を実行すると決定すれば、前記外部記憶デバイスは再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、
前記記憶デバイスコントローラが、前記ホストが前記データのコピー操作を実行すると決定すれば、前記外部記憶デバイスは妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせ、
前記第2の記憶スペース内の前記データを読み取るために、前記ホストが前記コネクタを介して前記外部記憶デバイスへ結合されると、前記記憶デバイスコントローラは、前記第2の記憶スペース内の前記データに関する前記ホストの読取りの目的を決定することなく、直ぐに前記ホストによる前記データの読取りを許容する外部記憶デバイス。
【請求項18】
予め決められた持続時間内に前記外部記憶デバイスにより実行される少なくとも1つのホスト命令、及び前記ホスト命令に対応する命令情報を記憶するための記憶デバイスをさらに備える、請求項17記載の外部記憶デバイス。
【請求項19】
ホストから命令を受信するためと、記憶デバイス内の記憶ユニットを制御するための記憶デバイスコントローラであって、
マイクロプロセッサユニットと、
前記記憶デバイスコントローラを前記記憶ユニットへ結合するために前記マイクロプロセッサユニットへ結合される記憶媒体インタフェースユニットと、
前記記憶デバイスコントローラを前記ホストへ結合するために前記マイクロプロセッサユニットへ結合されるホストインタフェースユニットと、
前記マイクロプロセッサユニットへ結合されるデータ保護ユニットであって、前記ホストが前記記憶デバイスへ結合されて前記データにアクセスすると、前記ホストが前記記憶ユニット内のデータの再生操作を実行するか、コピー操作を実行するかを、前記ホストが前記記憶デバイス内の前記データの再生操作を実行するか、前記データのコピー操作を実行するかを、単位時間内に前記ホストにより前記記憶デバイスへ送られる読取り命令の合計数、前記ホストにより前記記憶デバイスへ連続して送られる読取り命令の合計数、または前記ホストと前記記憶デバイスとの間の伝送インタフェースのタイプおよび前記ホストのデータ読み取り量に従って決定するためのデータ保護ユニットとを備え、
前記データ保護ユニットが、前記ホストが前記データの再生操作を実行すると決定すれば、前記記憶デバイスは再生操作の実行を継続して前記ホストが前記データにアクセスすることを許容し、
前記データ保護ユニットが、前記ホストが前記データのコピー操作を実行すると決定すれば、前記記憶デバイスは妨害処置を実行して前記データが前記ホストにコピーされることを防止するか遅らせる記憶デバイスコントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−141999(P2012−141999A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2012−32273(P2012−32273)
【出願日】平成24年2月17日(2012.2.17)
【分割の表示】特願2009−280867(P2009−280867)の分割
【原出願日】平成21年12月10日(2009.12.10)
【出願人】(509285089)群聯電子股▲ふん▼有限公司 (5)
【Fターム(参考)】