説明

マルチオペレーティングシステム環境下でハードディスクを保護するための装置、システム、および方法

【課題】一つのハードディスクドライブ上のマルチオペレーティングシステム環境でハードディスクドライブのデータを保護すること。
【解決手段】ゼロ設定モジュール304によって新たなゼロ論理アドレス318が設定され、最大設定モジュール302よって新たな上限論理アドレス316が設定される。ハードディスクドライブ306上の論理アドレスに対するリクエストに、新たなゼロ論理アドレス318に対応するオフセット値が追加されることによって、ハードディスクドライブ306の固有のゼロ論理アドレス320と新たなゼロ論理アドレス318の間の下位保護領域(LPA)312内のデータが保護され、新たな上限論理アドレス316より上の論理アドレスへのアクセスが拒否されることによって、固有の上限論理アドレス314と新たなトップ論理アドレス316の間のホスト保護領域(HPA)308内のデータが保護される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハードディスクのデータの保護に関し、より具体的には、不正アクセスに対するハードディスク領域の保護に関する。
【背景技術】
【0002】
技術の進歩により、ハードディスクドライブの大容量化が進んでいる。最近のハードディスクドライブの容量は、一つのオペレーティングシステムで使用する場合、大抵は必要以上に大きい。そこで、選択的に起動することができる複数のオペレーティングシステム(マルチオペレーティングシステム)を一つのハードディスクドライブにインストールすることによってそのハードディスクドライブの過度の容量を有効に利用するユーザが現れてきている。
【0003】
複数のオペレーティングシステムをインストールする理由は幾つかあるが、その中でも、パワー・ユーザがLinuxやWindows(登録商標)のような様々なオペレーティングシステムを動かして種々のアプリケーションを利用したり、会社において複数のユーザに同一のコンピュータを操作させたりすることがある。同一のハードディスクドライブ上での複数のオペレーティングシステムは、他にも、ホームオフィスで利用されている。ホームオフィスでは、ウィルス、トロイの木馬、他の家族の操作に起因するその他のデータ破損などからオペレーティングシステムを守りたいというビジネスユーザの希望がある。
【0004】
一つのハードディスクドライブを複数のオペレーティングシステムのために用いる既存の方法においては、通常、ドライブを複数の論理領域に分割し、各オペレーティングシステムに対して1つまたは複数のパーティションを割り当てる作業を伴う。一つのオペレーティングシステムが選択されると、そのオペレーティングシステムは、それに割り当てられた論理領域から起動する。選択されたオペレーティングシステムは、それに割り当てられた論理領域に加え、他のオペレーティングシステムに割り当てられたハードディスクドライブ内の領域を含む全ての内容にアクセスすることができる。その結果、1つのオペレーティングシステムによって実行された動作が、ハードディスク上の他のオペレーティングシステムに対し、データ破損、データ窃盗、または他の望ましくない結果などの形態で影響を及ぼす可能性がある。
【0005】
現在のPCハードファイルでは、(IDE/ATAPI標準規格に規定されているように)、別々の2つの領域にディスクを分けることができる。そのうちの一つは、論理ブロックアドレス(LBA)0からLBA上限にわたる、ドライブの下位の(通常比較的大きい)セクションである。ドライブのこの部分は、通常、オペレーティングシステムとユーザプログラムとユーザデータとが存在している。他の一つは、ドライブの最上位に位置するホスト保護領域(HPA)である。この領域は、「最大設定(Set Max)」コマンドをドライブに送ることによって設定される。これにより、ドライブの下位領域のオペレーティングシステムが利用可能な「LBA上限」を引き下げることである。一旦設定されると、オペレーティングシステムはドライブのHPA領域を参照することもアクセスすることもできない。
【0006】
この仕組みは、ディスクが、ハードディスクドライブの下位セクションにインストールされた一つのオペレーティングシステムを格納する場合には良好に機能する。O/SはLBA0からLBA上限までの全てに完全にアクセスすることができる。「Set Max」コマンドによってLBA上限が引き下げられると、新たなLBA上限より上の領域は、オペレーティングシステムによるデータ破損から免れる。
【発明の開示】
【発明が解決しようとする課題】
【0007】
ドライブ上に2つ以上のオペレーティングシステムが存在する場合には、HPAにインストールされたオペレーティングシステムが、ドライブの下位セクションに自由にアクセスできるため、問題が生じる。結果として、ドライブの下位セクションにあるオペレーティングシステムは、HPAにインストールされたオペレーティングシステムの動作による悪意の、または不測のダメージまたはデータ窃盗に対して脆弱になる。
【0008】
上述した議論から、マルチオペレーティングシステムの環境でハードディスクのデータを保護する装置、システム、および方法が必要とされていることが分かる。そのような装置、システム、および方法は、利点として、ハードディスクドライブの2つ以上の領域を保護できる。
【0009】
本発明は、当該技術分野の現状に応じて、特に、現在利用可能なハードディスクデータ保護方式では完全には解決されていない、当該技術分野における問題および必要性に応じてなされたものである。したがって、本発明は、当該技術分野における上述の欠点の多くまたは全てを克服する、ハードディスクのデータを保護する装置、システム、および方法を提供するためになされたものである。
【課題を解決するための手段】
【0010】
本装置は、ハードファイルへのアクセスを一定の論理アドレス範囲に制限するものであり、ハードファイルへのアクセスを一定の論理アドレス範囲に制限するのに必要なステップを実行するように構成された複数のモジュールを備える。記載する複数の実施態様においては、それらのモジュールとして、論理アドレスへのリクエストに応じてハードファイルにアクセスするように構成されたコントローラモジュールと、ハードファイル上の論理アドレスに対する各リクエストにオフセット値を追加するように構成されたゼロ設定モジュールと、ハードファイル上にアクセス可能な最大論理アドレスを設定するように構成された最大設定モジュールと、を挙げる。
【0011】
本装置は、一実施態様において、さらに、複数のハードファイル領域の中から1つを選択することによって、選択された領域の論理アドレス範囲が上位であるほどオフセット値が大きくなるように、オフセット値を決めるように構成されている。他の実施態様では、本装置は、ハードファイル上の複数のハードファイル領域をジオメトリテーブルに規定する。このジオメトリテーブルは、複数のオフセット値と複数の最大論理アドレスとを有しており、各オフセット値は、複数のハードディスクドライブ領域のうちの1つの領域の最下位論理アドレスに対応し、各最大論理アドレスは、複数のハードファイル領域のうちの1つの領域の最上位論理アドレスに対応する。
【0012】
他の実施態様では、最大設定モジュールは、最大論理アドレスを、ハードファイルに固有の論理アドレス方式に対して相対的に設定する。他の実施態様では、最大設定モジュールは、最大論理アドレスを、オフセット値に対して相対的に設定する。
【0013】
さらに他の実施態様では、本装置は、ゼロ設定モジュールによるオフセット値の変更を禁止するようにゼロ設定モジュールをロックし、且つ、ゼロ設定モジュールによるオフセット値の変更を許可するようにゼロ設定モジュールのロックを解除するように構成されたロックモジュールをさらに備える。このロックモジュールは、一実施態様において、さらに、ゼロ設定モジュールのロックをパスワードに応じて解除するように構成される。他の実施態様では、このロックモジュールは、さらに、ゼロ設定コマンドに応答して、ゼロ設定モジュールをロックするように構成される。
【0014】
また、マルチオペレーティングシステムの環境においてハードディスクのデータを保護するシステムも提供する。一実施態様において、本システムは、ハードディスクドライブ上の論理アドレスに存在するデータをリクエストするように構成されたマザーボードと、ハードディスクドライブを制御するように構成されたコントローラモジュールと、データを論理アドレスに格納するように構成されたハードディスクドライブと、を備える。ここで、コントローラモジュールは、ハードディスクドライブ上の論理アドレスに対する各リクエストにオフセット値を追加するように構成されたゼロ設定モジュールと、ハードディスクドライブ上でアクセス可能な最大アドレスを設定するように構成された最大設定モジュールと、を備える。
【0015】
本システムのさらに他の実施態様では、ゼロ設定モジュールは、マザーボードに組み込まれたコントローラモジュールの構成要素である。他の実施態様では、ゼロ設定モジュールは、スタンドアロン型のコントローラモジュールの構成要素である。他の実施態様では、ゼロ設定モジュールはハードディスクドライブの構成要素である。
【0016】
本システムの一実施態様では、オフセット値は、対応する複数のハードディスクドライブ領域を占有する複数のオペレーティングシステムの中から1つを選択することによって決定される。具体的には、選択されたオペレーティングシステムに対応する領域が占有する論理アドレス範囲が上位であるほど、オフセット値が大きくなるように決められる。他の実施態様では、そのオペレーティングシステムの選択は、パスワードによって制限される。
【0017】
本システムの他の実施態様では、ハードディスクドライブ上の複数のハードディスクドライブ領域がジオメトリテーブルに規定される。このジオメトリテーブルは、複数のオフセット値と複数の最大論理アドレスと、を有しており、各オフセット値は、複数のハードディスクドライブ領域のうちの1つの領域の最下位論理アドレスに対応し、各最大論理アドレスは、複数のハードディスクドライブ領域のうちの1つの領域の最上位論理アドレスに対応する。さらに他の実施態様では、ジオメトリテーブルは、コントローラモジュールと通信するBIOS(basic input/output system)と共に格納されている。他の実施態様では、ジオメトリテーブルはハードディスクドライブ上に格納されている。
【0018】
また、ハードファイルへのアクセスを一定の論理アドレス範囲に制限するようにプログラムされた、コンピュータが利用可能なプログラムコードを有する、コンピュータが読み取り可能な媒体を有するコンピュータプログラムプロダクトも提供する。このコンピュータプログラムプロダクトのプログラムの動作は、ハードファイル上の複数のハードファイル領域のうちの1つの選択を受け付けることと、複数のハードディスクドライブ領域のうちの1つの領域の最下位論理アドレスにそれぞれ対応する複数のオフセット値と複数のハードディスクドライブ領域のうちの1つの領域の最上位論理アドレスにそれぞれ対応する複数の最大論理アドレスとを有するジオメトリテーブルにアクセスすることと、ハードファイル上の論理アドレスに対する各リクエストにオフセット値を追加することと、最大論理アドレスよりも上位の論理アドレスへのアクセスを拒否することと、を含む。
【0019】
他の実施態様では、ジオメトリテーブルへのアクセスは、BIOSによる不揮発性BIOSメモリの読み取りを含む。他の実施態様では、ジオメトリテーブルへのアクセスは、ブートローダによるハードファイル上のデータの読み取りを含む。
【0020】
また、ハードディスクドライブへのアクセスを一定の論理アドレス範囲に制限する方法も提供する。この方法は、一実施態様において、ハードディスクドライブ上の複数のハードディスクドライブ領域のうちの1つの選択を受け付け、複数のハードディスクドライブ領域のうちの1つの領域の最下位論理アドレスにそれぞれ対応する複数のオフセット値と複数のハードディスクドライブ領域のうちの1つの領域の最上位論理アドレスにそれぞれ対応する複数の最大論理アドレスとを有するジオメトリテーブルにアクセスすることと、ハードディスクドライブ上の論理アドレスに対する各リクエストにオフセット値を追加することと、最大論理アドレスよりも上位の論理アドレスへのアクセスを拒否することと、を含む。
【0021】
本明細書にわたって特徴、利点、またはそれらと同等な内容を説明しているが、本発明によって実現可能なそれらの特徴および利点の全てが、本発明のいずれか1つの実施態様において得られるべきである、または得られるということを意味しているというわけではない。特徴および利点を表す文言は、実施態様に関して説明される具体的な特徴、利点、または特性が本発明の少なくとも1つの実施態様に含まれているという意味で理解されるものである。したがって、本明細書にわたって、特徴、利点、およびそれらと同等な内容の説明は、必ずしもそうではないが、該当する同一の実施態様について述べている場合がある。
【0022】
さらに、本発明の、記載する特徴、利点、および特性は、適切な任意のやり方で1つ以上の実施態様において組み合わせることができる。当業者であれば、本発明を、特定の実施態様の1つ以上の具体的な特徴または利点を伴うことなく実施できることが理解できる。また、本発明の全ての実施態様に存在していなくてもよい付加的な特徴および利点が、特定の実施態様にあってもよいことが理解される。
【0023】
本発明のこれらの特徴および利点は、以下の説明と添付の特許請求項から十分に明らかになるし、または以下に説明する本発明の実施によって理解できる。
【発明を実施するための最良の形態】
【0024】
本発明の利点を容易に理解できるように、簡潔に説明した上述の本発明を、添付の図面に示す具体的な実施形態を参照することによってより具体的に説明する。それらの図面は、本発明の代表的な実施形態を示しているにすぎず、本発明の範囲を制限するものではないということが理解できる。本発明を、添付の図面を用いることによってより具体的かつ詳細に説明する。
【0025】
本明細書において、多くの機能ユニットは、それらが独立して実装されるという点を特に強調するためにモジュールと呼ぶ。例えば、モジュールは、カスタムVLSI回路やゲートアレイ、または、論理チップやトランジスタや他のディスクリート素子のような既製の半導体を有するハードウェア回路として実装してもよい。モジュールは、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル・アレイ・ロジック(PAL)、プログラマブル・ロジック・デバイス(PLD)などのプログラマブル・ハードウェア・デバイスに実装してもよい。
【0026】
モジュールは、様々な種類のプロセッサによって実行するためのソフトウェアとして実現してもよい。実行コードによって特定されるモジュールは、例えば、オブジェクト、プロシジャー、または関数として構築されたコンピュータの命令からなる1つ以上の物理ブロックまたは論理ブロックを有してもよい。さらに、特定モジュールの複数の実行ファイルは、物理的に一緒に配置されている必要はなく、論理的に一つに結合された際に目的とするモジュールを構成できるのであれば互いに異なる位置に格納されたバラバラの複数の命令で構成されていてもよい。
【0027】
もちろん、実行コードからなるモジュールは、単一の命令、または複数の命令であってよく、互いに異なる複数のプログラム間において互いに異なる幾つかのコードセグメントにわたって、且つ幾つかのメモリデバイスを横断して分散されてもよい。同様に、本明細書では、オペレーショナル・データがモジュール内にあると説明する場合があり、また、そのオペレーショナル・データは、任意の適切な形態で実現されてもよく、任意の適切な種類のデータ構造内に準備されてもよい。オペレーショナル・データは、単一のデータ・セットとしてまとめられていてもよく、あるいは、互いに異なる複数の位置(互いに異なる複数の記憶デバイスにわたるという意味も含む)にわたって分散されていてもよく、また、少なくとも部分的に、単に、システムまたはネットワーク上の電気信号として存在してもよい。
【0028】
本明細書において、「ある実施形態」、「一実施形態」、またはそれらと同等な表現の使用は、その実施形態に関して記述される具体的な特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれていることを意味している。したがって、本明細書において、「ある実施形態において」、「一実施形態において」、または、それらと同等な内容のフレーズの使用は、必ずしもそうではないが、該当する同一の実施形態のことを述べている場合がある。
【0029】
ここで参照する信号伝達媒体は、信号を生成し、信号を発生させ、または、デジタル処理装置に対する機械読み取り可能な命令からなるプログラムを実行させることができる任意の形態を取ることができる。信号伝達媒体は、伝送回線、コンパクトディスク、デジタルビデオディスク、磁気テープ、ベルヌーイドライブ、磁気ディスク、パンチカード、フラッシュメモリ、集積回路、または、他のデジタル処理装置メモリデバイスによって実現してもよい。
【0030】
さらに、記載された本発明の特徴、構造、または特性は、1つ以上の実施形態において任意の適切なやり方で組み合わされてもよい。以下の説明では、本発明の実施形態のよりよい理解のために、プログラミング、ソフトウェアモジュール、ユーザの選択、ネットワーク・トランザクション、データベースクエリ、データベースストラクチャ、ハードウェアモジュール、ハードウェア回路、ハードウェアチップなどの例のような多くの具体的な詳細を示す。しかしながら、当業者であれば、本発明を、1つ以上の具体的な詳細の範囲外で、他の方法、他の構成要素、他の部材などを用いて実施できることが理解できる。また、本発明の特徴が分かりにくくなるのを避けるために、よく知られた構造、部材、または動作については詳細に示さない。
【0031】
ここで、「ハードディスクドライブ」、「ハードドライブ」、「ハードディスク」、「ハードファイル」、またはそれらと同等な文言は、デジタル符号が施された任意の不揮発性記憶装置を指している。そのような記憶装置の例として、磁気面を有する回転ディスクプラッタを用いたハードディスクドライブ、磁気テープ、CDまたはDVD−ROMのような光ディスク、ROM、ユニバーサル・シリアル・バス(USB)キーを含むフラッシュメモリ、およびフラシュカードなどが挙げられる。統合論理アドレス方式(unified logical addressing scheme)を用いたマルチディスクRAIDサブシステムのような上記の例の組み合わせも、本発明の目的を達成する上で、ハードディスクドライブと見なされるべきものである。
【0032】
また、ハードディスクドライブの「領域」とは、ハードディスクドライブ上の格納位置のグループを指している。グループ内の格納位置は、必須ではないが、連続していてよい。ハードディスクドライブ上の格納位置は、物理的な格納位置を論理アドレスにマッピングする論理アドレス方式で表してもよい。例えば、シリンダ、ヘッド、およびセクタの物理的な格納位置を有するハードディスクドライブは、論理ブロックアドレス(LBA)によって表されてよい。論理ブロックアドレスでは、最初のまたは最下位のアドレスを0のLBAに割り当て、次に1のLBAに割り当てられるというように、アドレスをハードディスクドライブ上の物理的な位置に割り当てる。
【0033】
図1は、ホスト保護領域(HPA)102および下位領域104を有する一実施形態のハードディスクドライブ100を示している。ハードディスクドライブ100は、一実施形態において、論理アドレス方式でアクセスされる。この論理アドレス方式によって、ある範囲のアドレスは、ハードディスクドライブ100内のゼロの論理アドレス106から上限の論理アドレス108までの範囲の物理的な格納位置に割り当てられる。パーソナルコンピュータ(PC)上でハードファイルを使用する上での現在の標準である、IDE(Integrated Device Elecronics)/ATAPI(Advanced Technology Attachment Packet Interface)標準には、「最大設定(Set Max)」コマンドの仕様が含まれている。最大設定コマンドが、それに関連づけられた新たな上限論理アドレス110と共にハードディスクドライブ100に送られると、この新たな上限論理アドレス110より上の論理アドレス、およびハードディスクドライブ100の固有アドレス方式での上限論理アドレス108はアクセス不可能になる。最大設定コマンドを送ることによって、オペレーティングシステムは、新たな上限論理アドレス110より上の論理アドレスにアクセスすることができなくなるので、ハードディスクドライブ100のHPA102は、下位領域104を利用するオペレーティングシステムから効果的に保護される。
【0034】
しかしながら、オペレーティングシステムがHPA102内にインストールされている場合、このオペレーティングシステムは、最大設定コマンドが発行されていない場合にしか機能できない。したがって、HPA102内のオペレーティングシステムは、下位領域104内に格納されたどのデータにもアクセスすることができる。その結果、HPA102内にインストールされたオペレーティングシステムのみが、最大設定コマンドによって保護され、下位領域104内にインストールされた第2のオペレーティングシステムは、そのような保護を受けない。
【0035】
図2は、ハードディスクドライブの1つ以上の領域を保護する本発明にかかる一実施形態のシステム200を示している。システム200は、マザーボード202、コントローラモジュール204、最大設定モジュール206、ゼロ設定モジュール208、およびハードディスクドライブ210を備える。システム200によって、ハードディスクドライブ210へのアクセスが一定の論理アドレス範囲に制限される。
【0036】
マザーボード202は、一実施形態において、コンピュータのような複雑な電子システムの主回路基板である。マザーボード202は、計算タスクを実行するために幾つかの構成要素と接続されており、それらをコントロールする。マザーボード202に、コントローラモジュール204が含まれてもよい。他の実施形態として、マザーボード202はコントローラモジュール204用のコネクタを含んでいてもよい。コントローラモジュール204用のコネクタの一例としては、PCI(Peripheral Component Interconnect)スロットがある。
【0037】
コントローラモジュール204は、一実施形態において、マザーボード202とハードディスクドライブ210との間の通信を管理する。コントローラモジュール204に、最大設定モジュール206とゼロ設定モジュール208が含まれてもよい。コントローラモジュール204は、ハードディスクドライブ210にコマンドを送って、ある格納アドレスにおいてデータの読み出しまたは書き込みを行ってもよい。一実施形態において、コントローラモジュール204は、論理アドレス方式と物理アドレス方式との間の変換を行ってもよい。他の実施形態として、コントローラモジュール204は論理アドレスのリクエストを行ってよく、この論理アドレスは、ハードディスクドライブ210によって変換される。
【0038】
当業者であればわかるように、コントローラモジュール204には、いくつかの実装形態があり、これらは本発明の範囲内であると考えられるべきである。例えば、コントローラモジュール204は、マザーボード202に組み込まれていてもよい。他の実施形態では、コントローラモジュール204は、マザーボード202およびハードディスクドライブ210とは別個のアドオン式の周辺機器であってよい。さらに他の実施形態では、コントローラモジュール204は、ハードディスクドライブ210に組み込まれていてもよい。さらに他の実施形態では、コントローラモジュール204は、システム200の複数のコンポーネントに分散された複数の機能モジュールを有していてもよい。
【0039】
一実施形態において、最大設定モジュール206は最大設定コマンドをハードディスクドライブ210に送る。最大設定コマンドによって、ハードディスクドライブ210上の、利用可能な上限論理アドレスが下げられる。その結果、最大設定コマンドが有効である間、新たな上限論理アドレスより上に格納されたデータはアクセスから保護される。
【0040】
ゼロ設定モジュール208は、一実施形態において、「ゼロ設定(set zero)」コマンドをハードディスクドライブ210に送る。ゼロ設定コマンドによって、ハードディスクドライブ210で利用可能なゼロアドレスが、新たなゼロアドレスに引き上げられる。その結果、ゼロ設定コマンドが有効である間、新たなゼロアドレスより下に格納されたデータはアクセスから保護される。
【0041】
一実施形態において、ゼロ設定コマンドによって、コントローラモジュール204は、ハードディスクドライブ210上の論理アドレスに対する全てのリクエストにオフセット値を追加してもよい。例えば、ゼロ設定モジュール208によって、コントローラモジュール204は、ハードディスクドライブ210上の論理アドレスに対する全てのリクエストに20,000のオフセットを追加してよい。この例に従うと、論理アドレス10に対するリクエストは、そのアドレスに加算される20,000のオフセットを含み、コントローラモジュール204は、ハードディスクドライブ210の固有アドレス方式での論理アドレス20,010にアクセスする。
【0042】
ハードディスクドライブ210は、一実施形態において、デジタル符号が施された不揮発性記憶装置である。ハードディスクドライブ210には、論理アドレスと物理格納位置との間の変換を行うLBAのような論理アドレス方式でアクセスしてもよい。例えば、ハードディスクドライブ210上のある物理領域に、ゼロの論理アドレスを割り当てることができる。ハードディスクドライブ210の他の物理領域は、例えば、1の論理アドレスを割り当てることができる。
【0043】
図3は、ハードディスクドライブ306の1つ以上の領域を保護する本発明にかかる一実施形態の装置300を示している。装置300は、最大設定モジュール302、ゼロ設定モジュール304、およびハードディスクドライブ306を備えることができる。装置300は、ハードディスクドライブ306の1つ以上の領域に格納されたデータを保護し、一方、ハードディスクドライブ306の他の領域は、保護された1つ以上の領域に対するアクセスを制限することによってアクセス可能になっている。
【0044】
一実施形態において、ハードディスクドライブ306は、論理アドレスによってアクセスされる物理格納位置を含んでいる。論理アドレスは、ハードディスクドライブ306のゼロ論理アドレス320から上限論理アドレス314までの範囲とすることができる。データは、アクセスのためにハードディスクドライブ306上に格納できる。
【0045】
ゼロ設定モジュール304は、一実施形態において、ゼロ設定コマンドをハードディスクドライブ306に送るように構成される。ゼロ設定コマンドによって、ハードディスクドライブ306に新たなゼロ論理アドレス318が設定される。一実施形態では、ゼロ設定コマンドによって、ハードディスクドライブ306上の論理アドレスに対するリクエストにオフセット値が追加される。この実施形態におけるオフセット値は、新たなゼロ論理アドレス318の論理アドレスに等しい。オフセット値が加算された結果、論理アドレスゼロに対するリクエストは、新たなゼロ論理アドレス318にマッピングされる。同様に、論理アドレス1に対するリクエストは、新たなゼロ論理アドレス318に1を加えた論理アドレスにマッピングされる。オフセット値の加算のために、ゼロ論理アドレス320と新たなゼロ論理アドレス318との間に位置するハードディスクドライブ306の固有論理アドレスは、アクセスが不可能となり、下位保護領域(LPA)312が形成される。
【0046】
最大設定モジュール302は、一実施形態において、ハードディスクドライブ306に最大設定コマンドを送るように構成されている。最大設定コマンドによって、ハードディスクドライブ306上で利用可能な上限論理アドレスが引き下げられる。その結果、最大設定コマンドが有効である間、新たな上限論理アドレス316より上に格納されたデータはアクセスから保護され、ホスト保護領域(HPA)308が形成される。
【0047】
最大設定モジュール302は、一実施形態において、ハードディスクドライブ306の、固有論理アドレス方式に対して相対的に新たな上限論理アドレス316を示す最大設定コマンドを発行する。例えば、最大設定モジュール302は、ハードディスクドライブ306の新たな上限論理アドレス316となる論理アドレスを示す最大設定コマンドを出力することができる。この例では、新たなゼロ論理アドレス318が形成されると、論理アドレスに対するリクエストが発行された時に、その論理アドレスが、新たな上限論理アドレス316より下にあるかどうかを判定するために、新たなゼロ論理アドレス318に等しいオフセット値が新たな上限論理アドレス316から減算される。
【0048】
他の実施形態として、最大設定モジュール302は、新たなゼロ論理アドレス318に対して相対的に新たな上限論理アドレス316を示す最大設定コマンドを発行してもよい。例えば、最大設定モジュール302は、新たなゼロ論理アドレス318と新たな上限論理アドレス316との間に位置するアクセス可能領域310内にあることが許される複数の論理アドレスを示す最大設定コマンドを発行することができる。この例では、論理アドレスに対するリクエストが発行された時に、その論理アドレスが新たな上限論理アドレス316より下にあるかどうかを判定するために、新たな上限論理アドレス316からオフセット値が減算されることはない。
【0049】
一実施形態において、ハードディスクドライブ306は、最大設定モジュール302とゼロ設定モジュール304とのそれぞれによって送られた最大設定コマンドとゼロ設定コマンドの影響下にあってよい。最大設定コマンドによって、アクセス可能な最上位の論理アドレスが、ハードディスクドライブ306の上限論理アドレス314から新たな上限論理アドレス316に引き下げられてもよい。最大設定コマンドの結果、HPA308が、論理アドレスにおいて新たな上限論理アドレス316とハードディスクドライブ306の上限論理アドレス314との間に形成される。HPA308内のデータはアクセスすることができなくなり、保護される。
【0050】
ゼロ設定モジュール304によって発行されたゼロ設定コマンドによって、一実施形態では、ハードディスクドライブ306上の論理アドレスに対するリクエストにオフセット値が追加されることになる。ゼロ設定コマンドの影響下では、論理アドレスゼロへのアクセスのリクエストによって、新たなゼロ論理アドレス318へのアクセスが行われる。新たなゼロ論理アドレス318はハードディスクドライブ306の固有論理アドレス方式での、オフセット値に等しい論理アドレスに位置している。ゼロ設定コマンドの結果として、LPA312が、ハードディスクドライブ306のゼロ論理アドレス320と新たなゼロ論理アドレス318との間に位置する論理アドレスに形成される。LPA312内のデータはアクセスすることができなくなり、保護される。新たなゼロ論理アドレス318と新たな上限論理アドレス316との間に格納されたデータによってアクセス可能領域310が形成され、アクセス可能領域310では、ハードディスクドライブ306上に格納されたデータにアクセスすることができる。
【0051】
図4は、ハードファイル410の1つまたは複数の領域を保護するための本発明による一実施形態のジオメトリテーブル402を示している。ジオメトリテーブル402には、1つ以上のハードファイル領域412−1〜412−nの論理アドレスに関するデータが格納されている。ジオメトリテーブル402は、領域インデックス404、オフセット値406、および最大値アドレス408の項目を含んでいる。
【0052】
ハードファイル410は、一実施形態において、デジタル符号が施された任意の不揮発性記憶装置であってもよく、LBAのような論理アドレス方式でアクセスされてよい。ハードファイル410は、1つ以上のハードファイル領域412−1〜412−nを含んでいてよい。ハードファイル410上の個々のハードファイル領域412は、他のいずれのハードファイル領域412が、図3に関連して説明したような最大設定モジュール302とゼロ設定モジュール304の使用によって機能している間でも、アクセスから保護することができる。
【0053】
例えば、ハードファイル領域412−2が機能している間、ゼロ設定モジュール304は、ハードファイル410の、ハードファイル領域2を示す412−2の最下位の論理アドレスに位置する新たなゼロ論理アドレス318より下のアドレスへのアクセスを防ぐゼロ設定コマンドを発行する。最大設定モジュール302は、ハードファイル410の、新たな上限論理アドレス316より上の論理アドレスへのアクセスを防ぐ最大設定コマンドを発行する。ゼロ設定コマンドと最大設定コマンドの結果として、ハードファイル領域2を示す412−2からなる論理アドレスのみがアクセス可能となる。
【0054】
ジオメトリテーブル402は、一実施形態において、最大設定モジュール302とゼロ設定モジュール304に、新たな上限論理アドレス316と新たなゼロ論理アドレス318についての真のアドレスを示す情報を供給する。ジオメトリテーブル402は、領域インデックス404、各領域についてのオフセット値406、および各領域についての最大アドレス408を有してよい。
【0055】
一実施形態において、領域インデックス404は、1つ以上のハードファイル領域412−1〜412−nのそれぞれについてのインデックスを含んでいる。例えば、領域インデックス404は、各ハードファイル領域412−1〜412−nのそれぞれについての番号を有していてよい。他の例では、領域インデックス404は、各ハードファイル領域412−1〜412−nのそれぞれについてテキスト列を有していてよい。
【0056】
各領域についてのオフセット値406は、一実施形態において、各ハードファイル領域412−1〜412−nに関連づけられた新たなゼロ論理アドレス318に対応する値を含んでいる。例えば、各領域についてのオフセット値406は、領域インデックス404の各値に関連づけられた新たなゼロ論理アドレス318の、ハードファイル410での論理アドレスからなっていてよい。各領域についてのオフセット値406は、各ハードファイル領域412−1〜412−nが機能している時に、論理アドレスへのリクエストに追加されてよい。
【0057】
各領域についての最大アドレス408は、一実施形態において、各ハードファイル領域412−1〜412−nに関連づけられた新たな上限論理アドレス316に対応する値を含んでいる。例えば、各領域についての最大アドレス408は、領域インデックス404の各値に関連づけられた新たな上限論理アドレス316の、ハードファイル410での論理アドレスからなっていてよい。他の実施形態では、各領域についての最大アドレス408は、新たなゼロ論理アドレス318と新たな上限論理アドレス316との間に位置する論理アドレスの数を示す値からなっていてよい。
【0058】
当業者であればわかるように、本発明の範囲を逸脱することなく、様々な構成のジオメトリテーブル402を実装することができる。例えば、一実施形態において、各領域についてのオフセット値406のみが格納され、各領域についての最大アドレス408は、次のハードファイル領域412−1〜412−n−1のオフセット値406より小さい論理アドレスの1つであると推測され、一方、ハードファイル領域412−nの最大アドレス408は、ハードファイル410の最大アドレスであると推測されるように、ジオメトリテーブル402が機能してもよい。同様に、他の実施形態では、各領域についての最大アドレス408のみが格納され、各領域についてのオフセット値406は、前のハードファイル領域412−2〜412−nの最大アドレス408より小さい論理アドレスの1つであると推測され、一方、ハードファイル領域412−1のオフセット値はゼロであると推測されるように、ジオメトリテーブル402が機能してもよい。
【0059】
一実施形態では、ハードファイル410の、1つまたは複数のハードファイル領域412−1〜412−nを保護するためのジオメトリテーブル402の使用によって、複数のオペレーティングシステムを、それら複数のオペレーティングシステムのそれぞれが、他のいずれのオペレーティングによって使用されるデータにアクセスするのを防止しながら、同じハードファイル410上にインストールすることが可能になる。例えば、オペレーティングシステムが、1つ以上のハードファイル領域412−1〜412−nにインストールされてもよい。この例では、ハードファイル領域412−2にインストールされたオペレーティングシステムは、ハードファイル領域2を示す412−2内のデータにアクセスすることができるが、最大設定モジュール302によって発行された最大設定コマンドのために、このオペレーティングシステムは、ハードファイル領域3を示す412−3〜412−n上にインストールされたオペレーティングシステムによって使用されるデータにはアクセスすることができない。同様に、ハードファイル領域2を示す412−2内のこのオペレーティングシステムは、ゼロ設定モジュール304によって発行されたゼロ設定コマンドのために、ハードファイル領域1を示す412−1上にインストールされたオペレーティングシステムによって使用されるデータにはアクセスすることができない。一実施形態では、ユーザが、複数のオペレーティングシステムの中から1つを選択してよい。その選択に応じて、最大設定モジュール302とゼロ設定モジュール304が、最大設定コマンドとゼロ設定コマンドを発行して、選択されたオペレーティングシステムに対応するハードファイル領域412を規定する。他の実施形態では、オペレーティングシステムの選択にはパスワードが要求される。
【0060】
図5は、ハードファイル410の、1つ以上の領域を保護するための本発明にかかる一実施形態のロックモジュール502を示している。ロックモジュール502は、一実施形態において、コントローラモジュール504と協働してハードファイル410の複数の領域をアクセスから保護する。
【0061】
一実施形態において、コントローラモジュール504はハードファイル410へのアクセスをコントロールする。コントローラモジュール504は、最大設定モジュール302、ゼロ設定モジュール304、およびジオメトリテーブル402を含んでいてよい。ハードファイル410は、1つ以上のハードファイル領域412−1〜412−nを含んでいてよい。最大設定モジュール302、ゼロ設定モジュール304、およびジオメトリテーブル402は、図4に関連して説明した、同様の符号を付したコンポーネントと同様に、ハードファイル410上の1つ以上のハードファイル領域412−1〜412−nへのアクセスをコントロールするように構成されているのが好ましい。
【0062】
ロックモジュール502は、一実施形態において、コントローラモジュール504と共同してゼロ設定モジュール304の動作を制御する。ロックモジュール502は、ゼロ設定モジュール304によるオフセット値の変更を制限するように、ゼロ設定モジュール304をロックしてもよい。例えば、ハードファイル領域2を示す412−2上のオペレーティングシステムは、ゼロ設定モジュール304によって前に発行されたゼロ設定コマンドの下で動作してよい。この例では、新たなゼロ論理アドレス318より下の領域がアクセスから保護される。ゼロ設定モジュール304がロックモジュール502によって制限されると、新たなゼロ論理アドレス318を変更しようとする悪意のまたは不正な動作は拒否される。
【0063】
一実施形態において、ロックモジュール502は、パスワードに応じてゼロ設定モジュールのロックを解除する。ロックモジュール502は、正しいパスワードに応じて、ゼロ設定モジュール304によるゼロ設定コマンドの発行を許可する。例えば、ゼロ設定コマンドは、オフセット値とパスワードによってリクエストされてよい。ロックモジュール502は、この例では、ゼロ設定モジュール304によるゼロ設定コマンドの発行を、パスワードに応じて許可し、ゼロ設定モジュール304は、供給されたオフセット値を利用して、新たなゼロ論理アドレス314を生成するゼロ設定コマンドを発行する。
【0064】
他の実施形態では、ロックモジュール502は、ゼロ設定コマンドの発行に応答して、ゼロ設定モジュール302を自動的にロックするように構成される。例えば、ゼロ設定コマンドは、新たなゼロ論理アドレス318を設定するためにゼロ設定モジュール304によって発行されてよい。ゼロ設定コマンドの発行に応答して、ロックモジュール502はゼロ設定モジュール304をロックする。この例では、ゼロ設定コマンドの発行を示す新たなリクエストは拒否される。
【0065】
当業者であればわかるように、本発明の範囲を逸脱することなく、様々な種類および構成のロックモジュール502を用いることができる。例えば、ロックモジュール502は、コントローラモジュール504から分離されていてもよい。他の実施形態では、ロックモジュール502は、コントローラモジュール504に組み込まれていてよい。さらに他の実施形態では、ロックモジュール502はゼロ設定モジュール304に組み込まれていてよい。さらに他の実施形態では、ロックモジュール502は、ハードファイル410の構成要素であってよい。
【0066】
図6は、BIOS604によってアクセスされるジオメトリテーブル402を用いてハードディスクドライブ608の1つ以上の領域を保護する本発明にかかる一実施形態の装置600を示している。装置600は、コントローラモジュール602とBIOS604を含んでいる。装置600は、ハードディスクドライブ608のある領域について新たなゼロ論理アドレスおよび新たな上限論理アドレスを設定することによってハードディスクドライブ608の1つ以上の領域を保護する。
【0067】
コントローラモジュール602は、一実施形態において、ハードディスクドライブ608へのアクセスをコントロールする。コントローラモジュール602は、最大設定モジュール302およびゼロ設定モジュール304を含んでいてよい。最大設定モジュール302とゼロ設定モジュール304は、図3に関連して説明した、同様の符号を付したコンポーネントと同様に構成されているのが好ましい。
【0068】
BIOS604は、一実施形態において、コンピュータを、オペレーティングシステムのような他のソフトウェアが当該コンピュータのハードウェアにアクセスする状態にするように構成されたソフトウェアコードである。BIOS604は、不揮発性BIOSメモリ(永久記憶部)606を含んでいてよい。BIOS604は、永久記憶部606によって格納されたジオメトリテーブル402にアクセスしてよい。ジオメトリテーブル402は、図4に関連して説明した、同様の符号を付した構成要素と同様に構成さているのが好ましい。BIOS604は、コントローラモジュール602と通信してよい。
【0069】
一実施形態において、BIOS604は、永久記憶部606を読み取ることによってジオメトリテーブル402にアクセスし、ハードディスクドライブ608上のハードディスクドライブ領域についての情報を読み出す。BIOS604は、アクセス用のハードディスクドライブ領域を選択し、コントローラモジュール602と通信して、コントローラモジュール602に、ハードディスク608へのアクセスをハードディスクドライブ608の、選択された領域に制限するゼロ設定コマンドおよび/または最大設定コマンドを発行させる。例えば、BIOS604は、永久記憶部606を読み取ることによってジオメトリテーブル402にアクセスして、ハードディスクドライブ608上のハードディスクドライブ領域についてのオフセット値および新たな上限論理アドレスを決めてよい。BIOS604は、このオフセット値と新たな上限論理アドレスを用いて、コントローラモジュール602に、ゼロ設定コマンドと最大アドレス設定コマンドをハードディスクドライブ608へ送らせてもよい。ハードディスクドライブ608に送られたコマンドに応じて、ハードディスクドライブ608へのアクセスが、選択されたハードディスク領域に制限される。
【0070】
当業者であればわかるように、本発明の範囲を逸脱することなく、様々な構成のBIOS604がインストールされてよい。例えば、BIOS604は、BIOS604とは別に格納されたジオメトリテーブル402にアクセスしてもよい。一実施形態において、ジオメトリテーブル402はコントローラモジュール602と共に格納されていてよい。他の実施形態では、ジオメトリテーブル402はハードディスクドライブ608上に格納されていてよい。
【0071】
図7は、ハードディスク702上に格納されたジオメトリテーブル402を用いてハードディスクドライブ702の、1つ以上の領域を保護するように構成された本発明にかかる一実施形態のハードディスクドライブ702を示している。ハードディスクドライブ702は、ジオメトリテーブル402、ブートローダ704、最大設定モジュール302、およびゼロ設定モジュール304を備えることができる。ジオメトリテーブル402は、図4に関連して説明した、同様の符号を付した構成要素と同様に構成されているのが好ましい。最大設定モジュール302およびゼロ設定モジュール304は、図3に関連して説明した、同様の符号を付した構成要素と同様に構成されているのが好ましい。ハードディスクドライブ702は、ハードディスクドライブ702の、1つ以上の領域へのアクセスを選択的に防止する。
【0072】
ブートローダ704は、一実施形態において、コンピュータに、次のブートローダまたはオペレーティングシステムのような他のプログラムを実行させるように構成され、ハードディスク702上に格納されたソフトウェアコードである。ブートローダ704は、ジオメトリテーブル402にアクセスして、ハードディスクドライブ702上のハードディスクドライブ領域に関する情報を読み出す。ブートローダ704は、図4に関連して説明したように、アクセス用のハードディスクドライブ領域を選択し、最大設定モジュール302およびゼロ設定モジュール304と通信して、ハードディスクドライブ702へのアクセスを制限してよい。例えば、ブートローダ704は、ユーザに、ハードディスクドライブ702上に格納された複数のオペレーティングシステムの中から1つを選択させてもよい。選択に応じて、ブートローダ704は、ジオメトリテーブル402にアクセスして、選択されたオペレーティングシステムによって用いられるハードディスクドライブ領域を判定する。ブートローダ704は、さらに、最大設定モジュール302およびゼロ設定モジュール304に、最大設定コマンドおよびゼロ設定コマンドをそれぞれ発行させて、選択された領域へのアクセスを許可し、ハードディスクドライブ702の、残りの領域をアクセスから保護してもよい。加えて、ブートローダ704は、選択されたオペレーティングシステムを始動させてもよい。他の実施形態において、オペレーティングシステムの選択には、正しいパスワードの入力が求められる。
【0073】
一実施形態において、ブートローダ704は、ハードディスクドライブ702上に位置するゼロ設定モジュール304と通信する。当業者であればわかるように、本発明の範囲を逸脱することなく、様々な種類および構成のブートローダ704およびゼロ設定モジュール304が用いられてよい。例えば、一実施形態において、ブートローダ704は、ハードディスクドライブ702から分離されたゼロ設定モジュール304と通信してもよい。他の実施形態では、ブートローダ704は、コントローラモジュールに組み込まれたゼロ設定モジュール304と通信してもよい。
【0074】
以下に説明する模式的なフローチャートは論理フローチャートを概略的に示したものであり、そこに示されている順番および記載されているステップは、本発明にかかる方法の一実施形態を示す。例示する方法のステップ、またはその一部と機能、理論、または効果において等価な他のステップおよび方法を構想してもよい。また、そこで用いられているフォーマットおよび記号は、論理ステップを説明するためのものであり、本発明の範囲を制限するものではないと理解されたい。フローチャートにおいて様々な種類の矢印および線を用いている場合があるが、それらは、対応する方法の範囲を制限しないものと理解されたい。もちろん、幾つかの矢印または他のコネクタを、方法の理論的な流れのみを示すのに用いている場合もある。例えば、矢印は、記載する方法の、列挙された複数のステップ間の不特定の長さの待機期間または監視期間を示している場合がある。さらに、特定の方法が実行される順番は、図示の、対応するステップの順番に完全に忠実である場合もあれば、そうでない場合もある。
【0075】
図8は、ハードファイルの1つ以上の領域を保護する一実施形態の方法800の様々なステップを示す模式的なフローチャートである。方法800は、ある実施形態において、図2〜7のシステムおよび装置を用いる方法であり、それらの図を参照して説明される。それでもなお、方法800は、それ自体で独立しても実施可能であり、図2〜7に関連して上述した実施形態に特別に制限することを意図しているものではない。
【0076】
図8に示すように、方法800では、ハードファイル上の複数の領域のうちの1つの選択を受け付ける(802)。この選択は、どのハードファイル領域をアクセス可能にすべきかを示している。ハードファイルは、ハードディスクドライブ、フラッシュメモリ、光ディスクなどのような、デジタル符号が施された任意の不揮発性記憶装置からなっていてもよい。ハードファイル上の各領域は、ハードファイル上の論理アドレスの各グループによって規定されてよい。ハードファイル上の複数の領域は、ある実施形態において、複数のオペレーティングシステムを含んでいる。例えば、ハードファイルは、複数のディスクドライブ領域を有し、各ディスクドライブ領域にオペレーティングシステムが含まれているハードディスクドライブであってよい。
【0077】
次に、方法800では、ジオメトリテーブル402へのアクセスを行う(804)。ジオメトリテーブル402へのアクセス(804)は、一実施形態では、永久記憶メモリの読み取りを含んでいてよい。他の実施形態では、ジオメトリテーブル402へのアクセス(804)は、ハードファイル上に格納されたデータの読み込みを含んでいてよい。ジオメトリテーブル402は、ハードファイルの複数の領域に関係する論理アドレスに関する情報を有している。例えば、ジオメトリテーブル402は、ハードファイルの各領域についてのオフセットアドレスを含んでいてよい。この例では、ジオメトリテーブル402へのアクセス(804)は、ハードファイルの、選択された領域についてのオフセット値の読み出しを含んでいてよい。
【0078】
次に、方法800では、論理アドレスへのリクエストにオフセット値が追加される(806)。論理アドレスへのリクエストにオフセット値を追加することによって(806)、ハードファイルの固有アドレス方式での、オフセット値より下の論理アドレスはアクセスできなくなる。オフセット値は、ジオメトリテーブル402へのアクセス804によって得られ、ハードファイルの、選択された領域についての新たなゼロ論理アドレスを規定する。例えば、論理アドレスゼロへのリクエストは、そのリクエストにオフセット値を追加し(806)、方法800では、ハードファイルの固有アドレス方式での、オフセット値に等しい論理アドレスへのアクセスを行う。一実施形態において、論理アドレスへのリクエストへのオフセット値の追加(806)は、ゼロ設定コマンドを用いることによって行う。
【0079】
次に、方法800では、最大論理アドレスより上の論理アドレスへのアクセスを拒否する(808)。一実施形態において、論理アドレスへのアクセスの拒否(808)は、新たな最大論理アドレスより上のアドレスをアクセス不可能にする最大設定コマンドを用いることによって行う。
【0080】
本発明は、その精神、すなわち不可欠な特性から逸脱することなく、他の具体的な形態で実現してもよい。記載した実施形態は、あらゆる点で、例示であって制限を伴うものではないと考えられるべきものである。したがって、本発明の範囲は、上述した説明によってではなく添付の特許請求項によって示される。特許請求項と同等の意図および範囲内の全ての変更は、特許請求項の範囲内に含まれる。
【図面の簡単な説明】
【0081】
【図1】ホスト保護領域を有するハードディスクドライブの一例を示す模式的なブロック図である。
【図2】ハードディスクドライブの1つ以上の領域を保護するための、本発明にかかる一実施形態のシステムを示す模式的なブロック図である。
【図3】ハードディスクドライブの1つ以上の領域を保護するための、本発明にかかる一実施形態の装置を示す模式的なブロック図である。
【図4】ハードファイルの1つ以上の領域を保護するための、本発明にかかる一実施形態のジオメトリテーブルを示す模式的なブロック図である。
【図5】ハードファイルの1つ以上の領域を保護するための、本発明にかかる一実施形態のロックモジュールを示す模式的なブロック図である。
【図6】BIOSによってアクセスされるジオメトリテーブルを用いてハードディスクドライブの1つ以上の領域を保護するための、本発明にかかる一実施形態の装置を示す模式的なブロック図である。
【図7】ハードディスクドライブ上に格納されたジオメトリテーブルを用いてハードディスクドライブの1つ以上の領域を保護するように構成された、本発明にかかる一実施形態のハードディスクドライブを示す模式的なブロック図である。
【図8】ハードファイルの1つ以上の領域を保護するための、本発明にかかる一実施形態の方法を示す模式的なフローチャートである。
【符号の説明】
【0082】
100,210,306,608,702 ハードディスクドライブ
102,308 ホスト保護領域
104 下位領域
106 ゼロ論理アドレス
108,314 上限論理アドレス
110,316 新たな上限論理アドレス
200 システム
202 マザーボード
204,504,602 コントローラモジュール
206,302 最大設定モジュール
208,304 ゼロ設定モジュール
300 装置
310 アクセス可能領域
312 下位保護領域
318 新たなゼロ論理アドレス
402 ジオメトリテーブル
404 領域
406 オフセット値
408 最大アドレス
412−1〜n ハードファイル領域
502 ロックモジュール
604 BIOS
606 永久記憶部
704 ブートローダ
800 方法

