(57)【要約】    【課題】  記憶装置に対するアクセス制御を、きめ細かく（アクセス制御が行えない期間を生じることなく）行うことが可能な情報処理装置を提供する。    【解決手段】  ユーティリティ・プログラム２０３は、リムーバブルハードディスク装置１２８が接続された後に当該接続をオペレーティングシステム２０２に認識させることなくリムーバブルハードディスク装置１２８から認証情報を読み出し且つ当該読み出し後にリムーバブルハードディスク装置１２８へのアクセスを禁止し、当該アクセスが禁止された後にリムーバブルハードディスク装置１２８が接続されたことをユーティリティ・プログラム２０３がオペレーティングシステム２０２に通知する。【選択図】      図２
2005284383.tif 000002
【特許請求の範囲】
【請求項１】
接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置であって、
前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出し且つ当該読み出し後に前記記憶装置へのアクセスを禁止するアクセス禁止手段と、
前記アクセス禁止手段により前記記憶装置へのアクセスが禁止された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置であって、
前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出して前記記憶装置にアクセスする際の認証を司る制御コンポーネントに当該認証情報を供給する認証情報供給手段と、
前記認証情報供給手段により前記認証情報が前記制御コンポーネントに供給された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知手段と
を備えたことを特徴とする情報処理装置。
【請求項３】
前記記憶装置は、リムーバブルディスク装置であることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記アクセス禁止手段は、ユーティリティ・プログラムであることを特徴とする請求項１又は２記載の情報処理装置。
【請求項５】
前記通知手段は、ユーティリティ・プログラムであることを特徴とする請求項１又は２記載の情報処理装置。
【請求項６】
接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置の制御方法であって、
前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出し且つ当該読み出し後に前記記憶装置へのアクセスを禁止するアクセス禁止工程と、
前記アクセス禁止工程により前記記憶装置へのアクセスが禁止された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知工程と
を備えたことを特徴とする情報処理装置の制御方法。
【請求項７】
接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置の制御方法であって、
前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出して前記記憶装置にアクセスする際の認証を司る制御コンポーネントに当該認証情報を供給する認証情報供給工程と、
前記認証情報供給工程により前記認証情報が前記制御コンポーネントに供給された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知工程と
を備えたことを特徴とする情報処理装置の制御方法。
【請求項８】
前記記憶装置は、リムーバブルディスク装置であることを特徴とする請求項６又は７記載の情報処理装置の制御方法。
【請求項９】
前記アクセス禁止工程は、ユーティリティ・プログラムが実行することを特徴とする請求項６又は７記載の情報処理装置の制御方法。
【請求項１０】
前記通知工程は、ユーティリティ・プログラムが実行することを特徴とする請求項６又は７記載の情報処理装置の制御方法。
【請求項１１】
請求項６乃至１０記載の情報処理装置の制御方法を実現するためのコンピュータ読み取り可能なプログラムコードを有することを特徴とする情報処理装置の制御プログラム。
【請求項１２】
請求項１１記載の情報処理装置の制御プログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその情報処理装置を制御するための情報処理装置の制御方法及び制御プログラム及びその制御プログラムを格納した記憶媒体に関する。
【背景技術】
【０００２】
近年、リムーバブルハードディスク装置等の記憶装置には、記憶データにアクセスするためのパスワードを装置内部の不揮発性メモリに登録できるものが開発されている（例えば、特許文献１参照）。
【０００３】
このようなリムーバブルハードディスク装置をシステムが立ち上がった状態の情報処理装置に接続する場合、前記不揮発性メモリ内のパスワードと、情報処理装置に接続した後にユーザが入力したパスワードとが一致した時にロックが解除されて、リムーバブルハードディスク装置へのアクセスが可能となる。
【０００４】
このようにロックが解除された後は、リムーバブルハードディスク装置は、ＯＳ（Operating System:オペレーティングシステム）の管理下で１人、または、複数のユーザからのアクセスに供される。
【０００５】
ここで、ロックが解除されたリムーバブルハードディスク装置を複数のユーザに利用させる際、リムーバブルハードディスク装置毎に所望のアクセス権を自動設定したい場合もある。リムーバブルハードディスク装置毎にアクセスを許可する対象のユーザが異なる場合、情報処理装置に接続されたリムーバブルハードディスク装置に応じた所望のアクセス権が自動設定されると利便性が向上する。
【０００６】
一般に、ＯＳは、情報処理装置に接続されたリムーバブルハードディスク装置に応じた所望のアクセス権を自動設定する機能をサポートしていない。
【特許文献１】特開２００２−２２９８５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のようなリムーバブルハードディスク装置毎に所望のアクセス権を自動設定する機能は、ＯＳではサポートされていないので、このＯＳ上で稼動するデバイスドライバやユーティリティ・プログラム等により、リムーバブルハードディスク装置毎に所望のアクセス権を自動設定する機能を実現することになる。
【０００８】
しかしながら、情報処理装置に接続されたリムーバブルハードディスク装置は、デバイスドライバやユーティリティ・プログラムに先んじて、まず、ＯＳが検出する仕組みになっている。
【０００９】
そのため、ＯＳが検出したリムーバブルハードディスク装置に対するアクセスの許可を開始するタイミングと、デバイスドライバまたはユーティリティ・プログラムによるリムーバブルハードディスク装置に対するアクセス権制御を開始するタイミングのいずれが早いかは、ＯＳの作成内容に依存してしまう。
【００１０】
そのため、ＯＳ上で稼動するデバイスドライバやユーティリティ・プログラムにより、リムーバブルハードディスク装置毎の所望のアクセス権を設定して、きめ細かく（アクセス制御が行えない期間を生じることなく）アクセス制御を行うことができないという問題があった。
【００１１】
即ち、従来は、まず、ＯＳがリムーバブルハードディスク装置の情報処理装置への挿入を検出し、その後、前記ＯＳの管理の下でユーティリティ・プログラムが前記リムーバブルハードディスク装置の情報処理装置への挿入を認知する仕組みとなっていた。
【００１２】
そのために、ユーティリティ・プログラムが装置へ挿入されたリムーバブルハードディスクを検知してアクセス権制御を開始するまでの期間は、リムーバブルハードディスク装置へのアクセスの可否はＯＳが握っていることになる。ユーティリティ・プログラムによりメーカ特有のアクセス制御を行いたいような場合、前記期間はリムーバブルハードディスク装置に対する所望のアクセス制御をきめ細かく（アクセス制御が行えない期間を生じることなく）行うことができない。
【００１３】
また、リムーバブルハードディスク装置毎に異なるアクセス権を設定すべく、そのアクセス権に係る情報をリムーバブルハードディスク装置の所定領域に格納する場合に、当該所定領域を悪意のユーザやプログラムから不当にアクセスされないような仕組みを設ける必要もある。
【００１４】
ちなみに、特許文献１には、情報処理装置に接続されたリムーバブルハードディスク装置をユーティリティ・プログラムがＯＳより先に検知する技術が開示されているが、情報処理装置に接続されたリムーバブルハードディスク装置毎に所望のアクセス権を設定する技術については一切開示されていない。
【００１５】
本発明は、上述したような従来技術の有する問題を解決するためになされたもので、その目的は、リムーバブルハードディスク装置等の記憶装置に対するアクセス制御を、きめ細かく（アクセス制御が行えない期間を生じることなく）行うことが可能な情報処理装置、情報処理装置の制御方法、制御プログラム及び記憶媒体を提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明の情報処理装置は、接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置であって、前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出し且つ当該読み出し後に前記記憶装置へのアクセスを禁止するアクセス禁止手段と、前記アクセス禁止手段により前記記憶装置へのアクセスが禁止された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知手段とを備えたことを特徴とする。
【００１７】
また、上記目的を達成するため、本発明の情報処理装置は、接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置であって、前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出して前記記憶装置にアクセスする際の認証を司る制御コンポーネントに当該認証情報を供給する認証情報供給手段と、前記認証情報供給手段により前記認証情報が前記制御コンポーネントに供給された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知手段とを備えたことを特徴とする。
【００１８】
また、上記目的を達成するため、本発明の情報処理装置の制御方法は、接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置の制御方法であって、前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出し且つ当該読み出し後に前記記憶装置へのアクセスを禁止するアクセス禁止工程と、前記アクセス禁止工程により前記記憶装置へのアクセスが禁止された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知工程とを備えたことを特徴とする。
【００１９】
更に、上記目的を達成するため、本発明の情報処理装置の制御方法は、接続された記憶装置のアクセスを管理するオペレーティングシステムを有する情報処理装置の制御方法であって、前記記憶装置が接続されたときに当該接続を前記オペレーティングシステムに認識させることなく前記記憶装置から認証情報を読み出して前記記憶装置にアクセスする際の認証を司る制御コンポーネントに当該認証情報を供給する認証情報供給工程と、前記認証情報供給工程により前記認証情報が前記制御コンポーネントに供給された後に前記記憶装置が接続されたことを前記オペレーティングシステムに通知する通知工程とを備えたことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、記憶装置に対する所望のアクセス制御を、きめ細かく（アクセス制御が行えない期間を生じることなく）行うことが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の情報処理装置、情報処理装置の制御方法、制御プログラム及び記憶媒体の各実施の形態について、図面を参照しながら説明する。
【００２２】
（第１の実施の形態）
まず、本発明の第１の実施の形態を図１乃至図７に基づき説明する。
【００２３】
図１は、本発明の第１の実施の形態に係る情報処理装置の構成を示すブロック図であり、同図において、１００は情報処理装置で、ＣＰＵ（Central Processing Unit:中央演算処理装置）１０１、ノースブリッジ１０２、メインメモリ１０３、グラフィックコントローラ１０４、ディスプレイ１０５、サウスブリッジ１０６、ハードディスク装置１０７、ＣＤ(Compact Disk)／ＤＶＤ(Digital Video Disk)ドライブ装置１０８、ＮＩＣ(Network Interface Card)１０９、インタフェース制御部１１０、リムーバブルハードディスクスロット部１１１、ＢＩＯＳ(Basic Input Output Systems)−ＲＯＭ(Read Only Memory)１１２、エンベデッドコントローラ(Embeded Controller：EC)１１３、キーボード１１４、排出スイッチ１１５、挿抜検知部１１６、モータ制御部１１７及びロック制御部１１８を有している。
【００２４】
ＣＰＵ１０１は、情報処理装置１００全体の制御を行うものである。ノースブリッジ１０２は、ＣＰＵローカルバス１１９、メモリバス１２０、ＡＧＰ（Accelerated Graphics Port）バス１２１、ＰＣＩ(Peripheral Component Interconnect)バス１２２を接続するためのブリッジである。メインメモリ１０３には、情報処理装置１００を制御するための制御プログラム等が格納されており、この制御プログラムはＣＰＵ１０１により読み出されて実行されるものである。グラフィックコントローラ１０４は、ディスプレイ１０５の表示を制御するものである。ディスプレイ１０５は、情報を表示するものである。
【００２５】
サウスブリッジ１０６は、ＡＴＡ（AT Attachment）バス１２３，１２４、ＰＣＩバス１２５、ＬＰＣ（low Pin Count）バス１２６を接続するブリッジである。ハードディスク装置１０７は、ＣＰＵ１０１により実行される各種のプログラム（オペレーティングシステム、デバイスドライバ、アプリケーションプログラム等）や、各種の管理情報を記憶するものである。このハードディスク装置１０７に記憶されたプログラムは、必要に応じてメインメモリ１０３に読み出される。ＣＤ／ＤＶＤドライブ装置１０８は、ＣＤ、或いはＤＶＤ等の記憶メディアにアクセスし、各種のプログラムや情報を情報処理装置１００にインストール、或いはコピーするのに使用されるものである。
【００２６】
ＮＩＣ１０９は、情報処理装置１００をネットワーク（例えば、ＬＡＮ「Local Area Network：域内通信網」）に接続するものである。インタフェース制御部１１０は、後述するリムーバブルハードディスク装置（記憶装置）１２８と各種のデータ通信を行うものである。ＮＩＣ１０９とインタフェース制御部１１０は、ＰＣＩバス１２５に接続されている。リムーバブルハードディスクスロット部１１１は、リムーバブルハードディスク装置１２８が挿抜されるものであり、このリムーバブルハードディスク装置１２８は、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に挿入されることにより、ＡＴＡバス１２７に接続されるものである。
【００２７】
ＢＩＯＳ−ＲＯＭ１１２は、情報処理装置１００内の各種ハードウェアをアクセスするファンクション実行ルーチンを体系化したプログラムを記憶し、情報処理装置１００の起動時に読み出されるものである。一般に、ＢＩＯＳは、情報処理装置１００内で不揮発性メモリ（フラッシュＲＯＭ等）に記憶されている。
【００２８】
ＥＣ１１３は、キーボード１１４によるキー入力操作を制御すると共に、排出スイッチ１１５の押下の検知及び挿抜検知部１１６、モータ制御部１１７、ロック制御部１１８をも制御する。
【００２９】
即ち、リムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１への挿入を、ＥＣ１１３が挿抜検知部１１６経由で検知した場合、リムーバブルハードディスク装置１２８がＡＴＡバス１２７に接続されるように、ＥＣ１１３は、モータ制御部１１７に対して読み出しの指示を行い、その読み出しの終了を待って、ロック制御部１１８に対してリムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１へのメカニカルなロックを指示する。
【００３０】
また、排出スイッチ１１５の操作によるリムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１からの排出（抜出）時も、同様に、ＥＣ１１３は、ロック制御部１１８に対して前記ロックの解除を指示した後、モータ制御部１１７に排出の指示を行い、挿抜検知部１１６経由でリムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１からの排出処理の完了を検知する。
【００３１】
ＢＩＯＳ−ＲＯＭ１１２とＥＣ１１３は、ＬＰＣバス１２６に接続されている。
【００３２】
キーボード１１４は、各種の情報を入力するためのものである。排出スイッチ１１５は、リムーバブルハードディスク装置１２８をリムーバブルハードディスクスロット部１１１から排出する場合に操作するものである。
【００３３】
挿抜検知部１１６は、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に対して挿入されているか、排出されているかを検知するものである。モータ制御部１１７は、リムーバブルハードディスクスロット部１１１に対してリムーバブルハードディスク装置１２８を挿抜動作させるためのモータ（不図示）を制御するものである。ロック制御部１１８は、リムーバブルハードディスク装置１２８をリムーバブルハードディスクスロット部１１１に対してロックしたり、そのロックを解除したりするように制御するものである。
【００３４】
リムーバブルハードディスク装置１２８は、各種のデータを格納するもので、リムーバブルハードディスクスロット部１１１に挿入されることにより、ＡＴＡバス１２７と接続されて、インタフェース制御部１１０と各種のデータ通信を行うものである。
【００３５】
図２は、本実施の形態に係る情報処理装置１００上で動作する主なソフトウエア・コンポーネントの概略構成を示す図である。
【００３６】
図２において、１００は本実施の形態に係る情報処理装置、１２８はリムーバブルハードディスク装置である。情報処理装置１００の内部には、ＢＩＯＳ２００、挿抜制御ドライバ２０１、ＯＳ（オペレーティングシステム）２０２及びユーティリティ・プログラム（アクセス禁止手段、認証情報供給手段、通知手段、）２０３が備えられている。
【００３７】
ＢＩＯＳ２００は、リムーバブルハードディスク装置１２８の着脱を検知するための着脱制御ドライバ２０１とリムーバブルハードディスク装置１２８との間のコマンドの受け渡し、また、その応答の返送を行い、また、ＯＳ２０２に対してＰｎＰイベントを通知する等の制御を行う。
【００３８】
着脱制御ドライバ２０１は、リムーバブルハードディスクスロット部１１１に対するリムーバブルハードディスク装置１２８の着脱（挿抜）状態を認識すると、ＢＩＯＳ２００に対してコマンドの発行や、その結果の取得を依頼する等の制御を行う。
【００３９】
ＯＳ２０２は、ＢＩＯＳ２００からリムーバブルハードディスク装置１２８を含む各種デバイスの情報処理装置本体に対する着脱状態を示す信号を受信すると、その状態に応じて、自身の初期化や着脱制御ドライバ２０１の読み出し等の制御を行う。
【００４０】
ユーティリティ２０３は、着脱制御ドライバ２０１の要求に応じて、ディスプレイ１０５（図１参照）にパスワード入力画面を表示し、ユーザに対してパスワードの入力を促し、ユーザによって入力されたパスワードを着脱制御ドライバ２０１に対して供給する等の制御を行う。
【００４１】
図３は、本実施の形態に係る情報処理装置１００におけるリムーバブルハードディスク装置１２８における記憶媒体上のデータレイアウトと、リムーバブルハードディスク装置１２８と情報処理装置１００との論理的な接続関係を示すブロック図である。
【００４２】
図３において、１００は本実施の形態に係る情報処理装置、１２８はリムーバブルハードディスク装置である。リムーバブルハードディスク装置１２８と情報処理装置１００との間は、ＡＴＡバス１２７（図１参照）を介して、論理的に３つの経路３１４，３１５，３１６により接続されている。
【００４３】
リムーバブルハードディスク装置１２８は、記憶媒体３０１、フラッシュ（FLASH）メモリ３０２、ＲＡＭ(Random Access Memory)３０３、論理スイッチ３１０，３１１，３１２，３１３を有している。
【００４４】
記憶媒体３０１は、ユーザデータ領域３０４及びリスト領域（所定領域）３０５の２つの領域を有している。ユーザデータ領域３０４は、ユーザデータを記憶する領域であって、通常パソコン（パーソナルコンピュータ）等によってディスク装置に保存されるデータは、このユーザデータ領域３０４に記憶される。リスト領域３０５は、ユーザデータ領域３０４とは別に設けられた領域であって、例えば、リムーバブルハードディスク装置１２８のタイトル情報や所有者情報等、情報処理装置１００のオペレーティングシステム（ＯＳ）やユーザデータ領域３０４のフォーマットに依存しない情報を記憶する。情報処理装置１００からリスト領域３０５へのアクセスには、後述する専用のＡＴＡコマンドを使用する。
【００４５】
フラッシュメモリ３０２上には管理領域３０６が設けられている。この管理領域３０６は、リムーバブルハードディスク装置１２８自体の動作を制御するための情報を記憶する領域であって、ＡＴＡパスワード３０７と、アクセスコントロール設定情報３０８とを記憶する。
【００４６】
ＡＴＡパスワード３０７は、ＲＡＭ３０３上に設けられたアクセスコントロール設定レジスタ３０９とユーザデータ領域３０４へのアクセスを制限するためのパスワードであって、情報処理装置１００より入力されたパスワードと、ＡＴＡパスワード３０７に記憶されているパスワードとが一致した場合にのみ、アクセスコントロール設定レジスタ３０９とユーザデータ領域３０４へのアクセスが可能となるように制御される。
【００４７】
アクセスコントロール設定情報３０８は、ユーザデータ領域３０４及びリスト領域３０５へのアクセスを制限するための情報であって、情報処理装置１００からアクセスコントロール設定情報３０８へのアクセスは、アクセスコントロール設定レジスタ３０９を介して行う。アクセスコントロール設定レジスタ３０９へのアクセスには、後述する専用のＡＴＡコマンドを使用する。情報処理装置１００から、ユーザデータ領域３０４及びリスト領域３０５へのアクセスの可否は、アクセスコントロール設定レジスタ３０９の情報を基に制御される。論理スイッチ３１０、３１１、３１２、３１３は、経路３１４、３１５、３１６のアクセス制御を、スイッチの形で模式的に表したものである。
【００４８】
なお、本実施の形態における説明では、管理領域３０６がフラッシュメモリ３０２に設けられている場合を例示したが、この管理領域３０６は、記憶媒体３０１に設けても良い。
【００４９】
次に、アクセスコントロール設定情報３０８と、アクセスコントロール設定レジスタ３０９について説明する。
【００５０】
上述したように、アクセスコントロール設定レジスタ３０９は、情報処理装置１００からアクセスコントロール設定情報３０８へのアクセスを行うためのレジスタであり、アクセスコントロール設定情報３０８とアクセスコントロール設定レジスタ３０９のデータフォーマットは、互いに同一となる。
【００５１】
図４は、これらのデータフォーマットの構成を示す図である。
【００５２】
図４において、ｂｉｔ６「Ｕｓｅｒ  Ｄａｔａ  Ｗｒｉｔｅ」は、情報処理装置１００からユーザデータ領域３０４へのデータ書き込みを制限するための情報であって、その値が０（Ｄｉｓａｂｌｅ）の場合は書き込み不可であることを、また、その値が１（Ｅｎａｂｌｅ）の場合は書き込み可能であることを、それぞれ表す。
【００５３】
図４において、ｂｉｔ５「Ｕｓｅｒ  Ｄａｔａ  Ｒｅａｄ」は、ユーザデータ領域３０４からのデータ読み出しを制限するための情報であって、その値が０（Ｄｉｓａｂｌｅ）の場合は読み出し不可であることを、また、その値が１（Ｅｎａｂｌｅ）の場合は読み出し可能であることを、それぞれ表す。
【００５４】
図４において、ｂｉｔ４「Ｌｉｓｔ  Ｄａｔａ  Ｗｒｉｔｅ」は、リスト領域３０５へのデータ書き込みを制限するための情報であって、その値が０（Ｄｉｓａｂｌｅ）の場合は書き込み不可であることを、また、その値が１（Ｅｎａｂｌｅ）の場合は書き込み可能であることを、それぞれ表す。
【００５５】
図４において、ｂｉｔ３「Ｌｉｓｔ  Ｄａｔａ  Ｒｅａｄ」は、リスト領域３０５からのデータ読み出しを制限するための情報であって、その値が０（Ｄｉｓａｂｌｅ）の場合は読み出し不可であることを、また、その値が１（Ｅｎａｂｌｅ）の場合は読み出し可能であることを、それぞれ表す。
【００５６】
図４において、ｂｉｔ２「Ｉｎｉｔｉａｌ  Ｃｏｎｔｒｏｌ」は、電源投入時並びにハードウェアリセット時において、アクセスコントロール設定情報３０８をアクセスコントロール設定レジスタ３０９にコピーする際に、上述したｂｉｔ３〜６の情報に対して制限を設けるための情報であって、その値が０（Ｄｉｓａｂｌｅ）の場合は、アクセスコントロール設定情報３０８のｂｉｔ３〜６に記憶された値が０または１の何れであっても、アクセスコントロール設定レジスタ３０９には０をコピーすることを表す。また、ｂｉｔ２の値が１（Ｈｏｌｄ）の場合は、アクセスコントロール設定情報３０８のｂｉｔ３〜６に記憶された値をそのままアクセスコントロール設定レジスタ３０９にコピーすることを表す。
【００５７】
図４において、ｂｉｔ１「Ｕｔｉｌｉｔｙ  １」と、ｂｉｔ０「Ｕｔｉｌｉｔｙ  ０」は、情報処理装置１００が利用するための情報を記憶しておくためのフラグであって、例えば、リムーバブルハードディスク装置１２８が起動ドライブである場合に、ｂｉｔ１「Ｕｔｉｌｉｔｙ  １」を１に設定する等といったように、情報処理装置１００によって自由に利用されることを想定している。このｂｉｔ１、ｂｉｔ０は、リムーバブルハードディスク装置１２８自体の動作に影響を与えるのもではなく、情報処理装置１００によって利用されるものである。
【００５８】
次に、アクセスコンロトール設定レジスタ３０９及びリスト領域３０５にアクセスするための専用ＡＴＡコマンドについて、図５を用いて説明する。
【００５９】
図５（Ａ）は、情報処理装置１００からリムーバブルハードディスク装置１２８への専用ＡＴＡコマンド（コマンド）を、図５（Ｂ）は、リムーバブルハードディスク装置１２８から情報処理装置１００への専用ＡＴＡコマンド（ステータス）を、それぞれ示す。
【００６０】
専用ＡＴＡコマンドは、アクセスコントロール設定レジスタ３０９に値を書き込むための「Ｓｅｔ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ」、アクセスコントロール設定レジスタ３０９の値を読み出すための「Ｒｅａｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ」、リスト領域３０５にデータを書き込むための「Ｐｕｔ  Ｌｉｓｔ  Ｄａｔａ」、リスト領域３０５のデータを読み出すための「Ｇｅｔ  Ｌｉｓｔ  Ｄａｔａ」の４つである。
【００６１】
図５では、「Ｓｅｔ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌコマンド」のプロトコルは、ＰＩＯデータアウト（ＰＯ）であり、ＡＴＡレジスタのＣｏｍｍａｎｄレジスタにＦＦｈ、Ｆｅａｔｕｒｅｓレジスタに０３ｈ、Ｓｅｃｔｏｒ  Ｃｏｕｎｔレジスタにアクセスコントロール設定値をセットすることを表している。
【００６２】
また、データアウトフェーズでは、パスワードを送信することを表している。
【００６３】
「Ｒｅａｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌコマンド」のプロトコルは、ＰＩＯデータアウト（ＰＯ）であり、ＡＴＡレジスタのＣｏｍｍａｎｄレジスタにＦＦｈ、Ｆｅａｔｕｒｅｓレジスタに０３ｈをセットすることを表している。また、データアウトフェーズでは、パスワードを送信することを表している。また、コマンドに対するステータスとして、Ｓｅｃｔｏｒ  Ｃｏｕｎｔレジスタに、読み出されたアクセスコントロール設定値をセットすることを表している。
【００６４】
「Ｐｕｔ  Ｌｉｓｔ  Ｄａｔａコマンド」のプロトコルは、ＰＩＯデータアウト（ＰＯ）であり、ＡＴＡレジスタのＣｏｍｍａｎｄレジスタにＦＦｈ、Ｆｅａｔｕｒｅｓレジスタに０５ｈ、Ｓｅｃｔｏｒ  Ｃｏｕｎｔに書き込むデータのセクタ数、Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ、Ｃｙｌｉｎｄｅｒ  Ｈｉｇｈ、Ｃｙｌｉｎｄｅｒ  Ｌｏｗレジスタにリスト領域３０５内の書き込み先の先頭アドレスをセットすることを表している。また、データアウトフェーズでは、リスト領域３０５に書き込むデータを送信することを表している。また、コマンドに対するステータスとして、Ｓｅｃｔｏｒ  Ｃｏｕｎｔには実際に書き込んだセクタ数、Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ、Ｃｙｌｉｎｄｅｒ  Ｈｉｇｈ、Ｃｙｌｉｎｄｅｒ  Ｌｏｗレジスタにはリスト領域３０５内にデータを書き込んだ最終アドレスをセットすることを表している。
【００６５】
「Ｇｅｔ  Ｌｉｓｔ  Ｄａｔａコマンド」のプロトコルは、ＰＩＯデータイン（ＰＩ）であり、ＡＴＡレジスタのＣｏｍｍａｎｄレジスタにＦＦｈ、Ｆｅａｔｕｒｅｓレジスタに０６ｈ、Ｓｅｃｔｏｒ  Ｃｏｕｎｔに読み出すデータのセクタ数、Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ、Ｃｙｌｉｎｄｅｒ  Ｈｉｇｈ、Ｃｙｌｉｎｄｅｒ  Ｌｏｗレジスタにリスト領域３０５内の読み出し先の先頭アドレスをセットすることを表している。また、コマンドに対するステータスとして、Ｓｅｃｔｏｒ  Ｃｏｕｎｔには実際に読み出したセクタ数、Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ、Ｃｙｌｉｎｄｅｒ  Ｈｉｇｈ、Ｃｙｌｉｎｄｅｒ  Ｌｏｗレジスタにはリスト領域３０５内からデータを読み出した最終アドレスをセットすることを表している。また、データインフェーズでは、リスト領域３０５から読み出されたデータを送信することを表している。
【００６６】
次に、本実施の形態に係る情報処理装置１００において、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に挿入されてから、ＯＳ２０２へ通知されるまでの手順について、図１及び図６を用いて説明する。
【００６７】
図６は、本実施の形態に係る情報処理装置１００において、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に挿入されてから、ＯＳ２０２へ通知されるまでの手順について、各種のプログラム間における処理を示すブロック図である。
【００６８】
なお、図６は、その左側から右側に向かって時系列順に記述されている。
【００６９】
リムーバブルハードディスク装置１２８が情報処理装置１００のリムーバブルハードディスクスロット部１１１に挿入された場合、挿抜検知部１１６は、その旨をＥＣ１１３へ通知する。ＥＣ１１３は、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１へ挿入されたことをＢＩＯＳ２００へ通知する（ステップＳ６０１）。
【００７０】
リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に挿入されたことを通知する信号を受信したＢＩＯＳ２００は、リムーバブルハードディスク装置１２８をインタフェース制御部１１０へ接続するために、リムーバブルハードディスクスロット部１１１に挿入されたリムーバブルハードディスク装置１２８の読み出し（ローディング）処理を行うようにＥＣ１１３に指示する（ステップＳ６０２）。ＢＩＯＳ２００からのローディング処理の指示を受信したＥＣ１１３は、モータ制御部１１７を動作させ、リムーバブルハードディスク装置１２８のローディング処理を実行する。
【００７１】
次に、ＢＩＯＳ２００は、ローディング処理の終了を待って、リムーバブルハードディスクスロット部１１１からのリムーバブルハードディスク装置１２８の不用意な抜出が行われないようにするために、ローディング処理されたリムーバブルハードディスク装置１２８のメカニカルなロック処理を行うようにＥＣ１１３に指示する（ステップＳ６０３）。ＢＩＯＳ２００からのメカニカルなロック処理の指示を受信したＥＣ１１３は、ロック制御部１１８を動作させ、リムーバブルハードディスク装置１２８のメカニカルなロック処理を行う。
【００７２】
なお、ローディング処理及びメカニカルなロック処理の終了の検知、或いはエラー終了の検知は、ＢＩＯＳ２００が定期的にＥＣ１１３に問い合わせしても良いし、時間及びその他のセンサー等から判断しても良い。また、前記ステップＳ６０２におけるローディング処理の指示及び前記ステップＳ６０３におけるメカニカルなロック処理の指示を、一度の指示にて行うようにしても良い。
【００７３】
次に、ＢＩＯＳ２００は、メカニカルなロック処理の終了後、リムーバブルハードディスク装置１２８のインタフェース制御部１１０への接続を、リムーバブルハードディスク装置１２８の挿抜の制御を行う挿抜制御ドライバ２０１へ通知する（ステップＳ６０４）。
【００７４】
リムーバブルハードディスク装置１２８のインタフェース制御部１１０への接続通知を受信した挿抜制御ドライバ２０１は、インタフェース制御部１１０に接続されたリムーバブルハードディスク装置１２８の状態確認をＢＩＯＳ２００に対して指示する（ステップＳ６０５）。
【００７５】
リムーバブルハードディスク装置１２８の状態確認指示を示す信号を受信したＢＩＯＳ２００は、挿抜制御ドライバ２０１からの指示に従って、リムーバブルハードディスク装置１２８の状態確認を行う（ステップＳ６０６）。具体的には、インタフェース制御部１１０及びＡＴＡバス１２７を通じてＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンド（コード：ＥＣｈ）をリムーバブルハードディスク装置１２８に送信し、その応答により、リムーバブルハードディスク装置１２８の状態を知ることができる。
【００７６】
なお、Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンドは、ＡＴＡ規格で規定されているコマンドである。
【００７７】
Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンドを受信したリムーバブルハードディスク装置１２８は、その応答として自己の状態及び性能等の情報をＡＴＡバス１２７及びインタフェース制御部１１０を通じてＢＩＯＳ２００へ送信する。その返信される情報のワードにリムーバブルハードディスク装置１２８のセキュリティ機能の情報がセットされており、ビット２の値により、そのリムーバブルハードディスク装置１２８がパスワードロックされているか否かを表している。即ち、リムーバブルハードディスク装置１２８の状態として、パスワードロックされているか否かの情報がＢＩＯＳ２００へ返信される（ステップＳ６０７）。
【００７８】
Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンドに対する応答を受信したＢＩＯＳ２００は、その応答を挿抜制御ドライバ２０１へ通知することにより、リムーバブルハードディスク装置１２８の状態、即ち、パスワードロックされているか否か等の情報を挿抜制御ドライバ２０１へ通知する（ステップＳ６０８）。
【００７９】
ＢＩＯＳ２００からリムーバブルハードディスク装置１２８の状態、即ち、パスワードロックされているか否か等の情報を受信した挿抜制御ドライバ２０１は、リムーバブルハードディスク装置１２８がパスワードロックされているか否かの判断を行う。そして、パスワードロックされていると判断された場合は、ユーティリティ・プログラム２０３へパスワードの要求を行う（ステップＳ６０９）。
【００８０】
挿抜制御ドライバ２０１からパスワードの要求を受信したユーティリティ２０３は、ユーザに対してパスワードの入力画面をディスプレイ１０５に表示する。また、ユーザによってキーボード１１４を使用して入力されたパスワードを、挿抜制御ドライバ２０１へ通知する（ステップＳ６１０）。
【００８１】
ユーティリティ・プログラム２０３からのパスワードの通知を受信した挿抜制御ドライバ２０１は、そのパスワードを用いて、リムーバブルハードディスク装置１２８のパスワードロックの解除をＢＩＯＳ２００に対して指示する（ステップＳ６１１）。
【００８２】
リムーバブルハードディスク装置１２８に対するパスワードロックの解除指示を示す信号を受信したＢＩＯＳ２００は、挿抜制御ドライバ２０１から受信したパスワードを用いて、リムーバブルハードディスク装置１２８のパスワードロックの解除を行う（ステップＳ６１２）。具体的には、インタフェース制御部１１０及びＡＴＡバス１２７を通じてＳｅｃｕｒｉｔｙ  Ｕｎｌｏｃｋコマンド（コード：Ｆ２ｈ）に受信したパスワードをセットして、リムーバブルハードディスク装置１２８に送信する。
【００８３】
なお、Ｓｅｃｕｒｉｔｙ  Ｕｎｌｏｃｋコマンドは、ＡＴＡ規格で規定されているコマンドである。
【００８４】
Ｓｅｃｕｒｉｔｙ  Ｕｎｌｏｃｋコマンドを受信したリムーバブルハードディスク装置１２８は、コマンドにセットされているパスワードが、リムーバブルハードディスク装置１２８内に記憶されているパスワードロックを解除するパスワードと一致するか否かの判断を行う。そして、コマンドにセットされているパスワードが、リムーバブルハードディスク装置１２８内に記憶されているパスワードロックを解除するパスワードと一致したと判断された場合は、リムーバブルハードディスク装置１２８のパスワードロックを解除し、その旨をＢＩＯＳ２００へ返信する（ステップＳ６１３）。また、コマンドにセットされているパスワードが、リムーバブルハードディスク装置１２８内に記憶されているパスワードロックを解除するパスワードと一致しないと判断された場合は、その旨を示す信号をＢＩＯＳ２００へ返信する。
【００８５】
Ｓｅｃｕｒｉｔｙ  Ｕｎｌｏｃｋコマンドに対する応答を受信したＢＩＯＳ２００は、リムーバブルハードディスク装置１２８のパスワードロックの解除が成功したか否かを挿抜制御ドライバ２０１へ通知する（ステップＳ６１４）。
【００８６】
リムーバブルハードディスク装置１２８のパスワードロックの解除が成功したことを示す信号を受信した挿抜制御ドライバ２０１は、ＯＳ２０２に対して、リムーバブルハードディスク装置１２８がリムーバブルスハードディスクロット部１１１に挿入され且つＡＴＡバス１２７を通じてインタフェース制御部１１０に接続されたこと、即ち、プラグイン（Plug in）されたことを通知するように、ＢＩＯＳ２００に指示する（ステップＳ６１５）。
【００８７】
ＯＳ２０２に対して、リムーバブルハードディスク装置１２８がプラグインされたことを通知するように指示されたＢＩＯＳ２００は、その旨を、ＯＳ２０２に通知する（ステップＳ６１６）。そして、リムーバブルハードディスク装置１２８がプラグインされたことを通知されたＯＳ２０２は、プラグアンドプレイ（Plug and Play）に必要な処理を行う。その結果、ＯＳ２０２上で動作する各種アプリケーションから、リムーバブルハードディスク装置１２８内の記憶領域に対してアクセス可能となる。
【００８８】
なお、挿抜制御ドライバ２０１は、前記ステップＳ６１５において、パスワードロックの解除が成功しなかったことを示す信号を受信した場合、その旨をユーティリティ２０３に表示するように依頼し、ＡＴＡ規格の許される限りの範囲で、前記ステップＳ６０９へ戻り、繰り返し処理を行うことによって、リムーバブルハードディスク装置１２８に対してパスワードのロック状態の解除が試行される。
【００８９】
また、前記ステップＳ６０９において、リムーバブルハードディスク装置１２８がパスワードロックされていないと判断された場合、ユーティリティ２０３へのパスワードのリクエストを行わず、以降のステップＳ６１０からステップＳ６１４までを省略し、挿抜制御ドライバ２０１は、ＯＳ２０２に対して、リムーバブルハードディスク装置１２８が、リムーバブルハードディスクスロット部１１１に挿入され、ＡＴＡバス１２７を通じてインタフェース制御部１１０に接続されたこと、即ち、プラグインされたことを通知するように、ＢＩＯＳ２００に指示した後、ステップＳ６１６へ移行する。
【００９０】
次に、本実施の形態に係る情報処理装置１００において、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に挿入されてからＯＳ２０２に通知されるまでのＣＰＵ１０１における処理手順について、図１及び図７を用いて説明する。
【００９１】
図７は、本実施の形態に係る情報処理装置１００において、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に挿入されてからＯＳ２０２に通知されるまでのＣＰＵ１０１における処理手順を示すフローチャートである。
【００９２】
なお、リムーバブルハードディスク装置１２８が情報処理装置１００のリムーバブルハードディスクスロット部１１１に挿入された場合、挿抜検知部１１６は、その旨をＥＣ１１３へ通知し、更に、ＥＣ１１３がＢＩＯＳ２００へ通知することにより、リムーバブルハードディスク装置１２８が情報処理装置１００のリムーバブルハードディスクスロット部１１１に挿入されたことが検知される。
【００９３】
リムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１への挿入を検知したＢＩＯＳ２００は、リムーバブルハードディスク装置１２８のローディング処理を行う（ステップＳ７０１）。即ち、ＢＩＯＳ２００は、リムーバブルハードディスク装置１２８をインタフェース制御部１１０へ接続するために、リムーバブルハードディスクスロット部１１１へ挿入されたリムーバブルハードディスク装置１２８のローディング処理を行うようにＥＣ１１３へ指示する。ローディング処理の指示を示す信号を受信したＥＣ１１３は、モータ制御部１１７を動作させ、リムーバブルハードディスク装置１２８のローディング処理を行う。
【００９４】
次に、ＢＩＯＳ２００は、ローディング処理の終了を待って、リムーバブルハードディスクスロット部１１１からのリムーバブルハードディスク装置１２８の不用意な抜出が行われないようにするために、リムーバブルハードディスク装置１２８のメカニカルなロック処理を行う（ステップＳ７０２）。即ち、ＢＩＯＳ２００は、ローディング処理されたリムーバブルハードディスク装置１２８のメカニカルなロック処理を行うようにＥＣ１１３へ指示する。メカニカルなロック処理の指示を示す信号を受信したＥＣ１１３は、ロック制御部１１８を動作させ、リムーバブルハードディスク装置１２８のメカニカルなロック処理を行う。
【００９５】
次に、ＢＩＯＳ２００は、メカニカルなロック処理の終了後、リムーバブルハードディスク装置１２８のインタフェース制御部１１０への接続を挿抜制御ドライバ２０１へ通知する（ステップＳ７０３）。
【００９６】
リムーバブルハードディスク装置１２８のインタフェース制御部１１０への接続通知を示す信号を受信した挿抜制御ドライバ２０１は、接続されたリムーバブルハードディスク装置１２８の状態確認を行う（ステップＳ７０４）。即ち、挿抜制御ドライバ２０１は、ＢＩＯＳ２００に対して状態確認を指示し、ＢＩＯＳ２００は、リムーバブルハードディスク装置１２８の状態確認を行う。具体的には、インタフェース制御部１１０及びＡＴＡバス１２７を通じてＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンド（コード：ＥＣｈ）をリムーバブルハードディスク装置１２８に送信し、その応答によりリムーバブルハードディスク装置１２８の状態を知ることができる。
【００９７】
Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンドを受信したリムーバブルハードディスク装置１２８は、その応答として自己の状態及び性能等の情報をＡＴＡバス１２７及びインタフェース制御部１１０を通じてＢＩＯＳ２００へ送信する。その返信される情報のワードにリムーバブルハードディスク装置１２８のセキュリティ機能の情報がセットされており、ビット２の値により、そのリムーバブルハードディスク装置１２８がパスワードロックされているか否かを判断することが可能である。即ち、リムーバブルハードディスク装置１２８の状態として、パスワードロックされているか否かを示す信号がＢＩＯＳ２００へ返信され、ＢＩＯＳ２００は、その応答を挿抜制御ドライバ２０１へ通知することにより、リムーバブルハードディスク装置１２８の状態、即ち、パスワードロックされているか否かを挿抜制御ドライバ２０１へ通知する。
【００９８】
ＢＩＯＳ２００からリムーバブルハードディスク装置１２８の状態、即ち、パスワードロックされているか否か等の情報を受信した挿抜制御ドライバ２０１は、リムーバブルハードディスク装置１２８がパスワードロックされているか否かの判断を行う（ステップＳ７０５）。そして、リムーバブルハードディスク装置１２８がパスワードロックされていると判断された場合はステップＳ７０６へ、また、パスワードロックされていないと判断された場合はステップＳ７０８へ、それぞれ移行する。
【００９９】
ステップＳ７０６では、リムーバブルハードディスク装置１２８に対してパスワードロックの解除処理を行う。即ち、ユーティリティ２０３へパスワードのリクエストを行い、ユーティリティ２０３は、ユーザに対してパスワードの入力画面をディスプレイ１０５に表示してパスワードの入力を促す。そして、ユーザにより入力されたパスワードは、挿抜制御ドライバ２０１へ通知され、そのパスワードを使用して挿抜制御ドライバ２０１は、ＢＩＯＳ２００経由でリムーバブルハードディスク装置１２８のパスワードロックの解除を行う。具体的には、インタフェース制御部１１０及びＡＴＡバス１２７を通じて、Ｓｅｃｕｒｉｔｙ  Ｕｎｌｏｃｋコマンド（コード：Ｆ２ｈ）に受信したパスワードをセットして、リムーバブルハードディスク装置１２８に送信する。
【０１００】
Ｓｅｃｕｒｉｔｙ  Ｕｎｌｏｃｋコマンドを受信したリムーバブルハードディスク装置１２８は、そのコマンドにセットされているパスワードが、リムーバブルハードディスク装置１２８内に記憶されているパスワードロックを解除するパスワードと一致するか否かの判断を行う。そして、コマンドにセットされているパスワードが、リムーバブルハードディスク装置１２８内に記憶されているパスワードロックを解除するパスワードと一致すると判断された場合は、リムーバブルハードディスク装置１２８のパスワードロックを解除し、その旨をＢＩＯＳ２００経由で挿抜制御ドライバ２０１へ通知する。
【０１０１】
なお、パスワードロックの解除が成功しなかった場合、その旨をユーティリティ・プログラム２０３に表示するように依頼し、ＡＴＡ規格の許される限り、繰り返しユーザによるパスワード入力及び当該入力されたパスワードを用いたパスワードロックの解除の試行が行われる。
【０１０２】
次に、前記ステップＳ７０６におけるパスワードロック解除処理の結果、リムーバブルハードディスク装置１２８のパスワードロックの解除が成功したか否かを判断する（ステップＳ７０７）。即ち、ＡＴＡ規格にて許される回数内の試行でパスワードロックの解除が成功したか否かを判断する。そして、パスワードロックの解除が成功したと判断された場合はステップＳ７０８へ、また、パスワードロックの解除が成功しなかったと判断された場合はステップＳ７０９へ、それぞれ移行する。
【０１０３】
ステップＳ７０８では、ＯＳ２０２に対してリムーバブルハードディスク装置１２８がプラグインされたことを通知する。即ち、挿抜制御ドライバ２０１は、リムーバブルハードディスク装置１２８が、リムーバブルハードディスクスロット部１１１に挿入され、ＡＴＡバス１２７を通じてインタフェース制御部１１０に接続されたこと、即ち、プラグインされたことをＯＳ２０２に通知するように、ＢＩＯＳ２００に指示する。ＢＩＯＳ２００は、挿抜制御ドライバ２０１からの指示に従って、その旨をＯＳ２０２に通知する。その後、ＢＩＯＳ２００からの通知を受けたＯＳ２０２は、プラグアンドプレイに必要な処理を行う。その結果、ＯＳ２０２上で動作する各種アプリケーションから、リムーバブルハードディスク装置１２８内の記憶領域に対してアクセス可能となる。
【０１０４】
また、ステップＳ７０９では、ＡＴＡ規格にて許される回数内の試行でパスワードロックの解除が成功せず、リムーバブルハードディスク装置１２８がＯＳ２０２上で動作する各種アプリケーションから使用可能にならない旨をユーティリティ・プログラム２０３に表示させ、エラー処理を行う。また、必要であるならば、ロック制御部１１８を動作させて、メカニカルなロックの解除を行い、モータ制御部１１７を動作させて、リムーバブルハードディスク装置１をリムーバブルハードディスクスロット部１１１から抜出させても良い。
【０１０５】
前記ステップＳ７０８、ステップＳ７０９の処理が終了後は、いずれも本処理動作を終了する。
【０１０６】
以上説明したように、本実施の形態では、リムーバブルハードディスク装置１２８がプラグインされた旨をＯＳ２０２へ通知する前に、リムーバブルハードディスク装置１２８を確実にインタフェース制御部１１０へ接続できるようにローディングし、メカニカルなロックを行う。更に、セキュリティ機能によりパスワードロックされていれば、その解除を行った後に、ＯＳ２０２へプラグインされたことを通知することにより、ＯＳ２０２からのプラグイン処理をより安全に行える情報処理装置１００を提供することができる。
【０１０７】
なお、本実施の形態では、セキュリティ機能を有するリムーバブルハードディスク装置１２８を例にして説明したが、予めセキュリティ機能を有さないと判明している可搬型記憶媒体であるならば、セキュリティ機能の確認及びパスワードロックの解除に関する処理を省略しても良い。
【０１０８】
また、リムーバブルハードディスク装置１２８に対してメカニカルなロック機能を有さない情報処理装置或いはリムーバブルハードディスク装置１２８のローディング機能を有さない情報処理装置であるならば、それらの処理を省略しても良い。
【０１０９】
また、情報処理装置１００に接続する記憶装置として、リムーバブルハードディスク装置１２８を例示したが、本発明は、リムーバブルハードディスク装置以外の記憶装置を情報処理装置１００に接続するようにしても良い。
【０１１０】
（第２の実施の形態）
次に、本発明の第２の実施の形態について、図８乃至図１０に基づき説明する。
【０１１１】
なお、本実施の形態に係る情報処理装置の基本的な構成は、上述した第１の実施の形態の図１と同一であるから、同図を流用して説明する。また、本実施の形態に係る情報処理装置とリムーバブルハードディスク装置との論理的な接続関係は、上述した第１の実施の形態の図３と同一であるから、同図を流用して説明する。
【０１１２】
本実施の形態では、情報処理装置１００にリムーバブルハードディスク装置１２８が接続された後、ＯＳ２０２以外のプログラム（本実施の形態におけるユーティリティ・プログラム２０３）がＢＩＯＳ２００を介して、リムーバブルハードディスク装置１２８のリスト領域（所定領域）３０５から所定情報を読み出し、当該読み出し後にリスト領域３０５のアクセスを禁止し、その後、ＯＳ２０２に対してリムーバブルハードディスク装置１２８の接続を通知するようにしたものである。従って、ユーティリティ・プログラム２０３は、アクセス禁止手段及び通知手段を構成する。
【０１１３】
本実施の形態では、所定情報は、リムーバブルハードディスク装置１２８へのアクセスを許可する認証情報として説明する。
【０１１４】
ＯＳ２０２が接続されたリムーバブルハードディスク装置１２８を認識する前に、該リムーバブルハードディスク装置１２８から認証情報を読み出して、該リムーバブルハードディスク装置１２８にアクセスする際のユーザ認証を司る認証制御コンポーネントに供給する。
【０１１５】
図８は、本実施の形態に係る情報処理装置１００上で動作するソフトウエア・コンポーネントの構成例を示す図であり、同図において、上述した第１の実施の形態の図２と同一部分には、同一符号が付してある。
【０１１６】
図８において図２と異なる点は、図２の構成に、アプリケーション（ソフトウエア・コンポーネント）８０１及びアクセス制御ドライバ８０２を付加したことである。
【０１１７】
アプリケーション８０１は、リムーバブルハードディスク装置１２８に記憶されている情報をローカルユーザ、または、リモートユーザにアクセスさせるためのソフトウェア・コンポーネントである。また、アクセス制御ドライバ８０２は、ユーザからのリムーバブルハードディスク装置１２８へのアクセス要求に介在し、ユーティリティ・プログラム２０３と連携して当該アクセス要求の正当性を判断し、それが正当であると判断した場合に、当該アクセス要求に対して許可を与えるソフトウェア・コンポーネントである。
【０１１８】
ユーティリティ・プログラム２０３は、挿抜制御ドライバ２０１を介してＢＩＯＳ２００と通信し、リムーバブルハードディスク装置１２８が情報処理装置１００に接続されたことを検出する処理、リムーバブルハードディスク装置１２８にディスクコマンドを発行して所望の制御を実行する処理及びリムーバブルハードディスク装置１２８が情報処理装置１００に接続されたことをＯＳ２０２に対して通知する処理を、それぞれ行う。
【０１１９】
また、ユーティリティ・プログラム２０３は、情報処理装置１００に接続されたリムーバブルハードディスク装置１２８のリスト領域３０５からアクセス許可リストを読み出す。そして、該アクセス許可リストに記録されている認証情報をリムーバブルハードディスク装置１２８へのアクセスの際の認証処理を司る認証制御コンポーネントに供給し、リムーバブルハードディスク装置１２８へアクセスする際の認証情報として利用できるようにする。これにより、リムーバブルハードディスク装置１２８に格納された当該リムーバブルハードディスク装置１２８固有の認証情報を、接続先の情報処理装置１００に反映させることができる。
【０１２０】
図９は、本実施の形態におけるアクセス許可リストのデータフォーマットの構成を示す図であり、同図に示すように、ユーザＩＤ９０１、パスワード９０２、フォルダ情報９０３及びアクセス権９０４が関連付けられて記憶されている。ここで、フォルダ情報９０３は、フォルダ単位でアクセス権９０４を設定する場合に用いる。
【０１２１】
ここで、ユーティリティ・プログラム２０３とアクセス制御ドライバ８０２とによるリムーバブルハードディスク装置１２８へのアクセス要求の正当性判断の手順を説明する。
【０１２２】
まず、ユーティリティ・プログラム２０３は、現在接続されているリムーバブルハードディスク装置１２８へアクセスするための許可を与えるユーザのユーザＩＤ（識別子）とパスワードの組からなる情報（以下、アクセス許可リストと記述する）を保持している。このアクセス許可リストは、リムーバブルハードディスク装置１２８のリスト領域３０５に格納されている。
【０１２３】
アクセス制御ドライバ８０２は、リムーバブルハードディスク装置１２８へのアクセス要求を検知すると、当該アクセス要求を一時留め置き、アクセス要求があった旨をユーティリティ・プログラム２０３へ通知する。
【０１２４】
ユーティリティ・プログラム２０３は、当該通知に応じてユーザＩＤとパスワードを要求するための画面をディスプレイ１０５に表示する。
【０１２５】
キーボード１１４からユーザＩＤとパスワードが入力されると、予め保持しているアクセス情報に設定されているユーザＩＤとパスワードの組のいずれかと一致するか否かを判断し、その判断結果をアクセス制御ドライバ８０２に通知する。
【０１２６】
アクセス制御ドライバ８０２は、通知された判断結果が肯定であれば、一時留め置いたアクセス要求を下位レイヤのソフトウエア・コンポーネント（不図示）に渡すことでアクセスを許可する。また、通知された判断結果が否定であれば、一時留め置いたアクセス要求を下位レイヤのソフトウエア・コンポーネントに渡すことなく、キャンセルすることでアクセスを禁止する。
【０１２７】
以上のような手順により、リムーバブルハードディスク装置１２８へのアクセス要求の正当性が判断される。
【０１２８】
次に、リムーバブルハードディスク装置１２８が情報処理装置１００に接続された場合のユーティリティ・プログラム２０３の動作を、図１０に基づき説明する。
【０１２９】
図１０は、本実施の形態に係る情報処理装置１００にリムーバブルハードディスク装置１２８が接続された場合のユーティリティ・プログラム２０３の動作の流れを示すフローチャートである。
【０１３０】
ユーティリティ・プログラム２０３は、ＢＩＯＳ２００及び挿抜制御ドライバ２０１と連携しながら、図１０の各処理ステップを実行する。
【０１３１】
図１０において、まず、ステップＳ１００１では、ＢＩＯＳ２００がリムーバブルハードディスク装置１２８の接続を検知したか否かを、検知するまで判断する。そして、リムーバブルハードディスク装置１２８の接続を検知した場合はステップＳ１００２へ進み、以降、当該接続されたリムーバブルハードディスク装置１２８を対象とした処理を実行する。
【０１３２】
ステップＳ１００２では、リムーバブルハードディスク装置１２８がロック状態である場合にユーザにパスワードの入力を促し、ユーザにより入力されたパスワードによりロックの解除を行う。次に、ステップＳ１００３で、アクセスコントロール設定レジスタ３０９を設定することにより、ユーザデータ領域３０４のアクセスを許可状態に設定する。次に、ステップＳ１００４で、アクセスコントロール設定レジスタ３０９を設定することにより、リスト領域３０５のアクセスを許可状態に設定する。次に、ステップＳ１００５で、リスト領域３０５に格納されているアクセス許可リストを読み出す（ロードする）。
【０１３３】
次に、ステップＳ１００６で、前記ステップＳ１００５において読み出したアクセス許可リストに設定されているユーザＩＤとパスワードの組から成る認証情報を、リムーバブルハードディスク装置１２８にアクセスする際の認証情報として使用されるように、対応するソフトウエア・コンポーネント（認証制御コンポーネント）に供給する。
【０１３４】
本実施の形態では、ユーティリティ・プログラム２０３とアクセス制御ドライバ８０２がアクセス許可リストから認証情報を取得し、リムーバブルハードディスク装置１２８へのアクセス要求に対して許可または禁止を行う。
【０１３５】
次に、ステップＳ１００７で、アクセスコントロール設定レジスタ３０９を設定することにより、リスト領域３０５のアクセスを禁止状態に設定する。次に、ステップＳ１００８で、ＢＩＯＳ２００に対して、リムーバブルハードディスク装置１２８が接続された旨をＯＳ２０２に通知するように指示を行う。ＢＩＯＳ２００は、当該指示に応じてＯＳ２０２にＰｎＰイベントを発行し、リムーバブルハードディスク装置１２８が接続された旨をＯＳ２０２に通知する。
【０１３６】
以降、ＯＳ２０２は、リムーバブルハードディスク装置１２８の存在を認識するので、ローカルユーザ、または、リモートユーザが、そのユーザデータ領域３０４をアクセスできるように設定する。その際は、アクセス制御ドライバ８０２がリムーバブルハードディスク装置１２８へのアクセス要求に介在し、該リムーバブルハードディスク装置１２８から読み出したアクセス許可リストに基づいてアクセスの許可または禁止を行う。
【０１３７】
Ｗｅｂサーバによりネットワーク上のリモートユーザに、リムーバブルハードディスク装置１２８に記憶されている情報を公開する場合には、該リムーバブルハードディスク装置１２８のリスト領域３０５から読み出したアクセス情報リストに設定されているユーザＩＤ情報とパスワードとを、Ｗｅｂサーバで使用するユーザ認証情報として供給するようにすれば良い。
【０１３８】
以上説明したように、本実施の形態によれば、情報処理装置１００にリムーバブルハードディスク装置１２８が接続された後、ＯＳ２０２以外のプログラム（本実施の形態におけるユーティリティ・プログラム２０３）がＢＩＯＳ２００を介してリムーバブルハードディスク装置１２８のリスト領域３０５からリムーバブルハードディスク装置１２８へのアクセスを許可する認証情報を読み出し、当該読み出し後に、リスト領域３０５へのアクセスを禁止し、その後、ＯＳ２０２に対してリムーバブルハードディスク装置１２８の接続を通知する。
【０１３９】
即ち、リムーバブルハードディスク装置１２８がＯＳ２０２に認識される前に、該リムーバブルハードディスク装置１２８から認証情報を読み出し、該リムーバブルハードディスク装置１２８にアクセスする際のユーザ認証を司る認証制御コンポーネントに認証情報を供給した後、ＯＳ２０２がリムーバブルハードディスク装置１２８を認識するように制御する。
【０１４０】
これにより、ＯＳ２０２が認識したリムーバブルハードディスク装置１２８をローカルユーザ、または、リモートユーザの利用に供する時点では、情報処理装置１００に接続されたリムーバブルハードディスク装置１２８毎に設定されている認証情報に基づく認証制御を稼動状態にさせておくことが可能となる。
【０１４１】
また、リムーバブルハードディスク装置１２８がＯＳ２０２に認識される前に、該リムーバブルハードディスク装置１２８の所定領域（リスト領域３０５）から情報を読み出し、該所定領域へのアクセスを禁止状態に設定した後、ＯＳ２０２がリムーバブルハードディスク装置１２８を認識するように制御するので、該所定領域が悪意のユーザやプログラムから不当にアクセスされるのを防止することができる。即ち、認証制御コンポーネントが使用する認証情報を格納するための秘匿領域をアクセス禁止状態に戻してから、ＯＳ２０２に、リムーバブルハードディスク装置１２８がリムーバブルハードディスクスロット部１１１に挿入されたことを通知するようにしたから、当該秘匿領域をＯＳ２０２も含めて、不正アクセスを防止することができる。
【０１４２】
（第３の実施の形態）
次に、本発明の第３の実施の形態を、図１１乃至図１４に基づき説明する。
【０１４３】
なお、本実施の形態に係る情報処理装置の基本的な構成は、上述した第1の実施の形態の図１乃至図３と同一であるから、これら各図を流用して説明する。
【０１４４】
本実施の形態は、情報処理装置１００のハードディスク装置１０７を、図３に示すリムーバブルハードディスク装置１２８と同一構成にしたものである。
【０１４５】
図１１は、ハードディスク装置１０７が図３に示すリムーバブルハードディスク装置１２８同一構成である場合の、ブートシーケンスとデータの位置関係を示す図である。
【０１４６】
記憶媒体３０１は、マスターブートレコード（ＭＢＲ）１１０１、ユーザデータ領域３０４、リスト領域（所定領域）３０５とから構成される。ＭＢＲ１１０１は、記憶媒体３０１の先頭セクタに配置され、通常ＢＩＯＳ２００によって実行される起動プログラムであるブートローダ１１０２、パーティション構造を定義するためのパーティションテーブル（図示せず）、ブートシグニチャ（図示せず）を含んでいる。
【０１４７】
ＢＩＯＳ２００は、ブート時、ＰＯＳＴ（Power On Self Test）処理と呼ばれる自己診断処理の後、リスト領域３０５に格納された認証プログラム１１０４をメインメモリ１０５に読み込み、認証プログラム１１０４を実行する。認証プログラム１１０４は、認証データ１１０５を参照し、リムーバブルハードディスク装置１２８が認証データ１１０５に登録されていれば、認証データ１１０５に登録されているパスワードを使用してリムーバブルハードディスク装置１２８のセキュリティロック解除を行う。認証プログラム１１０４は、リムーバブルハードディスク装置１２８のセキュリティロック解除を行った後、ＭＢＲ１１０１に格納されたブートローダ１１０２をメインメモリ１０５に読み込み、ブートローダ１１０２を実行する。ブートローダ１１０２には、従来の装置と同様にオペレーティングシステム（OS）を起動するためのプログラムが書き込まれており、ブートローダ１１０２は、ＩＰＬ１１０３に制御を渡し、ＢＩＯＳによって実行されるブート処理を終了する。
【０１４８】
ここで、認証データ１１０５について、図１２を用いて説明する。
【０１４９】
認証データ１１０５には、情報処理装置１００に接続されるリムーバブルハードディスク装置１２８の型名１２０１、シリアル番号１２０２、ＡＴＡパスワード１２０３が記述されている。認証データ１１０５には、複数のリムーバブルハードディスク装置１２８の情報を記述することが可能である。図１２の例では、型名「ＡＡＡＡＡ」、シリアル番号「１１１１１」のリムーバブルハードディスク装置に設定されているＡＴＡパスワードが「ＸＸＸＸＸＸＸＸ」であって、型名「ＢＢＢＢＢ」、シリアル番号「２２２２２」のリムーバブルハードディスク装置に設定されているＡＴＡパスワードが「ＹＹＹＹＹＹＹＹ」であることを表している。
【０１５０】
認証プログラム１１０４による認証は、認証データ１１０５に記述されている型名、シリアル番号と、リムーバブルハードディスク装置１２８のＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎから得られる型名、シリアル番号とを比較することにより行う。
【０１５１】
次に、ＡＴＡの標準的なコマンドであるＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅについて説明する。
【０１５２】
Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅは、ハードディスク装置１０７に関する詳細な情報を得るためのコマンドであって、コマンドに応答してハードディスク装置１０７より上位装置（ここではＢＩＯＳ２００）に返送される情報（データ）をＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎと呼ぶ。
【０１５３】
Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎには、図１３に示すように、ハードディスク装置１０７の型名（Ｍｏｄｅｌ  ｎｕｍｂｅｒ）、シリアル番号（Ｓｅｒｉａｌ  ｎｕｍｂｅｒ）、セキュリティ状態（Ｓｅｃｕｒｉｔｙ  ｓｔａｔｕｓ）を示す情報等が格納されている。
【０１５４】
本実施の形態に係る情報処理装置１００におけるハードディスク装置１０７の場合は、上記のデータに加えて図１３のｗｏｒｄ１５６に示す付加情報を格納することが可能である。このｗｏｒｄ１５６は、従来Ｖｅｎｄｏｒ  Ｓｐｅｃｉｆｉｃな領域として割り当てられている領域であり、本実施の形態では、この領域を用いて、以下に挙げる情報を格納している。
【０１５５】
図１３において、ｂｉｔ１５からｂｉｔ８と、ｂｉｔ６からｂｉｔ３は、Ｒｅｓｅｒｖｅｄ領域であり、これは使用しない。ｂｉｔ７は、ハードディスク装置が本実施の形態に係る情報処理装置１００におけるハードディスク装置１０７であることを示すビットであり、常に１がセットされる。ｂｉｔ２は、Ｉｎｉｔｉａｌ  Ｃｏｎｔｒｏｌであって、図４で説明したアクセスコントロール情報のｂｉｔ２と同一の情報が格納される。ｂｉｔ１は、Ｕｔｉｌｉｔｙ  １であって、図４で説明したアクセスコントロール情報のｂｉｔ１と同一の情報が格納される。ｂｉｔ０は、Ｕｔｉｌｉｔｙ  ０であって、図４で説明したアクセスコントロール情報のｂｉｔ０と同一の情報が格納される。
【０１５６】
次に、本実施の形態に係る情報処理装置１００のブート時におけるＢＩＯＳ２００のプログラム処理について、図１４のフローチャートを用いて説明する。
【０１５７】
まず、ＢＩＯＳ２００は、ＰＯＳＴ処理を行った後（ステップＳ１４０１）、起動ディスクであるハードディスク装置１０７に対してＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンドを送信し、ハードディスク装置１０７から返送されるＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎを受信する（ステップＳ１４０２）。Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎを解析し、Ｓｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態であるか否かを判断する（ステップＳ１４０３）。そして、Ｓｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態であるあると判断された場合は、ユーザ（操作者）によるパスワード入力によって（ステップＳ１４０４）、Ｓｅｃｕｒｉｔｙ  ｌｏｃｋの解除を行う（ステップＳ１４０５）。一方、前記ステップＳ１４０３において、Ｓｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態でないと判断された場合は、ブートローダ１１０２に制御を渡し（ステップＳ１４１５）、その後、ＢＩＯＳ２００によって実行されるブート処理を終了する。
【０１５８】
ここで、前記ステップＳ１４０３において実行されるＳｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態か否かの判断については、Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎのｗｏｒｄ１２８のｂｉｔ２を解析することにより行い、当該ビットが「１」であればＳｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態であると判断し、「０」であればＳｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態でないと判断する。
【０１５９】
Ｉｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎのｗｏｒｄ１２８の構成を図１３に示す。
【０１６０】
また、Ｓｅｃｕｒｉｔｙ  ｌｏｃｋの解除については、ステップＳ１４０４においてユーザにより入力されたパスワードを伴うＳｅｃｕｒｉｔｙ  ＵｎｌｏｃｋコマンドをＢＩＯＳ２００からハードディスク装置１０７に対して送信することにより行う。
【０１６１】
再び図１４のフローチャートに戻って説明を続ける。
【０１６２】
前記ステップＳ１４０５においてＳｅｃｕｒｉｔｙ  ｌｏｃｋの解除を行った後、Ｉｎｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎのｗｏｒｄ１５６のｂｉｔ７を解析し、当該ディスク装置が本発明のディスク装置であるか否かを判断する（ステップＳ１４０６）。そして、当該ビットが「１」であれば、ステップＳ１４０７へ進む。また、当該ビットが「０」であれば、ブートローダ１１０２に制御を渡し（ステップＳ１４１５）、その後、ＢＩＯＳ２００によって実行されるブート処理を終了する。
【０１６３】
ここで、当該ビットが「１」であるということは、このハードディスク装置が本実施の形態に係る情報処理装置におけるハードディスク装置１０７であること、即ち、図３に示すリスト領域３０５と同様の「リスト領域」を持つリムーバブルハードディスク装置であることを意味している。また、当該ビットが「０」であるということは、このハードディスク装置が本実施の形態に係る情報処理装置におけるハードディスク装置１０７でないこと、即ち、図３に示すリスト領域３０５と同様の「リスト領域」を持つリムーバブルハードディスク装置でないことを意味している。
【０１６４】
ステップＳ１４０７では、前述したＳｅｔ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌコマンドによってリスト領域３０５の読み出しをＥｎａｂｌｅに設定し、読み出し可能となったリスト領域３０５から認証プログラム１１０４を読み出す（ステップＳ１４０８）。
【０１６５】
ここで、ステップＳ１４０９以降の処理は、ステップＳ１４０８で読み出された認証プログラムを実行することによって行われる処理となる。
【０１６６】
ステップＳ１４０９では、情報処理装置１００に接続されているリムーバブルハードディスク装置１２８に対しＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅコマンドを送信し、リムーバブルハードディスク装置１２８から返送されるＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎを受信する。次に、認証データ１１０５に記憶しているリムーバブルハードディスク装置の型名（Model number）、シリアル番号（Serial number）と、前記ステップＳ１４０９において受信したＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎに含まれるＭｅｄｅｌ  ｎｕｍｂｅｒ、Ｓｅｒｉａｌ  ｎｕｍｂｅｒとの照合を行い、認証データ１１０５と合致したか否かを判断する（ステップＳ１４１０）。
【０１６７】
そして、認証データ１１０５と合致したと判断された場合は（ステップＳ１４１０）、当該リムーバブルハードディスク装置がＳｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態であるか否かを判断する（ステップＳ１４１１）。そして、当該リムーバブルハードディスク装置がＳｅｃｕｒｉｔｙ  ｌｏｃｋｅｄの状態であると判断された場合は（ステップＳ１４１１）、認証データ１１０５に記憶しているパスワードを伴うＳｅｃｕｒｉｔｙ  Ｕｎｌｏｃｋコマンドを送信し、Ｓｅｃｕｒｉｔｙ  ｌｏｃｋの解除を行う（ステップＳ１４１２）。
【０１６８】
本実施の形態では、リムーバブルハードディスク装置１２８が複数接続されている場合に対応しており、前記ステップＳ１４１２においてＳｅｃｕｒｉｔｙ  ｌｏｃｋの解除を行った後に加えて、前記ステップＳ１４１０において認証データが合致しないと判断された場合と、前記ステップＳ１４１１においてＳｅｃｕｒｉｔｙ  ｌｏｃｋｅｄ状態でないと判断された場合に、情報処理装置１００に接続されているリムーバブルハードディスク装置の全てに対して処理が終了したか否かを判断する（ステップＳ１４１３）。
【０１６９】
そして、全てのリムーバブルハードディスク装置に対する処理が完了していないと判断された場合は（ステップＳ１４１３）、前記ステップＳ１４０９へ戻る。また、全てのリムーバブルハードディスク装置に対する処理が完了していると判断された場合は（ステップＳ１４１３）、Ｓｅｔ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌコマンドによってハードディスク装置１０７のリスト領域の読み出しをＤｉｓａｂｌｅに設定し（ステップＳ１４１４）、ハードディスク装置１０７のブートローダ１１０２に制御を渡し（ステップＳ１４１５）、ＢＩＯＳ２００によって実行されるブート処理を終了する。
【０１７０】
（第４の実施形態）
次に、本発明の第４の実施形態を図１５及び図１６に基づき説明する。
【０１７１】
なお、本実施の形態に係る情報処理装置の基本的な構成は、上述した第１の実施の形態の図１乃至図３と同一であるから、これら各図を流用して説明する。
【０１７２】
図１５は、本発明の第４の実施形態に係る情報処理装置１００において、リムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１からの抜出を要求してから、ユーティリティ・プログラム２０３及び挿抜制御ドライバ２０１、ＢＩＯＳ２００を通じてリムーバブルハードディスク装置１２８をリムーバブルハードディスクスロット部１１１から抜出し、その旨をＯＳ２０２に通知するまでの手順について、各種のプログラム間における処理を示すブロック図である。
【０１７３】
ここで、リムーバブルハードディスク装置１２８は、リムーバブルハードディスクスロット部１１１に挿入されており、ＡＴＡバス１３１及びインタフェース制御部１２３を介して記憶媒体としてＯＳ２０２上で動作しているアプリケーションプログラムからアクセスされている。
【０１７４】
なお、図１５は、左側から右側に向かって時系列順に記述されている。
【０１７５】
ユーザがリムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１からの抜出（排出）を要求する方法としては、排出スイッチ１１５を押下する、或いはユーティリティ・プログラム２０３が提供するＵＩ（User Interface）から抜出操作を行う方法が挙げられる。
【０１７６】
前者の場合、排出スイッチ１１５が押下されたことをＥＣ１１３が検知し、その旨をユーティリティ・プログラム２０３へ通知する。また、後者の場合はーティリティ・プログラム２０３がユーザからのＵＩを通じた抜出操作により、抜出指示の要求を受信する。
【０１７７】
抜出指示要求を受信したユーティリティ・プログラム２０３は、リムーバブルハードディスク装置１２８の挿抜の制御を行う挿抜制御ドライバ２０１に対して抜出指示を行う（ステップＳ１５０１）。
【０１７８】
或いは後述するように、挿抜制御ドライバ２０１がユーティリティ・プログラム２０３に対して周期的に問い合わせを行い、抜出指示があったか否かを検知するようにしても良い。
【０１７９】
抜出指示を受信した挿抜制御ドライバ２０１は、ユーザ、即ちアプリケーションプログラムからのアクセスを切断する処理や、ＢＩＯＳ２００に対してＡＴＡ規格で規定されているＡＴＡコマンドを用いてリムーバブルハードディスク装置１２８のキャッシュの掃き出し処理等の終端処理を要求して、リムーバブルハードディスク装置１２８に対する更なるアクセスを禁止し、且つデータの損失を防ぎ、安全にリムーバブルハードディスク装置１２８をリムーバブルハードディスクスロット部１１１から抜出するための終端処理要求を行う（ステップＳ１５０２）。また、その他、リムーバブルハードディスク装置１２８に関する固有の設定等を要求することも可能である。
【０１８０】
リムーバブルハードディスク装置１２８に対する終端処理要求を受信したＢＩＯＳ２００は、リムーバブルハードディスク装置１２８の終端処理を行う（ステップＳ１５０３）。具体的には、インタフェース制御部１２３及びＡＴＡバス１３１を通じてＡＴＡコマンドをリムーバブルハードディスク装置１２８に送信する。
【０１８１】
終端処理が終了すると、ＢＩＯＳ２００は、リムーバブルハードディスク装置１２８をリムーバブルハードディスクスロット部１１１から抜出するために、メカニカルなアンロック処理を行うようＥＣ１１３に指示する（ステップＳ１５０４）。メカニカルなアンロック処理の指示を受信したＥＣ１１３は、ロック制御部１１８を動作させ、リムーバブルハードディスク装置１２８のメカニカルなアンロック処理を行う。
【０１８２】
更にＢＩＯＳ２００は、メカニカルなアンロック処理を終了した後、リムーバブルハードディスク装置１２８とＡＴＡバス１２７との接続を切断するために、リムーバブルハードディスク装置１２８の抜出処理を行うようにＥＣ１１３に指示する（ステップＳ１５０５）。
【０１８３】
抜出処理の指示を受信したＥＣ１１３は、モータ制御部１１７を動作させ、リムーバブルハードディスク装置１２８の抜出処理を行う。ＥＣ１１３は、挿抜検知部１１６経由でリムーバブルハードディスク装置１２８の抜出処理の完了を検知し、その旨をＢＩＯＳ２００に通知する。
【０１８４】
なお、メカニカルなアンロック処理完了の検知及び抜出処理完了の検知、或いはエラー終了の検知は、ＢＩＯＳ２００が定期的にＥＣ１１３に問い合わせしても良いし、時間及びその他のセンサー等から判断しても良い。
【０１８５】
リムーバブルハードディスク装置１２８の抜出処理完了の通知を受信したＢＩＯＳ２００は、その旨をユーティリティ・プログラム２０３に通知する（ステップＳ１５０６）。
【０１８６】
リムーバブルハードディスク装置１２８の抜出処理完了の通知を受信したユーティリティ・プログラム２０３は、ＢＩＯＳ２００を通じてＯＳ２０２に対して、リムーバブルハードディスク装置１２８がＡＴＡバス１２７から切断、即ちプラグアウト（Ｐｌｕｇ  ｏｕｔ）されたことを通知するように、挿抜制御ドライバ２０１に指示する（ステップＳ１５０７）。
【０１８７】
プラグアウト通知の指示を受信した挿抜制御ドライバ２０１は、ＯＳ２０２に対して、リムーバブルハードディスク装置１２８がプラグアウトされたことを通知するように、ＢＩＯＳ２００に指示する（ステップＳ１５０８）。
【０１８８】
ＯＳ２０２に対してリムーバブルハードディスク装置１２８がプラグアウトされたことを通知するように指示されたＢＩＯＳ２００は、その旨をＯＳ２０２に通知する（ステップＳ１５０９）。ＢＩＯＳ２００からの通知を受信したＯＳ２０２は、プラグアンドプレイ（Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）に必要な処理を行う。その結果、リムーバブルハードディスク装置１２８は、ＯＳ２０２からデバイスとして認識されず、ＯＳ２０２上で動作する各種アプリケーションからアクセスすることが不可能となる。
【０１８９】
次に、本実施の形態に係る情報処理装置１００において、ユーザがユーティリティ・プログラム２０３を通じて、リムーバブルハードディスクスロット部１１１に接続されているリムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１からの抜出を要求してから、ＯＳ２０２においてプラグアンドプレイに必要な処理が行われるまでの、ＣＰＵ１０１における処理動作について、図１６を用いて説明する。
【０１９０】
図１６は、本実施の形態に係る情報処理装置１００において、ユーザがユーティリティ・プログラム２０３を通じて、リムーバブルハードディスクスロット部１１１に接続されているリムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１からの抜出を要求してから、ＯＳ２０２においてプラグアンドプレイに必要な処理が行われるまでの、ＣＰＵ１０１における処理動作の流れを示すフローチャートである。
【０１９１】
なお、リムーバブルハードディスク装置１２８の抜出指示は、ユーザが排出スイッチ１１５を押下する、或いはユーティリティ・プログラム２０３が提供するＵＩからの抜出操作によって行われる。
【０１９２】
挿抜制御ドライバ２０１は、ユーティリティ・プログラム２０３を周期的にポーリングすることによって、リムーバブルハードディスク装置１２８の抜出指示があったことを検知する（ステップＳ１６０１）。
【０１９３】
リムーバブルハードディスク装置１２８の抜出指示を検知した挿抜制御ドライバ２０１は、リムーバブルハードディスク装置１２８をリムーバブルハードディスクスロット部１１１から安全に抜出できるようにするべく、ＢＩＯＳ２００に対して、リムーバブルハードディスク装置１２８の終端処理を要求する。終端処理要求を受信したＢＩＯＳ２００は、リムーバブルハードディスク装置１２８に対して、キャッシュの掃き出しを行う等の終端処理を行う（ステップＳ１６０２）。また、ユーザに対して、リムーバブルハードディスク装置１２８へのアクセスを切断するといった処理も行う。
【０１９４】
以上のようにして終端処理を行うことにより、データの損失を防ぎ、リムーバブルハードディスク装置１２８をリムーバブルハードディスクスロット部１１１から安全に抜出することが可能となる。また、その他、リムーバブルハードディスク装置１２８に関する固有の設定等を行うことも可能である。
【０１９５】
次に、リムーバブルハードディスク装置１２８を抜出するために、メカニカルなアンロック処理を行う（ステップＳ１６０３）。具体的には、ＢＩＯＳ２００がＥＣ１１３に対してメカニカルなアンロック処理を行うように指示し、その旨を受信したＥＣ１１３は、ロック制御部１１８を動作させ、リムーバブルハードディスク装置１２８のメカニカルなアンロック処理を行う。
【０１９６】
次に、リムーバブルハードディスク装置１２８のリムーバブルハードディスクスロット部１１１からの抜出処理を行い、リムーバブルハードディスク装置１２８を情報処理装置１００の外部に取り出す（ステップＳ１６０４）。具体的には、ＢＩＯＳ２００がＥＣ１１３に対して抜出処理を行うように指示し、その旨を受信したＥＣ１１３は、モータ制御部１１７を動作させ、リムーバブルハードディスク装置１２８の抜出処理を行う。そして、ＢＩＯＳ２００は、挿抜検知部１１６により、リムーバブルハードディスク装置１２８の抜出処理の完了を検知する。
【０１９７】
最後に、リムーバブルハードディスク装置１２８がプラグアウトされたことをＯＳ２０２に対して通知し（ステップＳ１６０５）、その後、本処理動作を終了する。
【０１９８】
以上説明したように、本実施の形態においては、リムーバブルハードディスク装置１２８の抜出要求をＯＳ２０２が検出する前に、リムーバブルハードディスク装置１２８の終端処理や固有の設定を行うことが可能となり、また、メカニカルなアンロック処理、抜出処理を行うことによって、ＯＳ２０２からのプラグアウト処理をより確実に且つ安全に行える情報処理装置を提供することができる。
【０１９９】
（その他の実施の形態）
以上が本発明の実施の形態の説明であるが、本発明は、これら実施の形態に限られるものではなく、特許請求の範囲で示した機能、または実施の形態の構成が持つ機能を達成できる構成であれば、どのようなものであっても適用可能である。
【０２００】
また、本発明の目的は、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体及びプログラムは本発明を構成することになる。
【０２０１】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０２０２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０２０３】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０２０４】
【図１】本発明の第１の実施の形態に係る情報処理装置のシステム全体の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る情報処理装置のソフトウエア・コンポーネントの構成を示す図である。
【図３】本発明の第１の実施の形態に係る情報処理装置とリムーバブルハードディスク装置との論理的な接続関係を示すブロック図である。
【図４】本発明の第１の実施の形態に係る情報処理装置におけるアクセスコントロール設定情報のデータフォーマットの一例を示す図である。
【図５】本発明の第１の実施の形態に係る情報処理装置におけるＡＴＡコマンドとステータスのデータフォーマットの一例を示す図である。
【図６】本発明の第１の実施の形態に係る情報処理装置のリムーバブルハードディスクスロット部にリムーバブルハードディスク装置が挿入されてから、ＯＳへ通知されるまでの手順について、各種のプログラム間における処理を示すブロック図である。
【図７】本発明の第１の実施の形態に係る情報処理装置のリムーバブルハードディスクスロット部にリムーバブルハードディスク装置が挿入されてから、ＯＳへ通知されるまでの、ＣＰＵにおける処理動作の流れを示すフローチャート。
【図８】本発明の第２の実施の形態に係る情報処理装置上で動作するソフトウエア・コンポーネントの構成例を示す図である。
【図９】本発明の第２の実施の形態に係る情報処理装置におけるアクセス許可リストのデータフォーマットの一例を示す図である。
【図１０】本発明の第２の実施の形態に係る情報処理装置におけるユーティリティ・プログラムの処理動作の流れを示すフローチャートである。
【図１１】本発明の第３の実施の形態に係る情報処理装置におけるブートシーケンスとデータの位置関係を示す図である。
【図１２】本発明の第３の実施の形態に係る情報処理装置におけるリムーバブルハードディスク装置認証データの一例を示す図である。
【図１３】本発明の第３の実施の形態に係る情報処理装置におけるＩｄｅｎｔｉｆｙ  Ｄｅｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎを示す図である。
【図１４】本発明の第３の実施の形態に係る情報処理装置における起動処理動作の流れを示すフローチャートである。
【図１５】本発明の第４の実施の形態に係る情報処理装置におけるリムーバブルハードディスク装置の抜出を要求してから、ＯＳへ通知されるまでの手順について、各種のプログラム間における処理を示すブロック図である。
【図１６】本発明の第４の実施の形態に係る情報処理装置におけるリムーバブルディスク装置の抜出を要求してから、ＯＳへ通知されるまでの、ＣＰＵにおける処理動作の流れを示すフローチャートである。
【符号の説明】
【０２０５】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ノースブリッジ
１０３  メインメモリ
１０４  グラフィックコントローラ
１０５  ディスプレイ
１０６  サウスブリッジ
１０７  ハードディスク装置
１０８  ＣＤ／ＤＶＤドライブ装置
１０９  ＮＩＣ（Network Interface Card）
１１０  インタフェース制御部
１１１  リムーバブルハードディスクスロット部
１１２  ＢＩＯＳ−ＲＯＭ
１１３  エンベデッドコントローラ（(Embeded Controller：EC)
１１４  キーボード
１１５  抜出スイッチ
１１６  挿抜検知部
１１７  モータ制御部
１１８  ロック制御部
１１９  ＣＰＵローカルバス
１２０  メモリバス
１２１  ＡＧＰ（Accelerated Graphics Port）バス
１２２  ＰＣＩ（Peripheral Component Interconnect）バス
１２３  ＡＴＡ（AT Attachment）バス
１２４  ＡＴＡ（AT Attachment）バス
１２５  ＰＣＩ（Peripheral Component Interconnect）バス
１２６  ＬＰＣ（low Pin Count）バス
１２７  ＡＴＡ（AT Attachment）バス
１２８  リムーバブルハードディスク装置
２００  ＢＩＯＳ
２０１  挿抜制御ドライバ
２０２  ＯＳ
２０３  ユーティリティ・プログラム
３０１  記憶媒体
３０２  フラッシュ（FLASH）メモリ
３０３  ＲＡＭ
３０４  ユーザデータ領域
３０５  リスト領域
３０６  管理領域
３０７  ＡＴＡパスワード
３０８  アクセスコントロール設定情報
３０９  アクセスコントロール設定レジスタ
３１０  論理スイッチ
３１１  論理スイッチ
３１２  論理スイッチ
３１３  論理スイッチ
３１４  経路
３１５  経路
３１６  経路
８０１  アプリケーション
８０２  アクセス制御ドライバ
９０１  ユーザＩＤ
９０２  パスワード
９０３  フォルダ情報
９０４  アクセス権
１１０１  ＭＢＲ
１１０２  ブートローダ
１１０３  ＩＰＬ
１１０４  認証プログラム
１１０５  認証データ
【図１】
2005284383.tif 000003
【図２】
2005284383.tif 000004
【図３】
2005284383.tif 000005
【図４】
2005284383.tif 000006
【図５】
2005284383.tif 000007
【図６】
2005284383.tif 000008
【図７】
2005284383.tif 000009
【図８】
2005284383.tif 000010
【図９】
2005284383.tif 000011
【図１０】
2005284383.tif 000012
【図１１】
2005284383.tif 000013
【図１２】
2005284383.tif 000014
【図１３】
2005284383.tif 000015
【図１４】
2005284383.tif 000016
【図１５】
2005284383.tif 000017
【図１６】
2005284383.tif 000018