説明

統一コネクタアーキテクチャ

【課題】統一コネクタアーキテクチャを提供することを目的とする。
【解決手段】システム、装置及び方法が開示される。一実施例では、システムは、第1のプロトコルを使用する第1のホストコントローラを含む。システムはまた、第2のプロトコルを使用する第2のホストコントローラを含む。システムはまた、統一コネクタポートを含む。最後に、システムは、第1のホストコントローラと第2のホストコントローラと統一コネクタポートとに結合されたルータを含む。機能的に、ルータは、第1のホストコントローラから受信した物理レイヤパケットを第1の統一コネクタのプロトコルのフレームにカプセル化し、新たな第1のフレームを統一コネクタポートに送信することができる。ルータはまた、第2のホストコントローラから受信した物理レイヤパケットを第2の統一コネクタのプロトコルのフレームにカプセル化し、第2のフレームを統一コネクタポートに送信することができる。第1及び第2のプロトコルは、同じプロトコルではない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムを通じた統一コネクタアーキテクチャ(unified connector architecture)の実装に関する。
【背景技術】
【0002】
現在のコンピュータプラットフォームアーキテクチャは、コンピュータプラットフォームとプラットフォームに接続された周辺機器との間の複数の様々な種類のI/Oを実装する様々なホストコントローラを有する。例えば、グラフィックホストコントローラは、対応する接続インタフェース(すなわち、コンピュータプラットフォームにディスプレイ装置を接続するケーブルの終端のプラグ)とのアナログ及びデジタルポートを潜在的に有する。プラットフォーム内のローカルエリアネットワークコントローラは、一般的に1つ以上のEthernet(登録商標)ジャックを有する。USB(Universal Serial Bus)サブシステムは、複数の関連するUSBプラグインタフェースを有する。IEEE 1394 Firewireもまた、1つ以上のプラグインタフェースを有してもよい。周辺機器をコンピュータプラットフォームに接続する異なる別々のポート及び関連するハードウェアインタフェースのリストは、増え続ける。これらのインタフェース及び対応するハードウェアジャック/プラグを有するコンピュータプラットフォームは、このハードウェアの全てを1つの場所に取り込むために、大量のマザーボード及びケースの場所のかなりの要件を有する。これは、これらのインタフェースを完全に補うというモバイルコンピュータの機能を制限しており、不都合なことに、多くのデスクトップシステムの背面周辺機器インタフェースも同様に、サイズ面で増加している。
【図面の簡単な説明】
【0003】
【図1】統一コネクタアーキテクチャのシステムレベルでの実装の一実施例
【図2】統一コネクタアーキテクチャ(UCA:unified connector architecture)の一実施例
【図3】単体グラフィック及びローカルエリアネットワーク(LAN)カードの統一コネクタアーキテクチャのスロットコネクタの実施例
【図4】周辺機器装置に拡張された統一コネクタアーキテクチャの一実施例
【図5】統一コネクタアーキテクチャの環境においてデータパケットをルーティングする処理の一実施例のフローチャート
【発明を実施するための形態】
【0004】
本発明について、図面により一例として説明するが、本発明は図面により限定されない。図面において同様の参照符号は同様の要素を示す。
【0005】
コンピュータプラットフォーム上に統一コネクタアーキテクチャ(unified connector architecture)を実装するシステム、装置及び方法の実施例について説明する。以下の説明では、複数の特有の詳細が示されている。しかし、実施例はこれらの特有の詳細なしに実施されてもよいことがわかる。他の場合にも、周知の要素、仕様及びプロトコルは、本発明をあいまいにしないために説明しない。
【0006】
図1は、統一コネクタアーキテクチャのシステムレベルでの実装の一実施例を示している。多くの実施例では、システムは、1つ以上のプロセッサ(中央処理装置(CPU)等)100を含む。異なる実施例では、CPU100は、1つのコア又は複数のコアを含んでもよい。或る実施例では、システムは、各プロセッサが1つのコア又は複数のコアを有するマルチプロセッサシステム(図示せず)である。
【0007】
CPU100は、1つ以上の高速リンク(すなわち、相互接続、バス等)を通じてシステムメモリ102に結合される。システムメモリ102は、CPU100がプログラムとオペレーティングシステムとを動作して実行するために利用される情報を格納することができる。異なる実施例では、システムメモリ102は、ダイナミックランダムアクセスメモリ(DRAM)の形式のような如何なる使用可能な種類の読み取り可能及び書き込み可能メモリでもよい。
【0008】
或る実施例では、CPU100はまた、更なる高速リンクを通じて単体(discrete)グラフィックコントローラ104に結合される。単体グラフィックコントローラ104は、スロットコネクタを通じてマザーボード又は他のこのような印刷回路基板に物理的に結合されてもよい。多くの実施例では、単体グラフィックコントローラは、PCI Express(R)グラフィックスロットコネクタに接続されたPCI Express(R)グラフィックコントローラ/カードでもよい。この場合、PCI Express(R)グラフィックコントローラ/カードは、2006年12月20日に公開されたPCI Express(R) Base Specification, Rev. 2.0のような仕様の改訂に準拠してもよい。他の実施例では、単体グラフィックコントローラは、PCI Express(R)以外のプロトコルを利用する。或る実施例では、CPU100は、複数の単体グラフィックコントローラに結合される(複数の単体グラフィックコントローラを有する実施例は示されていない)。
【0009】
CPU100はまた、I/Oコンプレックス106に結合される。I/Oコンプレックス106は、1つ以上のI/Oホストコントローラを収容してもよい。各I/Oホストコントローラは、CPU100がコンピュータシステムに接続されたI/O周辺機器と通信することを可能にする1つ以上のI/Oリンクを制御する。ディスプレイ108、ディスプレイ110及び無線ルータ112のようなI/O周辺機器は、コンピュータシステムに接続され得るI/O周辺機器の例である。
【0010】
多くの実施例では、I/Oコンプレックス106は、単体ネットワークインタフェースコントローラ(NIC:network interface controller)114に結合される。単体NIC114は、コンピュータシステムとコンピュータシステムの外部の1つ以上のネットワークとの間のインタフェースを提供することができる。これらのネットワークは、コンピュータが位置するドメイン内に無線及び有線イントラネットネットワークのようなネットワークを含んでもよく、また、それ自体がインターネットを含んでもよい。
【0011】
多くの実施例では、図1のシステムは、統一コネクタアーキテクチャ(UCA:unified connector architecture)ルータ116を含む。UCAルータ116は、1つ以上の高速リンクを通じて1つ以上の統一コネクタポートに結合される。ここでは、4つの統一コネクタポート(ポート118、ポート120、ポート122及びポート124)が示されている。UCAルータ116はまた、前述のように、1つ以上のI/Oリンクを通じてI/Oコンプレックス106に結合される。これらは、USB(Universal Serial Bus)及び/又は他の潜在的なI/OリンクのようなI/Oリンクを含む。図1は、3つのこのようなリンク(I/Oリンク126、I/Oリンク128及びI/Oリンク130)を示している。
【0012】
多くの実施例では、UCAルータ116は、コンピュータシステムのマザーボード136上の単体コンポーネントである。他の実施例では、UCAルータは、I/Oコンプレックス106に統合されてもよい(これらの実施例は図示されない)。
【0013】
これまでに実装されているコンピュータシステムでは、I/Oコンプレックス106の反対のI/Oリンクの終端は、互換性のある周辺機器がポートに接続することを可能にするプロトコル特有のポートである(すなわち、USBキーボード装置はUSBポートに接続され、無線ルータ装置はLAN/Ethernet(登録商標)ポートに接続される等)。いずれかの単一のポートは、互換性のあるプラグ及び互換性のあるプロトコルを有する装置に限定される。互換性のある装置がポートに接続されると、通信リンクは、I/Oコンプレックスと周辺機器との間に確立される。
【0014】
図1に示す実施例に記載のコンピュータシステムでは、I/Oリンク(126-130)は、I/Oコンプレックス106をUCAルータ116に結合し、次にルータは、元々は特有のホストコントローラのプロトコルのデータパケットフォーマットで送信されたデータパケットを、統一コネクタのプロトコルのデータパケットフォーマットにカプセル化する。UCAルータ116は、統一コネクタのプロトコルのデータパケットを、対象の周辺機器が接続(すなわち、結合、プラグ接続)された統一コネクタポートにルーティングする。従って、これらの実施例では、ディスプレイ108、ディスプレイ110及び無線ルータ112のようなI/O周辺機器は、全て統一コネクタのプロトコルに準拠しており、統一コネクタポート(118-124)のいずれか1つに接続する統一コネクタ形状因子のプラグを有する。
【0015】
更に、UCAルータ116は、接続された周辺機器のいずれかから入来した統一コネクタのプロトコルのデータパケットを、I/Oコンプレックス内で対象のI/Oホストコントローラにネイティブのプロトコルに変換する。
【0016】
従って、コンピュータシステムから周辺機器に送信されると共に周辺機器からコンピュータシステムに送信されたI/Oデータ(例えば、ディスプレイ、ネットワーキング、USB等)は、それぞれの統一コネクタのプロトコルのデータパケットの内部の物理レイヤでパケット化及びカプセル化される。単体グラフィック及び単体NICコントローラに関して、これらのコントローラは、各プロトコルスタックにより規定された物理レイヤに従ってフォーマットされたI/Oデータを生成及び受信する。このデータが統一コネクタポートで伝搬されると、統一コネクタのデータプロトコルにより規定されたパケットフォーマット(すなわち、フレームフォーマット)に更にカプセル化される。どのようにUCAルータ116がカプセル化及びパケット化を実現するかの特有の実装は、図2を参照して以下に詳細に説明する。
【0017】
図1に戻ると、多くの実施例では、単体NIC114と共に単体グラフィックコントローラ104をUCAルータ116に直接結合する更なる専用リンクが示されている。これらのリンクは、それぞれ点線のリンク132及び134として示されている。ディスプレイ及びネットワークの点線のリンクは、ディスプレイ装置及び/又はネットワーク装置が統一コネクタポート(例えば、統一コネクタポート118-124の1つ)を通じてコンピュータシステムに接続されることを可能にする。リンク132及び134は、単体カードに直接接続されたポートから、これまでに必要なディスプレイ及びネットワーク結合場所を除去する。例えば、これまでは、ディスプレイ周辺機器は、グラフィックカードのディスプレイポートに直接接続されている。統一コネクタアーキテクチャの実装では、ディスプレイ及びネットワーク装置は、統一コネクタポートに接続される。統一コネクタポートは、単体グラフィックコントローラ104カードの代わりにシステムマザーボード136に位置する。
【0018】
図2は、統一コネクタアーキテクチャ(UCA)ルータ及びそれに伴う統一コネクタアーキテクチャロジックの一実施例を示している。図1では、UCAルータ116は、複数のホストコントローラ(ディスプレイコントローラ200、202及び204、NIC206及び208、USBホストコントローラ210)に結合されて示されている。更に、UCAルータ116はまた、複数の統一コネクタポート(ポート212-220)に結合されている。更に、複数の周辺機器が、複数のポートに接続されている。周辺機器1(P1)のウェブカメラ222は、統一コネクタポート212に結合された周辺機器2(P2)のディスプレイモニタ224に結合される。周辺機器3(P3)のディスプレイモニタ226は、統一コネクタポート214に結合される。周辺機器4(P4)の無線ルータ228は、統一コネクタポート218に結合される。最後に、周辺機器5(P5)のUSBプリンタ230は、統一コネクタポート220に結合される。
【0019】
多くの実施例では、統一コネクタアーキテクチャは、ホストコントローラ(200-210)と接続された周辺機器(222-230)との間でデータを交換するためにパケット交換通信を使用する。パケット交換は、ホストコントローラと周辺機器装置との間の一般的なパケット伝送方法である。一般的な発見プロトコルが、プラットフォームに接続された周辺機器を列挙し、また、周辺機器のいずれかのホットプラグ(hot-plug)を検出するために使用される。周辺機器が列挙されると、特有のホストコントローラと特有の周辺機器との間でアプリケーションI/Oデータを交換するために、データ転送プロトコルが使用される。或る実施例では、統一コネクタアーキテクチャの発見及びデータ転送プロトコルは、それぞれのUSB2.0プロトコルの対応するもの(2000年4月27日に公開されたUSB Specification, Revision 2.0に規定されている)の拡張でもよい。他の実施例では、統一コネクタアーキテクチャの発見及びデータ転送プロトコルは、利用可能な他の種類の実現可能な装置発見及びデータ転送プロトコルの拡張でもよい。
【0020】
接続された周辺機器(222-230)の列挙は、接続マネージャ232により実行される。異なる実施例では、接続マネージャ232は、UCAルータ116内のロジックとして、システムBIOS(basic input/output system)の一部として、又はコンピュータシステム上で実行するオペレーティングシステム内で、1つの低レベルのファームウェアとして実装されてもよい。接続マネージャ232は、統一コネクタポートに接続された周辺機器の種類(例えば、ディスプレイ、ネットワーク装置、USB装置等)を識別し、周辺機器に特有のアドレスを割り当てる役目をする。多くの実施例では、多機能装置は、複数のアドレスを割り当てられる。
【0021】
多くの実施例では、各周辺機器(P1-P5)と、周辺機器のI/Oデータを扱う特有のホストコントローラ(200-210の1つ)との間の関連付けは、関連付けテーブル234に規定される。関連付けテーブルは、システム内のいずれかの種類のメモリ(システムメモリ、キャッシュ、バッファ等)に実装されてもよい。UCAルータ116は、正確なデータパケット(すなわち、フレーム)の送信対象を見つけるために、関連付けテーブルを使用する。関連付けテーブルを使用すると、送信対象は、送信されたパケット/フレームの発信元に依存する。ルータがホストコントローラ(すなわち、ディスプレイコントローラ、ネットワークコントローラ、I/Oコントローラ等)からデータパケットを受信すると、その対象は、意図する対象の周辺機器が結合(すなわち、接続)されたポートである。ルータが統一コネクタポートから統一コネクタのプロトコルのデータパケットを受信すると(すなわち、データパケットがポートに結合された周辺機器装置から開始すると)、対象は、その周辺機器に結合されたホストコントローラである。例えば、ディスプレイコントローラ200は、P2ディスプレイ224を対象とするディスプレイデータのパケットを送信し、UCAルータ116はパケットを受信し、関連付けテーブルを使用して対象の周辺機器(P2)を決定し(例えば、P2は、ディスプレイコントローラ200に結合されたAリンクに関連付けられる)、データパケットを統一コネクタのプロトコルのデータパケットにカプセル化し、統一コネクタポート212を通じてパケットをP2に送信する。多くの実施例では、P1がP2につながり、P2が統一コネクタポート212に結合されるように、周辺機器は、一緒に単一のポートから分岐してもよい。図2は、P1がリンクF(USBホストコントローラ210)に関連付けられ、P2がリンクA(ディスプレイコントローラ200)に関連付けられ、P3がリンクC(ディスプレイコントローラ204)に関連付けられ、P4がリンクD(ネットワークインタフェースコントローラ206)に関連付けられ、P5がリンクF(USBホストコントローラ210)に関連付けられることを明確にする関連付けテーブルの例を示している。
【0022】
多くの実施例では、関連付けテーブルは、まず、システムブート時に(すなわち、システムの電源が回帰するとき、又は制御するオペレーティングシステムがコンピュータのソフトリスタートを実行したとき)、接続マネージャにより設定される。関連付けテーブルはまた、システムI/Oフローの動的切り換えに基づいて変化する使用モデルを実装するために、システムソフトウェア(オペレーティングシステム又は仮想機械マネージャ)によりランタイム中に再マッピングされてもよい。例えば、モバイルプラットフォームでは、ディスプレイ周辺機器は、システムが接続されたときに単体グラフィックコントローラに関連付けられてもよく、システムが関連付け情報を再マッピングすることによりバッテリで動作しているときに統合グラフィックコントローラに動的に切り換えられてもよい。
【0023】
UCAルータ116はまた、ディスプレイ及びネットワークI/Oデータのパケット化及びカプセル化の役目をする。多くの実施例では、UCAルータ116は、統一コネクタのプロトコルのデータパケット(すなわち、フレーム)を構築しつつ、ディスプレイデータの連続ストリームを保持する1つ以上の内部バッファを有する。従って、UCAルータ116内のロジックは、ストリームをバッファに格納し、格納されたストリーム情報から個々のフレームを構築し、完全になったときにフレームを送信してもよい。他の実施例では、1つ以上のホストコントローラ(200-210)は、UCAルータ116及び統一コネクタのプロトコルフォーマットを認識している。ホストコントローラがUCAルータ116を認識している実施例では、認識しているホストコントローラは、統一コネクタのプロトコルのデータパケット自体を構築し、ネイティブの統一コネクタのプロトコルのフレームをUCAルータ116と交換する。これにより、UCAルータ116から変換/スイッチングの役目を除去する。この例では、UCAルータ116は、単にこれらの予めカプセル化されたデータパケットのフレームを対象の周辺機器に転送する必要があるだけでよい。
【0024】
多くの実施例では、UCAルータ116はまた、統一コネクタのプロトコルのデータパケットを、対応するネイティブのホストコントローラのフォーマットのデータパケットに分解する役目をする。これは、特有のホストコントローラに関連付けられた周辺機器がホストコントローラを対象とする統一コネクタのプロトコルのデータパケットを送信したときに生じる。このパケットは、周辺機器から統一コネクタポートに到達し、そこで、UCAルータ116がパケットを受け取り、パケットをホストコントローラにネイティブのフォーマットに分解し、分解されたネイティブのデータパケットを対象のホストコントローラに送信する。
【0025】
図3は、単体グラフィック及びローカルエリアネットワーク(LAN)カードの統一コネクタアーキテクチャのスロットコネクタの実施例を示している。現在の単体グラフィック及びLANカードへの変更を示すために、図3は、各カードの統一コネクタアーキテクチャ(UCA)バージョンと各カードの現在のバージョンとを並べて示している。図3に示す例は、PCI Express(R)を利用するが、他の関連するプロトコルが使用されてもよい。
【0026】
PCI Express(R)単体グラフィックカード300の現在のバージョンが示されている。グラフィックカード300は、図示のようにスロットコネクタピン302を含む。更に、グラフィックカード300は、外部ディスプレイ周辺機器コネクタ304を有する。現在のPCI Express(R)単体グラフィックのシナリオでは、グラフィックカード300がコンピュータシステムのマザーボード上のPCI Express(R)グラフィックカードスロットに接続されたときに、CPU及びシステムメモリからのデータは、スロットコネクタピン302に物理的に結合されたPCI Express(R)リンクを通じてグラフィックカード300に送信される。グラフィックカード300は、この受信したデータで動作し、それを外部周辺機器コネクタ304に接続されたディスプレイ周辺機器に送信する。
【0027】
UCA付き単体グラフィックカード306を参照すると、図3に示す実施例では、UCA可能グラフィックカード306は、現在のバージョンのグラフィックカード300に類似したスロットコネクタピン308を含む。外部ディスプレイ周辺機器コネクタを有する代わりに、UCA付き単体グラフィックカード306は、追加スロットコネクタピン310を有する。UCA付き単体グラフィックカード306がPCI Express(R)リンクから(スロットコネクタピン308から)データを受信し、受信したデータで動作すると、UCA可能グラフィックカード306は、マザーボード上の統一コネクタポートに接続されたディスプレイ周辺機器にデータを送信する。特に、データは、システムでスロットコネクタからUCAルータにルーティングされる更なるPCI Express(R)リンクのレーンを通じて送信される。これらの更なるリンクのレーンは、追加スロットコネクタピン310に物理的に結合される。
【0028】
次に、図3は、PCI Express(R)単体LANカード312(カード上に統合されたNICを有する)の現在のバージョンを示している。LANカード312は、図示のようにスロットコネクタピン314を含む。更に、LANカード312は、外部LAN/Ethernet(登録商標)コネクタ316を有する。現在のPCI Express(R)単体LANカードのシナリオでは、LANカード312がコンピュータシステムのマザーボード上のPCI Express(R)LANカードスロットに接続されたときに、CPU及びシステムメモリからのデータは、スロットコネクタピン302に物理的に結合されたPCI Express(R)リンクを通じてLANカード312に送信される。LANカード312は、この受信したデータをパケット化し、それをLAN/Ethernet(登録商標)コネクタ316に接続されたネットワークを通じて送信する。
【0029】
最後に、UCA付き単体LANカード318を参照すると、図3に示す実施例では、UCA可能LANカード318は、現在のバージョンのLANカード312に類似したスロットコネクタピン320を含む。外部LAN/Ethernet(登録商標)コネクタを有する代わりに、UCA付き単体LANカード318は、追加スロットコネクタピン310を有する。UCA付き単体LANカード312がPCI Express(R)リンクから(スロットコネクタピン320から)データを受信し、受信したデータをパケット化すると、UCA可能LANカード318は、マザーボード上の統一コネクタポートに接続されたEthernet(登録商標)ケーブルにデータを送信する。特に、データは、システムでスロットコネクタからUCAルータにルーティングされる更なるPCI Express(R)リンクのレーンを通じて送信される。これらの更なるリンクのレーンは、追加スロットコネクタピン322に物理的に結合される。
【0030】
図4は、周辺機器装置に拡張された統一コネクタアーキテクチャの一実施例を示している。多くの実施例では、統一コネクタアーキテクチャを使用するコンピュータシステム400は、図1〜3に記載の全ての特有のコンポーネントを含む。特に、UCAルータ116が存在し、1つ以上のホストコントローラ(潜在的にI/Oホストコントローラ、ディスプレイコントローラ、ネットワークコントローラ等を含む)に結合されると共に、1つ以上のユニバーサルコネクタポートに結合される(この例では、4つのポート(ユニバーサルコネクタポート402、404、406及び408)が存在する)。
【0031】
多くの実施例では、周辺機器装置410は、ユニバーサルコネクタポート404に接続されたケーブル412を通じてコンピュータシステム400に結合される。周辺機器装置410側では、ケーブル412は、ユニバーサルコネクタポート414に接続され、ユニバーサルコネクタポート414は、ユニバーサルコネクタポート404と同じ形状因子を有してもよい。周辺機器装置410は、統合されたUCA論理デバイス416を有する。或る実施例では、UCA論理デバイス416は、コンピュータシステム400(例えば、USBポート付きの多機能ディスプレイ内等)のUCAルータ116と同じ機能を有する。他の実施例では、UCA論理デバイス416は、統一コネクタのプロトコルのデータパケットを周辺機器装置のネイティブのプロトコルのデータパケットに変換し、逆も同様に変換する簡単なプロトコル変換器である。
【0032】
周辺機器装置410のUCA論理デバイス416は、周辺機器装置を対象とする、コンピュータシステム400のUCAルータ116から送信された統一コネクタのプロトコルのデータパケットを受信する。或る実施例では、UCA論理デバイス416はまた、周辺機器装置内部ロジック418からネイティブの周辺機器装置フォーマットのデータパケットを受信する。他の実施例では、周辺機器装置内部ロジック418は、統一コネクタのプロトコルのデータパケットフォーマットをネイティブに理解し、このことにより、内部ロジックは、統一コネクタのプロトコルのデータパケットを構築し、これらをそのフォーマットでUCA論理デバイス416に送信する。これらの実施例では、UCA論理デバイス416は、いずれかの方向(すなわち、周辺機器装置内部ロジック418からコンピュータシステム400へ及びその逆)に進むデータパケット(すなわち、フレーム)のいずれかのカプセル化作業を実行する必要がない。むしろ、これらの実施例では、UCAルータ418は、単にデータパケットを受信したときにデータパケットを適切な対象に転送する。
【0033】
図5は、統一コネクタアーキテクチャの環境においてデータパケットをルーティングする処理の一実施例のフローチャートである。この処理は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実行されてもよい。図5を参照すると、処理は、周辺機器装置が統一コネクタポートに接続(プラグ接続)されているか否かを決定することにより始まる(処理ブロック500)。“接続(プラグ接続)”とは、周辺機器装置が統一コネクタポートに結合又は接続されることを示す。異なる実施例では、“接続(プラグ接続)”は、ブート前や、ホットプラグが可能である場合には完全なシステム動作中のような、如何なる時点に生じてもよい。周辺機器装置が接続されていない場合、処理ブロック500が繰り返される(すなわち、統一コネクタポートがポーリングされ、連続的にポーリングされてもよく、ポーリングは設定された期間毎に生じてもよい)。
【0034】
次に、装置が接続されたことを処理ロジックが検出すると、処理ロジックは、周辺機器装置を列挙する(処理ブロック502)。次に、処理ロジックは、周辺機器装置をシステムに存在するホストコントローラに関連付ける(処理ブロック504)。周辺機器装置は、互換性のあるホストコントローラに関連付けられる(すなわち、これらは同じプロトコルを共有する)。
【0035】
関連付けの後に、処理ロジックは、データパケットが受信されたか否かを決定する(処理ブロック506)。データパケットが受信されていない場合、処理ロジックは、周辺機器装置に変更/変化が存在するか否かを決定する(処理ブロック508)。例えば、第1の周辺機器装置が切断され、第2の周辺機器装置が同じ統一コネクタポートに接続される。周辺機器装置の状態に変化が存在しない場合、処理ロジックは、処理ブロック506に戻り、データパケットが受信されたか否かを再び検査する。そうでない場合、周辺機器装置で変化が検出された場合、処理ロジックは、処理ブロック500に戻り、周辺機器装置が統一コネクタポートに接続されたか否かを再検査する。
【0036】
処理ブロック506に戻り、データパケットが受信された場合、処理ロジックは、データパケットが周辺機器装置から受信されたか、ホストコントローラから受信されたかを決定する(処理ブロック510)。データパケットが周辺機器装置から受信された場合、データパケットは、統一コネクタのプロトコルのデータパケットであり、処理ロジックは、統一コネクタのプロトコルのデータパケットを、ホストコントローラのプロトコルに互換性のある1つ以上のネイティブのホストコントローラのデータパケットに分解するように進む(処理ブロック512)。処理ロジックが統一コネクタのプロトコルのデータパケットをネイティブのホストコントローラのプロトコルのデータパケットに分解した後に、処理ロジックは、ネイティブのホストコントローラのデータパケットをホストコントローラに送信する(処理ブロック514)。次に、処理ロジックは、処理ブロック506に戻り、他のデータパケットが受信されているか否かを検査する。
【0037】
処理ブロック510に戻り、データパケットがホストコントローラから受信された場合、データパケットは、ホストコントローラのネイティブのプロトコルのフォーマットであり、処理ロジックは、ネイティブのホストコントローラのデータパケットを、統一コネクタのプロトコルのデータパケットにカプセル化するように進む(処理ブロック516)。統一コネクタのプロトコルのデータパケットが生成されると、処理ロジックは、統一コネクタのプロトコルのデータパケットを、ポートに接続された周辺機器装置を対象とする統一コネクタポートに送信する(処理ブロック518)。最後に、処理ロジックは、処理ブロック506に戻り、他のデータパケットが受信されているか否かを検査し、処理が終了する。
【0038】
以上のように、コンピュータプラットフォーム上に統一コネクタアーキテクチャを実装するシステム、装置及び方法の実施例が記載された。これらの実施例は、特定の例示的な実施例を参照して説明している。ここに記載の実施例の広い要旨及び範囲を逸脱することなく、様々な変更及び変形が実施例に行えることがこの開示の利益を有する人に明らかである。従って、明細書及び図面は、限定的な意味ではなく例示的な意味として考えられるべきである。
【0039】
以上の実施例に関し、更に、以下の項目を開示する。
【0040】
(1)第1のプロトコルを使用する第1のホストコントローラと、
前記第1のプロトコルとは異なる第2のプロトコルを使用する第2のホストコントローラと、
統一コネクタポートと、
前記第1のホストコントローラと前記第2のホストコントローラと前記統一コネクタポートとに結合されたルータと
を有し、
前記ルータは、前記第1のホストコントローラから受信した物理レイヤパケットを第1の統一コネクタのプロトコルのフレームにカプセル化し、前記第1のフレームを前記統一コネクタポートに送信し、前記第2のホストコントローラから受信した物理レイヤパケットを第2の統一コネクタのプロトコルのフレームにカプセル化し、前記第2のフレームを前記統一コネクタポートに送信するシステム。
【0041】
(2)前記統一コネクタポートに結合された周辺機器装置と、
前記周辺機器装置の種類を識別し、前記周辺機器装置に固有のアドレスを割り当てる接続マネージャと
を更に有する、(1)に記載のシステム。
【0042】
(3)関連付けテーブルを格納するメモリを更に有し、
前記ルータは、前記関連付けテーブルを使用して、前記周辺機器装置と前記第1のホストコントローラ及び前記第2のホストコントローラの1つとの間の関連付けを決定するように更に動作可能であり、前記関連付けは、前記周辺機器装置から受信した物理レイヤパケットを前記第1のホストコントローラに送信するか前記第2のホストコントローラに送信するかを前記ルータに通知する、(2)に記載のシステム。
【0043】
(4)前記接続マネージャは、システムブート時に前記関連付けテーブルを生成するように更に動作可能である、(3)に記載のシステム。
【0044】
(5)前記ルータは、バッファを更に有し、
前記バッファは、データのストリームを格納し、
前記ストリーム内の複数のパケットは、1つの統一コネクタのプロトコルのフレームを有する、(1)に記載のシステム。
【0045】
(6)前記第1及び第2のホストコントローラとは別の1つ以上の更なるホストコントローラから受信した1つ以上の物理レイヤパケットを、1つ以上の更なる統一コネクタのプロトコルのフレームにカプセル化し、前記1つ以上の更なるフレームを前記統一コネクタポートに送信することを更に有し、
前記1つ上の更なるホストコントローラは、前記第1及び第2のプロトコルとは異なる1つ以上のプロトコルを有する、(1)に記載のシステム。
【0046】
(7)第1のホストコントローラと統一コネクタポートとに結合されたルータを有し、
前記ルータは、前記第1のホストコントローラから受信した物理レイヤパケットを第1の統一コネクタのプロトコルのフレームにカプセル化し、前記第1のフレームを前記統一コネクタポートに送信する装置。
【0047】
(8)前記ルータは、接続マネージャロジックを格納するファームウェアを更に有し、
前記接続マネージャロジックは、前記統一コネクタポートに結合された周辺機器装置の種類を識別し、前記周辺機器装置に固有のアドレスを割り当てる、(7)に記載の装置。
【0048】
(9)前記ルータは、関連付けテーブルを格納するメモリを更に有し、
前記ルータは、前記関連付けテーブルを使用して、前記周辺機器装置と前記第1のホストコントローラとの間の関連付けを決定するように更に動作可能であり、前記関連付けは、前記周辺機器装置から受信した物理レイヤパケットを前記第1のホストコントローラに送信することを前記ルータに通知する、(8)に記載の装置。
【0049】
(10)前記接続マネージャロジックは、システムブート時に前記関連付けテーブルを生成するように更に動作可能である、(9)に記載の装置。
【0050】
(11)前記ルータは、バッファを更に有し、
前記バッファは、データのストリームを格納し、
前記ストリーム内の複数のパケットは、1つの統一コネクタのプロトコルのフレームを有する、(7)に記載の装置。
【0051】
(12)前記ルータは、前記第1のホストコントローラと異なるプロトコルを使用する第2のホストコントローラに結合され、
前記ルータは、前記第2のホストコントローラから受信した物理レイヤパケットを第2の統一コネクタのプロトコルのフレームにカプセル化し、前記第2のフレームを前記統一コネクタポートに送信するように更に動作可能である、(7)に記載の装置。
【0052】
(13)第1のホストコントローラから受信した物理レイヤパケットを第1の統一コネクタのプロトコルのフレームにカプセル化し、
前記第1のフレームを統一コネクタポートに送信し、
第2のホストコントローラから受信した物理レイヤパケットを第2の統一コネクタのプロトコルのフレームにカプセル化し、
前記第2のフレームを前記統一コネクタポートに送信することを有し、
前記第1のホストコントローラと前記第2のホストコントローラとは、異なるI/Oプロトコルを使用する方法。
【0053】
(14)前記統一コネクタポートに結合された第1の周辺機器装置の種類を識別し、
前記第1の周辺機器装置に固有のアドレスを割り当てることを更に有する、(13)に記載の方法。
【0054】
(15)前記第1の周辺機器装置と前記第1のホストコントローラ及び前記第2のホストコントローラの1つとの間の関連付けを決定することを更に有し、
前記関連付けは、送信対象のホストコントローラを定める、(14)に記載の方法。
【0055】
(16)前記第1の周辺機器装置が前記統一コネクタポートに接続されたときに、前記関連付けを決定することを更に有する、(15)に記載の方法。
【0056】
(17)グラフィックコントローラから生成されたデータのストリームの複数のパケットから統一コネクタのディスプレイフレームを構築することを更に有する、(13)に記載の方法。
【0057】
(18)統一コネクタポート及びネットワークインタフェースコントローラから生成されたデータのストリームの複数のネットワークデータパケットから統一コネクタのネットワークデータフレームを構築することを更に有する、(17)に記載の方法。
【0058】
(19)前記統一コネクタポートから受信した第3の統一コネクタのプロトコルのフレームを、1つ以上の結果の物理レイヤパケットに分解し、
前記分解された第3のフレームからの前記1つ以上の結果の物理レイヤパケットを前記第1のホストコントローラに送信し、
前記統一コネクタポートから受信した第4の統一コネクタのプロトコルのフレームを、1つ以上の結果の物理レイヤパケットに分解し、
前記分解された第4のフレームからの前記1つ以上の結果の物理レイヤパケットを前記第2のホストコントローラに送信することを更に有する、(14)に記載の方法。
【0059】
(20)前記第1のホストコントローラのプロトコルと互換性のある第1の周辺機器装置が前記第3のプロトコルのフレームを送信し、
前記第2のホストコントローラのプロトコルと互換性のある第2の周辺機器装置が前記第4のプロトコルのフレームを送信し、
前記第1の周辺機器装置は、前記第3のプロトコルのフレームを送信した後に、前記統一コネクタポートから切断し、
前記第2の周辺機器装置は、前記第4のプロトコルのフレームを送信する前に、引き続き前記統一コネクタポートに結合することを更に有する、(19)に記載の方法。

