(57)【要約】【課題】外部ストレージデバイス側に特殊な機能を搭載することなく、外部ストレージデバイスをディスクドライブとして扱うことが可能な情報処理装置を実現する。【解決手段】システムＢＩＯＳは、ＵＳＢポートに接続されている外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式を判別する。フォーマット形式がハードディスクイメージに対応する第１フォーマット形式である場合は、システムＢＩＯＳは、ハードディスクドライブを指定する第１ドライブ番号を外部ストレージデバイスに割り当て、フォーマット形式がフレキシブルディスクイメージに対応する第２フォーマット形式である場合は、フレキシブルディスクドライブを指定する第２ドライブ番号を外部ストレージデバイスに割り当てる。【選択図】      図５
2007052728.tif 000002
【特許請求の範囲】
【請求項１】
本体と、
前記本体に設けられ、外部ストレージデバイスが取り外し自在に接続可能な接続ポートと、
前記本体の電源オンに応答して、前記接続ポートに接続されている外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式がハードディスクイメージに対応する第１フォーマット形式およびフレキシブルディスクイメージに対応する第２フォーマット形式のいずれであるかを判別する判別手段と、
前記記憶メディアのフォーマット形式が前記第１フォーマット形式である場合、ハードディスクドライブを指定する第１ドライブ番号を前記外部ストレージデバイスに割り当て、前記記憶メディアのフォーマット形式が前記第２フォーマット形式である場合、フレキシブルディスクドライブを指定する第２ドライブ番号を前記外部ストレージデバイスに割り当てるドライブ番号割り当て手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記外部ストレージデバイスに前記第１ドライブ番号が割り当てられた場合、前記第１ドライブ番号を指定するディスクアクセス要求に応じて前記外部ストレージデバイスをアクセスし、前記外部ストレージデバイスに前記第２ドライブ番号が割り当てられた場合、前記第２ドライブ番号を指定するディスクアクセス要求に応じて前記外部ストレージデバイスをアクセスするアクセス処理手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項３】
ブート優先順位情報と前記外部ストレージデバイスに割り当てられたドライブ番号とに基づいて、前記外部ストレージデバイスがブートデバイスであるか否かを判別する手段と、
前記外部ストレージデバイスがブートデバイスであることが判別された場合、前記外部ストレージデバイスから前記情報処理装置をブートアップする処理を実行するブート処理手段とをさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記外部ストレージデバイスをハードディスクドライブとして扱うことを指定する第１モード、前記外部ストレージデバイスをフレキシブルディスクドライブとして扱うことを指定する第２モード、および前記外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式に応じて前記外部ストレージデバイスをハードディスクドライブおよびフレキシブルディスクドライブのどちらのディスクドライブとして扱うかを決定する第３モードの内のいずれか１つのモードを指定するモード指定情報を記憶する不揮発性メモリをさらに具備し、
前記ドライブ番号割り当て手段は、前記モード指定情報が前記第１モードを指定する場合、前記外部ストレージデバイスに前記第１ドライブ番号を割り当て、前記モード指定情報が前記第２モードを指定する場合、前記外部ストレージデバイスに前記第２ドライブ番号を割り当てる手段を含むことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記本体内に設けられた内蔵ハードディスクドライブをさらに具備し、
前記ドライブ番号割り当て手段は、前記記憶メディアのフォーマット形式が前記第１フォーマット形式である場合、前記内蔵ハードディスクドライブと前記外部ストレージデバイスとの間の優先順位関係を示す情報に基づいて、前記内蔵ハードディスクドライブおよび前記外部ストレージデバイスの一方に１台目のハードディスクドライブを指定するディスクドライブ番号を割り当て、他方に、２台目のハードディスクドライブを指定するディスクドライブ番号を割り当てる手段を含むことを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記接続ポートはユニバーサルシリアルバス規格に準拠したコネクタであり、
前記外部ストレージデバイスは、前記ユニバーサルシリアルバス規格に準拠したインタフェースを有し、且つ不揮発性半導体メモリを記憶メディアとして内蔵したデバイスであることを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記接続ポートはユニバーサルシリアルバス規格に準拠したコネクタであり、
前記外部ストレージデバイスは、
前記ユニバーサルシリアルバス規格に準拠したインタフェースを有し、且つハードディスクドライブを記憶メディアとして内蔵したデバイスであることを特徴とする請求項１記載の情報処理装置。
【請求項８】
情報処理装置に設けられた接続ポートに取り外し自在に接続される外部ストレージデバイスをアクセスするためのアクセス方法であって、
前記情報処理装置の電源オンに応答して、前記接続ポートに接続されている外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式がハードディスクイメージに対応する第１フォーマット形式およびフレキシブルディスクイメージに対応する第２フォーマット形式のいずれであるかを判別するステップと、
前記記憶メディアのフォーマット形式が前記第１フォーマット形式である場合、ハードディスクドライブを指定する第１ドライブ番号を前記外部ストレージデバイスに割り当て、前記記憶メディアのフォーマット形式が前記第２フォーマット形式である場合、フレキシブルディスクドライブを指定する第２ドライブ番号を前記外部ストレージデバイスに割り当てるドライブ番号割り当てステップとを具備することを特徴とするアクセス方法。
【請求項９】
前記外部ストレージデバイスに前記第１ドライブ番号が割り当てられた場合、前記第１ドライブ番号を指定するディスクアクセス要求に応じて前記外部ストレージデバイスをアクセスするステップと、
前記外部ストレージデバイスに前記第２ドライブ番号が割り当てられた場合、前記第２ドライブ番号を指定するディスクアクセス要求に応じて前記外部ストレージデバイスをアクセスするステップとをさらに具備することを特徴とする請求項８記載のアクセス方法。
【請求項１０】
ブート優先順位情報と前記外部ストレージデバイスに割り当てられたドライブ番号とに基づいて、前記外部ストレージデバイスがブートデバイスであるか否かを判別するステップと、
前記外部ストレージデバイスがブートデバイスであることが判別された場合、前記外部ストレージデバイスから前記情報処理装置をブートアップする処理を実行するステップとをさらに具備することを特徴とする請求項８記載のアクセス方法。
【請求項１１】
前記情報処理装置は、前記外部ストレージデバイスをハードディスクドライブとして扱うことを指定する第１モード、前記外部ストレージデバイスをフレキシブルディスクドライブとして扱うことを指定する第２モード、および前記外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式に応じて前記外部ストレージデバイスをハードディスクドライブおよびフレキシブルディスクドライブのどちらのディスクドライブとして扱うかを決定する第３モードの内のいずれか１つのモードを指定するモード指定情報を記憶する不揮発性メモリを含み、
前記ドライブ番号割り当てステップは、前記モード指定情報が前記第１モードを指定する場合、前記外部ストレージデバイスに前記第１ドライブ番号を割り当てるステップと、前記モード指定情報が前記第２モードを示す場合、前記外部ストレージデバイスに前記第２ドライブ番号を割り当てるステップとを含むことを特徴とする請求項８記載のアクセス方法。
【請求項１２】
前記情報処理装置は内蔵ハードディスクドライブを含み、
前記ドライブ番号割り当てステップは、前記記憶メディアのフォーマット形式が前記第１フォーマット形式である場合、前記内蔵ハードディスクドライブと前記外部ストレージデバイスとの間の優先順位関係を示す情報に基づいて、前記内蔵ハードディスクドライブおよび前記外部ストレージデバイスの一方に１台目のハードディスクドライブを指定するディスクドライブ番号を割り当て、他方に、２台目のハードディスクドライブを指定するディスクドライブ番号を割り当てるステップを含むことを特徴とする請求項８記載のアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばパーソナルコンピュータのような情報処理装置に関し、特に外部ストレージデバイスが取り外し自在に接続可能な接続ポートを備えた情報処理装置および同装置で用いられるアクセス方法に関する。
【背景技術】
【０００２】
近年、ラップトップタイプまたはノートブックタイプの種々の携帯型パーソナルコンピュータが開発されている。この種のコンピュータは、そのコンピュータの機能拡張のために、ユニバーサルシリアルバス（ＵＳＢ）インタフェース、ＩＥＥＥ１３９４インタフェースのような接続ポートを備えている。この接続ポートには、様々な外部ストレージデバイスを接続することができる。
【０００３】
しかし、通常、接続ポートに接続される外部ストレージデバイスは、リムーバブルメディアとして扱われる。このため、外部ストレージデバイスをハードディスクドライブ（ＨＤＤ）、フレキシブルディスクドライブ（ＦＤＤ）のようなブート可能なディスクドライブとして扱うことができず、外部ストレージデバイスの用途は比較的制限されたものとなる。
【０００４】
特許文献１には、フラッシュメモリを内蔵したＵＳＢストレージデバイスが開示されている。ホストコンピュータからの問い合わせを受信した時、このＵＳＢストレージデバイスは、自身がＣＤ−ＲＯＭドライブまたはフレキシブルディスクドライブである旨をホストコンピュータに返す。これにより、ＵＳＢストレージデバイスは、ホストコンピュータによってＣＤ−ＲＯＭドライブまたはフレキシブルディスクドライブとして疑似認識される。
【特許文献１】特開２００４−１５１７８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、このように、自身をＣＤ−ＲＯＭドライブまたはフレキシブルディスクドライブとして疑似認識させるための専用の機能を外部ストレージデバイス側に搭載すると、外部ストレージデバイスのコストアップを招くことになる。また、このような専用の機能を搭載しない通常の外部ストレージデバイスについては、ＣＤ−ＲＯＭドライブまたはフレキシブルディスクドライブとして扱うことができない。
【０００６】
本発明は上述の事情を考慮してなされたもので、外部ストレージデバイス側に特殊な機能を搭載することなく、外部ストレージデバイスをディスクドライブとして扱うことが可能な情報処理装置およびアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、本体と、前記本体に設けられ、外部ストレージデバイスが取り外し自在に接続可能な接続ポートと、前記本体の電源オンに応答して、前記接続ポートに接続されている外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式がハードディスクイメージに対応する第１フォーマット形式およびフレキシブルディスクイメージに対応する第２フォーマット形式のいずれであるかを判別する判別手段と、前記記憶メディアのフォーマット形式が前記第１フォーマット形式である場合、ハードディスクドライブを指定する第１ドライブ番号を前記外部ストレージデバイスに割り当て、前記記憶メディアのフォーマット形式が前記第２フォーマット形式である場合、フレキシブルディスクドライブを指定する第２ドライブ番号を前記外部ストレージデバイスに割り当てるドライブ番号割り当て手段とを具備することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、外部ストレージデバイス側に特殊な機能を搭載することなく、外部ストレージデバイスをディスクドライブとして扱うことが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施形態を説明する。
【００１０】
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、バッテリ駆動可能な携帯型のノートブック型パーソナルコンピュータ１０として実現されている。
【００１１】
図１は、ディスプレイユニットを開いた状態におけるコンピュータ１０を正面側から見た斜視図である。また、図２は、コンピュータ１０を背面側から見た斜視図である。
【００１２】
本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成される。ディスプレイユニット１２には、ＬＣＤ２０（Liquid Crystal Display）から構成される表示装置が組み込まれており、そのＬＣＤ２０の表示画面はディスプレイユニット１２のほぼ中央に位置されている。
【００１３】
ディスプレイユニット１２は、コンピュータ本体１１に支持され、そのコンピュータ本体１１に対してコンピュータ本体１１の上面が露出される開放位置とコンピュータ本体１１の上面を覆う閉塞位置との間を回動自由に取り付けられている。コンピュータ本体１１は薄い箱形の筐体を有しており、その上面にはキーボード１３、本コンピュータ１０を電源オン／オフするためのパワーボタンスイッチ１５およびタッチパッド１８などが配置されている。また、図２に示されているように、コンピュータ本体１１内には、ＣＤ／ＤＶＤドライブのような光ディスクドライブ１７が収容されている。
【００１４】
図１に示されているように、本コンピュータ１０の左側面には、外部ストレージデバイスがそれぞれ取り外し自在に接続可能な２つの接続ポート３１，３２が設けられている。また、図２に示すように、本コンピュータ１０の背面にも、外部ストレージデバイスがそれぞれ取り外し自在に接続可能な２つの接続ポート３１，３２が設けられている。
【００１５】
これら接続ポート３１，３２，３３，３４の各々は、例えば、ユニバーサルシリアルバス（ＵＳＢ）規格またはＩＥＥＥ１３９４規格等に準拠したコネクタから構成されている。これら接続ポート３１，３２，３３，３４の各々には、必要に応じて、ＵＳＢ規格またはＩＥＥＥ１３９４規格等に準拠した外部ストレージデバイス１００を接続することができる。
【００１６】
以下では、接続ポート３１，３２，３３，３４の各々がＵＳＢ規格に準拠したコネクタから構成されている場合を想定する。以下、接続ポート３１，３２，３３，３４をＵＳＢポート３１，３２，３３，３４と称する。
【００１７】
ＵＳＢポート３１，３２，３３，３４には、それぞれポート番号＃１，＃２，＃３，＃４が割り当てられている。本コンピュータ１０の左側面においては、ＵＳＢポート３１，３２それぞれの配置位置近傍に、これらＵＳＢポート３１，３２それぞれに対応するポート番号を示す識別情報として数字“１”，“２”が記されている。同様に、本コンピュータ１０の背面においては、ＵＳＢポート３３，３４それぞれの配置位置近傍には、これらＵＳＢポート３３，３４それぞれに対応するポート番号を示す識別情報として数字“３”，“４”が記されている。ユーザは、これら数字により、どのＵＳＢポートにどのポート番号が割り当てられているかを確認することができる。
【００１８】
外部ストレージデバイス１００は、例えば、ＵＳＢメモリのような、ＵＳＢ規格のインタフェースを有するストレージデバイス（ＵＳＢストレージデバイス）から構成されている。この外部ストレージデバイス１００は記憶メディア１０１を内蔵している。記憶メディア１０１は、例えば、フラッシュＥＥＰＲＯＭのような不揮発性半導体メモリから構成されている。
【００１９】
記憶メディア１０１は、ハードディスク（ＨＤ）イメージに対応する第１フォーマット形式またはフレキシブルディスク（ＦＤ）イメージに対応する第２フォーマット形式で予めフォーマットされている。
【００２０】
第１フォーマット形式はＨＤエミュレーション形式と称されるものであり、外部ストレージデバイス１００を仮想的なハードディスクドライブ（ＨＤみなしのドライブ）として扱うためのフォーマット形式である。第２フォーマット形式はＦＤエミュレーション形式と称されるものであり、外部ストレージデバイス１００を仮想的なフレキシブルディスクドライブ（ＦＤみなしのドライブ）として扱うためのフォーマット形式である。
【００２１】
また、図３に示すような外部ストレージデバイス１０２をＵＳＢポートに接続して使用することもできる。外部ストレージデバイス１０２は、ＵＳＢ規格のインタフェースを有し、且つ記憶メディアとしてハードディスクドライブを内蔵したストレージデバイスである。
【００２２】
次に、図４を参照して、本コンピュータ１０のシステム構成の一例を説明する。
【００２３】
本コンピュータ１０は、ＣＰＵ１１１、ノースブリッジ１１２、主メモリ１１３、グラフィクスコントローラ１１４、サウスブリッジ１１５、ネットワークコントローラ１１６、内蔵ハードディスクドライブ（ＨＤＤ）１１７、フラッシュＢＩＯＳ−ＲＯＭ１１８、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１９、および電源回路１２０等を備えている。
【００２４】
ＣＰＵ１１１は、本コンピュータ１０の各コンポーネントの動作を制御するプロセッサである。このＣＰＵ１１１は、内蔵ＨＤＤ１１７または外部ストレージデバイスから主メモリ１１３にロードされる、オペレーティングシステムおよび各種アプリケーションプログラムを実行する。また、ＣＰＵ１１１は、フラッシュＢＩＯＳ−ＲＯＭ１１８に格納されたシステムＢＩＯＳ（Basic Input Output System）も実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。システムＢＩＯＳは、本コンピュータ１０のパワーオンに応答して、ＰＯＳＴ（Power On Self Test）処理を実行する。ＰＯＳＴ処理では、システムＢＩＯＳは、本コンピュータ１０の各コンポーネントの動作テストおよび初期化処理等を実行する。
【００２５】
さらに、ＰＯＳＴ処理においては、システムＢＩＯＳは、ＵＳＢポート毎に外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式を判別する。
【００２６】
ある外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式が第１フォーマット形式（ＨＤエミュレーション形式）であるならば、システムＢＩＯＳは、当該外部ストレージデバイスをハードディスクドライブとして扱うために、第１ドライブ番号（８ｘｈ）を外部ストレージデバイスに割り当てる。第１ドライブ番号（８ｘｈ）は、ハードディスクドライブを指定するためのドライブ番号である。このように、ハードディスクドライブに割り当てられるべき第１ドライブ番号（８ｘｈ）をＵＳＢメモリのような外部ストレージデバイスに割り当てることにより、外部ストレージデバイスを仮想的なハードディスクドライブとして扱うことが可能となる。
【００２７】
第１ドライブ番号の値は、ハードディスクドライブ毎に異なる。もし２台のハードディスクドライブが存在する場合においては、１台目のハードディスクドライブにはドライブ番号（８０ｈ）が割り当てられ、２台目のハードディスクドライブにはドライブ番号（８１ｈ）が割り当てられる。
【００２８】
外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式が第２フォーマット形式（ＦＤエミュレーション形式）であるならば、システムＢＩＯＳは、外部ストレージデバイスをフレキシブルディスクドライブとして扱うために、第２ドライブ番号（０ｘｈ）を外部ストレージデバイスに割り当てる。第２ドライブ番号（０ｘｈ）は、フレキシブルディスクドライブを指定するためのドライブ番号である。このように、フレキシブルディスクドライブに割り当てられるべき第２ドライブ番号（０ｘｈ）をＵＳＢメモリのような外部ストレージデバイスに割り当てることにより、外部ストレージデバイスを仮想的なフレキシブルディスクドライブとして扱うことが可能となる。
【００２９】
第２ドライブ番号の値は、フレキシブルディスクドライブ毎に異なる。もし２台のフレキシブルディスクドライブが存在する場合においては、１台目のフレキシブルディスクドライブにはドライブ番号（００ｈ）が割り当てられ、２台目のフレキシブルディスクドライブにはドライブ番号（０１ｈ）が割り当てられる。
【００３０】
ノースブリッジ１１２は、ＣＰＵ１１１のローカルバスとサウスブリッジ１１６との間を接続するブリッジデバイスである。また、ノースブリッジ１１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能も有している。さらに、ノースブリッジ１１２には、主メモリ１１３を制御するメモリコントローラも内蔵されている。
【００３１】
グラフィクスコントローラ１１４は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ２０を制御する表示コントローラである。サウスブリッジ１１５は、ＰＣＩ（Peripheral Component Interconnect）バスおよびＬＰＣ（Low Pin Count）バスそれぞれ接続されている。また、サウスブリッジ１１５には、ＵＳＢコントローラ２０１、ＩＤＥ（Integrated Drive Electronics）コントローラ２０２、および不揮発性メモリ２０３が内蔵されている。ＵＳＢコントローラ２０１は、ＵＳＢポート３１〜３４に接続される外部ストレージデバイスそれぞれとの通信を実行する。ＩＤＥコントローラ２０２は、内蔵ＨＤＤ１１７、および光ディスクドライブ（ＯＤＤ）１７を制御する。
【００３２】
不揮発性メモリ２０３はＣＭＯＳメモリと称されるメモリであり、本コンピュータの動作環境を指定するセットアップ情報を記憶するために使用される。セットアップ情報には、ブート優先順位情報、および外部ストレージデバイスに関するモード指定情報、等が含まれている。
【００３３】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１１９は、電源管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびタッチパッド１８などを制御するキーボードコントローラとが集積された１チップマイクロコンピュータである。エンベデッドコントローラ／キーボードコントローラＩＣ１１９は、電源回路１２０と共同して、ユーザによるパワーボタンスイッチ１５の操作に応じて本コンピュータ１０を電源オン／電源オフする。電源回路１２０は、バッテリ１２１、またはＡＣアダプタ１２２を介して供給される外部電源を用いて本コンピュータ１０の各コンポーネントに供給すべきシステム電源を生成する。
【００３４】
次に、図５を参照して、外部ストレージデバイスを制御するための機能構成を説明する。
【００３５】
外部ストレージデバイスの制御は、接続検出部３０２、フォーマット判定部３０３、ドライブ番号割り当て部３０４、ドライブ番号テーブル３０５、アクセス処理部３０６、ブートデバイス判別部３０７、およびブート処理部３０８によって実行される。これら接続検出部３０２、フォーマット判定部３０３、ドライブ番号割り当て部３０４、アクセス処理部３０６、ブートデバイス判別部３０７、およびブート処理部３０８は、それぞれシステムＢＩＯＳ内の機能実行モジュールとして実現されている。
【００３６】
接続検出部３０２は、ＵＳＢポートに外部ストレージデバイスが接続されているか否かを判別する処理を、ＵＳＢポート３１〜３４毎に実行する。いずれかのＵＳＢポートに外部ストレージデバイスが接続されている場合、フォーマット判定部３０３は、その外部ストレージデバイスに内蔵された記憶メディアの内容をリードして、その記憶メディアのフォーマット形式が第１フォーマット形式（ＨＤエミュレーション形式）および第２フォーマット形式（ＦＤエミュレーション形式）のいずれであるかを判別する。
【００３７】
ドライブ番号割り当て部３０４は、上述のモード指定情報に従って、外部ストレージデバイスにドライブ番号を割り当てる処理を実行する。モード指定情報は、不揮発性メモリ２０３内のモード情報記憶部３０１に格納されている。モード指定情報は外部ストレージデバイスを制御するために使用すべきモードを指定する情報である。モード指定情報は、第１モード（ＨＤモード）、第２モード（ＦＤモード）、第３モード（Ａｕｔｏモード）の３つのモードの内のいずれかのモードを指定する。
【００３８】
第１モード（ＨＤモード）は、外部ストレージデバイスをハードディスクドライブとして扱うことを指定するモードである。第２モード（ＦＤモード）は、外部ストレージデバイスをフレキシブルディスクドライブとして扱うことを指定するモードである。第３モード（Ａｕｔｏモード）は、外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式に応じて、外部ストレージデバイスをハードディスクドライブおよびフレキシブルディスクドライブのどちらのディスクドライブとして扱うかを自動的に決定するモードである。
【００３９】
ユーザは、ＢＩＯＳセットアップ機能または専用のユーティリティプログラム等を用いて、第１モード（ＨＤモード）、第２モード（ＦＤモード）、または第３モード（Ａｕｔｏモード）の一つを選択することができる。
【００４０】
上述のフォーマット判定部３０３によるフォーマット判別処理は、モード指定情報が第３モード（Ａｕｔｏモード）を示す場合に実行され、モード指定情報が第１モード（ＨＤモード）または第２モード（ＦＤモード）を示す場合には実行されない。
【００４１】
モード指定情報が第１モード（ＨＤモード）を示す場合、ドライブ番号割り当て部３０４は、外部ストレージデバイスのフォーマット形式に関係なく、第１ドライブ番号（８ｘｈ）を外部ストレージデバイスに割り当てる。一方、モード指定情報が第２モード（ＦＤモード）を示す場合、ドライブ番号割り当て部３０４は、外部ストレージデバイスのフォーマット形式に関係なく、第２ドライブ番号（０ｘｈ）を外部ストレージデバイスに割り当てる。
【００４２】
このため、もしユーザによって選択されたモード指定情報が第１モード（ＨＤモード）であるにもかかわらず、第２フォーマット形式（ＦＤエミュレーション形式）でフォーマットされた外部ストレージデバイスが接続されている場合には、その外部ストレージデバイスをハードディスクドライブまたはフレキシブルディスクドライブとして正常に扱うことはできなくなる。同様に、もしユーザによって選択されたモード指定情報が第２モード（ＦＤモード）であるにもかかわらず、第１フォーマット形式（ＨＤエミュレーション形式）でフォーマットされた外部ストレージデバイスが接続されている場合にも、その外部ストレージデバイスをハードディスクドライブまたはフレキシブルディスクドライブとして正常に扱うことはできなくなる。
【００４３】
この場合、ユーザは、ＢＩＯＳセットアップ機能または専用のユーティリティプログラム等を用いてモード指定情報を変更した後に、本コンピュータ１０をリブートするという操作を行うことが必要となる。
【００４４】
モード指定情報が第３モード（Ａｕｔｏモード）を示す場合、ドライブ番号割り当て部３０４は、フォーマット判定部３０３によるフォーマット形式判別結果に基づいて、外部ストレージデバイスにハードディスクドライブを指定する第１ドライブ番号（８ｘｈ）またはフレキシブルディスクドライブを指定する第２ドライブ番号（０ｘｈ）を自動的に割り当てる。具体的には、外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式が第１フォーマット形式（ＨＤエミュレーション形式）であるならば、ドライブ番号割り当て部３０４は、外部ストレージデバイスにハードディスクドライブを指定する第１ドライブ番号（８ｘｈ）を割り当てる。また、外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式が第２フォーマット形式（ＦＤエミュレーション形式）であるならば、ドライブ番号割り当て部３０４は、外部ストレージデバイスにフレキシブルディスクドライブを指定する第２ドライブ番号（０ｘｈ）を割り当てる。
【００４５】
このように、第３モード（Ａｕｔｏモード）においては、外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式に対応する適切なドライブ番号（８ｘｈまたは０ｘｈ）が外部ストレージデバイスに自動的に割り当てられる。よって、外部ストレージデバイスのフォーマット形式がＨＤエミュレーションおよびＦＤエミュレーションのいずれであっても、その外部ストレージデバイスをハードディスクドライブまたはフレキシブルディスクドライブとして正常に扱うことが可能となる。
【００４６】
ドライブ番号割り当て部３０４は、外部ストレージデバイスとその外部ストレージデバイスに割り当てたドライブ番号との関係を示す情報をドライブ番号テーブル３０５に格納する。
【００４７】
アクセス処理部３０６は、ドライブ番号テーブル３０５を参照して、外部ストレージデバイスにどのドライブ番号が割り当てられているかを認識する。外部ストレージデバイスに第１ドライブ番号（８ｘｈ）が割り当てられている場合においては、アクセス処理部３０６は、ソフトウェア（例えば、インストーラ、オペレーティングシステム、システムＢＩＯＳ内の他のルーチン、等）からの第１ドライブ番号（８ｘｈ）を指定するディスクアクセス要求に応じて、外部ストレージデバイスをアクセスする。一方、外部ストレージデバイスに第２ドライブ番号（０ｘｈ）が割り当てられている場合においては、アクセス処理部３０６は、ソフトウェアからの第２ドライブ番号（０ｘｈ）を指定するディスクアクセス要求に応じて、外部ストレージデバイスをアクセスする。
【００４８】
アクセス処理部３０６は、システムＢＩＯＳ内のディスクドライバルーチンによって実現されている。ディスクドライバルーチンは、ソフトウェア割り込み（ＩＮＴ１３ｈ）によって実行されるプログラムである。ディスクドライバルーチンは、図６に示すように、ハードディスクドライブ（ＨＤＤ）をアクセスするためのＨＤＤアクセスルーチン、フレキシブルディスクドライブ（ＦＤＤ）をアクセスするためのＦＤＤルーチンに加え、２つの外部ストレージアクセスルーチンを含んでいる。一方の外部ストレージアクセスルーチン＃１は、フレキシブルディスクドライブに対するディスクアクセス要求に応じて、第２フォーマット形式（ＦＤエミュレーション形式）の外部ストレージデバイスをＵＳＢコントローラ２０１を介してアクセスするためのルーチンである。他方の外部ストレージアクセスルーチン＃２は、ハードディスクドライブに対するディスクアクセス要求に応じて、第１フォーマット形式（ＨＤエミュレーション形式）の外部ストレージデバイスをＵＳＢコントローラ２０１を介してアクセスするためのルーチンである。
【００４９】
外部ストレージデバイスに第２ドライブ番号（０ｘｈ）が割り当てられている場合においては、アクセス処理部３０６は、第２ドライブ番号（０ｘｈ）を引数として含むディスクアクセス要求をソフトウェアから受信した時、外部ストレージアクセスルーチン＃１を実行する。外部ストレージアクセスルーチン＃１は、ソフトウェアによって実行される、フレキシブルディスクドライブをアクセスするための手順を、外部ストレージデバイスをアクセスするための手順にエミュレートする。これにより、ソフトウェアは、フレキシブルディスクドライブをアクセスするための通常の手順を実行するだけで、外部ストレージデバイスをフレキシブルディスクドライブと同様に扱うことができる。
【００５０】
一方、外部ストレージデバイスに第１ドライブ番号（８ｘｈ）が割り当てられている場合においては、アクセス処理部３０６は、第１ドライブ番号（８ｘｈ）を引数として含むディスクアクセス要求をソフトウェアから受信した時、外部ストレージアクセスルーチン＃２を実行する。外部ストレージアクセスルーチン＃２は、ソフトウェアによって実行される、ハードディスクドライブをアクセスするための手順を、外部ストレージデバイスをアクセスするための手順にエミュレートする。これにより、ソフトウェアは、ハードディスクドライブをアクセスするための通常の手順を実行するだけで、外部ストレージデバイスをハードディスクドライブと同様に扱うことができる。
【００５１】
ブートデバイス判別部３０７は、上述のブート優先順位情報と、外部ストレージデバイスに割り当てられたドライブ番号とに基づいて、外部ストレージデバイスがブートデバイスであるか否かを判別する。ブート処理部３０８は、外部ストレージデバイスがブートデバイスであることが判別された場合、外部ストレージデバイスから本コンピュータ１０をブートアップする処理を実行する。ブートアップ処理においては、ブート処理部３０８は、アクセス処理部３０６にディスクアクセス要求を発行する。このディスクアクセス要求には、外部ストレージデバイスに割り当てられたドライブ番号が引数として含まれている。これにより、外部ストレージデバイスに格納されている、オペレーティングシステムのようなシステムプログラムが主メモリ１１３にロードされて実行される。
【００５２】
図７には、ドライブ番号テーブル３０５の例が示されている。
【００５３】
上述したように、外部ストレージデバイスが第１フォーマット形式（ＨＤエミュレーション形式）でフォーマットされているならば、外部ストレージデバイスには第１ドライブ番号（８ｘｈ）が割り当てられる。
【００５４】
この場合、ドライブ番号割り当て部３０４は、内蔵ハードディスクドライブ１１１と外部ストレージデバイスとの間の優先順位関係を示すＨＤＤ優先順位情報に基づいて、内蔵ハードディスクドライブ１１１および外部ストレージデバイスの一方に１台目のハードディスクドライブを指定するディスクドライブ番号（８０ｈ）を割り当て、他方に、２台目のハードディスクドライブを指定するディスクドライブ番号（８１ｈ）を割り当てる。
【００５５】
また、外部ストレージデバイスが第２フォーマット形式（ＦＤエミュレーション形式）でフォーマットされているならば、外部ストレージデバイスには第２ドライブ番号（０ｘｈ）が割り当てられる。本コンピュータ１０にＦＤＤが内蔵されていないならば、外部ストレージデバイスには１台目のフレキシブルディスクドライブを指定するディスクドライブ番号（００ｈ）が割り当てられる。
【００５６】
次に、図８のフローチャートを参照して、アクセス処理部（ディスクドライバ）３０６の動作を説明する。
【００５７】
ソフトウェアによってディスクドライバがコールされた時、アクセス処理部３０６は、ドライブ番号テーブル３０５をチェックし（ステップＳ１１）、ソフトウェアからのディスクアクセス要求に含まれるドライブ番号が、外部ストレージデバイスに割り当てられたドライブ番号であるか否かを判別する（ステップＳ１２）。
【００５８】
ソフトウェアからのディスクアクセス要求に含まれるドライブ番号が、外部ストレージデバイスに割り当てられたドライブ番号ではないならば（ステップＳ１２のＮＯ）、アクセス処理部３０６は、内蔵ＨＤＤ／ＦＤＤのような、外部ストレージデバイス以外のデバイスを、ＨＤＤアクセスルーチンまたはＦＤＤアクセスルーチンによってアクセスする（ステップＳ１３）。
【００５９】
ソフトウェアからのディスクアクセス要求に含まれるドライブ番号が、外部ストレージデバイスに割り当てられたドライブ番号であるならば（ステップＳ１２のＹＥＳ）、アクセス処理部３０６は、ディスクアクセス要求に含まれるドライブ番号が第１ドライブ番号（８ｘｈ）であるか否かを判別する（ステップＳ１４）。
【００６０】
ディスクアクセス要求に含まれるドライブ番号が第１ドライブ番号（８ｘｈ）ではないならば、つまりディスクアクセス要求に含まれるドライブ番号が第２ドライブ番号（０ｘｈ）であるならば（ステップＳ１４のＮＯ）、アクセス処理部３０６は、外部ストレージアクセスルーチン＃１を実行して、第２ドライブ番号（０ｘｈ）が割り当てられた外部ストレージデバイスをアクセスする（ステップＳ１５）。
【００６１】
ディスクアクセス要求に含まれるドライブ番号が第１ドライブ番号（８ｘｈ）であるならば（ステップＳ１４のＹＥＳ）、アクセス処理部３０６は、外部ストレージアクセスルーチン＃２を実行して、第１ドライブ番号（８ｘｈ）が割り当てられた外部ストレージデバイスをアクセスする（ステップＳ１６）。
【００６２】
図９には、システムＢＩＯＳによってＬＣＤ２０に表示されるシステムセットアップ画面の例が示されている。
【００６３】
システムセットアップ画面には、セットアップメニューとして、“ＢＯＯＴ  ＰＲＩＯＲＩＴＹ”フィールド４０１と、“ＬＥＧＡＣＹ  ＥＭＵＬＡＴＩＯＮ”フィールド４０２とが含まれている。“ＢＯＯＴ  ＰＲＩＯＲＩＴＹ”フィールド４０１には、ブート優先順位情報を設定するための“Ｂｏｏｔ  Ｐｒｉｏｒｉｔｙ”項目と、ＨＤＤ優先順位情報を設定するための“ＨＤＤ  Ｐｒｉｏｒｉｔｙ”項目とが含まれている。
【００６４】
ブート優先順位情報はシステム起動に使用するディスクドライブの順番を指定する情報であり、そのブート優先順位情報の標準値は、例えば、
ＨＤＤ→ＦＤＤ→ＣＤ−ＲＯＭ→ＬＡＮ
である。ユーザは、“Ｂｏｏｔ  Ｐｒｉｏｒｉｔｙ”項目上にカーソルを移動してスペースキーを押下することにより、ブート優先順位情報を変更することができる。“ＨＤＤ”は、内蔵ＨＤＤ、または第１ドライブ番号（８ｘｈ）が割り当てられた外部ストレージデバイス（例えば，ＵＳＢメモリ）を示す。“ＦＤＤ”は、ＦＤＤ、または第２ドライブ番号（０ｘｈ）が割り当てられた外部ストレージデバイス（例えば，ＵＳＢメモリ）を示す。
【００６５】
ＨＤＤ優先順位情報は内蔵ＨＤＤと外部ストレージデバイス（例えばＵＳＢメモリ）との間の優先順位を指定する情報であり、そのＨＤＤ優先順位情報の標準値は、例えば、
内蔵ＨＤＤ→外部ストレージデバイス（ＵＳＢメモリ）
である。ユーザは、“ＨＤＤ  Ｐｒｉｏｒｉｔｙ”項目上にカーソルを移動してスペースキーを押下することにより、ＨＤＤ優先順位情報を、
外部ストレージデバイス（ＵＳＢメモリ）→内蔵ＨＤＤ
に変更することができる。
【００６６】
“ＬＥＧＡＣＹ  ＥＭＵＬＡＴＩＯＮ”フィールド４０２には、上述のモード指定情報を設定するための項目“ＵＳＢ  Ｍｅｍｏｒｙ  ＢＩＯＳ  ＳＵＰＰＯＲＴ  ＴＹＰＥ”が含まれている。ユーザは、“ＵＳＢ  Ｍｅｍｏｒｙ  ＢＩＯＳ  ＳＵＰＰＯＲＴ  ＴＹＰＥ”上にカーソルを移動してスペースキーを押下することにより、“ＨＤモード”、“ＦＤ”モード、または“Ａｕｔｏモード”を選択することができる。
【００６７】
次に、図１０のフローチャートを参照して、本コンピュータ１０がパワーオンされた時にシステムＢＩＯＳによって実行される処理の手順を説明する。
【００６８】
コンピュータ本体１１がパワーオンされた時、ＣＰＵ１１１は、システムＢＩＯＳを実行することによって、以下の処理を行う。
【００６９】
ＣＰＵ１１１は、まず、ＵＳＢポート毎に外部ストレージデバイス（例えば、ＵＳＢメモリのようなＵＳＢストレージデバイス）が接続されているか否かを判別する（ステップＳ１０１）。どのＵＳＢポートにも外部ストレージデバイスが接続されていないならば（ステップＳ１０１のＮＯ）、ＣＰＵ１１１は、ブート優先順位情報にしたがってブートデバイスを決定する（ステップＳ１０２）。そして、ＣＰＵ１１１は、決定されたブートデバイスから本コンピュータ１０をブートアップする処理を実行する。これにより、オペレーティングシステムのようなシステムプログラムをブートアップする処理、またはオペレーティングシステムをインストールする処理、などが実行される。
【００７０】
いずれかのＵＳＢポートに外部ストレージデバイスが接続されているならば（ステップＳ１０１のＹＥＳ）、ＣＰＵ１１１は、不揮発性メモリ２０３に格納されているモード指定情報を読み出し、モード指定情報によって指定される現在のモードがＡｕｔｏモードであるか否かを判別する（ステップＳ１０４）。
【００７１】
モード指定情報によって指定される現在のモードがＡｕｔｏモードであるならば、ＣＰＵ１１１は、外部ストレージデバイスに内蔵された記憶メディアのフォーマット形式を判別するフォーマット判定処理を実行する（ステップＳ１０８，Ｓ１０９）。このフォーマット判定処理においては、ＣＰＵ１１１は、外部ストレージデバイスに内蔵された記憶メディアをリードアクセスし、記憶メディアの内容、例えば先頭セクタ、を読み出す（ステップＳ１０８）。そして、ＣＰＵ１１１は、読み出した記憶メディアの内容（先頭セクタの内容）に基づいて、記憶メディアのフォーマット形式が第１フォーマット形式（ＨＤエミュレーション形式）および第２フォーマット形式（ＦＤエミュレーション形式）のいずれであるかを判別する（ステップＳ１０９）。記憶メディアのフォーマット形式が第１フォーマット形式（ＨＤエミュレーション形式）であるならば、先頭セクタのデータにマスターブートレコードが存在する。一方、記憶メディアのフォーマット形式が第２フォーマット形式（ＦＤエミュレーション形式）であるならば、マスターブートレコードは存在しない。よって、ＣＰＵ１１１は、記憶メディアにマスターブートレコードが存在すれば第１フォーマット形式（ＨＤエミュレーション形式）であると判断し、存在しなければ第２フォーマット形式（ＦＤエミュレーション形式）であると判断する。
【００７２】
記憶メディアのフォーマット形式が第２フォーマット形式（ＦＤエミュレーション形式）であるならば（ステップＳ１１０のＹＥＳ）、ＣＰＵ１１１は、外部ストレージデバイスをフレキシブルディスクドライブとして扱うためのドライブ番号０ｘｈを、外部ストレージデバイスに割り当てる（ステップＳ１０６）。これにより、ソフトウェアからは、外部ストレージデバイスはフレキシブルディスクドライブとしてアクセスされる。一方、記憶メディアのフォーマット形式が第１フォーマット形式（ＨＤエミュレーション形式）であるならば（ステップＳ１１０のＮＯ）、ＣＰＵ１１１は、外部ストレージデバイスをハードディスクドライブとして扱うためのドライブ番号８ｘｈを、外部ストレージデバイスに割り当てる（ステップＳ１０７）。これにより、ソフトウェアからは、外部ストレージデバイスはハードディスクドライブとしてアクセスされる。
【００７３】
ステップＳ１０７においては、ＣＰＵ１１１は、ＨＤＤ優先順位情報に基づいて、外部ストレージデバイスが内蔵ＨＤＤよりも優先順位が高いか否かを判断する。外部ストレージデバイスが内蔵ＨＤＤよりも優先順位が高いならば、ＣＰＵ１１１は、外部ストレージデバイスに１台目のハードディスクドライブを指定するディスクドライブ番号８０ｈを割り当て、内蔵ＨＤＤに２台目のハードディスクドライブを指定するディスクドライブ番号８１ｈを割り当てる。逆に、内蔵ＨＤＤが外部ストレージデバイスよりも優先順位が高いならば、ＣＰＵ１１１は、内蔵ＨＤＤに１台目のハードディスクドライブを指定するディスクドライブ番号８０ｈを割り当て、外部ストレージデバイスに２台目のハードディスクドライブを指定するディスクドライブ番号８１ｈを割り当てる。
【００７４】
モード指定情報によって指定される現在のモードがＡｕｔｏモードではないならば、ＣＰＵ１１１は、現在のモードがＦＤモードおよびＨＤモードのいずれであるかを判別する（ステップＳ１０５）。ＦＤモードであれば、ＣＰＵ１１１は、外部ストレージデバイスをフレキシブルディスクドライブとして扱うためのドライブ番号０ｘｈを、外部ストレージデバイスに割り当てる（ステップＳ１０６）。ＨＤモードであれば、ＣＰＵ１１１は、外部ストレージデバイスをハードディスクドライブとして扱うためのドライブ番号８ｘｈを、外部ストレージデバイスに割り当てる（ステップＳ１０７）。
【００７５】
この後、ＣＰＵ１１１は、ブートデバイスを決定する処理を実行する（ステップＳ１０２）。ステップＳ１０２においては、ＣＰＵ１１１は、ブート優先順位情報と、外部ストレージデバイスに割り当てられたドライブ番号（８ｘｈまたは０ｘｈ）とに基づいて、外部ストレージデバイスがブートデバイスであるか否かを判別する。例えば、外部ストレージデバイスのドライブ番号が００ｈであり、且つブート優先順位情報によってＦＤＤが最も優先順位の高いデバイスとして指定されている場合においては、外部ストレージデバイスがブートデバイスとして決定され、そして外部ストレージデバイスから本コンピュータ１０をブートアップする処理が実行される。また、外部ストレージデバイスのドライブ番号が８０ｈであり、且つブート優先順位情報によってＨＤＤが最も優先順位の高いデバイスとして指定されている場合においては、外部ストレージデバイスがブートデバイスとして決定され、そして当該外部ストレージデバイスから本コンピュータ１０をブートアップする処理が実行される。
【００７６】
以上のように、本実施形態においては、Ａｕｔｏモードが選択されている時は、システムＢＩＯＳは、外部ストレージデバイスのフォーマット形式に応じて、適切なドライブ番号を外部ストレージデバイスに自動的に割り当てる。これにより、ユーザは、ＨＤエミュレーション形式およびＦＤエミュレーション形式のどちらを使用するかを明示的に指定することなく、外部ストレージデバイスをハードディスクドライブまたはフレキシブルディスクドライブとして正常に扱うことが可能となる。また、ユーザは、容易に、ＵＳＢメモリのような外部ストレージデバイスからオペレーティングシステムをブートアップしたり、ＵＳＢメモリにオペレーティングシステムをインストールする等の操作を行うことができる。
【００７７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施形態に係る情報処理装置を正面から見た外観を示す斜視図。
【図２】図１の情報処理装置を背面から見た外観を示す斜視図。
【図３】図１の情報処理装置に接続可能な外部ストレージデバイスの例を説明するための図。
【図４】図１の情報処理装置のシステム構成を示すブロック図。
【図５】図１の情報処理装置で用いられるシステムＢＩＯＳの機能構成を説明するブロック図。
【図６】図１の情報処理装置で用いられるシステムＢＩＯＳ内のディスクドライバルーチンの構成を示す図。
【図７】図１の情報処理装置で用いられるドライブ番号テーブルの例を説明するための図。
【図８】図６のディスクドライバルーチンの動作を説明するフローチャート。
【図９】図１の情報処理装置で用いられるシステムセットアップ画面の例を示す図。
【図１０】図１の情報処理装置の電源投入時に実行される処理の手順を示すフローチャート。
【符号の説明】
【００７９】
１０…コンピュータ、１１…コンピュータ本体、３１，３２，３３，３４…ＵＳＢポート、１００，１０２…外部ストレージデバイス、１１１…ＣＰＵ、１１７…内蔵ＨＤＤ、１１８…ＢＩＯＳ−ＲＯＭ、２０１…ＵＳＢコントローラ、２０３…不揮発性メモリ、３０２…接続検出部、３０３…フォーマット判定部、３０４…ドライブ番号割り当て部、３０５…ドライブ番号テーブル、３０６…アクセス処理部、３０７…ブートデバイス判定部、３０８…ブート処理部。
【図１】
2007052728.tif 000003
【図２】
2007052728.tif 000004
【図３】
2007052728.tif 000005
【図４】
2007052728.tif 000006
【図５】
2007052728.tif 000007
【図６】
2007052728.tif 000008
【図７】
2007052728.tif 000009
【図８】
2007052728.tif 000010
【図９】
2007052728.tif 000011
【図１０】
2007052728.tif 000012