(57)【特許請求の範囲】
【請求項１】
ＵＳＢ３．０（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイスの制御方法において、
ＳＳ．Ｄｉｓａｂｌｅｄ状態になった該ＵＳＢ３．０デバイスに対して、予め定められた所定の時間が経過しても、Ｂｕｓ  ＲｅｓｅｔまたはＰｏｗｅｒ  ＯＮ  Ｒｅｓｅｔが実行されず、かつ、ＨＳ（Ｈｉｇｈ  Ｓｐｅｅｄ）接続、ＦＳ（Ｆｕｌｌ  Ｓｐｅｅｄ）接続、ＬＳ（Ｌｏｗ  Ｓｐｅｅｄ）接続のうちのいずれか１つであるＵＳＢ２．０接続がホストとの間で確立しないときに、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移するよう制御を行う制御方法。
【請求項２】
ＵＳＢ３．０（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイスであって、
ＳＳ．Ｄｉｓａｂｌｅｄ状態になったときに、予め定められた所定の時間が経過しても、Ｂｕｓ  ＲｅｓｅｔまたはＰｏｗｅｒ  ＯＮ  Ｒｅｓｅｔが実行されず、かつ、ＨＳ（Ｈｉｇｈ  Ｓｐｅｅｄ）接続、ＦＳ（Ｆｕｌｌ  Ｓｐｅｅｄ）接続、ＬＳ（Ｌｏｗ  Ｓｐｅｅｄ）接続のうちのいずれか１つであるＵＳＢ２．０接続が確立しない場合には、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移するよう制御を行う制御部を有することを特徴とするＵＳＢ３．０デバイス。
【請求項３】
前記ＵＳＢ２．０接続の接続手順を行うＵＳＢ２．０接続部と、
ＳＳ（Ｓｕｐｅｒ  Ｓｐｅｅｄ）接続の接続手順を行うＳＳ接続部とをさらに有し、
前記制御部は、
ＵＳＢ３．０デバイスがＳＳ．Ｄｉｓａｂｌｅｄ状態になったときから時間をカウントするタイマーを有し、
Ｒｘ．Ｄｅｔｅｃｔ状態において前記ＳＳ接続部が行うＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎが失敗したときに、前記ＳＳ接続部の動作を停止させると共に 前記ＵＳＢ２．０接続部による接続手順を開始させることにより前記ＵＳＢ３．０デバイスをＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移させ、
ＳＳ．Ｄｉｓａｂｌｅｄ状態において、前記タイマーがカウントした時間が経過しても、前記ＵＳＢ２．０接続部が行う前記ＵＳＢ２．０接続が確立しないときに、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移させ、前記ＳＳ接続部によるＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを開始させることを特徴とする請求項２に記載のＵＳＢ３．０デバイス。
【請求項４】
前記ＵＳＢ２．０接続部は、データ線対の一方に接続されるプルアップ抵抗を有し、
前記制御部は、
前記ＵＳＢ３．０デバイスがＳＳ．Ｄｉｓａｂｌｅｄ状態になったときに、前記プルアップ抵抗を前記データ線対のいずれか一方に接続し、
前記予め定められた所定の時間が経過しても前記ＵＳＢ２．０接続が確立しない場合には、前記プルアップ抵抗を前記データ線対から切断し、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移するよう制御を行う
請求項３に記載のＵＳＢ３．０デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイス、より具体的にはＵＳＢ３．０デバイスに関する。
【背景技術】
【０００２】
ＵＳＢ２．０と下位互換性を持つＵＳＢ３．０では、ＵＳＢ２.０のロースピード（ＬＳ）、フルスピード（ＦＳ）、ハイスピード（ＨＳ）に加え、５Ｇｂｐｓの超高速転送が可能になるスーパースピード（ＳＳ）が追加されている。
【０００３】
ＳＳ通信を実現するために、ＵＳＢ３．０では、様々な工夫がなされている。例えば、ＵＳＢ２.０で使われているＵＴＰ（Ｕｎｓｈｉｅｌｄｅｄ  Ｔｗｉｓｔ  Ｐａｉｒ）ケーブルをＳＳ通信に使うのでは減衰が大き過ぎて正しく通信できないため、ＵＳＢ３．０では、ＵＳＢ２．０の通信用として同じ規格のＵＴＰケーブルはそのままにして、別にＳＳに対応する通信線として、２対のＳＤＰ（Ｓｈｉｅｌｄｅｄ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐａｉｒ）ケーブルが追加されている。
【０００４】
また、図１７（非特許文献１におけるＦｉｇｕｒｅ１０−３）に示すように、ＵＳＢ３．０機器（ホストやハブ、デバイス）の回路ブロックでは、ＵＳＢ２．０のブロック（Ｎｏｎ−ＳｕｐｅｒＳｐｅｅｄ部分）とは別個に、ＳＳ用のブロック（ＳｕｐｅｒＳｐｅｅｄ部分）が追加されている。なお、本明細書の説明において、「ＵＳＢ機器」は、ＵＳＢホストとデバイスの両方を意味し、ＵＳＢハブも含まれる。ＵＳＢハブは、ＵＳＢホストとＵＳＢデバイスの両方の機能を有し、ＵＳＢホストにとってはＵＳＢデバイスであり、ＵＳＢデバイスにとってはＵＳＢホストになる。
【０００５】
ＵＳＢ２．０と異なる物理層を持つＵＳＢ３．０のＳＳは、ＵＳＢ２．０の資産を最大限に活用するために、上位のプロトコル層における多くの部分でＵＳＢ２．０を継承しており、アプリケーション層においては既存のクラスドライバをそのまま使っている。ＵＳＢ２．０と異なる物理層と、ＵＳＢ２．０と大きな変更がないプロトコル層とのギャップを解消するため、ＵＳＢ３．０では、パケットのフレーミング、リンクの確立、パワーマネジメントなどを担当するリンク層が新たに追加されている。
【０００６】
図１８は、ＵＳＢ３．０機器の階層モデル図である。図示のように、ＵＳＢ３．０機器１０は、ＵＳＢ３．０で追加されたＳＳ部分３０と、ＵＳＢ２．０部分４０と、ＳＳ部分３０とＵＳＢ２．０部分４０により共有される共通部分２０を備える。ＵＳＢ２．０部分４０は、ＵＳＢ２．０エンドポイント・コントローラ４２、ＵＴＭＩ（ＵＳＢ２．０  Ｔｒａｎｓｃｅｉｖｅｒ  Ｍａｃｒｏｃｅｌｌ  Ｉｎｔｅｒｆａｃｅ）４４、ＨＳ／ＦＳ／ＬＳ物理層４６を有し、ＳＳ部分３０は、ＨＳ／ＦＳ／ＬＳエンドポイント・コントローラ３２、リンク層３４、ＳＳ物理層３６を備える。なお、ＵＳＢ３．０では、ＵＳＢ２．０のＬＳ、ＦＳ、ＨＳのうちの少なくとも１つに対応することが規定されており、ＬＳ／ＦＳ／ＨＳのいずれにも対応せず、ＳＳのみに対応することが許されない。
【０００７】
図１８におけるリンク層３４は、上述した、ＵＳＢ３．０においてＳＳを実現するために追加されたリンク層である。ＳＳのリンク層では、いくつかの状態が定義され、その遷移条件が規定されている。図１９を参照して、本願発明と関連ある部分を説明する。
【０００８】
図１９は、非特許文献１におけるＦｉｇｕｒｅ７−１３であり、ＵＳＢ３．０におけるＬＴＳＳＭ（Ｌｉｎｋ  Ｔｒａｉｎｉｎｇ  ａｎｄ  Ｓｔａｔｕｓ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）状態遷移を示す。
【０００９】
図中Ｒｘ．Ｄｅｔｅｃｔ状態は、リンクパートナーの存在を探すステートである。このＲｘ．Ｄｅｔｅｃｔ状態において、ＵＳＢ３．０機器は、「Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ」と呼ばれる処理を行って、ＳＳの送受信ラインに「Ｒｘ．Ｔｅｒｍｉｎａｔｉｏｎ」と呼ばれる終端抵抗の有無を検出する。図２０と図２１を参照して、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの仕組みを説明する。
【００１０】
図２０と図２１は、上述した終端抵抗（Ｒｘ．Ｔｅｒｍｉｎａｔｉｏｎ、図中Ｒ＿Ｔｅｒｍ６０）がＳＳの送受信ラインにない場合とある場合を夫々示す。
【００１１】
Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行うＵＳＢ３．０機器の送信部は、自身にとってＳＳ送信ラインであり、接続先のＵＳＢ３．０機器にとってはＳＳ受信ラインとなる通信線に設けられたスイッチ５０をＯＮすることにより該通信線に電圧（図中ＳＷ制御電圧）を印加し、受信部は、自身にとってＳＳ受信ラインであり、接続先のＵＳＢ３．０機器にとってはＳＳ送信ラインとなる通信線に設けられたＲ＿Ｔｅｒｍ６０を接続する。
【００１２】
送信側のＵＳＢ３．０機器は、スイッチ５０をＯＮした後に、ＳＳ送信ラインにおける電圧（Ｖ＿Ｄｅｔｅｃｔ）の変動態様を監視し、Ｖ＿Ｄｅｔｅｃｔの変動態様からＲ＿Ｔｅｒｍ６０の有無を検出する。図２２を参照して説明する。
【００１３】
Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ時にＳＳ送信ラインに印加されたＳＷ制御電圧は、図２２の上部に示している。受信側のＵＳＢ機器がＳＳに対応し、かつＲｘ．Ｄｅｔｅｃｔ状態にある（図２１に示す状態、すなわちＲ＿Ｔｅｒｍ６０が接続されている）場合には、Ｖ＿Ｄｅｔｅｃｔは、図中曲線Ｃ２が示すように、緩やかに上昇する。一方、受信側のＵＳＢ機器がＳＳに対応しない場合、またはＳＳに対応するもののＲ＿Ｔｅｒｍ６０が接続されていない場合（図２０に示す状態の場合）には、Ｖ＿Ｄｅｔｅｃｔは、図中曲線Ｃ１が示すように急激に上昇する。
【００１４】
送信側のＵＳＢ３．０機器は、Ｖｔｈｒｅｓｈｏｌｄと呼ばれる閾値電圧でＶ＿Ｄｅｔｅｃｔをサンプリングし、サンプリング結果からＲ＿Ｔｅｒｍ６０の有無を検出する。なお、ＵＳＢ３．０では、この検出は、最大８回まで行われると規定されている。
【００１５】
図１９に戻って説明する。
Ｒｘ．Ｄｅｔｅｃｔ状態において、８回以内でＲ＿Ｔｅｒｍ６０が検出されると、ＬＴＳＳＭは、Ｐｏｌｌｉｎｇ状態に遷移する。ここまでは、送信側がＵＳＢ３．０ホストとＵＳＢ３．０デバイスのいずれであっても、同様である。
【００１６】
Ｒｘ．Ｄｅｔｅｃｔ状態において、８回の検出が行われてもＲ＿Ｔｅｒｍ６０が検出されなかったとき、ＵＳＢ３．０ホストとＵＳＢ３．０デバイスの以降の動作が異なる。
【００１７】
送信側がＵＳＢ３．０ホストである場合に、該ホストは、リンク層のさらに上位の層（ドライバ等）からＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの再開指示があるときは、Ｒｘ．Ｄｅｔｅｃｔ状態に戻る。上位層より再開の指示が無いときは、該ホストは、ＵＳＢデバイスのＤ＋もしくはＤ−のプルアップを検出したならば、ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔ（以下、単に「Ｂｕｓ  Ｒｅｓｅｔ」ともいう）を実行し、受信側（デバイス）とＵＳＢ２．０での接続を試みると共に、さらに、Ｒ＿Ｔｅｒｍ６０の検出を行う。ＵＳＢ３．０では、ここで、ホストによるＢｕｓ  Ｒｅｓｅｔの実行回数についての制限がないが、１回のＢｕｓ  Ｒｅｓｅｔにつき、Ｒ＿Ｔｅｒｍ６０の検出すなわちＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎは、１回のみ行われるように規定されている。この１回のＲｅｃｅｉｖｅｒ  ＤｅｔｅｃｔｉｏｎによりＲ＿Ｔｅｒｍ６０が検出された場合に、ＬＴＳＳＭは、Ｐｏｌｌｉｎｇに遷移し、ＳＳでのリンク手順がなされる。一方、この検出でもＲ＿Ｔｅｒｍ６０が検出されなかった場合には、該ホストは、受信側とＵＳＢ２．０での接続を続行する。
【００１８】
送信側がＵＳＢ３．０デバイスである場合には、８回の検出を行ってもＲ＿Ｔｅｒｍ６０を検出できなかったとき、該デバイスは、ＳＳ．Ｄｉｓａｂｌｅｄ状態に入る。
【００１９】
図１９に示すように、ＳＳ．Ｄｉｓａｂｌｅｄ状態に入ったＵＳＢ３．０デバイスは、ＰｏｗｅｒＯｎ  ＲｅｓｅｔまたはＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔされない限り、Ｒｘ．Ｄｅｔｅｃｔ状態に回復することが無い。
【００２０】
ＳＳ．Ｄｉｓａｂｌｅｄ状態に入ると、ＵＳＢ３．０デバイスは、自身のＵＳＢ２．０部分４０（図１８参照）を起動して受信側（ここではホスト）とのＵＳＢ２．０接続に備える。並行して、ＵＳＢ３．０ホストによりＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔされると、Ｒｘ．Ｄｅｔｅｃｔ状態に復帰し、もう一度Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行う。ＵＳＢ３．０では、デバイスについても、ここにおけるＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎは、１度のＢｕｓ  Ｒｅｓｅｔにつき１回のみ行われると規定されている。このＲｅｃｅｉｖｅｒ  ＤｅｔｅｃｔｉｏｎによりＲ＿Ｔｅｒｍ６０が検出されると、ＵＳＢ３．０デバイスは、Ｐｏｌｌｉｎｇ状態に遷移し、ＳＳでのリンク手順を実行する。
【００２１】
以下において、説明上の便宜のため、Ｂｕｓ  Ｒｅｓｅｔに伴う１回のみのＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを「Ｂｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ」という。
【先行技術文献】
【非特許文献】
【００２２】
【非特許文献１】Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  ３.０  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  １．０（Ｎｏｖｅｍｂｅｒ  １２，２００８）
【発明の概要】
【発明が解決しようとする課題】
【００２３】
ところで、ＵＳＢ３．０ホスト側の何らかのエラーによりＵＳＢ３．０デバイスがＳＳ．Ｄｉｓａｂｌｅｄ状態に入った場合に、ＵＳＢ３．０ホストは、エラーから復帰した後に、ＳＳ．Ｄｉｓａｂｌｅｄ状態にあるＵＳＢ３．０デバイスに対してＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行ってもＲ＿Ｔｅｒｍ６０を検出できないにも関わらず、８回のＲ＿Ｔｅｒｍ６０の検出試行を経てからＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔを実行する。この８回のＲ＿Ｔｅｒｍ６０の検出は、無駄であり、ＵＳＢ３．０デバイスのＳＳ．ＤｉｓａｂｌｅｄからＲｘ．Ｄｅｔｅｃｔ状態への復帰に時間がかかるという問題がある。
【課題を解決するための手段】
【００２４】
本発明の１つの態様は、ＵＳＢ３．０デバイスの制御方法である。この制御方法は、ＳＳ．Ｄｉｓａｂｌｅｄ状態になった該ＵＳＢデバイスに対して、予め定められた所定の時間が経過しても、ＨＳ（Ｈｉｇｈ  Ｓｐｅｅｄ）接続、ＦＳ（Ｆｕｌｌ  Ｓｐｅｅｄ）接続、ＬＳ（Ｌｏｗ  Ｓｐｅｅｄ）接続のうちのいずれか１つであるＵＳＢ２．０接続がホストとの間で確立しないときに、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移するよう制御を行う。
【００２５】
なお、上記態様の方法を装置に置き換えて表現したもの、該装置を備えたＵＳＢデバイス、または該方法をコンピュータに実行せしめるプログラムなども、本発明の態様としては有効である。
【発明の効果】
【００２６】
本発明にかかる技術によれば、ホストのエラーによりＳＳ．Ｄｉｓａｂｌｅｄ状態になったＵＳＢ３．０デバイスのＲｘ．Ｄｅｔｅｃｔ状態への迅速な復帰が可能である。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態にかかるＵＳＢシステムを示す図である。
【図２】図１に示すＵＳＢシステムにおけるＵＳＢ３．０デバイスを示す図である。
【図３】図２に示すＵＳＢ３．０デバイスの動作を示すフローチャートである。
【図４】従来のＵＳＢ３．０デバイスの動作を示すフローチャートである。
【図５】図２に示すＵＳＢ３．０デバイスと従来のＵＳＢ３．０デバイスを比較するための図である（その１）。
【図６】図２に示すＵＳＢ３．０デバイスと従来のＵＳＢ３．０デバイスを比較するための図である（その２）。
【図７】図２に示すＵＳＢ３．０デバイスと従来のＵＳＢ３．０デバイスを比較するための図である（その３）。
【図８】図２に示すＵＳＢ３．０デバイスと従来のＵＳＢ３．０デバイスを比較するための図である（その４）。
【図９】図２に示すＵＳＢ３．０デバイスと従来のＵＳＢ３．０デバイスを比較するための図である（その５）。
【図１０】図２に示すＵＳＢ３．０デバイスと従来のＵＳＢ３．０デバイスを比較するための図である（その６）。
【図１１】別のＵＳＢ３．０デバイスを比較するための図である（その１）。
【図１２】別のＵＳＢ３．０デバイスを比較するための図である（その２）。
【図１３】別のＵＳＢ３．０デバイスを比較するための図である（その３）。
【図１４】別のＵＳＢ３．０デバイスを比較するための図である（その４）。
【図１５】別のＵＳＢ３．０デバイスを比較するための図である（その５）。
【図１６】別のＵＳＢ３．０デバイスを比較するための図である（その６）。
【図１７】ＵＳＢ３．０のトポロジを示す図である。
【図１８】ＵＳＢ３．０機器の階層モデル図である。
【図１９】ＵＳＢ３．０で定められたＬＴＳＳＭ状態遷移を示す図である。
【図２０】Ｒｘ．Ｄｅｔｅｃｔ状態で行われるＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの仕組みを説明するための図である（その１）。
【図２１】Ｒｘ．Ｄｅｔｅｃｔ状態で行われるＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの仕組みを説明するための図である（その２）。
【図２２】Ｒｅｃｅｉｖｅｒ  ＤｅｔｅｃｔｉｏｎにおけるＲｘ．Ｔｅｒｍｉｎａｔｉｏｎの検出を説明するための図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００２９】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００３０】
図１は、本発明の実施の形態にかかるＵＳＢシステム１００を示す。該ＵＳＢシステム１００は、ＵＳＢホスト１１０とＵＳＢ３．０デバイス１２０を備え、ＵＳＢホスト１１０とＵＳＢ３．０デバイス１２０は、ＳＳ  Ｉｎｔｅｒｆａｃｅ１１２とＨＳ／ＦＳ／ＬＳ  Ｉｎｔｅｒｆａｃｅ１１４により接続されている。
【００３１】
図２は、ＵＳＢ３．０デバイス１２０を示す。分かりやすいように、図２において、ＵＳＢ３．０デバイス１２０の特徴を説明する上で必要な機能ブロックのみを示し、通常のＵＳＢ３．０デバイスに備えられる他の機能ブロックを省略している。
【００３２】
図２に示すように、ＵＳＢ３．０デバイス１２０は、ＳＳブロック１３０、ＵＳＢ２．０ブロック１７０、制御部２００を有する。
【００３３】
制御部２００は、ＵＳＢ３．０デバイス１２０のＲｘ．Ｄｅｔｅｃｔ状態とＳＳ．Ｄｉｓａｂｌｅｄ状態の切替えの制御を行い、通常のＵＳＢ３．０デバイスにおける相対応の機能ブロックとは、ＵＳＢ３．０デバイス１２０がＳＳ．Ｄｉｓａｂｌｅｄ状態に入った後の制御動作が異なる。これについては、後述する。
【００３４】
ＳＳブロック１３０は、通常のＵＳＢ３．０デバイスにおいてＳＳ通信に関連する処理を行うブロックと同様であり、ＳＳ接続の接続手順を行うＳＳ接続部１４０を備える。ＳＳ接続部１４０は、Ｒｘ抵抗検出部１５０とＲｘ抵抗部１６０を有する。Ｒｘ抵抗検出部１５０は、スイッチ１５２と検出実行部１５４を備え、Ｒｘ抵抗部１６０は、スイッチ１６２と、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ（以下「Ｒ＿Ｔｅｒｍ」という）１６４を備える。
【００３５】
ＳＳ接続部１４０は、Ｒｘ．Ｄｅｔｅｃｔ状態のときにＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行う。その際、Ｒｘ抵抗検出部１５０において、スイッチ１５２がＯＮすると共に、検出実行部１５４が電圧Ｖ＿Ｄｅｔｅｃｔの変動態様を監視してＵＳＢホスト１１０側にＲｘ．Ｔｅｒｍｉｎａｔｉｏｎ（Ｒ＿Ｔｅｒｍ）の有無を検出する。また、Ｒｘ抵抗部１６０において、スイッチ１６２がＯＮすることにより、Ｒ＿Ｔｅｒｍ１６４が接続される。
【００３６】
ＳＳ接続部１４０は、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ時に、ＵＳＢホスト１１０におけるＲ＿Ｔｅｒｍの検出を１２ｍｓ間隔で最大８回行う。ＳＳ接続部１４０が８回の検出を行ってもＲ＿Ｔｅｒｍを検出できなかった場合に、制御部２００は、ＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移すべく、スイッチ１５２とスイッチ１６２をＯＦＦさせることによりＳＳ接続部１４０の動作を停止する。
【００３７】
ＵＳＢ２．０ブロック１７０は、通常のＵＳＢ３．０デバイスにおいてＵＳＢ２．０での通信に関連する処理を行うブロックと同様であり、ＵＳＢ２．０受信部１８０と、ＵＳＢ２．０接続の接続手順を行うＵＳＢ２．０接続部１９０を備える。なお、ＵＳＢ２．０接続は、ＵＳＢ２．０で定められたＨＳ接続、ＦＳ接続、ＬＳ接続のいずれか１つであり、ＵＳＢ３．０デバイスが、これらの３つの接続のうちの少なくとも１つをサポートするように定められている。なお、ＵＳＢ２．０接続部１９０は、スイッチ１９２を有する。なお、ここではＵＳＢ２．０接続部１９０はＨＳ／ＦＳ接続を行う前提としており、したがってスイッチ１９２で制御されるプルアップ抵抗はＤ＋のラインに接続されている。ＵＳＢ２．０接続部がＬＳ接続を行う場合はプルアップ抵抗およびスイッチ１９２はＤ−ラインに接続される。
【００３８】
ＳＳ接続部１４０が行ったＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎが失敗すると、ＵＳＢ３．０デバイス１２０は、ＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移する。制御部２００は、ＵＳＢ３．０デバイス１２０がＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移した場合に、ＵＳＢ２．０接続部１９０を制御して、ＵＳＢ２．０接続の接続手順を開始させる。
【００３９】
ＵＳＢ２．０接続部１９０によるＵＳＢ２．０接続の接続手順の開始時、ＵＳＢ２．０接続部１９０は、ＨＳ接続またはＦＳ接続（以下ＨＳ／ＦＳ接続という）の場合には、ＵＳＢ２．０受信部１８０の２つの差動信号線（Ｄ＋、Ｄ−）のうちのＤ＋をプルアップ（ｐｕｌｌ−ｕｐ）し、ＬＳ接続の場合には、Ｄ−をプルアップする。その後、ホスト側からのＵＳＢ２．０接続動作を待つ。
【００４０】
ホスト側は、ＵＳＢ２．０接続動作に際して、まず、ＵＳＢ３．０デバイス１２０におけるＵＳＢ２．０受信部１８０のＤ＋とＤ−のいずれがプルアップされているかを検出し、Ｄ＋がプルアップされていれば、さらにＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔを経てＣｈｉｒｐを行うことによりＨＳ接続かＦＳ接続の判別を行って、該当する接続を確立させる。一方、ＵＳＢ２．０受信部１８０のＤ−がプルアップされている場合に、ホスト側は、ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔを行い、ＬＳ接続を確立させる。
【００４１】
なお、ＵＳＢホスト１１０がＵＳＢ３．０ホストである場合には、ＵＳＢホスト１１０は、ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔを実行すると共に、もう一度ＳＳ接続を試みるためにＵＳＢ３．０デバイス１２０がＲｘ．Ｄｅｔｅｃｔ状態に戻るように制御する。この場合、制御部２００は、ＳＳ接続部１４０にＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎなどを行わせる。前述したように、ＵＳＢ３．０では、ここでのＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎは、Ｂｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎであり、ホスト側、デバイス側ともに、１回のＢｕｓ  Ｒｅｓｅｔにつき１回のみ行われると規定されている。
【００４２】
また、ＳＳ．Ｄｉｓａｂｌｅｄ状態において、ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔ以外に、ＰｏｗｅｒＯｎ  Ｒｅｓｅｔの場合にも、ＵＳＢ３．０デバイス１２０はＲｘ．Ｄｅｔｅｃｔ状態に戻り、制御部２００は、ＳＳ接続部１４０にＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎなどを行わせる。この場合のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎは、Ｂｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎではなく、最大８回まで行われると規定されている。
【００４３】
ここまでの説明の中における制御部２００の動作は、通常のＵＳＢ３．０デバイスにおける相対応する機能ブロックの動作と同様である。本実施の形態のＵＳＢシステム１００において、制御部２００は、ＵＳＢ３．０デバイス１２０がＳＳ．Ｄｉｓａｂｌｅｄ状態になったときに、上述した各動作に加え、さらに下記の制御動作をする。
【００４４】
図２に示すように、制御部２００は、タイマー２１０を備える。タイマー２１０は、ＵＳＢ３．０デバイス１２０がＳＳ．Ｄｉｓａｂｌｅｄ状態に入ったときから、時間のカウントを開始する。
【００４５】
制御部２００は、タイマー２１０によりカウントした時間が予め定められた所定の時間Ｔ（例えば数ｍｓ）が経過する前に、ＰｏｗｅｒＯｎ  Ｒｅｓｅｔが生じた場合、タイマー２１０による時間のカウント、ＵＳＢ２．０接続部１９０の動作を停止させると共に、ＳＳ接続部１４０にＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを再開させる。すなわち、ＵＳＢ３．０デバイス１２０は、Ｒｘ．Ｄｅｔｅｃｔ状態に復帰する。その後、最大８回のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎが実行される。
【００４６】
また、制御部２００は、タイマー２１０によりカウントした時間が予め定められた所定の時間Ｔ（例えば数ｍｓ）が経過する前に、ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔが生じた場合、タイマー２１０による時間のカウント、ＵＳＢ２．０接続部１９０の動作を継続させたまま、ＳＳ接続部１４０にＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを再開させる。すなわち、ＵＳＢ３．０デバイス１２０は、Ｒｘ．Ｄｅｔｅｃｔ状態に復帰する。なお、このときに再開されたＲｅｃｅｉｖｅｒ  ＤｅｔｅｃｔｉｏｎがＢｕｓ  Ｒｅｓｅｔに応じたＢｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎであるため、前述したように、１回のみ行われる。
【００４７】
また、タイマー２１０によりカウントした時間が上記所定の時間Ｔが経過する前に、ＵＳＢ２．０接続が確立すれば、ＵＳＢ２．０ブロック１７０が動作し、制御部２００は、ＵＳＢ３．０デバイス１２０に対して、ＳＳ．Ｄｉｓａｂｌｅｄ状態からＲｘ．Ｄｅｔｅｃｔ状態への遷移を行わせない。
【００４８】
一方、ＰｏｗｅｒＯｎ  ＲｅｓｅｔとＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔのいずれも生じず、ＵＳＢ２．０接続も確立しないまま、タイマー２１０によりカウントした時間が時間Ｔになった場合に、制御部２００は、ＵＳＢ３．０デバイス１２０がＳＳ．Ｄｉｓａｂｌｅｄ状態からＲｘ．Ｄｅｔｅｃｔ状態に遷移するように、ＵＳＢ２．０接続部１９０の動作を停止させと共に、ＳＳ接続部１４０にＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを開始させる。具体的には、プルアップしていたＵＳＢ２．０受信部１８０のＤ＋またはＤ−を戻し、Ｒｘ抵抗検出部１５０のスイッチ１５２とＲｘ抵抗部１６０のスイッチ１６２をＯＮする。
【００４９】
制御部２００を備えることにより、ＵＳＢ３．０デバイス１２０は、図３のフローチャートを示すように動作する。比較のために、従来のＵＳＢ３．０デバイスの動作を図４に示す。
【００５０】
図３に示すように、ＵＳＢ３．０デバイス１２０は、Ｒｘ．Ｄｅｔｅｃｔ状態においてＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを開始し、８回以内でＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出すると、Ｐｏｌｌｉｎｇに遷移するなど、ＳＳ動作へ移る（Ｓ１００、Ｓ１１０：Ｙｅｓ、Ｓ１２０）。
【００５１】
一方、８回のＲｘ．Ｔｅｒｍｉｎａｔｉｏｎ検出をしてもＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出できなかった場合には（Ｓ１００、Ｓ１１０：Ｎｏ）、ＵＳＢ３．０デバイス１２０は、ＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移し（Ｓ１３０）、ＵＳＢ２．０受信部１８０のＤ＋またはＤ−をプルアップすると共に、タイマー２１０による時間のカウントを開始し、ＵＳＢホスト１１０とのＵＳＢ２．０接続の確立を待つ（Ｓ１３２）。
【００５２】
タイマー２１０によりカウントした時間が時間Ｔに到達する前に、Ｐｏｗｅｒ  Ｏｎ  Ｒｅｓｅｔがされると（Ｓ１４０：Ｙｅｓ、Ｓ１４２：Ｙｅｓ）、ＵＳＢ３．０デバイス１２０は、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移し、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行う（Ｓ１００〜）。同時に、ステップＳ１３０で形成されたプルアップが切断され、タイマー２１０もリセットされて、カウント動作が停止する（Ｓ１７０）。なお、前述した通り、ここでのＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎは、最大８回まで可能である。
【００５３】
タイマー２１０によりカウントした時間が時間Ｔに到達する前に、Ｐｏｗｅｒ  Ｏｎ  Ｒｅｓｅｔが生じずにＢｕｓ  Ｒｅｓｅｔがされると（Ｓ１４０：Ｙｅｓ、Ｓ１４２：Ｎｏ、Ｓ１５０：Ｙｅｓ）、ＵＳＢ３．０デバイス１２０は、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移し、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行う（Ｓ１５２）。前述した通り、ここでのＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎは、Ｂｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎであり、１回のみ行われる。
【００５４】
ステップＳ１５２におけるＢｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎが成功した場合に、ＵＳＢ３．０デバイス１２０は、ステップＳ１３０で形成したプルアップの切断、タイマー２１０のリセットとカウント動作の停止をすると共に、Ｐｏｌｌｉｎｇに遷移するなど、ＳＳ動作へ移る（Ｓ１５４：Ｙｅｓ、Ｓ１５６、Ｓ１２０）。
【００５５】
一方、ステップＳ１５２におけるＢｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎが失敗した場合に、ＵＳＢ３．０デバイス１２０は、ステップＳ１４０に戻る。（Ｓ１５４：Ｎｏ、Ｓ１４０）。
【００５６】
なお、タイマー２１０によりカウントした時間が時間Ｔに到達する前にＵＳＢ２．０接続が確立すると（Ｓ１４０：Ｙｅｓ、Ｓ１４２：Ｎｏ、Ｓ１５０：Ｎｏ、Ｓ１６２：Ｙｅｓ）、ＵＳＢ３．０デバイス１２０は、ＵＳＢ２．０動作に移る（Ｓ１６４）。
【００５７】
一方、タイマー２１０によりカウントした時間が時間Ｔに到達してもＵＳＢ２．０接続が確立しない場合には、ＵＳＢ３．０デバイス１２０は、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移し、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行う（Ｓ１６２：Ｎｏ、Ｓ１４０：Ｎｏ、Ｓ１００）。同時に、ステップＳ１３０で形成されたプルアップが切断され、タイマー２１０もリセットされて、カウント動作を停止する（Ｓ１７０）。
【００５８】
図３に示す例では、この場合におけるＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎは、Ｂｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ以外のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎと同様に最大８回まで実行されるようになっているが、ここでのＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの回数は、８回に限らず、１以上の任意の回数としてもよい。
【００５９】
図４を参照する。図４から分かるように、従来のＵＳＢ３．０デバイスは、８回のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの失敗により一旦ＳＳ．Ｄｉｓａｂｌｅｄ状態に入ると（Ｓ１０、Ｓ１２：Ｎｏ、Ｓ３０、Ｓ３２）、Ｐｏｗｅｒ  Ｏｎ  ＲｅｓｅｔとＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔが生じない限り（Ｓ４０：Ｎｏ、または、Ｓ４０：Ｙｅｓ、Ｓ５０：Ｎｏ）、Ｒｘ．Ｄｅｔｅｃｔ状態に復帰すること無く、ＵＳＢ２．０接続が確立するまで待ち続ける。
【００６０】
対して、本実施の形態のＵＳＢシステム１００におけるＵＳＢ３．０デバイス１２０は、ＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移した後に、ＵＳＢ２．０  Ｂｕｓ  ＲｅｓｅｔとＰｏｗｅｒＯｎ  Ｒｅｓｅｔのいずれも生じず、ＵＳＢ２．０接続も確立しないまま時間Ｔが経過したときに、Ｒｘ．Ｄｅｔｅｃｔ状態に遷移し、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行う。
【００６１】
ＵＳＢ３．０デバイス１２０のこのような動作がもたらす効果を説明する。
図５は、ＵＳＢホスト１１０がＵＳＢ２．０である場合に、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイスの動作を示す図である。
【００６２】
この場合、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイスのいずれも、８回のＲｘ．Ｔｅｒｍｉｎａｔｉｏｎの検出失敗により、Ｒｘ．Ｄｅｔｅｃｔ状態からＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移する。そして、従来のＵＳＢ３．０デバイスは、ＳＳ．Ｄｉｓａｂｌｅｄ状態において、ＵＳＢ２．０接続が確立する。ＵＳＢ３．０デバイス１２０の場合も、対応するホストが、ＵＳＢ２．０ホストであり、Ｄ＋／Ｄ−の検出待ちの状態になっているので、タイマ１２０がカウントする時間が時間Ｔに達する前に、ＵＳＢ２．０接続が確立する。そのため、図５で示されるように、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイスのいずれの場合においても、ホストとの間でＵＳＢ２．０が確立する時間が同じである。
【００６３】
図６は、ＵＳＢホスト１１０がＵＳＢ３．０ホストであり、かつ、該ＵＳＢ３．０でエラーが生じず、８回以内のＲｅｃｅｉｖｅｒ  ＤｅｔｅｃｔｉｏｎによりデバイスとホストがＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出した場合に、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイスの動作を示す図である。
【００６４】
この場合、図示のように、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイスのいずれも、８回のＲｘ．Ｔｅｒｍｉｎａｔｉｏｎ以内でＲｘ．Ｄｅｔｅｃｔ状態を検出したことにより、Ｒｘ．Ｄｅｔｅｃｔ状態からＰｏｌｌｉｎｇ状態への遷移などＳＳ動作へ進む。
【００６５】
図７は、ＵＳＢホスト１１０がＵＳＢ３．０ホストであり、かつ、１回目のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎにおいて該ホストのエラーによりデバイスがＳＳ．Ｄｉｓａｂｌｅｄ状態へ遷移した後にエラーが回復した場合に、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイスの動作を示す図である。
【００６６】
この場合、図示のように、ＳＳ．Ｄｉｓａｂｌｅｄ状態へ遷移するまでは、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイスと同様な動作をする。
【００６７】
ＳＳ．Ｄｉｓａｂｌｅｄ状態へ遷移した後、従来のＵＳＢ３．０デバイスは、ＵＳＢホスト１１０が、エラーから回復し、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの検出を行って、８回のＲｘ．Ｔｅｒｍｉｎａｔｉｏｎの失敗後にＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔが実行されるまで、ＵＳＢ２．０接続を待ち続ける。ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔにより、該従来のＵＳＢ３．０デバイスは、Ｒｘ．Ｄｅｔｅｃｔ状態に復帰してＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを行い、ＵＳＢホスト１１０と該従来のＵＳＢ３．０デバイスが共にＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出したことによりＳＳ動作へ進む。なお、前述したように、ＵＳＢ３．０では、この部分でのＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの検出は、最大１回まで行われると規定されている。
【００６８】
一方、ＵＳＢ３．０デバイス１２０は、タイミングｔ０でＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移した後、ＵＳＢ２．０接続を待ちながら、タイミングｔ０から時間Ｔが経過したとき（図中タイミングｔ１）にＲｘ．Ｄｅｔｅｃｔ状態に復帰する。その後、ＵＳＢ３．０デバイス１２０によるＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ中にＵＳＢホスト１１０が復帰したため、ＵＳＢホスト１１０と該従来のＵＳＢ３．０デバイスが共にＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出したことによりＳＳ動作へ進む。図３に示す例の場合、ここでは、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの検出は、ホスト側、デバイス側ともに、最大８回までとなる。
【００６９】
そのため、図７から分かるように、この場合、従来のＵＳＢ３．０デバイスより、ＵＳＢ３．０デバイス１２０は、ＳＳ動作への移行が早くなる。
【００７０】
図５〜図７に示す夫々のケース毎に、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイス間で、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの開始から、ＵＳＢ２．０接続またはＳＳ接続が確立するまでの時間を比較する。
【００７１】
図８は、図５に対応し、ＵＳＢホスト１１０がＵＳＢ２．０ホストである場合に、ＵＳＢ２．０接続が確立するまでの時間を示す。図示のように、この場合、ＵＳＢ２．０接続が確立するまでの時間は、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイス間で同様である。
【００７２】
図９は、図６に対応し、ＵＳＢホスト１１０がＵＳＢ３．０ホストであり、かつ１回目のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ時にエラーが生じなかった場合に、ＳＳ接続が確立するまでの時間を示す。図示のように、この場合において、ＳＳ接続が確立するまでの時間は、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイス間で同様である。
【００７３】
図１０は、図７に対応し、ＵＳＢホスト１１０がＵＳＢ３．０ホストであり、かつ１回目のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ時にエラーが生じ、デバイスがＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移した後にエラーから回復した場合に、ＳＳ接続が確立するまでの時間を示す。
【００７４】
図示のように、この場合において、ＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移するまでの時間は、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイス間で同様である。
【００７５】
しかし、ＳＳ．Ｄｉｓａｂｌｅｄ状態からＲｘ．Ｄｅｔｅｃｔ状態への復帰は、従来のＵＳＢ３．０デバイスよりＵＳＢ３．０デバイス１２０のほうが早いため、結果的に、この場合、１回目のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの開始からＳＳ接続が確立するまでの時間は、ＵＳＢ３．０デバイス１２０のほうが短い。
【００７６】
このように、本実施の形態のＵＳＢ３．０デバイス１２０によれば、ＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移した後、時間Ｔが経過してもＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔが実行されない場合に、自主的にＲｘ．Ｄｅｔｅｃｔ状態に戻ることにより、ＵＳＢ３．０ホストであるＵＳＢホスト１１０のエラーにより１回目のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎが失敗した場合に、早めにＲｘ．Ｄｅｔｅｃｔ状態へ復帰し、結果的に、ＳＳ接続を早めに確立させる確率が高い。
【００７７】
また、図８と図９から分かるように、ＵＳＢ３．０デバイス１２０は、ＵＳＢホスト１１０がＵＳＢ２．０ホストである場合や、ＵＳＢホスト１１０がＵＳＢ３．０ホストであるもののエラーが生じてない場合において、ＵＳＢ３．０により定められた通りの動作をし、何ら悪影響を与えることが無い。
【００７８】
ＵＳＢ３．０ホストのエラーにより８回以内でＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出できなかった場合に、ホストがエラーから回復したときに早めにＲｘ．Ｔｅｒｍｉｎａｔｉｏｎの検出ができるようにするために、ＵＳＢ３．０デバイスに対して、Ｂｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ以外のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの上限回数をＵＳＢ３．０により定められた８回より多いＮ回（Ｎ：９以上の整数）に増やすことも考えられる。すなわち、このようなＵＳＢ３．０デバイスは、Ｂｕｓ  Ｒｅｓｅｔ  Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎ以外では、Ｒｘ．Ｔｅｒｍｉｎａｔｉｏｎの検出をＮ回まで実行することができ、Ｎ回とも失敗した場合に、ＳＳ．Ｄｉｓａｂｌｅｄ状態に遷移する。以下、このようなＵＳＢ３．０デバイスを、ＵＳＢ３．０デバイス１２０及び従来のＵＳＢ３．０デバイスと異なる「別のＵＳＢ３．０デバイス」という。
【００７９】
図１１は、図５に対してさらに別のＵＳＢ３．０デバイスの動作を追加した図であり、ＵＳＢホスト１１０がＵＳＢ２．０である場合に、ＵＳＢ３．０デバイス１２０、従来のＵＳＢ３．０デバイス、別のＵＳＢ３．０デバイスの動作を示す図である。
【００８０】
この場合、図示のように、別のＵＳＢ３．０デバイスは、Ｒｘ．Ｔｅｒｍｉｎａｔｉｏｎの検出のＮ回の失敗の後にＳＳ．Ｄｉｓａｂｌｅｄ状態へ遷移するため、ＵＳＢ３．０デバイス１２０及び従来のＵＳＢ３．０デバイスに比べ、ＳＳ．Ｄｉｓａｂｌｅｄ状態への遷移が遅く、その結果、ＵＳＢ２．０接続の確立が遅くなってしまう。
【００８１】
図１２は、図６に対してさらに別のＵＳＢ３．０デバイスの動作を追加した図であり、ＵＳＢホスト１１０がＵＳＢ３．０ホストであり、かつ、該ＵＳＢ３．０ホストでエラーが生じず、１回目のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎにおいて８回以内でデバイスとホストがＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出した場合に、ＵＳＢ３．０デバイス１２０、従来のＵＳＢ３．０デバイス、別のＵＳＢ３．０デバイスの動作を示す図である。
【００８２】
この場合、図示のように、各ＵＳＢ３．０デバイス間で、ＳＳ接続が確立するまでの時間に差が無い。
【００８３】
図１３は、図７に対してはさらに別のＵＳＢ３．０デバイスの動作を追加した図であり、ＵＳＢホスト１１０がＵＳＢ３．０ホストであり、かつ、１回目のＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎにおいて該ホストのエラーによりデバイスがＳＳ．Ｄｉｓａｂｌｅｄ状態へ遷移した後にエラーが回復した場合に、ＵＳＢ３．０デバイス１２０、従来のＵＳＢ３．０デバイス、別のＵＳＢ３．０デバイスの動作を示す図である。
【００８４】
この場合、図示のように、従来の従来のＵＳＢ３．０デバイスに比べ、ＵＳＢ３．０デバイス１２０と別のＵＳＢ３．０デバイスは、共にＳＳ接続の確立が早くなっている。
【００８５】
図１１〜図１３に示す夫々のケース毎に、ＵＳＢ３．０デバイス１２０、従来のＵＳＢ３．０デバイス、別のＵＳＢ３．０デバイス間で、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの開始から、ＵＳＢ２．０接続またはＳＳ接続が確立するまでの時間を比較する。
【００８６】
図１４は、図８に対して、別のＵＳＢ３．０デバイスの場合にＵＳＢ２．０接続が確立するまでの時間を追加したものである。図示のように、ＵＳＢ２．０接続が確立するまでの時間は、ＵＳＢ３．０デバイス１２０と従来のＵＳＢ３．０デバイス間で同様であるが、別のＵＳＢ３．０デバイスは、ＵＳＢ２．０接続が確立するまでの時間が長い。
【００８７】
図１５は、図９に対して、別のＵＳＢ３．０デバイスの場合にＳＳ接続が確立するまでの時間を追加したものである。図示のように、ＳＳ接続が確立するまでの時間は、ＵＳＢ３．０デバイス１２０、従来のＵＳＢ３．０デバイス、別のＵＳＢ３．０デバイスのいずれの場合においても同様である。
【００８８】
図１６は、図１０に対して、別のＵＳＢ３．０デバイスの場合にＳＳ接続が確立するまでの時間を追加したものである。図示のように、ＳＳ接続が確立するまでの時間は、従来の従来のＵＳＢ３．０デバイスに比べ、ＵＳＢ３．０デバイス１２０と別のＵＳＢ３．０デバイスは、共に短くなっている。
【００８９】
すなわち、ＵＳＢ３．０ホストのエラーによりデバイス側がＵＳＢ３．０で定められたＲｘ．Ｔｅｒｍｉｎａｔｉｏｎ検出回数の上限の８回以内にＲｘ．Ｔｅｒｍｉｎａｔｉｏｎを検出できなった場合に、ＵＳＢ３．０デバイス１２０と別のＵＳＢ３．０デバイスは、従来のＵＳＢ３．０デバイスに比べ、共にＳＳ接続の確立を早く実現することができる。しかし、別のＵＳＢ３．０デバイスの場合は、ホストがＵＳＢ２．０ホストである場合に、別のＵＳＢ３．０デバイスは、ＵＳＢ２．０接続が遅くなってしまうという問題がある。
【００９０】
本実施の形態のＵＳＢシステム１００におけるＵＳＢ３．０デバイス１２０は、ＵＳＢ３．０規格があるものの、規格に準拠した動作をしないホストがある現状において、より大きな効果を発揮することができる。
【００９１】
例えば、よく知られているＵＳＢ機器メーカが製造しているＵＳＢ３．０機器の中に、規格に準拠して動作をしないＵＳＢ３．０ハブがある。このＵＳＢ３．０ハブは、ホストとしてＲｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎの実行中にエラーが生じ、その後エラーから回復しても、Ｒｅｃｅｉｖｅｒ  Ｄｅｔｅｃｔｉｏｎを試みるものの、ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔを実行しない。
【００９２】
このようなＵＳＢ３．０ハブの場合、従来のＵＳＢ３．０デバイスは、Ｒｘ．Ｄｅｔｅｃｔ状態に復帰するチャンスが無いため、ＳＳ接続もＵＳＢ２．０接続も確立できないままになる。ＵＳＢケーブルの抜差しなどの人為的な操作が無い限り、ホストとデバイス間の接続が確立せず、勿論通信もできない。
【００９３】
このような問題は、上記ＵＳＢ３．０ハブが規格に準拠した動作をしないために生じたものであり、本来ならば、該メーカ側で解決すべきである。しかし、該メーカがＵＳＢ機器市場で一定のシェアを占めてしまった場合、そのＵＳＢ３．０ハブが規格に準拠していなくても、不条理ながら、ＵＳＢ３．０デバイスのメーカ側での対処が要求される現状である。
【００９４】
上述した別のＵＳＢ３．０デバイスは、一旦ＳＳ．Ｄｉｓａｂｌｅｄ状態に入れば、ＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔが実行されないとＲｘ．Ｄｅｔｅｃｔ状態に復帰できないため、該別のＵＳＢ３．０デバイスによるＮ回のＲｘ．Ｔｅｒｍｉｎａｔｉｏｎの検出の継続中に上記ＵＳＢ３．０ハブがエラーから回復していなければ、従来のＵＳＢ３．０デバイスと同様に、ＵＳＢケーブルの抜差しなどの人為的な操作が無い限り、ホストとデバイス間の接続が確立せず、勿論通信もできない。
【００９５】
対して、本実施の形態のＵＳＢシステム１００における制御部２００によれば、ＳＳ．Ｄｉｓａｂｌｅｄ状態に入った後に、時間Ｔが経過してもＵＳＢ２．０  Ｂｕｓ  Ｒｅｓｅｔが生じない場合には自主的にＲｘ．Ｄｅｔｅｃｔ状態に復帰するため、上述のようなＵＳＢ３．０ハブの場合でも、該ＵＳＢ３．０ハブのエラーからの回復後に、ＳＳ接続の確立が可能である。
【００９６】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【００９７】
１０  ＵＳＢ３．０機器  ２０  共通部分
３０  ＳＳ部分  ３２  ＨＳ／ＦＳ／ＬＳエンドポイント・コントローラ
３４  リンク層  ３６  ＳＳ物理層
４０  ＵＳＢ２．０部分  ４２  ＵＳＢ２．０エンドポイント・コントローラ
４４  ＵＴＭＩ  ４６  ＨＳ／ＦＳ／ＬＳ物理層
５０  スイッチ  ６０  Ｒ＿Ｔｅｒｍ
１００  ＵＳＢシステム  １１０  ＵＳＢホスト
１１２  ＳＳ  Ｉｎｔｅｒｆａｃｅ  １１４  ＨＳ／ＦＳ／ＬＳ  Ｉｎｔｅｒｆａｃｅ
１２０  ＵＳＢ３．０デバイス  １３０  ＳＳブロック
１４０  ＳＳ接続部  １５０  Ｒｘ抵抗検出部
１５２  スイッチ  １５４  検出実行部
１６０  Ｒｘ抵抗部  １６２  スイッチ
１６４  Ｒ＿Ｔｅｒｍ  １７０  ＵＳＢ２．０ブロック
１８０  ＵＳＢ２．０受信部  １９０  ＵＳＢ２．０接続部
１９２  スイッチ  ２００  制御部
２１０  タイマー
【図１】
0005936498.tif 000002
【図２】
0005936498.tif 000003
【図３】
0005936498.tif 000004
【図４】
0005936498.tif 000005
【図５】
0005936498.tif 000006
【図６】
0005936498.tif 000007
【図７】
0005936498.tif 000008
【図８】
0005936498.tif 000009
【図９】
0005936498.tif 000010
【図１０】
0005936498.tif 000011
【図１１】
0005936498.tif 000012
【図１２】
0005936498.tif 000013
【図１３】
0005936498.tif 000014
【図１４】
0005936498.tif 000015
【図１５】
0005936498.tif 000016
【図１６】
0005936498.tif 000017
【図１８】
0005936498.tif 000018
【図２０】
0005936498.tif 000019
【図２１】
0005936498.tif 000020
【図２２】
0005936498.tif 000021
【図１７】
0005936498.tif 000022
【図１９】
0005936498.tif 000023