JP2018520434A - Usb2.0帯域幅予約のための方法およびシステム - Google Patents

Usb2.0帯域幅予約のための方法およびシステム Download PDF

Info

Publication number
JP2018520434A
JP2018520434A JP2017566363A JP2017566363A JP2018520434A JP 2018520434 A JP2018520434 A JP 2018520434A JP 2017566363 A JP2017566363 A JP 2017566363A JP 2017566363 A JP2017566363 A JP 2017566363A JP 2018520434 A JP2018520434 A JP 2018520434A
Authority
JP
Japan
Prior art keywords
usb
usb hub
endpoint
low throughput
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017566363A
Other languages
English (en)
Inventor
サントッシュ シェッティ,
サントッシュ シェッティ,
アキレシュ ニガム,
アキレシュ ニガム,
カール クロウフォード,
カール クロウフォード,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of JP2018520434A publication Critical patent/JP2018520434A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

USBハブ内の帯域幅を予約するためのシステムおよび方法が、開示される。本システムおよび方法は、データをバッファ内の少なくとも1つの下流エンドポイントから受信することと、バッファ内の現在の容量を識別することと、バッファの現在の容量をバッファ閾値と比較することと、少なくとも比較に基づいて、出力を発生させることと、少なくとも出力に基づいて、少なくとも1つの低スループットエンドポイントを動的にスロットリングすることと、少なくとも1つの低スループットエンドポイントのスロットルから利用可能な帯域幅をUSBデバイスに提供することによって、所定の帯域幅要件を有するUSBデバイスに所定の帯域幅を配分することとを含んでもよい。

Description

