(57)【要約】  記憶装置の管理プログラムは、記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とから、領域の選択を受け付けるステップと、選択された領域に基づいて、記憶装置の制御部がアクセスする、記憶部における物理的な位置の基準を変更する領域変更ステップとをコンピュータに実行させる。
2014091629.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とから、領域の選択を受け付けるステップと、
選択された領域に基づいて、前記記憶装置の制御部がアクセスする、前記記憶部における物理的な位置の基準を変更する領域変更ステップと、
をコンピュータに実行させる、記憶装置の管理プログラム。
【請求項２】
前記領域変更ステップにおいて、前記制御部が前記記憶部にアクセスする際に当該記憶部における物理的な位置をシフトさせる大きさ、及び前記制御部がアクセス可能な前記記憶部の容量を変更する
請求項１に記載の記憶装置の管理プログラム。
【請求項３】
前記第１のディスクフォーマットと前記第２のディスクフォーマットとは、パーティションを管理する方式が異なる
請求項１又は２に記載の記憶装置の管理プログラム。
【請求項４】
記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とから、領域の選択を受け付けるブート処理部と、
選択された領域に基づいて、前記記憶装置の制御部がアクセスする、前記記憶部における物理的な位置の基準を変更する領域書換部と、
を有する電子装置。
【請求項５】
前記領域書換部が、前記制御部が前記記憶部にアクセスする際に当該記憶部における物理的な位置をシフトさせる大きさ、及び前記制御部がアクセス可能な前記記憶部の容量を変更する
請求項４に記載の電子装置。
【請求項６】
前記第１のディスクフォーマットと前記第２のディスクフォーマットとは、パーティションを管理する方式が異なる
請求項４又は５に記載の電子装置。
【請求項７】
異なるオペレーティングシステムを前記第１の領域と前記第２の領域とに格納した前記記憶装置を含む
請求項４ないし６のいずれか１項に記載の電子装置。
【請求項８】
記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とから、領域の選択を受け付けるステップと、
選択された領域に基づいて、前記記憶装置の制御部がアクセスする、前記記憶部における物理的な位置の基準を変更する領域変更ステップと、
を含む記憶装置の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置の管理プログラム、電子装置及び記憶装置の管理方法に関する。
【背景技術】
【０００２】
ユーザが、１つの記憶装置（例えば、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive））を、論理的な領域であるパーティションに分割し、仮想的な複数の記憶装置として利用できるようにする技術が存在する。また、ユーザが、複数のパーティションの各々に異なるオペレーティングシステム（ＯＳ：Operating System，基本ソフト）をインストールしておき、起動するＯＳを選択できるようにする技術も存在する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１０８５６８号公報
【特許文献２】特開２０００−１８１６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＨＤＤのパーティションを管理する方式（換言すれば、ＨＤＤのディスクフォーマット）には、複数の規格がある。しかし、従来の手法では、コンピュータは、同一のＨＤＤにおいて異なるディスクフォーマットが適用された領域を併用、例えば、切り替えて利用することができないという問題があった。【０００５】
そこで、開示の技術は、同一の記憶装置において、異なるディスクフォーマットが適用された領域を切り替えて利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
開示の技術の一側面は、記憶装置の管理プログラムである。記憶装置の管理プログラムは、記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とのうち、使用する領域の選択を受け付けるステップと、選択された領域に基づいて、記憶装置の制御部がアクセスする、記憶部における物理的な位置の基準を変更する領域変更ステップとをコンピュータに実行させる。
【発明の効果】
【０００７】
開示の技術によれば、同一の記憶装置において、異なるディスクフォーマットが適用された領域を切り替えて利用できるようなる。
【図面の簡単な説明】
【０００８】
【図１】図１は、ＭＢＲ方式を採用したコンピュータのディスク構成の一例を表す模式図である。
【図２】図２は、ＧＰＴ方式を採用したコンピュータのディスク構成の一例を表す模式図である。
【図３】図３は、実施の形態によるディスク構成の一例を表す模式図である。
【図４】図４は、実施の形態に係る電子装置のハードウェア構成の一例を示す図である。
【図５】図５は、ＨＤＤの機能ブロック図の一例である。
【図６】図６は、フラッシュＲＯＭの機能ブロック図の一例である。
【図７】図７は、ディスク割り当て処理に係るメニュー画面の一例を示す図である。
【図８】図８は、起動処理の処理フローの一例を示す図である。
【図９】図９は、ブートメニューの一例を示す図である。
【図１０Ａ】図１０Ａは、ＨＤＤ全体を示す模式的な図である。
【図１０Ｂ】図１０Ｂは、ファームウェアが書き換えられたＨＤＤを説明するための図である。
【図１０Ｃ】図１０Ｃは、ファームウェアが書き換えられたＨＤＤを説明するための図である。
【図１１】図１１は、起動処理の処理フローの一例を示す図である。
【図１２】図１２は、ブートメニューの一例を示す図である。
【図１３】図１３は、起動処理の処理フローの一例を示す図である。
【図１４】図１４は、通常のディスクアクセス処理の一例を示す図である。
【図１５】図１５は、実施の形態に係るディスクアクセス処理の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、一実施形態に係る電子装置について説明する。以下の実施形態の構成は例示であり、本電子装置は実施形態の構成には限定されない。
【００１０】
［従来のパーティション管理方式］
ＨＤＤのパーティションを管理する方式には、例えば、マスタブートレコード（ＭＢＲ：Master Boot Record）を利用する方式（以下、ＭＢＲ方式と呼ぶ）や、ＧＵＩＤパーティションテーブル（ＧＰＴ：GUID（Globally Unique Identifier） Partition Table）を利用する方式（以下、ＧＰＴ方式と呼ぶ）等がある。そして、パーティション管理方式が異なれば、ＨＤＤの形式（ディスクフォーマット）も異なる。  
【００１１】
図１は、ＭＢＲ方式を採用したコンピュータのディスク構成の一例を表す模式図である。図１の模式図では、左側から右側に向かって、ＣＨＳ方式のシリンダ、ヘッド及びセクタに振られた通し番号又はＬＢＡ（Logical Block Addressing）方式のセクタに振られた通し番号が増加していくものとする。図１のディスク構成は、ＭＢＲ、パーティションテーブル、ＯＳの回復環境、システムによる予約済み領域、ＯＳがインストールされたシステムドライブ、データ用にパーティション分割されたワークドライブを含んでいる。なお、パーティションテーブルは、ＭＢＲに含まれる場合もある。また、ＨＤＤは、ＯＳの回復環境やワークドライブ等、上記構成要素の一部を含まない場合もある。また、ＨＤＤは、システムドライブやワークドライブのような基本領域を３つ以上含む場合もあり、基本領域の中に拡張領域を含む場合もある。
【００１２】
ディスクの先頭に存在するＭＢＲは、ＢＩＯＳ（Basic Input/Output System）又はＵＥＦＩ（Unified Extensible Firmware Interface）がコンピュータの起動後に読み込むブート用のプログラム（例えば、ＩＰＬ（Initial Program Load）、ブートローダ、ブートストラップローダとも呼ばれる。以下、ブートプログラムとも呼ぶ）を含む。また、ＭＢＲは、ＨＤＤの論理的な区画を表す情報を保持するパーティションテーブル、及びディスクのシグネチャを含む。また、パーティションテーブルは、そのパーティションから起動させるか否かを示す起動フラグ（アクティブフラグ）、ＣＨＳ（Cylinder Head Sector）方式におけるパーティションの開始位置及び終了位置、ＬＢＡ方式におけるパーティションの開始セクタ番号及びパーティションの容量等の情報を含む。そして、ブートプログラムは、パーティションテーブルにおいて起動フラグがアクティブを示すパーティションのブートセクタをメモリにロードし、制御を渡す。その後、チェインロード、カーネルロード等によりＯＳが起動される。すなわち、該当するパーティションのブートセクタに存在するプログラムがＯＳ起動プログラムをメモリにロードし、ＯＳ起動プログラムが当該パーティションにインストールされたＯＳを起動させる。
【００１３】
図２に、ＧＰＴ方式を採用したコンピュータのディスク構成の一例を示す。図２に示す模式図においても、左側から右側に向かって、ＣＨＳ方式のシリンダ、ヘッド及びセクタに振られた通し番号、又はＬＢＡ方式のセクタに振られた通し番号が増加していく。そして、図２のディスク構成は、ＭＢＲ、第１ＧＰＴエントリ、ＯＳの回復環境、システムによる予約済み領域、ＯＳがインストールされたシステムドライブ、データ用にパーティション分割されたワークドライブ、第二ＧＰＴエントリを含んでいる。なお、ＨＤＤは、ＯＳの回復環境やワークドライブ等、上記構成要素の一部を含まない場合もある。また、システムドライブ又はワークドライブは、２つ以上含まれる場合もある。
【００１４】
ディスクの先頭に存在するＭＢＲは、当該ディスクがＧＰＴ方式でフォーマットされていることを示す情報を含む。この情報を、ＭＢＲを前提としたディスクユーティリティが読み取ることで、例えばディスクユーティリティが当該ディスクを未使用であると判断してしまうような事態が防止される。また、ＨＤＤは、ＭＢＲの後に、第一ＧＰＴエントリと呼ばれる区画構成情報を有する。ＧＰＴエントリは、各パーティションを表すＧＵＩＤ（Globally Unique Identifier）を保持している。また、ＧＰＴエントリはディスク内に２つ存在する。第二ＧＰＴエントリはバックアップのために存在し、コンピュータは２つのＧＰＴエントリに不整合を発見すると、第二ＧＰＴエントリの内容を第一ＧＰＴエントリにコピーする。ＧＰＴ方式の場合は、例えば、ＵＥＦＩがＮＶＲＡＭ（Non Volatile RAM）に保持されているブートメニューを表示し、システムパーティションのＯＳ起動プログラムが、選択されたパーティションにインストールされているＯＳを起動させる。
【００１５】
［ＯＳによるサポート］
ＯＳの仕様上、異なるＯＳ（又は同一のＯＳの異なるバージョン）ではサポートしているパーティション管理方式も相違する場合がある。例えば、Ｗｉｎｄｏｗｓ（登録商標）では、６４ビット版（ｘ６４版）のうち特定のバージョン以降は、ＥＦＩ（Extensible Firmware Interface）を利用してＧＰＴ方式のＨＤＤからの起動が可能である。しかし、Ｗｉｎｄｏｗｓの３２ビット版（ｘ８６版）の場合は、一部のバージョンでＧＰＴ方式のパーティションへのアクセスが可能であるが、ＧＰＴ方式のＨＤＤからの起動はできない。また、ＵＮＩＸ（登録商標）系のＯＳの場合は、ＥＦＩだけでなくＢＩＯＳを利用してＧＰＴ方式のＨＤＤからの起動が可能なバージョンも存在する。
【００１６】
また、上でも説明したように、ＧＰＴ方式はいわゆる後方互換のためにＭＢＲを有している。これは、例えば、コンピュータがＧＰＴ方式によるデータの存在を認識できずに、ＨＤＤが未使用であると判断され、内容が消去されてしまうような事故を防ぐためのものである。そして、ＭＢＲは、ＧＰＴ方式では起動時に使用されない。すなわち、ＭＢＲ方式とＧＰＴ方式を１つのＨＤＤに混在させることを目的としたものではなく、規格上、従来のブート手法では、ＨＤＤ全体が、いずれかのパーティション管理方式に基づくディスクフォーマットであることを前提としている。したがって、例えば、一方のパーティション管理方式しかサポートしていないＯＳと他方のパーティション管理方式しかサポートしていないＯＳとでデュアルブートシステムを構築する場合、物理的に異なるＨＤＤを用いて実現することは可能でも、１つのＨＤＤに複数の領域を設けて実現することはできない。
【００１７】
［ＭＢＲのサイズに基づくＨＤＤ容量の制限］
パーティション管理方式には、パーティションテーブルのサイズに起因して、管理することができる記憶容量の上限に差異がある。例えば、２ビットのＬＢＡを用いる場合、ＭＢＲで管理できるセクタ数は３２32である。例えば一般的なＰＣ／ＡＴ互換機のようにセクタ長が５１２バイトであれば、管理できる容量の上限は約２．２（５１２＊２32）ＴＢ（Terabyte）になる。よって、物理的には２．２ＴＢを超える容量を有するＨＤＤを用いる場合であっても、ＭＢＲ方式のディスクフォーマットを採用すると、使用できる容量が２．２ＴＢ以下に制限される。このような容量の壁の問題は、ＭＢＲ方式に限らず存在する。
【００１８】
［本実施の形態による領域管理方式］
図３に、本実施の形態によるディスク構成の一例を示す。図３でも、左端がディスクの先頭を表し、右側に向かって、ＣＨＳ方式のシリンダ、ヘッド及びセクタに振られた通し番号、又はＬＢＡ方式のセクタに振られた通し番号が増加していくものとする。そして、図３のディスク構成は、第１の領域と第２の領域とを含む。すなわち、図３のディスク構成は、図１に示したＭＢＲ方式のディスク構成と、図２に示したＧＰＴ方式のディスク構成とを含む。よって、第１の領域と第２の領域とは、パーティション管理方式及びディスクフォーマットが異なっている。
【００１９】
具体的には、図３のディスク構成は、ＭＢＲ方式の領域と、ＧＰＴ方式の領域とを含む。ＭＢＲ方式の領域は、ＭＢＲ、パーティションテーブル、ＯＳの回復環境、システムによる予約済み領域、ＯＳがインストールされたシステムドライブ、及びデータ用にパーティション分割されたワークドライブを含む。ＧＰＴ方式の領域は、ＭＢＲ、第１ＧＰＴエントリ、ＯＳの回復環境、システムによる予約済み領域、ＯＳがインストールされたシステムドライブ、データ用にパーティション分割されたワークドライブ、及び第二ＧＰＴエントリを含む。なお、パーティションテーブルは、ＭＢＲに含まれる場合もある。また、図３の例では、便宜上、ＭＢＲ方式の領域とＧＰＴ方式の領域との境界を破線で表している。また、ＨＤＤは、ＯＳの回復環境やワークドライブ等、一部の構成要素を含まない場合もある。また、システムドライブ又はワークドライブは、２つ以上含まれる場合もある。
【００２０】
本実施の形態では、図３に示したＭＢＲ方式の領域とＧＰＴ方式の領域とが、仮想的な２つのディスク（以下、仮想ディスクとも呼ぶ）としてコンピュータの起動後に切り替えられる。そして、本実施の形態では、ＢＩＯＳ、ＵＥＦＩ等といった、コンピュータのブート用のファームウェアが、ＨＤＤが有するファームウェアを書き換える。ＨＤＤのファームウェアを書き換えることで、コンピュータは、ＭＢＲ方式の領域及びＧＰＴ方式の領域（以下、仮想ディスクとも呼ぶ）のいずれかを認識できるようになる。すなわち、コンピュータは、同一の記憶装置に含まれる、異なるディスクフォーマットが適用された領域を切り替えることができるようになる。
【００２１】
よって、例えば、コンピュータは、１つのＨＤＤにＭＢＲ方式をサポートするＯＳとＧＰＴ方式をサポートするＯＳとを格納し、マルチブートを実現することができるようになる。また、コンピュータは、２．２ＴＢを超える容量のＨＤＤのうち、２．２ＴＢ以下をＭＢＲ方式の領域に割り当て、残りを他の方式による領域に割り当てるようにしてもよい。コンピュータは、２．２ＴＢを超える容量のＨＤＤとＭＢＲ方式との両者を利用したい場合であっても、ＨＤＤの容量を無駄なく利用することができる。以下、具体的なハードウェアの構成及び実行される処理の詳細を説明する。
【００２２】
［本実施の形態のハードウェア構成］
図４に、本実施の形態に係るコンピュータ（電子装置とも呼ぶ）のハードウェア構成の一例を示す。図４のコンピュータ１は、一般的なＰＣ（Personal Computer）であり、ＣＰＵ１１と、ノースブリッジ（Chipset(North Bridge)）１２と、グラフィックボードスロット（Graphic）１３と、メモリスロット（Memory）１４と、サウスブリッジ（Chipset(South Bridge)）１５と、ＨＤＤ１６と、フラッシュＲＯＭ（Flash ROM）１７と、ユーザＩ／Ｆ（Interface）１８と、ＮＶＲＡＭ１９と、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）２０とを含む。そして、ノースブリッジ１２は、ＣＰＵ１１、グラフィックボードスロット１３、メモリスロット１４及びサウスブリッジ１５とバスで接続されている。また、サウスブリッジ１５は、ノースブリッジ１２、ＨＤＤ１６、フラッシュＲＯＭ１７、ユーザＩ／Ｆ１８、ＮＶＲＡＭ１９、及びＣＭＯＳ２０とバスで接続されている。
【００２３】
ＣＰＵ１１は、チップセットを介してコンピュータ１が有するハードウェアの各々と接続され、ＢＩＯＳやＵＥＦＩ、ＯＳを稼働させる処理等を行う。ノースブリッジ１２は、ＣＰＵ１１、グラフィックボードスロット１３に接続されるグラフィックボード、メモリスロット１４に接続されるメモリ等を制御する。グラフィックボードスロット１３は、グラフィックボードを介してディスプレイ等に映像を出力する。メモリ１４は、例えばＣＰＵ１１が処理するデータを一時的に保持する。
【００２４】
また、サウスブリッジ１５は、ＨＤＤ１６、フラッシュＲＯＭ１７、ユーザＩ／Ｆ１８、ＮＶＲＡＭ１９、及びＣＭＯＳ２０を制御する。ＨＤＤ１６は、一般的な補助記憶装置であり、データを記憶するディスク（プラッタとも呼ぶ）、ディスクにデータを読み書きする磁気ヘッド、ＨＤＤの動作を制御するファームウェアを記憶したＨＤＤコントローラ等を有する。フラッシュＲＯＭ１７は、本実施の形態におけるＨＤＤのファームウェアを書き換える処理等を行うＢＩＯＳ又はＵＥＦＩを記憶している。ＢＩＯＳ又はＵＥＦＩは、コンピュータの起動後、ＣＰＵ１１によって読み出される。ユーザＩ／Ｆ１８は、キーボードやマウス等と接続されるポートであり、ユーザの操作を受け付ける。ＮＶＲＡＭ１９は、ＵＥＦＩのブートメニュー等を保持する不揮発性のＲＡＭである。ＣＭＯＳ２０は、ＢＩＯＳやＵＥＦＩから読み書き可能な記憶領域であり、ハードウェアの設定情報を保持する。本実施の形態では、ＣＭＯＳ２０は、仮想ディスクの設定データや、ＨＤＤのファームウェアを書き換えるために用いる情報も保持する。
【００２５】
以上のようなハードウェア構成は一例であり、サウスブリッジ１５が、ＰＣＩスロット、光学ドライブ装置、又はＵＳＢポート、ＬＡＮポート、サウンドポート等とさらに接続されるようにしてもよい。また、ＣＰＵ１１又はチップセットがグラフィックコントローラの役割を兼ねるようにすることもできる。また、例えば、ノースブリッジに相当するチップセットを含まず、ＣＰＵ１１とメモリスロット１４とをバスで接続するようなハードウェア構成を採用することもできる。
【００２６】
次に、図５を用いてＨＤＤ１６の機能の詳細を説明する。図５に、ＨＤＤ１６の機能ブロック図の一例を示す。ＨＤＤ１６は、制御部１６１と記憶部１６２とを有する。制御部１６１は、例えばＨＤＤコントローラであり、ファームウェアを記憶するマイクロコントローラを含む。また、記憶部１６２は、情報を記憶するディスク（プラッタ）と、情報を読み書きする磁気ヘッダとを有する。制御部１６１は、記憶部１６２の磁気ヘッドを制御し、ディスクの情報を読み出したりディスクに情報を書き込んだりする。また、制御部１６１のファームウェアは、ＯＳやドライバソフトを介してディスクへのＩ／Ｏ要求を受け、要求に含まれるアドレス（例えば、所定の基準位置からの相対的な位置を表すオフセット）に対応する、記憶部１６２のディスク上における物理的な位置（例えば、実際のセクタ）に対するアクセスを行う。
【００２７】
次に、図６を用いてフラッシュＲＯＭ１７の詳細を説明する。図６に示すように、フラッシュＲＯＭ１７には、ＢＩＯＳ又はＵＥＦＩが保持されている。そして、ＢＩＯＳ又はＵＥＦＩは、領域書換部１７１とブート処理部１７２とを有する。領域書換部１７１は、ユーザの操作に基づいて機動する仮想ディスクの選択を受け付け、選択された仮想ディスクに応じてＨＤＤ１６の制御部１６１に記憶されているファームウェアを更新する。ブート処理部１７２は、通常のブート処理を行う。すなわち、ブート処理部１７２は、チェインロードを行う。なお、ＣＰＵ１１が、フラッシュＲＯＭ１７に保持されているファームウェアであるＢＩＯＳ又はＵＥＦＩを実行することにより、コンピュータ１を領域書換部１７１やブート処理部１７２として機能させる。
【００２８】
［領域設定処理］
次に、ユーザが仮想ディスクの領域を設定する処理を説明する。ユーザは、予め仮想ディスクの有効領域（例えば、開始位置及び容量）を設定しておく。なお、ＢＩＯＳやＵＥＦＩ等の機能として、このような設定を行う処理を用意しておけば、ユーザはＢＩＯＳ又はＵＥＦＩ等のメニューに基づいて設定処理を行うことができるようになる。
【００２９】
図７に、ディスク割り当て処理を行うＢＩＯＳ又はＵＥＦＩのメニュー画面の一例を示す。図７に示す画面には、ＨＤＤの全容量を横軸方向の長さで表す長方形と、横軸方向の双方向を示す矢印で表され、ＨＤＤを仮想ディスク１及び仮想ディスク２に分割する区切記号と、設定内容を決定する「ＯＫ」ボタンとが表示されている。ユーザは、例えばマウスで区切記号を左右に移動させ、各仮想ディスクに割り当てる領域を指定することができる。なお、例えば各仮想ディスクの容量を示す数値を入力させるようにしてもよい。また、仮想ディスクの数は３以上であってもよい。
【００３０】
図７の画面において「ＯＫ」ボタンが押下されると、ＣＰＵ１１は、ＢＩＯＳ又はＵＥＦＩが書き込み可能な領域であるＣＭＯＳ２０又はＮＶＲＡＭ１９に設定を保持させる。ＣＭＯＳ２０又はＮＶＲＡＭ１９は、例えば、各領域の開始位置及び容量を示すデータが保持される。
【００３１】
図７の例では、ＨＤＤは先頭から５００ＧＢの位置で、仮想ディスク１及び仮想ディスク２に分割されている。よって、仮想ディスク１の開始位置がＨＤＤの先頭であること、及び仮想ディスク１の容量が５００ＧＢであること、並びに仮想ディスク２の開始位置がＨＤＤの先頭から５００ＧＢの位置であること、及び仮想ディスク２の容量が１０００ＧＢであることを示す情報が保持される。さらに、ＨＤＤを特定するためのシグネチャを保持し、ＨＤＤを特定できるようにしてもよい。また、ＵＥＦＩがＮＶＲＡＭにブート時の起動メニューに表示するエントリを記録しておくようにしてもよい。当該エントリは、例えばＨＤＤのＧＰＴエントリと対応するＧＵＩＤを含むようにする。
【００３２】
より具体的には、例えば、以下のような情報が保持される。
＜仮想ディスクの設定データ例＞
Harddisk Signature:5289EC1F
VirtualDisk1 Start:0x000000000000 Size:0x007CFFFFFFFF
VirtualDisk2 Start:0x007d00000000 Size:0x00F9FFFFFFFF
【００３３】
「Harddisk Signature」は、ＨＤＤのシグネチャを表している。シグネチャにより、コンピュータは、ＨＤＤを特定することができる。なお、記憶装置が接続されているポートの番号を用いて、例えばＤＩＳＫ０，ＤＩＳＫ１・・・のようにＨＤＤを識別できるようにしてもよい。また、「VirtualDisk1」及び「VirtualDisk2」の「Start」は、仮想ディスク１及び仮想ディスク２の開始位置を表しており、「Size」は容量を表している。
【００３４】
［領域選択処理の実施例１］
次に、本実施の形態におけるコンピュータ１の起動処理について説明する。図８に、ＢＩＯＳが実行する起動処理の処理フローの一例を示す。まず、例えばユーザによってコンピュータ１の電源が投入されると、所定の処理に基づいてＢＩＯＳが起動される（図８：Ｓ１）。ここでは、既存の起動手順により、ＣＰＵ１１がＢＩＯＳを読み込む。具体的には、ＣＰＵ１１は、内部のキャッシュやレジスタ等の初期化を行い、所定のメモリアドレスを読み出し、ＢＩＯＳを読み込む。以下、ＢＩＯＳに基づいてＣＰＵ１１が行う動作の主体を、ＢＩＯＳ又は領域書換部１７１若しくはブート処理部１７２と表す。
【００３５】
そして、ＢＩＯＳのブート処理部１７２は、ハードウェアを初期化する（Ｓ２）。本ステップでは、例えばＢＩＯＳが周辺機器（グラフィック、メモリ、ユーザＩ／Ｆ、ＨＤＤ、その他のポート等）の検出、初期化及び設定を行う。具体的には、ＢＩＯＳがＰＯＳＴ（Power On Self Test）を実行し、周辺機器を使用可能にする。
【００３６】
そして、ブート処理部１７２は、グラフィックボードを介して接続されたディスプレイ等にブートメニューを表示する（Ｓ３）。なお、ブートメニューとは、システムを起動させるプログラムを格納した起動ドライブや、システムを起動させるプログラムを格納したブートメディアを読み出す装置（例えば、ＣＤ／ＤＶＤ／ＢＤドライブ等）をユーザに選択させるメニューである。
【００３７】
ここでは、ブート処理部１７２は、上で説明した領域設定処理においてＣＭＯＳ２０に保持した、仮想ディスクを示すエントリや、コンピュータ１に接続されている光学メディアドライブ等を選択肢として表示する。例えば、図９に示すようなブートメニューが表示される。図９の例では、画面に、「1.Drive0 HDD: MHZ2160BH 仮想HDD1」、「2.Drive0 HDD: MHZ2160BH 仮想HDD2」、「3.CD/DVD Drive: DVD-RAM UJ892AS」及び「4.NETWORK: GE Slot 00C8 V1363」という選択肢が表示されている。
【００３８】
その後、コンピュータ１は、ユーザＩ／Ｆを介してユーザからブートメニューの選択を受け付け、ＢＩＯＳのブート処理部１７２は、いずれの選択肢が選択されたか判断する。まず、ブート処理部１７２は、ユーザにより仮想ディスク１が選択されたか判断する（Ｓ４）。そして、仮想ディスク１が選択されたと判断された場合（Ｓ４：ＹＥＳ）、ＢＩＯＳの領域書換部１７１はＨＤＤ１６の制御部１６１を書き換える（Ｓ５）。ここでは、領域書換部１７１が、ＣＭＯＳ２０に保持されている仮想ディスクの設定データを用いて、制御部１６１に保持されているファームウェアを書き換える。
【００３９】
具体的には、ＨＤＤ１６の制御部１６１が記憶部１６２にアクセスする際の、物理的な位置の基準を変更する。すなわち、ＨＤＤ１６の制御部１６１がＩ／Ｏ要求に基づいて記憶部１６２にアクセスする際の、物理的な位置の基準を示す情報をシフトさせる。また、領域書換部１７１は、制御部１６１がアクセス可能な記憶部１６２の容量を示す情報をさらに変更するようにしてもよい。なお、ＣＭＯＳ２０に保持されている仮想ディスクの設定データとは、領域設定処理において予めユーザが設定した、仮想ディスクの開始位置及び容量を示すデータである。
【００４０】
ここで、図１０Ａ〜図１０Ｃを用いて、ＨＤＤのファームウェアを書き換え、アドレスに対応する実際の物理的なアクセス先をシフトさせる処理について説明する。図１０Ａは、仮想ディスク１及び仮想ディスク２に分割されたＨＤＤ全体を示す模式的な図である。ＨＤＤを表す長方形の外側に記載された数値は、ＨＤＤの先頭からのバイト数を表している。図１０Ａの数値は、実際の物理的なバイト数を示している。
【００４１】
図１０Ｂは、ブートメニューにおいて仮想ディスク１が選択され、ファームウェアが書き換えられたＨＤＤを説明するための図である。仮想ディスク１が選択された場合、ＨＤＤのファームウェアを書き換えることにより、ＨＤＤの開始位置を示すアドレスは、仮想ディスク１が割り当てられた領域の開始位置を示す物理的な位置と対応付けられる。図１０Ｂの例では、仮想ディスク１の開始位置を示すアドレス０ｘ０は、実際のＨＤＤ（図１０Ａ）における０ｘ０バイト目である。すなわち、仮想ディスク１が選択された場合に、物理的なアクセス先をシフトさせる大きさは０である。
【００４２】
また、ＨＤＤ全体のサイズは、仮想ディスク１のサイズに書き換えられる。図１０Ｂの例では、仮想ディスク１のサイズは０ｘ７Ｃ００００００００バイトである。以上のように、ファームウェアを書き換えることで、ＯＳは、実際のＨＤＤのうち仮想ディスク１に割り当てられた領域を、ＨＤＤの全体であると認識するようになる。
【００４３】
図１０Ｃは、仮想ディスク２が選択され、ファームウェアが書き換えられたＨＤＤを説明するための図である。仮想ディスク２が選択された場合、ＨＤＤのファームウェアを書き換えることにより、ＨＤＤの開始位置を示すアドレスは、仮想ディスク２の開始位置を示す物理的なアドレスと対応付けられる。図１０Ｃの例では、仮想ディスク２の開始位置を示すアドレス０ｘ０は、実際のＨＤＤ（図１０Ａ）における０ｘ７Ｄ００００００００バイト目である。すなわち、ＨＤＤのファームウェアを書き換えることにより、ＨＤＤの制御部１６１は、ディスクへのＩ／Ｏ要求において指定されたアドレス（オフセット）を＋０ｘ７Ｄ００００００００バイトだけシフトさせた位置にアクセスするようになる。
【００４４】
また、ＨＤＤ全体のサイズは、仮想ディスク２のサイズに書き換えられる。図１０Ｃの例では、仮想ディスク２のサイズは０ｘＦＡ００００００００バイトである。以上のように、ファームウェアを書き換えることで、ＯＳは、実際のＨＤＤのうち仮想ディスク２に割り当てられた領域を、ＨＤＤの全体であると認識するようになる。
【００４５】
図８の説明に戻り、ＢＩＯＳの領域書換部１７１がＨＤＤ１６の制御部１６１を書き換えた後、コンピュータ１はＨＤＤの再認識を行う（Ｓ６）。これにより、コンピュータ１は、仮想ディスク１をＨＤＤの全体であるものと認識する。その後、処理はＳ１０へ遷移する。
【００４６】
一方、Ｓ４において仮想ディスク１が選択されていないと判断された場合（Ｓ４：ＮＯ）、ブート処理部１７２は、ユーザによって仮想ディスク２が選択されたか判断する（Ｓ７）。そして、仮想ディスク２が選択されたと判断された場合（Ｓ７：ＹＥＳ）、領域書換部１７１はＨＤＤ１６の制御部１６１を書き換える（Ｓ８）。Ｓ８では、Ｓ５と同様の処理が行われる。なお、図１０Ｃに示したように、ファームウェアにおいて、ＨＤＤの物理的な開始位置（アドレス）及びＨＤＤのサイズが変更される。その後、コンピュータ１はＨＤＤの再認識を行う（Ｓ９）。Ｓ９の処理も、Ｓ６の処理と同様である。その後、処理はＳ１０へ遷移する。
【００４７】
Ｓ６若しくはＳ９の後、又はＳ７において仮想ディスク２が選択されていないと判断された場合（Ｓ７：ＮＯ）、コンピュータ１は通常のブートシーケンスを開始する（Ｓ１０）。ここでは、既存のブートシーケンスにより、例えば、仮想ディスク１又は仮想ディスク２にインストールされたＯＳが起動される。また、例えば、ユーザがブートメニューにおいて光学ドライブからの起動を選択した場合は、処理は「Ｓ７：ＮＯ」からの矢印を介してＳ１０に遷移し、通常のブートシーケンスに従って光学メディアからのブートが開始される。
【００４８】
［領域選択処理の実施例２］
図８では、ＢＩＯＳによる起動について説明したが、ＵＥＦＩを含む処理について、図１１〜１３を用いて説明する。図１１は、ＢＩＯＳ又はＵＥＦＩが実行する起動処理の処理フローの一例である。なお、図１１のＳ２１〜Ｓ３０の処理は、基本的に図８のＳ１〜Ｓ１０の処理と同様であるため説明を省略する。
【００４９】
ＵＥＦＩは、コンピュータ１のＮＶＲＡＭ１９に保持されているエントリ（ブートエントリとも呼ぶ）が起動メニューに表示する点で、ＢＩＯＳとは異なる。Ｓ２３では、例えば図１２に示すようなブートメニューがディスプレイ等に表示される。図１２の例では、画面に、「1.Drive0 HDD: MHZ2160BH 仮想HDD1」、「2.Drive0 HDD: MHZ2160BH 仮想HDD2」、「3.CD/DVD Drive: DVD-RAM UJ892AS」、「4.NETWORK: GE Slot 00C8 V1363」及び「5. Boot Manager」という選択肢が表示されている。
【００５０】
また、Ｓ２７において仮想ディスク２が選択されていないと判断された場合（Ｓ２７：ＮＯ）、処理は接続子Ａを介して図１３のＳ３１に遷移する。そして、ＣＰＵ１１に実行されるＵＥＦＩのブート処理部１７２は、ユーザがブートメニューにおいてＵＥＦＩのブートエントリを選択したか判断する（Ｓ３１）。ＵＥＦＩのブートエントリが選択されたと判断された場合（Ｓ３１：ＹＥＳ）、ブート処理部１７２は選択されたブートエントリに関連付けて記憶されているＧＵＩＤが、いずれかの仮想ディスクが有するＧＰＴエントリに存在するか判断する（Ｓ３２）。ここでは、ブート処理部１７２は、ＮＶＲＡＭ１９に保持されているブートエントリのうちユーザに選択されたエントリに関連付けて記憶されているＧＵＩＤを読み出し、読み出されたＧＵＩＤが、ＧＰＴ方式が採用された仮想ディスクのＧＵＩＤパーティションテーブル（例えば、図３の第１ＧＰＴエントリ）に存在するか検索する。
【００５１】
該当するＧＵＩＤが存在しないと判断された場合（Ｓ３２：ＮＯ）、処理は接続子Ｂを介して図１１のＳ２３に戻る。一方、該当するＧＵＩＤがＧＰＴエントリに存在すると判断された場合（Ｓ３２：ＹＥＳ）、ＵＥＦＩの領域書換部１７１はＨＤＤ１６の制御部１６１を書き換える（Ｓ３３）。ここでは、領域書換部１７１が、ＮＶＲＡＭ１９又はＣＭＯＳ２０に保持されている仮想ディスクの設定データを用いて、ＨＤＤ１６の制御部１６１に保持されているファームウェアを書き換える。具体的には、ＨＤＤ１６へのＩ／Ｏ要求に対して、制御部１６１が実際にアクセスする物理的な位置をシフトさせる。なお、ＮＶＲＡＭ１９又はＣＭＯＳ２０に保持されている仮想ディスクの設定データとは、領域設定処理において予めユーザが設定したデータである。
【００５２】
Ｓ３３の処理は、図１０Ａ〜図１０Ｃを用いて説明した処理と同様である。すなわち、ＵＥＦＩの領域書換部１７１は、ユーザによって選択されたブートエントリが存在するＧＰＴを特定し、当該ＧＰＴを有する仮想ディスクが選択されたものとして、Ｓ２５又はＳ２８と同様の処理を行う。その後、コンピュータ１はＨＤＤ１６の再認識を行う（Ｓ３４）。本ステップは、Ｓ１６やＳ１９等の処理と同様である。その後、処理は接続子Ｃを介して図１１に戻り、コンピュータ１は通常のブートシーケンスを開始する（Ｓ３０）。
【００５３】
なお、各仮想ディスクには予めＯＳがインストールされているものとして説明したが、ＯＳをインストールする処理についても、上記のような領域選択処理を行った後、従来の手順に従って行うことができる。
【００５４】
［ＯＳ起動後のディスクアクセス］
次に、ＯＳ上で起動するアプリケーションがＨＤＤへファイルを書き込む処理について説明する。まず、図１４に、通常のディスクアクセス処理の一例を示す。すなわち、図１４は、ＨＤＤのファームウェアを書き換えることなく使用する場合の例である。なお、ＯＳにより処理の詳細は異なる場合があるが、このような処理は既存のものである。
【００５５】
まず、アプリケーションが、ＯＳ（カーネル）へのシステムコールにより、データの書き込みを要求する（図１４：Ｓ１０１）。そして、ＯＳのシステムサービスがシステムコールを受け取ると、Ｉ／Ｏマネージャがファイルシステムドライバに、ファイル内の指定されたオフセットへのデータの書き込みを要求する（Ｓ１０２）。そして、ファイルシステムドライバは、ファイルの相対オフセットをボリュームの相対オフセットに変換する（Ｓ１０３）。また、Ｉ／Ｏマネージャはディスクドライバを呼び出し、ボリュームの相対オフセットへのデータ書き込みを要求する（Ｓ１０４）。ディスクドライバは、ボリュームの相対オフセットをディスクの相対オフセットに変換し、ＨＤＤへデータ書き込みを要求する（Ｓ１０５）。そして、ＨＤＤは、ディスクの相対オフセットを物理的な位置に変換し、磁気ヘッドを制御してプラッタ上にデータを書き込む。
【００５６】
次に、本実施の形態における領域選択処理を行った後のディスクアクセスについて、図１５を用いて説明する。図１５に示す処理のうち、アプリケーションからＯＳへのデータ書き込み要求（図１５：Ｓ２０１）、及びＯＳからＨＤＤへのデータ書き込み要求（Ｓ２０２〜Ｓ２０５）は、図１４のＳ１０１〜Ｓ１０５と同様である。そして、要求を受けたＨＤＤのファームウェアは、ユーザによって選択された仮想ディスクに応じてデータ書き込み要求で指定された物理位置を変換（シフト）し、磁気ヘッドを制御してプラッタ上の変換後の位置にデータを書き込む（Ｓ２０６）。図１４及び図１５からわかるように、本実施の形態によれば、アプリケーション及びＯＳレベルの処理は従来通りのまま、ＨＤＤ内の仮想ディスクを切り替えることができる。すなわち、同一の記憶装置において、異なるディスクフォーマットが適用された領域を管理することができるようになっている。すなわち、同一の記憶装置において、ＭＢＲ方式やＧＰＴ方式のようにパーティションを管理する方式が異なる領域を切り替えて使用することができる。
【００５７】
また、あるパーティション管理方式をサポートするＯＳと、他のパーティション管理方式をサポートするＯＳとを、同一の記憶装置の異なる領域にそれぞれ格納することができるようになる。すなわち、従来は複数の記憶装置を用いることで初めて実現できるような構成を、１つの記憶装置によって実現することができるため、装置を小型化させる効果や、コストを低減させる効果がある。
【００５８】
また、例えばＭＢＲ方式では２．２ＴＢを超えるサイズの記憶領域を管理できないように、あるパーティション管理方式では扱うことのできる記憶領域の容量に上限があるような場合でも、上限を超える容量の記憶装置のうち、上限以内の領域をあるパーティション管理方式による仮想ディスクに割り当て、残りの領域を他のパーティション管理方式による仮想ディスクに割り当てれば、上限を超える容量の記憶装置を無駄なく利用することができる。
【００５９】
また、各仮想ディスク内の構成は従来どおりであるため、例えばＢＩＯＳレベルで実装するソフトウェアについては既存のものがそのまま利用できる。例えば、ＢＩＯＳレベルで実行されるセキュリティソフトウェアや、リモートで記憶装置のデータを消去するようなソフトウェアを、仮想ディスクごとに実装することができる。よって、本実施の形態と組み合わせることにより、例えば複数の仮想ディスクのうち一部を業務で使用するように予め定めておけば、コンピュータの紛失時には一部の領域のみ削除することができるようになる。また、一方の仮想ディスクについては暗号化を有効にしたまま、他方の仮想ディスクに格納されているＯＳを稼動させることもできる。これらの態様によれば、セキュリティ効果を高めることができる。
【００６０】
また、ユーザデータの誤消去を防止するために、工場出荷時と同様の区画構成でなければ動作しないようなリカバリソフトウェアを適用するようにしてもよい。例えば、一方の仮想ディスク内のパーティションによる区画構成が工場出荷時と同様でなければ動作しないようにしてもよいし、ＨＤＤ内の仮想ディスクによる区画構成が工場出荷時と同様でなければ動作しないようにしてもよい。
【００６１】
なお、実施の形態では物理的なＨＤＤが１つの場合を示したが、複数のＨＤＤを有する電子装置において、少なくとも１つのＨＤＤに上記のような仮想ディスクを設ける態様であってもよい。また、１つのＨＤＤに、３つ以上の仮想ディスクを設けることもできる。
【００６２】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【符号の説明】
【００６３】
１          コンピュータ
１１        ＣＰＵ
１２        チップセット（ノースブリッジ）
１３        グラフィックボードスロット
１４        メモリスロット
１５        チップセット（サウスブリッジ）
１６        ＨＤＤ
１６１      制御部
１６２      記憶部
１７        フラッシュＲＯＭ
１７１      領域書換部
１７２      ブート処理部
１８        ユーザＩ／Ｆ
１９        ＮＶＲＡＭ
２０        ＣＭＯＳ
【図１】
2014091629.tif 000003
【図２】
2014091629.tif 000004
【図３】
2014091629.tif 000005
【図４】
2014091629.tif 000006
【図５】
2014091629.tif 000007
【図６】
2014091629.tif 000008
【図７】
2014091629.tif 000009
【図８】
2014091629.tif 000010
【図９】
2014091629.tif 000011
【図１０Ａ】
2014091629.tif 000012
【図１０Ｂ】
2014091629.tif 000013
【図１０Ｃ】
2014091629.tif 000014
【図１１】
2014091629.tif 000015
【図１２】
2014091629.tif 000016
【図１３】
2014091629.tif 000017
【図１４】
2014091629.tif 000018
【図１５】
2014091629.tif 000019
【手続補正書】
【提出日】平成27年5月27日(2015.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とから、領域の選択を受け付けるステップと、
選択された領域に基づいて、前記記憶装置の制御部がアクセスする、前記記憶部における物理的な位置の基準を変更する領域変更ステップと、
をコンピュータに実行させる、記憶装置の管理プログラム。
【請求項２】
前記領域変更ステップにおいて、前記制御部が前記記憶部にアクセスする際に当該記憶部における物理的な位置をシフトさせる大きさ、及び前記制御部がアクセス可能な前記記憶部の容量を変更する
請求項１に記載の記憶装置の管理プログラム。
【請求項３】
前記第１のディスクフォーマットと前記第２のディスクフォーマットとは、パーティションを管理する方式が異なる
請求項１又は２に記載の記憶装置の管理プログラム。
【請求項４】
記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とから、領域の選択を受け付けるブート処理部と、
選択された領域に基づいて、前記記憶装置の制御部がアクセスする、前記記憶部における物理的な位置の基準を変更する領域書換部と、
を有する電子装置。
【請求項５】
前記領域書換部が、前記制御部が前記記憶部にアクセスする際に当該記憶部における物理的な位置をシフトさせる大きさ、及び前記制御部がアクセス可能な前記記憶部の容量を変更する
請求項４に記載の電子装置。
【請求項６】
前記第１のディスクフォーマットと前記第２のディスクフォーマットとは、パーティションを管理する方式が異なる
請求項４又は５に記載の電子装置。
【請求項７】
記憶装置の記憶部に含まれる第１のディスクフォーマットが適用された第１の領域と、第２のディスクフォーマットが適用された第２の領域とから、領域の選択を受け付けるステップと、
選択された領域に基づいて、前記記憶装置の制御部がアクセスする、前記記憶部における物理的な位置の基準を変更する領域変更ステップと、
を含む記憶装置の管理方法。
【国際調査報告】
2014091629.tif 000020
2014091629.tif 000021
2014091629.tif 000022
2014091629.tif 000023