(57)【特許請求の範囲】
【請求項１】
所定のインターフェース規格による伝送路によりホスト機器と接続されて上記ホスト機器と通信可能とされるとともに、上記伝送路を介して上記ホスト機器から電力供給を受けて動作する周辺機器であって、
動作時に、上記インターフェース規格で規定されている上限電流値より高い規格外電流を必要とする主動作部と、
上記インターフェース規格で規定されている上限電流値以内である規格内電力モードでの動作により、上記ホスト機器に対して、上記規格外電流に対応できるホスト機器のみが認識できる情報として、上記規格外電流の使用を示す情報を送信するとともに、上記ホスト機器から、上記規格外電流を消費する拡張電力モードの許可を受信することに応じて、上記拡張電力モードとして上記主動作部の動作を有効化する処理として、上記主動作部に対して上記伝送路からの電力供給を開始させる処理を行い、上記主動作部の動作を有効化した後において、上記ホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに応じた動作を上記主動作部に実行させる制御部と、
を備え、
上記制御部は、
上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記規格外電流を許容する拡張電力モードの許可が受信されない場合は、上記規格内電力モードを継続し、上記主動作部の動作を有効化しないように制御し、
上記規格内電力モードであるときは、上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに対して所定のダミー情報の送信を行うとともに、
上記ホスト機器から動作休止指示を受信することに応じて、その時点の上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報をメモリ部に記憶した上で、休止状態とする処理を行い、上記ホスト機器から動作再開指示を受信することに応じて、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する処理を行い、
拡張電力モードにより動作するディスクドライブ部が動作している際に、挿入される光ディスクが排出（イジェクト）された場合、上記ホスト機器から動作休止指示を受信することで休止状態とする処理を行うとともに、ディスクの挿入に伴い動作開始指示の受信により、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する処理を行う
周辺機器。
【請求項２】
上記所定のインターフェース規格は、ＵＳＢである請求項１に記載の周辺機器。
【請求項３】
所定のインターフェース規格による伝送路によりホスト機器と接続されて上記ホスト機器と通信可能とされるとともに、上記伝送路を介して上記ホスト機器から電力供給を受けて動作する周辺機器であって、
動作時に、上記インターフェース規格で規定されている上限電流値より高い規格外電流を必要とする主動作部と、
上記インターフェース規格で規定されている上限電流値以内である規格内電力モードでの動作により、上記ホスト機器に対して、上記規格外電流に対応できるホスト機器のみが認識できる情報として、上記規格外電流の使用を示す情報を送信するとともに、上記ホスト機器から、上記規格外電流を消費する拡張電力モードの許可を受信することに応じて、上記拡張電力モードとして上記主動作部の動作を有効化する処理として、上記主動作部に対して上記伝送路からの電力供給を開始させる処理を行い、上記主動作部の動作を有効化した後において、上記ホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに応じた動作を上記主動作部に実行させる制御部と、
を備えた周辺機器の動作方法として、
上記制御部が、上記インターフェース規格で規定されている上限電流値以内である規格内電力モードで動作して、上記ホスト機器に対し、上記規格外電流の使用を示す情報を送信するステップと、
上記制御部が、上記ホスト機器から、上記規格外電流を許容する拡張電力モードの許可を受信することに応じて、電力モードを上記拡張電力モードとし、上記主動作部の動作を有効化するステップと、
を備え、
上記制御部において、
上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記規格外電流を許容する拡張電力モードの許可が受信されない場合は、上記規格内電力モードを継続し、上記主動作部の動作を有効化しないように制御するステップと、
上記規格内電力モードであるときは、上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに対して所定のダミー情報の送信を行うダミー情報送信ステップとを備えるとともに、
上記ホスト機器から動作休止指示を受信することに応じて、その時点の上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報をメモリ部に記憶した上で、休止状態とする休止処理ステップと、上記ホスト機器から動作再開指示を受信することに応じて、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する復帰処理ステップを行い、
拡張電力モードにより動作するディスクドライブ部が動作している際に、挿入される光ディスクが排出（イジェクト）された場合、上記ホスト機器から動作休止指示を受信することで休止状態とする休止処理ステップを行うとともに、ディスクの挿入に伴い動作開始指示の受信により、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する復帰処理ステップを行う
周辺機器の動作方法。
【請求項４】
周辺機器とホスト機器が所定のインターフェース規格による伝送路により接続されて通信可能とされるとともに、上記周辺機器は、上記伝送路を介して上記ホスト機器から電力供給を受けて動作するようにされる電子機器システムにおいて、
上記周辺機器は、
動作時に、上記インターフェース規格で規定されている上限電流値より高い規格外電流を必要とする主動作部と、
上記インターフェース規格で規定されている上限電流値以内である規格内電力モードでの動作により、上記ホスト機器に対して、上記規格外電流に対応できるホスト機器のみが認識できる情報として、上記規格外電流の使用を示す情報を送信するとともに、上記ホスト機器から、上記規格外電流を消費する拡張電力モードの許可を受信することに応じて、上記拡張電力モードとして上記主動作部の動作を有効化する処理として、上記主動作部に対して上記伝送路からの電力供給を開始させる処理を行い、上記主動作部の動作を有効化した後において、上記ホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに応じた動作を上記主動作部に実行させる制御部とを備え、
上記ホスト機器は、
上記インターフェース規格で規定されている上限電流値を越える規格外電流を上記伝送路に流すことが可能とされているとともに、
上記周辺機器から、上記規格外電流の使用を示す情報を受信することに応じて、上記周辺機器に、上記規格外電流を消費する拡張電力モードの許可を送信する制御部を備え、
上記周辺機器の制御部は、
上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記規格外電流を許容する拡張電力モードの許可が受信されない場合は、上記規格内電力モードを継続し、上記主動作部の動作を有効化しないように制御し、
上記規格内電力モードであるときは、上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに対して所定のダミー情報の送信を行うとともに、
上記ホスト機器から動作休止指示を受信することに応じて、その時点の上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報をメモリ部に記憶した上で、休止状態とする処理を行い、上記ホスト機器から動作再開指示を受信することに応じて、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する処理を行い、
拡張電力モードにより動作するディスクドライブ部が動作している際に、挿入される光ディスクが排出（イジェクト）された場合、上記ホスト機器から動作休止指示を受信することで休止状態とする処理を行うとともに、ディスクの挿入に伴い動作開始指示の受信により、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する処理を行う
電子機器システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺機器、周辺機器の動作方法、電子機器システムに関し、例えばＵＳＢ（Universal Serial Bus）などの所定のインターフェース規格で相互に接続される周辺機器とホスト機器に関するものである。
【背景技術】
【０００２】
【特許文献１】特許第３６７４８５５号公報
【特許文献２】特開２００５−３３９０６７号公報
【０００３】
例えばＵＳＢ規格などのインターフェース規格による接続で、外部機器との間で各種のデータ通信を行うことができる電子機器が一般に普及している。
例えばホスト機器としてパーソナルコンピュータを想定した場合、パーソナルコンピュータとＵＳＢ接続される周辺機器（ＵＳＢデバイス）としては、プリンタ、光ディスクドライブ装置、磁気ディスクドライブ装置、ＨＤＤ（Hard Disk Drive）、カメラ、固体メモリ装置（いわゆるＵＳＢメモリと呼ばれるフラッシュメモリ装置など）、多様な電子機器が存在する。
またＵＳＢ接続の場合、ＵＳＢケーブルを介して、ホスト側となる機器からＵＳＢデバイスに電力供給を行うことも行われている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＵＳＢ接続における電力供給は、一般にＵＳＢバスパワーと呼ばれるが、ＵＳＢ規格では、ＵＳＢバスパワーは最大５Ｖ、５００ｍＡと規定されている。
このためホスト側の機器は、規格上は、接続されたＵＳＢデバイスに対して、５００ｍＡまでの電力供給を可能とすることが求められる。
【０００５】
一方で、ＵＳＢデバイスとしては、規格内のバスパワーでは電力が不足する機器も多々ある。例えば光ディスクドライブなどでは、１Ａ程度の電流消費が必要であることが多い。このため通常は、ＵＳＢデバイス側にＡＣアダプターを接続し、商用交流電源から動作電力を得るようにすることが一般的であった。つまりＵＳＢバスパワーを電源として使用しないか、或いは補助的な電源のみとして使用する方式である。
【０００６】
しかしながらこの場合、ＵＳＢデバイスの使用時には、ＵＳＢケーブル以外に、ＡＣアダプターを接続しなければならず、接続が煩雑で使用性が悪いという問題があった。
このためＵＳＢデバイスでは、ＵＳＢバスパワーのみにより動作電力を得るようにし、なるべくＡＣアダプターの接続を不要としたい。
【０００７】
ところが、上記のようにＵＳＢバスパワーは規格上は５００ｍＡを上限としているため、５００ｍＡを越える電流を必要とするＵＳＢデバイスにとっては動作電力として不足する。
なお、５００ｍＡという規格は、ホスト側の機器が、最大では５００ｍＡまでの供給に対応できるようにすればよいというものである。例えば１００ｍＡしか電流供給能力を備えない機器も存在する。
ここで、ホスト側の機器の電流供給能力が高ければ、５００ｍＡ以上の供給も可能となる。例えば１Ａを消費するＵＳＢデバイスに対して、十分なＵＳＢバスパワーを供給することもできる。
【０００８】
しかしながら、これはあくまでも、ホスト側の機器が高い電流供給能力を備えている場合である。
ＵＳＢデバイスは、ＵＳＢ端子を備えた多様なホスト機器に接続可能であり、どのような機器に接続されるかは不定である。例えばパーソナルコンピュータ等であっても、通常は５００ｍＡまでの電流供給しかサポートしていないが、ＵＳＢデバイスが、そのようなパーソナルコンピュータに接続された状態で、例えば１Ａ程度の電流をバスパワーから引いてしまうと、パーソナルコンピュータ側に不具合を生じさせる可能性がある。
【０００９】
例えば５００ｍＡまでしかサポートしていないホスト機器に接続し、ＵＳＢバスパワーから５００ｍＡを越える電流を得るようにした場合の不具合の例としては、次のようなことが想定される。
【００１０】
ホスト機器の最大電流供給能力を超える電流をＵＳＢバスパワーから引くことで、ホスト機器の内部電圧が下がり、誤動作を引き起こす。
また、こような原因により、ＵＳＢバスの電力供給能力が不足し、当該ＵＳＢデバイスと同じＵＳＢホスト（またはＵＳＢハブ）に接続されている他のＵＳＢデバイスが正しく動作しなくなることも考えられる。
またホスト機器がバッテリ駆動の場合には、規格外の電流を引き続けることでバッテリの残容量を急速に低下させてしまうことも考えられる。
【００１１】
以上のような事情に鑑みて本発明では、規格を越える電流を消費する周辺機器であっても、ＵＳＢバスパワー等、所定のインターフェース規格による伝送路からの電力供給によって動作し、当該インターフェースの伝送路の他にＡＣアダプター等を接続することを解消できるようにするとともに、そのような規格外の電力供給に対応できないホスト機器に接続された場合に、ホスト機器に不具合を起こさせないようにすることを目的とする。
【課題を解決するための手段】
【００１２】
そこで本発明では、周辺機器、ホスト機器の両方を提案する。またこれらの動作方法と、さらに周辺機器及びホスト機器からなる電子機器システムを提案する。
【００１３】
まず、ホスト機器に接続される本発明の周辺機器は次のとおりである。
本発明の周辺機器は、所定のインターフェース規格による伝送路によりホスト機器と接続されて上記ホスト機器と通信可能とされるとともに、上記伝送路を介して上記ホスト機器から電力供給を受けて動作する周辺機器であって、動作時に、上記インターフェース規格で規定されている上限電流値より高い規格外電流を必要とする主動作部と、上記インターフェース規格で規定されている上限電流値以内である規格内電力モードでの動作により、上記ホスト機器に対して、上記規格外電流に対応できるホスト機器のみが認識できる情報として、上記規格外電流の使用を示す情報を送信するとともに、上記ホスト機器から、上記規格外電流を消費する拡張電力モードの許可を受信することに応じて、上記拡張電力モードとして上記主動作部の動作を有効化する処理として、上記主動作部に対して上記伝送路からの電力供給を開始させる処理を行い、上記主動作部の動作を有効化した後において、上記ホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに応じた動作を上記主動作部に実行させる制御部と、を備え、上記制御部は、上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記規格外電流を許容する拡張電力モードの許可が受信されない場合は、上記規格内電力モードを継続し、上記主動作部の動作を有効化しないように制御し、上記規格内電力モードであるときは、上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに対して所定のダミー情報の送信を行うとともに、上記ホスト機器から動作休止指示を受信することに応じて、その時点の上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報をメモリ部に記憶した上で、休止状態とする処理を行い、上記ホスト機器から動作再開指示を受信することに応じて、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する処理を行い、拡張電力モードにより動作するディスクドライブ部が動作している際に、挿入される光ディスクが排出（イジェクト）された場合、上記ホスト機器から動作休止指示を受信することで休止状態とする処理を行うとともに、ディスクの挿入に伴い動作開始指示の受信により、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する処理を行う。
【００１４】
上記所定のインターフェース規格は、ＵＳＢであるとする。
【００１５】
本発明の周辺機器の動作方法は、上記制御部が、上記インターフェース規格で規定されている上限電流値以内である規格内電力モードで動作して、上記ホスト機器に対し、上記規格外電流の使用を示す情報を送信するステップと、上記制御部が、上記ホスト機器から、上記規格外電流を許容する拡張電力モードの許可を受信することに応じて、電力モードを上記拡張電力モードとし、上記主動作部の動作を有効化するステップと、を備え、上記制御部において、上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記規格外電流を許容する拡張電力モードの許可が受信されない場合は、上記規格内電力モードを継続し、上記主動作部の動作を有効化しないように制御するステップと、上記規格内電力モードであるときは、上記所定のインターフェース規格による伝送路により接続されているホスト機器から、上記主動作部の動作に係るコマンドを受信した場合は、該コマンドに対して所定のダミー情報の送信を行うダミー情報送信ステップとを備えるとともに、上記ホスト機器から動作休止指示を受信することに応じて、その時点の上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報をメモリ部に記憶した上で、休止状態とする休止処理ステップと、上記ホスト機器から動作再開指示を受信することに応じて、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する復帰処理ステップを行い、拡張電力モードにより動作するディスクドライブ部が動作している際に、挿入される光ディスクが排出（イジェクト）された場合、上記ホスト機器から動作休止指示を受信することで休止状態とする休止処理ステップを行うとともに、ディスクの挿入に伴い動作開始指示の受信により、上記メモリ部に記憶されている上記規格内電力モード又は上記拡張電力モードのいずれかの電力モードの情報を読み出し、読み出した電力モードの状態に復帰する復帰処理ステップを行う。
【００１８】
本発明の電子機器システムは、上記した周辺機器と、ホスト機器による電子機器システムである。
【００１９】
このような本発明では、周辺機器は、ＵＳＢ等の所定のインターフェース規格における規格外電流を使用する機器であるが、そのインターフェース規格における伝送路から電力供給を受けるようにすることで、ＡＣアダプター等としての他の電源取得手段を不要とする。
本発明のホスト機器は、十分な電流供給能力を有する。つまり規格外の電流供給を行っても問題がないように設計されている。このため、本発明の周辺機器が接続された場合、その本発明の周辺機器に、規格外の電流供給を行っても不具合は生じない。
一方、本発明の周辺機器が、本発明のホスト機器には該当しないホスト機器（以下、「他のホスト機器」という）に接続された場合、規格外電流を引いてしまうと、当該他のホスト機器に不具合を生じさせる可能性がある。
このことを考慮し、本発明の周辺機器は、規格外電流を必要とする主動作部の動作について、本発明のホスト機器が拡張電力モードを許可した場合のみ、有効化する。なお、このため本発明のホスト機器は、このような規格外電流を必要とする本発明の周辺機器の拡張電力モードを想定した機器であると言える。
本発明の周辺機器が、上記他のホスト機器に接続された場合は、他のホスト機器は、本発明の周辺機器の拡張電力モードを想定していないため、本発明の周辺機器に対して、拡張電力モードを許可するという動作は行わない。そもそも拡張電力モードの許可という動作は存在しない。従って、本発明の周辺機器は、拡張電力モードとし、主動作部の動作を有効化しない。このため他のホスト機器から、規格外電流を引くことはなく、他のホスト機器に不具合を起こさせることはない。
【発明の効果】
【００２０】
本発明の周辺機器は、本発明のホスト機器から、所定のインターフェース規格の伝送路から規格外電流を得ることで、ＡＣアダプター等を接続して動作電力を得ることを不要とすることができる。このため本発明の周辺機器は、その使用性を向上させることができる。
また本発明の周辺機器が、本発明のホスト機器に該当しない他のホスト機器に接続された場合は、当該インターフェース規格の伝送路から規格外電流を引くことが行わないため、当該他のホスト機器に不具合を生じさせることはない。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を、次の順序で説明する。
［１．システム構成］
［２．ホスト機器の構成］
［３．ＵＳＢデバイスの構成］
［４．ホスト機器とＵＳＢデバイスの接続時の動作］
［５．ＵＳＢデバイスが他のホスト機器に接続された際の動作］
［６．サスペンド／リジューム］
［７．実施の形態の効果及び変形例］
【００２２】
［１．システム構成］
図１は実施の形態の電子機器システムを示す。この場合、ＵＳＢデバイス１と、ホスト機器１００が、それぞれ本発明の周辺機器と本発明のホスト機器の実施の形態としての例であり、図１ではこれらがＵＳＢケーブル５０により接続された状態を示している。
【００２３】
ＵＳＢデバイス１は、ホスト機器１００に対する周辺機器としてＵＳＢ接続される電子機器である。即ちＵＳＢインターフェース規格により、ＵＳＢケーブル５０でホスト機器１００と接続されて、ホスト機器１００と通信可能とされるとともに、ＵＳＢケーブル５０を介してホスト機器１００からＵＳＢバスパワーとして電力供給を受けて動作する電子機器である。
実施の形態では、このＵＳＢデバイス１は、具体的には光ディスクドライブであるとして説明する。例えばＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）、ブルーレイディスク（Blu-ray Disc（登録商標））などの可搬性記録媒体に対して記録又は再生を行う機器であるとする。
【００２４】
ホスト機器１００は、周辺機器であるＵＳＢデバイス１と通信可能とされると共に、ＵＳＢデバイス１に対してＵＳＢバスパワーとしての電力供給を行う電子機器である。
実施の形態の説明では、このホスト機器１００としてパーソナルコンピュータを想定する。
【００２５】
本例では、ＵＳＢデバイス１としての光ディスクドライブは、その光ディスクに対する記録再生動作を行うためには、ＵＳＢ規格の上限である５００ｍＡを越える電流を消費する。即ちＵＳＢバスパワーとして５００ｍＡ以上の供給を要求する。例えば１Ａとする。
またホスト機器１００は、ＵＳＢデバイス１への電力供給に関して、ＵＳＢ規格で規定されている上限電流値を越える規格外電流（例えば１Ａ）を流すことが可能に設計されている。換言すれば、ＵＳＢケーブル５０を介してＵＳＢデバイス１から１Ａ程度の電流が引かれても、ホスト機器１００は特に不具合を起こさないように設計されている。
従って、図１のシステムとして、ＵＳＢデバイス１が、光ディスクに対しての記録／再生動作のために１Ａ程度の消費電流を使用するとしても、ＵＳＢバスパワーのみによる電流供給で正常に動作できるものである。
【００２６】
但し、ＵＳＢデバイス１が、他のホスト機器に接続された状態で、１Ａ程度の電流消費を伴う動作を行うと、そのホスト機器に不具合を生じさせるおそれがある。
このため、本例のＵＳＢデバイス１は、例えば１ＡというＵＳＢ規格外電流を必要とする記録再生動作については、本例のホスト機器１００が拡張電力モードを許可した場合のみ、有効化する。
本例のＵＳＢデバイス１が、本例のホスト機器１００以外の他のホスト機器（本発明に該当しないホスト機器）に接続された場合は、他のホスト機器は、ＵＳＢデバイス１の拡張電力モードを想定していないため、ＵＳＢデバイス１に対して、拡張電力モードを許可するという動作は行わない。
この場合ＵＳＢデバイス１は規格内電力モードとしての動作を行う。規格内電力モードとは、例えば５００ｍＡモード、１００ｍＡモードなど、ＵＳＢバスパワーとしての規格内の電力モードである。実際は、この規格内電力モードでは、光ディスクに対する記録／再生動作は行わない。このため、当該他のホスト機器から、規格外電流を引くことはなく、当該他のホスト機器に不具合を起こさせることはない。
【００２７】
［２．ホスト機器の構成］
図２はホスト機器１００の構成例を示している。ホスト機器１００は、例えば一般的な構成のパーソナルコンピュータとされる。
ホスト機器１００は図示するように、ＣＰＵ（Central Processing Unit）１０１、メモリ部１０２、ネットワークインターフェース部１０３、ディスプレイコントローラ１０４、入力機器インターフェース部１０５、ＨＤＤインターフェース部１０６、キーボード１０７、マウス１０８、ＨＤＤ１０９、表示装置１１０、バス１１１、ＵＳＢインターフェース部１１２などを有する。
【００２８】
ホスト機器１００のメインコントローラであるＣＰＵ１０１は、メモリ部１０２に格納されているプログラムに応じて、各種の制御処理を実行する。ＣＰＵ１０１は、バス１１１によって他の各部と相互接続されている。
バス１１１上の各機器にはそれぞれ固有のメモリアドレス又はＩ／Ｏアドレスが付与されており、ＣＰＵ１０１はこれらアドレスによって機器アクセスが可能となっている。バス１１１の一例はＰＣＩ（Peripheral Component Interconnect）バスである。
【００２９】
メモリ部１０２は揮発メモリ、不揮発性メモリの双方を含むものとして示している。例えばプログラムを格納するＲＯＭ（Read Only Memory）、演算ワーク領域や各種一時記憶のためのＲＡＭ（Random Access Memory）、ＥＥＰ−ＲＯＭ（Electrically Erasable and Programmable Read Only Memory）等の不揮発性メモリを含む。
このメモリ部１０２には、ＣＰＵ１０１において実行されるプログラムコードやホスト機器１００に固有の識別情報その他の情報を格納したり、通信データのバッファ領域や実行中の作業データのワーク領域に用いられる。
【００３０】
ネットワークインターフェース部１０３は、イーサネット（Ethernet：登録商標）などの所定の通信プロトコルに従って、ホスト機器１００をインターネットやＬＡＮ（Local Area Network）などのネットワークに接続する。ＣＰＵ１０１はネットワークインターフェース部１０３を介して、ネットワーク接続された各機器と通信を行うことができる。
【００３１】
ディスプレイコントローラ１０４は、ＣＰＵ１０１が発行する描画命令を実際に処理するための専用コントローラであり、例えばＳＶＧＡ（Super Video Graphic Array）又はＸＧＡ（eXtended Graphic Array）相当のビットマップ描画機能をサポートする。ディスプレイコントローラ１０４において処理された描画データは、例えばフレームバッファ（図示しない）に一旦書き込まれた後、表示装置１１０に画面出力される。表示装置１１０は、例えば、有機ＥＬ（Electroluminescence）ディスプレイ、ＣＲＴ（Cathode Ray Tube）ディスプレイや、液晶表示ディスプレイ（Liquid Crystal Display）などとして形成される。
【００３２】
入力機器インターフェース部１０５は、キーボード１０７やマウス１０８などのユーザ入力機器をホスト機器１００としてのコンピュータシステムに接続するための装置である。
即ちホスト機器１００のユーザの操作入力がキーボード１０７及びマウス１０８を用いて行われ、その操作入力情報が、入力機器インターフェース部１０５を介してＣＰＵ１０１に供給される。
【００３３】
ＨＤＤインターフェース部１０６は、ハードディスクドライブ（ＨＤＤ）１０９に対する書込／読出のインターフェース処理を行う。
ＨＤＤ１０９は、周知の通り記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。ソフトウェアプログラムを実行可能な状態でＨＤＤ１０９上に置くことをプログラムのシステムへの「インストール」と呼ぶ。通常、ＨＤＤ１０９には、ＣＰＵ１０１が実行すべきオペレーティングシステムのプログラムコードや、アプリケーションプログラム、デバイスドライバなどが不揮発的に格納されている。
ＨＤＤ１０９に格納されている各種プログラムは、ホスト機器１００の起動時やユーザ層に応じたアプリケーションプログラムの起動時などに、メモリ部１０２に展開される。ＣＰＵ１０１はメモリ部１０２に展開されたプログラムに基づいた処理を行う。
【００３４】
ＵＳＢインターフェース部１１２は、ＵＳＢ規格により接続された外部機器とのインターフェースである。
本例のＵＳＢデバイス１に対しては、ＣＰＵ１０１は、このＵＳＢインターフェース部１１２を介した通信を行う。
【００３５】
このようなホスト機器１００では、ＣＰＵ１０１におけるソフトウエア構造、即ちアプリケーションプログラム、ＯＳ（Operating System）、デバイスドライバなどのソフトウエアに基づく演算処理／制御動作を行うことで、各種動作が実行される。
本例の場合、特にＵＳＢインターフェース部１１２を介して接続されたＵＳＢデバイス１との通信動作として、後述する動作が、上記ソフトウエア構造に基づくＣＰＵ１０１の動作として実行されることになる。
特徴的な動作をいえば、ＣＰＵ１０１は、ＵＳＢデバイス１から、規格外電流の使用を示す情報を受信することに応じて、ＵＳＢデバイス１に、規格外電流を消費する拡張電力モードの許可（拡張電力モードの指示）を送信する動作を行う。
このホスト機器１００は、規格外電流の消費に対応できる十分な電流供給能力を有する。つまり規格外の電流供給を行っても問題がないように設計されている。このため、ＵＳＢデバイス１に、規格外電流を消費する拡張電力モードの許可を行い、実際にＵＳＢデバイス１に規格外の電流供給を行っても不具合は生じない。
【００３６】
［３．ＵＳＢデバイスの構成］
図３でＵＳＢデバイス１の構成例を示す。
本例のＵＳＢデバイス１は、具体的には光ディスクドライブとしている。このＵＳＢデバイス１は、デバイスコントローラ２，ディスクドライブ部３、ＵＳＢ端子部４、パワースイッチ５，ＥＥＰ−ＲＯＭ（Electrically Erasable and Programmable Read Only Memory）６、ディスクセンサ７を備える。
【００３７】
ディスクドライブ部３は、例えばＣＤ、ＤＶＤ、ブルーレイディスクなどの可搬性記録媒体９０に対する記録／再生動作を行う。例えば光学ヘッド機構、スピンドル機構や、記録／再生信号処理、エンコード／デコードなどの回路系、サーボ機構、記録再生動作を制御する制御部などを備えて構成されている。
このディスクドライブ部３は、その動作時に、ＵＳＢ規格で規定されている上限電流値（５００ｍＡ）より高い規格外電流（例えば１Ａ）を必要とする主動作部となる。
【００３８】
デバイスコントローラ２は、ホスト機器１００との間のＵＳＢ通信及びディスクドライブ部３の制御を行う。
デバイスコントローラ２の特徴的な動作としては、ＵＳＢ規格で規定されている上限電流値以内である規格内電力モード（例えば５００ｍＡモードもしくは１００ｍＡモード）での動作により、ホスト機器１００に対して、規格外電流（例えば１Ａ）の使用を示す情報を送信する。またホスト機器１００から、規格外電流を消費する拡張電力モードの許可を受信することに応じて、規格内電力モードから拡張電力モードに切り換えて、ディスクドライブ部３の動作を有効化する処理を行う。有効化とはディスクドライブ部３で記録再生動作が実行可能な状態にすることであり、例えばディスクドライブ部３の電源をオンするという意味である。
デバイスコントローラ２とディスクドライブ部３は、例えばＡＴＡＰＩ（AT attachment Packet Interface）で接続され、コマンドや記録再生データの受け渡しが行われる。
ＥＥＰ−ＲＯＭ６は、例えばデバイスコントローラ２の動作プログラムや、各種データの格納に用いられる。
【００３９】
ＵＳＢ端子部４としては、ＵＳＢケーブル５０との接続が行われる端子構造が形成されている。ＵＳＢ規格では、ＶＢＵＳ、Ｄ＋、Ｄ−、ＧＮＤとしての４ラインが規定されている。Ｄ＋、Ｄ−はデータラインであり、ＶＢＵＳ及びＧＮＤは、電源電圧及びグランドラインである。
データラインＤ＋、Ｄ−によってデータ通信が行われる。デバイスコントローラ２はデータラインＤ＋、Ｄ−により、ホスト機器１００との間での信号の送受信を行う。
電源電圧及びグランドライン（ＶＢＵＳ、ＧＮＤ）により、いわゆるＵＳＢバスパワーが供給される。
デバイスコントローラ２は、ＵＳＢバスパワーを動作電力として用いる。デバイスコントローラ２は、特に規格外電流を消費するものではなく、例えば１００ｍＡモードでも動作可能である。つまり、デバイスコントローラ２は、例えばホスト機器１００などとＵＳＢ接続された状態では、ＵＳＢバスパワーを利用して動作を実行できる。
【００４０】
一方、ディスクドライブ部３は、動作時に規格外電流を消費する。このディスクドライブ部３に対しては、パワースイッチ５を介してＵＳＢバスパワーが供給される。
パワースイッチ５は、ＵＳＢバスパワーのディスクドライブ部３に対する供給／遮断を切り換えるスイッチ回路である。
このパワースイッチ５によるディスクドライブ部３への電力供給は、デバイスコントローラ２によってオン／オフ制御される。
本例のＵＳＢデバイス１では、このように内部的にディスクドライブ部３の電源オン／オフが制御可能である。つまりＵＳＢデバイス１が動作している際に、デバイスコントローラ２によってディスクドライブ部３の有効化（電源オン）／非有効化（電源オフ）を行うことができる。
【００４１】
ディスクセンサ７は、ディスクドライブ部３における光ディスクの装填の有無を検出するセンサである。ディスクセンサ７の検出信号はデバイスコントローラ２に供給される。これによりデバイスコントローラ２は、ディスクドライブ部３における光ディスクの挿入／排出を検知することができる。
デバイスコントローラ２は、ディスクドライブ部３の電源がオンのときは、ＡＴＡＰＩで定義されるコマンドによって光ディスクの有無を検出できるが、電源がオフのときはそれができない。本例では、ディスクセンサ７によって、ディスクドライブ部３の電源がオフのときでも光ディスクの装填の有無を検出することが可能になる。このディスクセンサ７は、例えばディスクドライブ部３の電源がオフのときに光ディスクが挿入されたことを検出するためなどの目的で使用する。
【００４２】
［４．ホスト機器とＵＳＢデバイスの接続時の動作］
以上のようなホスト機器１００とＵＳＢデバイス１の接続時の動作を説明する。
図４はホスト機器１００の処理を示している。これはＣＰＵ１０１が、アプリケーションプログラム、ＯＳ、デバイスドライバとしてのソフトウエアに基づいて実行する処理である。
また、図５，図６は、ＵＳＢデバイス１の処理であり、これはデバイスコントローラ２が、ホスト機器１００からのコマンド発行に対応する処理として示している。
図７はホスト機器とＵＳＢデバイスが接続された時の処理の流れを示している。
【００４３】
まず図４のホスト機器１００の処理、及び図５，図６のＵＳＢデバイス１の処理を概略的に説明し、その後、図７を参照して、図４，図５，図６の各処理で実現される接続時の動作を詳しく述べる。
【００４４】
本例のＵＳＢデバイス１に限らず、ＵＳＢ方式の機器が接続された場合は、ホスト機器１００では図４の処理が行われる。
まずステップＦ１０１でＣＰＵ１０１は、ＵＳＢインターフェース部１１２を介して外部機器が接続されたことを検知したら、ＵＳＢ接続確立のための初期処理を開始する。
ステップＦ１０２でＣＰＵ１０１はゲットデスクリプタ（Get Descriptor）コマンドを発行し、接続された機器からの応答を確認する。
【００４５】
通常、ＵＳＢ接続機器間で最初に行われる処理としてコンフィギュレーションが行われる。コンフィギュレーションとは、接続された機器が正規のＵＳＢ機器であることを確認し、ＵＳＢ接続を許可する処理である。
ＵＳＢ接続のホスト機器側は、まずゲットデスクリプタ（何種類かのデスクリプタが存在するが、ここでは詳細は省略する）により、接続された周辺機器に対して、どのような機器であるかを尋ねる。これに対して周辺機器側は、自身のＵＳＢ機能に関する各種の情報（デスクリプタ）を返信してくる。この応答を確認することで、ホスト機器側は、接続された周辺機器の種別を確認する。そしてセットコンフィギュレーションを実行する。即ち周辺機器に関するデバイス設定（アドレス設定）を行ってＵＳＢ通信を許可する。
図４のステップＦ１０２も、このようなＵＳＢ接続における基本的なコンフィギュレーションについての処理を示している。
【００４６】
ゲットデスクリプタの応答を確認したら、ＣＰＵ１０１は、ステップＦ１０３で接続された周辺機器がバスパワーデバイスであるか否かで処理を分岐する。
バスパワーデバイスでない場合、つまりＵＳＢバスパワーとしての電力供給が不要な機器である場合は、ステップＦ１１１に進み、セットコンフィギュレーション（Set Configuration）を実行し、当該ＵＳＢ接続された周辺機器を使用可能とする。これによって初期処理を終了する。以降、今回の接続機器に対して、通常のＵＳＢ接続機器としての処理を行う。
【００４７】
ゲットデスクリプタに対する応答から、接続された機器がバスパワーデバイスデバイスであると認識した場合は、ＣＰＵ１０１はステップＦ１０３からＦ１０４に進み、そのデバイスの使用最大電流を確認する。
ゲットデスクリプタに対する接続機器からの応答には、その機器の使用最大電流の情報が含まれている。
もし、その使用最大電流が１００ｍＡ以下であった場合は、ステップＦ１１１に進み、セットコンフィギュレーションを実行して、当該接続された周辺機器を使用可能として初期処理を終える。以降、今回の接続機器に対して、通常のＵＳＢ接続機器としての処理を行う。
【００４８】
接続された機器からの応答として、使用最大電流が５００ｍＡを越える値であった場合は、ＣＰＵ１０１はステップＦ１１０に進み、ＵＳＢ規格外であるためエラー処理を行う。この場合、セットコンフィギュレーションを行わずにエラー接続として処理を終える。
なお、後述するが本例のＵＳＢデバイス１は、ゲットデスクリプタに対する応答の際には、その使用最大電流＝５００ｍＡという情報を含むデータを返信するようにしている。このため、コンフィギュレーション処理の際に、ステップＦ１１０で規格外電流使用機器としてのエラー処理対象とはならない。
【００４９】
接続された機器からの応答として、使用最大電流が５００ｍＡ以下（但し１００ｍＡより大きい）であった場合は、ＣＰＵ１０１はステップＦ１０５に進み、セットコンフィギュレーションを実行し、当該ＵＳＢ接続された周辺機器を使用可能とする。
この場合、使用最大電流が５００ｍＡ以下と通知してくる周辺機器には、本例のＵＳＢデバイス１が含まれる。このため本例のホスト機器１００は、ステップＦ１０６以降の処理を行う。
まず、ステップＦ１０２で得たデータの内容から、接続された周辺機器のデバイスクラスを確認し、それが本例のＵＳＢデバイス１に該当するデバイスクラスであるか否かを確認する。本例のＵＳＢデバイス１はＵＳＢマスストレージクラス機器であるとすると、今回接続された機器がＵＳＢマスストレージクラス機器であるか否かを確認することになる。
もし対象デバイスでなければ（例えばＵＳＢマスストレージクラス機器でなければ）、ステップＦ１０６から初期処理を終了し、以降、通常のＵＳＢ接続機器としての処理を行う。
【００５０】
今回の接続機器のデバイスクラスが、例えばＵＳＢマスストレージクラス機器であり、本例のＵＳＢデバイス１に該当する可能性がある場合は、ＣＰＵ１０１はステップＦ１０７で、デバイス情報取得コマンド（例えばInquiryコマンド）を発行する。即ち、ＵＳＢマスストレージクラス機器であって、どのような機器であるかの情報を求める。
接続された機器は、このデバイス情報取得コマンドに対して返信してくるが、これによってＣＰＵ１０１は、接続された機器が具体的にどのような機器（例えばＤＶＤドライブ、ＣＤ−ＲＯＭドライブ、フレキシブルディスクドライブ、フラッシュメモリ機器などの別）かを確認できる。
ここで本例のＵＳＢデバイス１の場合、このデバイス情報取得コマンドに対する返信データにおいて、特に本例のホスト機器１００との間で決められた特定の情報として、１Ａ電流使用機器であることを通知してくる。本発明に該当しない他のホスト機器の場合は、その情報を認識しない。
つまり本例のホスト機器１００であれば、接続された機器が、規格外の電流を使用する本例のＵＳＢデバイス１であることを認識できる。
【００５１】
接続された機器が本例のＵＳＢデバイス１ではない、つまり最大で５００ｍＡを使用する何らかの他のＵＳＢ接続機器であると認識した場合、特に電力モードの切換は必要なく、ＣＰＵ１０１はステップＦ１０８から初期処理を終了し、以降、通常のＵＳＢ接続機器としての処理を行う。
【００５２】
一方、接続された機器が本例のＵＳＢデバイス１であると認識した場合、ＣＰＵ１０１はステップＦ１０８でＵＳＢデバイス１側の電力モードの切換が必要であると判断し、ステップＦ１０９に進む。
なお、電力モードの切換が必要となるのは、ＵＳＢデバイス１が、この時点まで、初期動作として規格内電力モード（例えば５００ｍＡモード）で動作しているためである。ＵＳＢデバイス１を光ディスクドライブとして通常に機能させるには、ＵＳＢデバイス１側に拡張電力モードを指示する必要がある。
このためＣＰＵ１０１は、ステップＦ１０９で、電力モード設定コマンドを発行し、ＵＳＢデバイス１に対して電力モードを拡張電力モードに切り換えるように指示する。
そしてＣＰＵ１０１は、ＵＳＢデバイス１で拡張電力モードとされたことを確認して、初期処理を終える。
この場合、ＵＳＢデバイス１は、ＵＳＢバスパワーにより動作電力を得る状態で、最大１Ａを消費するディスクドライブ部３が機能できるようになる。
【００５３】
続いて、本発明の実施の形態としての本例のＵＳＢデバイス１のデバイスコントローラ２のコマンド対応処理について図５，図６で説明する。
なお、以下では、本発明に該当しないホスト機器については、引き続き「他のホスト機器」という用語を用いるが、実施の形態となる本例のホスト機器１００と他のホスト機器の両方を包括的に示す場合には、「ホスト機器１００等」と記載することとする。
【００５４】
デバイスコントローラ２の処理としては、ホスト機器１００等に接続された際において、ホスト機器１００等からコマンドが発行された場合は、図５の処理を行う。
デバイスコントローラ２は、ステップＦ２０１としてコマンド受信有無を判断しており、ホスト機器１００等からコマンドを受信した時点で、ステップＦ２０２以降に進む。
【００５５】
ステップＦ２０２では、受信したコマンドがデバイス情報取得コマンド（例えばInquiryコマンド）であるか否かを判断する。デバイス情報取得コマンドであったら、デバイスコントローラ２はステップＦ２０８に進み、デバイス情報取得コマンドに対応する処理を行う。この処理については図６で後述する。
【００５６】
受信したコマンドがデバイス情報取得コマンドでなければ、ステップＦ２０３で電力モード確認コマンドであるか否かを確認する。電力モード確認コマンドであった場合は、デバイスコントローラ２はステップＦ２０９に進み、現在の電力モード情報をホスト機器１００に対して返信する。
なお、本例のＵＳＢデバイス１では、規格内電力モードとして１００ｍＡモード、５００ｍＡモードを用意し、また規格外の１Ａ電流を使用するモードとして拡張電力モードを用意している。従って電力モード確認コマンドに対して返信する現在の電力モード情報とは、１００ｍＡモード、５００ｍＡモード、拡張電力モードのいずれかを示す情報となる。
【００５７】
受信したコマンドが電力モード確認コマンドでなければ、デバイスコントローラ２はステップＦ２０４で電力モード設定コマンドであるか否かを確認する。電力モード設定コマンドであった場合は、デバイスコントローラ２はステップＦ２１０に進み、当該コマンドで指定されている電力モードに切り換えるとともに主動作部の電源制御を行う。上述のように、本例のＵＳＢデバイス１の場合、主動作部とは、ディスクドライブ部３のことである。
例えばホスト機器１００が電力モード設定コマンドにより拡張電力モードを指定してきた場合は、拡張電力モードに切り換えるとともに、パワースイッチ５をオンとしてディスクドライブ部３を電源オンとし、起動する。
またホスト機器１００が電力モード設定コマンドにより５００ｍＡモードを指定してきた場合は、５００ｍＡモードに切り換えると共に、それまで拡張電力モードであってディスクドライブ部３が起動されていたなら、パワースイッチ５をオフとしてディスクドライブ部３を電源オフ状態とする。
【００５８】
受信したコマンドが電力モード設定コマンドでもなければ、デバイスコントローラ２は、当該コマンドは主動作部であるディスクドライブ部３の記録再生動作に係るコマンド（リードコマンド／ライトコマンド）であると判断する。
なお、実際には後述するサスペンドコマンドやリジュームコマンドなど、ディスクドライブ部３の記録再生動作に係るものではない他のコマンドもあるが、説明の簡略化のため、図５では省略している。つまり、ここでは、コマンドはデバイス情報取得コマンド、電力モード確認コマンド、電力モード設定コマンド、或いは記録再生コマンドのいずれかであると、仮定して説明しているが、実際には、サスペンドコマンドやリジュームコマンドなどが受信された場合は、デバイスコントローラ２が、それらのコマンドに対応する処理を行うと考えればよい。また、ディスクドライブ部３に対する記録再生以外のコマンドが受信された場合は、記録再生コマンドの場合と同様に処理を行うと考えればよい。
【００５９】
ディスクドライブ部３での記録を求めるライトコマンド、若しくはディスクドライブ部３での再生を求めるリードコマンドを受信した場合、デバイスコントローラ２は、まずステップＦ２０５で、主動作部であるディスクドライブ部３が現在動作可能であるか否かを確認する。つまりパワースイッチ５を介してＵＳＢバスパワーが供給され、動作可能な電源オン状態であるか否かである。
ディスクドライブ部３が電源オン状態であれば、デバイスコントローラ２はステップＦ２０５からＦ２１３に進み、主動作部（ディスクドライブ部３）に対してコマンドを受け渡し、ディスクドライブ部３にコマンドに対応する処理を実行させる。即ち記録又は再生動作を実行させる。
【００６０】
一方、リードコマンド又はライトコマンドが受信された時点で、ディスクドライブ部３が電源オフ状態であった場合は、デバイスコントローラ２はステップＦ２０５からＦ２０６に処理を進め、ここでディスクドライブ部３が起動可能か否かを判断する。これは現在の電力モードを確認する処理となる。即ち電力モードが拡張電力モードであれば、ディスクドライブ部３を起動可能とする。
現在、拡張電力モードであって、何らかの事情でディスクドライブ部３が電源オフである場合は、ステップＦ２１２でパワースイッチ５を制御してディスクドライブ部３を電源オン状態とする。そしてステップＦ２１３で、リードコマンド又はライトコマンドに応じた処理をディスクドライブ部３に実行させる。
なお、先に、電力モード設定コマンドで拡張電力モードが指示された際に、ステップＦ２１０でディスクドライブ部３の電源オン制御も行うとしたが、ステップＦ２１０では電源オン制御を行わなくても良い。その場合、最初にリードコマンド又はライトコマンド等を受信した時点で、ステップＦ２１２でディスクドライブ部３の電源オン制御が行われるためである。
【００６１】
また、後述するが、他のホスト機器に接続されている場合は、ＵＳＢデバイス１は拡張電力モードとはならない。従って、デバイスコントローラ２が、ディスクドライブ部３の電源オン制御を行うこともない。
しかしながら、他のホスト機器であっても、本例のＵＳＢデバイス１を、正常なＵＳＢディスクドライブ機器と認識するため、リードコマンド又はライトコマンドを発行することがある。
その場合、デバイスコントローラ２の処理はステップＦ２０５からＦ２０６に進み、このときに規格内電力モード（１００ｍＡモード又は５００ｍＡモード）であるため、ディスクドライブ部３を起動できないと判断する。そしてこの場合、ステップＦ２１１に進んでダミーモード処理を行う
ここでは、ダミーモード処理とは、当該他のホスト機器に対して、ディスクドライブ部３にはディスクが装填されていないと見せかける処理とする。
つまりリードコマンド／ライトコマンドに対して「NO  MEDIUM  ERROR（メディア未装填）」を返す処理とする。
なお本例の場合、ダミーモードとは、電力モードが規格内電力モード（１００ｍＡモード又は５００ｍＡモード）の場合のことと考えてよい。
【００６２】
続いて図６で、上記ステップＦ２０８のデバイス情報取得コマンド対応処理を説明する。
デバイスコントローラ２は、デバイス情報取得コマンドを受信して上記図５のステップＦ２０８に進んだ場合、図６の処理を実行する。
まずステップＦ２２１として、現在の電力モードを確認する。
現在の電力モードが１００ｍＡモード又は５００ｍＡモードの場合、ステップＦ２２５としてダミーモード用のデバイス情報データを、接続されているホスト機器１００等に対して返信する。
【００６３】
なお、図７で述べるが、ＵＳＢデバイス１は、ホスト機器１００等へ接続された当初は例えば１００ｍＡモードで動作を行う。従って、例えば図４のステップＦ１０７でホスト機器１００がデバイス情報取得コマンドを送信してきた場合、ＵＳＢデバイス１はダミーモード用のデバイス情報データをホスト機器１００に対して返信することになる。
また、他のホスト機器に接続されている場合、当該他のホスト機器からは拡張電力モードへの切換を指示する電力モード設定コマンドは発行されないため、常に１００ｍＡモード又は５００ｍＡモードである。従って、他のホスト機器からデバイス情報取得コマンドが発行された場合は、常にダミーモード用のデバイス情報データを返信することになる。
【００６４】
またデバイス情報取得コマンドの受信時に、拡張電力モードであった場合は、デバイスコントローラ２はステップＦ２２１からＦ２２２に進み、主動作部（ディスクドライブ部３）に対して、受信したデバイス情報取得コマンドを転送する。そしてステップＦ２２３でディスクドライブ部３からデバイス情報データを受け取り、ステップＦ２２４で必要に応じてデバイス情報データの一部を変更したうえでホスト機器１００に返信する。
【００６５】
図８（ａ）に、ステップＦ２２５で送信するダミーモード用のデバイス情報データの一例を示す。また図８（ｂ）にはステップＦ２２４で送信するデバイス情報データの一例を示す。
図８（ａ）のダミーモード用のデバイス情報データとは、ディスクドライブ部３の電源がオフのときの応答であり、デバイスコントローラ２が、ディスクドライブ部３に代わって応答する情報である。
図８（ｂ）のデバイス情報データは、デバイスコントローラ２が、ホスト機器１００から受けたデバイス情報取得コマンドをそのまま ディスクドライブ部３に対して送り、ディスクドライブ部３の応答データの一部（ベンダースペシフィック）を変更してホスト機器１００に返す情報となる。
【００６６】
図８（ａ）に示すようにデバイス情報データとしては、周辺機器タイプ（Peripheral Device Type）、ＲＭＢ、ＩＳＯバージョン、ＥＣＭＡバージョン、ＡＮＳＩバージョン、ＡＴＡＰＩトランスポートバージョン、レスポンスデータフォーマット、アディショナルレングス、ＳＣＣＳ等の情報や、ベンダ名（Vendor Identification）、機種名（Product Identification）、機種リビジョンレベルなどの情報が含まれる。
ダミー用のデバイス情報データでは、これらの情報として所定の値が設定される。
また図８（ｂ）に示す通常のデバイス情報データとしては、これらのデータ内容が主動作部（ディスクドライブ部３）についての値として返信される。
【００６７】
この図８（ａ）（ｂ）のデバイス情報データには、バイト位置３６−５５の領域がベンダースペシフィックとされ、製造者側で自由に使用できる領域とされている。
本例のＵＳＢデバイス１（デバイスコントローラ２）は、この領域に、最大１Ａ電流を使用する機器であることを示す情報を付加して、ホスト機器１００等に返信することになる。
先に図４のステップＦ１０７でのデバイス情報取得コマンドに対して、本例のＵＳＢデバイス１は、本例のホスト機器１００との間で決められた特定の情報として、１Ａ電流使用機器であることを通知してくると述べたが、それは、このようにデバイス情報データのベンダースペシフィックの領域を用いることで実現できる。
他のホスト機器の場合、この領域に記録された「最大１Ａ電流を使用する機器であることを示す情報」は有効なデータとして認識できない。
【００６８】
以上、ホスト機器１００の処理と、ＵＳＢデバイス１のコマンド対応処理を述べたが、これらの処理が行われることで、ホスト機器１００とＵＳＢデバイス１が接続された際には、図７に示すような動作が行われることになる。
【００６９】
図７はホスト機器１００とＵＳＢデバイス１がＵＳＢケーブル５０によって接続された時点からの処理を示している。
ホスト機器１００（ＣＰＵ１０１）の処理を（ｈ１）〜（ｈ１０）で示し、またＵＳＢデバイス１（デバイスコントローラ２）の処理を（ｄ１）〜（ｄ７）として示している。
各処理の説明において、上記図４，図５，図６の対応部分をステップ番号で付記する。
【００７０】
（ｄ１）まずＵＳＢケーブル５０によって両機器が接続されると、ＵＳＢデバイス１のデバイスコントローラ２は、ＵＳＢバスパワーの供給を受けて起動する。
起動時には、デバイスコントローラ２は、電力モードを１００ｍＡモードとする。
（ｈ１）ホスト機器１００のＣＰＵ１０１は、ＵＳＢデバイス１側のデバイスコントローラ２の起動に伴って、何らかのＵＳＢデバイスが接続されたことを検出し、初期処理を開始する（Ｆ１０１）。
【００７１】
（ｈ２）ホスト機器１００はゲットデスクリプタを発行する（Ｆ１０２）。
（ｄ２）ＵＳＢデバイス１はゲットデスクリプタに応じて、ホスト機器１００に対してデータの通知を行う。このとき、返信するデータにおいて、自己の使用最大電流＝５００ｍＡであるとホスト機器１００に通知する。
（ｈ３）ホスト機器１００は、ゲットデスクリプタに対するデータを受信し、その内容を確認する（Ｆ１０２）。このときに受信したデータの内容から、接続された機器（ＵＳＢデバイス１）が適正なＵＳＢ接続機器であること、さらにはＵＳＢマスストレージクラスの機器であって、５００ｍＡを使用する機器であると認識できる。
（ｈ４）そしてホスト機器１００は、このように相手方の機器が適正なＵＳＢ接続機器であり、最大使用電流が規格内であって問題ないことを確認できたらセットコンフィギュレーションを実行する（Ｆ１０２→Ｆ１０３→Ｆ１０４→Ｆ１０５）。即ちデバイス設定をおこない、ＵＳＢデバイス１をＵＳＢ接続された外部機器として認識し、通信を許可する。
（ｄ３）ＵＳＢデバイス１から見れば、ホスト機器１００から適正なＵＳＢ接続機器として認識され、また、最大５００ｍＡまで使用可能となる。この場合、デバイスコントローラ２は電力モードを５００ｍＡモードとする。
【００７２】
（ｈ５）ホスト機器１００は、現在接続されている機器がＵＳＢマスストレージクラス機器（この場合、拡張電力モードの対象機器に該当）であることを認識しているため、続いて、デバイス情報取得コマンドを発行する（Ｆ１０５→Ｆ１０６→Ｆ１０７）。
（ｄ４）ＵＳＢデバイス１のデバイスコントローラ２は、デバイス情報取得コマンドに応じて、デバイス情報の返信を行う（Ｆ２０１→Ｆ２０２→Ｆ２０８）。この場合、電力モードは５００ｍＡモードとしているため、デバイスコントローラ２は、図８（ａ）に示したダミーモード用のデバイス情報データを返信する（Ｆ２２１→Ｆ２２５）。このとき、デバイス情報データ内には、そのベンダースペシフィック領域において、最大１Ａ電流を使用する機器であることが記述される。
【００７３】
（ｈ６）ホスト機器１００は、返信されたデバイス情報データを確認し、デバイスを認識するとともに、ベンダースペシフィック領域の情報により、規格外電流を使用する機器であるか否かを判断する。
なお、もし接続されているのが本例のＵＳＢデバイス１ではない何らかの他のＵＳＢマスストレージクラス機器であれば、このベンダースペシフィック領域には規格外電流を使用する機器であることを示す情報は記述されていない。その場合は初期処理を終了する（Ｆ１０８→初期処理終了）。
ところがＵＳＢデバイス１による、上記（ｄ４）の処理で返信されるデバイス情報データには、ベンダースペシフィック領域に規格外電流を使用する機器であることを示す情報が記述されている。この記述を認識したら、ホスト機器１００は、ホスト機器側電源の状態を確認し、このデバイスが要求する規格外電流（１Ａ）を供給できるか否かを確認する。
【００７４】
（ｈ７）ホスト機器１００は、接続された機器が規格外電流を使用する機器であることを認識し、その機器が要求する規格外電流を供給可能と確認したら、電力モード設定コマンドを発行する。
図９（ａ）に電力モード設定コマンドの例を示す。図のようにオペレーションコード（OP Code）により電力モード設定コマンドであることを示すとともに、データタイプ、パワーモードを指定するコマンドとする。
データタイプとして、パワーモードで指定する値の種類を示す。例えば現在の電力モードを設定する(設定後すぐに有効)ものであるのか、或いはＵＳＢ接続直後の初期電力モードを設定する(次回ＵＳＢ接続時に有効)ものであるのかなどの指定である。
そしてパワーモードとして、例えば１００ｍＡモード、５００ｍＡモード、拡張電力モードのいずれかを指定する。
この処理（ｈ７）の場合は、この電力モード設定コマンドにより、現在の電力モードとして、拡張電力モードを指示することになる。
【００７５】
（ｄ５）ＵＳＢデバイス１側は、電力モード設定コマンドに応じて、電力モード設定を行う。即ち、デバイスコントローラ２にとっては、電力モード設定コマンドによりホスト機器１００から、規格外電流（１Ａ電流）を消費する拡張電力モードが許可されたことになり、その電力モード設定コマンドに応じて、拡張電力モードの設定を行う。この場合、デバイスコントローラ２は電力モードを拡張電力モードに設定するとともに、ディスクドライブ部３の電源オン制御を行う（Ｆ２０４→Ｆ２１０）。
この時点から、ＵＳＢデバイス１は拡張電力モードとして、ディスクドライブ部３の動作が可能となる。
【００７６】
（ｈ８）ホスト機器１００は、ＵＳＢデバイス１側の電力モード設定を確認する（Ｆ１０９）。この場合、電力モード確認コマンドを送信する。
図９（ｂ）に電力モード確認コマンドの例を示す。図のようにオペレーションコード（OP Code）により電力モード確認コマンドであることを示すとともに、データタイプを指定するコマンドとする。
データタイプとして、現在の電力モードの確認を求めるのか、或いはＵＳＢ接続直後の初期電力モードの確認を求めるのかを記述する。
この場合は、現在の電力モードの確認を求めることになる。
【００７７】
（ｄ６）ＵＳＢデバイス１のデバイスコントローラ２は、この電力モード確認コマンドに応じて、電力モードの情報を返信する。返信データは、図９（ｂ）のフォーマットにおけるデータタイプで、確認を求められた電力モードを記述する。
この場合は、現在の電力モードとして、「拡張電力モード」であることを示す情報を記述して返信することになる。
（ｈ９）ホスト機器１００は、電力モード情報の返信により、ＵＳＢデバイス１が拡張電力モードとなったことを確認して初期処理を終える。
【００７８】
（ｈ１０）初期処理終了後は、ホスト機器１００は、リードコマンドやライトコマンドを発行して、ＵＳＢデバイス１に再生又は記録を求める。
（ｄ７）ＵＳＢデバイス１は、リードコマンド／ライトコマンドに応じて、ディスクドライブ部３の動作が行われ、データの再生や記録を実行する（Ｆ２１３）。
【００７９】
［５．ＵＳＢデバイスが他のホスト機器に接続された際の動作］
以上は、本例のＵＳＢデバイス１が本例のホスト機器１００に接続された場合の動作であるが、本例のＵＳＢデバイス１が、本発明に該当しない「他のホスト機器」に接続された場合は図１０のようになる。
他のホスト機器の処理を（ｎｈ１）〜（ｎｈ５）で示し、またＵＳＢデバイス１（デバイスコントローラ２）の処理を（ｄ１）〜（ｄ３）（ｄ１０）として示している。
【００８０】
（ｄ１）まずＵＳＢケーブル５０によって両機器が接続されると、ＵＳＢデバイス１のデバイスコントローラ２は、ＵＳＢバスパワーの供給を受けて起動する。
起動時には、デバイスコントローラ２は、電力モードを１００ｍＡモードとする。
（ｎｈ１）他のホスト機器は、ＵＳＢデバイス１側のデバイスコントローラ２の起動に伴って、何らかのＵＳＢデバイスが接続されたことを検出し、初期処理を開始する。
【００８１】
（ｎｈ２）他のホスト機器はゲットデスクリプタを発行する。
（ｄ２）ＵＳＢデバイス１はゲットデスクリプタに応じて、他のホスト機器に対してデータの通知を行う。このとき、返信するデータにおいて、自己の使用最大電流＝５００ｍＡであると、他のホスト機器に通知する。
（ｎｈ３）他のホスト機器は、ゲットデスクリプタに対するデータを受信し、その内容を確認する。このときに受信したデータの内容から、接続された機器（ＵＳＢデバイス１）が適正なＵＳＢ接続機器であること、さらにはＵＳＢマスストレージクラスの機器であって、５００ｍＡを使用する機器であると認識できる。
（ｎｈ４）そして他のホスト機器は、このように相手方の機器が適正なＵＳＢ接続機器であり、最大使用電流が規格内であって問題ないことを確認できたらセットコンフィギュレーションを実行する。即ちデバイス設定をおこない、ＵＳＢデバイス１をＵＳＢ接続された外部機器として認識して通信を許可する。この時点で初期処理が終了する。
（ｄ３）ＵＳＢデバイス１から見れば、他のホスト機器から適正なＵＳＢ接続機器として認識され、また、最大５００ｍＡまで使用可能となる。この場合、デバイスコントローラ２は電力モードを５００ｍＡモードとする。
【００８２】
（ｎｈ５）初期処理終了後は、他のホスト機器は、リードコマンドやライトコマンドを発行して、ＵＳＢデバイス１に再生又は記録を求める。
（ｄ１０）５００ｍＡモードで動作し、ディスクドライブ部３を電源オフとしているＵＳＢデバイス１は、リードコマンド／ライトコマンドに応じては、図５のステップＦ２１１としてダミーモード処理を行うことになる。
上述したようにダミーモードでは、基本的に「No Medium error」を返す。
メディア無しの返信を行うことで、当該他のホスト機器側では、通常にエラー処理を行うのみとなり、不具合を生じることはない。また通常、ホスト機器のＯＳは、メディアが無いと分かったデバイスに対してリードコマンド、ライトコマンドを発行しないため、「No Medium error」を返すことによって、以降、大部分の処理において不測のエラーを避けられる。
つまり、本例のＵＳＢデバイス１が、他のホスト機器に接続された場合は、実際には光ディスクドライブとしては使用できないが、当該他のホスト機器から規格外電流を引いてしまって不具合を生じさせるということはない。
【００８３】
［６．サスペンド／リジューム］
次に、サスペンド及びリジュームの動作について説明する。
省電力の観点から、不要時にはＵＳＢデバイス１をサスペンド（休止）状態としておくことが好ましい。また、必要に応じて休止状態から復帰（リジューム）できることが適切である。その場合の本例の動作について説明していく。
【００８４】
図１１は、ホスト機器１００等（本例のホスト機器１００及び他のホスト機器）と本例のＵＳＢデバイス１によって実行されるサスペンド処理を示している。
なお一般に、ＵＳＢ接続機器のサスペンドとは、ＵＳＢバス接続機器の全体をサスペンドさせる状態をいう。例えばホスト機器１００等としてのパーソナルコンピュータが、接続されている全てのＵＳＢ機器をサスペンドさせる場合である。
特定のＵＳＢ機器のみをサスペンドさせる場合は、セレクティブサスペンドとよばれるが、本例のＵＳＢデバイス１を対象としてのセレクティブサスペンドについては後述する。
【００８５】
ホスト機器１００等の処理として、ステップＦ３０１は、サスペンドトリガの発生監視を示している。例えばホスト機器１００等のＣＰＵは、タイマ設定やユーザ操作などにより省電モードやスリープモードへ移行する場合、ノートタイプのパーソナルコンピュータの場合で蓋部が閉じられた場合などに、サスペンドトリガが発生したと認識する。
そしてサスペンドトリガの発生に応じてステップＦ３０２でＵＳＢバスのサスペンド処理を行う。
【００８６】
ＵＳＢデバイス１のデバイスコントローラ２は、ＵＳＢバスのサスペンドが行われた場合は、ステップＦ４０１からＦ４０２に進み、現在の電力モード状態を確認してＥＥＰ−ＲＯＭ６（もしくはデバイスコントローラ２の内部メモリなど）に記憶する。そして記憶を行った後に、ステップＦ４０３でサスペンド状態（休止状態）に移行する。このときパワースイッチ５によってディスクドライブ部３の電源をオフにする。
即ちサスペンド状態に移行する際には、そのときの電力モードとして、例えば拡張電力モード、５００ｍＡモード、１００ｍＡモードのいずれであるか、を示す情報を記憶するようにしている。
【００８７】
次に、上記サスペンドからの復帰（リジューム）動作を図１２に示す。
ホスト機器１００等のＣＰＵは、リジュームトリガの発生をステップＦ３１０で監視し、リジュームトリガに応じてステップＦ３１１でＵＳＢバスをリジュームする。
ＵＳＢデバイス１のデバイスコントローラ２は、ＵＳＢバスがリジュームされたら、ステップＦ４１０からＦ４１１に進み、サスペンドから復帰するとともに、サスペンド時にＥＥＰ−ＲＯＭ６（もしくはデバイスコントローラ２の内部メモリなど）に記憶した電力モードの情報を読み出す。そしてステップＦ４１２で、サスペンド前の電力モード状態に復帰する。このとき必要に応じてパワースイッチ５によってディスクドライブ部３の電源をオンにする。
【００８８】
続いて本例のホスト機器１００と、本例のＵＳＢデバイス１において実行可能なセレクティブサスペンドについて説明する。
例えば省電力の観点からは、ディスクドライブ部３に光ディスクが装填されていない場合は、休止状態とするとよい。
そこで拡張電力モードによりディスクドライブ部３が動作している際に、光ディスクが排出（イジェクト）されたら、セレクティブサスペンドを行うようにすることが考えられる。
【００８９】
図１３はディスク排出時のセレクティブサスペンド処理を示している。
ホスト機器１００のＣＰＵ１０１は、ユーザ操作、或いはアプリケーションプログラムやＯＳの要求などによりイジェクトトリガが発生したら、ステップＦ３２０からＦ３２１に進み、ＵＳＢデバイス１に対してイジェクトコマンドを発行する。
ＵＳＢデバイス１のデバイスコントローラ２は、イジェクトコマンドを受信したらステップＦ４２０からＦ４２１に進み、当該イジェクトコマンドをディスクドライブ部３に受け渡して、ディスクドライブ部３においてメディアの排出動作を実行させる。
そしてデバイスコントローラ２は、メディア排出が完了したことを確認したら、ステップＦ４２２で、ホスト機器１００に対してイジェクト完了通知を送信する。
ホスト機器１００のＣＰＵ１０１は、イジェクトコマンド発行後、ステップＦ３２２でイジェクト完了を待機する。そしてイジェクト完了通知を受信したら、ステップＦ３２３に進み、ＵＳＢデバイス１に対してセレクティブサスペンドのコマンドを発行する。
ＵＳＢデバイス１のデバイスコントローラ２は、セレクティブサスペンドのコマンドを受信したら、ステップＦ４２３からＦ４２４に進み、現在の電力モード状態を確認してＥＥＰ−ＲＯＭ６（もしくはデバイスコントローラ２の内部メモリなど）に記憶する。そして記憶を行った後に、ステップＦ４２５でサスペンド状態（休止状態）に移行する。
【００９０】
即ちＵＳＢデバイス１は光ディスクが排出された際に、サスペンド状態に移行するとともに、その際には、そのときの電力モードとして、例えば拡張電力モード、５００ｍＡモード、１００ｍＡモードのいずれであるか、を示す情報を記憶するようにしている。
なお、この場合は、ホスト機器１００側のＵＳＢバス全体がサスペンドされるわけではなく、ＵＳＢデバイス１が単独で休止状態に入るものである。
【００９１】
図１４は、ディスク挿入に応じてサスペンド状態から復帰する処理例である。
ＵＳＢデバイス１のデバイスコントローラ２は、サスペンド期間において、ステップＦ４３０でディスク挿入を監視している。即ちディスクセンサ７の検出情報を確認している。
ディスク挿入が検出されたら、ステップＦ４３０からＦ４３１に進み、デバイスコントローラ２はサスペンド状態から復帰する。
そしてステップＦ４３２でデバイスコントローラ２は、ホスト機器１００に対してリモートウェイクアップを発行する。
ホスト機器１００ではＣＰＵ１０１は、リモートウェイクアップを受信したら、ステップＦ３３０からＦ３３１に進み、当該ＵＳＢバスをリジュームする。即ちＵＳＢデバイス１がサスペンドから復帰したことを認識し、有効なデバイスとする。
ＵＳＢデバイス１のデバイスコントローラ２は、ホスト機器１００によってリジュームがなされたら、ステップＦ４３３からＦ４３４に進み、サスペンド時にＥＥＰ−ＲＯＭ６（もしくはデバイスコントローラ２の内部メモリなど）に記憶した電力モードの情報を読み出す。そしてステップＦ４３５で、サスペンド前の電力モード状態に復帰する。
【００９２】
次に、初期処理終了後のセレクティブサスペンドについて説明する。
本例のホスト機器１００とＵＳＢデバイス１の間で、上述のように初期処理が行われることで、ＵＳＢデバイス１が拡張電力モードとして正常動作が可能となるが、その時点で光ディスクが挿入されていないのであればサスペンドしてもよい。図１５はこのような場合のセレクティブサスペンド処理を示している。
【００９３】
ホスト機器１００のＣＰＵ１０１は、ステップＦ３４０として、上述した初期処理（図７で処理（ｈ１）〜（ｈ９）として示した処理）が完了したら、ステップＦ３４１で、ＵＳＢデバイス１側において光ディスクが装填されているか否かのチェックを行う。即ちＣＰＵ１０１は、ＵＳＢデバイス１に対してディスク有無確認コマンドを発行する。
ＵＳＢデバイス１のデバイスコントローラ２は、ディスク有無確認コマンドを受信したら、ステップＦ４４０として、その時点でのディスクセンサ７の検出情報もしくはディスクドライブ部３との通信により、光ディスクの装填の有無を確認する。
そしてステップＦ４４１で、結果、即ちディスクドライブ部３に光ディスクが装填されているか否かを示す情報をホスト機器１００に送信する。
【００９４】
ホスト機器１００側ではＣＰＵ１０１が、ＵＳＢデバイス１からの返信により光ディスク装填有無を確認する。光ディスクが装填されている場合は、ＣＰＵ１０１側では、この図１５に示している処理を脱し、その後、必要に応じて、図７の処理（ｈ１０）として示したような、ＵＳＢデバイス１に対するアクセスを行うことになる。
【００９５】
ホスト機器１００からのＵＳＢデバイス１におけるディスクチェックは定期的に行われる。ステップＦ３４２において光ディスクが装填されていないと確認した場合は、ステップＦ３４３に進み、再びＵＳＢデバイス１における光ディスク装填有無の確認、つまりディスク有無確認コマンドの発行を行う。
ＵＳＢデバイス１側では、このディスク有無確認コマンドが発行される毎に、デバイスコントローラ２においてステップＦ４４０，Ｆ４４１の処理が行われ、ホスト機器１００側に、光ディスク装填有無の結果を返信することになる。
ＣＰＵ１０１は、ステップＦ３４５で初期処理終了後一定時間経過したか否かをチェックしている。
そして一定時間経過前に、ディスク装填が確認された場合は、ステップＦ３４４から、この図１５に示す処理を抜ける。つまり、ＵＳＢデバイス１を接続して初期処理終了後において、一定時間内にユーザが光ディスクを挿入した場合は、セレクティブサスペンド処理は行われないことになる。
【００９６】
ユーザによる通常の使用状態を考えると、ＵＳＢデバイス１をホスト機器１００に接続した後、ＵＳＢデバイス１に光ディスクを装填するということが多いと考えられる。従って、初期処理終了直後は、光ディスクが装填されていないことが多いと考えても良い。すると、初期処理終了直後に、光ディスクが装填されていないからといって即座にセレクティブサスペンドを行うことは、あまり適切な処理とは言えない。
そこで本例の場合、ホスト機器１００はステップＦ３４５で一定時間を待機するものとする。これは、ユーザが、ＵＳＢデバイス１を接続した後に、光ディスクを挿入するという作業を想定した待機時間である。例えば待機時間は、３０秒から１分程度でも良いし、５分程度としてもよい。
【００９７】
ホスト機器１００は、光ディスクの装填の通知が無いまま、この一定時間が経過した場合に、ステップＦ３４６に進み、セレクティブサスペンドのコマンドを発行することになる。つまりユーザが光ディスク挿入を行わないまま一定時間を経過すると、ホスト機器１００はステップＦ３４６でセレクティブサスペンドのコマンドを発行する。
セレクティブサスペンドのコマンドが発行された場合、ＵＳＢデバイス１のデバイスコントローラ２は、ステップＦ４５０の処理を実行する。即ち現在の電力モード状態を確認してＥＥＰ−ＲＯＭ６（もしくはデバイスコントローラ２の内部メモリなど）に記憶する。そして記憶を行った後に、ステップＦ４５１でサスペンド状態（休止状態）に移行する。
【００９８】
このように、ＵＳＢデバイス１は、ホスト機器１００にＵＳＢ接続された後において、一定時間、光ディスクが装填されないままであった場合は、サスペンド状態に制御されることになる。
なお、サスペンド状態になった後において、ユーザが光ディスクを挿入した場合は上記図１４のリジューム動作でサスペンド状態から復帰する。
【００９９】
［７．実施の形態の効果及び変形例］
以上、実施の形態について説明してきたが、実施の形態のＵＳＢデバイス１及びホスト機器１００は、以下の特徴を持つ。
ＵＳＢデバイス１は、主動作部であるディスクドライブ部３の動作に、ＵＳＢ規格外の電流を使用する。
ＵＳＢデバイス１は、規格内電力モード（１００ｍＡモード、５００ｍＡモード）と、例えば最大１Ａ電流の拡張電力モードを設定できる。そしてホスト機器１００との間で取り決めた専用コマンドにて電力モードの設定が可能である。
ＵＳＢデバイス１においては、デバイスコントローラ２がホスト機器から設定された電力モードに応じて、主動作部であるディスクドライブ部３の電源を管理する。
ホスト機器１００は、ＵＳＢデバイス１との間で取り決めたデバイス情報取得コマンド（例えば Inquiryコマンド)の応答にて、規格外電流を使用し、電力モード設定機能を持つデバイスかどうかの確認が可能である。
ホスト機器１００は、ＵＳＢデバイス１との間で取り決めたデバイス情報確認コマンドの応答にて、ＵＳＢデバイス１の電力モード設定状態の確認が可能である。
ＵＳＢデバイス１は、１００ｍＡモード、５００ｍＡモードでディスクドライブ部３が動作できない状態（電源オフなど）のときには、ディスクドライブ部３に代わってデバイスコントローラ２が、ホスト機器１００からのコマンドに対応するダミーモードを持つ。
【０１００】
このようなＵＳＢデバイス１とホスト機器１００において、ＵＳＢデバイス１は、例えば１ＡというＵＳＢ規格を越えた電流を必要とする機器でありながらも、ホスト機器１００からＵＳＢバスパワーとして動作電力を得ることができる。従って、ＡＣアダプター等を接続して動作電力を得ることを不要とすることができ、ユーザにとっての使用性を大きく向上させることができる。
またＵＳＢデバイス１が、本発明に該当しない「他のホスト機器」に接続された場合は、ＵＳＢバスパワーから規格外電流を引くことを行わないため、当該他のホスト機器に不具合を生じさせることはない。つまり他のホスト機器に接続された場合は、規格に準拠した電流しか消費せず、安全を確保できる。
また他のホスト機器に対しては、正常にＵＳＢ接続が確立された状態となること、及びリードコマンド、ライトコマンドが発行された際には、ダミーモードとして「No Medium error」を返すことによって、他のホスト機器やその周辺デバイスに対して不測の不具合を生じさせることを避けられる。
なお、他のホスト機器に接続された場合、ＵＳＢデバイス１自体は光ディスクドライブとして機能しないことになるが、そもそも非対応のホスト機器なので不測の事態を防げればよく、周辺デバイスとしての機能は制限しても構わない。
【０１０１】
また、サスペンド／リジューム動作により、省電力を考慮した上で適切な動作が実現される。
まず図１１のようなサスペンド処理により、ホスト側とともにサスペンド状態に入ることができる。そしてこのとき、電力モード状態を記憶しておくことで、リジューム時に、元の電力モード状態に復帰できる。
また、光ディスクの排出、或いは未装填に応じてセレクティブサスペンドを行うことで、適切に省電力化を図ると共に、その場合も電力モード状態を記憶しておくことで、リジューム時に、元の電力モード状態に復帰できる。
ところで、サスペンド状態の場合、ホスト機器１００はＵＳＢデバイス１との通信を行えない状態になる。例えばディスク排出によってサスペンド状態となった後、ホスト機器１００との間の通信を復帰する手段がないと、使用できない状態のままとなり、例えばメディアを挿入しても、それを使用できる状態にならないおそれがある。その場合に、一旦ＵＳＢ接続を外して再度接続すれば使用可能になるが、それではユーザにとって不便である。
そこで上記実施の形態では図１４に示したように、光ディスクが挿入されたときに ＵＳＢデバイス１がリモートウェイクアップを発行することで、ＵＳＢバスをサスペンド状態から復帰させ、ホスト機器１００との間の通信を復帰するようにしている。これによって、上記の不都合は解消される。
なお、ここではディスク挿入を例にしたが、それ以外のアクション（例えばユーザによるボタン操作など）によってリモートウェイクアップを発行してサスペンド状態から復帰することも当然可能である。
【０１０２】
また実施の形態では、電力モード設定コマンド、電力モード確認コマンドとして図９（ａ）（ｂ）の例を挙げ、そこでは、現在の電力モード設定だけではなく、ＵＳＢ接続直後の電力モードの設定もできるものとした。
電力モード設定コマンドにより、ＵＳＢ接続直後の初期の電力モードの指示があった場合、ＵＳＢデバイス１のデバイスコントローラ２は、その初期電力モードの設定をＥＥＰ−ＲＯＭ６などの不揮発性メモリに記憶する。そしてＵＳＢ接続時には、その記憶された電力モードの状態で起動するようにする。
このように、ＵＳＢ接続直後の電力モードを、拡張電力モードも含めて希望するモードに設定できる手法が用意されることで、例えば動作試験もしくは緊急処置などの目的に対応できる。
例えばＵＳＢデバイス１が要求する電力を供給できるホスト機器であることが分かっており、かつ電力モード制御プログラムなどの組み込みが難しい状況のホスト機器において、試験もしくは緊急処置などの目的で、ＵＳＢデバイス１をＵＳＢ接続した直後に拡張電力モードで使用できるようにしたい場合などに有効である。
また、ＵＳＢデバイス１が要求する電力を供給できるホスト機器において、ＢＩＯＳがＵＳＢデバイス１の拡張電力モードをオンにする機能がないときに、ＯＳを入れ換えるなどの理由で光ディスクからシステムを起動したいような場合に、ＵＳＢデバイス１をＵＳＢ接続した直後に拡張電力モードで使用できるようにしておくと光ディスクを利用できることになる。
【０１０３】
本発明は、その構成や動作として、実施の形態として説明した例に限られず、多様な変形例や適用例が考えられる。以下例示する。
【０１０４】
図７ではＵＳＢデバイス１とホスト機器１００の接続時の初期処理を説明したが、この場合、ＵＳＢデバイス１は、最初に１００ｍＡモードで、その後コンフィギュレーションによって５００ｍＡモードとなり、さらにホスト機器１００からの電力モード設定コマンドにより拡張電力モードになるとした。この例では、ハードウェア／消費電力の観点からは、１００ｍＡモードと５００ｍＡモード には実質的な違いは無く、１００ｍＡモードモードは５００ｍＡモードに移行する前の過渡的な状態である。
そこで変形例として、例えば５００ｍＡモードを用いない例が考えられる。即ち５００ｍＡモードを使用せず、１００ｍＡモードから拡張電力モードに切り替えるようにしてもよい。
デバイスコントローラ２は起動時に１００ｍＡモードとした後は、ホスト機器１００から電力モード設定コマンドで拡張電力モードが指示されるまで、１００ｍＡモードを継続する。
その場合、図７の処理（ｄ２）において、ホスト機器１００に通知する使用最大電流を１００ｍＡとする。そして１００ｍＡ使用機器としてセットコンフィギュレーションが実行されることに応じ、処理（ｄ３）以降も１００ｍＡモードを継続する。
ホスト機器１００側の処理としては、図４のステップＦ１０４の判断を変形すればよい。即ちｘ≦１００ｍＡであればステップＦ１０５に進み、１００ｍＡ＜ｘ≦５００ｍＡであれば、ステップＦ１１１に進むようにすればよい。
【０１０５】
また、より発展型のシステムとして、複数の拡張電力モードを用いることも考えられる。
例えば次に示すような３つの拡張モードを定義し、ホスト機器側が必要に応じて使い分ける事ができるようにする。
・１００ｍＡモード：最大１００ｍＡ消費：１００ｍＡ以下で可能な機能のみ使用可能
・５００ｍＡモード：最大５００ｍＡ消費：５００ｍＡ以下で可能な機能のみ使用可能
・拡張電力モード１：最大７００ｍＡ消費：必要最小限の機能／性能のみ使用可能
・拡張電力モード２：最大１Ａ消費：拡張電力モード１より性能／機能の面で優れる
・拡張電力モード３：最大１．２Ａ消費：全ての機能／性能を使用可能
【０１０６】
このように電力モードを設定可能とし、ホスト機器１００の電力供給能力や、必要とするデバイス機能によって適切なモードを選択できるようにする。このようにすると、例えば多くの電力を消費できる場合に処理速度を上げたり、新たな機能が使えるようにできるなどのメリットがある。
【０１０７】
また次のように、５００ｍＡモードを細分化してもよい。
・１００ｍＡモード：最大１００ｍＡ消費：１００ｍＡ以下で可能な機能のみ使用可能
・５００ｍＡモード１：最大３００ｍＡ消費：３００ｍＡ以下で可能な機能のみ使用可能
・５００ｍＡモード２：最大５００ｍＡ消費：５００ｍＡ以下で可能な機能のみ使用可能
・拡張電力モード１：最大７００ｍＡ消費：必要最小限の機能／性能のみ使用可能
・拡張電力モード２：最大１Ａ消費：拡張電力モード１より性能／機能の面で優れる
・拡張電力モード３：最大１．２Ａ消費：全ての機能／性能を使用可能
【０１０８】
例えば５００ｍＡモード１は省電力重視の場合に選択される電力モードなどとして位置づけることができる。
【０１０９】
これらのように電力モードを細分化することで、ホスト機器の状態／要求／仕様などに応じてきめ細かな制御が可能となる。
例えばホスト機器が外部電源で動作しているときは最大の電力モードで動作しても良いが、バッテリ駆動のときは機能／性能が多少制限されても良いので消費電力を抑えたいような場合や、バッテリ残量がある基準を下回ったときなどに、電力モードを切り換えることなどができる。
また動作状況として、消費電力重視、性能重視、多機能重視などの別に応じて電力モードを切り換えることもできる。
なお、このように電力モードを細分化した場合も、ホスト機器１００は、図９（ａ）のような電力モード設定コマンドで、ＵＳＢデバイス１の電力モード設定を行えばよい。即ち、図９（ａ）のパワーモードとして、例えば１００ｍＡモード、５００ｍＡモード１、５００ｍＡモード２、拡張電力モード１，拡張電力モード２，拡張電力モード３のいずれかを指定できるようにパラメータを決めればよい。
【０１１０】
実施の形態では、ＵＳＢデバイス１として光ディスクドライブの例で説明したが、もちろんＵＳＢデバイス１としては多様な機器が考えられる。
例えば光ディスクドライブの他に、磁気ディスクドライブ、ＵＳＢメモリデバイス、ＨＤＤ、表示装置、キーボードその他の入力装置、デジタルスチルカメラ、ビデオカメラ、プリンタ装置、送信装置、受信装置、通信装置、携帯電話機、情報処理装置（パーソナルコンピュータらＰＤＡ（Personal Digital Assistant））、家電機器などを、ＵＳＢデバイス１に相当する本発明の周辺機器として適用可能である。
【０１１１】
またホスト機器１００はパーソナルコンピュータであるとしての例で実施の形態の説明したが、ホスト機器１００としても、例えば携帯電話器やＰＤＡ、或いはＡＶ（Audio-Visual）機器、ゲーム機器、家電機器など、各種考えられる。
【０１１２】
またＵＳＢというインターフェース規格の例で述べているが、例えばＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４など、他のインターフェース規格であっても、本発明は適用できる。特に、接続ケーブルで電力供給を行うインターフェース規格に好適である。
なお実施の形態では規格外電流の使用を示すデバイス情報の例としてInquiryコマンドの応答を示したが、使用するインターフェースの規格で許される手段であれば他の手法でも構わない。例えばＵＳＢではＵＳＢホストの要求に従いスタンダードデバイスデスクリプタ（Standard Device Descriptor）と呼ばれるデータをＵＳＢデバイスからホストに返信するが、このデータに含まれるベンダーＩＤ（Vendor ID）とプロダクトＩＤ（Product ID）を当デバイス固有の値にしておき、ホストが規格外電流を使用するデバイスのベンダーＩＤとプロダクトＩＤを記憶しておくことで判断することができる。もちろんこれらの例に関わらず、規格外電流の使用を示すデバイス情報としてはシステムにとって都合の良い手法を選択すればよい。
また実施の形態のＵＳＢデバイス１は、基本的にＡＣアダプタなどの外部電源は不要であるが、他のホスト機器に接続しても使用できるようにするため、必要に応じて外部電源を接続できるようにすることも可能である。例えば、外部電源が接続されているときは、インターフェースからの電源を使用せず外部電源のみで動作し、主動作部の電源は常時オンにしておけばよい。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施の形態のシステム構成の説明図である。
【図２】実施の形態のホスト機器のブロック図である。
【図３】実施の形態のＵＳＢデバイスのブロック図である。
【図４】実施の形態のホスト機器の処理のフローチャートである。
【図５】実施の形態のＵＳＢデバイスのコマンド対応処理のフローチャートである。
【図６】実施の形態のＵＳＢデバイスのデバイス情報取得コマンド対応処理のフローチャートである。
【図７】実施の形態の接続時の初期処理の説明図である。
【図８】実施の形態のデバイス情報の説明図である。
【図９】実施の形態の電力モードに関するコマンドの説明図である。
【図１０】実施の形態のＵＳＢデバイスを他のホスト機器に接続した場合の初期処理の説明図である。
【図１１】実施の形態のサスペンド処理のフローチャートである。
【図１２】実施の形態のリジューム処理のフローチャートである。
【図１３】実施の形態のディスク排出時のセレクティブサスペンド処理のフローチャートである。
【図１４】実施の形態のディスク挿入時のリジューム処理のフローチャートである。
【図１５】実施の形態の初期処理後のセレクティブサスペンド処理のフローチャートである。
【符号の説明】
【０１１４】
１  ＵＳＢデバイス、２  デバイスコントローラ、３  ディスクドライブ部、４  ＵＳＢ端子部、５  パワースイッチ部、６  ＥＥＰ−ＲＯＭ、７  ディスクセンサ、１００  ホスト機器、１０１  ＣＰＵ
【図１】
0005152785.tif 000002
【図２】
0005152785.tif 000003
【図３】
0005152785.tif 000004
【図４】
0005152785.tif 000005
【図５】
0005152785.tif 000006
【図６】
0005152785.tif 000007
【図７】
0005152785.tif 000008
【図８】
0005152785.tif 000009
【図９】
0005152785.tif 000010
【図１０】
0005152785.tif 000011
【図１１】
0005152785.tif 000012
【図１２】
0005152785.tif 000013
【図１３】
0005152785.tif 000014
【図１４】
0005152785.tif 000015
【図１５】
0005152785.tif 000016