(関連出願への相互参照)
本出願は、同一出願人の、2015年7月22日に出願された米国仮特許出願第62/195,557号に対して優先権を主張する。上記文献は、全ての目的のためにここで参照することによって本明細書において援用される。
(技術分野)
本開示は、ユニバーサルシリアルバス技術に関し、具体的には、ユニバーサルシリアルバス(「USB」)バージョン2.0下における帯域幅予約に関する。
(背景)
具体的自動車用USB通信要件では、帯域幅を予約または優先する必要がある。USBハブは、USBプロトコル層におけるパススルー媒体であるため、帯域幅の予約または優先は、ハブポートのうちの1つに接続された特定のデバイスのために行われることができない。
例えば、あるモバイルプレーヤ、携帯電話等のいくつかのUSBデバイスは、専用仕様を駆動させる。本専用仕様は、モバイルプレーヤをUSBホストモードで動作させ、個別のプレーヤは、USB帯域幅のフル制御を有する。しかしながら、自動車の相手先商標製品製造業者(「OEM」)は、ホストモードを諦めることを所望せず、あるUSBハブ(例えば、本出願者によって製造されたUSBハブ)は、ホストブリッジングを提供することによって、本問題を解決する。本モードでは、メディアプレーヤは、帯域幅を他のUSBデバイスと共有する必要がある。USBバルク転送タイプは、帯域幅予約を提供しない。
(要約)
帯域幅をUSBハブ内で予約するためのシステムおよび方法が、開示される。本システムおよび方法は、データをバッファ内の少なくとも1つの下流エンドポイントから受信することと、バッファの現在の容量を識別することと、バッファの現在の容量をバッファ閾値と比較することと、少なくとも比較に基づいて、出力を発生させることと、少なくとも出力に基づいて、少なくとも1つの低スループットエンドポイントを動的にスロットリングすることと、少なくとも1つの低スループットエンドポイントのスロットルから利用可能な帯域幅をUSBデバイスに提供することによって、所定の帯域幅要件を有するUSBデバイスに所定の帯域幅を配分することとを含んでもよい。
種々の実施形態では、本システムおよび方法は、USBハブを含んでもよい。USBハブは、少なくとも1つの上流ポートおよび複数の下流ポートを含んでもよく、下流ポートは、USBホストとして動作し得るUSBデバイスに接続されることができ、USBデバイスは、所定の帯域幅要件を有し、USBハブは、低スループットエンドポイントの適応スロットリングによって、所定の帯域幅を該USBデバイスに配分するように構成される。
いくつかの実施形態では、USBハブは、ラウンドロビン方式で全てのアクティブバルクエンドポイントに対してフェアシェア帯域幅を配分する、USBホストスケジューラを含んでもよい。そのような実施形態では、より低速のエンドポイントは、遅延スケジュールにプッシュされる。いくつかの実施形態では、USBハブは、少なくとも1つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してNAK信号を発生させることによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。そのような実施形態では、USBハブは、低スループットエンドポイントから回収された少なくとも1つのマイクロフレームの残りを配分することによって、所定の帯域幅を該USBデバイスに配分するように構成されてもよい。また、そのような実施形態では、USBハブは、少なくとも1つのパケットを低スループットエンドポイントからドレインし、NAK信号で応答することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。
いくつかの実施形態では、所定の帯域幅は、少なくとも100mbpである。いくつかの実施形態では、USBハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、USBハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、USBハブはまた、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを含んでもよい。
種々の実施形態では、本システムおよび方法はまた、構成レジスタと、コンパレータとを含む、USBハブを含んでもよい。構成レジスタは、データを少なくとも1つの下流エンドポイントから受信し(バッファ内のデータをホストモードで動作する少なくとも1つの下流エンドポイントから受信し)、データを少なくとも1つの上流エンドポイントに通信するように動作可能なバッファと、バッファに通信可能に結合され、バッファの現在の容量を識別するように動作可能な回路とを含んでもよい。コンパレータは、バッファの現在の容量をバッファ閾値と比較し、かつ、スロットルを少なくとも1つの低スループットエンドポイントに提供するように動作可能なスロットルモジュールに通信可能に結合される信号を出力するように動作可能であってもよい。USBハブは、少なくとも1つの低スループットエンドポイントのスロットルから利用可能な帯域幅をUSBデバイスに提供することによって、所定の帯域幅要件を有するUSBデバイスに所定の帯域幅を配分するように構成されてもよい。
いくつかの実施形態では、USBハブは、ラウンドロビン方式で全てのアクティブバルクエンドポイントに対してフェアシェア帯域幅を配分する、USBホストスケジューラを含んでもよい。そのような実施形態では、より低速のエンドポイントは、遅延スケジュールにプッシュされる。いくつかの実施形態では、USBハブは、少なくとも1つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してNAK信号を発生させることによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。そのような実施形態では、USBハブは、低スループットエンドポイントから回収された少なくとも1つのマイクロフレームの残りを配分することによって、所定の帯域幅を該USBデバイスに配分するように構成されてもよい。また、そのような実施形態では、USBハブは、少なくとも1つのパケットを低スループットエンドポイントからドレインし、NAK信号で応答することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。
いくつかの実施形態では、所定の帯域幅は、少なくとも100mbpである。いくつかの実施形態では、USBハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、USBハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されてもよい。いくつかの実施形態では、USBハブはまた、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを含んでもよい。
種々の実施形態では、帯域幅をUSBハブ内で予約するための方法もまた、開示される。本方法は、バッファ内のデータを、ホストモードで動作する少なくとも1つの下流エンドポイントから受信することと、バッファの現在の容量を識別することと、バッファの現在の容量をバッファ閾値と比較することと、少なくとも比較に基づいて、出力を発生させることと、少なくとも出力に基づいて、少なくとも1つの低スループットエンドポイントを動的にスロットリングすることと、少なくとも1つの低スループットエンドポイントのスロットルから利用可能な帯域幅をUSBデバイスに提供することによって、所定の帯域幅要件を有するUSBデバイスに所定の帯域幅を配分することとを含んでもよい。
図1は、本開示のある実施形態による、帯域幅予約のための例示的USBハブトポロジのブロック図を図示する。 図2は、本開示のある実施形態による、高速USB帯域幅を複数のエンドポイント間で共有するための例示的公知のUSBマイクロフレームを図示する。 図3は、本開示のある実施形態による、高速USB帯域幅を複数のエンドポイント間で共有するための例示的USBマイクロフレームを図示する。 図4は、本開示のある実施形態による、USB帯域幅予約のための動的スロットリングを判定するための例示的システムおよび方法を図示する。 図5は、本開示のある実施形態による、帯域幅予約のための動的スロットリングを組み込む例示的USBハブの例示的ブロック図を図示する。
(詳細な説明)
自動車用途への電子機器の統合が増加するにつれて、関連付けられた電子機器の必要性に適応するためのそれらの自動車用途の能力がますます要求される。しかしながら、ある自動車用途では、そのような適応のための柔軟性が不十分である。例えば、具体的自動車用USB通信要件では、帯域幅を予約または優先する必要がある。しかしながら、従来のUSBハブは、USBプロトコル層におけるパススルー媒体であるため、帯域幅の予約または優先は、これらの従来のハブポートのうちの1つに接続される特定のデバイスのために行われることができない。
これは、自動車の状況では、例えば、メディアプレーヤが適切な動作のためにある量の帯域幅を要求する場合、問題となり得る。例えば、Omega Computerによって提供されるあるUSBハブは、適切な動作のために100mbp帯域幅を要求する。したがって、USB帯域幅を自動車用USBホスト内で予約し、帯域幅要件を満たすための機構が必要である。転送またはスロットリングされるべきトラフィックを判定するために、ハブは、着信パケットを検査しなければならない。既存のハブでは、パケットがデコードおよび構文解析される頃には、すでに決定するには遅すぎる。
本開示の種々の実施形態によると、ハブノードにおいてUSBホストによって配分される帯域幅を再分配するためのシステムおよび方法が、提供される。本開示の種々の実施形態によると、USBホストスケジューラが、全てのアクティブバルクエンドポイントのためにラウンドロビンフェアシェア帯域幅配分を実装する。ホストスケジューラは、低スループットエンドポイントの適応スロットリングを実装する。より低速のエンドポイントは、遅延スケジューラにプッシュされる。ハブは、帯域幅を要求しないUSBポートの適応スロットリングを実装してもよい。トラフィックシェーピングアルゴリズムが、ホストスケジューラを修正し、専用帯域幅を要求するデバイスのトラフィックを優先してもよい。さらに、リピータトラフィックは、ハブが転送またはスロットリングの決定を行う間、遅延されてもよい。
図1は、本開示のある実施形態による、帯域幅予約のための例示的USBハブトポロジ100のブロック図を図示する。いくつかの実施形態では、トポロジ100は、第1のUSBハブ104に通信可能に結合され、順に、第2のUSBハブ106に通信可能に結合され得る、USBホスト102を含んでもよい。USB2.0仕様の現在のバージョン下では、伝送に対する応答を期待する高速ホストまたはデバイスは、信号伝達が816ビット時間(約1.5μs)以内に認められない場合、トランザクションをタイムアウトしなければならない。ある公知のUSBハブでは、これは、ホストタイムアウトを超えるであろう遅延を生成する前に最大で5つのハブのみが直列に接続されることを可能にし得る。しかしながら、図2−5を参照して以下により詳細に説明されるように、本明細書に説明される帯域幅予約のためのシステムおよびための方法は、3〜4つの通常USBハブのタイミング空間を消費し得る。しかしながら、容認可能動作を伴って2段階をサポートするために十分なタイミング柔軟性を留保する。
したがって、例示的トポロジ100は、相互に通信可能に結合される第1のUSBハブおよび第2のUSBハブ106を図示する。各USBハブは、順に、それに通信可能に結合される1つ以上のUSBデバイスを有する。例えば、第1のUSBハブ104は、第1のUSBハブ104のポートに通信可能に結合される第1のUSBデバイス108および第2のUSBデバイス110を有してもよい。第2のUSBハブ106は、同様に、第2のUSBハブ106のポートに通信可能に結合される第3のUSBデバイス112を有してもよい。いくつかの実施形態では、USBデバイス108、110、112は、USB2.0(またはそれと互換性がある)シリアル通信プロトコルを介して、USBハブと通信するように動作可能な任意の適切な電子デバイスであってもよい。例えば、USBデバイス108、110、112は、タブレットコンピュータ、スマートフォン、メモリカード、GPSデバイス等であってもよい。理解を支援するために、ある数のUSBハブ104、106およびUSBデバイス108、110、112が、図1に図示されるが、当業者は、より多い、より少ない、および/または異なるUSBハブならびに/もしくはデバイスが、本開示の範囲から逸脱することなく、任意の所与の構成内に存在してもよいことに留意するであろう。
図2は、本開示のある実施形態による、高速USB帯域幅を複数のエンドポイント間で共有するための例示的公知のUSBマイクロフレーム200を図示する。本開示の目的のために、「エンドポイント」は、高速USB帯域幅の一部を要求する、任意の電子デバイス(またはサブセットもしくはそれらの組み合わせ)を指し得る。エンドポイントは、概して、USBデバイス108、110、112のうちの1つ以上もしくはその一部に対応し得る。
いくつかの実施形態では、マイクロフレーム200は、複数のトランザクション配分202−220を含んでもよい。いくつかの実施形態では、「トランザクション」は、USB伝送パケットのためのコマンド、データ、および応答位相ならびに関連付けられたタイミングを含んでもよい。いくつかの実施形態では、各トランザクション配分202−220に対する、マイクロフレーム200内の帯域幅の量は、約5,000USBビット時間(約10μs)であってもよい。いくつかの実施形態では、マイクロフレーム200は、約10のそのようなパケットトランザクション配分202-220を含んでもよいが、より多いまたはより少ないものが、本開示の範囲から逸脱することなく、任意の所与の構成内に存在してもよい。
いくつかの実施形態では、特定のエンドポイントと関連付けられたトランザクション配分202−220の数は、任意の所与の時間にバスの使用を要求するエンドポイントの数に依存する。例えば、図2の例示的マイクロフレーム200では、4つの異なるエンドポイント(「EP1」、「EP2」、「EP3」、および「EP4」として示される)が、アクセスを要求するが、より多い、より少ない、および/または異なるエンドポイントが、本開示の範囲から逸脱することなく、任意の所与の構成内に存在してもよい。図2の例示的マイクロフレーム200では、特定のエンドポイント(したがって、エンドポイントの関連付けられたUSBデバイス)と関連付けられた帯域幅の量は、要求が、従来、ラウンドロビン方式でサーブされるため、アクセスを要求するエンドポイントの数および要求の初期順序に完全に依存する。したがって、例えば、EP1は、マイクロフレーム200内で3つのトランザクション(例えば、トランザクション配分202、210、および218)に配分される。
いくつかの実施形態では、各トランザクションは、1つ以上の信号をUSBハブに送信することを含んでもよい。これらの信号は、222で例示的マイクロフレーム200内に表される。これらの信号は、パケット識別子(「PID」)、アドレス識別子(「ADDR」)、データ(「データ」)、巡回冗長検査(「CRC」)等を含んでもよい。
図3は、本開示のある実施形態による、高速USB帯域幅を複数のエンドポイント間で共有するための例示的USBマイクロフレーム300を図示する。本開示の目的のために、「エンドポイント」は、高速USB帯域幅の一部を要求する任意の電子デバイス(またはサブセットもしくはそれらの組み合わせ)を指し得る。エンドポイントは、概して、USBデバイス108、110、112のうちの1つ以上もしくはその一部に対応し得る。
いくつかの実施形態では、マイクロフレーム300は、複数のトランザクション配分302−320、324−328を含んでもよい。いくつかの実施形態では、「トランザクション」は、USB伝送パケットのためのコマンド、データ、および応答位相ならびに関連付けられたタイミングを含んでもよい。いくつかの実施形態では、各トランザクション配分302−320、324−328に対する、マイクロフレーム300内の帯域幅の量は、図4−5を参照して以下により詳細に説明されるように、関連付けられたトランザクションがスロットリングされたかどうかに依存して、可変であってもよい。
図3の例示的マイクロフレーム300では、「EP1」と示されるエンドポイントと関連付けられたUSBデバイスは、専用帯域幅を要求するものとして識別されている。いくつかの実施形態では、特定のUSBデバイスは、専用帯域幅を要求してもよい。同一または代替実施形態では、USBハブは、自動的に、専用帯域幅に値するものとして特定のUSBデバイスからの任意の要求を関連付けてもよい。例えば、上記により詳細に説明されるように、あるUSBデバイスは、そのデバイスがUSBハブを介して伝送する度に、専用帯域幅のある量(例えば、100mbp)を要求してもよい。したがって、本USBデバイスを適応させる試みにおいて、ハブは、特定のUSBデバイスからのもの以外の全ての要求を動的に適応的にスロットリングしてもよい。
再び図3を参照すると、図2を参照して上記により詳細に説明されるように、典型的にEP1と関連付けられ得るトランザクション配分(例えば、トランザクション配分302、310、318)は、フルビット時間配分(例えば、5,000USBビット時間)が与えられる。他のエンドポイントと関連付けられた他のトランザクション配分(例えば、トランザクション配分304、306、308、312、314、316)は、はるかに縮小されたビット時間配分にスロットリングされる。いくつかの実施形態では、ハブは、「NAK」ハンドシェイクパケットを提供することによって、本スロットリングを達成してもよい。本パケットは、概して、特定の機能がデータを伝送または受信不能であることを示すために使用される。しかしながら、本パケットをエラー条件で発生させるのではなく、種々の実施形態は、代わりに、関連付けられたエンドポイントがスロットリングされるべきときにパケットを自動的に発生させてもよい。スロットリングすべきパケットの判定は、図4−5を参照して以下により詳細に説明される。
いくつかの実施形態では、NAKパケットトランザクションは、はるかに縮小されたビット時間配分で完了されてもよい。例えば、トランザクションは、約783ビット時間で完了されてもよい。これらの縮小されたトランザクション配分を他のエンドポイントに与えることによって、指定された高速エンドポイントは、利用可能な帯域幅の多くを累積することが可能であり得る。例えば、他のトランザクション配分のサイズを縮小することによって、EP1は、さらなるトランザクション(例えば、トランザクション配分320、324、326、328)を引き起こすことが可能であり得る。したがって、例示的マイクロフレーム300内において、EP1は、それと関連付けられた3つではなく、7つのトランザクション配分(例えば、トランザクション配分302、310、318、320、324、326、328)を有してもよい。USB2.0(またはそれと互換性がある)規格下における最大数は、マイクロフレームあたり6〜8つのトランザクションであり得る。これは、約200〜256mbpの範囲を提供するであろう。これは、100mbpを要求する上記により詳細に説明される実施例のための十分な量の専用帯域幅を提供するであろう。
いくつかの実施形態では、各トランザクションは、1つ以上の信号をUSBハブに送信することを含んでもよい。これらの信号は、322で例示的マイクロフレーム300内に表される。これらの信号は、パケット識別子(「PID」)、アドレス識別子(「ADDR」)、データ(「データ」)、巡回冗長検査(「CRC」)、NAK等を含んでもよい。
図4は、本開示のある実施形態による、USB帯域幅予約のための動的スロットリングを判定するための例示的システム400および方法を図示する。いくつかの実施形態では、システム400は、ラッチ404に通信可能に結合され、コンパレータ406にさらに通信可能に結合され得る、バッファ402を含んでもよい。いくつかの実施形態では、バッファ402は、USBハブのデータバッファと関連付けられてもよい。エンドポイントは、図4に図示されるように、バッファを埋めるためのデータ書込プロセスおよびバッファを空にするためのデータ読取プロセスを行ってもよい。いくつかの実施形態では、エンドポイントによる書込トランザクション毎に、1最大転送単位(「MTU」)ずつバッファが埋められる。USB2.0仕様に関して、MTUは、512バイトである。同様に、エンドポイントによる読取トランザクション毎に、1MTUずつバッファから空にされる。
いくつかの実施形態では、バッファ402は、バッファの現在のデータ容量度(「バッファレベル」)と関連付けられた信号を発生させるように動作可能であってもよい。例えば、バッファ402は、フルであるバッファのパーセンテージ、バッファ内のデータの量等を示すバイナリ値を含有する信号を発生させるように動作可能であってもよい。本信号は、ラッチ404の入力に通信されてもよい。いくつかの実施形態では、バッファレベルは、周期的にサンプリングされてもよい。例えば、バッファレベルは、エンドポイントがハブへのアクセスを要求する度に、フレームの開始(「SOF」)時にサンプリングされてもよい。サンプリングポイントは、いくつかの実施形態では、ラッチ404に通信可能に結合され、したがって、サンプリングされた値をラッチ404の出力に提供するための信号408と関連付けられてもよい。
いくつかの実施形態では、ラッチ404の出力は、コンパレータ406の入力に通信可能に結合されてもよい。コンパレータ406の第2の入力は、いくつかの実施形態では、バッファ閾値410と関連付けられた信号であってもよい。バッファ閾値410は、いくつかの実施形態では、ハブを通してあるパケットのスロットリングをトリガする、プログラム可能および/または調節可能閾値であってもよい。例えば、バッファ閾値410は、フルであるバッファのパーセンテージに関する閾値、バッファ内のデータの量の閾値等を示すバイナリ値を含有する信号であってもよい。例えば、バッファ閾値は、バッファの容量の25%のプログラムされた値と関連付けられた信号であってもよい。
いくつかの実施形態では、コンパレータ406は、サンプリングされたバッファレベルの出力およびバッファ閾値410を比較する。本比較の第1の結果では、コンパレータ406は、第1の状態を出力し、第2の結果では、第2の状態を出力する。例えば、現在のサンプリングされたバッファレベルがバッファ閾値410より高い場合、コンパレータ406の出力は、論理高であってもよい一方、現在のサンプリングされたバッファレベルがバッファ閾値410より低い場合、コンパレータ406の出力は、論理低であってもよい。いくつかの実施形態では、コンパレータ406の出力は、ハブの他の回路に通信可能に結合され、「NAK」信号が識別されたUSBハブのためにアサートされるべきであることを示してもよい。これらの識別されたUSBハブは、事前に識別されてもよい(例えば、「専用帯域幅を要求する特定のUSBデバイスではない全てのUSBデバイス」)。
図5は、本開示のある実施形態による、帯域幅予約のための動的スロットリングを組み込む例示的USBハブの例示的ブロック図500を図示する。いくつかの実施形態では、USBハブは、それぞれ、上流および下流アナログフロントエンド(「AFE」)502、508を含んでもよい。AFEに結合されるのは、それぞれ、上流および下流物理層(「PHY」)504、506であってもよい。物理層間には、ハブコントローラ510、遅延ライン512、トランザクショントランスレータ(「TT」)514、マルチプレクサ516、高速スイッチ518、構成レジスタ520、およびスロットル(「NAK/ドレイン」)522を含む、複数のコンポーネントがあってもよい。
種々のコンポーネント510、512、514、516、518は、概して、当業者に公知である。しかしながら、種々の実施形態では、例示的USBハブはまた、構成レジスタ520と、スロットル522とを含んでもよい。これらの2つのコンポーネントの組み合わせは、概して、図4のコンポーネントと同一視されてもよい。構成レジスタ520は、概して、図4を参照して上記により詳細に説明されるように、バッファ402およびラッチ404の組み合わせと同一視されてもよい。いくつかの実施形態では、コンパレータ406はまた、構成レジスタ502の一部であってもよい。同一または代替実施形態では、コンパレータ406は、代わりに、スロットル522の一部であってもよい。いくつかの実施形態では、スロットル522はまた、指定されたUSBデバイスに対してNAK信号を発生させるように動作可能な回路を含んでもよい。これはまた、例えば、プログラム命令ならびにスロットルされるべき指定されたUSBデバイスの識別子を記憶するコンピュータ可読メモリを含んでもよい。
本開示の種々の実施形態では、ハブおよび下流ポートは両方とも、常時、高速であろう。上流および下流トラフィックは、高速リピータ経路を使用してもよい。これが該当するとき、スロットル522は、上流および下流方向の両方におけるパケット境界上のコネクティビティを設定ならびに切断してもよい。スロットル522はまた、両方向においてパケットを再クロックしてもよい。スロットル522はまた、シリアルデータを受信されたストリームから回収し、その独自のローカルクロックを使用して、それを伝送してもよい。USB2.0(および互換性がある)仕様は、リピータ経路を通して、36高速ビット時間の最大遅延を可能にする。
いくつかの実施形態では、スロットル522は、リピータ経路遅延を下流ポートに追加し、パケット構文解析時間を補償してもよい。全ての非帯域幅要求IN/OUT/PINGトークンは、信号412のアサート(例えば、assert_nak)に応じて仮想デバイスにルーティングされてもよい。仮想デバイスは、次いで、パケットをドレインし、NAKで応答してもよい。スロットル522は、上記および図1−4を参照してより詳細に説明される「標準」ハブ対「トラフィックシェーピング」特徴間で選択するためのモードを含んでもよい。
本開示の種々の実施形態は、USB帯域幅予約のためのシステムおよび方法を例証している。これは、例えば、特定のUSBデバイスが適切に機能するために専用帯域幅を要求することを可能にし得る。これは、ある状況(例えば、自動車用途)におけるUSB規格での増大された柔軟性を可能にし得る。