【特許請求の範囲】
【請求項1】
論理アドレスに対するリクエストに応じてハードファイルにアクセスするように構成されたコントローラモジュールと、
前記ハードファイル上の論理アドレスに対する各リクエストにオフセット値を追加するように構成されたゼロ設定モジュールと、
前記ハードファイル上の、アクセス可能な最大論理アドレスを設定するように構成された最大設定モジュールと、
を有する、ハードファイルへのアクセスを一定の論理アドレス範囲に制限する装置。
【請求項2】
前記オフセット値が、複数のハードファイル領域のうちから選択された1つのハードファイル領域の論理アドレス範囲が上位であるほど該オフセット値が大きくなるように決められる、請求項1に記載の装置。
【請求項3】
前記ハードファイル上の複数のハードファイル領域がジオメトリテーブルに規定されており、該ジオメトリテーブルは、
前記複数のハードファイル領域のうちの1つの領域の最下位論理アドレスにそれぞれ対応する複数のオフセット値と、
前記複数のハードファイル領域のうちの1つの領域の最上位論理アドレスにそれぞれ対応する複数の最大論理アドレスと、
を有する、
請求項1に記載の装置。
【請求項4】
前記最大設定モジュールは、前記ハードファイルの固有論理アドレス方式に対して相対的に前記最大論理アドレスを設定する、請求項1に記載の装置。
【請求項5】
前記最大設定モジュールは、前記オフセット値に対して相対的に前記最大論理アドレスを設定する、請求項1に記載の装置。
【請求項6】
前記ゼロ設定モジュールによる前記オフセット値の変更を禁止するように前記ゼロ設定モジュールをロックし、
前記ゼロ設定モジュールによる前記オフセット値の変更を許可するように前記ゼロ設定モジュールのロックを解除する、
ように構成されたロックモジュールをさらに有する、請求項1に記載の装置。
【請求項7】
前記ロックモジュールは、さらに、パスワードに応じて前記ゼロ設定モジュールのロックを解除するように構成されている、請求項6に記載の装置。
【請求項8】
前記ロックモジュールは、さらに、ゼロ設定コマンドに応答して前記ゼロ設定モジュールをロックするように構成されている、請求項6に記載の装置。
【請求項9】
マルチオペレーティングシステム環境下でハードディスクのデータを保護するシステムであって、
ハードディスクドライブ上の論理アドレスに存在するデータをリクエストするように構成されたマザーボードと、
前記ハードディスクドライブをコントロールするように構成されたコントローラモジュールと、
論理アドレスにデータを格納するように構成された前記ハードディスクドライブと、
を備え、
前記コントローラモジュールは、
前記ハードディスクドライブ上の論理アドレスへの各リクエストにオフセット値を追加するように構成されたゼロ設定モジュールと、
前記ハードディスクドライブ上の、アクセス可能な最大論理アドレスを設定するように構成された最大設定モジュールと、
を有する、システム。
【請求項10】
前記ゼロ設定モジュールは、前記マザーボードに組み込まれたコントローラモジュールの構成要素である、請求項9に記載のシステム。
【請求項11】
前記ゼロ設定モジュールは、スタンドアロン型のコントローラモジュールの構成要素である、請求項9に記載のシステム。
【請求項12】
前記ゼロ設定モジュールは、前記ハードディスクドライブの構成要素である、請求項9に記載のシステム。
【請求項13】
前記オフセット値は、対応する複数のハードディスクドライブ領域を占有する複数のオペレーティングシステムの中から選択された1つのオペレーティングシステムに対応する領域が占有する論理アドレス範囲が上位であるほど、前記オフセット値が大きくなるように決められる、請求項9に記載のシステム。
【請求項14】
前記複数のオペレーティングシステムのうちの1つの選択は、パスワードによって制限される、請求項13に記載のシステム。
【請求項15】
前記ハードディスクドライブ上の複数のハードディスクドライブ領域がジオメトリテーブルに規定されており、該ジオメトリテーブルは、
前記複数のハードディスクドライブ領域のうちの1つの領域の最下位論理アドレスにそれぞれ対応する複数の前記オフセット値と、
前記複数のハードディスクドライブ領域のうちの1つの領域の最上位論理アドレスにそれぞれ対応する複数の前記最大論理アドレスと、
を有する、請求項9に記載のシステム。
【請求項16】
前記ジオメトリテーブルは、前記コントローラモジュールと通信するBIOS(Basi Input/Output System)と共に格納されている、請求項15に記載のシステム。
【請求項17】
前記ジオメトリテーブルは、前記ハードディスクドライブ上に格納されている、請求項15に記載のシステム。
【請求項18】
ハードファイルへのアクセスを一定の論理アドレス範囲に制限するようにプログラムされた、コンピュータが利用可能なプログラムコードを有する、コンピュータが読み取り可能な媒体を有するコンピュータプログラムプロダクトであって、
該コンピュータプログラムプロダクトの動作は、
前記ハードファイル上の複数のハードファイル領域の1つの選択を受け付けることと、
前記複数のハードファイル領域の1つの最下位論理アドレスにそれぞれ対応する複数のオフセット値と、前記複数のハードファイル領域の1つの最上位論理アドレスにそれぞれ対応する複数の最大論理アドレスと、を有するジオメトリテーブルにアクセスすることと、
前記ハードファイル上の論理アドレスに対する各リクエストに前記オフセット値を追加することと、
前記最大論理アドレスよりも上の論理アドレスへのアクセスを拒否することと、
を含む、コンピュータプログラムプロダクト。
【請求項19】
前記ジオメトリテーブルへのアクセスは、BIOS(Basi Input/Output System)による不揮発性BIOSメモリの読み取りを含む、請求項18に記載のコンピュータプログラムプロダクト。
【請求項20】
前記ジオメトリテーブルへのアクセスは、ブートローダによる前記ハードファイル上に格納されたデータの読み取りを含む、請求項18に記載のコンピュータプログラムプロダクト。
【請求項21】
ハードディスクドライブへのアクセスを一定の論理アドレス範囲に制限する方法であって、
前記ハードディスクドライブ上の複数のハードディスクドライブ領域の1つの選択を受け付けることと、
前記複数のハードディスクドライブ領域のうちの1つの領域の最下位論理アドレスにそれぞれ対応する複数のオフセット値と、前記複数のハードディスクドライブ領域のうちの1つの領域の最上位論理アドレスにそれぞれ対応する複数の最大論理アドレスと、を有するジオメトリテーブルにアクセスすることと、
前記ハードディスクドライブ上の論理アドレスへの各リクエストに前記オフセット値を追加することと、
前記最大論理アドレスよりも上の論理アドレスへのアクセスを拒否することと、
を含む、方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−146642(P2008−146642A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2007−294182(P2007−294182)
【出願日】平成19年11月13日(2007.11.13)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(505205731)レノボ・シンガポール・プライベート・リミテッド (292)
【復代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
【Fターム(参考)】