(57)【特許請求の範囲】
【請求項１】
第１のポートと第２のポートとを接続するリンクに含まれた少なくとも１つのリタイマを備え、
前記リタイマは、リンク初期化中にプレゼンスメッセージの少なくとも１つのビットをアサートして前記リタイマのプレゼンスを通知し、１又は複数の先行するリタイマによりアサートされたビットをシフトする制御部（ｃｏｎｔｒｏｌ）を有する
リタイマプレゼンス検出のための装置。
【請求項２】
前記プレゼンスメッセージは、前記リンク上の各リタイマのプレゼンス、及び、各リタイマのインデックスを示し、前記少なくとも１つのリタイマは、前記インデックスを介してアクセス可能である、請求項１に記載の装置。
【請求項３】
前記制御部は、バブルアルゴリズムに基づいて、前記プレゼンスメッセージの前記少なくとも１つのビットをアサートする、請求項１又は２に記載の装置。
【請求項４】
前記少なくとも１つのリタイマは、受信ポートから送信ポートまで複数の劣化信号を同期及び再生成する、請求項１から３のいずれか一項に記載の装置。
【請求項５】
前記少なくとも１つのリタイマは、前記第１のポートを含むホストによって機能発見及びプロトコル構成に関してアクセスされ得る、請求項１から４のいずれか一項に記載の装置。
【請求項６】
第１のポートと、
第２のポートと、
複数のリタイマと
を備え、
前記複数のリタイマのうち一のリタイマを含むリンクは、前記第１のポート及び前記第２のポートを接続し、ロジックは、前記複数のリタイマが、リンク初期化中にプレゼンスメッセージのビットをアサートすることにより、これらのプレゼンスを通知すること、及び前記プレゼンスメッセージに基づいてインデックスを示すことを可能にし、
前記プレゼンスメッセージは、前記リンク上の各リタイマのプレゼンス、及び、各リタイマのインデックスを示す、
リタイマプレゼンス検出及びインデックス化のためのシステム。
【請求項７】
前記複数のリタイマの各リタイマは、前記インデックスを介してアクセス可能である、請求項６に記載のシステム。
【請求項８】
前記複数のリタイマの各リタイマは、受信ポートから送信ポートまで複数の劣化信号を同期及び再生成する、請求項６又は７に記載のシステム。
【請求項９】
第１のポートと第２のポート間のリンクを初期化する段階であって、複数のリタイマは、前記第１のポートと前記第２のポートとの間に位置づけられる段階と、
前記第１のポートと前記第２のポート間にプレゼンスメッセージを送信する段階であって、ロジックは、前記複数のリタイマが、リンク初期化中にプレゼンスメッセージのビットをアサートすることにより、これらのプレゼンスを通知すること、及び前記プレゼンスメッセージに基づいてインデックスを示すことを可能にする段階と、
を備え、
前記プレゼンスメッセージは、前記リンク上の各リタイマのプレゼンス、及び、各リタイマのインデックスを示す、
リタイマプレゼンス及び検出の方法。
【請求項１０】
前記ロジックは、バブルアルゴリズムに基づき、各リタイマは、前記リンクに沿って前記プレゼンスメッセージを転送する前に、前記プレゼンスメッセージの前記ビットをアサートする、請求項９に記載の方法。
【請求項１１】
前記ビットは、定義済メッセージの予約フィールドにアサートされる、請求項９又は１０に記載の方法。
【請求項１２】
前記プレゼンスメッセージは、ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）である、請求項９から１１のいずれか一項に記載の方法。
【請求項１３】
第１のポートと第２のポートとを接続するリンクに含まれた少なくとも１つのリタイマを備える、リタイマプレゼンス検出のための装置であって、
前記リタイマは、リンク初期化中に前記リタイマのプレゼンスを通知し、１又は複数の先行するリタイマによりアサートされたビットをシフトする手段を含む、装置。
【請求項１４】
前記リタイマのプレゼンスを通知する前記手段は、プレゼンスメッセージのビットをアサートする、請求項１３に記載の装置。
【請求項１５】
前記プレゼンスメッセージは、前記リンク上の各リタイマのプレゼンス、及び、各リタイマのインデックスを示し、前記少なくとも１つのリタイマは、前記インデックスを介してアクセス可能である、請求項１４に記載の装置。
【請求項１６】
前記少なくとも１つのリタイマは、複数のプロトコルをサポートする、請求項１３から１５のいずれか一項に記載の装置。
【請求項１７】
複数のリタイマを備え、第１のリタイマは、ホストのコンポーネントであって、第２のリタイマは、デバイスのコンポーネントであって、２つのリタイマは、前記ホスト及び前記デバイスを接続するケーブルの各末端に位置される、請求項１３から１６のいずれか一項に記載の装置。
【請求項１８】
コンピュータに、
第１のポートと第２のポートとの間のリンクを初期化する手順と、
前記第１のポートと前記第２のポートとの間にプレゼンスメッセージを送信する手順と
を実行させ、
複数のリタイマは、前記第１のポートと前記第２のポートとの間に位置づけられ、
ロジックは、前記複数のリタイマが、リンク初期化中にプレゼンスメッセージのビットをアサートすることにより、これらのプレゼンスを通知すること、及び前記プレゼンスメッセージに基づいてインデックスを示すことを可能にし、
前記プレゼンスメッセージは、前記リンク上の各リタイマのプレゼンス、及び、各リタイマのインデックスを示す、
プログラム。
【請求項１９】
前記ロジックは、バブルアルゴリズムに基づき、各リタイマは、前記リンクに沿って前記プレゼンスメッセージを転送する前に、前記プレゼンスメッセージの前記ビットをアサートする、請求項１８に記載のプログラム。
【請求項２０】
前記ビットは、定義済メッセージの予約フィールドにアサートされる、請求項１８又は１９に記載のプログラム。
【請求項２１】
前記リンクは、アクティブケーブルである、請求項１８から２０のいずれか一項に記載のプログラム。
【請求項２２】
高速シリアル相互接続のためのリタイマを備える装置であって、
前記リタイマは、
特定のフィールドを含むメッセージを受信する受信機と、
前記特定のフィールドにビットをアサートすることにより、前記リタイマのプレゼンスを通知し、１又は複数の先行するリタイマによりアサートされたビットをシフトする制御部（ｃｏｎｔｒｏｌ）と、
前記特定のフィールドを含むメッセージを送信する送信機と、
を含む、装置。
【請求項２３】
前記送信機は、アップストリームデバイスと結合される、請求項２２に記載の装置。
【請求項２４】
前記アップストリームデバイスは、
前記高速シリアル相互接続に沿って、前記メッセージに基づいたリタイマの数を決定し、
前記リタイマの数に関して、前記リタイマの相対的インデックス化に基づいてリタイマアクセスを実行する制御部を含む、
請求項２３に記載の装置。
【請求項２５】
請求項１８から２１のいずれか一項に記載のプログラムを格納したコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は概して、ユニバーサルシリアルバス（ＵＳＢ）通信に関する。より具体的には、本技術は、ＵＳＢリタイマプレゼンス検出及びインデックス化に関する。
【図面の簡単な説明】
【０００２】
【図１】ＵＳＢ構成に関するトポロジーダイアグラムの例示的な図である。
【０００３】
【図２】様々な時点でのシステムトポロジーに適用されるバブルアルゴリズムの図である。
【０００４】
【図３】パルス幅変調を通じて生成される低周波数周期信号を用いる論理表現の図である。
【０００５】
【図４】ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）の図である。
【０００６】
【図５】リタイマプレゼンスを自動的に検出するための、及びインデックスのための方法のプロセスフロー図である。
【０００７】
【図６】ＵＳＢ３．１構成においてリタイマプレゼンスを自動的に検出するための、及びインデックスのための方法のプロセスフロー図である。
【０００８】
【図７】例示的コンピュータシステムのブロック図である。
【０００９】
本開示及び複数の図面の全体を通じて、同様のコンポーネント及び特徴を言及するのに、同一の番号が用いられる。１００の系における番号は、最初に図１に見られる特徴を指し、２００の系における番号は、最初に図２に見られる特徴を指す、等である。
【発明を実施するための形態】
【００１０】
ユニバーサルシリアルバス（ＵＳＢ）プロトコルは、ＵＳＢ規格による電子通信を可能にする。ＵＳＢ規格は、プロトコルとの互換性のために要求される、信号特性、タイミング、及び状態変化を定め得る。データは、ＵＳＢ規格により、１又は複数のＵＳＢポートの間で転送される。複数のポートの間でデータを転送する信号が、一方のポートからもう一方へ移動する間に劣化するように、ポートは位置づけられ得る。一方のポートからもう一方への信号転送中の劣化を軽減すべく、リタイマは、信号をリタイミング又は同期するのに用いられ得る。従って、リタイマは、受信ポートから送信ポートまで劣化信号を同期及び再生成する。複数のリタイマは、ホストポートとデバイスポートとの間に配置され得る。
【００１１】
上述のように、複数のポートの間でデータを転送する信号が、一方のポートからもう一方へ移動する間に劣化するように、ＵＳＢポートは位置づけられ得る。信号は、ＵＳＢホストコントローラ、ＵＳＢハブ、ＵＳＢデバイス、又はそれらの任意の組み合わせに、又はそれらから送信されるときにも、悪化し得る。信号タイミングを維持すべく、複数のリタイマが、ＵＳＢポート、ホストコントローラ、ハブ、及びデバイスの間に配置され得る。いくつかの場合において、リタイマは、マルチプロトコルのサポートに関して発見可能又は構成可能ではない。
【００１２】
本明細書で説明される実施形態は、１のリタイマ、又は複数のリタイマが、それらのリンクパートナによる、アクセスについてセルフインデックスの認識を用いてそれらのプレゼンスを通知することを許可するメッセージングプロトコルを可能にする。いくつかの場合において、リタイマは、ＵＳＢ３．１リタイマである。マルチプロトコルのサポートの機能が備え付けられている場合に、リタイマが、機能発見及びプロトコル構成に関してホストによりアクセスされ得るように、インバンドアプローチは、自動的なリタイマプレゼンス検出及びインデックス化のために用いられる。このように、リタイマは、マルチプロトコルのサポートに関して発見可能及び構成可能である。本技術は、ＵＳＢ３．１リタイマを用いて説明されるが、本技術は、他のＵＳＢリタイマ、並びにＰＣＩ−Ｅリタイマのような他のリタイマに適用され得る。更に、他のリドライバのような信号の劣化を修正する他のコンポーネントが、本技術によって用いられ得る。
【００１３】
以下の説明において、本発明の完全な理解をもたらすべく、具体的なタイプのプロセッサ及びシステム構成、具体的なハードウェア構造、具体的なアーキテクチャ及びマイクロアーキテクチャの詳細、具体的なレジスタ構成、具体的な命令タイプ、具体的なシステムコンポーネント、具体的な測定／高さ、具体的なプロセッサのパイプラインのステージ及び動作の例等のような、多数の具体的な詳細が記載される。しかしながら、本発明を実行するのにこれらの具体的な詳細な内容が採用される必要がないことは、当業者にとっては明らかであろう。他の例において、具体的かつ代替的なプロセッサアーキテクチャ、説明されるアルゴリズムに関する具体的なロジック回路／コード、具体的なファームウェアコード、具体的な相互接続動作、具体的なロジック構成、具体的な製造技術及び材料、具体的なコンパイラ実装、コードにおけるアルゴリズムの具体的な表現、具体的なパワーダウン及びゲーティング技術／ロジック、及びコンピュータシステムの他の具体的な動作の詳細のような、周知のコンポーネント又は方法は、本発明を不必要に不明瞭にすることを回避すべく、詳細には説明されていない。
【００１４】
以下の実施形態が、コンピューティングプラットフォーム又はマイクロプロセッサにおけるような、具体的な集積回路においてエネルギー節約及びエネルギー効率を参照して説明され得るが、他の実施形態は、他のタイプの集積回路及び論理デバイスに適用可能である。本明細書で説明される実施形態の同様の技術及び教示は、より良好なエネルギー効率及びエネルギー節約からも利益を享受し得る他のタイプの回路又は半導体デバイスに適用され得る。例えば、開示される実施形態は、デスクトップコンピュータシステム、又はウルトラブック（商標）に限定されない。それから、ハンドヘルドデバイス、タブレット、他の薄型ノートブック、システムオンチップ（ＳＯＣ）デバイス、及び組込みアプリケーションのような他のデバイスにも用いられ得る。ハンドヘルドデバイスのいくつかの例は、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末（ＰＤＡ）、及びハンドヘルドＰＣを含む。組込みアプリケーションは典型的に、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、システムオンチップ、ネットワークコンピュータ（ＮｅｔＰＣ）、セットトップボックス、ネットワークハブ、広域ネットワーク（ＷＡＮ）スイッチ、又は以下に教示される機能及び動作を実行し得る、任意の他のシステムを含む。更に、本明細書で説明される装置、方法、及びシステムは、物理的なコンピューティングデバイスに限定されないが、エネルギー節約及び効率に関するソフトウェア最適化にも関連し得る。以下の説明において容易に明らかになるように、本明細書で説明される方法、装置、及びシステムの実施形態（ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせに関連するか否か）は、考慮すべき性能要件とバランスを保つ「グリーンテクノロジ」の将来にとって不可欠である。
【００１５】
コンピューティングシステムが進むにつれ、その中におけるコンポーネントはより複雑になっている。その結果、帯域幅の要件が、最適なコンポーネント動作に満たされていることを確実にすべく、複数のコンポーネントの間で結合及び通信を行う相互接続アーキテクチャは複雑性も増している。更に、異なる市場のセグメント化は、市場のニーズに適合すべく、相互接続アーキテクチャの異なる側面を要求する。例えば、サーバはより高性能を必要とし、その一方で、モバイルエコシステムは、場合によっては、電力節約のために全体の性能を犠牲にすることが可能である。更に、最大の電力節約で可能な限り最高の性能を提供することが、殆どのファブリックの唯一の目的である。以下で、本明細書で説明される発明の態様から利益を享受する可能性のある多数の相互接続が説明される。
【００１６】
図で示される各システムにおいて、いくつかの場合における複数の要素はそれぞれ、同一の参照番号又は異なる参照番号を有し得、表されるそれらの要素は異なる及び／又は同様であることを示唆する。しかしながら、要素は異なる実装を有し、本明細書で示され又は説明される、いくつかの又は全てのシステムと共に機能するのに十分柔軟であり得る。図に示される様々な要素は、同一又は異なるものであり得る。いずれが第１の要素と称され、いずれが第２の要素と呼ばれるのかは、任意である。
【００１７】
図１は、ＵＳＢ構成に関するトポロジーダイアグラム１００の例示的な図である。実施形態において、トポロジーダイアグラム１００は、ＵＳＢ３．１構成である。図１は、第１のポート１０２及び第２のポート１０４を含む。第１のポート１０２及び第２のポート１０４は、それぞれＵＳＢ３．１ポートであり得る。第１のポート１０２は、このＵＳＢ構成を含む、システムのハブ又はホスト内に含まれるダウンストリームポートである。第２のポート１０４は、このＵＳＢ構成を含む、システムのハブ又は周辺機器内に含まれるアップストリームポートである。リタイマ１０６、リタイマ１０８、リタイマ１１０、及びリタイマ１１２は、第１のポート１０２と第２のポート１０４との間に含まれる。リンク１１４は、第１のポート１０２を第２のポート１０４に接続する。典型的には、第１のポート１０２と第２のポート１０４との間を移動する場合、典型的なリンクに沿った信号は、低減された振幅を有し得、信号の減衰及びジッタをもたらす。ダイアグラム１００に示されるように、リタイマ１０６、リタイマ１０８、リタイマ１１０、及びリタイマ１１２はそれぞれ、第１のポート１０２と第２のポート１０４との間の信号の劣化を防ぐべく、信号を分析及び変更し得る。実施形態において、一方のリタイマはホストに位置され、もう一方のリタイマはデバイスに位置され、２つのリタイマは、ホスト及びデバイスもしくは周辺機器を接続するケーブルの各末端に位置される。また、実施形態において、ホストにおけるリタイマは、ホストのマザーボード上に位置付けられ得、デバイスにおけるリタイマは、デバイスのマザーボード上に位置付けられ得、２つのリタイマは、ホストとデバイスとを接続するケーブルにある。
【００１８】
各リタイマは、いかなる場合でも、アップストリーム又はダウンストリームから受信されたデータのリタイミングを行い又はデータを同期するよう機能する。４つのリタイマが示されるが、システム構成に応じて、任意の数のリタイマがあってもよい。ＵＳＢ３．１構成を用いて、２つのＵＳＢ３．１ポートの間に４つもの多くのリタイマであってもよい。任意のプロトコルにおいて、各リタイマは、光デジタル送信についてのエンコーダとして動作し得る。このように、リタイマは、グリッチ及びジッタ歪みを最小化し得る。実施形態において、リタイマは、受信された信号の取得及び送信を制御し得る。
【００１９】
ホストのポート及びデバイスのポートが接続されるとき、閉ループが形成され、そこでリタイマの数が決定される。各リタイマのインデックスはまた、決定され得る。ホスト及びデバイス間の接続が生じる前は、ホスト及びデバイス間のリタイマの数は不明である。むしろ、存在するリタイマの数、リタイマのインデックスもしくはアドレス、及びリタイマと通信する方法を決定するのに、アルゴリズムが用いられる。このアルゴリズムは、リンク初期化と同時に実装され得る。実施形態において、アルゴリズムは、バブルアルゴリズムである。どのプロトコルが初期化処理中に動作するのかを各ポートが決定し得るように、複数のリタイマが、それらのプレゼンスを通知し、マルチプロトコルの発見及び構成のためにアクセスされるインデックスをそれらに提供することを、アルゴリズムは可能とする。例において、プロトコルは、以下の、２０１３年７月２６日リリースのユニバーサルシリアルバス改訂３．１仕様、２０１１年１１月２９日発表のＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（ＰＣＩ−Ｅ）、又はＤｉｓｐｌａｙＰｏｒｔ、によるとされ得る。特定のプロトコルと規格が列挙されるが、本技術は、任意のＩ／Ｏテクノロジーでもって用いられ得る。
【００２０】
入力バイナリメッセージを受信すると、各リタイマが、予約フィールドにおいてビットをアサートし、次に入力メッセージを転送することにより、そのプレゼンスを通知することを可能にすべく、バブルアルゴリズムが用いられる。入力メッセージは、用いられるプロトコルにより規定されるような予約フィールドを有する任意のメッセージであり得る。図１に示されるように、複数のリタイマが、リンク１１４に沿って存在する。複数のリタイマがリンクに存在する場合、各リタイマは予約フィールドにおいてビットをアサートし、次に、入力メッセージを転送するという同一の動作を実行するであろう。次のリタイマはまた、先行するリタイマによりアサートされるビットをシフトするであろう。このやりとりは、リンクに沿って両方の方向において、即ち、アップストリームポートからダウンストリームポートへ、またはその逆も同様に実行される。このように、ホスト／ハブのダウンストリームポート、又はハブ／周辺機器のアップストリームポートである目的地におけるポートは、いくつのリタイマがリンクに沿って存在しているかがわかるであろう。両方の方向における各リタイマのプレゼンスを通知することにより、両方のポートは、それらの間にあるリタイマの数に関して、リンク構成情報を収集することが可能である。両方のポートは、各リタイマのこれらの相対インデックス化に基づいて、リタイマアクセスを実行することが可能である。各リタイマはまた、存在するリタイマの数、及びリンクトポロジー内のリタイマの相対位置に関して、リンク構成を認識するようになる。これにより、次に、後続のアドレスデコードについてのリタイマの自動的なインデックス割り当てを可能にする。
【００２１】
図２は、様々な時点におけるシステムトポロジーに適用されるバブルアルゴリズムのダイアグラム２００である。図１と同様に、図２は、第１のポート１０２及び第２のポート１０４を含む。リタイマ１０６、リタイマ１０８、リタイマ１１０、及びリタイマ１１２は、リンク１１４に沿って、第１のポート１０２と第２のポート１０４との間に含まれる。リンク１１４は、アクティブケーブルであり得る。実施形態において、バブルアルゴリズムは、第１のポート１０２と第２のポート１０４との間で通信が開始される前に、リンク１１４の初期化段階中に実行される。いくつかの場合において、第１のポート１０２と第２のポート１０４との間の通信は、高速通信である。全てのポート及びリタイマは、低周波数周期信号（ＬＦＰＳ）に基づいて、互いに通信することが可能である。特に、ポート及びリタイマは、ＬＦＰＳベースのパルス幅変調シグナリング（ＬＢＰＳ）を用いて通信し得る。
【００２２】
パルス幅変調（ＰＷＭ）は、送信のためのデータをエンコードすべく、各パルスの幅で変更するのに用いられ得る。各パルスは、一定期間中に生じ、パルスは、低周波数周期信号であり得る。各ビットの期間中、パルスは、期間内のパルスの位置に応じて送信された特定のビット値を示すのに用いられ得る。ビット値は、各ビット期間中のパルスに応じて、論理レベル１又は論理レベルゼロであり得る。例えば、パルスが３分の１の期間中に生じ、残りの３分の２の期間中にパルスが生じない場合、論理ゼロのレベルがエンコードされる。パルスが最初の３分の２の期間中に生じ、残りの３分の１の期間中にパルスが生じない場合、論理１のレベルがエンコードされる。
【００２３】
ＬＢＰＳは、ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）を作成するのに用いられ得る。ＬＦＰＳ、ＬＢＰＳ、及びＬＢＰＭは、シグナリング及びメッセージング技術であり、それぞれＵＳＢ３．１プロトコルにより規定される。初期化中、ダウンストリームポート及びアップストリームポートは、次のＵＳＢ動作を伝達すべく、２つのポートの間にＬＢＰＭを送信するであろう。ポートは、データ速度、レーンの数等のような、これらの機能を通知する。リタイマが存在する場合、ＬＢＰＭは、リタイマを通過するであろう。各リタイマがＬＢＰＭを受信する場合、これらのプレゼンスを通知すべく、リタイマ専用である予約フィールドにビットを挿入するであろう。リタイマは次に、ＬＢＰＭを、リンクに沿って、次のリタイマ又はポートに転送するであろう。複数のリタイマのプレゼンスが通知する、これらのリタイマについての予約フィールドを含むＬＢＰＭは、プレゼンスＬＢＰＭと称され得る。プレゼンスＬＢＰＭは、初期化中にリタイマのプレゼンスを通知すべく、各リタイマにより送信される。実施形態において、プレゼンスＬＢＰＭは、ＵＳＢ３．１プロトコルにより規定される任意のメッセージであり得る。例えば、プレゼンスＬＢＰＭは、初期化中に送信された機能メッセージであり得、そこで複数のリタイマはこれらのプレゼンスを、機能メッセージの予約フィールドを用いて通知する。信号及びメッセージングは、ＵＳＢ３．１プロトコルを用いて本明細書で説明されるが、本技術は、任意の入力／出力（Ｉ／Ｏ）プロトコルを用いて実装され得る。従って、各リタイマは、初期化中にリタイマのプレゼンスを通知するプレゼンスメッセージを送信し得、プレゼンスメッセージは、そのプレゼンスを通知すべく、リタイマが、リタイマ専用である予約フィールドにビットを挿入する場合に用いられる任意のメッセ―ジであり得る。
【００２４】
図２の例において、ＵＳＢ３．１ポートが示される。ＵＳＢ３．１ポートは、ＵＳＢ３．１規格により規定されるような機能メッセージを送信し得る。機能メッセージにおいて、上位の４ビットが予約され、その一方で、下位の４ビットが、複数のポート間で機能を伝達するのに用いられる。各リタイマは、そのプレゼンスを通知するのに、上位４つの予約ビットを用い得る。機能メッセージが例として用いられる一方で、任意のメッセージが本技術によって用いられ得る。更に、リタイマのプレゼンスを通知するのに用いられるビットは、メッセージの上位４ビットに制限されず、特定のプロトコル又は規格によって任意の利用可能なビットが用いられ得る。リタイマのプレゼンスを通知するのに規格により規定されるようなメッセージを用いることにより、２つの動作が、単一のメッセージに組み合わせられ得る。具体的には、自動リタイマプレゼンス検出及びインデックス化は、規格により送信される別のメッセージと組み合わせられ得る。しかしながら、実施形態において、ＬＢＰＭは、自動リタイマプレゼンス検出及びインデックス化のために規定され得る。
【００２５】
図２に示されるように、時間２０２で、最初のプレゼンスＬＢＰＭ２０４Ａは、リンク１１４に沿って、ダウンストリームポート１０２からアップストリームポート１０４に送信される。リタイマ１０６は、自身がダウンストリームポート１０２のすぐそばに配置されるか否か、又は自身とダウンストリームポート１０２との間に配置されたリタイマがあるか否かを決定すべく、予約フィールドに任意のビットが設定されているか否かを調べる。この例において、リタイマ１０６は、予約フィールドにビットが設定されていないことがわかり、ダウンストリームポート１０２の直後に配置されることを結論づける。次に、ＬＢＰＭ２０４Ｂにより示されるように、そのプレゼンスを通知すべく、論理レベル１を、予約フィールドにおけるプレゼンスＬＢＰＭのビット４で追加する。時間２０４で、プレゼンスＬＢＰＭ２０４Ｂは、リンク１１４に沿って、リタイマ１０６からリタイマ１０８に送信される。リタイマ１０６と同一の動作が、リタイマ１０８により実行される。リタイマ１０８は、ＬＢＰＭ２０４Ｂを調べ、リタイマ１０８とダウンストリームポート１０２との間に１つのリタイマ１０６がある状態でダウンストリームポート１０２に配置されることを結論づける。リタイマ１０８は次に、ＬＢＰＭ２０４Ｃにより示されるように、そのプレゼンスを通知すべく、論理レベル１を、プレゼンスＬＢＰＭのビット５で追加する。
【００２６】
時間２０６で、プレゼンスＬＢＰＭ２０４Ｃは、リンク１１４に沿って、リタイマ１０８からリタイマ１１０に送信される。リタイマ１１０は、ＬＢＰＭ２０４Ｄにより示されるように、そのプレゼンスを通知すべく、論理レベル１を、プレゼンスＬＢＰＭのビット６で追加する。同様に、時間２０８にて、プレゼンスＬＢＰＭ２０４Ｄは、リンク１１４に沿って、リタイマ１１０からリタイマ１１２に送信される。リタイマ１１２は、ＬＢＰＭ２０４Ｅにより示されるように、そのプレゼンスを通知すべく、論理レベル１を、ビット７でプレゼンスＬＢＰＭに追加する。このように、各リタイマは、リタイマそのものとダウンストリームポート１０２との間にいくつのリタイマがあるかを決定し得る。同一の動作が、アップストリームポート１０４からダウンストリームポート１０２まで実行され、従って、各リタイマは、リタイマそのものとアップストリームポート１０４との間のその相対位置を決定し得ることに留意されたい。このように、動作の終わりで、各リタイマは、ダウンストリームポート１０２及びアップストリームポート１０４までのその相対位置を決定し得る。ダウンストリームポート１０２及びアップストリームポート１０４はまた、それらの間にいくつのリタイマがあるかを決定し得る。リンクのあらゆるコンポーネントは、リンクのトポロジー及び構成、並びにリンク内のこれらの相対位置を自動的に認識するであろう。実施形態において、ポートはリタイマを構成し得る。具体的には、ポートは、各リタイマの状態をチェックし得、リタイマの構成をもまた実行し得る。プレゼンスの検出後、各ポートは、各リタイマと通信し得る。アクセスＬＢＰＭは、各リタイマに送信され得、ポートが各リタイマと通信、又は各リタイマにアクセスを望んでいることを各リタイマに警告する。また、各リタイマには、複数のプロトコルをサポートする能力が備え付けられ得る。その結果、本技術は、ＵＳＢ３．１プロトコルを用いて説明されるが、本技術は、任意のＩ／Ｏプロトコルを用いて実装され得る。
【００２７】
図３は、パルス幅変調を通じて生成される低周波数周期信号を用いる論理表現３００の図である。実施形態において、論理表現３００は、ＬＢＰＳに基づく。ＬＢＰＭは、図４に示されるように、バイトの開始と終わりで２デリミタを有する、８ビットＬＢＰＳとして規定され得る。例において、参照番号３０２で、論理レベルゼロは、期間３０４の３０％中に生じる低周波数周期信号により表され得、同一の期間３０４中の７０％には信号がない。いくつかの場合において、低周波数周期信号がないその７０％は、低周波数周期信号が電気的アイドルであると称され得る。参照番号３０６での論理レベル１は、期間３０８の７０％中に生じる低周波数周期信号により表され得、同一の期間３０８中の３０％には信号がない。いくつかの場合において、低周波数周期信号がないその３０％は、低周波数周期信号が電気的アイドルであると称され得る。本明細書で説明される、信号有と信号無しの比率は例示的なものであり、信号有と信号無しのパルス幅変調の任意の比率が用いられ得る。
【００２８】
図４は、ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）の図である。ＬＢＰＭの開始は、デリミタ４０２である。デリミタ４０２は、２つのｔＰＷＭ期間を含む。ＬＢＰＭの終わりは、単一のＰＷＭ期間を含む、別のデリミタ４０４である。デリミタ４０２は、低周波数周期信号を有するｔＰＷＭ期間、それに続いて、信号を有さない第２のｔＰＷＭ期間を用いる。実施形態において、デリミタ４０２のようなデリミタは、ＬＢＰＭの開始を合図する。デリミタ４０４は、ＬＢＰＭの終わりを示す、低周波数周期信号を有するｔＰＷＭ期間を含む。このように、デリミタ４０２及びデリミタ４０４は、完成バイトを受信機に送信するのに用いられ得る。
【００２９】
例えば、図１及び２に示したダウンストリームポート１０２、リタイマ１０６、リタイマ１０８、リタイマ１１０、リタイマ１１２、及びアップストリームポート１０４を検討されたい。参照番号４０２でビット７、参照番号４０４でビット６、参照番号４０６でビット５、及び参照番号４０８でビット４は、ＬＢＰＭを示すのに用いられるように、プレゼンスＬＢＰＭは規定され得る。また、ｂ７からｂ４が「１００１」である場合を仮定すると、ＬＢＰＭは、リタイマプレゼンスメッセージを示す。初期化中、ダウンストリームポート１０２のようなダウンストリームポートは、デアサートされたｂ３からｂ０を有するプレゼンスメッセージを送信し得る。プレゼンスＬＢＰＭを検出すると、リタイマ１０６は、プレゼンスＬＢＰＭを転送する前に、そのプレゼンスを示すべく、ビット３をアサートし、ダウンストリームポート１０２までのそのインデックスとして「１０００」を示す。リタイマ１０８は、プレゼンスＬＢＰＭを検出すると、転送する前にそのプレゼンスを示すべく、ビット２をアサートすることにより、リタイマ１０６と同一の動作を実行する。リタイマ１０８はまた、ダウンストリームポート１０２へのその相対位置を認識するようになり、ダウンストリームポートまでのそのインデックスとして「１１００」を示す。動作のこの処理は、プレゼンスＬＢＰＭがアップストリームポート１０４に到達するまで、リタイマ１１０及び１１２を通じて続く。従って、リタイマ１１０及び１１２は、ダウンストリームポートまでのこれらのそれぞれのインデックスとして、「１１１０」及び「１１１１」を示すであろう。最後のプレゼンスＬＢＰＭを受信すると、アップストリームポート１０４は、リンクにおけるリタイマの数を認識するようになる。同様に、同一の動作が、アップストリームポート１０４から、リタイマ１１２を通じてリタイマ１０６へ、及びダウンストリームポート１０２への逆方向で実行される。その結果、１１２から１０６までのリタイマは、アップストリームポート１０４に向けてのこれらのそれぞれのインデックスとして、「０００１」「００１１」「０１１１」から「１１１１」を示すであろう。動作の終わりで、ダウンストリームポート１０２及びアップストリームポート１０４の両方は、リンクにおけるリタイマのプレゼンス、及びこれらの相対インデックスを認識し、リタイマの特徴及び機能、並びにリタイマ構成の発見のような、様々な動作の実行を開始し得る。この例は、一般的なＬＢＰＭに言及するが、プレゼンスメッセージが用いられ得る。
【００３０】
図５は、リタイマプレゼンスを自動的に検出するための、及びインデックスのための方法のプロセスフロー図である。ブロック５０２で、リンクが初期化される。いくつかの場合において、リンクはアクティブケーブルである。実施形態において、リンクは、アップストリームポート１０４とダウンストリームポート１０２との間で閉ループを形成するデュアルシンプレックスリンクである。ブロック５０４で、各リタイマは、リンクの初期化中に送信されたメッセージのビットをアサートする。実施形態において、初期化中に送信されたメッセージは、リンクプロトコルによる、定義済メッセージである。また、実施形態において、リタイマは、定義済メッセージの予約フィールドにおいてビットをアサートする。定義済メッセージは、ポートによりサポートされたプロトコルによる、任意のメッセージである。実施形態において、メッセージは、ＵＳＢ３．１プロトコルによる、初期化中に送信されたＬＢＰＭである。
【００３１】
図６は、リタイマにアクセスするための方法のプロセスフロー図である。ブロック６０２で、リタイマは、プレゼンスメッセージを介したインデックスを示す。ブロック６０４で、リタイマは、インデックスに対応するアドレスを介してアクセスされる。上記で説明されたように、リタイマは、リタイマのプレゼンスを通知してインデックスを示すプレゼンスメッセージの予約フィールドにおいてビットをアサートし得る。実施形態において、プレゼンスメッセージは、ＵＳＢ３．１プロトコルによる初期化中に送信されたＬＢＰＭである。プレゼンスメッセージは、ＵＳＢ３．１規格により規定されるような、機能メッセージ（Ｃａｐａｂｉｌｉｔｙ  Ｍｅｓｓａｇｅ）のような任意の定義済メッセージと組み合わせられ得る。
【００３２】
図７は、例示的コンピュータシステム７００のブロック図である。システム７００は、命令を実行する実行ユニットを有するプロセッサを含み、本発明の一実施形態による相互接続の１又は複数が、１又は複数の特徴を実装することが示される。システム７００は、本明細書で説明される実施形態にあるような、本発明による、処理データのためのアルゴリズムを実行するロジックを含む実行ユニット７０８を用いる、プロセッサ７０２のようなコンポーネントを含む。いくつかの場合において、システム７００は、カリフォルニア州サンタクララに所在するインテル社から入手可能なＰＥＮＴＩＵＭ（登録商標）  ＩＩＩ、ＰＥＮＴＩＵＭ（登録商標）  ４、Ｘｅｏｎ（登録商標）、Ｉｔａｎｉｕｍ（登録商標）、ＸＳｃａｌｅ（登録商標）、及び／又はＳｔｒｏｎｇＡＲＭ（登録商標）マイクロプロセッサに基づいた処理システムを代表するが、その他のシステム（その他のマイクロプロセッサを有するＰＣ、エンジニアリングワークステーション、セットトップボックス等を含む）も使用され得る。実施形態において、システム７００は、ワシントン州レドモンドのマイクロソフト社から入手可能なＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムのバージョンを実行し得るが、他のオペレーティングシステム（例えば、ＵＮＩＸ（登録商標）及びＬｉｎｕｘ（登録商標））、組込みソフトウェア、及び／又はグラフィカルユーザインタフェースも使用され得る。このように、本発明の実施形態は、ハードウェア回路及びソフトウェアの任意の特定の組み合わせに限定されない。
【００３３】
本明細書に説明される実施形態は、コンピュータシステムに限定されない。本技術の代替的な実施形態は、ハンドヘルドデバイス及び組込みアプリケーションのような、他のデバイスにおいて用いられ得る。ハンドヘルドデバイスのいくつかの例は、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末（ＰＤＡ）、及びハンドヘルドＰＣを含む。組込みアプリケーションは、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、システムオンチップ、ネットワークコンピュータ（ＮｅｔＰＣ）、セットトップボックス、ネットワークハブ、広域ネットワーク（ＷＡＮ）スイッチ、又は少なくとも一実施形態による１又は複数の命令を実行し得る任意の他のシステムを含み得る。
【００３４】
この示される実施形態において、プロセッサ７０２は、少なくとも１つの命令７１１を実行するアルゴリズムを実装する、１又は複数の実行ユニット７０８を含む。一実施形態は、単一プロセッサのデスクトップ又はサーバーシステムに関して説明され得るが、代替的な実施形態は、マルチプロセッサシステムに含められ得る。システム７００は、「ハブ」システムアーキテクチャの例である。コンピュータシステム７００は、データ信号を処理するプロセッサ７０２を含む。プロセッサ７０２は、１つの図示的な例として、複合命令セットコンピュータ（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、命令セットの組み合わせを実装するプロセッサ、又は例えば、デジタル信号プロセッサのような任意の他のプロセッサデバイスを含み得る。プロセッサ７０２は、プロセッサ７０２とシステム７００における他のコンポーネントとの間でデータ信号を送信するプロセッサバス７１０に結合される。システム７００の要素（例えば、グラフィックアクセラレータ７１２、メモリコントローラハブ７１６、メモリ７２０、Ｉ／Ｏコントローラハブ７２５、無線送受信機７２６、フラッシュＢＩＯＳ７２８、ネットワークコントローラ７３４、オーディオコントローラ７３６、シリアル拡張ポート７３８、Ｉ／Ｏコントローラ７４０等）は、当業者に周知であるこれらの従来の機能を実行する。
【００３５】
一実施形態において、プロセッサ７０２は、レベル７（Ｌ１）内部キャッシュメモリ７０４を含む。アーキテクチャに応じて、プロセッサ７０２は、単一の内部キャッシュ又は複数のレベルの内部キャッシュを有し得る。他の実施形態は、特定の実装及びニーズに応じて、内部及び外部キャッシュの両方の組み合わせを含む。レジスタファイル７０６は、整数レジスタ、浮動小数点レジスタ、ベクトルレジスタ、バンクレジスタ、シャドーレジスタ、チェックポイントレジスタ、ステータスレジスタ、及び命令ポインタレジスタを含む、様々なレジスタに異なるタイプのデータを格納し得る。
【００３６】
整数オペレーション及び浮動小数点オペレーションを実行するロジックを有する、実行ユニット７０８は、プロセッサ７０２にも存在する。プロセッサ７０２は、一実施形態において、実行されるときに、特定のマクロ命令のためのアルゴリズムを実行し、又は複雑なシナリオを処理する、マイクロコードを格納するマイクロコード（ｕコード）ＲＯＭを含む。ここで、マイクロコードは、プロセッサ７０２についてロジックバグ／フィックスを処理すべく、潜在的に更新可能である。一実施形態に関して、実行ユニット７０８は、パックされた命令セット７０９を処理するロジックを含む。汎用プロセッサ７０２の命令セットに、命令を実行する関連付けられた回路と共に、パックされた命令セット７０９を含めることにより、多くのマルチメディアアプリケーションにより用いられるオペレーションが、パックされたデータを用いて汎用プロセッサ７０２内で実行され得る。このように、パックされたデータに対してオペレーションを実行するためにプロセッサのデータバスの全幅を用いることにより、多くのマルチメディアアプリケーションが加速され、より効率的に実行される。これによって、プロセッサのデータバスにわたってより小さなデータの単位を転送する必要性を潜在的に取り除き、１つのデータ要素に対して一度に１又は複数のオペレーションを実行する。
【００３７】
実行ユニット７０８の代替的な実施形態は、マイクロコントローラ、組込みプロセッサ、グラフィックスデバイス、ＤＳＰ、及び他のタイプのロジック回路においても用いられ得る。システム７００はメモリ７２０を含む。メモリ７２０は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリデバイス、又は他のメモリデバイスを含む。メモリ７２０は、プロセッサ７０２により実行される、データ信号により表された命令７１１及び／又はデータ７１３を格納する。
【００３８】
本技術の前述の特徴又は態様のいずれかは、図７に示される１又は複数の相互接続上で利用され得ることに留意されたい。例えば、プロセッサ７０２の内部ユニットを結合するための、不図示であるオンダイインターコネクト（ＯＤＩ）は、上記で説明された１又は複数の発明の態様を実装する。発明は、プロセッサバス７１０（例えば、インテルクイックパスインターコネクト（ＱＰＩ）、又は他の既知の高性能コンピューティング相互接続）、高速帯域幅メモリパス７１８からメモリ７２０、グラフィックアクセラレータ７１４へのポイントツーポイントリンク（例えば、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）準拠ファブリック）、コントローラハブ相互接続７２２、及びＩ／Ｏ、又は他の示されるコンポーネントを結合するための他の相互接続（例えば、ＵＳＢ、ＰＣＩ、ＰＣＩｅ）７３０Ａ、７３０Ｂ，７３０Ｃ、７３０Ｄ、７３０Ｅ、及び７３０Ｆと関連付けられる。そのようなコンポーネントのいくつかの例は、オーディオコントローラ７３６、ファームウェアハブ（フラッシュＢＩＯＳ）７２８、無線送受信機７２６、データストレージ７２４、ユーザー入力並びにキーボードインタフェース７４２を含むレガシＩ／Ｏコントローラ７１０、ユニバーサルシリアルバス（ＵＳＢ）のようなシリアル拡張ポート７３８、及びネットワークコントローラ７３４を含む。データストレージデバイス７２４は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭデバイス、フラッシュメモリデバイス、又は他の大容量ストレージデバイスを備え得る。
【００３９】
図７のブロック図は、コンピューティングデバイス７００が、図７に示される全てのコンポーネントを含むことを示すよう意図されたものではない。更に、コンピューティングデバイス７００は、特定の実装の詳細に応じて、図７に不図示の任意の数の追加のコンポーネントを含み得る。
【００４０】
［例１］  リタイマプレゼンス検出のための装置が本明細書で説明される。装置は、少なくとも１つのリタイマを含む。装置はまた、リタイマのプレゼンスを通知すべく、リンク初期化中にプレゼンスメッセージの少なくとも１つのビットをアサートする、リタイマと関連付けられた制御部（ｃｏｎｔｒｏｌ）を含む。
【００４１】
少なくとも１つのリタイマは、インデックスを示し得、インデックスを介してアクセス可能である。制御は、プレゼンスメッセージの少なくとも１つのビットをアサートする、バブルアルゴリズムに基づき得る。また、少なくとも１つのリタイマは、受信ポートから送信ポートまで劣化信号を同期及び再生成する。少なくとも１つのリタイマは構成可能及び発見可能であり得、少なくとも１つのリタイマは、複数のプロトコルをサポートし得る。更に、少なくとも１つのリタイマは、受信信号の取得及び送信を制御し得る。少なくとも１つのリタイマは、ＵＳＢ３．１リタイマであり得る。装置は、複数のリタイマを含み得、第１のリタイマは、ホストのコンポーネントであって、第２のリタイマは、デバイスのコンポーネントであって、２つのリタイマは、ホスト及びデバイスを接続するケーブルの各末端に位置される。ホストからデバイスまでの第１のプレゼンスメッセージは、各リタイマが、ホストからデバイスまでインデックスを示すことを可能にし、デバイスからホストまでの第２のプレゼンスメッセージは、各リタイマが、デバイスからホストまでインデックスを示すことを可能にする。
【００４２】
［例２］  リタイマプレゼンス検出及びインデックス化のためのシステムが、本明細書で説明される。システムは、第１のポート、第２のポート、及び複数のリタイマを含む。複数のリタイマのうちの一のリタイマを含むリンクは、第１のポート及び第２のポートを接続し、ロジックは、複数のリタイマが、リンク初期化中にプレゼンスメッセージのビットをアサートすることによりこれらのプレゼンスを通知すること、及び、プレゼンスメッセージに基づいてインデックスを示すことを可能にする。
【００４３】
複数のリタイマの各リタイマは、インデックスを示し、インデックスを介してアクセス可能であり得る。ロジックは、バブルアルゴリズムに基づき得る。複数のリタイマの各リタイマはまた、受信ポートから送信ポートまで劣化信号を同期及び再生成し得る。更に、プレゼンスメッセージは、ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）であり得る。複数のリタイマは、複数のプロトコルをサポートし得る。更に、複数のリタイマは、第１のポートから第２のポートへ、及びその逆に、リンク初期化中にプレゼンスメッセージのビットをアサートすることにより、インデックスを示し、これらのプレゼンスを通知し得る。リンクは、アクティブケーブルであり得、複数のリタイマは、ＵＳＢ３．１リタイマであり得る。ロジックは、リンク構成を決定し得る。
【００４４】
［例３］  リタイマプレゼンス及び検出の方法が、本明細書で説明される。方法は、第１のポートと第２のポートとの間のリンクを初期化する段階を含み、複数のリタイマは、第１のポートと第２のポートとの間に位置付けられる。方法はまた、第１のポートと第２のポートとの間にプレゼンスメッセージを送信する段階を含み、ロジックは、複数のリタイマが、リンク初期化中にプレゼンスメッセージのビットをアサートすることによりこれらのプレゼンスを通知すること、及びプレゼンスメッセージに基づいてインデックスを示すことを可能にする。
【００４５】
ロジックは、バブルアルゴリズムに基づき得、各リタイマは、プレゼンスメッセージをリンクに沿って転送する前に、プレゼンスメッセージのビットをアサートする。プレゼンスメッセージは、規定のメッセージと組み合わせられ得る。また、リンクはアクティブケーブルであり得る。プレゼンスメッセージは、ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）であり得る。第１のポート及び第２のポートは、それぞれ複数のプロトコルをサポートし得る。また、第１のポート及び第２のポートは、ＵＳＢ３．１ポートであり得る。ロジックは、リンク初期化と同時に実装され得る。ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）は、機能メッセージであり得る。複数のリタイマは、リンクに沿って信号劣化を防ぎ得る。
【００４６】
［例４］  リタイマプレゼンス検出のための装置が、本明細書で説明される。装置は、少なくとも１つのリタイマを含み、リタイマは、リンク初期化中にリタイマのプレゼンスを通知する手段を含む。
【００４７】
リタイマのプレゼンスを通知する手段は、プレゼンスメッセージのビットをアサートし得る。リタイマのプレゼンスを通知する手段はまた、インデックスを示し得、インデックスを介してアクセス可能であり得る。リタイマのプレゼンスを通知する手段は、アルゴリズムを介してプレゼンスメッセージのビットをアサートし得、リタイマのプレゼンスを通知する手段は、バブルアルゴリズムに基づき得る。少なくとも１つのリタイマは、受信ポートから送信ポートまで劣化信号を同期及び再生成し得る。更に、少なくとも１つのリタイマは、リタイマのプレゼンスを通知する手段を用いて、構成可能及び発見可能であり得る。少なくとも１つのリタイマは、複数のプロトコルをサポートし得る。少なくとも１つのリタイマは、受信信号の取得及び送信を制御し得る。また、少なくとも１つのリタイマは、ＵＳＢ３．１リタイマであり得る。装置は、複数のリタイマを含み得、第１のリタイマは、ホストのコンポーネントであり得、第２のリタイマは、デバイスのコンポーネントであり得、２つのリタイマは、ホスト及びデバイスを接続し得るケーブルの各末端に位置される。ホストからデバイスまでの第１のプレゼンスメッセージは、各リタイマが、ホストからデバイスまでインデックスを示すことを可能にし得、デバイスからホストまでの第２のプレゼンスメッセージは、各リタイマが、デバイスからホストまでインデックスを示すことを可能にし得る。
【００４８】
［例５］  有形の非一時的コンピュータ可読媒体が、本明細書で説明される。有形の非一時的コンピュータ可読媒体は、プロセッサに、第１のポートと第２のポートとの間のリンクを初期化するよう指示するコードを含み、複数のリタイマは、第１のポートと第２のポートとの間に位置づけられる。有形の非一時的コンピュータ可読媒体はまた、プロセッサに、第１のポートと第２のポートとの間にプレゼンスメッセージを送信するよう指示するコードを含み、ロジックは、複数のリタイマが、リンク初期化中にプレゼンスメッセージのビットをアサートすることにより、これらのプレゼンスを通知すること、及びプレゼンスメッセージに基づいてインデックスを示すことを可能にする。
【００４９】
ロジックは、バブルアルゴリズムに基づき得、各リタイマは、プレゼンスメッセージをリンクに沿って転送する前に、プレゼンスメッセージのビットをアサートし得る。プレゼンスメッセージは、定義済メッセージと組み合わせられ得、リンクは、アクティブケーブルであり得る。プレゼンスメッセージは、ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）であり得る。第１のポート及び第２のポートはそれぞれ、複数のプロトコルをサポートし得る。第１のポート及び第２のポートは、ＵＳＢ３．１ポートであり得る。また、ロジックは、リンク初期化と同時に実装され得る。ＬＦＰＳベースのパルス幅変調メッセージ（ＬＢＰＭ）は、機能メッセージであり得る。複数のリタイマは、リンクに沿って信号劣化を防ぎ得る。
【００５０】
［例６］  装置が、本明細書で説明される。装置は、高速シリアル相互接続についてのリタイマを含む。リタイマは、限定されるものではないが、受信機、制御部、及び送信機を含む。受信機は、特定のフィールドを含むメッセージを受信し、制御部は、特定のフィールドを、リタイマ値で更新することにより、リタイマのインバンドのプレゼンスを通知する。送信機は、特定のフィールドを含むメッセージを送信する。
【００５１】
制御部は、バブルアルゴリズムに基づいて、特定のフィールドを更新し得る。特定のフィールドを更新することは、特定のフィールドのビットをアサートすることを含み得る。また、特定のフィールドを更新することは、特定のフィールドの少なくとも１つのビットの論理シフトを含み得る。送信機は、アップストリームデバイスに結合され得る。アップストリームデバイスは、高速シリアル相互接続に沿って、リタイマ値に基づいたリタイマの数を決定する制御部を含み得、リタイマの数に関して、リタイマの相対インデックス化に基づいてリタイマアクセスを実行し得る。
【００５２】
本発明は限られた数の実施形態に関して説明してきたが、当業者であれば、そこから多数の変形及び変更を理解するであろう。添付の特許請求の範囲は、そのような変形及び変更も全て本発明の真の主旨及び範囲に含むことが意図されている。
【００５３】
設計は、作成からシミュレーション、製造までの様々な段階を経てもよい。設計を表すデータは、多数の態様における設計を表し得る。第１に、シミュレーションにおいて有用であるように、ハードウェアは、ハードウェア記述言語又は別の機能記述言語を用いて表され得る。また、ロジック及び／又はトランジスタゲートを有する回路レベルモデルは、設計処理のいくつかの段階で製造され得る。更に、いくつかの段階で、殆どの設計は、ハードウェアモデルにおける様々なデバイスの物理的配置を表すデータのレベルに到達する。従来の半導体製造技術が用いられる場合、ハードウェアモデルを表すデータは、集積回路を製造するのに用いられるマスクに対する異なるマスク層についての様々な特徴が存在する又は存在しないかを特定するデータであり得る。設計の任意の表現において、データは、機械可読媒体の任意の形態に格納され得る。ディスクのようなメモリ又は磁気或いは光ストレージは、情報を送信するのに変調され、さもなければ生成される光或いは電気波を介して送信されるそのような情報を格納する、機械可読媒体であり得る。コード又は設計を示し又は搬送する電気搬送波が送信されるとき、電気信号のコピー、バッファ処理、又は再送信が実行される程度に、新たなコピーが作成される。このように、通信プロバイダ又はネットワークプロバイダは、有形の機械可読媒体上に、少なくとも一時的に、搬送波にエンコードされる情報のような物品を格納し得、本発明の実施形態の技術を実施する。
【００５４】
本明細書で用いられるようなモジュールは、ハードウェア、ソフトウェア、及び／又はファームウェアの任意の組み合わせを指す。例として、モジュールは、マイクロコントローラのようなハードウェアを含み、マイクロコントローラにより実行されるように適合されたコードを格納する非一時的媒体と関連付けられる。従って、モジュールへの言及は、一実施形態において、ハードウェアを指し、ハードウェアは、非一時的媒体上で保持されるコードを認識及び／又は実行するように具体的に構成される。更に、別の実施形態において、モジュールの使用は、コードを含む非一時的媒体を指し、非一時的媒体は、予め定められた動作を実行するマイクロコントローラにより実行されるように具体的に適合される。推定され得るように、更に別の実施形態において、（この例において）モジュールという用語は、マイクロコントローラと非一時的媒体との組み合わせを指し得る。しばしば、個別に示されるモジュール境界は一般に異なり、潜在的に重なり合う。例えば、第１のモジュール及び第２のモジュールは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせを共有し得、その一方で、潜在的にいくつかの独立したハードウェア、ソフトウェア、又はファームウェアを維持する。一実施形態において、ロジックという用語の使用は、トランジスタ、レジスタのようなハードウェア、又はプログラム可能な論理デバイスのような他のハードウェアを含む。
【００５５】
一実施形態において、「する（ｔｏ）」又は「構成される（ｃｏｎｆｉｇｕｒｅｄ  ｔｏ）」という用語の使用は、指定或いは決定されたタスクを実行する装置、ハードウェア、ロジック、又は要素を配置し、一緒にまとめ、製造し、販売の申出をし、輸出し、及び／又は設計することを指す。この例において、動作していない装置又はその要素は、なお、指定されたタスクを実行するように設計され、結合され、及び／又はインターコネクトされる場合、当該の指定されたタスクを実行するように「構成される」。純粋に図示的な例として、ロジックゲートは、動作中に０又は１をもたらし得る。しかし、クロックに可能信号を提供するよう「構成された」ロジックゲートは、１又は０を提供し得るあらゆる潜在的なロジックゲートを含まない。代わりに、ロジックゲートは、いくつかの態様において、１又は０の出力がクロックを可能にする動作中に結合されるものである。「構成される」という用語の使用は、動作を必要としないが、代わりに、装置、ハードウェア、及び／又は要素が隠れた状態に重点を置き、その隠れた状態において、装置、ハードウェア、及び／又は要素が動作しているときに、装置、ハードウェア、及び／又は要素は、特定のタスクを実行するように設計されたに再度留意されたい。
【００５６】
更に、一実施形態において、「可能（ｃａｐａｂｌｅ  ｏｆ／ｔｏ）」及び／又は「動作可能（ｏｐｅｒａｂｌｅ  ｔｏ）」という用語の使用は、いくつかの装置、ロジック、ハードウェア、及び／又は要素を指し、装置、ロジック、ハードウェア、及び／又は要素の使用を指定された態様において可能にするような態様で設計される。一実施形態において、「する（ｔｏ）」、「可能（ｃａｐａｂｌｅ  ｔｏ）」、又は「動作可能「ｏｐｅｒａｂｌｅ  ｔｏ」の使用は、装置、ロジック、ハードウェア、及び／又は要素が動作していないが、装置の使用を指定された態様において可能にするように設計された、装置、ロジック、ハードウェア、及び／又は要素の隠れた状態を指すことを、上記のように留意されたい。
【００５７】
本明細書で用いられるような値は、番号、状態、ロジック状態、又はバイナリロジック状態のいずれかの既知の表現を含む。しばしば、論理レベル、論理値、又は論理値の使用はまた、１の及び０のと称され、それは単に、バイナリ論理状態を表す。例えば、１は高論理レベルを指し、０は、低論理レベルを指す。一実施形態において、トランジスタ、フラッシュセルのようなストレージセルは、単一の論理値又は複数の論理値を保持することが可能であり得る。しかしながら、コンピュータシステムにおける他の値の表現が用いられてきた。例えば、少数第１０位はまた、１０１０のバイナリ値、及び１６進文字Ａとして表され得る。従って、値は、コンピュータシステムに保持されることが可能な情報の任意の表現を含む。
【００５８】
更に、状態は、値、又は値の部分により表され得る。例のように、論理１のような第１の値は、デフォルト又は初期状態を表し得、その一方で、論理０のような第２の値は、非デフォルト状態を表し得る。更に、一実施形態において、リセット及びセットという用語は、それぞれ、デフォルト、及び更新された値もしくは状態を指す。例えば、デフォルト値は、潜在的に、高論理値、即ちリセットを含み、その一方で、更新された値は潜在的に、低論理値、即ちセットを含む。値の任意の組み合わせは、任意の状態の数を表すのに利用され得ることに留意されたい。
【００５９】
いくつかの実施形態は、ハードウェア、ファームウェア、及びソフトウェアのうち１つ又はそれらの組み合わせにおいて実装され得る。上記に記載の方法、ハードウェア、ソフトウェア、ファームウェア、又はコードの実施形態は、処理要素により実行可能な、機械アクセス可能、機械可読、コンピュータアクセス可能、又はコンピュータ可読媒体上で格納される命令又はコードを介して実装され得る。非一時的機械アクセス可能／可読媒体は、コンピュータ又は電子システムのような機械により可読な形で情報を提供（即ち、格納、及び／又は送信）する任意の仕組みを含む。例えば、非一時的機械アクセス可能媒体は、情報を受信し得る非一時的媒体から区別される、スタティックＲＡＭ（ＳＲＡＭ）又はダイナミックＲＡＭ、（ＤＲＡＭ）のような、ランダムアクセスメモリ（ＲＡＭ）、ＲＯＭ、磁気又は光ストレージ媒体、フラッシュメモリデバイス、電気ストレージデバイス、光ストレージデバイス、音響ストレージデバイス、一時的な（伝搬された）信号（例えば、搬送波、赤外線信号、デジタル信号）から受信される情報を保持するための他の形式のストレージデバイス等を含む。
【００６０】
本発明の実施形態を実行するロジックをプログラム化するのに用いられる命令は、ＤＲＡＭ、キャッシュ、フラッシュメモリ、又は他のストレージのようなシステムにおけるメモリ内に格納され得る。更に、命令は、ネットワークを介して、又は他のコンピュータ可読媒体を経由して配信され得る。このように、機械可読媒体は、機械（例えば、コンピュータ）により可読な形で情報を格納又は送信するための任意の仕組みを含み得るが、フロッピー（登録商標）ディスク、光ディスク、コンパクトディスク、リードオンリメモリ（ＣＤ−ＲＯＭ）、磁気光ディスク、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、磁気又は光カード、フラッシュメモリ、又は、電気、光、音響、もしくは他の形の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号等）を介してインターネット上で情報の送信に用いられる有形の機械可読ストレージに限定されない。従って、コンピュータ可読媒体は、機械（例えば、コンピュータ）により可読な形で電子命令又は情報を格納又は送信するのに好適な任意のタイプの有形の機械可読媒体を含む。
【００６１】
本明細書全体で「一実施形態」又は「実施形態」への言及は、実施形態に関連して説明される特定の機能、構造、又は特性が、本発明の少なくとも一実施形態に含まれることを意味する。このように、本明細書全体にわたる様々な位置における「一実施形態において」又は「実施形態」の用語の出現は、同一の実施形態を全て必ずしも参照しない。更に、特定の機能、構造、特性は、１又は複数の実施形態において、任意の好適な態様において組み合わせられ得る。本明細書で説明され、及び示される全てのコンポーネント、特徴、構造、特性等は、特定の実施形態又は複数の実施形態に含まれる必要はない。明細書が、例えば、コンポーネント、機能、構造、又は特性が含まれ「得る（（ｍａｙ）（ｍｉｇｈｔ）（ｃａｎ）又は（ｃｏｕｌｄ））」と述べる場合、その特定のコンポーネント、機能、構造、又は特性は、含まれることを要求されない。明細書又は請求項が、「一の」又は「ある」要素を指す場合、要素が１つしかないということを意味するのではない。明細書又は請求項が「追加的」要素を指す場合、１つより多い追加的な要素があることを除外しない。
【００６２】
上記の明細書において、詳細な説明が、特定の例示的な実施形態を参照して行われた。しかしながら、様々な変形及び変更は、添付の特許請求の範囲に記載されるような本発明のより広い主旨と範囲から逸脱することなく、本明細書に対してなされ得ることが明らかであろう。明細書及び図面は、従って、限定的な意味よりむしろ、例示的な意味であるとみなされる。更に、実施形態、及び他の例示的な表現の上記の使用は、同一の実施形態又は同一の例を必ずしも指すものではないが、異なる及び別個の実施形態、並びに、潜在的に同一の実施形態を指し得る。
【図１】
0006400122.tif 000002
【図２】
0006400122.tif 000003
【図３】
0006400122.tif 000004
【図４】
0006400122.tif 000005
【図５】
0006400122.tif 000006
【図６】
0006400122.tif 000007
【図７】
0006400122.tif 000008