Claims (20)

  1. USBハブであって、
    少なくとも1つの上流ポートと複数の下流ポートとを備え、
    下流ポートは、USBホストとして動作し得るUSBデバイスに接続されることができ、前記USBデバイスは、所定の帯域幅要件を有し、前記USBハブは、低スループットエンドポイントの適応スロットリングによって、所定の帯域幅を前記USBデバイスに配分するように構成されている、USBハブ。
  2. 前記USBハブは、ラウンドロビン方式で全てのアクティブバルクエンドポイントに対してフェアシェア帯域幅を配分する、USBホストスケジューラを備える、請求項1に記載のUSBハブ。
  3. より低速のエンドポイントは、遅延スケジュールにプッシュされる、請求項1または請求項2に記載のUSBハブ。
  4. 前記USBハブは、少なくとも1つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してNAK信号を発生させることによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項3に記載のUSBハブ。
  5. 前記USBハブは、前記低スループットエンドポイントから回収された前記少なくとも1つのマイクロフレームの残りを配分することによって、前記所定の帯域幅を前記USBデバイスに配分するように構成されている、請求項4に記載のUSBハブ。
  6. 前記所定の帯域幅は、少なくとも100mbpである、前記請求項のうちの1項に記載のUSBハブ。
  7. 前記USBハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、前記請求項のうちの1項に記載のUSBハブ。
  8. 前記USBハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、前記請求項のうちの1項に記載のUSBハブ。
  9. 前記USBハブは、少なくとも1つのパケットを低スループットエンドポイントからドレインし、NAK信号で応答することによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、前記請求項のうちの1項に記載のUSBハブ。
  10. 前記USBハブはさらに、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを備える、前記請求項のうちの1項に記載のUSBハブ。
  11. USBハブであって、
    構成レジスタであって、
    ホストモードで動作する少なくとも1つの下流エンドポイントからデータを受信し、データを少なくとも1つの上流エンドポイントに通信するように動作可能なバッファと、
    前記バッファに通信可能に結合され、前記バッファの現在の容量を識別するように動作可能な回路と
    を備える、構成レジスタと、
    前記バッファの前記現在の容量をバッファ閾値と比較し、かつ、スロットルを少なくとも1つの低スループットエンドポイントに提供するように動作可能なスロットルモジュールに通信可能に結合される信号を出力するように動作可能なコンパレータと
    を備え、
    前記USBハブは、前記少なくとも1つの低スループットエンドポイントの前記スロットルから利用可能な帯域幅をUSBデバイスに提供することによって、所定の帯域幅要件を有する前記USBデバイスに所定の帯域幅を配分するように構成されている、USBハブ。
  12. 前記USBハブは、少なくとも1つのマイクロフレームの間、低スループットエンドポイントのそれぞれに対してNAK信号を発生させることによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項11に記載のUSBハブ。
  13. 前記USBハブは、前記低スループットエンドポイントから回収された前記少なくとも1つのマイクロフレームの残りを配分することによって、前記所定の帯域幅を前記USBデバイスに配分するように構成されている、請求項11または請求項12に記載のUSBハブ。
  14. 前記所定の帯域幅は、少なくとも100mbpである、請求項11−13のうちの1項に記載のUSBハブ。
  15. 前記USBハブは、リピータ経路遅延を下流ポートに追加することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項11−14のうちの1項に記載のUSBハブ。
  16. 前記USBハブは、パケット構文解析時間を補償することによって、低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項11−15のうちの1項に記載のUSBハブ。
  17. 前記USBハブは、少なくとも1つのパケットを低スループットエンドポイントからドレインし、NAK信号で応答することによって、前記低スループットエンドポイントを適応的にスロットリングするように構成されている、請求項11−16のうちの1項に記載のUSBハブ。
  18. 前記スロットルは、前記少なくとも1つのパケットを前記低スループットエンドポイントからドレインする仮想デバイスを備える、請求項18に記載のUSBハブ。
  19. 前記USBハブはさらに、標準的ハブ動作モードとトラフィックシェーピングモードとの間で選定するように動作可能なモード選択モジュールを備える、請求項11−18のうちの1項に記載のUSBハブ。
  20. 帯域幅をUSBハブ内で予約するための方法であって、前記方法は、
    バッファ内のデータを、ホストモードで動作する少なくとも1つの下流エンドポイントから受信することと、
    前記バッファの現在の容量を識別することと、
    前記バッファの前記現在の容量をバッファ閾値と比較することと、
    少なくとも前記比較に基づいて、出力を発生させることと、
    少なくとも前記出力に基づいて、少なくとも1つの低スループットエンドポイントを動的にスロットリングすることと、
    前記少なくとも1つの低スループットエンドポイントの前記スロットルから利用可能な帯域幅をUSBデバイスに提供することによって、所定の帯域幅要件を有する前記USBデバイスに所定の帯域幅を配分することと
    を含む、方法。
