(57)【要約】ＵＳＢハブ内の帯域幅を予約するためのシステムおよび方法が、開示される。本システムおよび方法は、データをバッファ内の少なくとも１つの下流エンドポイントから受信することと、バッファ内の現在の容量を識別することと、バッファの現在の容量をバッファ閾値と比較することと、少なくとも比較に基づいて、出力を発生させることと、少なくとも出力に基づいて、少なくとも１つの低スループットエンドポイントを動的にスロットリングすることと、少なくとも１つの低スループットエンドポイントのスロットルから利用可能な帯域幅をＵＳＢデバイスに提供することによって、所定の帯域幅要件を有するＵＳＢデバイスに所定の帯域幅を配分することとを含んでもよい。【特許請求の範囲】
【請求項１】
ＵＳＢハブであって、
少なくとも１つの上流ポートと複数の下流ポートとを備え、
下流ポートは、ＵＳＢホストとして動作し得るＵＳＢデバイスに接続されることができ、前記ＵＳＢデバイスは、所定の帯域幅要件を有し、前記ＵＳＢハブは、低スループットエンドポイントの適応スロットリングによって、所定の帯域幅を前記ＵＳＢデバイスに配分するように構成されている、ＵＳＢハブ。
【請求項２】
前記ＵＳＢハブは、ラウンドロビン方式で全てのアクティブバルクエンドポイントに対してフェアシェア帯域幅を配分する、ＵＳＢホストスケジューラを備える、請求項１に記載のＵＳＢハブ。
【請求項３】
より低速のエンドポイントは、遅延スケジュールにプッシュされる、請求項１または請求項２に記載のＵＳＢハブ。
【請求項４】
前記ＵＳＢハブは、少なくとも１つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してＮＡＫ信号を発生させることによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項３に記載のＵＳＢハブ。
【請求項５】
前記ＵＳＢハブは、前記低スループットエンドポイントから回収された前記少なくとも１つのマイクロフレームの残りを配分することによって、前記所定の帯域幅を前記ＵＳＢデバイスに配分するように構成されている、請求項４に記載のＵＳＢハブ。
【請求項６】
前記所定の帯域幅は、少なくとも１００ｍｂｐである、前記請求項のうちの１項に記載のＵＳＢハブ。
【請求項７】
前記ＵＳＢハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、前記請求項のうちの１項に記載のＵＳＢハブ。
【請求項８】
前記ＵＳＢハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、前記請求項のうちの１項に記載のＵＳＢハブ。
【請求項９】
前記ＵＳＢハブは、少なくとも１つのパケットを低スループットエンドポイントからドレインし、ＮＡＫ信号で応答することによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、前記請求項のうちの１項に記載のＵＳＢハブ。
【請求項１０】
前記ＵＳＢハブはさらに、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを備える、前記請求項のうちの１項に記載のＵＳＢハブ。
【請求項１１】
ＵＳＢハブであって、
構成レジスタであって、
ホストモードで動作する少なくとも１つの下流エンドポイントからデータを受信し、データを少なくとも１つの上流エンドポイントに通信するように動作可能なバッファと、
前記バッファに通信可能に結合され、前記バッファの現在の容量を識別するように動作可能な回路と
を備える、構成レジスタと、
前記バッファの前記現在の容量をバッファ閾値と比較し、かつ、スロットルを少なくとも１つの低スループットエンドポイントに提供するように動作可能なスロットルモジュールに通信可能に結合される信号を出力するように動作可能なコンパレータと
を備え、
前記ＵＳＢハブは、前記少なくとも１つの低スループットエンドポイントの前記スロットルから利用可能な帯域幅をＵＳＢデバイスに提供することによって、所定の帯域幅要件を有する前記ＵＳＢデバイスに所定の帯域幅を配分するように構成されている、ＵＳＢハブ。
【請求項１２】
前記ＵＳＢハブは、少なくとも１つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してＮＡＫ信号を発生させることによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項１１に記載のＵＳＢハブ。
【請求項１３】
前記ＵＳＢハブは、前記低スループットエンドポイントから回収された前記少なくとも１つのマイクロフレームの残りを配分することによって、前記所定の帯域幅を前記ＵＳＢデバイスに配分するように構成されている、請求項１１または請求項１２に記載のＵＳＢハブ。
【請求項１４】
前記所定の帯域幅は、少なくとも１００ｍｂｐである、請求項１１−１３のうちの１項に記載のＵＳＢハブ。
【請求項１５】
前記ＵＳＢハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項１１−１４のうちの１項に記載のＵＳＢハブ。
【請求項１６】
前記ＵＳＢハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項１１−１５のうちの１項に記載のＵＳＢハブ。
【請求項１７】
前記ＵＳＢハブは、少なくとも１つのパケットを低スループットエンドポイントからドレインし、ＮＡＫ信号で応答することによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項１１−１６のうちの１項に記載のＵＳＢハブ。
【請求項１８】
前記スロットルは、前記少なくとも１つのパケットを前記低スループットエンドポイントからドレインする仮想デバイスを備える、請求項１８に記載のＵＳＢハブ。
【請求項１９】
前記ＵＳＢハブはさらに、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを備える、請求項１１−１８のうちの１項に記載のＵＳＢハブ。
【請求項２０】
帯域幅をＵＳＢハブ内で予約するための方法であって、前記方法は、
バッファ内のデータを、ホストモードで動作する少なくとも１つの下流エンドポイントから受信することと、
前記バッファの現在の容量を識別することと、
前記バッファの前記現在の容量をバッファ閾値と比較することと、
少なくとも前記比較に基づいて、出力を発生させることと、
少なくとも前記出力に基づいて、少なくとも１つの低スループットエンドポイントを動的にスロットリングすることと、
前記少なくとも１つの低スループットエンドポイントの前記スロットルから利用可能な帯域幅をＵＳＢデバイスに提供することによって、所定の帯域幅要件を有する前記ＵＳＢデバイスに所定の帯域幅を配分することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本出願は、同一出願人の、２０１５年７月２２日に出願された米国仮特許出願第６２／１９５，５５７号に対して優先権を主張する。上記文献は、全ての目的のためにここで参照することによって本明細書において援用される。
【０００２】
（技術分野）
本開示は、ユニバーサルシリアルバス技術に関し、具体的には、ユニバーサルシリアルバス（「ＵＳＢ」）バージョン２．０下における帯域幅予約に関する。
【背景技術】
【０００３】
（背景）
具体的自動車用ＵＳＢ通信要件では、帯域幅を予約または優先する必要がある。ＵＳＢハブは、ＵＳＢプロトコル層におけるパススルー媒体であるため、帯域幅の予約または優先は、ハブポートのうちの１つに接続された特定のデバイスのために行われることができない。
【０００４】
例えば、あるモバイルプレーヤ、携帯電話等のいくつかのＵＳＢデバイスは、専用仕様を駆動させる。本専用仕様は、モバイルプレーヤをＵＳＢホストモードで動作させ、個別のプレーヤは、ＵＳＢ帯域幅のフル制御を有する。しかしながら、自動車の相手先商標製品製造業者（「ＯＥＭ」）は、ホストモードを諦めることを所望せず、あるＵＳＢハブ（例えば、本出願者によって製造されたＵＳＢハブ）は、ホストブリッジングを提供することによって、本問題を解決する。本モードでは、メディアプレーヤは、帯域幅を他のＵＳＢデバイスと共有する必要がある。ＵＳＢバルク転送タイプは、帯域幅予約を提供しない。
【発明の概要】
【課題を解決するための手段】
【０００５】
（要約）
帯域幅をＵＳＢハブ内で予約するためのシステムおよび方法が、開示される。本システムおよび方法は、データをバッファ内の少なくとも１つの下流エンドポイントから受信することと、バッファの現在の容量を識別することと、バッファの現在の容量をバッファ閾値と比較することと、少なくとも比較に基づいて、出力を発生させることと、少なくとも出力に基づいて、少なくとも１つの低スループットエンドポイントを動的にスロットリングすることと、少なくとも１つの低スループットエンドポイントのスロットルから利用可能な帯域幅をＵＳＢデバイスに提供することによって、所定の帯域幅要件を有するＵＳＢデバイスに所定の帯域幅を配分することとを含んでもよい。
【０００６】
種々の実施形態では、本システムおよび方法は、ＵＳＢハブを含んでもよい。ＵＳＢハブは、少なくとも１つの上流ポートおよび複数の下流ポートを含んでもよく、下流ポートは、ＵＳＢホストとして動作し得るＵＳＢデバイスに接続されることができ、ＵＳＢデバイスは、所定の帯域幅要件を有し、ＵＳＢハブは、低スループットエンドポイントの適応スロットリングによって、所定の帯域幅を該ＵＳＢデバイスに配分するように構成される。
【０００７】
いくつかの実施形態では、ＵＳＢハブは、ラウンドロビン方式で全てのアクティブバルクエンドポイントに対してフェアシェア帯域幅を配分する、ＵＳＢホストスケジューラを含んでもよい。そのような実施形態では、より低速のエンドポイントは、遅延スケジュールにプッシュされる。いくつかの実施形態では、ＵＳＢハブは、少なくとも１つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してＮＡＫ信号を発生させることによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。そのような実施形態では、ＵＳＢハブは、低スループットエンドポイントから回収された少なくとも１つのマイクロフレームの残りを配分することによって、所定の帯域幅を該ＵＳＢデバイスに配分するように構成されてもよい。また、そのような実施形態では、ＵＳＢハブは、少なくとも１つのパケットを低スループットエンドポイントからドレインし、ＮＡＫ信号で応答することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。
【０００８】
いくつかの実施形態では、所定の帯域幅は、少なくとも１００ｍｂｐである。いくつかの実施形態では、ＵＳＢハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、ＵＳＢハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、ＵＳＢハブはまた、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを含んでもよい。
【０００９】
種々の実施形態では、本システムおよび方法はまた、構成レジスタと、コンパレータとを含む、ＵＳＢハブを含んでもよい。構成レジスタは、データを少なくとも１つの下流エンドポイントから受信し（バッファ内のデータをホストモードで動作する少なくとも１つの下流エンドポイントから受信し）、データを少なくとも１つの上流エンドポイントに通信するように動作可能なバッファと、バッファに通信可能に結合され、バッファの現在の容量を識別するように動作可能な回路とを含んでもよい。コンパレータは、バッファの現在の容量をバッファ閾値と比較し、かつ、スロットルを少なくとも１つの低スループットエンドポイントに提供するように動作可能なスロットルモジュールに通信可能に結合される信号を出力するように動作可能であってもよい。ＵＳＢハブは、少なくとも１つの低スループットエンドポイントのスロットルから利用可能な帯域幅をＵＳＢデバイスに提供することによって、所定の帯域幅要件を有するＵＳＢデバイスに所定の帯域幅を配分するように構成されてもよい。
【００１０】
いくつかの実施形態では、ＵＳＢハブは、ラウンドロビン方式で全てのアクティブバルクエンドポイントに対してフェアシェア帯域幅を配分する、ＵＳＢホストスケジューラを含んでもよい。そのような実施形態では、より低速のエンドポイントは、遅延スケジュールにプッシュされる。いくつかの実施形態では、ＵＳＢハブは、少なくとも１つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してＮＡＫ信号を発生させることによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。そのような実施形態では、ＵＳＢハブは、低スループットエンドポイントから回収された少なくとも１つのマイクロフレームの残りを配分することによって、所定の帯域幅を該ＵＳＢデバイスに配分するように構成されてもよい。また、そのような実施形態では、ＵＳＢハブは、少なくとも１つのパケットを低スループットエンドポイントからドレインし、ＮＡＫ信号で応答することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。
【００１１】
いくつかの実施形態では、所定の帯域幅は、少なくとも１００ｍｂｐである。いくつかの実施形態では、ＵＳＢハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、ＵＳＢハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、ＵＳＢハブはまた、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを含んでもよい。
【００１２】
種々の実施形態では、帯域幅をＵＳＢハブ内で予約するための方法もまた、開示される。本方法は、バッファ内のデータを、ホストモードで動作する少なくとも１つの下流エンドポイントから受信することと、バッファの現在の容量を識別することと、バッファの現在の容量をバッファ閾値と比較することと、少なくとも比較に基づいて、出力を発生させることと、少なくとも出力に基づいて、少なくとも１つの低スループットエンドポイントを動的にスロットリングすることと、少なくとも１つの低スループットエンドポイントのスロットルから利用可能な帯域幅をＵＳＢデバイスに提供することによって、所定の帯域幅要件を有するＵＳＢデバイスに所定の帯域幅を配分することとを含んでもよい。
【図面の簡単な説明】
【００１３】
【図１】図１は、本開示のある実施形態による、帯域幅予約のための例示的ＵＳＢハブトポロジのブロック図を図示する。
【図２】図２は、本開示のある実施形態による、高速ＵＳＢ帯域幅を複数のエンドポイント間で共有するための例示的公知のＵＳＢマイクロフレームを図示する。
【図３】図３は、本開示のある実施形態による、高速ＵＳＢ帯域幅を複数のエンドポイント間で共有するための例示的ＵＳＢマイクロフレームを図示する。
【図４】図４は、本開示のある実施形態による、ＵＳＢ帯域幅予約のための動的スロットリングを判定するための例示的システムおよび方法を図示する。
【図５】図５は、本開示のある実施形態による、帯域幅予約のための動的スロットリングを組み込む例示的ＵＳＢハブの例示的ブロック図を図示する。
【発明を実施するための形態】
【００１４】
（詳細な説明）
自動車用途への電子機器の統合が増加するにつれて、関連付けられた電子機器の必要性に適応するためのそれらの自動車用途の能力がますます要求される。しかしながら、ある自動車用途では、そのような適応のための柔軟性が不十分である。例えば、具体的自動車用ＵＳＢ通信要件では、帯域幅を予約または優先する必要がある。しかしながら、従来のＵＳＢハブは、ＵＳＢプロトコル層におけるパススルー媒体であるため、帯域幅の予約または優先は、これらの従来のハブポートのうちの１つに接続される特定のデバイスのために行われることができない。
【００１５】
これは、自動車の状況では、例えば、メディアプレーヤが適切な動作のためにある量の帯域幅を要求する場合、問題となり得る。例えば、Ｏｍｅｇａ  Ｃｏｍｐｕｔｅｒによって提供されるあるＵＳＢハブは、適切な動作のために１００ｍｂｐ帯域幅を要求する。したがって、ＵＳＢ帯域幅を自動車用ＵＳＢホスト内で予約し、帯域幅要件を満たすための機構が必要である。転送またはスロットリングされるべきトラフィックを判定するために、ハブは、着信パケットを検査しなければならない。既存のハブでは、パケットがデコードおよび構文解析される頃には、すでに決定するには遅すぎる。
【００１６】
本開示の種々の実施形態によると、ハブノードにおいてＵＳＢホストによって配分される帯域幅を再分配するためのシステムおよび方法が、提供される。本開示の種々の実施形態によると、ＵＳＢホストスケジューラが、全てのアクティブバルクエンドポイントのためにラウンドロビンフェアシェア帯域幅配分を実装する。ホストスケジューラは、低スループットエンドポイントの適応スロットリングを実装する。より低速のエンドポイントは、遅延スケジューラにプッシュされる。ハブは、帯域幅を要求しないＵＳＢポートの適応スロットリングを実装してもよい。トラフィックシェーピングアルゴリズムが、ホストスケジューラを修正し、専用帯域幅を要求するデバイスのトラフィックを優先してもよい。さらに、リピータトラフィックは、ハブが転送またはスロットリングの決定を行う間、遅延されてもよい。
【００１７】
図１は、本開示のある実施形態による、帯域幅予約のための例示的ＵＳＢハブトポロジ１００のブロック図を図示する。いくつかの実施形態では、トポロジ１００は、第１のＵＳＢハブ１０４に通信可能に結合され、順に、第２のＵＳＢハブ１０６に通信可能に結合され得る、ＵＳＢホスト１０２を含んでもよい。ＵＳＢ２．０仕様の現在のバージョン下では、伝送に対する応答を期待する高速ホストまたはデバイスは、信号伝達が８１６ビット時間（約１．５μｓ）以内に認められない場合、トランザクションをタイムアウトしなければならない。ある公知のＵＳＢハブでは、これは、ホストタイムアウトを超えるであろう遅延を生成する前に最大で５つのハブのみが直列に接続されることを可能にし得る。しかしながら、図２−５を参照して以下により詳細に説明されるように、本明細書に説明される帯域幅予約のためのシステムおよびための方法は、３〜４つの通常ＵＳＢハブのタイミング空間を消費し得る。しかしながら、容認可能動作を伴って２段階をサポートするために十分なタイミング柔軟性を留保する。
【００１８】
したがって、例示的トポロジ１００は、相互に通信可能に結合される第１のＵＳＢハブおよび第２のＵＳＢハブ１０６を図示する。各ＵＳＢハブは、順に、それに通信可能に結合される１つ以上のＵＳＢデバイスを有する。例えば、第１のＵＳＢハブ１０４は、第１のＵＳＢハブ１０４のポートに通信可能に結合される第１のＵＳＢデバイス１０８および第２のＵＳＢデバイス１１０を有してもよい。第２のＵＳＢハブ１０６は、同様に、第２のＵＳＢハブ１０６のポートに通信可能に結合される第３のＵＳＢデバイス１１２を有してもよい。いくつかの実施形態では、ＵＳＢデバイス１０８、１１０、１１２は、ＵＳＢ２．０（またはそれと互換性がある）シリアル通信プロトコルを介して、ＵＳＢハブと通信するように動作可能な任意の適切な電子デバイスであってもよい。例えば、ＵＳＢデバイス１０８、１１０、１１２は、タブレットコンピュータ、スマートフォン、メモリカード、ＧＰＳデバイス等であってもよい。理解を支援するために、ある数のＵＳＢハブ１０４、１０６およびＵＳＢデバイス１０８、１１０、１１２が、図１に図示されるが、当業者は、より多い、より少ない、および／または異なるＵＳＢハブならびに／もしくはデバイスが、本開示の範囲から逸脱することなく、任意の所与の構成内に存在してもよいことに留意するであろう。
【００１９】
図２は、本開示のある実施形態による、高速ＵＳＢ帯域幅を複数のエンドポイント間で共有するための例示的公知のＵＳＢマイクロフレーム２００を図示する。本開示の目的のために、「エンドポイント」は、高速ＵＳＢ帯域幅の一部を要求する、任意の電子デバイス（またはサブセットもしくはそれらの組み合わせ）を指し得る。エンドポイントは、概して、ＵＳＢデバイス１０８、１１０、１１２のうちの１つ以上もしくはその一部に対応し得る。
【００２０】
いくつかの実施形態では、マイクロフレーム２００は、複数のトランザクション配分２０２−２２０を含んでもよい。いくつかの実施形態では、「トランザクション」は、ＵＳＢ伝送パケットのためのコマンド、データ、および応答位相ならびに関連付けられたタイミングを含んでもよい。いくつかの実施形態では、各トランザクション配分２０２−２２０に対する、マイクロフレーム２００内の帯域幅の量は、約５，０００ＵＳＢビット時間（約１０μｓ）であってもよい。いくつかの実施形態では、マイクロフレーム２００は、約１０のそのようなパケットトランザクション配分２０２-２２０を含んでもよいが、より多いまたはより少ないものが、本開示の範囲から逸脱することなく、任意の所与の構成内に存在してもよい。
【００２１】
いくつかの実施形態では、特定のエンドポイントと関連付けられたトランザクション配分２０２−２２０の数は、任意の所与の時間にバスの使用を要求するエンドポイントの数に依存する。例えば、図２の例示的マイクロフレーム２００では、４つの異なるエンドポイント（「ＥＰ１」、「ＥＰ２」、「ＥＰ３」、および「ＥＰ４」として示される）が、アクセスを要求するが、より多い、より少ない、および／または異なるエンドポイントが、本開示の範囲から逸脱することなく、任意の所与の構成内に存在してもよい。図２の例示的マイクロフレーム２００では、特定のエンドポイント（したがって、エンドポイントの関連付けられたＵＳＢデバイス）と関連付けられた帯域幅の量は、要求が、従来、ラウンドロビン方式でサーブされるため、アクセスを要求するエンドポイントの数および要求の初期順序に完全に依存する。したがって、例えば、ＥＰ１は、マイクロフレーム２００内で３つのトランザクション（例えば、トランザクション配分２０２、２１０、および２１８）に配分される。
【００２２】
いくつかの実施形態では、各トランザクションは、１つ以上の信号をＵＳＢハブに送信することを含んでもよい。これらの信号は、２２２で例示的マイクロフレーム２００内に表される。これらの信号は、パケット識別子（「ＰＩＤ」）、アドレス識別子（「ＡＤＤＲ」）、データ（「データ」）、巡回冗長検査（「ＣＲＣ」）等を含んでもよい。
【００２３】
図３は、本開示のある実施形態による、高速ＵＳＢ帯域幅を複数のエンドポイント間で共有するための例示的ＵＳＢマイクロフレーム３００を図示する。本開示の目的のために、「エンドポイント」は、高速ＵＳＢ帯域幅の一部を要求する任意の電子デバイス（またはサブセットもしくはそれらの組み合わせ）を指し得る。エンドポイントは、概して、ＵＳＢデバイス１０８、１１０、１１２のうちの１つ以上もしくはその一部に対応し得る。
【００２４】
いくつかの実施形態では、マイクロフレーム３００は、複数のトランザクション配分３０２−３２０、３２４−３２８を含んでもよい。いくつかの実施形態では、「トランザクション」は、ＵＳＢ伝送パケットのためのコマンド、データ、および応答位相ならびに関連付けられたタイミングを含んでもよい。いくつかの実施形態では、各トランザクション配分３０２−３２０、３２４−３２８に対する、マイクロフレーム３００内の帯域幅の量は、図４−５を参照して以下により詳細に説明されるように、関連付けられたトランザクションがスロットリングされたかどうかに依存して、可変であってもよい。
【００２５】
図３の例示的マイクロフレーム３００では、「ＥＰ１」と示されるエンドポイントと関連付けられたＵＳＢデバイスは、専用帯域幅を要求するものとして識別されている。いくつかの実施形態では、特定のＵＳＢデバイスは、専用帯域幅を要求してもよい。同一または代替実施形態では、ＵＳＢハブは、自動的に、専用帯域幅に値するものとして特定のＵＳＢデバイスからの任意の要求を関連付けてもよい。例えば、上記により詳細に説明されるように、あるＵＳＢデバイスは、そのデバイスがＵＳＢハブを介して伝送する度に、専用帯域幅のある量（例えば、１００ｍｂｐ）を要求してもよい。したがって、本ＵＳＢデバイスを適応させる試みにおいて、ハブは、特定のＵＳＢデバイスからのもの以外の全ての要求を動的に適応的にスロットリングしてもよい。
【００２６】
再び図３を参照すると、図２を参照して上記により詳細に説明されるように、典型的にＥＰ１と関連付けられ得るトランザクション配分（例えば、トランザクション配分３０２、３１０、３１８）は、フルビット時間配分（例えば、５，０００ＵＳＢビット時間）が与えられる。他のエンドポイントと関連付けられた他のトランザクション配分（例えば、トランザクション配分３０４、３０６、３０８、３１２、３１４、３１６）は、はるかに縮小されたビット時間配分にスロットリングされる。いくつかの実施形態では、ハブは、「ＮＡＫ」ハンドシェイクパケットを提供することによって、本スロットリングを達成してもよい。本パケットは、概して、特定の機能がデータを伝送または受信不能であることを示すために使用される。しかしながら、本パケットをエラー条件で発生させるのではなく、種々の実施形態は、代わりに、関連付けられたエンドポイントがスロットリングされるべきときにパケットを自動的に発生させてもよい。スロットリングすべきパケットの判定は、図４−５を参照して以下により詳細に説明される。
【００２７】
いくつかの実施形態では、ＮＡＫパケットトランザクションは、はるかに縮小されたビット時間配分で完了されてもよい。例えば、トランザクションは、約７８３ビット時間で完了されてもよい。これらの縮小されたトランザクション配分を他のエンドポイントに与えることによって、指定された高速エンドポイントは、利用可能な帯域幅の多くを累積することが可能であり得る。例えば、他のトランザクション配分のサイズを縮小することによって、ＥＰ１は、さらなるトランザクション（例えば、トランザクション配分３２０、３２４、３２６、３２８）を引き起こすことが可能であり得る。したがって、例示的マイクロフレーム３００内において、ＥＰ１は、それと関連付けられた３つではなく、７つのトランザクション配分（例えば、トランザクション配分３０２、３１０、３１８、３２０、３２４、３２６、３２８）を有してもよい。ＵＳＢ２．０（またはそれと互換性がある）規格下における最大数は、マイクロフレームあたり６〜８つのトランザクションであり得る。これは、約２００〜２５６ｍｂｐの範囲を提供するであろう。これは、１００ｍｂｐを要求する上記により詳細に説明される実施例のための十分な量の専用帯域幅を提供するであろう。
【００２８】
いくつかの実施形態では、各トランザクションは、１つ以上の信号をＵＳＢハブに送信することを含んでもよい。これらの信号は、３２２で例示的マイクロフレーム３００内に表される。これらの信号は、パケット識別子（「ＰＩＤ」）、アドレス識別子（「ＡＤＤＲ」）、データ（「データ」）、巡回冗長検査（「ＣＲＣ」）、ＮＡＫ等を含んでもよい。
【００２９】
図４は、本開示のある実施形態による、ＵＳＢ帯域幅予約のための動的スロットリングを判定するための例示的システム４００および方法を図示する。いくつかの実施形態では、システム４００は、ラッチ４０４に通信可能に結合され、コンパレータ４０６にさらに通信可能に結合され得る、バッファ４０２を含んでもよい。いくつかの実施形態では、バッファ４０２は、ＵＳＢハブのデータバッファと関連付けられてもよい。エンドポイントは、図４に図示されるように、バッファを埋めるためのデータ書込プロセスおよびバッファを空にするためのデータ読取プロセスを行ってもよい。いくつかの実施形態では、エンドポイントによる書込トランザクション毎に、１最大転送単位（「ＭＴＵ」）ずつバッファが埋められる。ＵＳＢ２．０仕様に関して、ＭＴＵは、５１２バイトである。同様に、エンドポイントによる読取トランザクション毎に、１ＭＴＵずつバッファから空にされる。
【００３０】
いくつかの実施形態では、バッファ４０２は、バッファの現在のデータ容量度（「バッファレベル」）と関連付けられた信号を発生させるように動作可能であってもよい。例えば、バッファ４０２は、フルであるバッファのパーセンテージ、バッファ内のデータの量等を示すバイナリ値を含有する信号を発生させるように動作可能であってもよい。本信号は、ラッチ４０４の入力に通信されてもよい。いくつかの実施形態では、バッファレベルは、周期的にサンプリングされてもよい。例えば、バッファレベルは、エンドポイントがハブへのアクセスを要求する度に、フレームの開始（「ＳＯＦ」）時にサンプリングされてもよい。サンプリングポイントは、いくつかの実施形態では、ラッチ４０４に通信可能に結合され、したがって、サンプリングされた値をラッチ４０４の出力に提供するための信号４０８と関連付けられてもよい。
【００３１】
いくつかの実施形態では、ラッチ４０４の出力は、コンパレータ４０６の入力に通信可能に結合されてもよい。コンパレータ４０６の第２の入力は、いくつかの実施形態では、バッファ閾値４１０と関連付けられた信号であってもよい。バッファ閾値４１０は、いくつかの実施形態では、ハブを通してあるパケットのスロットリングをトリガする、プログラム可能および／または調節可能閾値であってもよい。例えば、バッファ閾値４１０は、フルであるバッファのパーセンテージに関する閾値、バッファ内のデータの量の閾値等を示すバイナリ値を含有する信号であってもよい。例えば、バッファ閾値は、バッファの容量の２５％のプログラムされた値と関連付けられた信号であってもよい。
【００３２】
いくつかの実施形態では、コンパレータ４０６は、サンプリングされたバッファレベルの出力およびバッファ閾値４１０を比較する。本比較の第１の結果では、コンパレータ４０６は、第１の状態を出力し、第２の結果では、第２の状態を出力する。例えば、現在のサンプリングされたバッファレベルがバッファ閾値４１０より高い場合、コンパレータ４０６の出力は、論理高であってもよい一方、現在のサンプリングされたバッファレベルがバッファ閾値４１０より低い場合、コンパレータ４０６の出力は、論理低であってもよい。いくつかの実施形態では、コンパレータ４０６の出力は、ハブの他の回路に通信可能に結合され、「ＮＡＫ」信号が識別されたＵＳＢハブのためにアサートされるべきであることを示してもよい。これらの識別されたＵＳＢハブは、事前に識別されてもよい（例えば、「専用帯域幅を要求する特定のＵＳＢデバイスではない全てのＵＳＢデバイス」）。
【００３３】
図５は、本開示のある実施形態による、帯域幅予約のための動的スロットリングを組み込む例示的ＵＳＢハブの例示的ブロック図５００を図示する。いくつかの実施形態では、ＵＳＢハブは、それぞれ、上流および下流アナログフロントエンド（「ＡＦＥ」）５０２、５０８を含んでもよい。ＡＦＥに結合されるのは、それぞれ、上流および下流物理層（「ＰＨＹ」）５０４、５０６であってもよい。物理層間には、ハブコントローラ５１０、遅延ライン５１２、トランザクショントランスレータ（「ＴＴ」）５１４、マルチプレクサ５１６、高速スイッチ５１８、構成レジスタ５２０、およびスロットル（「ＮＡＫ／ドレイン」）５２２を含む、複数のコンポーネントがあってもよい。
【００３４】
種々のコンポーネント５１０、５１２、５１４、５１６、５１８は、概して、当業者に公知である。しかしながら、種々の実施形態では、例示的ＵＳＢハブはまた、構成レジスタ５２０と、スロットル５２２とを含んでもよい。これらの２つのコンポーネントの組み合わせは、概して、図４のコンポーネントと同一視されてもよい。構成レジスタ５２０は、概して、図４を参照して上記により詳細に説明されるように、バッファ４０２およびラッチ４０４の組み合わせと同一視されてもよい。いくつかの実施形態では、コンパレータ４０６はまた、構成レジスタ５０２の一部であってもよい。同一または代替実施形態では、コンパレータ４０６は、代わりに、スロットル５２２の一部であってもよい。いくつかの実施形態では、スロットル５２２はまた、指定されたＵＳＢデバイスに対してＮＡＫ信号を発生させるように動作可能な回路を含んでもよい。これはまた、例えば、プログラム命令ならびにスロットルされるべき指定されたＵＳＢデバイスの識別子を記憶するコンピュータ可読メモリを含んでもよい。
【００３５】
本開示の種々の実施形態では、ハブおよび下流ポートは両方とも、常時、高速であろう。上流および下流トラフィックは、高速リピータ経路を使用してもよい。これが該当するとき、スロットル５２２は、上流および下流方向の両方におけるパケット境界上のコネクティビティを設定ならびに切断してもよい。スロットル５２２はまた、両方向においてパケットを再クロックしてもよい。スロットル５２２はまた、シリアルデータを受信されたストリームから回収し、その独自のローカルクロックを使用して、それを伝送してもよい。ＵＳＢ２．０（および互換性がある）仕様は、リピータ経路を通して、３６高速ビット時間の最大遅延を可能にする。
【００３６】
いくつかの実施形態では、スロットル５２２は、リピータ経路遅延を下流ポートに追加し、パケット構文解析時間を補償してもよい。全ての非帯域幅要求ＩＮ／ＯＵＴ／ＰＩＮＧトークンは、信号４１２のアサート（例えば、ａｓｓｅｒｔ＿ｎａｋ）に応じて仮想デバイスにルーティングされてもよい。仮想デバイスは、次いで、パケットをドレインし、ＮＡＫで応答してもよい。スロットル５２２は、上記および図１−４を参照してより詳細に説明される「標準」ハブ対「トラフィックシェーピング」特徴間で選択するためのモードを含んでもよい。
【００３７】
本開示の種々の実施形態は、ＵＳＢ帯域幅予約のためのシステムおよび方法を例証している。これは、例えば、特定のＵＳＢデバイスが適切に機能するために専用帯域幅を要求することを可能にし得る。これは、ある状況（例えば、自動車用途）におけるＵＳＢ規格での増大された柔軟性を可能にし得る。
【図１】
2018520434.tif 000002
【図２】
2018520434.tif 000003
【図３】
2018520434.tif 000004
【図４】
2018520434.tif 000005
【図５】
2018520434.tif 000006
【国際調査報告】
2018520434.tif 000007
2018520434.tif 000008
2018520434.tif 000009