(57)【特許請求の範囲】
【請求項１】
データを転送するための複数の転送スピードが規定されたバス規格Ａを採用する第１のデバイスと、バス規格Ｂを採用する第２のデバイスとの間に接続されるコントローラであって、
前記第１のデバイスに接続され、当該第１のデバイスとの間でデータの送受信を行う第１のインターフェースと、
前記第２のデバイスに接続され、当該第２のデバイスとの間でデータの送受信を行う第２のインターフェースと、
前記第１のインターフェースと前記第２のインターフェースとの間で、両規格のデータの変換を行う転送データ変換部と、
前記第１のデバイスが接続されると、前記第１のデバイスからのデータ転送に関する転送情報を前記第１のインターフェースを介して受け取り、当該転送情報又は当該転送情報を解析した結果に基づき、前記第２のデバイス側で使用する転送スピードを判定し、前記第２のデバイスから入力される現在の転送スピードが判定した転送スピードと異なる場合は当該判定した転送スピードへの切換えを指示するスピード切換信号を前記第２のインターフェースを介して前記第２のデバイスへ送信する転送スピード切換部と、
現在データ転送中であるか否かを示す転送実行状態信号を含む前記転送情報を前記第１のインターフェースを介して前記第１のデバイスから取得し、この転送情報に基づきいずれの転送スピードが妥当であるか否かを判定した結果を示す帯域状態信号を前記転送スピード切換部へ出力する帯域計算部と、を有し、
前記転送スピード切換部は、前記第２のデバイスから入力される現在の転送スピード及び前記帯域状態信号に基づき、前記スピード切換信号を前記第２のインターフェースを介して前記第２のデバイスへ送信し、
前記帯域計算部は、前記第１のデバイスから前記第１のインターフェースを介して、転送予定データサイズを含む転送データのスケジュール情報、転送データの種類又は転送方法に応じて異なるデータ転送方式を示す転送タイプ、及び前記転送実行状態信号を含む前記転送情報を取得し、取得情報に基づき前記帯域状態信号を生成する、
コントローラ。
【請求項２】
前記転送情報は、現在接続されている前記第１のデバイスが前記複数の転送スピードのうちいずれの転送スピードに対応したデバイスであるかを示す情報、並びに転送データの種類及び／又は転送方法に応じて異なるデータ転送方式を有する場合は、データ転送タイプを示す情報を含む請求項１記載のコントローラ。
【請求項３】
前記転送情報は、前記第１のデバイスの種類を示す情報及び／又は当該第１のデバイスの最大転送スピードを示す情報を含む請求項１又は２記載のコントローラ。
【請求項４】
前記転送スピード切換部は、前記第１のデバイスとの接続処理時に、前記現在接続されている第１のデバイスがいずれの転送スピードに対応したデバイスであるかを示す情報、前記第１のデバイスの種類を示す情報、及び前記第１のデバイスの最大転送スピードを示す情報を取得する、請求項２記載のコントローラ。
【請求項５】
前記バス規格Ａは、データを転送するスピードとして転送スピードＡ１及びこれより転送スピードが速い転送スピードＡ２が規定され、
前記帯域計算部は、前記転送情報及び前記転送実行状態信号に基づき、現在必要なデータ転送スピードは、前記転送スピードＡ１であるか否かを判断した前記帯域状態信号を生成して前記転送スピード切換部に入力する請求項１記載のコントローラ。
【請求項６】
前記第１のインターフェースは、前記第１のデバイスからデータ転送の開始を知らせる転送開始信号を受け取り、当該転送開始信号に基づき前記転送実行状態信号を生成して前記帯域計算部及び前記転送スピード切換部に入力する請求項５記載のコントローラ。
【請求項７】
前記バス規格Ａは、データを転送するスピードとして転送スピードＡ１及びこれより転送スピードが速い転送スピードＡ２が規定され、
前記バス規格Ｂは、データを転送するスピードとして転送スピードＢ１及びこれより転送スピードが速く、前記転送スピードＡ２に対応した転送スピードＢ２が規定され、
前記転送情報は、転送データの種類又は転送方法に応じて異なるデータ転送方式を示す転送タイプを含み、
前記転送タイプには、コントロールデータを転送する第１転送タイプ、データ転送の必要がある場合にデータを転送する第２転送タイプ、大量のデータを転送する第３転送タイプ、リアルタイムにデータを転送する第４転送タイプが規定され、
前記第２のデバイスは、予め前記転送スピードＢ１に設定されるものであって、
前記転送スピード切換部は、現在接続されている前記第１のデバイスが転送スピードＡ２でデータ転送可能なデバイスであって、前記第３転送タイプでデータ転送する場合、前記転送スピードＢ２への切換えを指示する前記スピード切換信号を前記第２のインターフェースを介して前記第２のデバイスへ送信する、請求項１乃至６のいずれか１項記載のコントローラ。
【請求項８】
前記転送スピード切換部は、現在接続されている前記第１のデバイスが転送スピードＡ２でデータ転送可能なデバイスであって、前記第４転送タイプでデータ転送する場合、転送スピードＢ２への切換えを指示する前記スピード切換信号を前記第２のインターフェースを介して前記第２のデバイスへ送信する、請求項７記載のコントローラ。
【請求項９】
前記バス規格ＡはＵＳＢ規格であり、前記バス規格Ｂは、ＰＣＩ  Ｅｘｐｌｅｓｓ規格である、請求項７記載のコントローラ。
【請求項１０】
前記バス規格Ａの前記転送スピードＡ１は、ＬｏｗＳｐｅｅｄ（１．２Ｍｂｐｓ）、ＦｕｌｌＳｐｅｅｄ（１２Ｍｂｐｓ）、又はＨｉｇｈＳｐｅｅｄ（４８０Ｍｂｐｓ）であって、前記転送スピードＡ２は、ＳｕｐｅｒＳｐｅｅｄ（５Ｇｂｐｓ）である、請求項９記載のコントローラ。
【請求項１１】
前記バス規格Ｂの前記転送スピードＢ１は、Ｇｅｎｅｒａｔｉｏｎ１（２．５ＧＴｐｓ）であって、前記転送スピードＢ２は、Ｇｅｎｅｒａｔｉｏｎ２（５ＧＴｐｓ）である、請求項９又は１０記載のコントローラ。
【請求項１２】
前記第１乃至第４転送タイプは、それぞれＣｏｎｔｒｏｌ転送、Ｉｎｔｅｒｒｕｐｔ転送、Ｂｕｌｋ転送、及びＩｓｏｃｈｒｏｎｏｕｓ転送である、請求項９乃至１１のいずれか１項記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＰＣＩ  ＥｘｐｒｅｓｓとＵＳＢのように、規格の異なるバス間のデータ転送を可能とするコントローラ及び転送スピード制御方法に関し、特に、両規格とも複数の転送速度を有する場合に好適なコントローラ及びその転送スピードに関する。
【背景技術】
【０００２】
ＵＳＢ（Universal Serial Bus）は、ＰＣ（Personal Computer）などの外部周辺機器のインターフェースとして広く普及しており、ＵＳＢをインターフェースとする様々なＵＳＢデバイスが考案されている。
【０００３】
ＵＳＢ２．０規格では、ＵＳＢ１．１規格において、１２Ｍｂｐｓ（Ｆｕｌｌ Ｓｐｅｅｄ）であった最大転送速度を４８０Ｍｂｐｓ（Ｈｉｇｈ Ｓｐｅｅｄ）まで上げることができる。
【０００４】
特許文献１には、ＵＳＢ２．０規格を採用したＵＳＢデバイスは、転送速度を非常に速くすることができるが、最大転送速度４８０Ｍｂｐｓに近づけるように、転送速度を高くすればするほど、消費電力も大きくなってしまうことが記載されている。例えば、ＵＳＢ２．０規格を採用したＵＳＢデバイスを携帯端末装置などに接続して使用する場合などは、携帯端末装置の限られた電源供給能力を短時間で消費してしまうことになるという問題点が指摘されている。
【０００５】
また、特許文献２には、ＵＳＢケーブルの接続時に接続モードを取得し、その取得した接続モードに応じた第１又は第２のコンフィギュレーションを選択し、その第１又は第２のコンフィギュレーションに基づいてデータ転送処理を実行することを目的とした電子機器及びそのインターフェース制御方法が開示されている。
【０００６】
ところで、バス規格ＰＣＩ  Ｅｘｐｒｅｓｓを採用しているＰＣ等の機器と、ＵＳＢデバイスとを接続する場合、両者のデータを変換する変換器（以下、ＵＳＢホストコントローラという。）が必要となる。通常ＰＣには、予めこのＵＳＢコントローラが搭載されているものが多く、ユーザは、ＰＣに設けられているＵＳＢ端子にＵＳＢデバイスの端子を差し込むのみで、ＵＳＢデバイスからＰＣへデータを転送することができる。
【０００７】
図８は、従来のＵＳＢホストコントローラを示す図である。図８に示すように、ＵＳＢ３ホストコントローラ１０１は、例えばＰＣ内部でＰＣＩマスター１０２と接続される。他方はＵＳＢデバイス１０３と接続される。このＵＳＢ３ホストコントローラ１０１は、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１１、転送データ変換部１１２、ＵＳＢ３インターフェース１１３及びＵＳＢ２インターフェース１１４を有している。
【０００８】
ＰＣＩマスター１０２側からＰＣＩ  Ｅｘｐｒｅｓｓ規格のデータがＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１１を介して転送データ変換部１１２に入力され、ここでＵＳＢ３又はＵＳＢ２形式のデータに変化される。そして、ＵＳＢ３インターフェース１１３を介してＵＳＢ３形式のデータが、ＵＳＢ２インターフェース１１４を介してＵＳＢ２形式のデータがＵＳＢデバイス１０３に出力される。その逆も同様で、ＵＳＢデバイス１０３からＵＳＢ形式のデータがＵＳＢ３インターフェース１１３又はＵＳＢ２インターフェース１１４を介して転送データ変換部１１２に入力され、ＰＣＩ  Ｅｘｐｒｅｓｓ形式のデータに変換され、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１１を介してＰＣＩマスター１０２へ出力される。
【０００９】
ＰＣＩ  Ｅｘｐｒｅｓｓには、現在Ｇｅｎ１（２．５ＧＴ／ｓ（Transaction Per Second：Ｔｐｓ））、Ｇｅｎ２（５ＧＴ／ｓ）の２つの転送スピードが定義されている。なお、６．４ＧＴｐｓ＝２５．６ＧＢｐｓである。
【００１０】
これに対し、ＵＳＢ３でサポートされている転送スピードは、上述したＨｉｇｈ Ｓｐｅｅｄ（４８０Ｍｂｐｓ）、Ｆｕｌｌ Ｓｐｅｅｄ（１２Ｍｂｐｓ）、Ｌｏｗ Ｓｐｅｅｄ（１．２Ｍｂｐｓ）の他、Ｓｕｐｅｒ Ｓｐｅｅｄ（ＳＳ）（５Ｇｂｐｓ）の４種類がある。ここで、Ｇｅｎ２（５ＧＴ/ｓ）が必要な転送スピードはＳＳだけであり、それ以外の転送スピードではＧｅｎ１（２．５ＧＴ/ｓ）で十分である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００５−３２７２４７号公報
【特許文献２】特開２００５−０７１２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ここで、リンクスピードがＧｅｎ１動作時、ＵＳＢ３.０から使用されるＳＳ転送（５ＧＴ／ｓ）を使用すると、バス帯域が足りなくなるため、ＳＳ転送時にはリンクスピードをＧｅｎ２に設定する必要がある。このため、パソコン等のＵＳＢ機器を接続する装置において、ＳＳ転送が可能な機器（以下、ＳＳデバイスともいう。）が接続される可能性がある機器においては、リンクスピードを始めからＧｅｎ２に設定しておくのが通常である。
【００１３】
すなわち、従来のＵＳＢホストコントローラはＵＳＢデバイスの接続種類によってＰＣＩ  Ｅｘｐｒｅｓｓのリンクスピードを動的に変更しない。つまり、一度決定したＰＣＩ Ｅｘｐｒｅｓｓのリンクスピードで動作し続けることとなる（通信のエラー時などでスピードが落ちる場合を除く)。
【００１４】
しかしながら、リンクスピードがＧｅｎ２の場合、Ｇｅｎ１の時よりも消費電力が大きいという問題がある。ノートＰＣ等、バッテリー動作する機器に対しては、特に低消費電力化が求められている。
【課題を解決するための手段】
【００１５】
本発明に係るコントローラは、データを転送するための複数の転送スピードが規定されたバス規格Ａを採用する第１のデバイスと、バス規格Ｂを採用する第２のデバイスとの間に接続される。そして、コントローラは、前記第１のデバイスに接続され、当該第１のデバイスとの間でデータの送受信を行う第１のインターフェースと、前記第２のデバイスに接続され、当該第２のデバイスとの間でデータの送受信を行う第２のインターフェースと、前記第１のインターフェースと前記第２のインターフェースとの間で、両規格のデータの変換を行う転送データ変換部と、転送スピードの切換えを指示するスピード切換信号を前記第２のインターフェースを介して前記第２のデバイスへ送信する転送スピード切換部とを有する。ここで、転送スピード切換部は、前記第１のデバイスが接続されると、前記第１のデバイスからのデータ転送に関する転送情報を前記第１のインターフェースを介して受け取り、当該転送情報又は当該転送情報を解析した結果に基づき、前記第２のデバイス側で使用する転送スピードを判定し、前記第２のデバイスから入力される現在の転送スピードが判定した転送スピードと異なる場合は当該判定した転送スピードへの切換えを指示するスピード切換信号を前記第２のインターフェースを介して前記第２のデバイスへ送信するものである。
【００１６】
本発明においては、転送スピード切換部が第１のデバイスから取得した転送情報又はこの解析結果に基づき、第２のデバイスで必要な転送スピードを割り出し、現在設定されている転送スピードと異なる場合には、転送スピードを割り出した転送スピードに切換える。このことにより、第２のデバイスにおいては、第１のデバイスとのデータ転送に必要な転送スピードに切り替えられるため、例えばどのような能力の第１のデバイスが接続されても転送が可能なように最高速度に設定する場合等と比べて消費電力を低減することができる。
【００１７】
本発明に係る転送スピード制御方法は、データを転送するための複数の転送スピードが規定されたバス規格Ａを採用する第１のデバイスと、バス規格Ｂを採用する第２のデバイスとの間に接続されるコントローラが第２のデバイスにおける転送スピードを制御する方法にかかる。当該転送スピード制御方法は、
（ａ）第１のデバイスが第１のインタフェースを介して転送データ変換部との間でデータの送受信を行う工程
（ｂ）第２のデバイスが第２のインターフェースを介して前記転送データ変換部との間でデータの送受信を行う工程
（ｃ）転送データ変換部がバス規格Ａのデータとバス規格Ｂのデータとを相互に変換する工程
（ｄ）第２のデバイスのデータ転送スピードを切り換える転送スピード切換工程
とを有する。
（ｄ）の転送スピード切換工程は、
（ｄ−１）第１のデバイスが接続されると、当該第１のデバイスからのデータ転送に関する転送情報を前記第１のインターフェースを介して受信する工程
（ｄ−２）転送情報又は当該転送情報を解析した結果に基づき、前記第２のデバイスの転送スピードを判定する工程
（ｄ−３）第２のデバイスから入力される現在の転送スピードと前記判定した転送スピードが異なる場合は当該判定した転送スピードへの切換えを指示する前記スピード切換信号を前記第２のインターフェースを介して第２のデバイスへ送信する工程
とを有するものである。
【００１８】
本発明においては、第１のデバイスから取得した転送情報やその解析結果に基づき第２のデバイスにおける転送スピードを切り換える、すなわち必要であれば転送スピードを切換えるため、デフォルトでは第２のデバイスにおける最低スピードに設定しておくことも可能となり、第２のデバイスにおける消費電力を低減することができる。
【発明の効果】
【００１９】
本発明によれば、第２のデバイスにおける消費電力を低減することができるコントローラ及び転送スピード制御方法を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態１にかかるＵＳＢホストコントローラを示す図である。
【図２】本発明の実施の形態にかかる転送スピード制御方法を示すフローチャートである。
【図３】本発明の実施の形態２にかかるＵＳＢ３ホストコントローラ１を示す図である。
【図４】リンクスピードチェンジ（リカバリー）を実施するタイミングを示す模式図であって、使用帯域に応じて、リカバリーを実施するタイミングを説明する図である。
【図５】同じく、リンクスピードチェンジ（リカバリー）を実施するタイミングを示す模式図であって、使用時間に応じて、リカバリーを実施するタイミングを説明する図である。
【図６】バスの使用時間に応じてリンクスピードを切り換える処理を説明するための図である。
【図７】本発明の実施の形態２にかかる転送スピード制御方法を示すフローチャートである。
【図８】従来のＵＳＢホストコントローラを示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、異なるバス規格、例えばＰＣＩ  Ｅｘｐｒｅｓｓ規格とＵＳＢ規格の間でデータ転送を行うためのデータ変換装置（以下、ホストコントローラという、）に適用したものである。
【００２２】
本願発明者等は、ＳＳ転送（ＵＳＢ３のSuper Speed転送）をサポートしているＵＳＢホストコントローラを搭載した例えばＰＣ等において、リンクスピード（以下、第２のデバイス又はＰＣ側の転送スピードをリンクスピードともいう。）を効率よく切り換えることで、より省電力化を図ることができることを知見した。
【００２３】
ＵＳＢ３でサポートされている転送スピードは、上述したように、ＳＳ（５Ｇｂｐｓ）、ＨＳ（４８０Ｍｂｐｓ）、ＦＳ（１２Ｍｂｐｓ）、ＬＳ（１．２Ｍｂｐｓ）の４種類ある。一方、ＰＣＩ  Ｅｘｐｒｅｓｓにおいては、Ｇｅｎ１（２．５ＧＴ／ｓ）、Ｇｅｎ２（５ＧＴ／ｓ）、Ｇｅｎ３（８ＧＴ／ｓ）の３つがある。ここで、ＵＳＢ３の転送スピードのうち、ＳＳのみがＧｅｎ２（５ＧＴ／ｓ）が必要となり、それ以外の転送スピードでは、Ｇｅｎ１で十分転送が可能である。以下、本明細書においてはＵＳＢデバイスのうち、転送スピードＳＳ（５Ｇｂｐｓ）でデータ転送が可能なデバイスを、ＳＳデバイスともいう。
【００２４】
現状においては、ＳＳデバイスが接続される可能性がある製品（ＰＣ等）においては、予めＧｅｎ２の転送スピードで転送するようＰＣＩ  Ｅｘｐｒｅｓｓバス側の設定を行うのが通常である。これに対し、通常をＧｅｎ１の転送スピードに設定し、Ｇｅｎ２やＧｅｎ３の転送スピードが必要になったときに転送スピードを切り換えるようにすれば、消費電力を低減することができる。現状であれば、ＳＳデバイスが接続されたときに転送スピードをＧｅｎ２に変更すればよい。
【００２５】
ここで、本願発明者等は、更に、ＵＳＢデバイスでは、転送データの種類又は転送方法に応じて異なるデータ転送方式を示す転送タイプが４つあることに着目し、このデータ転送タイプをも考慮してＧｅｎ１とＧｅｎ２を切り替えることで、更なる省電力化を図ることができるＵＳＢホストコントローラ及びその転送スピード制御方法を見出した。
【００２６】
本発明の実施の形態１．
図１は、本発明の実施の形態１にかかるＵＳＢホストコントローラを示す図である。ＵＳＢ３ホストコントローラ１は、ＵＳＢバスを採用する第１のデバイスと、ＰＣＩ  Ｅｘｐｒｅｓｓバスを採用する第２のデバイスとの間に接続される。本実施の形態においては、第１のデバイスはＵＳＢデバイスである。また、ＵＳＢ３ホストコントローラ１を搭載したＰＣを第２のデバイスとすることができる。ＵＳＢ３ホストコントローラ１がＰＣにおいて接続されるのはＰＣＩマスター２である。他方には、ＵＳＢメモリ、ディジタルカメラ、オーディオ機器等のＵＳＢデバイス３が接続され、そのデータがＵＳＢ３ホストコントローラ１を介してＰＣ側に取り込まれ、又はＰＣ側からのデータがＵＳＢ３ホストコントローラ１を介してＵＳＢデバイスに取り込まれる。
【００２７】
このＵＳＢ３ホストコントローラ１は、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１、転送データ変換部１２、ＵＳＢ３インターフェース１３、及びＵＳＢ２インターフェース１４に加えて転送速度切換部１５を有している。ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１は、ＰＣＩマスター２と接続され、ＰＣＩマスター２との間でデータの送受信を行う。ＵＳＢ３インターフェース１３、ＵＳＢ２インターフェース１４は、それぞれＵＳＢ３．０、３．１等をサポートするＵＳＢデバイス３、ＵＳＢ２．０、２．１、２．２等をサポートするＵＳＢデバイス３と接続され、ＵＳＢデバイス３との間でデータの送受信を行う。なお、ＵＳＢ３ホストコントローラ１においては、ＵＳＢ３とＵＳＢ２のコネクタ部分が別となっており、ＵＳＢ３デバイスが接続されるとＵＳＢ３インターフェースに接続信号が通知され、ＵＳＢ２デバイスが接続されるとＵＳＢ２インターフェースに接続信号が通知される。
【００２８】
転送データ変換部１２は、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１とＵＳＢ３インターフェース１３及びＵＳＢ２インターフェース１４との間に配置され、両規格のデータの変換を行う。具体的には、ＰＣＩマスター２側からＰＣＩ  Ｅｘｐｒｅｓｓ規格のデータＰＣＩ＿１が、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１を介して転送データ変換部１２に入力され、ここでＵＳＢ３又はＵＳＢ２形式のデータに変換される。そして、ＵＳＢ３インターフェース１３を介してＵＳＢ３形式のデータＵＳＢ＿２が、ＵＳＢ２インターフェース１４を介してＵＳＢ２形式のデータＵＳＢ＿２がＵＳＢデバイス０３に出力される。その逆も同様で、ＵＳＢデバイス３からＵＳＢ形式のデータＵＳＢ＿１がＵＳＢ３インターフェース１３又はＵＳＢ２インターフェース１４を介して転送データ変換部１２に入力され、ＰＣＩ  Ｅｘｐｒｅｓｓ形式のデータＰＣＩ＿２に変換され、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１を介してＰＣＩマスター２へ出力される。
【００２９】
そして、転送速度切換部１５は、ＰＣＩマスター２（ＰＣ）側で使用する転送スピードの切換えを実施する。先ず、ＵＳＢデバイス３が接続されるとＵＳＢ３インターフェース１３を介して入力される、ＵＳＢデバイス３からのデータ転送に関する転送情報Ｄ１、Ｄ４を受け取る。そして、この転送情報又は転送情報を解析した結果に基づき、ＰＣＩマスター２（ＰＣ）側で使用する転送スピードを判定する。転送速度切換部１５には、ＰＣＩマスター２から現在の転送スピードを示すリンクスピード情報Ｄ２が入力されている。転送速度切換部１５は、この転送スピード情報Ｄ２が示す転送スピードと判定した転送スピードとが異なる場合、例えば現在の転送スピード設定がＧｅｎ１であり、判定した転送スピードがＧｅｎ２であった場合は、判定した転送スピードＧｅｎ２への切換えを指示するスピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１を介してＰＣＩマスター２へ送信する。
【００３０】
ここで、転送情報とは、本実施の形態においては、現在接続されているＵＳＢデバイス３がいずれの転送スピードに対応したデバイスであるかを示す情報Ｄ１及び転送タイプを示す情報Ｄ４が含まれる。現在接続されているＵＳＢデバイス３がいずれの転送スピードに対応したデバイスであるかを示す情報とは、具体的には、例えば、接続されたＵＳＢデバイス３がＳＳデバイスであるか否かを示すＳＳデバイス接続状態信号Ｄ１である。また、ＵＳＢデバイス３における転送タイプには、コントロールデータを転送する第１転送タイプとしてのＣｏｎｔｒｏｌ転送、データ転送の必要がある場合にデータを転送する第２転送タイプとしてのＩｎｔｅｒｒｕｐｔ転送、大量のデータを転送する第３転送タイプとしてのＢｕｌｋ転送、リアルタイムにデータを転送する第４転送タイプとしてのＩｓｏｃｈｒｏｎｏｕｓ転送の４つがある。転送タイプ情報Ｄ４は、転送するデータがこれらどの転送タイプかを示す情報である。
【００３１】
本実施の形態においては、ＵＳＢデバイス３としてＳＳデバイスが接続され、かつ転送タイプがＢｕｌｋ転送でデータ転送が行われる場合に、ＰＣ側がＧｅｎ１に設定されていれば、Ｇｅｎ２に切り替えることで電力消費量を削減する。ここで、通常状態ではＰＣ側の転送スピードをＧｅｎ１としておき、ＳＳデバイスが接続されたときにのみＧｅｎ２に切り替えることでも省電力化を図ることができる。
【００３２】
これに対し、本願発明者等は、ＳＳデバイスが接続されたとしてもデータ転送を行っていない時間や大量のデータ転送を行わない場合にはＧｅｎ１のままで対応できることから、ＳＳデバイスが接続されたときであってかつＢｕｌｋ転送が行われるときにのみ転送スピードをＧｅｎ２に切り替えるようリンクスピードを制御することで、更に省電力化することができることを見出した。
【００３３】
ここで、Ｇｅｎ１からＧｅｎ２への転送スピードの切換えには、ＰＣＩ  Ｅｘｐｒｅｓｓでサポートされているリンクスピードチェンジ（Link Speed Change）を実施する。
【００３４】
図２は、本実施の形態にかかる転送スピード制御方法を示すフローチャートである。図２に示すように、ＳＳデバイスが接続されると、ＵＳＢデバイス３からＵＳＢ３インターフェース１３にＳＳデバイスが接続されたことを示すＳＳデバイス接続状態信号Ｄ１が出力される。このＳＳデバイス接続状態信号Ｄ１が転送速度切換部１５にも入力されることで、転送速度切換部１５は、ＳＳデバイスが接続されたことを検知する（ステップＳ１１）。
【００３５】
次にＳＳデバイスからデータ転送される場合は、転送タイプ情報Ｄ４がＵＳＢ３インターフェース１３を介して転送速度切換部１５に入力される。このとき、Ｉｎｔｅｒｒｕｐｔ転送であったり、Ｃｏｎｔｒｏｌ転送である場合（ステップＳ１２：Ｎｏ）には、Ｇｅｎ２の設定は行わない。転送タイプがＢｕｌｋ転送のとき（ステップＳ１２：Ｙｅｓ）、かつリンクスピード情報Ｄ２によりＰＣ側の転送スピードがＧｅｎ１に設定されているとき（ステップＳ１３：Ｙｅｓ）に限り、転送速度切換部１５はスピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１に出力する(ステップＳ１４)。これにより、リンクチェンジが行われ、ＰＣ側の転送スピードがＧｅｎ２に切り替わる。
【００３６】
通常ＰＣ側のリンクスピードはＧｅｎ２に設定されているのに対し、本実施の形態においては、このデフォルトの転送スピードをＧｅｎ１、すなわち最低の転送スピードに設定しておくことができる。これは、Ｇｅｎ２の転送スピードが確実に必要なときを検出し、この検出結果に基づきリンクスピードをＧｅｎ１からＧｅｎ２に切り替えるためであり、高速の転送スピードＧｅｎ２が確実に必要になるタイミングを検出して転送スピードを切り換えるため、デフォルト状態では、最低転送スピードＧｅｎ１に設定することが可能となる。このことにより、ＳＳデバイスが接続、非接続で転送スピードを切り換える場合に比して更なる省電力化を図ることができる。
【００３７】
なお、本実施の形態においては、Ｂｕｌｋ転送のときのみＧｅｎ２に切り替えることとして説明しているが、Ｂｕｌｋ転送であるか否かの情報に加えて、又は転送タイプを示す情報に換えてＵＳＢデバイス３の種類を示す情報や、ＵＳＢデバイス３が許容する最大転送スピードを示す情報等に基づいて、ＰＣ側のリンクスピードを切り換えるようにしてもよい。
【００３８】
ＵＳＢデバイス３の種類とは、ＵＳＢデバイス３がＵＳＢメモリであるのか、ディジタルカメラであるのか、ディジタルビデオカメラであるのか、又はプリンターであるのか等であり、ＵＳＢデバイス３の種類に応じて、リンクスピードとしてＧｅｎ３やＧｅｎ２が必要であるか否かを判定することができる。例えば、ＵＳＢデバイス３としてディジタルビデオカメラが接続された場合には、大容量のデータ転送が必要であると判断し、Ｇｅｎ２やＧｅｎ３に切り替えることができる。また、ＵＳＢデバイス３がサポートする最大転送スピードがＧｅｎ２やＧｅｎ３を必要とする場合には、リンクスピードを切り換えることができる。
【００３９】
ＵＳＢ２インターフェース１４は、ＵＳＢデバイス３との接続処理時に、現在接続されているＵＳＢデバイス３がＳＳデバイスであるか否か等、いずれの転送スピードに対応したデバイスであるかを示す情報、ＵＳＢデバイス３の種類を示す情報、及びＵＳＢデバイス３が許容する最大転送スピードを示す情報等を取得することができる。
【００４０】
ここで、Ｉｓｏｃｈｒｏｎｏｕｓ転送であって転送するデータ量が多い場合はＧｅｎ２に変更する必要がある場合がある。次に、ＵＳＢデバイス３からの転送情報をより詳細に解析し、本実施の形態１よりもさらに詳細に、いずれのリンクスピードが必要であるかを判断して切り換える方法についてて説明する。
【００４１】
本発明の実施の形態２．
図３は、本発明の実施の形態２にかかるＵＳＢ３ホストコントローラ１を示す図である。本実施の形態にかかるＵＳＢ３ホストコントローラ１は、実施の形態１にかかるＵＳＢ３ホストコントローラ１の構成に、更に、帯域計算部１６を有する。帯域計算部１６は、現在データ転送中であるか否かを示す転送実行状態信号Ｄ５を含む転送情報を、ＵＳＢ３インターフェース１３を介してＵＳＢデバイス３から取得し、この転送情報に基づき転送スピードが妥当であるか否かを判定した結果を示す帯域状態信号Ｄ７を転送速度切換部１５に入力する。
【００４２】
これを受けて転送速度切換部１５は、転送情報又は当該転送情報を解析した結果、ＰＣＩマスター２から入力される現在の転送スピード、及び帯域状態信号Ｄ７に基づき、スピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１を介してＰＣＩマスター２へ送信する。
【００４３】
帯域計算部１６は、転送情報として、具体的には、Ｉｓｏｃｈｒｏｎｏｕｓ転送やＢｕｌｋ転送といった転送タイプ、転送するデータのサイズやデータ転送をする期間に関する転送スケジュール情報Ｄ６、転送実行状態信号Ｄ５等をＵＳＢデバイス３からＵＳＢ３インターフェース１３を介して取得する。本実施の形態において、転送スケジュール情報Ｄ６は、転送予定サイズ及びＩｓｏｃｈｒｏｎｏｕｓ転送を実施するエンドポイント数を示す。帯域計算部１６は、転送スケジュール情報Ｄ６及び転送実行状態信号Ｄ５に基づき、現在実施している転送がＧｅｎ１で十分であるか否かの判定をし、当該判定結果を帯域状態信号Ｄ７として転送速度切換部１５に出力する。また、リンクスピード情報Ｄ２がＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１を介してＰＣＩマスター２から入力されている。このリンクスピード情報Ｄ２は、帯域計算部１６が後述する帯域計算を行う際に使用する。
【００４４】
ここで、ＳＳデバイス接続状態信号Ｄ１、転送タイプ情報Ｄ４及び転送スケジュール情報Ｄ６は、ＵＳＢデバイス３がＵＳＢ３ホストコントローラ１に接続され、接続処理される際に取得される情報である。また、ＵＳＢデバイス３からデータ転送が開始されるタイミングでＵＳＢデバイス３から転送開始信号Ｄ５−１が出力される。同様に、ＰＣ側からＵＳＢデバイス３にデータ転送が開始されるタイミングでＰＣ側から転送開始信号Ｄ５−２が出力される。また、リンクスピード情報Ｄ２及び帯域状態信号Ｄ７は常に通知される信号であり、スピード切換信号Ｄ３は、上述したように、Ｇｅｎ１からＧｅｎ２へ、Ｇｅｎ２からＧｅｎ３へ等、ＰＣ側のリンクスピードを変更する必要が生じたタイミングで出力される。
【００４５】
ここで、帯域計算部１６は、上述したように、転送情報及び転送実行状態信号Ｄ５に基づき、現在必要なデータ転送スピードが転送スピードＧｅｎ１で十分であるか否か等を判断し、判断結果として帯域状態信号を生成するものとして説明した。ところで、本実施の形態においては、通常時のＰＣ側の転送スピードを最低スピードのＧｅｎ１に設定しておき、Ｇｅｎ１より早い転送スピードが必要になったタイミングを検出して、ＰＣ側の転送スピードをＧｅｎ２やＧｅｎ３に切り替えることで省電力化を図る。
【００４６】
この転送スピードを切り換えるタイミングを検出する方法として、帯域計算部１６により、帯域計算をし、転送データが一定の帯域に達したタイミングを検出するようにしてもよい。帯域計算部１６は、このタイミングを検出したら、リンクスピードをＧｅｎ２又はＧｅｎ３に変更を指示する帯域状態信号Ｄ７を生成し、転送速度切換部１５に出力する。又は、実際に転送にかかった転送時間のみから帯域の使用度合いを判定するものとすることも可能である。帯域計算部１６は、一定の転送時間に達した場合に、同様にリンクスピードをＧｅｎ２又はＧｅｎ３に変更を指示する帯域状態信号Ｄ７を生成し、転送速度切換部１５に出力することができる。
【００４７】
次に、このような転送データの使用帯域や転送時間に応じて転送スピードを切り換えるタイミングを検出する方法について説明する。図４及び図５は、リンクスピードチェンジ（リカバリー）を実施するタイミングを示す模式図であって、それぞれ使用帯域及び使用時間に応じて、リカバリーを実施するタイミングを説明する図である。
【００４８】
図４に示すように、ＵＳＢデバイス３は、ｕＦｒａｍｅごとにデータを入出力し、ｕＦｒａｍｅごとにスケジュール管理されている。帯域計算部１６は、例えば、各ｕＦｒａｍｅのタイミングｔ１の時点の使用帯域を計算する。図４（ａ）に示すように、ｕＦｒａｍｅ１、ｕＦｒａｍｅ２のタイミングｔ１では、使用帯域が所定の値Ｖｔｈより小さい場合、ＰＣ側のリンクスピードはＧｅｎ１を維持する。その後、ｕＦｒａｍｅ３のタイミングｔ１において、使用帯域が所定の値Ｖｔｈを超えた場合、帯域計算部１６は、リンクピードチェンジの実施を指示する帯域状態信号Ｄ７を転送速度切換部１５に出力し、転送速度切換部１５は、スピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１に出力する。これにより、リンクスピードはＧｅｎ１からＧｅｎ２に変更される。
【００４９】
一方、使用帯域が所定の値Ｖｔｈより大きくリンクスピードＧｅｎ２でデータ転送している場合、図４（ｂ）に示すように、ｕＦｒａｍ１３のタイミングｔ１において、使用帯域が所定の値Ｖｔｈより小さくなった場合、同様に、帯域計算部１６は、リンクピードチェンジの実施を指示する帯域状態信号Ｄ７を転送速度切換部１５に出力し、転送速度切換部１５は、スピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１に出力する。これにより、リンクスピードはＧｅｎ２からＧｅｎ１に変更される。
【００５０】
なお、タイミングｔ１は、ｕＦｒａｍｅの先頭であっても、終了時であっても、図４のように、途中であってもよい。また、本例においては、タイミングｔ１時の使用帯域をチェックするものとして説明しているが、ｕＦｒａｍｅ内にｔ１の他にｔ２等を設けて、連続するタイミングｔ１、ｔ２において使用帯域が所定の値Ｖｔｈを超えた場合にリンクチェンジを実施するようにしてもよい。これにより、一時的に転送データ量が増減した場合を除くことができる。
【００５１】
ここで、使用帯域量の具体的な算出例について説明しておく。なお、本具体例については使用帯域量を使用帯域時間として算出した場合について説明する。転送スケジュール情報Ｄ６にはＭａｘ Ｐａｃｋｅｔ Ｓｉｚｅ、及びデータを転送する期間が含まれる。よって、下記式により１ｕＦｒａｍｅで転送するデータ量を用いて使用帯域時間を算出することができる。
【００５２】
使用帯域時間＝{（バーストサイズ×１パケットサイズ）／転送レート（Ｇｅｎ１又はＧｅｎ２）}×エンドポイント数
【００５３】
ここで、バーストサイズとは、連続して転送することができる回数を示す。Ｉｎｔｅｒｒｕｐｔ転送（バーストサイズ＝３、パケットサイズ＝１０２４Ｂｙｔｅ（固定））で、エンドポイント数が２個、Ｇｅｎ１の場合
使用帯域時間＝{（３×１０２４×８）／（２．５×１０００×１０００×１０００）}×２＝１．９６６０８×１０＾−５ｕｓ
（※×８はｂｉｔに変換したため）
【００５４】
ここで、使用帯域を算出するためには、転送量を把握する必要がある。これに対し、より簡単な方法として、上述したように、データ転送にかかった時間からリンクスピードチェンジのタイミングを検出する方法がる。図５（ａ）に示すように、ｕＦｒａｉｍ２１、２２では、転送時間がｕＦｒａｉｍ期間の期間Ｔ１より短時間であるので、リンクスピードはＧｅｎ１とする。一方、ｕＦｒａｉｍ２３において、転送時間が期間Ｔ１を超えたため、帯域計算部１６は、リンクピードチェンジの実施を指示する帯域状態信号Ｄ７を転送速度切換部１５に出力し、転送速度切換部１５は、スピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１に出力する。これにより、リンクスピードはＧｅｎ１からＧｅｎ２に変更される。
【００５５】
同様に、Ｇｅｎ２でデータ転送中、ｕＦｒａｉｍ３３で、転送時間が期間Ｔ１を下回ったため、帯域計算部１６は、リンクピードチェンジの実施を指示する帯域状態信号Ｄ７を転送速度切換部１５に出力し、転送速度切換部１５は、スピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１に出力する。これにより、リンクスピードはＧｅｎ２からＧｅｎ１に変更される。
【００５６】
なお、本例においては、転送時間が期間Ｔ１以内か否かを判断基準とすることとしているが、この期間Ｔ１以上が例えば２回以上続いた場合をそのタイミングとしてもよい。これにより、一時的に転送データ量が変化した場合を除くことができる。
【００５７】
ここで、バスの使用時間によるリンクススピードＧｅｎ１、Ｇｅｎ２の切換えの具体例について説明する。図６は、バスの使用時間に応じてリンクスピードを切り換える処理を説明するための図である。ここでは、転送実行状態信号Ｄ５を信号をレベル信号であるとする。すなわち、転送している間はＨｉレベル、転送していない間はＬｏｗレベル等とすることができる。
【００５８】
ここでは、帯域計算部１６は、１ｕＦｒａｍｅの時間情報を有するものとするこの場合、転送を実行している間は、ずっと転送実行状態信号Ｄ５はＨｉレベルとなっているため、転送実行状態信号Ｄ５の信号により、帯域計算部１６は、どの程度の時間転送を実施しているのを認識することができる。転送実行状態信号Ｄ５がＬｏｗレベルとなれば転送を実施していない状態であると認識することができる。よって、図６に示すように、例えば、リンクスピードＧｅｎ１で転送中に、転送実行状態信号Ｄ５の信号がＨｉレベルとなる期間がｕＦｒａｍｅに対してある一定値以上となったことを検出すると、リンクスピード切換え処理によりリンクスピードをＧｅｎ１からＧｅｎ２に上げることができる。
【００５９】
次に、本実施の形態にかかる転送スピード制御方法について説明する。図７は、本実施の形態にかかる転送スピード制御方法を示すフローチャートである。図７に示すように、転送速度切換部１５は、ＳＳデバイスが接続された状態か否かをＳＳデバイス接続状態信号Ｄ１により判定する（ステップＳ１１）。次に、転送速度切換部１５は、リンクスピード情報Ｄ２により、現在のリンクスピードが最低の転送スピード、本例であればＧｅｎ１であるか否かを判定する（ステップＳ１２）。なお、転送スピードが例えばＶ１、Ｖ２、Ｖ３等、３以上有する場合には、通常時には、転送スピードＶ２としておくようにしてもよい。
【００６０】
次に、リンクスピードがＧｅｎ１であれば、Ｇｅｎ２に変更する（ステップＳ１３）。次に、転送タイプ情報Ｄ４により、転送タイプがＢｕｌｋ転送か、又はＩｓｏｃｈｒｏｎｏｕｓ転送であるか判定する。Ｂｕｌｋ転送か、Ｉｓｏｃｈｒｏｎｏｕｓ転送であれば（ステップＳ１４：Ｙｅｓ）、帯域計算部１６は、さらに転送実行状態信号Ｄ５により転送中であるか否かを判定する。また、帯域計算部１６は、転送スケジュール情報Ｄ６等を受け取り、Ｇｅｎ１での転送で十分であるか否かを判断する。
【００６１】
帯域計算部１６は、例えば、上述したようにｕＦｒａｍｅにおける使用帯域が所定の値Ｖｔｈ以上であるか否かを判定したり、ｕＦｒａｍｅにおける転送時間が所定の時間Ｔ１以上であるか否かを判定することで、リンクスピードをＧｅｎ２に切り替える必要があるか判断する。ここリンクスピードをＧｅｎ２に変更する必要があると判断した場合（ステップＳ１６：Ｎｏ）、現在のリンクスピードがＧｅｎ１であれば（ステップＳ１９：Ｙｅｓ）、リンクスピードチェンジを実施する（ステップＳ２０）。すなわち、帯域計算部１６は、リンクピードチェンジの実施を指示する帯域状態信号Ｄ７を転送速度切換部１５に出力し、転送速度切換部１５は、スピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１に出力してリンクスピードをＧｅｎ１からＧｅｎ２に変更する。
【００６２】
一方、現在のデータ転送はリンクスピードＧｅｎ１で十分であると判断した場合（ステップＳ１６：Ｙｅｓ）、現在のリンクスピードがＧｅｎ２であれば（ステップＳ１７：Ｙｅｓ）、リンクスピードチェンジを実施する（ステップＳ１８）。すなわち、帯域計算部１６は、リンクピードチェンジの実施を指示する帯域状態信号Ｄ７を転送速度切換部１５に出力し、転送速度切換部１５は、スピード切換信号Ｄ３をＰＣＩ  Ｅｘｐｒｅｓｓインターフェース１１に出力してリンクスピードをＧｅｎ２からＧｅｎ１に変更する。
【００６３】
本実施の形態においては、ＵＳＢデバイス３からの転送情報を解析し、転送帯域や転送時間等に応じて現在データ転送に必要なリンクスピードを判定し、変更が必要であると判断したタイミングでリンクスピードチェンジを実施する。このことにより、ＰＣ側におけるリンクスピードが実際に必要なタイミングで適切に切換えられるため、実施の形態１と比べると更に効率よく消費電力を低減することができる。
【００６４】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００６５】
例えば、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００６６】
１  ＵＳＢ３ホストコントローラ
２  ＰＣＩマスター
３  ＵＳＢデバイス
１１  ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース
１２  転送データ変換部
１３  ＵＳＢ３インターフェース
１４  ＵＳＢ２インターフェース
１５  転送速度切換部
１６  帯域計算部
１０１  ＵＳＢ３ホストコントローラ
１０２  ＰＣＩマスター
１０３  ＵＳＢデバイス
１１１  ＰＣＩ  Ｅｘｐｒｅｓｓインターフェース
１１２  転送データ変換部
１１３  ＵＳＢ３インターフェース
１１４  ＵＳＢ２インターフェース
Ｄ１  ＳＳデバイス接続状態信号
Ｄ２  リンクスピード情報
Ｄ３  スピード切換信号
Ｄ４  転送タイプ情報
Ｄ５  転送実行状態信号
Ｄ５−１  転送開始信号
Ｄ５−２  転送開始信号
Ｄ６  転送スケジュール情報
Ｄ７  帯域状態信号
【図１】
0005822567.tif 000002
【図２】
0005822567.tif 000003
【図３】
0005822567.tif 000004
【図４】
0005822567.tif 000005
【図５】
0005822567.tif 000006
【図６】
0005822567.tif 000007
【図７】
0005822567.tif 000008
【図８】
0005822567.tif 000009