JP2017566363A 2015-07-22 2016-07-22 Usb2.0帯域幅予約のための方法およびシステム Pending JP2018520434A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562195557P 2015-07-22 2015-07-22
US62/195,557 2015-07-22
US15/216,447 US20170024344A1 (en) 2015-07-22 2016-07-21 Method and System for USB 2.0 Bandwidth Reservation
US15/216,447 2016-07-21
PCT/US2016/043638 WO2017015588A1 (en) 2015-07-22 2016-07-22 Method and system for usb 2.0 bandwidth reservation

Publications (1)

Publication Number Publication Date
JP2018520434A true JP2018520434A (ja) 2018-07-26

Family

ID=56609949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017566363A Pending JP2018520434A (ja) 2015-07-22 2016-07-22 Usb2.0帯域幅予約のための方法およびシステム

Country Status (7)

Country Link
US (1) US20170024344A1 (ja)
EP (1) EP3326347B1 (ja)
JP (1) JP2018520434A (ja)
KR (1) KR20180030985A (ja)
CN (1) CN107852423B (ja)
TW (1) TWI717373B (ja)
WO (1) WO2017015588A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3663368B1 (en) 2018-03-16 2021-09-01 Lg Chem, Ltd. Ink compositon and method for manufacturing organic light emitting device
US10970004B2 (en) * 2018-12-21 2021-04-06 Synopsys, Inc. Method and apparatus for USB periodic scheduling optimization
US11825575B2 (en) 2019-09-12 2023-11-21 Microchip Technology Incorporated Pulse-width modulation and arbitration for contextual and uniform LED illumination in USB applications
US11650835B1 (en) * 2020-03-31 2023-05-16 Amazon Technologies, Inc. Multiple port emulation
US11455196B2 (en) * 2020-09-01 2022-09-27 Dell Products L.P. Adaptive prioritization of USB traffic

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119190A (en) * 1996-11-06 2000-09-12 Intel Corporation Method to reduce system bus load due to USB bandwidth reclamation
US6748466B2 (en) * 2001-06-29 2004-06-08 Intel Corporation Method and apparatus for high throughput short packet transfers with minimum memory footprint
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
KR100557215B1 (ko) * 2003-08-19 2006-03-10 삼성전자주식회사 유에스비 디바이스의 엔드포인트 제어 장치 및 그 방법
US20060277330A1 (en) * 2005-06-01 2006-12-07 Wilhelmus Diepstraten Techniques for managing priority queues and escalation considerations in USB wireless communication systems
US20070066314A1 (en) * 2005-08-24 2007-03-22 Itay Sherman System and method for wireless communication systems coexistence
WO2008080107A2 (en) * 2006-12-22 2008-07-03 Qualcomm Incorporated Enhanced wireless usb protocol and hub
US9317824B2 (en) * 2007-01-17 2016-04-19 Hartford Fire Insurance Company Vendor management system and process
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
US7849251B2 (en) * 2007-12-07 2010-12-07 Intel Corporation Hardware assisted endpoint idleness detection for USB host controllers
US20110022769A1 (en) * 2009-07-26 2011-01-27 Cpo Technologies Corporation Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device
KR20120135231A (ko) * 2010-01-12 2012-12-12 시너칩 유에스에이 코포레이션 비디오 및 오디오용 디지털 상호작용 인터페이스를 통한 멀티미디어 usb 데이터 전송
US8549204B2 (en) * 2010-02-25 2013-10-01 Fresco Logic, Inc. Method and apparatus for scheduling transactions in a multi-speed bus environment
US20110208891A1 (en) * 2010-02-25 2011-08-25 Fresco Logic, Inc. Method and apparatus for tracking transactions in a multi-speed bus environment
US9019068B2 (en) * 2010-04-01 2015-04-28 Apple Inc. Method, apparatus and system for automated change of an operating mode relating to a wireless device
US9086889B2 (en) * 2010-04-27 2015-07-21 Oracle International Corporation Reducing pipeline restart penalty
US8793522B2 (en) * 2011-06-11 2014-07-29 Aliphcom Power management in a data-capable strapband
JP5791397B2 (ja) * 2011-07-07 2015-10-07 ルネサスエレクトロニクス株式会社 デバイスコントローラ、usbデバイスコントローラ及び電力制御方法
JP5819678B2 (ja) * 2011-08-30 2015-11-24 ルネサスエレクトロニクス株式会社 Usbハブ及びusbハブの制御方法
TWI497306B (zh) * 2012-11-29 2015-08-21 Faraday Tech Corp 超高速通用序列匯流排集線器及其相關流量管理方法
US9244872B2 (en) * 2012-12-21 2016-01-26 Ati Technologies Ulc Configurable communications controller
CN103905224B (zh) * 2012-12-26 2018-02-27 中国电信股份有限公司 网络资源集中管理的方法与系统
US9524260B2 (en) * 2014-06-18 2016-12-20 Qualcomm Incorporated Universal serial bus (USB) communication systems and methods
US9780938B2 (en) * 2015-06-25 2017-10-03 Intel IP Corporation Patch download with improved acknowledge mechanism

