(57)【特許請求の範囲】
【請求項１】
外部接続用アップポートコネクタに接続可能な第１のアップポート端子と、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第１のダウンポート端子と接続され、第１の転送方式でデータを転送する第１のハブコントローラと、
前記外部接続用アップポートコネクタに接続可能な第２のアップポート端子と、前記複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第２のダウンポート端子と接続され、前記第１の転送方式よりも転送速度が遅い第２の転送方式でデータを転送する第２のハブコントローラと、
前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部と、を備え、
前記第１および第２のハブコントローラは、前記ポート情報格納部に格納されている前記ポート情報に基づきデータ転送処理を実施する、
ＵＳＢハブコントローラ。
【請求項２】
前記ＵＳＢハブコントローラは、更にメモリインタフェースを備え、
前記ポート情報格納部は外部に設けられたメモリから前記メモリインタフェースを介して前記ポート情報を取得する、
請求項１に記載のＵＳＢハブコントローラ。
【請求項３】
前記ポート情報格納部は、前記第１のアップポート端子および前記第１のハブコントローラを介して、または前記第２のアップポート端子および前記第２のハブコントローラを介して、前記外部接続用アップポートコネクタに接続される機器から前記ポート情報を取得する、請求項１に記載のＵＳＢハブコントローラ。
【請求項４】
前記第１のハブコントローラは、スーパースピードモードでデータを転送可能なＵＳＢ３．０規格に準拠したハブコントローラであり、
前記第２のハブコントローラは、ハイスピードモード、フルスピードモード、およびロースピードモードでデータを転送可能なＵＳＢ２．０規格に準拠したハブコントローラである、
請求項１乃至３のいずれか一項に記載のＵＳＢハブコントローラ。
【請求項５】
前記第１のハブコントローラは、ＵＳＢデバイス機器が接続された際に当該ＵＳＢデバイス機器が前記スーパースピードモードに対応しているか否かを検出し、前記ＵＳＢデバイス機器が前記スーパースピードモードに対応している場合、前記スーパースピードモードでデータを転送する、請求項４に記載のＵＳＢハブコントローラ。
【請求項６】
前記第２のハブコントローラは、ＵＳＢデバイス機器が接続された際に当該ＵＳＢデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応しているか否かを検出し、前記ＵＳＢデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応している場合、前記ＵＳＢデバイス機器が対応しているモードでデータを転送する、請求項４に記載のＵＳＢハブコントローラ。
【請求項７】
請求項１乃至６のいずれか一項に記載のＵＳＢハブコントローラと、
前記外部接続用アップポートコネクタおよび前記外部接続用ダウンポートコネクタを備え、前記ＵＳＢハブコントローラを実装する実装基板と、を備えるシステム。
【請求項８】
前記ポート情報を格納した前記メモリは前記実装基板に設けられている、請求項７に記載のシステム。
【請求項９】
前記外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との間の配線、および前記外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との間の配線は、固定された配線を用いて配線されている、請求項７または８に記載のシステム。
【請求項１０】
前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続を制御するルート制御部と、
前記ルート制御部から出力された制御信号に応じて、前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続を切り替える切り替え回路と、を更に備え、
前記ポート情報格納部は前記ポート情報を前記ルート制御部から取得する、
請求項７または８に記載のシステム。
【請求項１１】
複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第１のダウンポート端子と、所定のシステムと接続可能なホストインタフェースと接続され、第１の転送方式でデータを転送する第１のホストコントローラと、
前記複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第２のダウンポート端子と、前記ホストインタフェースと接続され、前記第１の転送方式よりも転送速度が遅い第２の転送方式でデータを転送する第２のホストコントローラと、
前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部と、を備え、
前記第１および第２のホストコントローラは、前記ポート情報格納部に格納されている前記ポート情報に基づきデータ転送処理を実施する、
ＵＳＢホストコントローラ。
【請求項１２】
前記ＵＳＢホストコントローラは、更にメモリインタフェースを備え、
前記ポート情報格納部は外部に設けられたメモリから前記メモリインタフェースを介して前記ポート情報を取得する、
請求項１１に記載のＵＳＢホストコントローラ。
【請求項１３】
前記ポート情報格納部は、前記ホストインタフェースおよび前記第１のホストコントローラを介して、または前記ホストインタフェースおよび前記第２のホストコントローラを介して、前記ポート情報を取得する、請求項１１に記載のＵＳＢホストコントローラ。
【請求項１４】
前記第１のホストコントローラは、スーパースピードモードでデータを転送可能なＵＳＢ３．０規格に準拠したホストコントローラであり、
前記第２のホストコントローラは、ハイスピードモード、フルスピードモード、およびロースピードモードでデータを転送可能なＵＳＢ２．０規格に準拠したホストコントローラである、
請求項１１乃至１３のいずれか一項に記載のＵＳＢホストコントローラ。
【請求項１５】
前記第１のホストコントローラは、ＵＳＢデバイス機器が接続された際に当該ＵＳＢデバイス機器が前記スーパースピードモードに対応しているか否かを検出し、前記ＵＳＢデバイス機器が前記スーパースピードモードに対応している場合、前記スーパースピードモードでデータを転送する、請求項１４に記載のＵＳＢホストコントローラ。
【請求項１６】
前記第２のホストコントローラは、ＵＳＢデバイス機器が接続された際に当該ＵＳＢデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応しているか否かを検出し、前記ＵＳＢデバイス機器が前記ハイスピードモード、前記フルスピードモード、および前記ロースピードモードのいずれかに対応している場合、前記ＵＳＢデバイス機器が対応しているモードでデータを転送する、請求項１４に記載のＵＳＢホストコントローラ。
【請求項１７】
請求項１１乃至１６のいずれか一項に記載のＵＳＢホストコントローラと、
前記外部接続用ダウンポートコネクタを備え、前記ＵＳＢホストコントローラを実装する実装基板と、を備えるシステム。
【請求項１８】
前記ポート情報を格納した前記メモリは前記実装基板に設けられている、請求項１７に記載のシステム。
【請求項１９】
前記外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との間の配線、および前記外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との間の配線は、固定された配線を用いて配線されている、請求項１７または１８に記載のシステム。
【請求項２０】
前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続を制御するルート制御部と、
前記ルート制御部から出力された制御信号に応じて、前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続を切り替える切り替え回路と、を更に備え、
前記ポート情報格納部は前記ポート情報を前記ルート制御部から取得する、
請求項１７または１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＵＳＢハブコントローラ、ＵＳＢホストコントローラ、およびシステムに関する。
【背景技術】
【０００２】
昨今、多くのパーソナルコンピュータや携帯端末機器などには、ＵＳＢインタフェースが備えられている。パーソナルコンピュータなどのセット装置以外でも、例えば、アプリケーションプロセッサと呼ばれるＣＰＵ（Central Processing Unit）やビデオアクセラレータなどを１チップに実装したＬＳＩ（Large Scale Integration）にも、ＵＳＢインタフェースが実装されている。このように、ＵＳＢは多くのセット機器やＬＳＩを含む半導体集積回路装置全般に備えられているインタフェースである。
【０００３】
ＵＳＢバージョン２．０（以下、ＵＳＢ２．０と記載する）で規定されている転送速度は、ハイスピード（ＨＳ：High Speed）の場合で４８０Ｍｂｐｓ、フルスピード（ＦＳ：Full Speed）の場合で１２Ｍｂｐｓ、ロースピード（ＬＳ：Low Speed）の場合で１．５Ｍｂｐｓである。また、ＵＳＢバージョン３．０（以下、ＵＳＢ３．０と記載する）では、新たに転送速度が５Ｇｂｐｓであるスーパースピード（ＳＳ：Super Speed）が追加された。
【０００４】
特許文献１には、ＵＳＢデバイス機器との間の通信方式を任意のタイミングで切り替えることができるＵＳＢホスト装置に関する技術が開示されている。また、特許文献２には、コンピュータおよびそれに繋がる周辺デバイス機器の物理的接続状態を変えずに、各コンピュータより使用する周辺デバイス機器を複数の周辺デバイス機器から任意に切り替えることができる技術が開示されている。
【０００５】
また、非特許文献１には、ＵＳＢ２．０規格に準拠したハブコントローラに関する技術が開示されている。非特許文献１に開示されているハブコントローラは、１つのアップポートと、複数のダウンポートを備える（非特許文献１の１１ページ参照）。そして、ＵＳＢホストコントローラによってＵＳＢハブコントローラがエニュメレーション処理された場合、ＵＳＢハブコントローラはＵＳＢホストコントローラにダウンポートの数を報告する。このとき、ＵＳＢハブコントローラは、ダウンポートの数値範囲や数値の割り当てを選択することは許されていない。ＵＳＢホストコントローラは、ＵＳＢハブコントローラのダウンポートに１からＮ（ダウンポートの数）までの数を割り当てる。このＵＳＢホストコントローラが割り当てた数は論理ポート番号であり、ＵＳＢハブコントローラのダウンポート番号は物理ポート番号である。
【０００６】
そして、非特許文献１に開示されているＵＳＢハブコントローラでは、多様なプラットフォーム設計に対応するために、柔軟に論理ポートと物理ポートとの関係を変更することができる（非特許文献１の４８〜５１ページ参照）。つまり、ＵＳＢハブコントローラがマッピングモードである場合、ＵＳＢハブコントローラのダウンポート番号（物理ポート番号）を論理ポート番号と異なるようにマッピングすることができる。例えば、ダウンポート（物理ポート）が７つある場合、物理ポート番号「１」に１〜７の論理ポート番号を割り当てることができる。他のダウンポート（物理ポート）についても同様である。この論理ポート番号は、ＵＳＢホストコントローラを用いて割り当てられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２０３７８８号公報
【特許文献２】特開２００１−２２９１１９号公報
【非特許文献】
【０００８】
【非特許文献１】ＳＭＳＣ社  ＵＳＢ２．０  Ｈｕｂ  Ｃｏｎｔｒｏｌｌｅｒ  Ｄａｔａ  Ｓｈｅｅｔ（http://www.smsc.com/media/Downloads_Public/Data_Sheets/251x.pdf  )
【発明の概要】
【発明が解決しようとする課題】
【０００９】
背景技術で説明したように、ＵＳＢ３．０規格が策定されたことにより、転送速度が５Ｇｂｐｓであるスーパースピードモード（ＳＳモード）が新たに追加された。これに伴い、ＵＳＢインタフェースとして、従来のＵＳＢ２．０規格で用いられている転送速度（ＨＳモード、ＦＳモード、ＬＳモード）と、新たに追加されたＵＳＢ３．０規格で用いられている転送速度（ＳＳモード）とが共存しているインタフェースが必要とされている。このため、複数のダウンポート端子を有するＵＳＢハブコントローラでは、ＵＳＢ３．０規格に準拠したハブコントローラとＵＳＢ２．０規格に準拠したハブコントローラとを並列に設ける必要がある。
【００１０】
しかしながら、ＵＳＢ３．０規格に準拠したハブコントローラとＵＳＢ２．０規格に準拠したハブコントローラとを備えるＵＳＢハブコントローラを搭載するシステムによっては、システムが必要とするＵＳＢ３．０規格のダウンポート端子の数と、ＵＳＢ２．０規格のダウンポート端子の数が異なる場合がある。また、ＵＳＢハブコントローラを搭載するシステムによっては、ＵＳＢ２．０規格のダウンポート端子のみに接続される外部接続用ダウンポートコネクタと、ＵＳＢ３．０規格のダウンポート端子とＵＳＢ２．０規格のダウンポート端子の両方に接続される外部接続用ダウンポートコネクタとが混在するなど、ＵＳＢハブコントローラを搭載するシステムに応じてシステム構成が異なる。よって、ＵＳＢハブコントローラを搭載するシステムに応じて、ＵＳＢ３．０規格のダウンポート端子とＵＳＢ２．０規格のダウンポート端子を適切に管理する必要がある。
【００１１】
なお、非特許文献１に開示されている技術では、ＵＳＢ２．０に準拠したハブコントローラに関する技術のみが開示されている。よって、非特許文献１に開示されている技術を用いたとしても、ＵＳＢ３．０規格に準拠したハブコントローラとＵＳＢ２．０規格に準拠したハブコントローラとを備えるＵＳＢハブコントローラを搭載するシステムに応じて、ＵＳＢ３．０規格のダウンポート端子とＵＳＢ２．０規格のダウンポート端子を適切に管理することはできない。
【００１２】
また、上記問題は、ＵＳＢ３．０規格に準拠したホストコントローラとＵＳＢ２．０規格に準拠したホストコントローラとが並列に設けられた、複数のダウンポート端子を有するＵＳＢホストコントローラにおいても同様に生じる。
【課題を解決するための手段】
【００１３】
本発明にかかるＵＳＢハブコントローラは、外部接続用アップポートコネクタに接続可能な第１のアップポート端子と、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第１のダウンポート端子と接続され、第１の転送方式でデータを転送する第１のハブコントローラと、前記外部接続用アップポートコネクタに接続可能な第２のアップポート端子と、前記複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第２のダウンポート端子と接続され、前記第１の転送方式よりも転送速度が遅い第２の転送方式でデータを転送する第２のハブコントローラと、前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部と、を備え、前記第１および第２のハブコントローラは、前記ポート情報格納部に格納されている前記ポート情報に基づきデータ転送処理を実施する。
【００１４】
本発明にかかるＵＳＢハブコントローラでは、複数の外部接続用ダウンポートコネクタと複数の第１のダウンポート端子との接続、および複数の外部接続用ダウンポートコネクタと複数の第２のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部を設けている。このように、ポート情報格納部を設けることで、第１のハブコントローラおよび第２のハブコントローラは、ＵＳＢハブコントローラの実装形態（第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係）に応じたポート情報を取得することができる。よって、規格が異なる第１および第２のハブコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができる。
【００１５】
本発明にかかるＵＳＢホストコントローラは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第１のダウンポート端子と、所定のシステムと接続可能なホストインタフェースと接続され、第１の転送方式でデータを転送する第１のホストコントローラと、前記複数の外部接続用ダウンポートコネクタにそれぞれ接続可能な複数の第２のダウンポート端子と、前記ホストインタフェースと接続され、前記第１の転送方式よりも転送速度が遅い第２の転送方式でデータを転送する第２のホストコントローラと、
前記複数の外部接続用ダウンポートコネクタと前記複数の第１のダウンポート端子との接続、および前記複数の外部接続用ダウンポートコネクタと前記複数の第２のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部と、を備え、前記第１および第２のホストコントローラは、前記ポート情報格納部に格納されている前記ポート情報に基づきデータ転送処理を実施する。
【００１６】
本発明にかかるＵＳＢホストコントローラでは、複数の外部接続用ダウンポートコネクタと複数の第１のダウンポート端子との接続、および複数の外部接続用ダウンポートコネクタと複数の第２のダウンポート端子との接続に関するポート情報を格納可能なポート情報格納部を設けている。このように、ポート情報格納部を設けることで、第１のホストコントローラおよび第２のホストコントローラは、ＵＳＢホストコントローラの実装形態（第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係）に応じたポート情報を取得することができる。よって、規格が異なる第１および第２のホストコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができる。
【発明の効果】
【００１７】
本発明により、規格が異なるハブコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるＵＳＢハブコントローラおよびＵＳＢハブコントローラを含むシステムを提供することができる。また、本発明により、規格が異なるホストコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるＵＳＢホストコントローラおよびＵＳＢホストコントローラを含むシステムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態１にかかるＵＳＢハブコントローラを示すブロック図である。
【図２】実施の形態１にかかるＵＳＢハブコントローラを含むシステムの一例を示すブロック図である。
【図３】実施の形態１にかかるＵＳＢハブコントローラが備えるポート情報格納部に格納されているポート情報の一例を示す表である。
【図４】実施の形態２にかかるＵＳＢホストコントローラを示すブロック図である。
【図５】実施の形態２にかかるＵＳＢホストコントローラを含むシステムの一例を示すブロック図である。
【図６】実施の形態３にかかるＵＳＢハブコントローラを示すブロック図である。
【図７】実施の形態３にかかるＵＳＢハブコントローラを含むシステムの一例を示すブロック図である。
【図８】実施の形態４にかかるＵＳＢホストコントローラを示すブロック図である。
【図９】実施の形態４にかかるＵＳＢホストコントローラを含むシステムの一例を示すブロック図である。
【図１０】実施の形態５にかかるＵＳＢハブコントローラを含むシステムの一例を示すブロック図である。
【図１１】実施の形態５にかかるＵＳＢハブコントローラを含むシステムの他の例を示すブロック図である。
【図１２】実施の形態６にかかるＵＳＢホストコントローラを含むシステムの一例を示すブロック図である。
【図１３】実施の形態６にかかるＵＳＢホストコントローラを含むシステムの他の例を示すブロック図である。
【発明を実施するための形態】
【００１９】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。図１は、実施の形態１にかかるＵＳＢハブコントローラを示すブロック図である。図１に示すＵＳＢハブコントローラ１０は、第１のハブコントローラ１１、第２のハブコントローラ１２、ポート情報格納部１３、第１のアップポート端子１４、第２のアップポート端子１５、メモリインタフェース１６、複数の第１のダウンポート端子１７_１〜１７_Ｎ、および複数の第２のダウンポート端子１８_１〜１８_Ｎを備える。ここで、Ｎは２以上の整数であり、第１および第２のダウンポート端子のそれぞれの数に対応している。
【００２０】
第１のハブコントローラ１１は、例えばＵＳＢ３．０規格に準拠したハブコントローラであり、上流側に位置するＵＳＢホストコントローラ（不図示）と下流側に位置するＵＳＢデバイス機器（不図示）との間に設けられる。第１のハブコントローラ１１は、上流側において第１のアップポート端子１４と接続され、下流側において複数の第１のダウンポート端子１７_１〜１７_Ｎと接続されている。また、第１のハブコントローラ１１は、第１のアップポート端子１４を介して転送されてきたデータを第１のダウンポート端子１７_１〜１７_Ｎに転送し、第１のダウンポート端子１７_１〜１７_Ｎを介して転送されてきたデータを第１のアップポート端子１４に転送する。
【００２１】
このとき、第１のハブコントローラ１１は、第１のアップポート端子１４を介して転送されてきたデータを複数の第１のダウンポート端子１７_１〜１７_Ｎのいずれか一つに転送するルーティング処理を実施する。また、第１のハブコントローラ１１は、第１の転送方式でデータを転送する。ここで、第１の転送方式は、例えばＵＳＢ３．０規格で規定されているスーパースピードモード（ＳＳモード：転送速度５Ｇｂｐｓ）である。
【００２２】
また、第１のハブコントローラ１１は、ＵＳＢデバイス機器の接続の検出、接続されたＵＳＢデバイス機器の転送速度の検出（つまり、転送速度がＳＳモードに対応しているか否かの検出）、接続されたＵＳＢデバイス機器への電源の供給などを実施する。
【００２３】
第２のハブコントローラ１２は、例えばＵＳＢ２．０規格に準拠したハブコントローラであり、上流側に位置するＵＳＢホストコントローラ（不図示）と下流側に位置するＵＳＢデバイス機器（不図示）との間に設けられる。第２のハブコントローラ１２は、上流側において第２のアップポート端子１５と接続され、下流側において複数の第２のダウンポート端子１８_１〜１８_Ｎと接続されている。つまり、第２のハブコントローラ１２は、第１のハブコントローラ１１と並列に設けられている。また、第２のハブコントローラ１２は、第２のアップポート端子１５を介して転送されてきたデータを第２のダウンポート端子１８_１〜１８_Ｎに転送し、第２のダウンポート端子１８_１〜１８_Ｎを介して転送されてきたデータを第２のアップポート端子１５に転送する。
【００２４】
このとき、第２のハブコントローラ１２は、第２のアップポート端子１５を介して転送されてきたデータを第２のダウンポート端子１８_１〜１８_Ｎへブロードキャスト転送する、あるいは転送スピードに依存して第２のダウンポート端子１８_１〜１８_Ｎのいずれか一つに転送するルーティング処理を実施する。また、第２のハブコントローラ１２は、第１の転送方式よりも転送速度が遅い第２の転送方式でデータを転送する。ここで、第２の転送方式は、例えばＵＳＢ２．０規格で規定されているハイスピードモード（ＨＳモード：４８０Ｍｂｐｓ）、フルスピードモード（ＦＳモード：１２Ｍｂｐｓ）、ロースピードモード（ＬＳモード：１．５Ｍｂｐｓ）である。
【００２５】
また、第２のハブコントローラ１２は、ＵＳＢデバイス機器の接続の検出や、接続されたＵＳＢデバイス機器への電源の供給などを実施する。また、第２のハブコントローラ１２は、接続されたＵＳＢデバイス機器の転送速度を検出し、接続されたＵＳＢデバイス機器の転送速度に対応するように、第２のアップポート端子１５と第２のダウンポート端子１８_１〜１８_Ｎとの間の転送速度を変換する。つまり、第２のハブコントローラ１２は、接続されたＵＳＢデバイス機器がＨＳモードに対応している場合はＨＳモードでデータを転送し、接続されたＵＳＢデバイス機器がＨＳモードに対応していない場合は、ＨＳモードよりも転送速度が遅いＦＳモードやＬＳモードでデータを転送する。
【００２６】
第１のアップポート端子１４は、外部接続用アップポートコネクタに接続可能に構成されている。また、第２のアップポート端子１５は、外部接続用アップポートコネクタに接続可能に構成されている。複数の第１のダウンポート端子１７_１〜１７_Ｎは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。複数の第２のダウンポート端子１８_１〜１８_Ｎは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。
【００２７】
ここで、図１に示す第１のハブコントローラ１１、第２のハブコントローラ１２、ポート情報格納部１３、第１のアップポート端子１４、第２のアップポート端子１５、メモリインタフェース１６、複数の第１のダウンポート端子１７_１〜１７_Ｎ、および複数の第２のダウンポート端子１８_１〜１８_Ｎは、例えば１つの半導体チップに搭載することができる。つまり、ＵＳＢハブコントローラ１０は１つの半導体チップで構成することができる。この場合、第１のアップポート端子１４、第２のアップポート端子１５、メモリインタフェース１６、複数の第１のダウンポート端子１７_１〜１７_Ｎ、および複数の第２のダウンポート端子１８_１〜１８_Ｎは半導体チップの端子であり、外部に設けられた配線と接続される。
【００２８】
図２は、図１に示したＵＳＢハブコントローラ１０を搭載したシステム２０（例えば、ＵＳＢハブ）の一例を示すブロック図である。つまり、図２に示すシステム２０は、外部接続用アップポートコネクタ２２および外部接続用ダウンポートコネクタ２３_１〜２３_４を備える実装基板２５に、半導体チップであるＵＳＢハブコントローラ１０を実装することで構成することができる。
【００２９】
ＵＳＢハブコントローラ１０が備える第１のアップポート端子１４および第２のアップポート端子１５は、外部接続用アップポートコネクタ２２に接続されている。ここで、外部接続用アップポートコネクタ２２は、システム２０の上流側に位置するＵＳＢホストコントローラ等と接続されるコネクタである。
【００３０】
また、第１のダウンポート端子１７_１（端子番号＃１）は外部接続用ダウンポートコネクタ２３_１（コネクタ番号＃１）に接続され、第１のダウンポート端子１７_３（端子番号＃３）は外部接続用ダウンポートコネクタ２３_２（コネクタ番号＃２）に接続され、第１のダウンポート端子１７_Ｎ（端子番号＃Ｎ）は外部接続用ダウンポートコネクタ２３_３（コネクタ番号＃３）に接続されている。なお、第１のダウンポート端子１７_２（端子番号＃２）は外部接続用ダウンポートコネクタと接続されていない。
【００３１】
また、第２のダウンポート端子１８_１（端子番号＃１）は外部接続用ダウンポートコネクタ２３_１（コネクタ番号＃１）に接続され、第２のダウンポート端子１８_２（端子番号＃２）は外部接続用ダウンポートコネクタ２３_２（コネクタ番号＃２）に接続され、第２のダウンポート端子１８_３（端子番号＃３）は外部接続用ダウンポートコネクタ２３_４（コネクタ番号＃４）に接続され、第２のダウンポート端子１８_Ｎ（端子番号＃Ｎ）は外部接続用ダウンポートコネクタ２３_３（コネクタ番号＃３）に接続されている。
【００３２】
なお、図２に示した第１のダウンポート端子１７_１〜１７_Ｎと外部接続用ダウンポートコネクタ２３_１〜２３_４との接続、および第２のダウンポート端子１８_１〜１８_Ｎと外部接続用ダウンポートコネクタ２３_１〜２３_４との接続は一例であり、これらの接続関係は任意に決定することができる。また、これらの接続は固定された配線を用いて配線されている。
【００３３】
例えば、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続は、システム２０に設けられた外部接続用ダウンポートコネクタの数や位置を考慮して決定することができる。また、ＵＳＢ３．０規格で規定されているＳＳモードでは転送速度が速いため、第１のダウンポート端子と外部接続用ダウンポートコネクタとの距離は短いほうが好ましい。よって、この点を考慮して第１のダウンポート端子と外部接続用ダウンポートコネクタとの接続を決定してもよい。
【００３４】
また、図２では外部接続用ダウンポートコネクタ２３_１〜２３_４の数が４つの場合について説明したが、外部接続用ダウンポートコネクタは複数であればよく、例えば５つ以上備えていてもよい。
【００３５】
本実施の形態にかかるＵＳＢハブコントローラ１０は、ポート情報格納部１３を有する。ポート情報格納部１３は、第１のダウンポート端子１７_１〜１７_Ｎと外部接続用ダウンポートコネクタ２３_１〜２３_４との接続、および第２のダウンポート端子１８_１〜１８_Ｎと外部接続用ダウンポートコネクタ２３_１〜２３_４との接続に関するポート情報を格納することができる。
【００３６】
図３は、ポート情報格納部１３に格納されているポート情報の一例を示す表である。図３に示すように、ポート情報格納部１３は、外部接続用ダウンポートコネクタ２３_１〜２３_４の番号（＃１〜＃Ｎ）、第１のダウンポート端子１７_１〜１７_Ｎの番号（＃１〜＃Ｎ）、および第２のダウンポート端子１８_１〜１８_Ｎの番号（＃１〜＃Ｎ）の対応関係を示すテーブルをポート情報として格納することができる。
【００３７】
図３に示す表において、外部接続用ダウンポートコネクタ番号＃１は、第１のダウンポート端子番号＃１と第２のダウンポート端子番号＃１にそれぞれ対応しており、これは外部接続用ダウンポートコネクタ２３_１（コネクタ番号＃１）に、第１のダウンポート端子１７_１（端子番号＃１）および第２のダウンポート端子１８_１（端子番号＃１）がそれぞれ接続されていることを示している。
【００３８】
また、外部接続用ダウンポートコネクタ番号＃２は、第１のダウンポート端子番号＃３と第２のダウンポート端子番号＃２にそれぞれ対応しており、これは外部接続用ダウンポートコネクタ２３_２（コネクタ番号＃２）に、第１のダウンポート端子１７_３（端子番号＃３）および第２のダウンポート端子１８_２（端子番号＃２）がそれぞれ接続されていることを示している。
【００３９】
また、外部接続用ダウンポートコネクタ番号＃３は、第１のダウンポート端子番号＃Ｎと第２のダウンポート端子番号＃Ｎにそれぞれ対応しており、これは外部接続用ダウンポートコネクタ２３_３（コネクタ番号＃３）に、第１のダウンポート端子１７_Ｎ（端子番号＃Ｎ）および第２のダウンポート端子１８_Ｎ（端子番号＃Ｎ）がそれぞれ接続されていることを示している。
【００４０】
また、外部接続用ダウンポートコネクタ番号＃４は、第１のダウンポート端子番号"０"と第２のダウンポート端子番号＃３にそれぞれ対応している。ここで、第１のダウンポート端子番号が"０"である場合は、外部接続用ダウンポートコネクタが第１のダウンポート端子のいずれとも接続されていないことを示している。よってこの場合は、外部接続用ダウンポートコネクタ２３_４（コネクタ番号＃４）は、第２のダウンポート端子１８_３（端子番号＃３）のみと接続されている。
【００４１】
外部接続用ダウンポートコネクタ番号が＃５〜＃Ｎでは、第１のダウンポート端子番号および第２のダウンポート端子番号が共に"０"である。よって、外部接続用ダウンポートコネクタ番号＃５〜＃Ｎに対応する外部接続用ダウンポートコネクタは、第１のダウンポート端子および第２のダウンポート端子と接続されていない。
【００４２】
ポート情報格納部１３は、図３に示すようなポート情報を、外部（例えば、実装基板２５）に設けられたメモリ２１からメモリインタフェース１６を介して取得することができる。つまり、ＵＳＢハブコントローラ（半導体チップ）１０を実装基板２５に実装する際に、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてメモリ２１に格納し、メモリ２１とメモリインタフェース１６とを接続する。これにより、ポート情報格納部１３はメモリ２１に格納されているポート情報を取得することができる。メモリ２１には、例えばＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、フラッシュメモリ等の不揮発性メモリを用いることができる。
【００４３】
このポート情報は、ＵＳＢハブコントローラ（半導体チップ）１０の実装形態（つまり、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係）によりそれぞれ異なるため、メモリ２１にはそれぞれの実装形態に応じたポート情報が格納される。
【００４４】
第１のハブコントローラ１１および第２のハブコントローラ１２はそれぞれ、ポート情報格納部１３に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第１のハブコントローラ１１および第２のハブコントローラ１２は、ポート情報格納部１３に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、パケットのルーティング処理を実施したりする。
【００４５】
例えば、図２に示すＵＳＢハブコントローラ１０が備える第１のダウンポート端子１７_１〜１７_Ｎは、外部接続用ダウンポートコネクタ２３_１〜２３_４のうちの３つと接続されている。よって、第１のハブコントローラ１１は、ＵＳＢ３．０規格のＳＳモードに対応した外部接続用ダウンポートコネクタの総数が３つであることを、システムソフトウェアに対して通知することができる。一方、第２のダウンポート端子１８_１〜１８_Ｎは、外部接続用ダウンポートコネクタ２３_１〜２３_４の全てと接続されている。よって、第２のハブコントローラ１２は、ＵＳＢ２．０規格の転送モードに対応した外部接続用ダウンポートコネクタの総数が４つであることを、システムソフトウェアに対して通知することができる。
【００４６】
また、例えば、第１のハブコントローラ１１が外部接続用ダウンポートコネクタ２３_２にデータを転送する場合、第１のハブコントローラ１１は、ポート情報格納部１３に格納されているポート情報を参照して、外部接続用ダウンポートコネクタ２３_２と接続されている第１のダウンポート端子１７_３にデータを転送する。このように、第１のハブコントローラ１１は、ポート情報格納部１３に格納されているポート情報を参照することでパケットのルーティング処理を実施することができる。なお、第２のハブコントローラ１２についても同様である。
【００４７】
また、例えば、第１のダウンポート端子１７_３と第２のダウンポート端子１８_２の両方に接続されている外部接続用ダウンポートコネクタ２３_２にＵＳＢデバイス機器が接続された場合、第１のハブコントローラ１１は、接続されたＵＳＢデバイス機器がＵＳＢ３．０規格で規定された転送モードに対応しているか判断する。また、第２のハブコントローラ１２は、接続されたＵＳＢデバイス機器がＵＳＢ２．０規格で規定された転送モードに対応しているか判断する。そして、接続されたＵＳＢデバイス機器がＵＳＢ３．０規格で規定された転送モード（ＳＳモード）に対応している場合、第１のハブコントローラ１１は、第１のダウンポート端子１７_３および外部接続用ダウンポートコネクタ２３_２を介して、ＵＳＢ３．０規格で規定された転送モードでＵＳＢデバイス機器と通信をする。一方、接続されたＵＳＢデバイス機器がＵＳＢ３．０規格で規定された転送モードに対応していないがＵＳＢ２．０規格で規定された転送モードに対応している場合、第２のハブコントローラ１２は、第２のダウンポート端子１８_２および外部接続用ダウンポートコネクタ２３_２を介して、ＵＳＢ２．０規格で規定された転送モードでＵＳＢデバイス機器と通信をする。
【００４８】
背景技術で説明したように、ＵＳＢ３．０規格が策定されたことにより、転送速度が５Ｇｂｐｓであるスーパースピードモード（ＳＳモード）が新たに追加された。これに伴い、ＵＳＢインタフェースとして、従来のＵＳＢ２．０規格で用いられている転送速度（ＨＳモード、ＦＳモード、ＬＳモード）と、新たに追加されたＵＳＢ３．０規格で用いられている転送速度（ＳＳモード）とが共存しているインタフェースが必要とされていた。このため、複数のダウンポート端子を有するＵＳＢハブコントローラでは、ＵＳＢ３．０規格に準拠したハブコントローラとＵＳＢ２．０規格に準拠したハブコントローラとを並列に設ける必要があった。
【００４９】
しかしながら、ＵＳＢ３．０規格に準拠したハブコントローラとＵＳＢ２．０規格に準拠したハブコントローラとを備えるＵＳＢハブコントローラを搭載するシステム（実装基板）によっては、システムが必要とするＵＳＢ３．０規格のダウンポート端子の数と、ＵＳＢ２．０規格のダウンポート端子の数が異なる場合があった。また、ＵＳＢハブコントローラを搭載するシステムによっては、ＵＳＢ２．０規格のダウンポート端子のみに接続される外部接続用ダウンポートコネクタと、ＵＳＢ３．０規格のダウンポート端子とＵＳＢ２．０規格のダウンポート端子の両方に接続される外部接続用ダウンポートコネクタとが混在するなど、ＵＳＢハブコントローラを搭載するシステムに応じてシステム構成が異なっていた。よって、ＵＳＢハブコントローラを搭載するシステムに応じて、ＵＳＢ３．０規格のダウンポート端子とＵＳＢ２．０規格のダウンポート端子を適切に管理する必要があった。
【００５０】
そこで本実施の形態にかかるＵＳＢハブコントローラ１０では、第１のダウンポート端子１７_１〜１７_Ｎと外部接続用ダウンポートコネクタ２３_１〜２３_４との接続、および第２のダウンポート端子１８_１〜１８_Ｎと外部接続用ダウンポートコネクタ２３_１〜２３_４との接続に関するポート情報を格納することができるポート情報格納部１３を設けている。このように、ポート情報格納部１３を設けることで、第１のハブコントローラ１１および第２のハブコントローラ１２は、ＵＳＢハブコントローラ（半導体チップ）１０の実装形態（第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係）に応じたポート情報を取得することができる。そして、第１のハブコントローラ１１および第２のハブコントローラ１２は、このポート情報に基づいてデータ転送処理を実施することができる。よって、規格が異なる第１のハブコントローラ１１および第２のハブコントローラ１２が混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができる。
【００５１】
また、本実施の形態では、ポート情報格納部１３は、実装基板２５に設けられたメモリ２１からポート情報を取得している。よって、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を変更する場合、メモリ２１に格納されているポート情報を書き換えるのみでポート情報格納部１３のポート情報を変更することができる。したがって、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を柔軟に変更することができる。換言すると、ＵＳＢハブコントローラ（半導体チップ）１０の構成を変更することなく、ＵＳＢハブコントローラ（半導体チップ）１０の実装形態を変更することができる。
【００５２】
例えば、ＵＳＢハブコントローラを搭載した様々なシステムを提供するベンダーは、本実施の形態にかかるＵＳＢハブコントローラ１０を用いることで、同一のＵＳＢハブコントローラを用いて様々なシステムを提供することができる。
【００５３】
以上で説明した本実施の形態にかかる発明により、規格が異なるハブコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるＵＳＢハブコントローラおよびＵＳＢハブコントローラを含むシステムを提供することができる。
【００５４】
＜実施の形態２＞
次に、本発明の実施の形態２について説明する。図４は、本実施の形態にかかるＵＳＢホストコントローラを示すブロック図である。図４に示すＵＳＢホストコントローラ３０は、第１のホストコントローラ３１、第２のホストコントローラ３２、ポート情報格納部３３、ホストインタフェース３４、メモリインタフェース３６、複数の第１のダウンポート端子３７_１〜３７_Ｎ、および複数の第２のダウンポート端子３８_１〜３８_Ｎを備える。ここで、Ｎは２以上の整数であり、第１および第２のダウンポート端子のそれぞれの数に対応している。
【００５５】
第１のホストコントローラ３１は、例えばＵＳＢ３．０規格に準拠したホストコントローラである。第１のホストコントローラ３１は、上流側においてホストインタフェース３４と接続され、下流側において複数の第１のダウンポート端子３７_１〜３７_Ｎと接続されている。ホストインタフェース３４は上流側においてバスと接続可能に構成されている。ここで、例えば、ホストインタフェース３４はＰＣＩバスインタフェースであり、ホストインタフェース３４はＰＣＩバスと接続され、このＰＣＩバスを介して所定のシステムと接続される。また、例えば、第１のホストコントローラ３１は、ｘＨＣＩ（eXtensible Host Controller Interface）を備えている。
【００５６】
第１のホストコントローラ３１は、ホストインタフェース３４を介して転送されてきたデータを第１のダウンポート端子３７_１〜３７_Ｎに転送し、第１のダウンポート端子３７_１〜３７_Ｎを介して転送されてきたデータをホストインタフェース３４に転送する。このとき、第１のホストコントローラ３１は、ホストインタフェース３４を介して転送されてきたデータを複数の第１のダウンポート端子３７_１〜３７_Ｎのいずれか一つに転送するルーティング処理を実施する。また、第１のホストコントローラ３１は、第１の転送方式でデータを転送する。ここで、第１の転送方式は、例えばＵＳＢ３．０規格で規定されているスーパースピードモード（ＳＳモード：転送速度５Ｇｂｐｓ）である。
【００５７】
また、第１のホストコントローラ３１は、ＵＳＢデバイス機器の接続の検出、接続されたＵＳＢデバイス機器の転送速度の検出（つまり、転送速度がＳＳモードに対応しているか否かの検出）、ＵＳＢデバイス機器固有の番号を付与するエニュメレーション処理、接続されたＵＳＢデバイス機器への電源の供給などを実施する。
【００５８】
第２のホストコントローラ３２は、例えばＵＳＢ２．０規格に準拠したホストコントローラである。第２のホストコントローラ３２は、上流側においてホストインタフェース３４と接続され、下流側において複数の第１のダウンポート端子３８_１〜３８_Ｎと接続されている。例えば、第２のホストコントローラ３２は、ＥＨＣＩと並列にＯＨＣＩ（Open Host Controller Interface）を備えている。また、第２のホストコントローラ３２は、ｘＨＣＩ（eXtensible Host Controller Interface）を備えていてもよい。
【００５９】
第２のホストコントローラ３２は、ホストインタフェース３４を介して転送されてきたデータを第２のダウンポート端子３８_１〜３８_Ｎに転送し、第２のダウンポート端子３８_１〜３８_Ｎを介して転送されてきたデータをホストインタフェース３４に転送する。このとき、第２のホストコントローラ３２は、ホストインタフェース３４を介して転送されてきたデータを複数の第２のダウンポート端子３８_１〜３８_Ｎへブロードキャスト転送する、あるいは複数の第２のダウンポート端子３８_１〜３８_Ｎのいずれか一つに転送するルーティング処理を実施する。また、第２のホストコントローラ３２は、第１の転送方式よりも転送速度が遅い第２の転送方式でデータを転送する。ここで、第２の転送方式は、例えばＵＳＢ２．０規格で規定されているハイスピードモード（ＨＳモード：４８０Ｍｂｐｓ）、フルスピードモード（ＦＳモード：１２Ｍｂｐｓ）、ロースピードモード（ＬＳモード：１．５Ｍｂｐｓ）である。なお、上記のＥＨＣＩはＨＳモード用のインタフェースであり、ＯＨＣＩはＦＳモード用およびＬＳモード用のインタフェースである。
【００６０】
また、第２のホストコントローラ３２は、ＵＳＢデバイス機器の接続の検出、ＵＳＢデバイス機器固有の番号を付与するエニュメレーション処理、接続されたＵＳＢデバイス機器への電源の供給などを実施する。また、第２のホストコントローラ３２は、接続されたＵＳＢデバイス機器の転送速度を検出し、接続されたＵＳＢデバイス機器の転送速度に対応するように、ホストインタフェース３４と第２のダウンポート端子３８_１〜３８_Ｎとの間の転送速度を変換する。つまり、第２のホストコントローラ３２は、接続されたＵＳＢデバイス機器がＨＳモードに対応している場合はＨＳモードでデータを転送し、接続されたＵＳＢデバイス機器がＨＳモードに対応していない場合は、ＨＳモードよりも転送速度が遅いＦＳモードやＬＳモードでデータを転送する。
【００６１】
ホストインタフェース３４は上流側においてバスと接続可能に構成されている。複数の第１のダウンポート端子３７_１〜３７_Ｎは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。複数の第２のダウンポート端子３８_１〜３８_Ｎは、複数の外部接続用ダウンポートコネクタにそれぞれ接続可能に構成されている。
【００６２】
ここで、図４に示す第１のホストコントローラ３１、第２のホストコントローラ３２、ポート情報格納部３３、ホストインタフェース３４、メモリインタフェース３６、複数の第１のダウンポート端子３７_１〜３７_Ｎ、および複数の第２のダウンポート端子３８_１〜３８_Ｎは、例えば１つの半導体チップに搭載することができる。つまり、ＵＳＢホストコントローラ３０は１つの半導体チップで構成することができる。この場合、ホストインタフェース３４、メモリインタフェース３６、複数の第１のダウンポート端子３７_１〜３７_Ｎ、および複数の第２のダウンポート端子３８_１〜３８_Ｎは半導体チップの端子であり、外部に設けられた配線と接続される。
【００６３】
図５は、図４に示したＵＳＢホストコントローラ３０を搭載したシステム４０の一例を示すブロック図である。ここで、システム４０は、例えばパーソナルコンピュータや携帯端末機器などである。図５に示すシステム４０は、外部接続用ダウンポートコネクタ４３_１〜４３_４を備える実装基板４５に、半導体チップであるＵＳＢホストコントローラ３０を実装することで構成することができる。なお、例えば、ホストインタフェース３４は、実装基板４５に設けられたバス（不図示）を介して所定のシステム（ＣＰＵ等）と接続されている。
【００６４】
第１のダウンポート端子３７_１（端子番号＃１）は外部接続用ダウンポートコネクタ４３_１（コネクタ番号＃１）に接続され、第１のダウンポート端子３７_３（端子番号＃３）は外部接続用ダウンポートコネクタ４３_２（コネクタ番号＃２）に接続され、第１のダウンポート端子３７_Ｎ（端子番号＃Ｎ）は外部接続用ダウンポートコネクタ４３_３（コネクタ番号＃３）に接続されている。なお、第１のダウンポート端子３７_２（端子番号＃２）は外部接続用ダウンポートコネクタと接続されていない。
【００６５】
また、第２のダウンポート端子３８_１（端子番号＃１）は外部接続用ダウンポートコネクタ４３_１（コネクタ番号＃１）に接続され、第２のダウンポート端子３８_２（端子番号＃２）は外部接続用ダウンポートコネクタ４３_２（コネクタ番号＃２）に接続され、第２のダウンポート端子３８_３（端子番号＃３）は外部接続用ダウンポートコネクタ４３_４（コネクタ番号＃４）に接続され、第２のダウンポート端子３８_Ｎ（端子番号＃Ｎ）は外部接続用ダウンポートコネクタ４３_３（コネクタ番号＃３）に接続されている。
【００６６】
なお、図５に示した第１のダウンポート端子３７_１〜３７_Ｎと外部接続用ダウンポートコネクタ４３_１〜４３_４との接続、および第２のダウンポート端子３８_１〜３８_Ｎと外部接続用ダウンポートコネクタ４３_１〜４３_４との接続は一例であり、これらの接続関係は任意に決定することができる。また、これらの接続は固定された配線を用いて配線されている。
【００６７】
例えば、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続は、システム４０に設けられた外部接続用ダウンポートコネクタの数や位置を考慮して決定することができる。また、ＵＳＢ３．０規格で規定されているＳＳモードでは転送速度が速いため、第１のダウンポート端子と外部接続用ダウンポートコネクタとの距離は短いほうが好ましい。よって、この点を考慮して第１のダウンポート端子と外部接続用ダウンポートコネクタとの接続を決定してもよい。
【００６８】
また、図５では外部接続用ダウンポートコネクタ４３_１〜４３_４の数が４つの場合について説明したが、外部接続用ダウンポートコネクタは複数であればよく、例えば５つ以上備えていてもよい。
【００６９】
本実施の形態にかかるＵＳＢホストコントローラ３０は、ポート情報格納部３３を有する。ポート情報格納部３３は、第１のダウンポート端子３７_１〜３７_Ｎと外部接続用ダウンポートコネクタ４３_１〜４３_４との接続、および第２のダウンポート端子３８_１〜３８_Ｎと外部接続用ダウンポートコネクタ４３_１〜４３_４との接続に関するポート情報を格納することができる。
【００７０】
なお、ポート情報格納部３３に格納されているポート情報の一例については、図３の場合（実施の形態１参照）と同様であるので重複した説明は省略する。
【００７１】
ポート情報格納部３３は、図３に示すようなポート情報を、外部（例えば、実装基板４５）に設けられたメモリ４１からメモリインタフェース３６を介して取得することができる。つまり、ＵＳＢホストコントローラ（半導体チップ）３０を実装基板４５に実装する際に、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてメモリ４１に格納し、メモリ４１とメモリインタフェース３６とを接続する。これにより、ポート情報格納部３３はメモリ４１に格納されているポート情報を取得することができる。メモリ４１には、例えばＥＥＰＲＯＭ、フラッシュメモリ等の不揮発性メモリを用いることができる。
【００７２】
このポート情報は、ＵＳＢホストコントローラ（半導体チップ）３０の実装形態（つまり、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係）によりそれぞれ異なるため、メモリ４１にはそれぞれの実装形態に応じたポート情報が格納される。
【００７３】
第１のホストコントローラ３１および第２のホストコントローラ３２はそれぞれ、ポート情報格納部３３に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第１のホストコントローラ３１および第２のホストコントローラ３２は、ポート情報格納部３３に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、ＵＳＢデバイス機器固有の番号を付与するエニュメレーション処理を実施したり、パケットのルーティング処理を実施したりする。
【００７４】
例えば、図５に示すＵＳＢホストコントローラ３０が備える第１のダウンポート端子３７_１〜３７_Ｎは、外部接続用ダウンポートコネクタ４３_１〜４３_４のうちの３つと接続されている。よって、第１のホストコントローラ３１は、ＵＳＢ３．０規格のＳＳモードに対応した外部接続用ダウンポートコネクタの総数が３つであることを、システムソフトウェアに対して通知することができる。一方、第２のダウンポート端子３８_１〜３８_Ｎは、外部接続用ダウンポートコネクタ４３_１〜４３_４の全てと接続されている。よって、第２のホストコントローラ３２は、ＵＳＢ２．０規格の転送モードに対応した外部接続用ダウンポートコネクタの総数が４つであることを、システムソフトウェアに対して通知することができる。
【００７５】
また、例えば、第１のホストコントローラ３１が外部接続用ダウンポートコネクタ４３_２にデータを転送する場合、第１のホストコントローラ３１は、ポート情報格納部３３に格納されているポート情報を参照して、外部接続用ダウンポートコネクタ４３_２と接続されている第１のダウンポート端子３７_３にデータを転送する。このように、第１のホストコントローラ３１は、ポート情報格納部３３に格納されているポート情報を参照することで、パケットのルーティング処理を実施することができる。なお、第２のホストコントローラ３２についても同様である。
【００７６】
また、例えば、第１のダウンポート端子３７_３と第２のダウンポート端子３８_２の両方に接続されている外部接続用ダウンポートコネクタ４３_２にＵＳＢデバイス機器が接続された場合、第１のホストコントローラ３１は、接続されたＵＳＢデバイス機器がＵＳＢ３．０規格で規定された転送モードに対応しているか判断する。また、第２のホストコントローラ３２は、接続されたＵＳＢデバイス機器がＵＳＢ２．０規格で規定された転送モードに対応しているか判断する。そして、接続されたＵＳＢデバイス機器がＵＳＢ３．０規格で規定された転送モード（ＳＳモード）に対応している場合、第１のホストコントローラ３１は、第１のダウンポート端子３７_３および外部接続用ダウンポートコネクタ４３_２を介して、ＵＳＢ３．０規格で規定された転送モードでＵＳＢデバイス機器と通信をする。一方、接続されたＵＳＢデバイス機器がＵＳＢ３．０規格で規定された転送モードに対応していないがＵＳＢ２．０規格で規定された転送モードに対応している場合、第２のホストコントローラ３２は、第２のダウンポート端子３８_２および外部接続用ダウンポートコネクタ４３_２を介して、ＵＳＢ２．０規格で規定された転送モードでＵＳＢデバイス機器と通信をする。
【００７７】
背景技術で説明したように、ＵＳＢ３．０規格が策定されたことにより、転送速度が５Ｇｂｐｓであるスーパースピードモード（ＳＳモード）が新たに追加された。これに伴い、ＵＳＢインタフェースとして、従来のＵＳＢ２．０規格で用いられている転送速度（ＨＳモード、ＦＳモード、ＬＳモード）と、新たに追加されたＵＳＢ３．０規格で用いられている転送速度（ＳＳモード）とが共存しているインタフェースが必要とされていた。このため、複数のダウンポート端子を有するＵＳＢホストコントローラでは、ＵＳＢ３．０規格に準拠したホストコントローラとＵＳＢ２．０規格に準拠したホストコントローラとを並列に設ける必要があった。
【００７８】
しかしながら、ＵＳＢ３．０規格に準拠したホストコントローラとＵＳＢ２．０規格に準拠したホストコントローラとを備えるＵＳＢホストコントローラを搭載するシステム（実装基板）によっては、システムが必要とするＵＳＢ３．０規格のダウンポート端子の数と、ＵＳＢ２．０規格のダウンポート端子の数が異なる場合があった。また、ＵＳＢホストコントローラを搭載するシステムによっては、ＵＳＢ２．０規格のダウンポート端子のみに接続される外部接続用ダウンポートコネクタと、ＵＳＢ３．０規格のダウンポート端子とＵＳＢ２．０規格のダウンポート端子の両方に接続される外部接続用ダウンポートコネクタとが混在するなど、ＵＳＢホストコントローラを搭載するシステムに応じてシステム構成が異なっていた。よって、ＵＳＢホストコントローラを搭載するシステムに応じて、ＵＳＢ３．０規格のダウンポート端子とＵＳＢ２．０規格のダウンポート端子を適切に管理する必要があった。
【００７９】
そこで本実施の形態にかかるＵＳＢホストコントローラ３０では、第１のダウンポート端子３７_１〜３７_Ｎと外部接続用ダウンポートコネクタ４３_１〜４３_４との接続、および第２のダウンポート端子３８_１〜３８_Ｎと外部接続用ダウンポートコネクタ４３_１〜４３_４との接続に関するポート情報を格納することができるポート情報格納部３３を設けている。このように、ポート情報格納部３３を設けることで、第１のホストコントローラ３１および第２のホストコントローラ３２は、ＵＳＢホストコントローラ（半導体チップ）３０の実装形態（第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係）に応じたポート情報を取得することができる。そして、第１のホストコントローラ３１および第２のホストコントローラ３２は、このポート情報に基づいてデータ転送処理を実施することができる。よって、規格が異なる第１のホストコントローラ３１および第２のホストコントローラ３２が混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができる。
【００８０】
また、本実施の形態では、ポート情報格納部３３は、実装基板４５に設けられたメモリ４１からポート情報を取得している。よって、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を変更する場合、メモリ４１に格納されているポート情報を書き換えるのみでポート情報格納部３３のポート情報を変更することができる。したがって、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を柔軟に変更することができる。換言すると、ＵＳＢホストコントローラ（半導体チップ）３０の構成を変更することなく、ＵＳＢホストコントローラ（半導体チップ）３０の実装形態を変更することができる。
【００８１】
例えば、ＵＳＢホストコントローラを搭載した様々なシステムを提供するベンダーは、本実施の形態にかかるＵＳＢホストコントローラ３０を用いることで、同一のＵＳＢホストコントローラを用いて様々なシステムを提供することができる。
【００８２】
以上で説明した本実施の形態にかかる発明により、規格が異なるホストコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるＵＳＢホストコントローラおよびＵＳＢホストコントローラを含むシステムを提供することができる。
【００８３】
＜実施の形態３＞
次に、本発明の実施の形態３について説明する。図６は、本実施の形態にかかるＵＳＢハブコントローラを示すブロック図である。また、図７は、本実施の形態にかかるＵＳＢハブコントローラを搭載したシステムを示すブロック図である。本実施の形態にかかるＵＳＢハブコントローラおよびＵＳＢハブコントローラを搭載したシステムは、実施の形態１（図１参照）にかかるＵＳＢハブコントローラおよびＵＳＢハブコントローラを搭載したシステム（図２参照）と比べて、メモリインタフェース１６およびメモリ２１を備えていない点が異なる。これ以外は実施の形態１にかかるＵＳＢハブコントローラ（図１参照）およびＵＳＢハブコントローラを搭載したシステム（図２参照）と同様であるので、重複した説明は省略する。
【００８４】
図６に示すように、本実施の形態にかかるＵＳＢハブコントローラ５０は、第１のハブコントローラ５１、第２のハブコントローラ５２、ポート情報格納部５３、第１のアップポート端子５４、第２のアップポート端子５５、複数の第１のダウンポート端子５７_１〜５７_Ｎ、および複数の第２のダウンポート端子５８_１〜５８_Ｎを備える。ここで、Ｎは２以上の整数であり、第１および第２のダウンポート端子のそれぞれの数に対応している。
【００８５】
なお、図６に示す第１のハブコントローラ５１、第２のハブコントローラ５２、第１のアップポート端子５４、第２のアップポート端子５５、複数の第１のダウンポート端子５７_１〜５７_Ｎ、および複数の第２のダウンポート端子５８_１〜５８_Ｎはそれぞれ、図１に示した第１のハブコントローラ１１、第２のハブコントローラ１２、第１のアップポート端子１４、第２のアップポート端子１５、メモリインタフェース１６、複数の第１のダウンポート端子１７_１〜１７_Ｎ、および複数の第２のダウンポート端子１８_１〜１８_Ｎと同様であるので重複した説明は省略する。
【００８６】
図７は、図６に示したＵＳＢハブコントローラ５０を搭載したシステム６０（例えば、ＵＳＢハブ）の一例を示すブロック図である。つまり、図７に示すシステム６０は、外部接続用アップポートコネクタ６２および外部接続用ダウンポートコネクタ６３_１〜６３_４を備える実装基板６５に、半導体チップであるＵＳＢハブコントローラ５０を実装することで構成することができる。
【００８７】
なお、図７に示す外部接続用アップポートコネクタ６２および外部接続用ダウンポートコネクタ６３_１〜６３_４はそれぞれ、図２に示した外部接続用アップポートコネクタ２２および外部接続用ダウンポートコネクタ２３_１〜２３_４と同様であるので、重複した説明は省略する。
【００８８】
ＵＳＢハブコントローラ５０が備えるポート情報格納部５３は、第１のダウンポート端子５７_１〜５７_Ｎと外部接続用ダウンポートコネクタ６３_１〜６３_４との接続、および第２のダウンポート端子５８_１〜５８_Ｎと外部接続用ダウンポートコネクタ６３_１〜６３_４との接続に関するポート情報を格納することができる。
【００８９】
なお、ポート情報格納部５３に格納されているポート情報の一例については、図３の場合（実施の形態１参照）と同様であるので重複した説明は省略する。
【００９０】
本実施の形態において、ポート情報格納部５３は、図３に示すようなポート情報を、第１のアップポート端子５４および第１のハブコントローラ５１を介して、または第２のアップポート端子５５および第２のハブコントローラ５２を介して取得する。つまり、ＵＳＢハブコントローラ（半導体チップ）５０を実装基板６５に実装した後、システムソフトウェアやシステムファームウェアを用いて、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてポート情報格納部５３に書き込むことができる。このとき、ポート情報は、上流側から、外部接続用アップポートコネクタ６２、第１のアップポート端子５４、および第１のハブコントローラ５１を経由して、または外部接続用アップポートコネクタ６２、第２のアップポート端子５５、および第２のハブコントローラ５２を経由して、ポート情報格納部５３に供給される。
【００９１】
例えば、ＵＳＢハブコントローラ５０を搭載したシステム６０を構築したユーザがシステムソフトウェアやシステムファームウェアを書き換えることで、ポート情報格納部５３のポート情報を書き換えることができる。
【００９２】
なお、ポート情報格納部５３のこれ以外の構成および動作は実施の形態１で説明したポート情報格納部１３と同様であるので、重複した説明は省略する。
【００９３】
本実施の形態にかかるＵＳＢハブコントローラにおいても、実施の形態１にかかるＵＳＢハブコントローラと同様の効果を奏することができる。すなわち、規格が異なるハブコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるＵＳＢハブコントローラおよびＵＳＢハブコントローラを含むシステムを提供することができる。
【００９４】
特に、本実施の形態にかかるＵＳＢハブコントローラ５０では、ポート情報格納部５３が、第１のアップポート端子５４および第１のハブコントローラ５１を介して、または第２のアップポート端子５５および第２のハブコントローラ５２を介して、ポート情報を取得している。よって、ポート情報格納部５３が外部に設けられたメモリと通信をするためのメモリインタフェースを設ける必要がないため、装置構成を簡略化することができる。また、ＵＳＢハブコントローラ５０を含むシステム６０においても、ポート情報を格納したメモリや、当該メモリとＵＳＢハブコントローラ５０のメモリインタフェースとを結ぶ配線を設ける必要がなく、装置構成を簡略化することができる。
【００９５】
＜実施の形態４＞
次に、本発明の実施の形態４について説明する。図８は、本実施の形態にかかるＵＳＢホストコントローラを示すブロック図である。また、図９は、本実施の形態にかかるＵＳＢホストコントローラを搭載したシステムを示すブロック図である。本実施の形態にかかるＵＳＢホストコントローラおよびＵＳＢホストコントローラを搭載したシステムは、実施の形態２（図４参照）にかかるＵＳＢホストコントローラおよびＵＳＢホストコントローラを搭載したシステム（図５参照）と比べて、メモリインタフェース３６およびメモリ４１を備えていない点が異なる。これ以外は実施の形態２にかかるＵＳＢホストコントローラ（図４参照）およびＵＳＢホストコントローラを搭載したシステム（図５参照）と同様であるので、重複した説明は省略する。
【００９６】
図８に示すように、本実施の形態にかかるＵＳＢホストコントローラ７０は、第１のホストコントローラ７１、第２のホストコントローラ７２、ポート情報格納部７３、ホストインタフェース７４、複数の第１のダウンポート端子７７_１〜７７_Ｎ、および複数の第２のダウンポート端子７８_１〜７８_Ｎを備える。ここで、Ｎは２以上の整数であり、第１および第２のダウンポート端子のそれぞれの数に対応している。
【００９７】
なお、図８に示す第１のホストコントローラ７１、第２のホストコントローラ７２、ホストインタフェース７４、複数の第１のダウンポート端子７７_１〜７７_Ｎ、および複数の第２のダウンポート端子７８_１〜７８_Ｎはそれぞれ、図４に示した第１のホストコントローラ３１、第２のホストコントローラ３２、ホストインタフェース３４、複数の第１のダウンポート端子３７_１〜３７_Ｎ、および複数の第２のダウンポート端子３８_１〜３８_Ｎと同様であるので重複した説明は省略する。
【００９８】
図９は、図８に示したＵＳＢホストコントローラ７０を搭載したシステム８０の一例を示すブロック図である。つまり、図９に示すシステム８０は、外部接続用ダウンポートコネクタ８３_１〜８３_４を備える実装基板８５に、半導体チップであるＵＳＢホストコントローラ７０を実装することで構成することができる。
【００９９】
なお、図９に示す外部接続用ダウンポートコネクタ８３_１〜８３_４はそれぞれ、図５に示した外部接続用ダウンポートコネクタ４３_１〜４３_４と同様であるので、重複した説明は省略する。
【０１００】
ＵＳＢホストコントローラ７０が備えるポート情報格納部７３は、第１のダウンポート端子７７_１〜７７_Ｎと外部接続用ダウンポートコネクタ８３_１〜８３_４との接続、および第２のダウンポート端子７８_１〜７８_Ｎと外部接続用ダウンポートコネクタ８３_１〜８３_４との接続に関するポート情報を格納することができる。
【０１０１】
なお、ポート情報格納部７３に格納されているポート情報の一例については、図３の場合（実施の形態１参照）と同様であるので重複した説明は省略する。
【０１０２】
本実施の形態において、ポート情報格納部７３は、図３に示すようなポート情報を、ホストインタフェース７４および第１のホストコントローラ７１を介して、またはホストインタフェース７４および第２のホストコントローラ７２を介して取得する。つまり、ＵＳＢホストコントローラ（半導体チップ）７０を実装基板８５に実装した後、システムソフトウェアやシステムファームウェアを用いて、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係をポート情報としてポート情報格納部７３に書き込むことができる。このとき、ポート情報は、上流側（例えば、ＰＣ等）から、ホストインタフェース７４および第１のホストコントローラ７１を経由して、またはホストインタフェース７４および第２のホストコントローラ７２を経由して、ポート情報格納部７３に供給される。
【０１０３】
例えば、ＵＳＢホストコントローラ７０を搭載したシステム８０を構築したユーザがシステムソフトウェアやシステムファームウェアを書き換えることで、ポート情報格納部７３のポート情報を書き換えることができる。
【０１０４】
なお、ポート情報格納部７３のこれ以外の構成および動作は実施の形態２で説明したポート情報格納部３３と同様であるので、重複した説明は省略する。
【０１０５】
本実施の形態にかかるＵＳＢホストコントローラにおいても、実施の形態２にかかるＵＳＢホストコントローラと同様の効果を奏することができる。すなわち、規格が異なるホストコントローラが混在する場合であっても、搭載するシステムに応じて適切にポートを管理することができるＵＳＢホストコントローラおよびＵＳＢホストコントローラを含むシステムを提供することができる。
【０１０６】
特に、本実施の形態にかかるＵＳＢホストコントローラ７０では、ポート情報格納部７３が、ホストインタフェース７４および第１のホストコントローラ７１を介して、またはホストインタフェース７４および第２のホストコントローラ７２を介して、ポート情報を取得している。よって、ポート情報格納部７３が外部に設けられたメモリと通信をするためのメモリインタフェースを設ける必要がないため、装置構成を簡略化することができる。また、ＵＳＢホストコントローラ７０を含むシステム８０においても、ポート情報を格納したメモリや、当該メモリとＵＳＢホストコントローラ７０のメモリインタフェースとを結ぶ配線を設ける必要がなく、装置構成を簡略化することができる。
【０１０７】
＜実施の形態５＞
次に、本発明の実施の形態５について説明する。図１０は、本実施の形態にかかるＵＳＢハブコントローラを含むシステムを示すブロック図である。図１０に示すシステム９０（例えば、ＵＳＢハブ）は、実施の形態１にかかるＵＳＢハブコントローラ１０を含み構成されている。なお、本実施の形態で用いているＵＳＢハブコントローラ１０の構成および動作については、実施の形態１で説明したＵＳＢハブコントローラ１０と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
【０１０８】
図１０に示すシステム９０は、ＵＳＢハブコントローラ１０、ルート制御部９１、外部接続用アップポートコネクタ９２、外部接続用ダウンポートコネクタ９３_１〜９３_４、および切り替え回路９４を備える。システム９０は、ルート制御部９１、外部接続用アップポートコネクタ９２、外部接続用ダウンポートコネクタ９３_１〜９３_４、および切り替え回路９４を備える実装基板９５に、半導体チップであるＵＳＢハブコントローラ１０を実装することで構成することができる。
【０１０９】
ＵＳＢハブコントローラ１０が備える第１のアップポート端子１４および第２のアップポート端子１５は、外部接続用アップポートコネクタ９２に接続されている。ここで、外部接続用アップポートコネクタ９２は、システム９０の上流側に位置するＵＳＢホストコントローラ等と接続されるコネクタである。
【０１１０】
切り替え回路９４は、複数の外部接続用ダウンポートコネクタ９３_１〜９３_４と複数の第１のダウンポート端子１７_１〜１７_Ｎとの接続、および複数の外部接続用ダウンポートコネクタ９３_１〜９３_４と複数の第２のダウンポート端子１８_１〜１８_Ｎとの接続を切り替えることができる。
【０１１１】
例えば、切り替え回路９４は、第１のダウンポート端子１７_１と各々の外部接続用ダウンポートコネクタ９３_１〜９３_４との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第１のダウンポート端子１７_１と外部接続用ダウンポートコネクタ９３_１〜９３_４との接続・非接続を切り替えることができる。例えば、第１のダウンポート端子１７_１と外部接続用ダウンポートコネクタ９３_１とを接続する場合は、第１のダウンポート端子１７_１と外部接続用ダウンポートコネクタ９３_１との間にあるスイッチ素子をオン状態とし、これ以外のスイッチ素子（つまり、第１のダウンポート端子１７_１と外部接続用ダウンポートコネクタ９３_２〜９３_４との間にあるスイッチ素子）はオフ状態とする。第１のダウンポート端子１７_２〜１７_Ｎについても同様である。
【０１１２】
なお、第１のダウンポート端子１７_１〜１７_Ｎのそれぞれは、１つの外部接続用ダウンポートコネクタとのみ接続される。つまり、１つの第１のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第１のダウンポート端子１７_１を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第１のダウンポート端子１７_１と各々の外部接続用ダウンポートコネクタ９３_１〜９３_４との間にある全てのスイッチ素子をオフ状態とする。
【０１１３】
同様に、切り替え回路９４は、第２のダウンポート端子１８_１と各々の外部接続用ダウンポートコネクタ９３_１〜９３_４との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第２のダウンポート端子１８_１と外部接続用ダウンポートコネクタ９３_１〜９３_４との接続・非接続を切り替えることができる。第２のダウンポート端子１８_２〜１８_Ｎについても同様である。
【０１１４】
なお、第２のダウンポート端子１８_１〜１８_Ｎのそれぞれは、１つの外部接続用ダウンポートコネクタとのみ接続される。つまり、１つの第２のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第２のダウンポート端子１８_１を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第２のダウンポート端子１８_１と各々の外部接続用ダウンポートコネクタ９３_１〜９３_４との間にある全てのスイッチ素子をオフ状態とする。
【０１１５】
ルート制御部９１は、複数の外部接続用ダウンポートコネクタ９３_１〜９３_４と複数の第１のダウンポート端子１７_１〜１７_Ｎとの接続、および複数の外部接続用ダウンポートコネクタ９３_１〜９３_４と複数の第２のダウンポート端子１８_１〜１８_Ｎとの接続を制御する。例えば、ルート制御部９１は、設定用の機器から供給されたポート情報に基づいて切り替え回路９４を制御することで、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替えることができる。ポート情報は、例えば端子９６を介してルート制御部９１に供給される。
【０１１６】
また、ルート制御部９１は、メモリインタフェース１６を介してポート情報格納部１３にポート情報を供給する。ポート情報格納部１３は、第１のハブコントローラ１１および第２のハブコントローラ１２にポート情報を供給する。これにより、第１のハブコントローラ１１および第２のハブコントローラ１２は、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続状態を把握することができる。なお、ポート情報格納部１３に格納されているポート情報の一例については、図３の場合（実施の形態１参照）と同様であるので重複した説明は省略する。
【０１１７】
第１のハブコントローラ１１および第２のハブコントローラ１２はそれぞれ、ポート情報格納部１３に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第１のハブコントローラ１１および第２のハブコントローラ１２は、ポート情報格納部１３に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、パケットのルーティング処理を実施したりする。
【０１１８】
なお、本実施の形態にかかるＵＳＢハブコントローラを含むシステムでは、例えば図１１に示すように、ルート制御部９１を実装基板９５の外に設け、メモリインタフェース１６を省略してもよい。この場合、本実施の形態にかかるＵＳＢハブコントローラを含むシステム９０'は、実施の形態３にかかるＵＳＢハブコントローラ５０を含み構成される。
【０１１９】
図１１に示すシステム９０'では、ルート制御部は、切り替え回路９４を制御するための信号を、端子９７を介して切り替え回路９４に供給する。また、ルート制御部は、外部接続用アップポートコネクタ９２、第１のアップポート端子５４、および第１のハブコントローラ５１を介して、または外部接続用アップポートコネクタ９２、第２のアップポート端子５５、および第２のハブコントローラ５２を介して、ポート情報をポート情報格納部５３に供給する。
【０１２０】
本実施の形態にかかるＵＳＢハブコントローラを含むシステムでは、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替え回路９４を用いて柔軟に切り替えることができる。また、ポート情報格納部に切り替え回路９４の接続状態に対応したポート情報を格納することができる。よって、実装基板９５にＵＳＢハブコントローラ１０、５０を実装した後であっても、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を容易に変更することができる。
【０１２１】
＜実施の形態６＞
次に、本発明の実施の形態６について説明する。図１２は、本実施の形態にかかるＵＳＢホストコントローラを含むシステムを示すブロック図である。図１２に示すシステム１００は、実施の形態２にかかるＵＳＢホストコントローラ３０を含み構成されている。なお、本実施の形態で用いているＵＳＢホストコントローラ３０の構成および動作については、実施の形態２で説明したＵＳＢホストコントローラ３０と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
【０１２２】
図１２に示すシステム１００は、ＵＳＢホストコントローラ３０、ルート制御部１０１、外部接続用ダウンポートコネクタ１０３_１〜１０３_４、および切り替え回路１０４を備える。システム１００は、ルート制御部１０１、外部接続用ダウンポートコネクタ１０３_１〜１０３_４、および切り替え回路１０４を備える実装基板１０５に、半導体チップであるＵＳＢホストコントローラ３０を実装することで構成することができる。
【０１２３】
ＵＳＢホストコントローラ３０が備えるホストインタフェース３４は上流側においてバス（不図示）と接続されている。
【０１２４】
切り替え回路１０４は、複数の外部接続用ダウンポートコネクタ１０３_１〜１０３_４と複数の第１のダウンポート端子３７_１〜３７_Ｎとの接続、および複数の外部接続用ダウンポートコネクタ１０３_１〜１０３_４と複数の第２のダウンポート端子３８_１〜３８_Ｎとの接続を切り替えることができる。
【０１２５】
例えば、切り替え回路１０４は、第１のダウンポート端子３７_１と各々の外部接続用ダウンポートコネクタ１０３_１〜１０３_４との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第１のダウンポート端子３７_１と外部接続用ダウンポートコネクタ１０３_１〜１０３_４との接続・非接続を切り替えることができる。例えば、第１のダウンポート端子３７_１と外部接続用ダウンポートコネクタ１０３_１とを接続する場合は、第１のダウンポート端子３７_１と外部接続用ダウンポートコネクタ１０３_１との間にあるスイッチ素子をオン状態とし、これ以外のスイッチ素子（つまり、第１のダウンポート端子３７_１と外部接続用ダウンポートコネクタ１０３_２〜１０３_４との間にあるスイッチ素子）はオフ状態とする。第１のダウンポート端子３７_２〜３７_Ｎについても同様である。
【０１２６】
なお、第１のダウンポート端子３７_１〜３７_Ｎのそれぞれは、１つの外部接続用ダウンポートコネクタとのみ接続される。つまり、１つの第１のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第１のダウンポート端子３７_１を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第１のダウンポート端子３７_１と各々の外部接続用ダウンポートコネクタ１０３_１〜１０３_４との間にある全てのスイッチ素子をオフ状態とする。
【０１２７】
同様に、切り替え回路１０４は、第２のダウンポート端子３８_１と各々の外部接続用ダウンポートコネクタ１０３_１〜１０３_４との間にスイッチ素子を有し、このスイッチ素子のオン・オフを切り替えることで、第２のダウンポート端子３８_１と外部接続用ダウンポートコネクタ１０３_１〜１０３_４との接続・非接続を切り替えることができる。第２のダウンポート端子３８_２〜３８_Ｎについても同様である。
【０１２８】
なお、第２のダウンポート端子３８_１〜３８_Ｎのそれぞれは、１つの外部接続用ダウンポートコネクタとのみ接続される。つまり、１つの第２のダウンポート端子が複数の外部接続用ダウンポートコネクタと接続されることはない。また、第２のダウンポート端子３８_１を外部接続用ダウンポートコネクタのいずれとも接続しない場合は、第２のダウンポート端子３８_１と各々の外部接続用ダウンポートコネクタ１０３_１〜１０３_４との間にある全てのスイッチ素子をオフ状態とする。
【０１２９】
ルート制御部１０１は、複数の外部接続用ダウンポートコネクタ１０３_１〜１０３_４と複数の第１のダウンポート端子３７_１〜３７_Ｎとの接続、および複数の外部接続用ダウンポートコネクタ１０３_１〜１０３_４と複数の第２のダウンポート端子３８_１〜３８_Ｎとの接続を制御する。例えば、ルート制御部１０１は、設定用の機器から供給されたポート情報に基づいて切り替え回路１０４を制御することで、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替えることができる。ポート情報は、例えば端子１０６を介してルート制御部１０１に供給される。
【０１３０】
また、ルート制御部１０１は、メモリインタフェース３６を介してポート情報格納部３３にポート情報を供給する。ポート情報格納部３３は、第１のホストコントローラ３１および第２のホストコントローラ３２にポート情報を供給する。これにより、第１のホストコントローラ３１および第２のホストコントローラ３２は、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続状態を把握することができる。なお、ポート情報格納部３３に格納されているポート情報の一例については、図３の場合（実施の形態１参照）と同様であるので重複した説明は省略する。
【０１３１】
第１のホストコントローラ３１および第２のホストコントローラ３２はそれぞれ、ポート情報格納部３３に格納されているポート情報に基づきデータ転送処理を実施する。つまり、第１のホストコントローラ３１および第２のホストコントローラ３２は、ポート情報格納部３３に格納されているポート情報に基づき、システムソフトウェアに対して外部接続用ダウンポートコネクタの総数を通知したり、パケットのルーティング処理を実施したりする。
【０１３２】
なお、本実施の形態にかかるＵＳＢホストコントローラを含むシステムでは、例えば図１３に示すように、ルート制御部１０１を実装基板１０５の外に設け、メモリインタフェース３６を省略してもよい。この場合、本実施の形態にかかるＵＳＢホストコントローラを含むシステム１００'は、実施の形態４にかかるＵＳＢホストコントローラ７０を含み構成される。
【０１３３】
図１３に示すシステム１００'では、ルート制御部は、切り替え回路１０４を制御するための信号を、端子１０７を介して切り替え回路１０４に供給する。また、ルート制御部は、ホストインタフェース７４および第１のホストコントローラ７１を介して、またはホストインタフェース７４および第２のホストコントローラ７２を介して、ポート情報をポート情報格納部７３に供給する。
【０１３４】
本実施の形態にかかるＵＳＢホストコントローラを含むシステムでは、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続を切り替え回路１０４を用いて柔軟に切り替えることができる。また、ポート情報格納部に切り替え回路１０４の接続状態に対応したポート情報を格納することができる。よって、実装基板１０５にＵＳＢホストコントローラ３０、７０を実装した後であっても、第１および第２のダウンポート端子と外部接続用ダウンポートコネクタとの接続関係を容易に変更することができる。
【０１３５】
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
【符号の説明】
【０１３６】
１０  ＵＳＢハブコントローラ
１１  第１のハブコントローラ
１２  第２のハブコントローラ
１３  ポート情報格納部
１４  第１のアップポート端子
１５  第２のアップポート端子
１６  メモリインタフェース
１７_１〜１７_Ｎ  第１のダウンポート端子
１８_１〜１８_Ｎ  第２のダウンポート端子
２０  システム
２１  メモリ
２２  外部接続用アップポートコネクタ
２３_１〜２３_４  外部接続用ダウンポートコネクタ
２５  実装基板
３０  ＵＳＢホストコントローラ
３１  第１のホストコントローラ
３２  第２のホストコントローラ
３３  ポート情報格納部
３４  ホストインタフェース
３６  メモリインタフェース
３７_１〜３７_Ｎ  第１のダウンポート端子
３８_１〜３８_Ｎ  第２のダウンポート端子
【図１】
0005763519.tif 000002
【図２】
0005763519.tif 000003
【図３】
0005763519.tif 000004
【図４】
0005763519.tif 000005
【図５】
0005763519.tif 000006
【図６】
0005763519.tif 000007
【図７】
0005763519.tif 000008
【図８】
0005763519.tif 000009
【図９】
0005763519.tif 000010
【図１０】
0005763519.tif 000011
【図１１】
0005763519.tif 000012
【図１２】
0005763519.tif 000013
【図１３】
0005763519.tif 000014