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