Also Published As

Publication number Publication date
TW201717039A (zh) 2017-05-16
EP3326347B1 (en) 2020-04-29
CN107852423B (zh) 2021-02-26
TWI717373B (zh) 2021-02-01
EP3326347A1 (en) 2018-05-30
CN107852423A (zh) 2018-03-27
KR20180030985A (ko) 2018-03-27
US20170024344A1 (en) 2017-01-26
WO2017015588A1 (en) 2017-01-26

Similar Documents

Publication Publication Date Title
US10868765B2 (en) Shaping traffic on PLCA-enabled 10SPE networks
US7308523B1 (en) Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
US5546543A (en) Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress
EP3326347B1 (en) Method and system for usb 2.0 bandwidth reservation
CN105260331B (zh) 一种双总线内存控制器
KR20140018368A (ko) 네트워크 터널을 통해 데이터를 전송하기 위한 방법 및 장치
JP2017211984A (ja) 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
WO2020047074A1 (en) Sending data using a plurality of credit pools at the receivers
US20050289278A1 (en) Apparatus and method for programmable completion tracking logic to support multiple virtual channels
US9411400B1 (en) Methods and systems for advertsing available credit at memory of network device ports based on temperature
US10705985B1 (en) Integrated circuit with rate limiting
US10263905B2 (en) Distributed flexible scheduler for converged traffic
EP3420452B1 (en) Interconnected hardware infrastructure resource control
CN112486871A (zh) 一种用于片上总线的路由方法以及系统
US8402178B2 (en) Device to device flow control within a chain of devices
KR101061187B1 (ko) 버스 시스템 및 그 제어 장치
US8219726B2 (en) Method for data transfer between host and device
US9025614B2 (en) Unified system networking with PCIE-CEE tunneling
US20220326855A1 (en) Peripheral component interconnect express interface device and operating method thereof
WO2024012015A1 (zh) 一种存储系统、主控芯片、数据存储方法及数据读取方法
CN118175111A (zh) 一种数据传输方法、dma控制器、设备及存储介质
CN117370223A (zh) 一种用于计算机通信接口的缓存分配方法及相关装置
JP2004054419A (ja) ノード間トランザクション処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200821

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210324