(57)【要約】【課題】ＵＳＢ３．０ホストまたはＵＳＢ３．０ハブの電力消費を削減する。【解決手段】ＳＳ（ＳＳ：Ｓｕｐｅｒ  Ｓｐｅｅｄ）に関連する処理を行うＳＳブロックと、ＵＳＢ２．０に関連する処理を行うＵＳＢ２．０ブロックとを有するＵＳＢ３．０ホストまたはＵＳＢ３．０ハブに対して、ＤＳ（ＤＳ：Ｄｏｗｎｓｔｒｅａｍ  Ｆａｃｉｎｇ）ポートに接続されたＵＳＢ機器であるＤＳ機器とのＳＳ接続が確立したときに、ＵＳＢ２．０ブロックに、該ＤＳ機器と接続されたＤＳポートに対するＵＳＢ２．０接続処理を停止させる。また、ＤＳ機器とのＵＳＢ２．０接続が確立したときに、ＳＳブロックに、該ＤＳ機器と接続されたＤＳポートに対するＳＳ接続処理を停止させる。【選択図】図４
2013105450.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のＤＳポート（ＤＳ：Ｄｏｗｎｓｔｒｅａｍ  Ｆａｃｉｎｇ）を有するＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）３．０装置であって、
ＳＳ（ＳＳ：Ｓｕｐｅｒ  Ｓｐｅｅｄ）に関連する処理を行うＳＳブロックと、
ＵＳＢ２．０に関連する処理を行うＵＳＢ２．０ブロックとを備え、
前記ＳＳブロックは、
各ＤＳポートに対して、該ＤＳポートに接続されたＵＳＢ機器であるＤＳ機器とのＳＳ接続が確立したときに、該ＤＳ機器と接続されたＤＳポートについて第１の制御信号を前記ＵＳＢ２．０ブロックに出力し、
前記ＵＳＢ２．０ブロックから第２の制御信号を受信したときに、該第２の制御信号が示すＤＳポートに対するＳＳ接続処理を停止し、
前記ＵＳＢ２．０ブロックは、
前記ＤＳ機器とのＵＳＢ２．０接続が確立したときに、該ＤＳ機器と接続されたＤＳポートについて前記第２の制御信号を出力し、
前記ＳＳブロックから前記第１の制御信号を受信したときに、該第１の制御信号が示すＤＳポートに対するＵＳＢ２．０接続処理を停止することを特徴とするＵＳＢ３．０装置。
【請求項２】
前記ＳＳブロックは、前記ＤＳ機器とのＳＳ接続が確立し、かつ、該ＤＳ機器がＵＳＢハブではない場合にのみ、該ＤＳ機器と接続されたＤＳポートについての前記第１の制御信号を前記ＵＳＢ２．０ブロックに出力することを特徴とする請求項１に記載のＵＳＢ３．０装置。
【請求項３】
前記ＳＳブロックは、前記ＤＳ機器からのパケットを解析し、Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストに対する前記ＤＳ機器からの応答パケットのｂＤｅｖｉｃｅＣｌａｓｓフィールドを参照することにより前記ＤＳ機器がＵＳＢハブであるか否かを確認することを特徴とする請求項２に記載のＵＳＢ３．０装置。
【請求項４】
前記ＵＳＢ２．０ブロックは、前記ＤＳ機器とのＵＳＢ２．０接続が確立し、かつ、該ＤＳ機器がＳＳに対応しないときにのみ、該ＤＳ機器と接続されたＤＳポートについて前記第２の制御信号を前記ＳＳブロックに出力することを特徴とする請求項１から３のいずれか１項に記載のＵＳＢ３．０装置。
【請求項５】
前記ＵＳＢ２．０ブロックは、前記ＤＳ機器からのパケットを解析し、Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストに対する前記ＤＳ機器からの応答パケットのｂｃｄＵＳＢフィールドを参照することにより前記ＤＳ機器がＳＳに対応するか否かを確認することを特徴とする請求項４に記載のＵＳＢ３．０装置。
【請求項６】
ＤＳポート電源供給制御部をさらに備え、
前記ＳＳブロックは、
前記第１の制御信号を前記ＤＳポート電源供給部に出力し、
ＤＳポート毎に設けられており、該ＤＳポートに接続されたＤＳ機器とのＳＳ接続処理を含む、該ＤＳポートにのみ関連する処理を行うＤＳポートＳＳ制御部を有し、
前記ＵＳＢ２．０ブロックは、
前記第２の制御信号を前記ＤＳポート電源制御部に出力し、
ＤＳポート毎に設けられており、該ＤＳポートに接続されたＤＳ機器とのＵＳＢ２．０接続処理を含む、該ＤＳポートにのみ関連する処理を行うＤＳポートＵＳＢ２．０制御部を有し、
前記ＤＳポート電源供給制御部は、
前記第１の制御信号に応じて、該第１の制御信号が示すＤＳポートに対応する前記ＤＳポートＵＳＢ２．０制御部への電源供給を停止し、
前記第２の制御信号に応じて、該第２の制御信号が示すＤＳポートに対応する前記ＤＳポートＳＳ制御部への電源供給を停止することを特徴とする請求項１から５のいずれか１項に記載のＵＳＢ３．０装置。
【請求項７】
前記ＳＳブロックと前記ＵＳＢ２．０ブロックへの電源供給を制御するブロック電源制御部をさらに備え、
前記ブロック電源制御部は、
全てのＤＳポートについて前記第１の制御信号が出力されたときに前記ＵＳＢ２．０ブロックへの電源供給を停止し、
全てのＤＳポートについて前記第２の制御信号が出力されたときに前記ＳＳブロックへの電源供給を停止することを特徴とする請求項１から６のいずれか１項に記載のＵＳＢ３．０装置。
【請求項８】
１つ以上のＤＳポート（ＤＳ：Ｄｏｗｎｓｔｒｅａｍ  Ｆａｃｉｎｇ）と、ＳＳ（ＳＳ：Ｓｕｐｅｒ  Ｓｐｅｅｄ）に関連する処理を行うＳＳブロックと、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２．０に関連する処理を行うＵＳＢ２．０ブロックとを有するＵＳＢ３．０装置に対して、
ＤＳポートに接続されたＵＳＢ機器であるＤＳ機器とのＳＳ接続が確立したときに、前記ＵＳＢ２．０ブロックに、該ＤＳ機器と接続されたＤＳポートに対するＵＳＢ２．０接続処理を停止させ、
前記ＤＳ機器とのＵＳＢ２．０接続が確立したときに、前記ＳＳブロックに、該ＤＳ機器と接続されたＤＳポートに対するＳＳ接続処理を停止させることを特徴とする制御方法。
【請求項９】
前記ＤＳ機器とのＳＳ接続が確立し、かつ、該ＤＳ機器がＵＳＢハブではない場合にのみ、前記ＵＳＢ２．０ブロックに、該ＤＳ機器と接続されたＤＳポートに対するＵＳＢ２．０接続処理を停止させることを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記ＤＳ機器からのパケットを解析し、Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストに対する前記ＤＳ機器からの応答パケットのｂＤｅｖｉｃｅＣｌａｓｓフィールドを参照することにより前記ＤＳ機器がＵＳＢハブであるか否かを確認することを特徴とする請求項９に記載の制御方法。
【請求項１１】
前記ＤＳ機器とのＵＳＢ２．０接続が確立し、かつ、該ＤＳ機器がＳＳに対応しないときにのみ、前記ＳＳブロックに、該ＤＳ機器と接続されたＤＳポートに対するＳＳ接続処理を停止させることを特徴とする請求項８から１０のいずれか１項に記載の制御方法。
【請求項１２】
前記ＤＳ機器からのパケットを解析し、Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストに対する前記ＤＳ機器からの応答パケットのｂｃｄＵＳＢフィールドを参照することにより前記ＤＳ機器がＳＳに対応するか否かを確認することを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記ＳＳブロックは、ＤＳポート毎に設けられたＤＳポートＳＳ制御部を有し、該ＤＳポートＳＳ制御部が、該ＤＳポートに接続されたＤＳ機器とのＳＳ接続処理を含む、該ＤＳポートにのみ関連する処理を行い、
前記ＵＳＢ２．０ブロックは、ＤＳポート毎に設けられたＤＳポートＵＳＢ２．０制御部を有し、該ＤＳポートＵＳＢ２．０制御部が、該ＤＳポートに接続されたＤＳ機器とのＵＳＢ２．０接続処理を含む、該ＤＳポートにのみ関連する処理を行い、
前記ＤＳポートＵＳＢ２．０制御部への電源供給を停止することにより該ＤＳポートＵＳＢ２．０制御部によるＵＳＢ２．０接続処理を停止させ、
前記ＤＳポートＳＳ制御部への電源供給を停止することにより該ＤＳポートＳＳ制御部によるＳＳ接続処理を停止させることを特徴とする請求項８から１２のいずれか１項に記載の制御方法。
【請求項１４】
全てのＤＳポートに関して、ＵＳＢ２．０接続処理を停止させる条件が満たされたときに、前記ＵＳＢ２．０ブロックへの電源供給を停止し、
全てのＤＳポートに関して、ＳＳ接続処理を停止させる条件が満たされたときに、前記ＳＳブロックへの電源供給を停止することを特徴とする請求項８から１３のいずれか１項に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＳポート（ＤＳ：Ｄｏｗｎｓｔｒｅａｍ  Ｆａｃｉｎｇ）を有するＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）３．０装置の電力消費を制御する技術に関する。
【背景技術】
【０００２】
ＵＳＢ規格の誕生以来、ＵＳＢ機器の開発が盛んに行われ、様々な技術が提案されている（特許文献１、特許文献２）。
【０００３】
ＵＳＢ機器の普及に伴い、ＵＳＢ規格も進化し続け、ＵＳＢ２．０（非特許文献１）を経て、現在の最新のＵＳＢ３．０（非特許文献２）に至っている。
【０００４】
ＵＳＢ３．０は、ＵＳＢ２．０と下位互換性を有し、ＵＳＢ２.０のロースピード、フルスピード、ハイスピードに加え、５Ｇｂｐｓの超高速転送が可能になるスーパースピードが追加されている。以下、ロースピード、フルスピード、ハイスピード、スーパースピードを夫々ＬＳ、ＦＳ、ＨＳ、ＳＳとも表記する。
【０００５】
ＳＳ通信を実現するために、ＵＳＢ３．０では、様々な工夫がなされている。例えば、ＵＳＢ２.０で使われているＵＴＰ（Ｕｎｓｈｉｅｌｄｅｄ  Ｔｗｉｓｔ  Ｐａｉｒ）ケーブルをＳＳ通信に使うのでは減衰が大き過ぎて正しく通信できないため、ＵＳＢ３．０では、ＵＳＢ２．０の通信用として同じ規格のＵＴＰケーブルはそのままにして、別にＳＳに対応する通信線として、２対のＳＤＰ（Ｓｈｉｅｌｄｅｄ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐａｉｒ）ケーブルが追加されている。
【０００６】
また、非特許文献２におけるＦｉｇｕｒｅ１０−３に対して符号を追加した図１５が示すように、ＵＳＢ３．０機器の回路ブロックでは、ＵＳＢ２．０のブロック（Ｎｏｎ−ＳｕｐｅｒＳｐｅｅｄ部分）とは別個に、ＳＳ用のブロック（ＳｕｐｅｒＳｐｅｅｄ部分）が追加されている。
【０００７】
例えば、ＵＳＢ３．０ホスト１０は、ＳＳ用のブロック（ＳＳ部分１２）と、ＵＳＢ２．０のブロック（ＵＳＢ２．０部分１４）を有する。また、ＵＳＢ３．０ハブ２０は、ＳＳ用のブロック（ＳＳハブ２２）と、ＵＳＢ２．０のブロック（ＵＳＢ２．０ハブ２４）を有する。同様に、ＵＳＢ３．０デバイス３０は、ＳＳ用のブロック（ＳＳ部分３２）と、ＵＳＢ２．０のブロック（ＵＳＢ２．０部分３４）を有する。
【０００８】
本明細書の説明において、「ＵＳＢ機器」は、ＵＳＢ規格に準拠したホスト（ＵＳＢホスト）、ハブ（ＵＳＢハブ）、デバイス（ＵＳＢデバイス）を意味する。ＵＳＢホストはＤＳポートのみを有し、ＵＳＢハブはＵＳ（Ｕｐｓｔｒｅａｍ  Ｆａｃｉｎｇ）ポートとＤＳポートの両方を有し、ＵＳＢデバイスは、ＵＳポートのみを有する。また、ＵＳＢホストは、「ルートハブ」と定義されており、ＤＳポートに対する制御に関して、ＵＳＢハブと同様の機能を有する。
【０００９】
ここで、ＵＳＢ３．０ハブ２０におけるＳＳハブ２２とＵＳＢ２．０ハブ２４が行うＤＳポートへの制御を説明する。なお、これらの機能は、ＵＳＢ３．０ホスト１０のＳＳ部分１２とＵＳＢ２．０部分１４にも備えられている。
【００１０】
まず、図１６〜図１８を参照して、ＳＳハブ２２が行うＤＳポート７０への制御を説明する。
図１６は、非特許文献２におけるＦｉｇｕｒｅ１０−１に対して符号を追加した図である。図１６に示すＵＳＢ３．０ハブ２０は、ＵＳポート５０、ＳＳハブ２２、ＵＳＢ２．０ハブ２４、Ｖｂｕｓ制御ロジック部（以下「ＶＣＬブロック」という）６０、１つ以上（図示では４つ）のＤＳポート７０を備える。ＵＳＢ３．０ハブは、各ＤＳポート７０に対して同様の制御を行う。
【００１１】
図１７は、非特許文献２におけるＦｉｇｕｒｅ１０−９の一部を切り取って符号を追加したものである。ＳＳハブ２２は、ＤＳポート７０に対向のＵＳＢ機器（ここではＵＳＢハブまたはＵＳＢデバイス）が接続されると、該ＤＳポート７０のステートを「ＤＳＰＯＲＴ.Ｐｏｗｅｒｅｄ−ｏｆｆ」ステート（Ｓ１０）から「ＤＳＰＯＲＴ.Ｄｉｓｃｏｎｎｅｃｔｅｄ」ステート（リンク層においては「Ｒｘ．Ｄｅｔｅｃｔ」ステート）に遷移させる（Ｓ１２）。
【００１２】
「Ｒｘ．Ｄｅｔｅｃｔ」ステートは、ＳＳ接続に対応するリンクパートナーの存在を探すステートである。この「Ｒｘ．Ｄｅｔｅｃｔ」ステートにおいて、ＵＳＢ３．０機器は、「Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ」と呼ばれる処理を行って、ＳＳの送受信ラインに「Ｒｘ．Ｔｅｒｍｉｎａｔｉｏｎ」と呼ばれる終端抵抗の有無を検出する。
【００１３】
図１８は、非特許文献２におけるＦｉｇｕｒｅ７−５に対して符号を追加したものであり、「Ｒｘ．Ｄｅｔｅｃｔ」ステートのサブステートマシンを示す。図示のように、ＤＳポート７０が「Ｒｘ．Ｒｅｓｅｔ」ステート（Ｓ２０）を経由して「Ｒｘ．Ｄｅｔｅｃｔ．Ａｃｔｉｖｅ」ステート（Ｓ２２）に遷移した後に、「Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ」が成功すれば、ＳＳハブ２２は、該ＤＳポート７０のステートを「Ｐｏｌｌｉｎｇ」に遷移させ（Ｓ２２→Ｓ３０）、ＳＳ接続手順を進める。一方、「Ｒｘ．Ｄｅｔｅｃｔ．Ａｃｔｉｖｅ」ステート（Ｓ２２）において「Ｒｘ．Ｔｅｒｍｉｎａｔｉｏｎ」を検出できず、「Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ」が失敗した場合には、ＳＳハブ２２は、該ＤＳポート７０を一旦「Ｒｘ．Ｄｅｔｅｃｔ．Ｑｕｉｅｔ」（Ｓ２４）に遷移させるが、所定時間（１２ｍｓ）経過後に再度「Ｒｘ．Ｄｅｔｅｃｔ．Ａｃｔｉｖｅ」ステート（Ｓ２２）に遷移させて「Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ」を行わせる。すなわち、「Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ」が失敗した場合に、ＳＳハブ２２は、１２ｍｓ毎に対向の終端抵抗の検出を繰り返させる。
【００１４】
次に、図１９を参照して、ＵＳＢ２．０ハブ２４が行うＤＳポート７０への制御を説明する。図１９は、非特許文献１におけるＦｉｇｕｒｅ１１−１０が示すＵＳＢ２．０ハブのＤＳポートのステートマシン図の一部を切り取って符号を追加したものである。
【００１５】
ＵＳＢ２．０ハブ２４は、ＤＳポート７０に対向のＵＳＢ機器（ここではＵＳＢハブまたはＵＳＢデバイス）が接続されているときに、ＵＳＢ２．０のリンク（ＬＳ、ＦＳ、ＨＳのいずれかに対応するリンク）が確立されていないと、該ＤＳポート７０のステートを「Ｄｉｓｃｏｎｎｅｃｔｅｄ」（図１９におけるＳ５０）に留め続け、ＵＳＢ２．０接続を行うために対向の終端抵抗の検出を繰り返させる。なお、ＵＳＢ２．０ハブ２４の検出対象となる終端抵抗と、ＳＳハブ２２の検出対象となる終端抵抗とは、互いに異なるものである。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１０−２７０７３号公報
【特許文献２】特開２００９−４８４４４号公報
【非特許文献】
【００１７】
【非特許文献１】Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｒｅｖｉｓｉｏｎ  ２.０，Ａｐｒｉｌ  ２７，２０００
【非特許文献２】Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  ３.０  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｒｅｖｉｓｉｏｎ  １.０，Ｎｏｖｅｍｂｅｒ  １２，２００８
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ここで、図１６に示すＵＳＢ３．０ハブ２０において、あるＤＳポート７０にＵＳＢ機器例えばＵＳＢデバイスが接続されている場合を考える。
【００１９】
このＵＳＢデバイスがＵＳＢ２．０に準拠し、ＳＳに対応しないものであるときに、ＳＳハブ２２は、終端抵抗の検出を行い、ＳＳ接続を試みるものの、終端抵抗の検出ないしＳＳ接続ができない。一方、ＵＳＢ２．０ハブ２４は、終端抵抗の検出に成功すると共に、その後のＵＳＢ２．０接続手順を実行することにより該ＵＳＢデバイスとのＵＳＢ２．０接続に成功する。ＵＳＢ２．０接続の成功は、ＵＳＢ２．０接続の確立と同様に、ＬＳ、ＦＳ、ＨＳのいずれかのモードでのリンクアップの確立を意味する。なお、ＳＳ接続の成功も、ＳＳ接続の確立と同様に、ＳＳモードでのリンクアップの確立を意味する。
【００２０】
この場合、該ＵＳＢデバイスとのＳＳ接続が不可能であるにも関わらず、図１８のステートマシンに従うと、ＳＳハブ２２は、該ＵＳＢデバイスに対して存在しない終端抵抗の検出を実行し続ける。これでは、無駄な電力を消費してしまうという問題がある。
【００２１】
また、上記ＵＳＢデバイスがＵＳＢ３．０に準拠し、すなわちＳＳ接続に対応するものであるときに、ＳＳハブ２２は、終端抵抗の検出に成功すると共に、その後のＳＳ接続手順を実行することにより該ＵＳＢデバイスとのＳＳ接続に成功する。このとき、該ＵＳＢデバイスが、ＵＳＢ２．０接続のための終端抵抗をアクティブにしないため、ＵＳＢ２．０ハブ２４は、終端抵抗を検出することができない。なお、ＵＳＢデバイスによるＵＳＢ２．０接続のための終端抵抗をアクティブにすることとは、ＨＳ接続またはＦＳ接続の場合には、該ＵＳＢデバイスの受信部に設けられた２つの差動信号線（Ｄ＋、Ｄ−）のうちのＤ＋をプルアップ（ｐｕｌｌ−ｕｐ）し、ＬＳ接続の場合には、Ｄ−をプルアップすることを意味する。
【００２２】
このとき、該ＵＳＢデバイスに対してＵＳＢ２．０接続のための終端抵抗を検出できないにも関わらず、図１９のステートマシンに従うと、ＵＳＢ２．０ハブ２４は、終端抵抗の検出を実行し続け、無駄な電力を消費してしまう。
【課題を解決するための手段】
【００２３】
本発明の１つの態様は、１つ以上のＤＳポート、ＳＳに関連する処理を行うＳＳブロック、ＵＳＢ２．０に関連する処理を行うＵＳＢ２．０ブロックを備えるＵＳＢ３．０装置の制御方法である。ＤＳポートを備えることは、該ＵＳＢ３．０装置が、ＵＳＢ３．０ホストとＵＳＢ３．０ハブのいずれかであることを意味する。
【００２４】
該制御方法は、ＤＳポートに接続されたＵＳＢ機器（以下「ＤＳ機器」という）とのＳＳ接続が確立したときに、ＵＳＢ２．０ブロックに、該ＤＳ機器と接続されたＤＳポートに対するＵＳＢ２．０接続処理を停止させ、前記ＤＳ機器とのＵＳＢ２．０接続が確立したときに、前記ＳＳブロックに、該ＤＳ機器と接続されたＤＳポートに対するＳＳ接続処理を停止させる。
【００２５】
なお、上記態様の制御方法を装置に置換えて表現したもの、該方法をコンピュータに実行せしめるプログラム、該方法を実行するＵＳＢ３．０ホストまたはＵＳＢ３．０ハブなども、本発明の態様としては有効である。
【発明の効果】
【００２６】
本発明にかかる技術によれば、ＵＳＢ３．０ホストとＵＳＢ３．０ハブの電力消費を削減することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１の実施の形態にかかるＵＳＢシステムを示す図である。
【図２】図１に示すＵＳＢシステムにおけるＳＳハブの処理の一部を示すフローチャートである。
【図３】図１に示すＵＳＢシステムにおけるＵＳＢ２．０ハブの処理の一部を示すフローチャートである。
【図４】図１に示すＵＳＢシステムにおけるＵＳＢ３．０ハブの処理の一部を示すフローチャートである。
【図５】本発明の第２の実施の形態にかかるＵＳＢシステムを示す図である。
【図６】図５に示すＵＳＢシステムにおけるＳＳハブの処理の一部を示すフローチャートである。
【図７】図５に示すＵＳＢシステムにおけるＵＳＢ３．０ハブの処理の一部を示すフローチャートである。
【図８】本発明の第３の実施の形態にかかるＵＳＢシステムを示す図である。
【図９】図８に示すＵＳＢシステムにおけるＵＳＢ２．０ハブの処理の一部を示すフローチャートである。
【図１０】図８に示すＵＳＢシステムにおけるＵＳＢ３．０ハブの処理の一部を示すフローチャートである。
【図１１】本発明の第４の実施の形態にかかるＵＳＢシステムを示す図である。
【図１２】図１１に示すＵＳＢシステムにおけるＵＳＢ３．０ハブの処理の一部を示すフローチャートである。
【図１３】本発明の第５の実施の形態にかかるＵＳＢシステムを示す図である。
【図１４】図１３に示すＵＳＢシステムにおけるＵＳＢ３．０ハブの処理の一部を示すフローチャートである。
【図１５】ＵＳＢ３．０のトポロジを示す図である。
【図１６】ＵＳＢ３．０ハブのアーキテクチャを示す図である。
【図１７】ＵＳＢ３．０ハブのＤＳポートのステートマシン図の一部である。
【図１８】Ｒｘ．Ｄｅｔｅｃｔのサブステートマシン図である。
【図１９】ＵＳＢ２．０ハブのＤＳポートのステートマシン図の一部である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００２９】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００３０】
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態にかかるＵＳＢシステム１００を示す。該ＵＳＢシステム１００は、本発明にかかる技術をＵＳＢ３．０ハブに適用したものであり、ＵＳＢ３．０ハブ１１０と、ＵＳＢ３．０ハブ１１０の後述する複数（例として４つ）のＤＳポートに夫々接続されるＵＳＢデバイス１９２〜ＵＳＢデバイス１９８を有する。ＵＳＢデバイス１９２〜ＵＳＢデバイス１９８は、ＤＳ機器に該当し、ＵＳＢ３．０またはＵＳＢ２．０に準拠する。
【００３１】
なお、本実施の形態のＵＳＢシステム１００におけるＵＳＢ３．０ハブ１１０は、そのＤＳポートにＵＳＢハブが接続されることが無く、ＵＳＢデバイスのみが接続されることを前提とするものである。
【００３２】
ＵＳＢ３．０ハブ１１０は、１つのＵＳポート１２０と、ＳＳに関連する処理を行うＳＳブロック１３０と、ＵＳＢ２．０に関連する処理を行うＵＳＢ２．０ブロック１５０と、ＤＳポート１７２〜ＤＳポート１７８を有する。ＳＳブロック１３０は、ＵＳＢ３．０規格でハブに対して定められるＳＳハブに対応し、以下ＳＳハブともいう。また、ＵＳＢ２．０ブロック１５０は、ＵＳＢ３．０規格でハブに対して定められるＵＳＢ２．０ハブに対応し、以下ＵＳＢ２．０ハブともいう。
【００３３】
ＵＳポート１２０は、図示しない上段のＵＳＢ機器（ＵＳＢホストまたはＵＳＢハブ）のＤＳポートに接続されている。上段のＵＳＢ機器とＳＳハブ１３０間、上段のＵＳＢ機器とＵＳＢ２．０ハブ１５０間のパケット伝送は、ＵＳポート１２０を介して行われる。
【００３４】
ＳＳハブ１３０は、ＤＳポート１７２〜ＤＳポート１７８のいずれかに例えばＵＳＢケーブルを差し込まれ、ＵＳＢデバイスが接続されると、ＳＳ接続処理を開始する。具体的には、まず、終端抵抗の検出を行い、検出が成功すると、該ＵＳＢデバイスとのＳＳ接続が確立するまでＳＳ接続処理を続行する。ＳＳ接続処理中に、ＳＳハブ１３０とＵＳＢデバイス間で、様々なパケットが伝送される。これらのパケットのうちに、例えばＵＳＢデバイスに送信されるＧｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストがあり、このリクエストに対して、ＵＳＢデバイスは、応答パケットを返送する。
【００３５】
また、ＵＳＢ２．０ハブ１５０は、ＵＳＢデバイスが接続されると、ＵＳＢ２．０接続処理を開始する。具体的には、まず、終端抵抗の検出を行い、検出が成功すると、該ＵＳＢデバイスとのＵＳＢ２．０接続が確立するまでＵＳＢ２．０接続処理を続行する。なお、ＵＳＢ２．０接続は、ＬＳ接続、ＦＳ接続、ＨＳ接続のいずれか１つである。
【００３６】
ＵＳＢ２．０接続処理中に、ＵＳＢ２．０ハブ１５０とＵＳＢデバイス間で、様々なパケットが伝送される。これらのパケットのうちに、ＵＳＢデバイスに送信される上述のＧｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストがあり、このリクエストに対して、ＵＳＢデバイスは、応答パケットを返送する。
【００３７】
ＳＳ接続またはＵＳＢ２．０接続が確立するまでのＵＳＢ３．０ハブ１１０の動作は、通常のＵＳＢ３．０ハブの動作と同様である。
【００３８】
本実施の形態のＵＳＢシステム１００におけるＵＳＢ３．０ハブ１１０は、ＳＳ接続またはＵＳＢ２．０接続が確立した後の動作は、下記の点において、通常のＵＳＢ３．０ハブと異なる。
【００３９】
ＵＳＢ３．０ハブ１１０において、ＳＳハブ１３０とＵＳＢ２．０ハブ１５０が互いに接続されており、信号の送受信が可能である。ＳＳハブ１３０からＵＳＢ２．０ハブ１５０に送信する信号は、後述する第１の制御信号Ｃ１であり、ＵＳＢ２．０ハブ１５０からＳＳハブ１３０に送信する信号は、後述する第２の制御信号Ｃ２である。
【００４０】
ＵＳＢデバイスとのＳＳ接続が確立したときに、ＳＳハブ１３０は、ＤＳポート１７２〜ＤＳポート１７８のうちの、該ＵＳＢデバイスと接続されたＤＳポートについて、第１の制御信号Ｃ１をＵＳＢ２．０ハブ１５０に出力する。該第１の制御信号Ｃ１は、当該ＤＳポートに接続されたＵＳＢデバイスとの間で既にＳＳ接続が確立したことを示す信号である。
【００４１】
このとき、ＵＳＢ２．０ハブ１５０は、ＵＳＢ２．０接続のための終端抵抗の検出を行っている。ＵＳＢ２．０ハブ１５０は、第１の制御信号Ｃ１を受信すると、第１の制御信号Ｃ１が示すＤＳポートに接続されたＵＳＢデバイスに対する終端抵抗の検出を停止する。これにて、ＵＳＢ２．０ハブ１５０は、ＵＳＢ２．０接続処理（ここでは終端抵抗の検出）を停止する。
【００４２】
ＵＳＢデバイスとのＵＳＢ２．０接続が確立したときに、ＵＳＢ２．０ハブ１５０は、該ＵＳＢデバイスと接続されたＤＳポートについて、第２の制御信号Ｃ２をＳＳハブ１３０に出力する。該第２の制御信号Ｃ２は、当該ＤＳポートに接続されたＵＳＢデバイスとの間で既にＵＳＢ２．０接続が確立したことを示す信号である。
【００４３】
このとき、ＳＳハブ１３０は、ＳＳ接続のための終端抵抗の検出を行っている。ＳＳハブ１３０は、第２の制御信号Ｃ２を受信すると、第２の制御信号Ｃ２が示すＤＳポートに接続されたＵＳＢデバイスに対する終端抵抗の検出を停止する。これにて、ＳＳハブ１３０は、ＳＳ接続処理（ここでは終端抵抗の検出）を停止する。
【００４４】
図２は、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＵＳＢデバイスが接続され、さらに、ＳＳ接続またはＵＳＢ２．０接続が確立した後のＳＳハブ１３０の動作を示すフローチャートである。
【００４５】
図２に示すように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＵＳＢデバイスが接続され、該ＵＳＢデバイスとのＳＳ接続が確立すると（Ｓ１００：Ｙｅｓ）、ＳＳハブ１３０は、該ＤＳポートについて第１の制御信号Ｃ１をＵＳＢ２．０ハブ１５０に送信する（Ｓ１０２）。
【００４６】
一方、ＳＳ接続が確立する前にＵＳＢ２．０ハブ１５０から第２の制御信号Ｃ２を受信すると（Ｓ１００：Ｎｏ、Ｓ１１０：Ｙｅｓ）、ＳＳハブ１３０は、ＳＳ接続処理の最初に行う終端抵抗の検出処理を停止する。これにて、ＳＳ接続処理が停止される（Ｓ１１２）。
【００４７】
なお、ＳＳ接続が確立せず、第２の制御信号Ｃ２も受信していない場合に（Ｓ１００：Ｎｏ、Ｓ１１０：Ｎｏ）、ＳＳハブ１３０は、第１の制御信号Ｃ１の送信と、ＳＳ接続処理の停止をいずれにもしない。この場合、通常のＳＳハブのときと同様に、ＳＳ接続処理が続行される。
【００４８】
図３は、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＵＳＢデバイスが接続され、さらに、ＳＳ接続またはＵＳＢ２．０接続が確立した後のＵＳＢ２．０ハブ１５０の動作を示すフローチャートである。
【００４９】
図３に示すように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＵＳＢデバイスが接続され、該ＵＳＢデバイスとのＵＳＢ２．０接続が確立すると（Ｓ１２０：Ｙｅｓ）、ＵＳＢ２．０ハブ１５０は、該ＤＳポートについて第２の制御信号Ｃ２をＳＳハブ１３０に送信する（Ｓ１２２）。
【００５０】
一方、ＳＳハブ１３０から第１の制御信号Ｃ１を受信すると（Ｓ１２０：Ｎｏ、Ｓ１３０：Ｙｅｓ）、ＵＳＢ２．０ハブ１５０は、ＵＳＢ２．０接続処理の最初に行う終端抵抗の検出処理を停止する。これにて、ＵＳＢ２．０接続処理が停止される（Ｓ１３２）。
【００５１】
なお、ＵＳＢ２．０接続が確立せず、第１の制御信号Ｃ１も受信していない場合に（Ｓ１２０：Ｎｏ、Ｓ１３０：Ｎｏ）、ＵＳＢ２．０ハブ１５０は、第２の制御信号Ｃ２の送信と、ＵＳＢ２．０接続処理の停止をいずれにもしない。この場合、通常のＵＳＢ２．０ハブのときと同様に、ＵＳＢ２．０接続処理が続行される。
【００５２】
図２と図３を統合して、ＵＳＢ３．０ハブ１１０の動作を図４のフローチャートで示す。図示のように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＵＳＢデバイスが接続され、該ＵＳＢデバイスとのＳＳ接続が確立すると（Ｓ１４０：Ｙｅｓ）、ＵＳＢ２．０ハブ１５０によるＵＳＢ２．０接続処理が停止される（Ｓ１４２）。
【００５３】
一方、ＵＳＢデバイスとのＳＳ接続が確立せず、ＵＳＢ２．０接続が確立すると（Ｓ１４０：Ｎｏ、Ｓ１５０：Ｙｅｓ）、ＳＳハブ１３０によるＳＳ接続処理が停止される（Ｓ１５２）。
【００５４】
なお、ＳＳ接続とＵＳＢ２．０接続のいずれも確立していない場合に（Ｓ１４０：Ｎｏ、Ｓ１５０：Ｎｏ）、通常のＵＳＢ３．０ハブのときと同様に、ＳＳ接続処理とＵＳＢ２．０接続処理が続行される。
【００５５】
本実施の形態のＵＳＢシステム１００のＵＳＢ３．０ハブ１１０において、ＳＳ接続が確立すると、ＵＳＢ２．０ハブ１５０による終端抵抗の検出が停止され、ＵＳＢ２．０接続が確立すると、ＳＳハブ１３０による終端抵抗の検出が停止される。これにより、存在しない終端抵抗を検出する無駄な処理を回避することができ、ＤＳポートにＵＳＢデバイスのみが接続されることを前提とするＵＳＢ３．０ハブ１１０の電力消費を削減することができる。
【００５６】
＜第２の実施の形態＞
図２は、本発明の第２の実施の形態にかかるＵＳＢシステム２００を示す。該ＵＳＢシステム２００も、本発明にかかる技術をＵＳＢ３．０ハブに適用したものであり、ＵＳＢ３．０ハブ２１０と、ＵＳＢ３．０ハブ２１０の４つのＤＳポート１７２〜ＤＳポート１７８に夫々接続される４つのＤＳ機器を有する。
【００５７】
ＵＳＢ３．０ハブ２１０は、ＵＳＢデバイスに限らず、ＵＳＢハブも接続される。図５に例示したように、ＤＳポート１７２とＤＳポート１７４に接続されたＤＳ機器は、ＵＳＢハブ（ＵＳＢハブ２９２、ＵＳＢデバイス１９４）であり、ＤＳポート１７６とＤＳポート１７８に接続されたＤＳ機器は、ＵＳＢデバイス（ＵＳＢデバイス２９６、ＵＳＢデバイス２９８）である。これらのＤＳ機器は、ＵＳＢ３．０またはＵＳＢ２．０に準拠する。
【００５８】
ＵＳＢ３．０ハブ２１０は、ＳＳハブ２３０とＵＳＢ２．０ハブ１５０を備える。ＳＳハブ２３０が図１に示すＵＳＢシステム１００におけるＵＳＢ３．０ハブ１１０のＳＳハブ１３０と異なる点を除き、ＵＳＢ３．０ハブ２１０は、ＵＳＢ３．０ハブ１１０と同様である。ここで、ＳＳハブ２３０について、ＳＳハブ１３０と異なる点を説明する。
【００５９】
図５に示すように、ＳＳハブ２３０は、ＳＳパケット解析部２４０を備える。該ＳＳパケット解析部２４０は、ＤＳポート１７２〜ＤＳポート１７８に夫々接続されたＤＳ機器が図示しないＵＳＢホストに送信し、ＳＳハブ２３０により転送されるパケットの解析を行う。
【００６０】
図６は、ＤＳ機器とのＳＳ接続またはＵＳＢ２．０接続が確立した後のＳＳハブ２３０の処理を示すフローチャートである。
【００６１】
図６に示すように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＤＳ機器（ＵＳＢハブまたはＵＳＢデバイス）が接続され、該ＤＳ機器とのＳＳ接続が確立すると（Ｓ２００：Ｙｅｓ）、ＳＳハブ２３０は、該ＤＳ機器がＵＳＢハブであるか否かを確認する（Ｓ２０２）。この確認は、Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストに対するＤＳ機器からの応答パケットのｂＤｅｖｉｃｅＣｌａｓｓフィールドを参照することにより行われる。ＳＳハブ２３０は、ＳＳパケット解析部２４０を備えるため、上記応答パケットのｂＤｅｖｉｃｅＣｌａｓｓフィールドの値を得ることができる。
【００６２】
上記ＤＳ機器がＵＳＢハブではない、すなわちＵＳＢデバイスである場合に（Ｓ２０２：Ｎｏ）、ＳＳハブ２３０は、ＵＳＢ２．０ハブ１５０に第１の制御信号Ｃ１を送信する（Ｓ２０４）。一方、該ＤＳ機器がＵＳＢハブである場合には（Ｓ２０２：Ｙｅｓ）、ＳＳハブ２３０は、該ＤＳ機器が接続されたＤＳポートについての第１の制御信号Ｃ１を送信しない。
【００６３】
Ｓ２１０からの各処理は、図２のフローチャートにおけるＳ１１０からの各処理と夫々同様であり、説明を省略する。
【００６４】
図７は、ＳＳハブ２３０を備えたＵＳＢ３．０ハブ２１０の処理を示すフローチャートである。図示のように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＤＳ機器が接続され、該ＤＳ機器とのＳＳ接続が確立した場合に（Ｓ２４０：Ｙｅｓ）、該ＤＳ機器がＵＳＢハブではない場合にのみ、ＵＳＢ２．０ハブ１５０によるＵＳＢ２．０接続処理が停止される（Ｓ２４２：Ｎｏ、Ｓ２４４）。
【００６５】
ＤＳ機器とのＳＳ接続が確立せず、ＵＳＢ２．０接続が確立すると（Ｓ２４０：Ｎｏ、Ｓ２５０：Ｙｅｓ）、ＳＳハブ２３０によるＳＳ接続処理が停止される（Ｓ２５２）。
【００６６】
なお、ＳＳ接続とＵＳＢ２．０接続のいずれも確立していない場合に（Ｓ２４０：Ｎｏ、Ｓ２５０：Ｎｏ）、通常のＵＳＢ３．０ハブのときと同様に、ＳＳ接続処理とＵＳＢ２．０接続処理が続行される。
【００６７】
ＤＳポート例えばＤＳポート１７２にＵＳＢハブ２９２が接続され、該ＵＳＢハブ２９２が複数ＤＳポートを有する場合、該ＵＳＢハブ２９２にＵＳＢ３．０デバイスとＵＳＢ２．０デバイスのいずれも接続される可能性がある。ＵＳＢハブ２９２とのＳＳ接続が確立したときに（Ｓ２４０：Ｙｅｓ）直ちにＤＳポート１７２に対するＵＳＢ２．０接続処理を停止すると、後にＵＳＢハブ２９２にＵＳＢ２．０デバイスが接続された場合に、該ＵＳＢ２．０デバイスとのＵＳＢ２．０接続ができなくなってしまう。
【００６８】
本実施の形態のＵＳＢシステム２００のＵＳＢ３．０ハブ２１０は、ＤＳ機器とのＳＳ接続が確立し、かつ、該ＤＳ機器がＵＳＢハブではないときに（Ｓ２４０：Ｙｅｓ、Ｓ２４２：Ｎｏ）、ＵＳＢ２．０ハブ１５０による終端抵抗の検出ないしＵＳＢ２．０接続処理を停止する。そのため、ＤＳ機器としてＵＳＢハブが接続されることがある場合に、該ＵＳＢハブに接続されたＵＳＢ２．０デバイスとのＵＳＢ２．０接続できない問題を回避することができると共に、ＵＳＢシステム１００と同様の効果を得ることができる。
【００６９】
＜第３の実施の形態＞
図８は、本発明の第３の実施の形態にかかるＵＳＢシステム３００を示す。該ＵＳＢシステム３００も、本発明にかかる技術をＵＳＢ３．０ハブに適用したものであり、ＵＳＢ３．０ハブ３１０と、ＵＳＢ３．０ハブ３１０の４つのＤＳポート１７２〜ＤＳポート１７８に夫々接続される４つのＤＳ機器を有する。
【００７０】
ＵＳＢ３．０ハブ３１０は、ＵＳＢシステム２００におけるＵＳＢ３．０ハブ２１０と同様に、ＵＳＢデバイスに限らず、ＵＳＢハブも接続される。
【００７１】
ＵＳＢ３．０ハブ３１０は、ＳＳハブ２３０とＵＳＢ２．０ハブ３５０を備える。ＵＳＢ２．０ハブ３５０が図５に示すＵＳＢシステム２００におけるＵＳＢ３．０ハブ２１０のＵＳＢ２．０ハブ１５０と異なる点を除き、ＵＳＢ３．０ハブ３１０は、ＵＳＢ３．０ハブ２１０と同様である。ここで、ＵＳＢ２．０ハブ３５０について、ＵＳＢ２．０ハブ１５０と異なる点を説明する。
【００７２】
図８に示すように、ＵＳＢ２．０ハブ３５０は、ＵＳＢ２．０パケット解析部３６０を備える。該ＵＳＢ２．０パケット解析部３６０は、ＤＳポート１７２〜ＤＳポート１７８に夫々接続されたＤＳ機器が図示しないＵＳＢホストに送信し、ＵＳＢ２．０ハブ３５０により転送されるパケットの解析を行う。
【００７３】
図９は、ＤＳ機器とのＳＳ接続またはＵＳＢ２．０接続が確立した後のＵＳＢ２．０ハブ３５０の処理を示すフローチャートである。
【００７４】
図９に示すように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＤＳ機器（ＵＳＢハブまたはＵＳＢデバイス）が接続され、該ＤＳ機器とのＵＳＢ２．０接続が確立すると（Ｓ３２０：Ｙｅｓ）、ＵＳＢ２．０ハブ３５０は、該ＤＳ機器がＵＳＢ３．０すなわちＳＳに対応するか否かを確認する（Ｓ３２２）。この確認は、Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒ  Ｄｅｖｉｃｅのリクエストに対するＤＳ機器からの応答パケットのｂｃｄＵＳＢフィールドを参照することにより行われる。ＵＳＢ２．０ハブ３５０は、ＵＳＢ２．０パケット解析部３６０を備えるため、上記応答パケットのｂｃｄＵＳＢフィールドの値を得ることができる。
【００７５】
上記ＤＳ機器がＳＳに対応しない、すなわちＵＳＢ２．０ハブまたはＵＳＢ２．０デバイスである場合に（Ｓ３２２：Ｎｏ）、ＵＳＢ２．０ハブ３５０は、ＳＳハブ２３０に第２の制御信号Ｃ２を送信する（Ｓ３２４）。一方、該ＤＳ機器がＳＳに対応する、すなわちＵＳＢ３．０ハブまたはＵＳＢ３．０デバイスである場合には（Ｓ３２０：Ｙｅｓ）、ＵＳＢ２．０ハブ３５０は、該ＤＳ機器が接続されたＤＳポートについての第２の制御信号Ｃ２を送信しない。
【００７６】
Ｓ３３０からの各処理は、図３のフローチャートにおけるＳ１３０からの各処理と夫々同様であり、説明を省略する。
【００７７】
図１０は、ＵＳＢ３．０ハブ３１０の処理を示すフローチャートである。図示のように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＤＳ機器が接続され、該ＤＳ機器とのＳＳ接続が確立した場合に（Ｓ３４０：Ｙｅｓ）、該ＤＳ機器がＵＳＢハブではない場合にのみ、ＵＳＢ２．０ハブ３５０によるＵＳＢ２．０接続処理が停止される（Ｓ３４２：Ｎｏ、Ｓ３４４）。上記ＤＳ機器とのＳＳ接続が確立したものの、該ＤＳ機器がＵＳＢハブである場合には（Ｓ３４０：Ｙｅｓ、Ｓ３４２：Ｙｅｓ）、ステップＳ３４４の処理は、実行されない。
【００７８】
ＤＳ機器とのＳＳ接続が確立せず、ＵＳＢ２．０接続が確立した場合に（Ｓ３４０：Ｎｏ、Ｓ３５０：Ｙｅｓ）、該ＤＳ機器がＳＳに対応しない場合にのみ、ＳＳハブ２３０によるＳＳ接続処理が停止される（Ｓ３５２：Ｎｏ、Ｓ３５４）。上記ＤＳ機器とのＵＳＢ２．０接続が確立したものの、該ＤＳ機器がＳＳに対応する場合には（Ｓ３４０：Ｎｏ、Ｓ３５０：Ｙｅｓ、Ｓ３５２：Ｙｅｓ）、ステップＳ３５４の処理は、実行されない。
【００７９】
なお、ＳＳ接続とＵＳＢ２．０接続のいずれも確立していない場合に（Ｓ３４０：Ｎｏ、Ｓ３５０：Ｎｏ）、通常のＵＳＢ３．０ハブのときと同様に、ＳＳ接続処理とＵＳＢ２．０接続処理が続行される。
【００８０】
ＤＳポートに接続されたＤＳ機器がＵＳＢ３．０に準拠したものであっても、ＳＳ接続が失敗し、ＵＳＢ２．０接続が確立した場合がある。通常のＵＳＢ３．０ホストまたはＵＳＢ３．０ハブは、ＵＳＢ２．０接続が確立しても、終端抵抗の検出をはじめとするＳＳ接続処理を行うため、ＵＳＢ２．０接続の確立後、ＳＳ接続を確立させるチャンスがある。ＤＳポートに接続されたＤＳ機器とのＵＳＢ２．０接続が確立した場合に（Ｓ３４０：Ｎｏ、Ｓ３５０：Ｙｅｓ）、直ちに該ＤＳポートに対するＳＳ接続処理を停止すると、該ＤＳ機器がＳＳに対応するものであっても、ＳＳ接続を確立させるチャンスを失ってしまい、通信速度の低下を招く恐れがある。
【００８１】
本実施の形態のＵＳＢシステム３００におけるＵＳＢ３．０ハブ３１０は、ＤＳ機器とのＵＳＢ２．０接続が確立し、かつ、該ＤＳ機器がＳＳに対応しないときに（Ｓ３４０：Ｎｏ、Ｓ３５０：Ｙｅｓ、Ｓ３５２：Ｎｏ）、ＳＳハブ２３０による終端抵抗の検出を停止する。そのため、上記問題を回避することができると共に、ＵＳＢシステム２００と同様の効果を得ることができる。
【００８２】
＜第４の実施の形態＞
【００８３】
図１１は、本発明の第４の実施の形態にかかるＵＳＢシステム４００を示す。該ＵＳＢシステム４００は、本発明に本発明にかかる技術をＵＳＢ３．０ハブに適用したものであり、ＵＳＢ３．０ハブ４１０と、ＵＳＢ３．０ハブ４１０の４つのＤＳポート（１７２〜１７８）に夫々接続される４つのＤＳ機器（２９２〜２９８）を有する。
【００８４】
ＵＳＢ３．０ハブ４１０は、ＳＳハブ４３０とＵＳＢ２．０ハブ４５０に加え、さらにＤＳポート電源供給制御部（ＤＳＰＣ）５００を備える。図１１において、ＳＳハブ４３０とＵＳＢ２．０ハブ４５０の構成を詳細に示している。
【００８５】
ＳＳハブ４３０は、ＵＳポートＳＳ制御部４３２、ＳＳハブ制御部４３４、ＳＳパケット解析部２４０、ＤＳポートと同数（ここでは４つ）のＤＳポートＳＳ制御部（４４２〜４４８）を有する。
【００８６】
ＵＳポートＳＳ制御部４３２は、通常のＳＳハブにおける相対応する機能ブロックと同様の機能を有し、ＵＳポート１２０に接続された上段のＵＳＢ機器とのＳＳ接続処理やパケットの転送などを行い、ＳＳハブ制御部４３４により制御される。
【００８７】
ＤＳポートＳＳ制御部４４２〜４４８は、通常のＳＳハブにおける相対応する機能ブロックの機能を備える。これらのＤＳポートＳＳ制御部は、ＤＳポート１７２〜１７８に夫々接続されており、該ＤＳポートに接続されたＤＳ機器とのＳＳ接続処理を含む、該ＤＳポートにのみ関連する処理を行う。ＤＳポートＳＳ制御部４４２〜４４８も、ＳＳハブ制御部４３４により制御される。
【００８８】
また、ＤＳポートＳＳ制御部４４２は、他の機能ブロックとは独立に電源供給を制御可能に設けられている。これを実現するために、例えば、ＤＳポートＳＳ制御部４４２への電源供給線（図示せず）上にスイッチを設けるなどして、従来知られている種々の技術を適用可能である。ＤＳポートＳＳ制御部４４４〜４４８に関しても、ＤＳポートＳＳ制御部４４２と同様である。
【００８９】
ＳＳハブ制御部４３４は、通常のＳＳハブにおける相対応する機能ブロックの機能以外に、第１の制御信号Ｃ１を出力する機能を有する。ＳＳハブ制御部４３４が第１の制御信号Ｃ１を出力する条件は、第３の実施の形態のＵＳＢシステム３００におけるＳＳハブ２３０が第１の制御信号Ｃ１を出力する条件と同様である。
【００９０】
ＵＳＢ２．０ハブ４５０は、ＵＳポートＵＳＢ２．０制御部４５２、ＵＳＢ２．０ハブ制御部４５４、ＵＳＢ２．０パケット解析部３６０、ＤＳポートと同数（ここでは４つ）のＤＳポートＵＳＢ２．０制御部（４６２〜４６８）を有する。
【００９１】
ＵＳポートＵＳＢ２．０制御部４５２は、通常のＵＳＢ２．０ハブにおける相対応する機能ブロックと同様の機能を有し、ＵＳポート１２０に接続された上段のＵＳＢ機器とのＵＳＢ２．０接続処理やパケットの転送などを行い、ＵＳＢ２．０ハブ制御部４５４により制御される。
【００９２】
ＤＳポートＵＳＢ２．０制御部４６２〜４６８は、通常のＵＳＢ２．０ハブにおける相対応する機能ブロックの機能を備える。これらのＤＳポートＵＳＢ２．０制御部は、ＤＳポート１７２〜１７８に夫々接続されており、該ＤＳポートに接続されたＤＳ機器とのＵＳＢ２．０接続処理を含む、該ＤＳポートにのみ関連する処理を行う。ＤＳポートＵＳＢ２．０制御部４６２〜４６８も、ＵＳＢ２．０ハブ制御部４５４により制御される。
【００９３】
また、ＤＳポートＵＳＢ２．０制御部４６２は、他の機能ブロックとは独立に電源供給を制御可能に設けられている。これを実現するために、例えば、ＤＳポートＵＳＢ２．０制御部４６２への電源供給線（図示せず）上にスイッチを設けるなどして、従来知られている種々の手法を適用可能である。ＤＳポートＵＳＢ２．０制御部４６４〜４６８についても、ＤＳポートＵＳＢ２．０制御部４６２と同様である。
【００９４】
ＵＳＢ２．０ハブ制御部４５４は、通常のＵＳＢ２．０ハブにおける相対応する機能ブロックの機能以外に、第２の制御信号Ｃ２を出力する機能を有する。ＵＳＢ２．０ハブ制御部４５４が第２の制御信号Ｃ２を出力する条件は、第３の実施の形態のＵＳＢシステム３００におけるＵＳＢ２．０ハブ３５０が第２の制御信号Ｃ２を出力する条件と同様である。
【００９５】
ＤＳＰＣ５００は、ＳＳハブ制御部４３４とＵＳＢ２．０ハブ制御部４５４に接続されており、第１の制御信号Ｃ１と第２の制御信号Ｃ２に応じて、ＤＳポートＳＳ制御部４４２〜４４８と、ＤＳポートＵＳＢ２．０制御部４６２〜４６８への電源供給を夫々制御する。
【００９６】
図１２は、ＤＳ機器とのＳＳ接続またはＵＳＢ２．０接続が確立した後のＵＳＢ３．０ハブ４１０の処理を示すフローチャートである。図１２において、図１０のフローチャートにおけるものと同一のステップに関しては、図１０における該ステップと同様の符号を付与している。
【００９７】
図１２に示すように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＤＳ機器（ＵＳＢハブまたはＵＳＢデバイス）が接続され、該ＤＳ機器とのＳＳ接続が確立すると（Ｓ３４０：Ｙｅｓ）、ＳＳハブ４３０におけるＳＳハブ制御部４３４は、該ＤＳ機器がＵＳＢハブであるか否かを確認する（Ｓ３４２）。この確認は、ＳＳパケット解析部２４０による解析の結果に基づいて行われる。
【００９８】
上記ＤＳ機器がＵＳＢハブではない場合に（Ｓ３４２：Ｎｏ）、ＳＳハブ制御部４３４は、第１の制御信号Ｃ１を出力する。この第１の制御信号Ｃ１は、ＤＳＰＣ５００に入力される。ＤＳＰＣ５００は、第１の制御信号Ｃ１を受信すると、該第１の制御信号Ｃ１が示すＤＳポートに対応するＤＳポートＵＳＢ２．０制御部（ＤＳポートＵＳＢ２．０制御部４６２〜４６８のうちの１つ）への電源供給を停止する（Ｓ４４０）。
【００９９】
一方、上記ＤＳ機器がＵＳＢハブである場合に（Ｓ３４２：Ｙｅｓ）、ＳＳハブ制御部４３４は、第１の制御信号Ｃ１の出力をしない。
【０１００】
ＤＳ機器とのＳＳ接続が確立せず、ＵＳＢ２．０接続が確立すると（Ｓ３４０：Ｎｏ、Ｓ３５０：Ｙｅｓ）、ＵＳＢ２．０ハブ制御部４５４は、該ＤＳ機器がＳＳに対応するか否かを確認する（Ｓ３５２）。この確認は、ＵＳＢ２．０パケット解析部３６０による解析の結果に基づいて行われる。
【０１０１】
上記ＤＳ機器がＳＳに対応しない場合に（Ｓ３５２：Ｎｏ）、ＵＳＢ２．０ハブ制御部４５４は、第２の制御信号Ｃ２を出力する。この第２の制御信号Ｃ２も、ＤＳＰＣ５００に入力される。ＤＳＰＣ５００は、第２の制御信号Ｃ２を受信すると、第２の制御信号Ｃ２が示すＤＳポートに対応するＤＳポートＳＳ制御部（ＤＳポートＳＳ制御部４４２〜４４８のうちの１つ）への電源供給を停止する（Ｓ４５０）。
【０１０２】
一方、上記ＤＳ機器がＳＳに対応する場合に（Ｓ３５２：Ｙｅｓ）、ＵＳＢ２．０ハブ制御部４５４は、第２の制御信号Ｃ２の出力をしない。
【０１０３】
なお、ＳＳ接続とＵＳＢ２．０接続のいずれも確立していない場合に（Ｓ３４０：Ｎｏ、Ｓ３５０：Ｎｏ）、通常のＵＳＢ３．０ハブのときと同様に、ＳＳ接続処理とＵＳＢ２．０接続処理が続行される。
【０１０４】
図１２と図１０を比較すると分かるように、本実施の形態のＵＳＢ３．０ハブ４１０は、ＤＳポートＳＳ制御部４４２〜４４８への電源供給を停止することによりＳＳ接続処理を停止させ、ＤＳポートＵＳＢ２．０制御部４６４〜ＤＳポートＵＳＢ２．０制御部４６８への電源供給を停止することによりＵＳＢ２．０接続を停止させている。そのため、図３に示すＵＳＢシステム３００におけるＵＳＢ３．０ハブ３１０と同様の効果を得ることができる。
【０１０５】
＜第５の実施の形態＞
図１３は、本発明の第５の実施の形態にかかるＵＳＢシステム６００を示す。該ＵＳＢシステム６００は、そのＵＳＢ３．０ハブ６１０が、図１１に示すＵＳＢシステム４００におけるＵＳＢ３．０ハブ４１０に対して、ＳＳハブ４３０とＵＳＢ２．０ハブ４５０への電源供給を制御可能なブロック電源供給制御部（ＢＫＰＣ）７００をさらに設けたものである。
【０１０６】
ＢＫＰＣ７００は、ＳＳハブ制御部４３４とＵＳＢ２．０ハブ制御部４５４に接続されており、第１の制御信号Ｃ１と第２の制御信号Ｃ２に応じて、ＳＳハブ４３０とＵＳＢ２．０ハブ４５０への電源供給を夫々制御する。
【０１０７】
図１４は、ＤＳ機器とのＳＳ接続またはＵＳＢ２．０接続が確立した後のＵＳＢ３．０ハブ６１０の処理を示すフローチャートである。
【０１０８】
図１４に示すように、ＤＳポート１７２〜ＤＳポート１７８のいずれかにＤＳ機器（ＵＳＢハブまたはＵＳＢデバイス）が接続され、該ＤＳ機器とのＳＳ接続が確立すると（Ｓ５００：Ｙｅｓ）、ＳＳハブ４３０におけるＳＳハブ制御部４３４は、該ＤＳ機器がＵＳＢハブであるか否かを確認する（Ｓ５１０）。この確認は、ＳＳパケット解析部２４０による解析の結果に基づいて行われる。
【０１０９】
上記ＤＳ機器がＵＳＢハブではない場合に（Ｓ５１０：Ｎｏ）、ＳＳハブ制御部４３４は、第１の制御信号Ｃ１を出力する。この第１の制御信号Ｃ１は、ＤＳＰＣ５００とＢＫＰＣ７００に入力される。
【０１１０】
ＢＫＰＣ７００は、第１の制御信号Ｃ１を受信すると、内部カウント値ｉがＤＳポートの総数ｋ（ここでは４）に達したか否かを確認する（Ｓ５２０）。なお、内部カウント値ｉのデフォルト値は「０」である。ＢＫＰＣ７００は、第１の制御信号Ｃ１を受信する度に内部カウント値ｉを１つカウントアップする。
【０１１１】
ＢＫＰＣ７００は、ステップＳ５２０において、内部カウント値ｉが総数ｋに達したことを確認すると、ＵＳＢ２．０ハブ４５０への電源供給を停止する（Ｓ５２０：Ｙｅｓ、Ｓ５３０）。
【０１１２】
一方、ＢＫＰＣ７００は、ステップＳ５２０において、内部カウント値ｉが総数ｋより小さいことを確認すると、内部カウント値ｉを１つカウントアップするが（Ｓ５２０：Ｎｏ、Ｓ５２２）、ＵＳＢ２．０ハブ４５０への電源供給の停止の制御をしない。
【０１１３】
ＤＳＰＣ５００は、第１の制御信号Ｃ１を受信すると、該第１の制御信号Ｃ１が示すＤＳポートに対応するＤＳポートＵＳＢ２．０制御部（ＤＳポートＵＳＢ２．０制御部４６２〜４６８のうちの１つ）への電源供給を停止する（Ｓ５２０：Ｎｏ、Ｓ５２４）。
【０１１４】
ステップＳ５１０において、上記ＤＳ機器がＵＳＢハブである場合に（Ｓ５１０：Ｙｅｓ）、ＳＳハブ制御部４３４は、第１の制御信号Ｃ１の出力をしない。
【０１１５】
ＤＳ機器とのＳＳ接続が確立せず、ＵＳＢ２．０接続が確立すると（Ｓ５００：Ｎｏ、Ｓ５５０：Ｙｅｓ）、ＵＳＢ２．０ハブ制御部４５４は、該ＤＳ機器がＳＳに対応するか否かを確認する（Ｓ５６０）。この確認は、ＵＳＢ２．０パケット解析部３６０による解析の結果に基づいて行われる。
【０１１６】
上記ＤＳ機器がＳＳに対応しない場合に（Ｓ５６０：Ｎｏ）、ＵＳＢ２．０ハブ制御部４５４は、第２の制御信号Ｃ２を出力する。この第２の制御信号Ｃ２も、ＤＳＰＣ５００とＢＫＰＣ７００に入力される。
【０１１７】
ＢＫＰＣ７００は、第２の制御信号Ｃ２を受信すると、内部カウント値ｊがＤＳポートの総数ｋに達したか否かを確認する（Ｓ５７０）。なお、内部カウント値ｊのデフォルト値は「０」である。ＢＫＰＣ７００は、第２の制御信号Ｃ２を受信する度に内部カウント値ｊを１つカウントアップする。
【０１１８】
ＢＫＰＣ７００は、ステップＳ５７０において、内部カウント値ｊが総数ｋに達したことを確認すると、ＳＳハブ４３０への電源供給を停止する（Ｓ５７０：Ｙｅｓ、Ｓ５８０）。
【０１１９】
一方、ＢＫＰＣ７００は、ステップＳ５７０において、内部カウント値ｊが総数ｋより小さいことを確認すると、内部カウント値ｊを１つカウントアップするが（Ｓ５７０：Ｎｏ、Ｓ５７２）、ＳＳハブ４３０への電源供給の停止の制御をしない。
【０１２０】
ＤＳＰＣ５００は、第２の制御信号Ｃ２を受信すると、第２の制御信号Ｃ２が示すＤＳポートに対応するＤＳポートＳＳ制御部（ＤＳポートＳＳ制御部４４２〜４４８のうちの１つ）への電源供給を停止する（Ｓ５７０：Ｎｏ、Ｓ５７４）。
【０１２１】
ステップＳ５６０において、上記ＤＳ機器がＳＳに対応する場合に（Ｓ５６０：Ｙｅｓ）、ＵＳＢ２．０ハブ制御部４５４は、第２の制御信号Ｃ２の出力をしない。
【０１２２】
すなわち、図１１に示すＵＳＢシステム４００におけるＵＳＢ３．０ハブ４１０と比較すると、本実施の形態のＵＳＢシステム６００におけるＵＳＢ３．０ハブ６１０は、全てのＤＳポートに関して、ＵＳＢ２．０接続処理を停止させる条件が満たされたときに、ＢＫＰＣ７００によりＵＳＢ２．０ハブ４５０への電源供給を停止する。また、全てのＤＳポートに関して、ＳＳ接続処理を停止させる条件が満たされたときに、ＳＳハブ４３０への電源供給を停止する。そのため、ＵＳＢ３．０ハブ６１０によれば、ＵＳＢシステム４００におけるＵＳＢ３．０ハブ４１０と同様の効果を得ることができると共に、電力の消費をより削減することができる。
【０１２３】
なお、上記各実施の形態は、本発明にかかる技術をＵＳＢ３．０ハブに適用したものである。ＵＳＢ３．０ホストは、ＵＳＢ３．０で定められたルートハブであるため、本発明にかかる技術をＵＳＢ３．０に適用しても勿論よい。
【０１２４】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１２５】
１０  ＵＳＢ３．０ホスト            １２  ＳＳ部分
１４  ＵＳＢ２．０部分              ２０  ＵＳＢ３．０ハブ
２２  ＳＳハブ                      ２４  ＵＳＢ２．０ハブ
３０  ＵＳＢ３．０デバイス          ３２  ＳＳ部分
３４  ＵＳＢ２．０部分              ５０  ＵＳポート
６０  ＶＣＬブロック                ７０  ＤＳポート
１００  ＵＳＢシステム              １１０  ＵＳＢ３．０ハブ
１２０  ＵＳポート                  １３０  ＳＳハブ
１５０  ＵＳＢ２．０ハブ            １７２  ＤＳポート
１７４  ＤＳポート                  １７６  ＤＳポート
１７８  ＤＳポート                  １９２  ＵＳＢデバイス
１９４  ＵＳＢデバイス              １９６  ＵＳＢデバイス
１９８  ＵＳＢデバイス              ２００  ＵＳＢシステム
２１０  ＵＳＢ３．０ハブ            ２３０  ＳＳハブ
２４０  ＳＳパケット解析部          ２９２  ＵＳＢハブ
２９４  ＵＳＢハブ                  ２９６  ＵＳＢデバイス
２９８  ＵＳＢデバイス              ３００  ＵＳＢシステム
３１０  ＵＳＢ３．０ハブ            ３５０  ＵＳＢ２．０ハブ
３６０  ＵＳＢ２．０パケット解析部  ４００  ＵＳＢシステム
４１０  ＵＳＢ３．０ハブ            ４３０  ＳＳハブ
４３２  ＵＳポートＳＳ制御部        ４３４  ＳＳハブ制御部
４４２  ＤＳポートＳＳ制御部        ４４４  ＤＳポートＳＳ制御部
４４６  ＤＳポートＳＳ制御部        ４４８  ＤＳポートＳＳ制御部
４５０  ＵＳＢ２．０ハブ            ４５２  ＵＳポートＵＳＢ２．０制御部
４５４  ＵＳＢ２．０ハブ制御部      ４６２  ＤＳポートＵＳＢ２．０制御部
４６４  ＤＳポートＵＳＢ２．０制御部  ４６６  ＤＳポートＵＳＢ２．０制御部
４６８  ＤＳポートＵＳＢ２．０制御部  ５００  ＤＳポート電源供給制御部
６００  ＵＳＢシステム                ６１０  ＵＳＢ３．０ハブ
７００  ブロック電源供給制御部
Ｃ１  第１の制御信号
Ｃ２  第２の制御信号
ＬＳ  ロースピード
ＦＳ  フルスピード
ＨＳ  ハイスピード
ＳＳ  スーパースピード
ｉ  ブロック電源供給制御部の内部カウント値（ＳＳハブ用)
ｊ  ブロック電源供給制御部の内部カウント値（ＵＳＢ２．０ハブ用）
ｋ  ＤＳポートの総数
【図１】
2013105450.tif 000003
【図２】
2013105450.tif 000004
【図３】
2013105450.tif 000005
【図４】
2013105450.tif 000006
【図５】
2013105450.tif 000007
【図６】
2013105450.tif 000008
【図７】
2013105450.tif 000009
【図８】
2013105450.tif 000010
【図９】
2013105450.tif 000011
【図１０】
2013105450.tif 000012
【図１１】
2013105450.tif 000013
【図１２】
2013105450.tif 000014
【図１３】
2013105450.tif 000015
【図１４】
2013105450.tif 000016
【図１５】
2013105450.tif 000017
【図１６】
2013105450.tif 000018
【図１７】
2013105450.tif 000019
【図１８】
2013105450.tif 000020
【図１９】
2013105450.tif 000021