JP5042478B2 - 拡張されたusbプロトコル - Google Patents

拡張されたusbプロトコル Download PDF

Info

Publication number
JP5042478B2
JP5042478B2 JP2005232511A JP2005232511A JP5042478B2 JP 5042478 B2 JP5042478 B2 JP 5042478B2 JP 2005232511 A JP2005232511 A JP 2005232511A JP 2005232511 A JP2005232511 A JP 2005232511A JP 5042478 B2 JP5042478 B2 JP 5042478B2
Authority
JP
Japan
Prior art keywords
usb
port
data
active
bus
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.)
Expired - Fee Related
Application number
JP2005232511A
Other languages
English (en)
Other versions
JP2006065859A (ja
JP2006065859A5 (ja
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006065859A publication Critical patent/JP2006065859A/ja
Publication of JP2006065859A5 publication Critical patent/JP2006065859A5/ja
Application granted granted Critical
Publication of JP5042478B2 publication Critical patent/JP5042478B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、一般に、コンピューティングデバイスの分野に関する。より詳細には、本発明は、後方互換を保ちながら、ユニバーサルシリアルバス(USB)プロトコルを拡張するシステムおよび方法に関する。
ユニバーサルシリアルバス(USB)プロトコルは、コンピューティングデバイスにおいて多くの異なるアプリケーションに使用される標準バスインタフェースとなっている。このインタフェースは、データが中央ホストに接続されたすべてのデバイスに送信されるブロードキャスト機構に基づく。デバイスは、送信されたデータをUSBパケットヘッダ中のデバイスアドレスに基づき受け入れ、または拒否する。このアプローチの重大な欠点は、高価なシールドを使用する必要がある高い電磁妨害雑音(EMI)に繋がることである。
USB1.1プロトコルの別の態様によれば、デバイスは、低速(LS)または最高速度(FS)デバイスとしてUSBバスに接続する。バスのシリアルの性質に起因して、LSにおける最大帯域幅は1.5Mbpsである。LSでは、プロトコルは、8バイトのデータペイロードに19バイトのヘッダ情報が伴うことを規定する。これは、有効帯域幅を不利に小さくする。
Universal Serial Bus Specification, Revision 1.1, September 23, 1998
このため、後方互換(backward compatibility)を保ちながら、EMI問題を小さくし、低速における帯域幅を増加させるUSBプロトコルの拡張の必要性が存在する。本発明は、そのような解決策を提供する。
本発明は、オープンホストコントローラインタフェース(OHCI)設計、並びにユニバーサルシリアルバス(USB)ホストコントローラおよびホストコントローラソフトウェアドライバコンポーネント(複数)のインプリメンテーションの拡張を提供するためのシステムおよび方法を対象とする。USBはブロードキャスト機構を使用するため、すべてのルートハブポートがすべての(ブロードキャスト)データパケットを伝送する。本発明により、OHCIエンドポイント記述子の中の予約ビットを利用して、個々のデータパケットをルートハブ上の特定のポートを介してルーティングすることにより、USBプロトコルを強化する。本発明により、ハードウェアによって使用でき、どのポートが個別のデータパケットの伝送中にトライステート(tri-state)にされるかを効果的に管理するための情報を符号化する。本発明は、以上の様式で、完全に適合したUSB1.1デバイスで動作する(operate with)ことができる。さらに、すべてのポートに関して「オン」のビットを設定することにより、本発明は、一部のUSB1.1試験装置を使用してデバッグするのに役立つ可能性がある、標準USB機能も有利に保つ。
本発明の第1の態様によれば、コンピューティングシステムに、複数のポートを有するUSBルートハブ、プロトコルを使用して上記ポートに接続されたデバイスにデータを転送し、且つ、これらデバイスからデータを転送するようにUSBインタフェースに接続されたUSBホスト、およびUSBホストコントローラ(上記USBホストを上記コンピューティングシステムとインタフェースし、上記コンピューティングシステムとインタフェースする)を含むUSBバスが提供される。上記ホストコントローラは、上記ポートのうち少なくとも1つのポートをディセーブルして、上記プロトコルを介して特定のデバイスにデータを向かわせる。
本発明の特徴によれば、上記プロトコルはUSB改訂版1.1に準拠する。USBエンドポイント記述子の中の予約ビットは、いずれのポート(1つまたは複数)がデータを伝送すべきかを知らせるのに使用することができる。データを送信しないポート(1つまたは複数)はトライステートにされ、データを送信するポートは上記予約ビットの組み合わせに基づきイネーブルされる。
別の特徴によれば、接続されたデバイスが上記USBバスを介して通信を受信していない場合、個々のパケットが、接続されたデバイスに上記USBホストによって伝送され、これらデバイスがサスペンド状態に入らないようにすることが可能である。
別の特徴によれば、上記USBバスに接続された低速(LS)デバイスは、8バイトではなく、32バイトのデータペイロードを使用して通信する。本発明のプロトコルは、上記ポートのすべてにデータのブロードキャストを可能にすることもでき、USB1.1に準拠する形でLSデバイスに伝送を行うようにポートを設定することもできる。
さらに別の特徴によれば、上記USBバスに接続された低速(LS)デバイスが、すべてのポートを介してデータをブロードキャストするUSBホストに接続されたLSデバイスよりも低い放出(emission)を有する上記コンピューティングシステムと通信する上記USBバスに接続される。
本発明のさらなる特徴および利点は、添付の図面を参照して進められる例示的な諸実施形態の以下の詳細な説明から明らかにされる。
以下の概要、および好ましい諸実施形態の以下の詳細な説明は、添付の図面と併せて読むと、よりよく理解される。本発明を例示する目的で、図面には、本発明の典型的な構成が示されているが、本発明は、開示する特定の方法および手段(instrumentalities)に限定されない。
典型的なコンピューティング環境
図1は、本発明を実施することができる適切なコンピューティングシステム環境100の実施例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一実施例に過ぎず、本発明の用法または機能の範囲について、何ら限定を示唆するものではない。また、コンピューティング環境100が、典型的な動作環境100に例示したコンポーネントのいずれか1つ、またはいずれかの組み合わせに関連する依存関係または要件を有するものと解釈してはならない。
本発明は、他の多数の汎用または専用のコンピューティングシステム環境またはコンピューティングシステム構成で動作する。本発明で使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成の実施例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、通信網、または他のデータ伝送媒体を介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境においても実施することができる。分散コンピューティング環境では、プログラムモジュール、およびその他のデータは、メモリ記憶装置を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置することができる。
図1を参照すると、本発明を実施するための典型的なシステムは、コンピュータ110の形態で汎用コンピューティングデバイスを含む。コンピュータ110は、処理装置120、システムメモリ130、ならびにシステムメモリから処理装置120までを含む様々なシステムコンポーネントを結合するシステムバス121を含むことが可能であるが、以上には限定されない。システムバス121は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれであってもよい。一例として、限定としてではなく、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ(Industry Standard Architecture)(ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture)(MCA)バス、エンハンストISA(Enhanced ISA)(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(Video Electronics Standards Association)(VESA)ローカルバス、ペリフェラルコンポーネントインタコネクト(Peripheral Component Interconnect)(PCI)バス(メザニン(Mezzanine)バスとしても知られる)、ペリフェラルコンポーネントインタコネクトエクスプレス(Peripheral Component Interconnect Express)(PCI−Express)、およびシステムマネージメントバス(System Management Bus)(SMBus)を含むことができる。
コンピュータ110は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセスされることが可能な任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体がともに含まれる。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報の格納のために任意の方法または技術で実装された揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体がともに含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータ100によってアクセスされることが可能な他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構で、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを実現し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を符号化するような形で特定の1つまたは複数が設定または変更された信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、RF媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。以上の媒体のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含められなければならない。
システムメモリ130は、ROM131やRAM132などの揮発性メモリおよび/または不揮発性メモリの形態でコンピュータ記憶媒体を含む。起動中などに、コンピュータ110内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム133(BIOS)が、通常、ROM131の中に格納される。RAM132は、通常、処理装置120によって即時にアクセス可能であり、かつ/または現在、処理されているデータおよび/またはプログラムモジュールを含む。例として、限定としてではなく、図1は、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137を示す。アプリケーションプログラム135およびプログラムモジュール136はそれぞれ1つまたは1つ以上であってよい。
コンピュータ110は、その他のリムーバブルな/リムーバブルでない、揮発性/不揮発性のコンピュータ記憶媒体も含むことが可能である。単に例として、図1は、リムーバブルでない不揮発性の磁気媒体に対して読み取りまたは書き込みを行うハードディスクドライブ141、リムーバブルな不揮発性の磁気ディスク152に対して読み取りまたは書き込みを行う磁気ディスクドライブ151、およびCD−ROMまたは他の光媒体などの、リムーバブルな不揮発性の光ディスク156に対して読み取りまたは書き込みを行う光ディスクドライブ155を示す。典型的な動作環境で使用することができるその他のリムーバブルな/リムーバブルでない、揮発性/不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれるが、以上には限定されない。ハードディスクドライブ141は、通常、インタフェース140のようなリムーバブルでないメモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、通常、インタフェース150のようなリムーバブルなメモリインタフェースによってシステムバス121に接続される。
以上に説明し、図1に示したドライブ、および関連するコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータのストレージがコンピュータ110に提供される。図1では、例えば、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を格納しているのが示されている。アプリケーションプログラム145およびプログラムモジュール146はそれぞれ1つまたは1つ以上であってよい。以上のコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147は、少なくともそれらが異なるコピーであることを示すために、ここでは、異なる符号が与えられている。ユーザは、キーボード162や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス161などの入力デバイスを介して、コマンドおよび情報をコンピュータ110に入力することができる。その他の入力デバイス(図示せず)には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれることが可能である。以上、およびその他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インタフェース160を介して処理装置120に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインタフェースおよびバス構造で接続してもよい。モニタ191、または他のタイプのディスプレイデバイスも、ビデオインタフェース190のようなインタフェースを介して、システムバス121に接続される。モニタに加え、コンピュータは、出力周辺インタフェース195を介して接続することができる、スピーカ197やプリンタ196などの他の周辺出力デバイスも含むことが可能である。
コンピュータ110は、リモートコンピュータ180のような1つまたは複数のリモートコンピュータに対する論理接続を使用する、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードであってよく、通常、コンピュータ110に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置181だけを図1に示している。図示の論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、その他のネットワークも含むことができる。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
LANネットワーキング環境で使用される場合、コンピュータ110は、ネットワークインタフェースまたはネットワークアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される場合、コンピュータ110は、通常、インターネットなどのWAN173を介して通信を確立するためのモデム172、または他の手段を含む。内部にあることも、外部にあることも可能なモデム172は、ユーザ入力インタフェース160、または他の適切な機構を介してシステムバス121に接続されることが可能である。ネットワーク化された環境では、コンピュータ110に関連して示したプログラムモジュール、またはプログラムモジュールの諸部分は、リモートメモリ記憶装置の中に格納することができる。例として、限定としてではなく、図1は、リモートアプリケーションプログラム185が、メモリデバイス181上に常駐しているのを示す。リモートアプリケーションプログラム185は1つまたは1つ以上であってよい。図示したネットワーク接続は、典型的であり、コンピュータ間で通信リンクを確立するその他の手段も使用することができることが認められよう。
拡張されたUSBプロトコルの典型的な諸実施形態
ユニバーサルシリアルバス(USB)の動機は、コンピューティングと通信のますますの収斂、コンピューティングデバイスの柔軟性のある再構成の必要性、および外部周辺装置を追加する追加のポートの必要性などの、コンピューティングデバイスにおけるいくつかの進歩から来ている。概要として、USBは、ホストコンピュータと同時にアクセス可能な多様な周辺装置間のデータ交換をサポートするケーブルバスである。接続された周辺装置は、ホストによってスケジュールされたトークンベースのプロトコルを介して、USB帯域幅を共用する。このバスは、ホスト、およびその他の周辺装置が動作している間に、周辺装置が、接続され、構成され、使用され、取り外されることを可能にする。
USBシステムは、次の3つの定義づけの構成要素によって説明される。すなわち、USB相互接続、USBデバイス、およびUSBホストである。USB相互接続は、USBデバイスが、ホストに接続され、ホストと通信する仕方である。USB相互接続は、USBデバイスをUSBホストと接続する。USB物理相互接続は、各スターの中心にハブを有する階層スター型トポロジである。各ワイヤセグメントは、ホストとハブまたは機能、あるいは別のハブまたは機能に接続されたハブとの間のポイントツーポイント接続である。USBに関するさらなる詳細は、参照により全体が本明細書に組み込まれている(非特許文献1)で見ることができる。
いずれのUSBシステムにおいても1つのホストが存在する。ホストコンピュータシステムに対するUSBインタフェースは、ホストコントローラと呼ばれる。ホストコントローラは、ハードウェア、ファームウェア、またはソフトウェアの組み合わせで実施されることが可能である。ルートハブが、ホストシステムに組み込まれて、1つまたは複数の接続ポイントを提供する。
USBデバイスは、ハブおよびUSB機能を含むことが可能である。ハブが、さらなる接続ポイントを提供するのに対して、USB機能は、ISDN接続、デジタルジョイスティック、またはスピーカなどの、さらなる諸能力をシステムに提供する。USBデバイスは、次の点で、標準のUSBインタフェースを示す。すなわち、USBプロトコルの理解、標準のUSB動作に対する応答、および標準の能力記述情報である。
前述した通り、USBプロトコルは、データが、中央ホストに接続されたすべてのデバイスに送信されるブロードキャスト機構に基づく。デバイスは、USBパケットヘッダの中のデバイスアドレスに基づき、送信されたデータを受け入れるか、または拒否する。USBプロトコルによって採用されたブロードキャスト機構は、高価なシールドの使用を必要とする高レベルのEMIにつながる。というのは、EMI製品が放出することができる最大EMIを規制する、いくつかのFCC規則が存在するからである。本発明は、ホストドライバが、データのブロードキャストをディセーブルし、所定のポートに接続された特定のデバイスにデータを向かわせることを可能にすることにより、USBプロトコルを拡張して、EMIをFCC基準以内まで小さくする有効なやり方を提供する。
以上を達成するため、OHCIエンドポイント記述子の中の予約ビットを使用して、いずれのルートハブポートがデータを伝送すべきかがシグナルされる。USBエンドポイント記述子は、当業者には周知であり、図2および図3に詳細に示されている。本発明によれば、特定のポートに接続されたデバイスに伝送されるべき情報は、いずれのポートがトライステートにされ、いずれのポートがデータを送信するのにイネーブルされるかを管理するように、予約ビットを介して符号化される。例えば、5つのポートが実施される場合、ポート番号が、各トランザクションに関して、以下の通り、予約ビットDWord[29:27]を使用してエンドポイント記述子の中で符号化される。すなわち、
001−データをポート1に送信し、ポート2、3、4、5をトライステートにする。
010−データをポート2に送信し、ポート1、3、4、5をトライステートにする。
011−データをポート3に送信し、ポート1、2、4、5をトライステートにする。
100−データをポート4に送信し、ポート1、2、3、5をトライステートにする。
101−データをポート5に送信し、ポート1、2、3、4をトライステートにする。
111−すべてのポートをトライステートにする。
000−すべてのポートにブロードキャストする。
本発明は、5つのポートに限定されないことに留意されたい。というのは、追加のポート、または少数しかないポートが、エンドポイント記述子の中の追加の/より少ない予約ビットを介して管理されることが可能であるからである。また、すべてのポートに関して「オン」のビットを設定して(例えば、000)、本発明は、ブロードキャストモードを実施することにより、標準のUSB機能を有利に保つことができる。
接続されたデバイスが、USBバスを介して通信を受信していない場合、個々のパケットが、それらデバイスにルーティングされて、接続されたデバイスが、サスペンド状態に入らないようにする。これにより、相当に時間がかかる、デバイスをサスペンド状態から目覚めさせることを行わなければならないのではなく、デバイスが、有利にアクティブ状態に保たれる。
以上に説明した形でポートに信号を伝送することにより、高価なシールドの必要性を抑えながら、USBプロトコルを使用するより低い費用のソリューションを製造することができる。
以上に加えて、USB1.1標準は、デバイスが、低速(LS)デバイスとして、または最高速度(FS)デバイスとして接続することを可能にする。LSデバイスは、FSデバイスがホストに12MHzインタフェース速度で接続する場合、ホストに1.5MHzインタフェース速度で接続する。本発明は、最大データペイロードを32バイトまで拡張することにより、LSの帯域幅を向上させる。USBエンドポイントのペイロード・サイズは、図4に示す通り、USBエンドポイント記述子のwMaxPacketSizeフィールド中で指定される。これにより、デバイスが、デバイスのFIFOのサイズをホストシステムに伝えることが可能になる。USB1.1は、低速デバイスが、xMaxPacketSizeを、エンドポイントのいずれに関しても8バイトより大きく設定してはならないことを規定している。ホストコントローラのハードウェアとソフトウェアの組み合わせにより、この限度が実施される。一部のOHCIハードウェアは、この限度について関知せず(agnostic)、より大きいLSパケットサイズを簡単に許すが、本発明の拡張されたOHCIホストコントローラは、より大きいデータペイロードをサポートするLSデバイス、およびサポートしないLSデバイスと正しく相互動作する(interoperate)。しかし、より大きいデータペイロードを利用するデバイスは、そのデバイスを、そのエンドポイントの使用が必要ないモードにすることが可能でない限り、本発明の機能強化されたホストコントローラシステム(ソフトウェアおよびハードウェア)とだけ動作する。
本発明を、様々な図の好ましい諸実施形態に関連して説明してきたが、本発明を逸脱することなく、本発明の同一の機能を実行するために、他の類似した実施形態を使用すること、または説明した実施形態に変更または追加を行うこともできることを理解されたい。例えば、本出願で説明した本発明は、有線であれ、無線であれ、任意のコンピューティングデバイスまたはコンピューティング環境に適用されることができ、通信ネットワークを介して接続され、そのネットワークを介して対話する任意数のコンピューティングデバイスに適用されることができることが、当業者には認識されよう。さらに、特に無線ネットワーク化されたデバイスの数が急増するなかで、ハンドヘルドデバイスオペレーティングシステム、およびその他のアプリケーション固有のオペレーティングシステムを含め、様々なコンピュータプラットフォームが企図されていることが強調されなければならない。さらに、本発明は、複数の処理チップまたは処理デバイスの中で、またはそれらにわたって実施されることができ、ストレージに同様に、複数のデバイスにわたって実施されることができる。したがって、本発明は、いずれの単一の実施形態にも限定されるべきではなく、むしろ、添付の特許請求の範囲による広がりと範囲で解釈されなければならない。
本発明の諸態様を実施することができる典型的なコンピューティング環境を示すブロック図である。 OHCIエンドポイント記述子フォーマットを示すテーブルである。 OHCIエンドポイント記述子フィールド定義を示すテーブルである。 USBエンドポイント記述子を示すテーブルである。
符号の説明
100 コンピューティング環境
120 処理装置
121 システムバス
130 システムメモリ
134,144 オペレーティングシステム
135,145 アプリケーションプログラム
136,146 他のプログラムモジュール
137,147 プログラムデータ
140 リムーバブルでない不揮発性メモリのインタフェース
150 リムーバブルな不揮発性メモリのインタフェース
160 ユーザ入力インタフェース
161 マウス
162 キーボード
170 ネットワークインタフェース
171 ローカルエリアネットワーク
172 モデム
173 ワイドエリアネットワーク
180 リモートコンピュータ
185 リモートアプリケーションプログラム
190 ビデオインタフェース
191 モニタ
195 出力周辺インタフェース
196 プリンタ
197 スピーカ

Claims (8)

  1. コンピュータシステムにおけるUSBバスであって、
    複数のダウンストリームポートおよび1つのアップストリームポートを有するUSBルートハブと、
    前記アップストリームポートに接続され、かつ前記ダウンストリームポートに接続されたデバイスとの間でデータ転送を行うUSBホストと、
    前記USBホストを前記コンピュータシステムにインタフェースするUSBホストコントローラと
    を含み、
    前記USBルートハブは、前記アップストリームポートからデータパケットを受信し、該データパケットをアクティブなダウンストリームポートにブロードキャストするように構成され、それぞれのポートがアクティブか否かは所定のビットによって決定され、電力供給されたデバイスがダウンストリームポートに接続されている時に該ダウンストリームポートはアクティブであり、
    前記USBホストコントローラが、前記ビットの情報に基づいて、第1のオペレーションモードの全てのアクティブなダウンストリームポートに前記データパケットをブロードキャストするように構成され、
    前記USBホストコントローラが、前記ビットの情報に基づいて、第2のオペレーションモードの前記USBルートハブの特定のアクティブなダウンストリームポートにブロードキャストされ個々のデータパケットをブロックすることによって前記特定のポートにブロードキャストされ個々のデータパケットの送信をディセーブルするように構成され、
    前記USBホストコントローラが、個々のデータパケットをブロックする間、アクティブなデバイスをアクティブな状態に維持することができるパルスを前記第2のオペレーションモードの特定のダウンストリームポートに周期的に送信するように構成されることを特徴とするUSBバス。
  2. 前記ビットの情報は、OHCIエンドポイント記述子の予約ビット内にあることを特徴とする請求項に記載のUSBバス。
  3. 前記予約ビットはDWord0にあることを特徴とする請求項に記載のUSBバス。
  4. 前記USBホストコントローラは、低速デバイスについてデータパケットのペイロードを32バイトまで拡張するように構成されることを特徴とする請求項1に記載のUSBバス。
  5. USBバスをコンピュータシステムにインタフェースするUSBホストコントローラを有するコンピュータシステムにおいてUSBバスを介して通信する方法であって、
    前記方法は、
    USBホストの1つのダウンストリームポートに接続されるUSBルートハブが、該ダウンストリームポートからデータを受信し、該データの全てを第1のオペレーションモードのアクティブなダウンストリームポートにブロードキャストするステップであって、それぞれのポートがアクティブか否かは所定のビットによって決定され、該USBルートハブは、前記ビットの情報に基づいて該第1のオペレーションモードで動作するように構成され、該USBルートハブは、複数のダウンストリームポートおよび前記1つのアップストリームポートを含む、ステップと、
    前記ビットの情報に基づいて、第2のオペレーションモードの特定のアクティブなダウンストリームポートにブロードキャストされ個々のデータパケットの送信を前記USBホストコントローラがディセーブルするステップであって、該個々のデータパケットの送信は、該特定のポートにブロードキャストされ個々のデータパケットをブロックすることによってディセーブルされ、ダウンストリームポートは、電力供給されたデバイスがダウンストリームポートに接続されている時にアクティブな状態である、ステップと、
    前記データパケットの送信が特定のダウンストリームポートにパルスを周期的に送信することによってディセーブルされる一方、前記USBホストコントローラが、前記特定のダウンストリームポートに接続される電力供給されたデバイスをアクティブな状態に維持するステップであって、該電力供給されたデバイスは、ブロードキャストされデータが所定の時間内に受信されない場合にサスペンド状態になる、ステップと
    を含むことを特徴とする方法。
  6. 前記ビットの情報は、OHCIエンドポイント記述子の予約ビット内にあることを特徴とする請求項に記載の方法。
  7. 前記予約ビットの組み合わせに基づき、データを送信しないポートをイネーブルにしないステップと、データを伝送するポートをイネーブルするステップと、をさらに含むことを特徴とする請求項に記載の方法。
  8. 前記予約ビットはDWord0に位置することを特徴とする請求項に記載の方法。
JP2005232511A 2004-08-10 2005-08-10 拡張されたusbプロトコル Expired - Fee Related JP5042478B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/915,065 2004-08-10
US10/915,065 US7831748B2 (en) 2004-08-10 2004-08-10 Extended USB protocol with selective broadcast mechanism

Publications (3)

Publication Number Publication Date
JP2006065859A JP2006065859A (ja) 2006-03-09
JP2006065859A5 JP2006065859A5 (ja) 2008-09-25
JP5042478B2 true JP5042478B2 (ja) 2012-10-03

Family

ID=35056877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005232511A Expired - Fee Related JP5042478B2 (ja) 2004-08-10 2005-08-10 拡張されたusbプロトコル

Country Status (5)

Country Link
US (1) US7831748B2 (ja)
EP (1) EP1626346B1 (ja)
JP (1) JP5042478B2 (ja)
AT (1) ATE409912T1 (ja)
DE (1) DE602005010015D1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180735B2 (en) 2006-12-29 2012-05-15 Prodea Systems, Inc. Managed file backup and restore at remote storage locations through multi-services gateway at user premises
US11316688B2 (en) 2006-12-29 2022-04-26 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US11783925B2 (en) 2006-12-29 2023-10-10 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US9569587B2 (en) 2006-12-29 2017-02-14 Kip Prod Pi Lp Multi-services application gateway and system employing the same
US9602880B2 (en) 2006-12-29 2017-03-21 Kip Prod P1 Lp Display inserts, overlays, and graphical user interfaces for multimedia systems
US20170344703A1 (en) 2006-12-29 2017-11-30 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US7853725B2 (en) 2007-06-19 2010-12-14 Micron Technology, Inc. USB device communication apparatus, systems, and methods
CN101933007B (zh) * 2007-12-21 2015-07-22 金雅拓股份有限公司 Usb桥路
US8661173B2 (en) * 2008-03-31 2014-02-25 Intel Corporation USB data striping
US7908421B2 (en) * 2008-09-30 2011-03-15 Intel Corporation Universal serial bus endpoint context caching
JP5339958B2 (ja) 2009-02-18 2013-11-13 キヤノン株式会社 情報処理装置及び制御方法及びプログラム
GB2506803B (en) * 2011-08-10 2020-07-01 Srivastava Gita Apparatus and method for enhancing security of data on a host computing device and a peripheral device
US9264400B1 (en) * 2013-12-02 2016-02-16 Trend Micro Incorporated Software defined networking pipe for network traffic inspection
US10199848B2 (en) * 2014-07-28 2019-02-05 Qualcomm Incorporated Apparatuses, methods, and systems for enabling higher current charging of Universal Serial Bus (USB) specification revision 2.0 (USB 2.0) portable electronic devices from USB 3.X hosts
KR102341149B1 (ko) 2015-04-28 2021-12-20 삼성전자주식회사 전자 장치 운용 방법 및 이를 지원하는 전자 장치

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469473A (en) * 1994-04-15 1995-11-21 Texas Instruments Incorporated Transceiver circuit with transition detection
US5781796A (en) * 1995-06-06 1998-07-14 Lg Semicon Co., Ltd. System for automatic configuration of I/O base address without configuration program using readout data on common bus by responding device
US5623217A (en) * 1996-02-26 1997-04-22 Lucent Technologies Inc. Field programmable gate array with write-port enabled memory
US5784581A (en) * 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
JPH1196112A (ja) 1997-09-19 1999-04-09 Toshiba Corp I/oポート
US6359951B1 (en) * 1998-06-03 2002-03-19 Intel Corporation Method and apparatus for high speed signaling
US6389029B1 (en) * 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
US6182185B1 (en) * 1998-11-23 2001-01-30 Adc Telecommunications, Inc. Port switches
US6272644B1 (en) * 1999-01-06 2001-08-07 Matsushita Electrical Industrial Co., Ltd. Method for entering powersave mode of USB hub
JP2001043198A (ja) * 1999-07-30 2001-02-16 Nec Eng Ltd システム間通信制御方式
US6771664B1 (en) * 1999-12-28 2004-08-03 Intel Corporation Transaction scheduling for a bus system in a multiple speed environment
US6993032B1 (en) * 2000-06-29 2006-01-31 Intel Corporation Buffer arrangements to support differential link distances at full bandwidth
US6622178B1 (en) * 2000-07-07 2003-09-16 International Business Machines Corporation Method and apparatus for activating a computer system in response to a stimulus from a universal serial bus peripheral
US6512817B1 (en) * 2000-08-31 2003-01-28 Sprint Communications Company, LP Method and apparatus for polling telephony line status in an integrated services hub to reduce power consumption
JP2002297273A (ja) * 2001-03-29 2002-10-11 Sony Corp 電子機器
EP1271289B1 (en) * 2001-06-18 2009-09-23 Hewlett-Packard Development Company, L.P. Power supply management device and method for a computer equipment having powered I/O ports in standby mode
JP3813849B2 (ja) * 2001-09-14 2006-08-23 株式会社東芝 カード装置
US7103788B1 (en) * 2001-10-31 2006-09-05 Microsoft Corporation Selective suspension of bus devices
US7242766B1 (en) * 2001-11-21 2007-07-10 Silicon Image, Inc. Method and system for encrypting and decrypting data using an external agent
KR20030095828A (ko) 2002-06-14 2003-12-24 삼성전자주식회사 주변기기 인터페이스 장치 및 그에 적합한 우선 순위 제어방법
JP4018938B2 (ja) * 2002-06-20 2007-12-05 Necシステムテクノロジー株式会社 スイッチセキュリティ自動切替システム
JP3599048B2 (ja) * 2002-07-26 2004-12-08 セイコーエプソン株式会社 データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
US6732218B2 (en) * 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
US7069373B2 (en) * 2002-11-07 2006-06-27 Nec Electronics America, Inc. USB endpoint controller flexible memory management
US7460535B2 (en) * 2002-12-18 2008-12-02 Synopsys, Inc. Device and method that allows single data recovery circuit to support multiple USB ports
US7143224B2 (en) * 2003-05-09 2006-11-28 Stmicroelectronics, Inc. Smart card for performing advance operations to enhance performance and related system, integrated circuit, and methods
US7373522B2 (en) * 2003-05-09 2008-05-13 Stmicroelectronics, Inc. Smart card with enhanced security features and related system, integrated circuit, and methods
US20040237110A1 (en) * 2003-05-21 2004-11-25 Jones Morris E. Display monitor
US6993620B2 (en) * 2003-06-13 2006-01-31 Hewlett-Packard Development Company, L.P. User resource sharing through the USB interface
US7502878B1 (en) * 2003-06-27 2009-03-10 Cypress Semiconductor Corporation Method and apparatus for switching USB devices between multiple USB hosts
US7099980B1 (en) * 2003-12-18 2006-08-29 Emc Corporation Data storage system having port disable mechanism
US7284081B2 (en) * 2004-01-27 2007-10-16 Atmel Corporation Method and system for routing data between USB ports

Also Published As

Publication number Publication date
EP1626346A1 (en) 2006-02-15
DE602005010015D1 (de) 2008-11-13
US7831748B2 (en) 2010-11-09
ATE409912T1 (de) 2008-10-15
EP1626346B1 (en) 2008-10-01
US20060036780A1 (en) 2006-02-16
JP2006065859A (ja) 2006-03-09

Similar Documents

Publication Publication Date Title
JP5042478B2 (ja) 拡張されたusbプロトコル
JP4988859B2 (ja) エンハンスドワイヤレスusbプロトコル及びハブ
TWI407313B (zh) 統一多重傳送媒體連接器架構
US9882839B2 (en) Zero-latency network on chip (NoC)
US7996588B2 (en) Method and apparatus for real-time transport of multi-media information in a network
US6247083B1 (en) Method and apparatus for bi-directionally transferring data between an IEEE 1394 bus and a device to be controlled by a control signal transmitted via the bus
US8296469B2 (en) Scalable method and apparatus for link with reconfigurable ports
US5991831A (en) High speed serial communications link for desktop computer peripherals
US6754209B1 (en) Method and apparatus for transmitting and receiving network protocol compliant signal packets over a platform bus
JPH10511236A (ja) 等時周辺装置および非同期周辺装置を直列相互接続する方法および装置
US20090019192A1 (en) Usb transmission system and related method for accessing data in a first usb specification with a speed of a second usb specification
US6295277B1 (en) Method and apparatus for unambiguous topological determinancy in an unpowered stack configuration
US6742027B1 (en) Data processing system and method for permitting a server to remotely disable a client computer system's input device
CN106385595A (zh) 一种qam调制器
US10078615B1 (en) Ethernet controller with integrated multi-media payload de-framer and mapper
US20240004826A1 (en) Communication apparatus and data transmission method
US20090234976A1 (en) Peripheral device enabling enhanced communication
KR100324751B1 (ko) 전송속도 제어용 유에스비 허브 및 그의 제어방법
Buchanan et al. USB and Firewire
Eshack et al. Design of a Data Acquisition System for USB Devices over Gigabit Ethernet
JP2005151005A (ja) ネットワーク間を接続する通信機器およびネットワークを構成するユニット

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080811

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110309

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110511

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111021

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120711

R150 Certificate of patent or registration of utility model

Ref document number: 5042478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees