(57)【要約】【課題】  省電力効果が高い電源制御を実現できるデータ転送制御システム、電子機器及びプログラムを提供すること。【解決手段】  ＢＵＳ１を介して接続されるＰＣ１（第１の電子機器）とＢＵＳ２を介して接続されるＨＤＤ１００（デバイス）との間でのデータ転送を制御するデータ転送制御システム１０であって、ＨＤＤ１００への電源供給をオンにする前に、ＢＵＳ１へのアタッチの指示を行う接続制御部５２と、アタッチの後に、ＢＵＳ１がリセット状態になったか否かを検出するバス状態監視部６０と、ＢＵＳ１のリセット状態が検出された場合に、ＨＤＤ１００への電源供給をオンにする電源制御を行う電源制御部９０を含む。【選択図】        図３
2006059033.tif 000002
【特許請求の範囲】
【請求項１】
第１のバスを介して接続される第１の電子機器と第２のバスを介して接続されるデバイスとの間でのデータ転送を制御するデータ転送制御システムであって、
前記デバイスへの電源供給をオンにする前に、前記第１のバスへのアタッチの指示を行う接続制御部と、
アタッチの後に、前記第１のバスがリセット状態になったか否かを検出するバス状態監視部と、
前記第１のバスのリセット状態が検出された場合に、前記デバイスへの電源供給をオンにする電源制御を行う電源制御部と、
を含むことを特徴とするデータ転送制御システム。
【請求項２】
請求項１において、
アタッチの後に前記第１のバスのリセット状態が検出された場合には、前記接続制御部が、前記第１のバスからのデタッチの指示を行い、デタッチの後に、前記電源制御部が、前記デバイスへの電源供給をオンにする電源制御を行い、電源供給がオンになった後に、前記接続制御部が、前記第１のバスへのアタッチの指示を行うことを特徴とするデータ転送制御システム。
【請求項３】
請求項１又は２において、
アタッチの後に前記第１のバスのリセット状態が検出されず、前記第１のバスのサスペンド状態が検出されたと判断した場合には、前記電源制御部が、前記デバイスへの電源供給をオフのままにする電源制御を行うことを特徴とするデータ転送制御システム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記第１のバスの電源ラインの給電がオフ状態である時に、第２の電子機器に接続される第３のバスがアクティブ状態になった場合には、前記第１の電子機器と前記デバイスとの間での第１のデータ転送処理から、前記第２の電子機器と前記デバイスとの間での第２のデータ転送処理に切り替えることを特徴とするデータ転送制御システム。
【請求項５】
請求項４において、
前記第１のバスの電源ラインの給電のオフ状態が検出された場合に、前記電源制御部が、前記デバイスへの電源供給をオフにする又はセーブする電源制御を行うことを特徴とするデータ転送制御システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記第１のバスがサスペンド状態である時に、第２の電子機器に接続される第３のバスがアクティブ状態になった場合に、前記第１の電子機器と前記デバイスとの間での第１のデータ転送処理から、前記第２の電子機器と前記デバイスとの間での第２のデータ転送処理に切り替えることを特徴とするデータ転送制御システム。
【請求項７】
請求項６において、
前記第１のバスのサスペンド状態が検出された後、所定時間が経過してもサスペンド状態が解除されず、前記第３のバスがアクティブ状態になった場合に、前記第１のデータ転送処理から前記第２のデータ転送処理に切り替えることを特徴とするデータ転送制御システム。
【請求項８】
請求項６又は７において、
前記第１のバスのサスペンド状態が検出された後、所定時間が経過してもサスペンド状態が解除されなかった場合に、前記電源制御部が、前記デバイスへの電源供給をオフにする又はセーブする電源制御を行うことを特徴とするデータ転送制御システム。
【請求項９】
請求項１乃至８のいずれかのデータ転送制御システムと、
前記第２のバスを介して接続される前記デバイスと、
を含むことを特徴とする電子機器。
【請求項１０】
請求項９において、
電子機器の電源をオン、オフするための電源スイッチと、
前記電源スイッチがオンになった場合に電源の供給を行う電源回路と、
前記デバイスへの電源供給を制御するための電源制御信号を前記データ転送制御システムから受け、前記電源制御信号がアクティブになった場合には、前記電源回路からの電源を前記デバイスに供給し、電源制御信号が非アクティブになった場合には、前記電源回路からの電源の前記デバイスへの供給をオフ又はセーブするスイッチ回路と、
を含むこと特徴とする電子機器。
【請求項１１】
第１のバスを介して接続される第１の電子機器と第２のバスを介して接続されるデバイスとの間でのデータ転送を制御するためのプログラムであって、
前記デバイスへの電源供給をオンにする前に、前記第１のバスへのアタッチの指示を行い、
アタッチの後に、前記第１のバスがリセット状態になったか否かを検出し、
前記第１のバスのリセット状態が検出された場合に、前記デバイスへの電源供給をオンにする電源制御を行う手順を、
コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送制御システム、電子機器及びプログラムに関する。
【背景技術】
【０００２】
近年、ＵＳＢ２．０やＩＥＥＥ１３９４などの高速シリアルインターフェースが脚光を浴びている。このような高速シリアルインターフェースを実現するデータ転送制御システムが組み込まれた電子機器の省電力化手法としては、種々の従来技術がある。
【０００３】
しかしながら、従来の手法では、例えばスタンバイ状態のパーソナルコンピュータ（ＰＣ）にＵＳＢケーブルを介して電子機器を接続した場合にも、電子機器のデバイスの電源がオンになってしまい、省電力化が不十分であった。
【特許文献１】特開平１１−２１２６８１号公報
【特許文献２】特開２００１−１９５１５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、省電力効果が高い電源制御を実現できるデータ転送制御システム、電子機器及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、第１のバスを介して接続される第１の電子機器と第２のバスを介して接続されるデバイスとの間でのデータ転送を制御するデータ転送制御システムであって、前記デバイスへの電源供給をオンにする前に、前記第１のバスへのアタッチの指示を行う接続制御部と、アタッチの後に、前記第１のバスがリセット状態になったか否かを検出するバス状態監視部と、前記第１のバスのリセット状態が検出された場合に、前記デバイスへの電源供給をオンにする電源制御を行う電源制御部とを含むデータ転送制御システムに関係する。
【０００６】
本発明では、デバイスへの電源供給をオンにする前に、第１のバス（第１の電子機器）へのアタッチが行われる。そしてアタッチの後、第１のバスのリセット状態が検出されたことを条件に、デバイスへの電源供給がオンになる。このようにすれば、例えば第１の電子機器（ホストシステム）が通常動作状態等である場合には、アタッチが行われたことにより、第１の電子機器はデバイス（データ転送制御システム、これを含む電子機器）の存在を認識し、第１のバスにリセットを送出し、これによりデバイスへの電源供給がオンになる。従って、例えば第１のバスを介して第１の電子機器と接続された場合に、デバイスへの電源供給は直ぐにはオンにならないようになり、省電力効果が高い電源制御を実現できる。
【０００７】
また本発明では、アタッチの後に前記第１のバスのリセット状態が検出された場合には、前記接続制御部が、前記第１のバスからのデタッチの指示を行い、デタッチの後に、前記電源制御部が、前記デバイスへの電源供給をオンにする電源制御を行い、電源供給がオンになった後に、前記接続制御部が、前記第１のバスへのアタッチの指示を行うようにしてもよい。
【０００８】
このようにすれば、デタッチが行われて、第１の電子機器側から見てデバイス（データ転送制御システム、電子機器）が取り外された後に、デバイスへの電源供給がオンなる。そして、電源供給がオンになった後にアタッチが行われて、第１の電子機器がデバイス（データ転送制御システム、電子機器）を認識するようになり、誤動作等を防止できる。
【０００９】
また本発明では、アタッチの後に前記第１のバスのリセット状態が検出されず、前記第１のバスのサスペンド状態が検出されたと判断した場合には、前記電源制御部が、前記デバイスへの電源供給をオフのままにする電源制御を行うようにしてもよい。
【００１０】
このようにすれば、第１の電子機器がスタンバイ状態等であり、第１のバスがサスペンド状態の時には、デバイスへの電源供給がオフのままとなり、省電力化を図れる。
【００１１】
また本発明では、前記第１のバスの電源ラインの給電がオフ状態である時に、第２の電子機器に接続される第３のバスがアクティブ状態になった場合には、前記第１の電子機器と前記デバイスとの間での第１のデータ転送処理から、前記第２の電子機器と前記デバイスとの間での第２のデータ転送処理に切り替えるようにしてもよい。
【００１２】
このようにすれば、簡素な判断処理で、第１のデータ転送処理から第２のデータ転送処理への切り替え制御を実現でき、第１の電子機器と第２の電子機器とでデバイスを共用して使用できるようになる。
【００１３】
また本発明では、前記第１のバスの電源ラインの給電のオフ状態が検出された場合に、前記電源制御部が、前記デバイスへの電源供給をオフにする又はセーブする電源制御を行うようにしてもよい。
【００１４】
また本発明では、前記第１のバスがサスペンド状態である時に、第２の電子機器に接続される第３のバスがアクティブ状態になった場合に、前記第１の電子機器と前記デバイスとの間での第１のデータ転送処理から、前記第２の電子機器と前記デバイスとの間での第２のデータ転送処理に切り替えるようにしてもよい。
【００１５】
このようにすれば、簡素な判断処理で、第１のデータ転送処理から第２のデータ転送処理への切り替え制御を実現でき、第１の電子機器と第２の電子機器とでデバイスを共用して使用できるようになる。
【００１６】
また本発明では、前記第１のバスのサスペンド状態が検出された後、所定時間が経過してもサスペンド状態が解除されず、前記第３のバスがアクティブ状態になった場合に、前記第１のデータ転送処理から前記第２のデータ転送処理に切り替えるようにしてもよい。
【００１７】
このようにすれば、第１のバスが一時的にサスペンド状態になった場合には、第１のデータ転送処理から第２のデータ転送処理への切り替えは行われないようになり、システムの安定性、信頼性を高めることができる。
【００１８】
また本発明では、前記第１のバスのサスペンド状態が検出された後、所定時間が経過してもサスペンド状態が解除されなかった場合に、前記電源制御部が、前記デバイスへの電源供給をオフにする又はセーブする電源制御を行うようにしてもよい。
【００１９】
また本発明は、上記のいずれかのデータ転送制御システムと、前記第２のバスを介して接続される前記デバイスとを含む電子機器に関係する。
【００２０】
また本発明は、電子機器の電源をオン、オフするための電源スイッチと、前記電源スイッチがオンになった場合に電源の供給を行う電源回路と、前記デバイスへの電源供給を制御するための電源制御信号を前記データ転送制御システムから受け、前記電源制御信号がアクティブになった場合には、前記電源回路からの電源を前記デバイスに供給し、電源制御信号が非アクティブになった場合には、前記電源回路からの電源の前記デバイスへの供給をオフ又はセーブするスイッチ回路とを含むようにしてもよい。
【００２１】
また本発明は、第１のバスを介して接続される第１の電子機器と第２のバスを介して接続されるデバイスとの間でのデータ転送を制御するためのプログラムであって、前記デバイスへの電源供給をオンにする前に、前記第１のバスへのアタッチの指示を行い、アタッチの後に、前記第１のバスがリセット状態になったか否かを検出し、前記第１のバスのリセット状態が検出された場合に、前記デバイスへの電源供給をオンにする電源制御を行う手順をコンピュータに実行させるプログラムに関係する。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態について詳細に説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２３】
１．電源連動機能
図１（Ａ）において、電子機器はハードディスクドライブ（ＨＤＤ）などのデバイスを有している。このような電子機器では、電源スイッチをオンにしてもＨＤＤの電源はオフのままにして、図１（Ｂ）のようにＵＳＢ（Universal Serial Bus）ケーブルを介してパーソナルコンピュータＰＣ１と接続されたことを条件に、ＨＤＤの電源をオンにするという電源連動機能を有するものがある。
【００２４】
具体的には図２に示すように、ＵＳＢケーブルが接続されてＶＢＵＳ（ＶＢＵＳ給電）がオンになると、ＨＤＤへの電源供給をオンにする（ステップＳ１、Ｓ２）。次に、ＨＤＤが接続されているＡＴＡ（ＩＤＥ）の初期化を行い（ステップＳ３）、その後に、ＵＳＢへのアタッチ動作を行う（ステップＳ４）。そしてＵＳＢのバス状態を監視し（ステップＳ５）、サスペンド状態が検出されなければ、通常動作状態に移行する（ステップＳ６、Ｓ７）。一方、サスペンド状態が検出されると、ＨＤＤへの電源供給をオフにする（ステップＳ８）。
【００２５】
このような図２の電源連動手法では、スタンバイ状態のＰＣ１に電子機器が接続された場合にも、ＨＤＤへの電源供給がオンになってしまう。そして図２のステップＳ３、Ｓ４、Ｓ５、Ｓ６の処理が行われて、ＵＳＢのサスペンド状態が検出された後に初めて、ステップＳ８に示すようにＨＤＤへの電源供給がオフになる。従って、図２のステップＳ３、Ｓ４、Ｓ５、Ｓ６の処理が行われている期間においてもＨＤＤにおいて電力が消費されており、実際に使用されていない期間において無駄な電力が消費されてしまうという課題がある。
【００２６】
２．全体構成
以上のような課題を解決できる本実施形態のデータ転送制御システム及びこれを含む電子機器の構成例を図３に示す。なお、以下では、電子機器が有するデバイスがＨＤＤ（ハードディスクドライブ）である場合を例にとり説明するが、本発明はこれに限定されない。例えば電子機器が有するデバイスは、ＨＤＤ以外のストレージデバイス（光ディスクドライブ、光磁気ディスクドライブ等）や、ストレージデバイス以外のデバイスであってもよい。また、以下では、ＢＵＳ１を介して電子機器に接続される第１の電子機器がＰＣ（パーソナルコンピュータ）である場合を例にとり説明するが、本発明はこれに限定されない。例えば第１の電子機器は、携帯情報処理端末、携帯電話機などのＰＣ以外の電子機器であってもよい。またＢＵＳ１は、ＵＳＢ１．１、ＵＳＢ２．０以外の高速シリアルバス（多チャンネルのシリアルバスを含む）であってもよいし、ＢＵＳ１の一部又は全部が無線バスであってもよい。
【００２７】
パーソナルコンピュータＰＣ１（広義には第１の電子機器、第１のホストシステム）と電子機器８とは、ＵＳＢ（ＵＳＢ１．１、ＵＳＢ２．０等）に準拠したＢＵＳ１（第１のバス。第１のシリアルバス）により接続される。
【００２８】
そして電子機器８は、データ転送制御システム１０とデバイス１００を有する。また電子機器８は、電子機器８（データ転送制御システム１０）の電源をオン・オフするための電源スイッチ１１０と、電源スイッチ１１０がオンになった場合に電源の供給を行う電源回路１１２と、データ転送制御システム１０からの電源制御信号ＰＳＣに基づいて、電源回路１１２からの電源のＨＤＤ１００への供給をオン又はオフ（セーブ）するスイッチ回路１１４を含む。なお図３では、ロジカルユニットであるＨＤＤが１個である場合を示しているが、ロジカルユニットは２個以上であってもよい。また電子機器８には、図示しないシステムＣＰＵ、システムメモリ（ＲＯＭ、ＲＡＭ）、操作部、表示部、或いは信号処理デバイスなどを含めることができる。
【００２９】
データ転送制御システム１０は、転送コントローラ１２、バッファコントローラ３８、データバッファ４０、処理部５０を含む。なおこれらの一部を省略する構成としてもよい。例えばバッファコントローラ３８やデータバッファ４０を省略する構成としてもよい。
【００３０】
転送コントローラ１２は、ＢＵＳ１に接続されるＰＣ１（第１の電子機器）と、ＢＵＳ２に接続されるＨＤＤ１００（デバイス）との間でのデータ転送を制御するコントローラである。
【００３１】
バッファコントローラ３８は、転送データを一時的に格納するデータバッファ４０へのアクセス（書き込みアクセス、読み込みアクセス）を制御するコントローラである。バッファコントローラ３８には、例えば書き込み用、読み込み用の複数のポインタを管理するポインタ管理部や、バッファコントローラ３８の制御のためのレジスタや、データバッファ４０へのバス接続を調停する調停回路や、各種の制御信号を生成するシーケンサなどを含めることができる。
【００３２】
データバッファ４０（パケットバッファ、ＦＩＦＯメモリ）は、転送データ（パケット）を一時的に格納するためのバッファ（メモリ）であり、ＳＲＡＭ、ＳＤＲＡＭ、或いはＤＲＡＭなどのハードウェアにより構成できる。なおデータバッファ４０を、データ転送制御システム１０に内蔵せずに、外付けにしてもよい。
【００３３】
転送コントローラ１２は、トランシーバ１４、ＳＩＥ（Serial Interface Engine）２０、インターフェース回路３０を含む。なお転送コントローラ１２は、図３に示す全ての回路ブロックを含む必要はなく、その一部を省略してもよい。例えばトランシーバ１４を含まない構成としてもよい。
【００３４】
トランシーバ１４は、差動データ線ＤＰ、ＤＭ（差動データ信号）を用いてデータを送受信するための回路である。このトランシーバ１４は、例えばＵＳＢの物理層回路（アナログフロントエンド回路）を含む。ＢＵＳ１がＵＳＢ２．０である場合には、トランシーバ１４としてはＵＳＢ２．０のＵＴＭＩ（USB2.0 Transceiver Macrocell Interface）仕様に準拠したマクロブロックを使用できる。なおトランシーバ１４に物理層以外の層の回路を含めてもよい。
【００３５】
ＳＩＥ２０（リンク＆トランザクション層回路）は、ＵＳＢのパケット転送処理などを行うための回路である。ＳＩＥ２０はパケットハンドラ回路２２、サスペンド＆レジューム制御回路２４、トランザクション管理回路２６、エンドポイント管理回路２８を含む。なおこれらの一部を省略する構成としてもよい。
【００３６】
パケットハンドラ回路２２は、ヘッダ及びデータからなるパケットの組み立て（生成）や分解などを行ったり、ＣＲＣの生成や解読を行う。サスペンド＆レジューム制御回路２４は、サスペンドやレジューム時のシーケンス制御を行う。トランザクション管理回路２６は、トークン、データ、ハンドシェークなどのパケットにより構成されるトランザクションを管理する。エンドポイント管理回路２８は、データバッファ４０の各記憶領域の入り口となるエンドポイントを管理する回路であり、エンドポイントの属性情報を記憶するレジスタ（レジスタセット）などを含む。
【００３７】
インターフェース回路３０は、ＨＤＤ１００（広義にはデバイス）とのインターフェース処理を行う回路である。このインターフェース回路３０の機能により、ＡＴＡ（AT Attachment）、ＡＴＡＰＩ（ATA Packet Interface）に準拠したデータ転送を、ＢＵＳ２を介してＨＤＤ１００との間で行うことが可能になる。
【００３８】
そしてトランシーバ１４、ＳＩＥ２０、インターフェース回路３０などを設けることで、ＵＳＢ（広義には第１のインターフェース規格）とＡＴＡ（ＩＤＥ）／ＡＴＡＰＩ（広義には第２のインターフェース規格）の変換ブリッジ機能をデータ転送制御システム１０に持たせることが可能になる。
【００３９】
インターフェース回路３０が含むＤＭＡコントローラ３２は、ＢＵＳ２を介してＨＤＤ１００との間でＤＭＡ（Direct Memory Access）転送を行うための回路である。なお、ＢＵＳ２に接続されるＨＤＤ１００は、ＡＴＡ（ＩＤＥ）／ＡＴＡＰＩに準拠したデータ転送を行うためのインターフェース回路１０２と、ストレージ１０６へのアクセス制御（書き込み又は読み出し制御）を行うアクセス制御回路１０４と、ハードディスク等のストレージ１０６を含む。
【００４０】
処理部５０は、データ転送の制御や装置全体の制御を行う。処理部５０は、接続制御部５２、バス状態監視部６０、エンドポイント管理部７０、ＵＳＢリクエスト・ＡＴＡコマンド処理部７２、パケット処理部８０、電源制御部９０を含む。なおこれらの一部を省略する構成としてもよい。処理部５０が含むこれらの各部は、ＣＰＵ（プロセッサ）などのハードウェア回路とＣＰＵ上で動作するプログラム（ファームウェア）により実現でき、このプログラム（処理モジュール）は、電気的にデータの書き換えが可能な不揮発性メモリ（ＥＥＰＲＯＭ）或いはＲＯＭなどのメモリに格納できる。但し処理部５０が含むこれらの各部の一部又は全部を、専用のハードウェア回路（ＡＳＩＣ）により実現してもよい。
【００４１】
接続制御部５２はＢＵＳ１（ＵＳＢ）との接続制御を行う。具体的にはＢＵＳ１（ＰＣ１）へのアタッチを指示したり、ＢＵＳ１（ＰＣ１）からのデタッチを指示する。即ち、例えばアタッチやデタッチを行う場合に、アタッチやデタッチを指示する情報をレジスタに書き込む。
【００４２】
ここでアタッチは、ＢＵＳ１に接続されるＰＣ１等に、電子機器８（ＨＤＤ１００）の存在を認識させるための動作であり、デタッチは、この認識を停止させるための取り外し動作である。アタッチが行われると、ＰＣ１上のＯＳ（Operating System）は、ＢＵＳ１（ＵＳＢ）に電子機器８が接続されていることを認識できるようになる。デタッチが行われると、ＢＵＳ１から電子機器８が取り外され、ＯＳは電子機器８の存在を認識できなくなる。
【００４３】
バス状態監視部６０は、ＢＵＳ１（ＵＳＢ）のバス状態を監視する処理を行う。具体的には、ＢＵＳ１のバス状態を監視して、ＢＵＳ１のリセット状態やサスペンド状態などを検出する。またＶＢＵＳ（広義には電源ライン）のオン、オフ（給電のオン、オフ）の検出処理も行う。
【００４４】
ＵＳＢケーブルが接続されてＶＢＵＳがオン状態になると、接続制御部５２からの指示によりデータ転送制御システム１０（電子機器８）はＢＵＳ１へのアタッチを行う。具体的には、ＢＵＳ１の差動データ線ＤＰ（Ｄ＋）やＤＭ（Ｄ−）の電圧レベルを上昇させる。そしてＰＣ１は、このアタッチを検出する。例えばＤＰ、ＤＭのいずれかが３．３Ｖ以上になると、アタッチが検出される。アタッチが検出されるとＰＣ１は、一定時間以上（例えば１０ｍｓｅｃ）継続してリセットをＢＵＳ１に送出する。具体的には例えばＤＰ、ＤＭの両方をローレベルに設定することでリセットを送出する。
【００４５】
ＰＣ１によりリセットが送出されると、バス状態監視部６０は、ＢＵＳ１のリセット状態を検出する。そしてデータ転送制御システム１０の内部リセットが実行され、データ転送制御システム１０はデフォルト状態になる。そしてエンドポイント０（パイプ０）を用いたコントロール転送が行われ、コンフィギュレーションが行われる。具体的には、電子機器８（ＨＤＤ１００）のデバイスディスクリプタ情報がＰＣ１に送信されて、ＢＵＳ１を介したパケット転送が可能になる。
【００４６】
エンドポイント管理部７０はエンドポイントの管理処理を行う。具体的にはエンドポイントの管理のための指示をエンドポイント管理回路２８に対して行う。ＵＳＢリクエスト・ＡＴＡコマンド処理部７２は、ＢＵＳ１を介してＰＣ１等から来たＵＳＢリクエストについての処理を行う。またＨＤＤ１００に対して発行するＡＴＡコマンドについての処理を行う。パケット処理部８０は、ＢＵＳ１を介して転送されてくるパケットの解析処理や、そのパケットに対する応答処理などを行う。ＵＳＢリクエスト・ＡＴＡコマンド処理部７２やパケット処理部８０により行われる処理により、ＢＵＳ１を介して接続されるＰＣ１（第１の電子機器）とＢＵＳ２を介して接続されるＨＤＤ（デバイス）との間でのデータ転送が実現される。
【００４７】
電源制御部９０は、ＨＤＤ１００やデータ転送制御システム１０への電源供給に関する種々の制御を行う。
【００４８】
即ち本実施形態では、ＨＤＤ１００（デバイス）への電源供給をオンにする前に、接続制御部５２がＢＵＳ１へのアタッチの指示を行う。すると、転送コントローラ１２（トランシーバ１４）がＤＰやＤＭの電圧を上昇させてＢＵＳ１（ＰＣ１）へのアタッチを行う。そして、アタッチの後に、バス状態監視部６０は、ＢＵＳ１がリセット状態になったか否かを検出する。そしてＢＵＳ１のリセット状態が検出されると、電源制御部９０は、ＨＤＤへの電源供給をオンにする電源制御を行う。具体的には、ＨＤＤ１００への電源供給を制御するための電源制御信号ＰＳＣをアクティブに設定する。すると、この電源制御信号ＰＳＣを受けたスイッチ回路１１４は、電源回路１１２からの電源をＨＤＤ１００に供給する。このようにすれば、スタンバイ状態になっているＰＣ１に電子機器８が接続された場合に、ＨＤＤ１００への電源供給がオンになってしまう事態を防止できる。即ち本実施形態ではＨＤＤ１００への電源供給をオンにする前に、電源供給をオンにすべきか否かの判断が行われるため、ＨＤＤ１００において無駄な電力が消費されるのを防止できる。
【００４９】
更に具体的には本実施形態では以下のような処理を行う。即ち、アタッチの後にＢＵＳ１のリセット状態がバス状態監視部６０により検出された場合には、接続制御部５０が、ＢＵＳ１からのデタッチの指示を行う。そしてデタッチの後に、電源制御部９０が、ＨＤＤ１００への電源供給をオンにする電源制御を行う。そして電源供給がオンになった後に、接続制御部５２が、ＢＵＳ１へのアタッチの指示を行う。このようにすれば、ＨＤＤ１００がデタッチされた状態で、ＨＤＤ１００への電源供給がオンになるため、誤動作等の発生を防止できる。
【００５０】
なお本実施形態では、アタッチの後にＢＵＳ１のリセット状態が検出されなかった場合は、ＢＵＳ１のサスペンド状態が検出されたと見なして、電源制御部９０が、ＨＤＤ１００への電源供給をオフのままにする電源制御を行う。このようにすれば、ＢＵＳ１がサスペンド状態である場合（ＰＣ１がスタンバイ状態である場合）に、ＨＤＤ１００において無駄な電力が消費されるのを防止できる。
【００５１】
図４に本実施形態のデータ転送制御システム及び電子機器の他の構成例を示す。図４では、電子機器８が、第１のバスＢＵＳ１用（ＵＳＢ用）のポート１２１と、第３のバスＢＵＳ３用（ＩＥＥＥ１３９４用）のポート１２２を有している。そしてデータ転送制御システム１０（第１のデータ転送制御ＩＣ）は、ＢＵＳ１（ポート１２１）を介して接続されるＰＣ１（第１の電子機器）と、ＢＵＳ２を介して接続されるＨＤＤ１００との間でのデータ転送（第１のデータ転送処理）の制御を行う。またデータ転送制御システム１１（第２のデータ転送制御ＩＣ）は、ＢＵＳ３（ポート１２２）を介して接続されるＰＣ２（第２の電子機器）と、ＢＵＳ２を介して接続されるＨＤＤ１００との間でのデータ転送（第２のデータ転送処理）の制御を行う。
【００５２】
図４の構成によれば、ＰＣ１がＨＤＤ１００を使用していない時には、ＰＣ２がＨＤＤ１００を使用してデータを書き込んだり読み込んだりすることができる。具体的には、ＢＵＳ１のＶＢＵＳ（電源ライン）がオフ状態である時に、ＢＵＳ３がアクティブ状態（ケーブルアクティブ）になった場合には、ＰＣ１とＨＤＤ１００との間での第１のデータ転送処理から、ＰＣ２とＨＤＤ１００との間での第２のデータ転送処理に切り替わる。またＢＵＳ１がサスペンド状態である時に、ＢＵＳ３がアクティブ状態（ケーブルアクティブ）になった場合にも、ＰＣ１とＨＤＤ１００との間での第１のデータ転送処理から、ＰＣ２とＨＤＤ１００との間での第２のデータ転送処理に切り替わる。
【００５３】
３．本実施形態の手法
３．１  電源連動動作
図１（Ａ）（Ｂ）の電源連動手法では、スタンバイ状態のＰＣ１に電子機器が接続された場合にも、ＨＤＤの電源がオンになる。ところが、ＰＣ１がスタンバイ状態である期間では、ＨＤＤがＰＣ１により使用されることはない。従って、ＰＣ１がスタンバイ状態である期間においてＨＤＤの電源がオンになってしまうと、ＨＤＤにおいて電力が無駄に消費されてしまう。
【００５４】
そこで本実施形態では、ＢＵＳ１（ＵＳＢ）との接続後、まずアタッチを行い、ＢＵＳ１にリセットが起きるか否かを確認する。そしてリセットが検出された場合に、ＨＤＤ１００（デバイス）への電源供給をオンにする。
【００５５】
具体的には図５（Ａ）に示すように、電子機器の電源スイッチ１１０がオンになった場合にも、ＨＤＤ１００への電源供給はオフのままにする。即ち、電源制御部９０が電源制御信号ＰＳＣを非アクティブに設定し、これを受けたスイッチ回路１１４が、電源回路１１２からＨＤＤ１００への電源供給をオフにする。そして図５（Ｂ）に示すように、ＨＤＤ１００への電源供給をオンにする前に、ＢＵＳ１（ＰＣ１）へのアタッチ動作を行う。
【００５６】
次に、図５（Ｃ）に示すようにＢＵＳ１のバス状態を監視し、ＢＵＳ１がリセット状態になったか否か（ＰＣ１がリセットを送出したか否か）を検出する。そしてＢＵＳ１のリセットが検出された場合に、ＨＤＤ１００の電源をオンにする。具体的には、電源制御部９０が電源制御信号ＰＳＣをアクティブに設定し、これを受けたスイッチ回路１１４が、電源回路１１２からＨＤＤ１００への電源供給をオンにする。
【００５７】
このように本実施形態では、ＨＤＤ１００の電源をオンにする前に、電源をオンにすべきかどうかの判断を行っている。具体的には、通常はＨＤＤ１００の存在をＰＣ１に認識させるために使用されるアタッチ動作を、ＨＤＤ１００の電源をオンにすべきかどうかの判断に使用している。
【００５８】
このようにすれば、スタンバイ状態（或いは電源オフ）のＰＣ１に電子機器が接続された場合には、ＨＤＤ１００の電源はオンにならないようになる。即ちＰＣ１がスタンバイ状態である場合には、データ転送制御システム１０がアタッチ動作を行っても、ＰＣ１がリセットを送出しないため、ＢＵＳ１のリセット状態が検出されない。従って、この場合にはＢＵＳ１はサスペンド状態であると判断して、ＨＤＤ１００の電源をオフのままにする。これにより、ＰＣ１がスタンバイ状態である期間においては、ＨＤＤ１００の電源はオフになるため、電力が無駄に消費されてしまう事態を防止できる。ＰＣ１がスタンバイ状態である場合にはＨＤＤ１００はＰＣ１により使用されないため、このようにＨＤＤ１００の電源をオフのままにしても、問題は生じない。
【００５９】
また本実施形態では、図６（Ａ）のようにアタッチの後にＢＵＳ１のリセット状態が検出された場合には、図６（Ｂ）のように、ＢＵＳ１（ＰＣ１）からのデタッチを行い、デタッチの後にＨＤＤ１００への電源供給をオンにしている。そして図６（Ｃ）のように、電源供給がオンになった後にＢＵＳ１へのアタッチを行う。
【００６０】
図６（Ｂ）のようにデタッチを行えば、ＰＣ１はＨＤＤ１００を認識できなくなる。従って、例えばＨＤＤ１００の電源がオフである期間やオフからオンになる遷移期間において、ＰＣ１がＨＤＤ１００にアクセスしてしまう事態を防止でき、誤動作等の発生を防止できる。そして図６（Ｃ）のように、ＨＤＤ１００の電源がオンになった後に、アタッチが行われるため、ＰＣ１は適正にオンになったＨＤＤ１００にアクセスできるようになり、システムの安定性や信頼性を向上できる。
【００６１】
３．２  データ転送処理の切り替え制御
図４の構成の場合には、ＰＣ１、ＨＤＤ１００間の第１のデータ転送処理と、ＰＣ２、ＨＤＤ１００間の第２のデータ転送処理を行うことができる。本実施形態では、この第１、第２のデータ転送処理の切り替え制御を、以下のように実現している。
【００６２】
具体的には図７（Ａ）に示すように、ＢＵＳ１（ＵＳＢ）のＶＢＵＳ（電源ライン）がオフ（ＶＢＵＳ電圧が所定電圧以下）である時に、ＢＵＳ３（ＩＥＥＥ１３９４）がアクティブ状態（ケーブルアクティブ）になった場合には、ＰＣ１とＨＤＤ１００との間での第１のデータ転送処理から、ＰＣ２とＨＤＤ１００との間での第２のデータ転送処理に切り替える（移行する）。ここで、アクティブ状態とは、ＢＵＳ３のケーブルの物理的な接続があり、バイアス電圧も供給されており、データ転送が可能な状態である。
【００６３】
なおＶＢＵＳ（ＶＢＵＳ給電）のオフが検出された場合には、ＨＤＤ１００への電源供給をオフ（又はセーブ）にしてもよい。そして、ＨＤＤ１００への電源供給をオフにした後に、第１のデータ転送処理（ＵＳＢ処理）から第２のデータ転送処理（ＩＥＥＥ１３９４処理）に切り替えるようにする。このようにすれば、より省電力効果が高い電源制御を実現できる。
【００６４】
また本実施形態では図７（Ｂ）に示すように、ＢＵＳ１（ＵＳＢ）がサスペンド状態である時に、ＢＵＳ３（ＩＥＥＥ１３９４）がアクティブ状態（ケーブルアクティブ）になった場合には、ＰＣ１とＨＤＤ１００との間での第１のデータ転送処理（ＵＳＢ処理）から、ＰＣ２とＨＤＤ１００との間での第２のデータ転送処理（ＩＥＥＥ１３９４処理）に切り替える。
【００６５】
この場合には、ＢＵＳ１のサスペンド状態が検出された後、所定時間（例えば１秒）が経過してもサスペンド状態が解除されず、ＢＵＳ２がアクティブ状態になった場合に、第１のデータ転送処理から第２のデータ転送処理に切り替える。このようにすれば、ＢＵＳ１が一時的にサスペンド状態になったような場合に、第１のデータ転送処理から第２のデータ転送処理に切り替わってしまう事態を防止でき、切り替え処理の安定性、信頼性を高めることができる。
【００６６】
なお、ＢＵＳ１のサスペンド状態が検出された後、所定時間（例えば１秒）が経過してもサスペンド状態が解除されなかった場合に、ＨＤＤ１００への電源供給をオフ（又はセーブ）にするようにしてもよい。このようにすれば、より省電力効果が高い電源制御を実現できる。
【００６７】
以上のような手法でデータ転送処理（データ転送経路）の切り替えを行えば、ＨＤＤ１００をＰＣ１とＰＣ２で共有して使用できるようになり、ユーザの利便性を向上できる。また、ＢＵＳ１のＶＢＵＳがオンか否かや、ＢＵＳ１がサスペンド状態か否かや、ＢＵＳ３がアクティブ状態か否かを検出するだけで、データ転送処理の切り替えの判断ができるため、切り替え制御の簡素化を図れる。
【００６８】
４．詳細な処理
次に、本実施形態の手法の詳細な処理例について図８、図９のフローチャートを用いて説明する。
【００６９】
図８はＨＤＤへの電源供給制御に関するフローチャートである。ＵＳＢケーブルが接続されて、ＶＢＵＳがオンになると（ステップＳ１１）、図５（Ｂ）で説明したようにアタッチ動作を行う（ステップＳ１２）。そして所定時間（例えば５０ｍｓｅｃ）だけウエイトする（ステップＳ１３）。
【００７０】
次に、ＵＳＢのリセットが検出されたか否かを判断し（ステップＳ１４）、リセットが検出されなかった場合には、ＵＳＢがサスペンド状態であると判断する（ステップＳ１５）。そしてＨＤＤ（ＡＴＡデバイス）への電源供給をオフのままにする（ステップＳ１６）。即ち電源制御信号ＰＳＣを非アクティブのままにする。
【００７１】
一方、ステップＳ１４でＵＳＢのリセットが検出された場合には、図６（Ｂ）で説明したように、デタッチ動作を行い（ステップＳ１７）、その後にＨＤＤ（ＡＴＡデバイス）への電源供給をオンにする（ステップＳ１８）。そしてＡＴＡ（ＩＤＥ）の初期化処理を行う（ステップＳ１９）。その後に、図６（Ｃ）で説明したようにアタッチ動作を行い（ステップＳ２０）、通常動作状態に移行する（ステップＳ２１）。
【００７２】
図９は、ＵＳＢ処理（第１のデータ転送処理）からＩＥＥＥ１３９４処理（第２のデータ転送処理）への切り替え制御に関するフローチャートである。
【００７３】
ＵＳＢ処理中（ステップＳ３１）において、ＶＢＵＳがオフになったか否か（ＵＳＢケーブルが抜かれたか否か）を検出する（ステップＳ３２）。そして、ＶＢＵＳのオフが検出された場合には、ＶＢＵＳがオフか否かを再度確認し（ステップＳ３３）、ＶＢＵＳのオフが再確認された場合には、ＡＴＡバス（ＢＵＳ２）を解放する（ステップＳ３４）。即ちＰＣ２がＡＴＡバスを使用できるようにする。そしてＨＤＤへの電源供給をオフにして（ステップＳ３５）、ＩＥＥＥ１３９４処理に移行（ジャンプ）する（ステップＳ３６）。
【００７４】
ステップＳ３２で、ＶＢＵＳのオフが検出されなかった場合には、ＵＳＢがサスペンド状態になったか否かを検出する（ステップＳ３７）。そして、サスペンド状態が検出されなかった場合にはステップＳ３２に戻る。一方、サスペンド状態が検出された場合には、１秒以内（所定時間内）にサスペンドが解除されたか否かを検出する（ステップＳ３８）。そして、解除された場合にはステップＳ３２に戻り、解除されなかった場合にはＨＤＤへの電源供給をオフにする（ステップＳ３９）。
【００７５】
次にＩＥＥＥ１３９４がケーブルアクティブ（アクティブ状態）か否かを検出し（ステップＳ４０）、ケーブルアクティブではない場合には、サスペンドが解除されたか否かを検出する（ステップＳ４１）。そしてサスペンド解除が検出された場合にはステップＳ３２に戻る。一方、ＩＥＥＥ１３９４のケーブルアクティブが検出された場合には、デタッチ動作を行い（ステップＳ４２）、ＡＴＡバス（ＢＵＳ２）を解放する（ステップＳ４３）。即ちＰＣ２がＡＴＡバスを使用できるようにする。そしてＩＥＥＥ１３９４処理に移行する（ステップＳ４４）。
【００７６】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（第１の電子機器、第２の電子機器、デバイス、電源ライン、第１のインターフェース規格、第２のインターフェース規格等）として引用された用語（ＰＣ１、ＰＣ２、ＨＤＤ、ＶＢＵＳ、ＵＳＢ、ＡＴＡ／ＡＴＡＰＩ等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００７７】
また本発明のデータ転送制御システム、電子機器の構成は、図３、図４に示した構成に限定されず、種々の変形実施が可能である。例えば図３、図４の各ブロックの一部を省略したり、その接続関係を変更してもよい。また、第２のバス（ＢＵＳ２）に接続されるデバイスはＨＤＤなどのストレージデバイスに限定されない。またトランシーバ、ＳＩＥ、データバッファの接続構成も図３に示す接続構成に限定されない。
【００７８】
また本実施形態では、接続制御部、バス状態監視部、電源制御部等をファームウェア（プログラム）により実現する場合について説明したが、これらを機能の一部又は全部をハードウェア回路により実現してもよい。
【００７９】
また本発明は種々の電子機器（ハードディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ、携帯情報端末、ＰＤＡ、拡張機器、オーディオ機器、デジタルビデオカメラ、携帯電話、プリンタ、スキャナ、ＴＶ、ＶＴＲ、電話機、表示デバイス、プロジェクタ、パーソナルコンピュータ或いは電子手帳等）に適用できる。
【００８０】
また、本実施形態では、ＵＳＢ１．１やＵＳＢ２．０の規格でのデータ転送に本発明を適用した場合について説明した。しかしながら本発明は、例えばこれらの規格と同様の思想に基づく規格（ＵＳＢ−ＯＴＧ等）や、これらの規格を発展させた規格におけるデータ転送等にも適用できる。
【図面の簡単な説明】
【００８１】
【図１】図１（Ａ）（Ｂ）は電源連動手法の説明図。
【図２】電源連動手法の処理例を示すフローチャート。
【図３】本実施形態のデータ転送制御システム、電子機器の構成例。
【図４】本実施形態のデータ転送制御システム、電子機器の他の構成例。
【図５】図５（Ａ）（Ｂ）（Ｃ）は本実施形態の手法の説明図。
【図６】図６（Ａ）（Ｂ）（Ｃ）は本実施形態の手法の説明図。
【図７】図７（Ａ）（Ｂ）は本実施形態の手法の説明図。
【図８】本実施形態の処理を示すフローチャート。
【図９】本実施形態の処理を示すフローチャート。
【符号の説明】
【００８２】
ＢＵＳ１  第１のバス、ＢＵＳ２  第２のバス、ＢＵＳ３  第３のバス、
ＰＣ１、ＰＣ２  パーソナルコンピュータ（第１、第２の電子機器）、
８  電子機器、１０、１１  データ転送制御システム、１２  転送コントローラ、
１４  トランシーバ、２０  ＳＩＥ、２２  パケットハンドラ回路、
２４  サスペンド＆レジューム回路、２６  トランザクション管理回路、
２８  エンドポイント管理回路、３０  インターフェース回路、
３２  ＤＭＡコントローラ、３８  バッファコントローラ、４０  データバッファ、
５０  処理部、５２  接続制御部、６０  バス状態監視部、７０  エンドポイント管理部、
７２  ＵＳＢリクエスト・ＡＴＡコマンド処理部、８０  パケット処理部、
９０  電源制御部、１００  ＨＤＤ（デバイス）、１０２  インターフェース回路、
１０４  アクセス制御回路、１０６  ストレージ、
１１０  電源スイッチ、１１２  電源回路、１１４  スイッチ回路
【図１】
2006059033.tif 000003
【図２】
2006059033.tif 000004
【図３】
2006059033.tif 000005
【図４】
2006059033.tif 000006
【図５】
2006059033.tif 000007
【図６】
2006059033.tif 000008
【図７】
2006059033.tif 000009
【図８】
2006059033.tif 000010
【図９】
2006059033.tif 000011