【特許請求の範囲】
【請求項1】
第1のプロトコルを使用する第1のホストコントローラと、
前記第1のプロトコルとは異なる第2のプロトコルを使用する第2のホストコントローラと、
プラグに物理的に結合するように構成された形状を有する統一コネクタポートと、
前記第1のホストコントローラ及び前記第2のホストコントローラからのパケットを統一プロトコルのフレームに選択的にカプセル化し、前記フレームの少なくとも幾つかを前記統一コネクタポートに送信するルータと
を有し、
(1)前記ルータが、前記第1のプロトコルを用いた信号を認識する第1のデバイスに前記プラグを通じて結合された場合、前記ルータは、前記第1のホストコントローラからのカプセル化されたパケットを前記統一コネクタポートに提供し、
(2)前記ルータが、前記第2のプロトコルを用いた信号を認識する第2のデバイスに前記プラグを通じて結合された場合、前記ルータは、前記第2のホストコントローラからのカプセル化されたパケットを前記統一コネクタポートに提供するシステム。
【請求項2】
前記ルータは、前記第1のホストコントローラ及び前記第2のホストコントローラに結合される、請求項1に記載のシステム。
【請求項3】
前記システムは、前記プラグを通じて前記ルータに結合された前記第1のデバイスを更に含む、請求項1に記載のシステム。
【請求項4】
前記システムは、前記プラグを通じて前記ルータに結合された前記第2のデバイスを更に含む、請求項1に記載のシステム。
【請求項5】
前記統一コネクタポートは、第1の統一コネクタポートであり、
前記システムは、前記形状を有する第2の統一コネクタポートを更に有し、
前記ルータは、前記第1のホストコントローラ及び前記第2のホストコントローラからのパケットを統一プロトコルのフレームに選択的にカプセル化し、前記フレームの少なくとも幾つかを前記第2の統一コネクタポートに送信するように構成される、請求項1に記載のシステム。
【請求項6】
前記統一コネクタポートは、前記統一プロトコルのフレームをI/Oリンクで送信するように構成され、
前記統一コネクタポートは、同時に、前記I/Oリンクのレーンの第1のサブセットで第1のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信し、前記I/Oリンクのレーンの第2のサブセットで第2のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように構成される、請求項1に記載のシステム。
【請求項7】
前記統一コネクタポートは、選択的に、I/Oリンクの複数のレーンの全てで前記第1のプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように、前記I/Oリンクの前記複数のレーンの全てで前記第2のプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように、又は、同時に、前記I/Oリンクの前記複数のレーンの第1のサブセットで第1のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信し、前記I/Oリンクのレーンの第2のサブセットで第2のホストプロトコルのカプセル化された物理レイヤパケットの統一プロトコルのフレームを送信するように構成される、請求項1に記載のシステム。
【請求項8】
前記ルータが、前記第1のプロトコルを用いた信号を認識する第3のデバイスと、前記第3のデバイスに結合された第4のデバイスであり、前記第2のプロトコルを用いた信号を認識する第4のデバイスとに前記プラグを通じて結合された場合、前記ルータは、前記第1のホストコントローラからのカプセル化されたパケット及び前記第2のホストコントローラからのカプセル化されたパケットを前記統一コネクタポートに提供する、請求項1に記載のシステム。
【請求項9】
前記第1のデバイスと前記第1のホストコントローラとの間の関連付けと、前記第2のデバイスと前記第2のホストコントローラとの間の関連付けとを含む関連付けテーブルを格納するメモリを更に有する、請求項1に記載のシステム。
【請求項10】
前記システムは、システムブート時に前記関連付けテーブルを生成するように構成される、請求項9に記載のシステム。
【請求項11】
前記システムは、ランタイム中に前記関連付けを変更するように構成される、請求項9に記載のシステム。
【請求項12】
前記システムは、ランタイム中に前記統一コネクタポートに結合された第3のデバイスを検出し、前記第3のデバイスを前記第1のホストコントローラ又は前記第2のホストコントローラに関連付けるように前記関連付けテーブルを変更するように構成される、請求項9に記載のシステム。
【請求項13】
前記ルータが前記プラグを通じて前記第1のデバイスに結合された場合、前記第1のデバイスを列挙し、前記ルータが前記プラグを通じて前記第2のデバイスに結合された場合、前記第2のデバイスを列挙する接続マネージャロジックを更に有する、請求項1に記載のシステム。
【請求項14】
前記接続マネージャロジックは、前記第1のデバイスを前記第1のホストコントローラに関連付け、前記第2のデバイスを前記第2のホストコントローラに関連付けるように構成され、
前記接続マネージャロジックは、システムブート時に前記関連付けを実行し、ランタイム中に前記関連付けのうち1つ以上を変更するように構成される、請求項13に記載のシステム。
【請求項15】
前記第1及び第2のプロトコルとは異なる第3のプロトコルを使用する第3のホストコントローラを更に有し、
前記ルータは、前記第3のホストコントローラからのパケットを統一プロトコルのフレームに選択的にカプセル化し、
前記ルータが、前記第3のプロトコルを用いた信号を認識する第3のデバイスに前記プラグを通じて結合された場合、前記ルータは、前記第3のホストコントローラからのカプセル化されたパケットを前記統一コネクタポートに提供するように構成される、請求項1に記載のシステム。
【請求項16】
前記ルータは、
前記統一コネクタポートから統一プロトコルのフレームを受信し、
前記統一プロトコルのフレームを第2のプロトコルの物理レイヤパケット、第3のプロトコルの物理レイヤパケット又は前記第2のプロトコルの物理レイヤパケットと前記第3のプロトコルの物理レイヤパケットとの双方に分解し、
前記第2のプロトコルの物理レイヤパケットを前記第2のホストコントローラに送信し、前記第3のプロトコルの物理レイヤパケットを前記第3のホストコントローラに送信するように構成される、請求項15に記載のシステム。
【請求項17】
第1のホストコントローラ及び第2のホストコントローラからのパケットを統一プロトコルのフレームに選択的にカプセル化し、前記フレームの少なくとも幾つかを統一コネクタポートに送信するルータであり、第1及び第2のプロトコルは異なるルータと、
(1)前記ルータが、前記第1のプロトコルを用いた信号を認識する第1のデバイスに第1のプラグを通じて結合された場合、第1のデバイスを前記第1のホストコントローラに関連付け、(2)前記ルータが、前記第2のプロトコルを用いた信号を認識する第2のデバイスに第2のプラグを通じて結合された場合、第2のデバイスを前記第2のホストコントローラに関連付けるように構成された接続マネージャロジックであり、前記第1のプラグ及び前記第2のプラグは同じ形状を有する接続マネージャロジックと
を有するシステム。
【請求項18】
前記ルータが、前記第1のデバイスに結合された第3のデバイスであり、前記第2のプロトコルを用いた信号を認識する第3のデバイスに前記第1のプラグ又は前記第2のプラグを通じて結合された場合、前記ルータは、前記第1のホストコントローラからのカプセル化されたパケット及び前記第2のホストコントローラからのカプセル化されたパケットを前記統一コネクタポートに提供する、請求項17に記載のシステム。
【請求項19】
前記システムは、前記統一コネクタポートを含む、請求項17に記載のシステム。
【請求項20】
前記接続マネージャロジックは、システムブート時に前記関連付けを実行し、ランタイム中に前記関連付けのうち1つ以上を変更するように構成される、請求項17に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−200027(P2012−200027A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2012−165462(P2012−165462)
【出願日】平成24年7月26日(2012.7.26)
【分割の表示】特願2010−540703(P2010−540703)の分割
【原出願日】平成20年11月25日(2008.11.25)
【出願人】(593096712)インテル コーポレイション (931)
【Fターム(参考)】