JP4370222B2 - 不良のレーンを特定し、リンクを通じて接続された2つのcsiエージェントの幅の容量を交換するための方法 - Google Patents

不良のレーンを特定し、リンクを通じて接続された2つのcsiエージェントの幅の容量を交換するための方法 Download PDF

Info

Publication number
JP4370222B2
JP4370222B2 JP2004235927A JP2004235927A JP4370222B2 JP 4370222 B2 JP4370222 B2 JP 4370222B2 JP 2004235927 A JP2004235927 A JP 2004235927A JP 2004235927 A JP2004235927 A JP 2004235927A JP 4370222 B2 JP4370222 B2 JP 4370222B2
Authority
JP
Japan
Prior art keywords
link
lanes
agent
information
sets
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
JP2004235927A
Other languages
English (en)
Other versions
JP2005332357A (ja
Inventor
チェルクリ ナヴィーン
ダブラル サンジェイ
ダニング デイヴィッド
フロッザム ティム
ズィー シェーンボーン シオドア
アール シャー ラウル
ビー スタインマン モーリス
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2005332357A publication Critical patent/JP2005332357A/ja
Application granted granted Critical
Publication of JP4370222B2 publication Critical patent/JP4370222B2/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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

本発明は、リンクに基づく計算段階の分野に関するものであり、特に、本発明は、リンクを通じて接続されたエージェント間でリンク幅の容量を調整することに関するものである。
図1は、先行技術のバス120を示したものである。バス120は、電子構成要素101a−10Naと110aの間で通信を転送するために使用される“共有媒体”の通信構成であり、Nは整数値である。共有媒体は、相互に通信する構成要素101a−10Naと110aが同じ電子配線120を物理的に共有し、それに接続されることを意味する。すなわち、配線120は、構成要素101a−10Naと110aのその他のものと通信するために、構成要素101a−10Naと110aの何らかにより使用される共有リソースである。例えば、構成要素101aが構成要素10Naに通信することを望む場合、構成要素101aは配線120を通じて構成要素10Naに情報を送信する。構成要素103aが構成要素110aに通信することを望む場合、構成要素103aは同じ配線120を通じて構成要素110aに情報を送信する。以下同様である。
計算システムは、もともとはバスを利用していた。例えば、特定のIBM互換のPCについて、バス120はPCIバスに対応し、構成要素101a−10Naは“I/O”構成要素(例えば、LANネットワーク・アダプタ・カード、ハードディスク記憶装置等)に対応し、構成要素110aはI/O制御ハブ(ICH)に対応する。その他の例として、特定のマイクロプロセッサ計算システムについて、バス120は“フロントサイド”バスに対応し、構成要素101a−10Naはマイクロプロセッサに対応し、構成要素101aはチップセットに対応する。
“容量性負荷”と称される影響のため、計算システムの速度が増えると、バスが次第に実用的でなくなる。基本的に、何らかの配線の容量性負荷が増加すると、その配線が情報を転送する最大速度が減少する。すなわち、配線の容量性負荷とその同じ配線の速度との間に反比例の関係が存在する。配線に加えられる各構成要素は、配線の容量性負荷を増やすことを引き起こす。従って、バスは一般的に複数の構成要素を結合するため、バス配線120は一般的に容量でいっぱいである。
計算システムは、“リンクに基づく”構成要素対構成要素の相互接続機構に移行している。図2は、図1に対して比較上の例を示したものである。図2の方法によると、計算システムの構成要素101b−10Nbと110bは、高速の単方向ポイント・ツー・ポイント・リンク130−130のメッシュを通じて相互接続される。単方向リンクの対は、第1の方向で情報を送信する第1の単方向ポイント・ツー・ポイント・リンクと、第1の方向と逆の第2の方向で情報を送信する第2の単方向ポイント・ツー・ポイント・リンクとを一般的に有する。単方向ポイント・ツー・ポイント・リンクは、一般的に単一の端点を有するため、その容量性負荷は共有媒体のバスのものより実質的に小さい。
各ポイント・ツー・ポイント・リンクは、銅又は光ファイバのケーブル、並びに適切なドライバ及び受信機(例えば、銅に基づくケーブル用の片口又は差動ラインドライバと受信機、光ファイバケーブル用のレーザ又はLEDのE/O送信機とO/E受信機等)とで構成され得る。図2に示されるメッシュ140は、各構成要素がその他の全ての構成要素とポイント・ツー・ポイント・リンクにより接続されるという点で単純化されている。更に複雑な機構では、メッシュ140は、発信構成要素から宛先構成要素に情報を転送するために、ルーティング/スイッチング・ノードを有するネットワークである。実装に応じて、ルーティング/スイッチング機能は、メッシュネットワーク内のスタンドアローンの機能であることがあり、又は計算システムの実体の構成要素(例えば、プロセッサ、メモリ・コントローラ、I/Oユニット等)に統合されることがある。
システムのポイント・ツー・ポイント相互接続を使用して結合されたポートを備えた2つのリンクのエージェントが、そのリンク幅の対応容量を交換し、相互に合意できるリンク幅をネゴシエーションする技術が説明される。エージェントのそれぞれの対の間の相互接続は、複数の電気配線又はレーンを有する端方向リンクの対を有し、1つのリンクは第2のエージェントにデータを送信するために第1のエージェントにより使用され、他方のリンクは第1のエージェントにデータを送信するために第2のエージェントにより使用される。エージェントの各ポートは、他方のエージェントのポートにデータを送信するために全てのレーン(すなわち、全リンク幅)を使用することがあり、又は全てのレーンより少ないサブセット(例えばレーンの半分(すなわち半分幅))、若しくはレーンの半分の半分(例えば四半分幅)を使用することがある。すべてのレーンより少ないものがデータを送信するために使用される場合、データを送信するために使用されることがあるレーンの複数の組み合わせ又はセットが存在する。
2つのエージェントが使用されるレーンについて相互に合意するため、前記技術の1つの実施例において、データの受信のために1つの単方向リンクを使用する第1のエージェントの受信機は、(同じリンクに結合された)第2のエージェントの送信機に情報を送信し、第1のエージェントの受信機が第2のエージェントからデータを受信するために使用できるレーンの組み合わせの全て(又はサブセット)を指定する。第1のエージェントの受信機は、その他の単方向リンクを介して第2のエージェントに結合された第1のエージェントの送信機を使用して、その組み合わせを指定する情報を送信する。留意すべき点は、第1のエージェントの受信機はどのレーンが使用可能でないかについて認識することがあり、それ故に第1のエージェントの受信機がデータを受信するために使用することができるレーンの組み合わせが、使用可能なレーンのみを有することがあることである。この情報を受信することに応じて、第2のエージェントの送信機はレーンの組み合わせのうちの1つを選択し、第1のエージェントの受信機に第2のエージェントの送信機を結合する単方向リンクを通じて指示を送信することにより、第1のエージェントの受信機にその選択を指示する。第2のエージェントの送信機からその選択の指示を受信することに応じて、レーンの選択された組み合わせが、第1のエージェントの受信機にデータを送信するために使用される。
1つの実施例において、エージェントは、2つのエージェント間のリンクのそれぞれの使用可能なレーンを通じて、エージェントが他方のエージェントに対してどのレーンの組み合わせを使用することを望むかを示す情報を送信する。従って、1つのエージェントの送信機は、リンクのそれぞれの使用可能なレーンを通じて他方のエージェントの受信機に連続的に同じ情報を送信する。これは、選択情報を送信するエージェントの送信機が、情報を転送しているエージェントの受信機によりどの情報が受信されたかを認識していないシステム実装に有利な情報を、他方のエージェントの受信機が受信することを確保する。また留意すべき点は、全てのレーンが使用可能でないことがあるため、情報の送信はこの時点で可能でないことがある。
エージェントのそれぞれは、ポイント・ツー・ポイント・リンクの別個の対を使用することを通して、1つ以上のその他のエージェントに結合されることがある。従って、各エージェントは、そのリンク幅の対応容量を交換し、エージェントを複数のエージェントに接続する相互接続のため、複数のエージェントとリンク幅をネゴシエーションすることがある。
ここに記載される技術は、リンクの再初期化なしに、動的なリンク幅の調整に対応する。
本発明は、以下に与えられる詳細な説明と、本発明の多様な実施例の添付の図面から十分に理解される。しかし、それは本発明を特定の実施例に限定するために検討されるべきではなく、それは説明及び理解のためのみである。
以下の説明において、本発明の更に完全な説明を提供するために、複数の詳細が示されている。しかし、本発明がその特定の詳細なしに実施されることがあることは、当業者に明らかである。他の場合に、本発明をあいまいにすることを回避するために、周知の構成と装置が詳細にではなく、ブロック図の形式で示されている。
以下の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットの動作のアルゴリズム及び記号表示について提示される。そのアルゴリズムの説明と表示は、他の当業者に作業の実質を最も効果的に伝えるために、データ処理分野の当業者により使用される手段である。ここでは、アルゴリズムは一般的に望ましい結果を導く首尾一貫した動作の連続であると考えられる。動作は物理量の物理操作を必要とするものである。必ずしも必要ではないが、通常は、その量は、保存され、転送され、組み合わされ、比較され、その他に操作されることが可能な電気又は磁気信号の形式をとる。主に一般の使用の理由で、その信号のことをビット、値、要素、記号、文字、用語、数字、又はそれと同様のものを参照することが時には便宜であることがわかる。
しかし、全ての前記及び類似の用語が適切な物理量に関連しており、その量に適用される単に便宜的なラベルであることを留意すべきである。以下の説明から明らかなものとしてではなく、特に述べられなければ、“処理”、“計算”、“算出”、“判断”、“表示”又はそれと同様のもののような用語を利用する説明は、説明を通じて、コンピュータシステム又は同様の電子計算装置の動作又は処理を参照し、コンピュータシステムのレジスタとメモリ内の物理(電子)量として表されたデータを、コンピュータシステムのメモリ、レジスタ若しくはその他の情報ストレージ、又は送信若しくは表示装置内の物理量として同様に表された他のデータに操作及び変換することがわかる。
本発明はまた、その動作を実行する装置に関するものである。前記装置は所要の目的で特に構成されることがあり、又はコンピュータに保存されたコンピュータプログラムにより選択的に起動若しくは再構成される多目的コンピュータを有することがある。そのようなコンピュータプログラムは、限定するわけではないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM及び光磁気ディスクを含む何らかの形式のディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気又は光カード、又は電子命令を保存するために適しており、コンピュータシステムバスにそれぞれ結合された何らかの形式の媒体のようなコンピュータ読み取り可能ストレージ媒体に保存されることがある。
ここに提示されたアルゴリズムと表示は、本質的に何らかの特定のコンピュータ又はその他の装置に関するものではない。多様な多目的システムがこの教示によるプログラムで使用されることがあり、より専門の装置を構成し、必要な方法のステップを実行することが便宜であるとわかることがある。多様な前記システムに必要な構成が、以下の説明から現れる。更に、本発明は何らかの特定のプログラム言語を参照して説明されない。多様なプログラム言語が、ここに説明される通りに本発明の教示を実施するために使用されることがあることがわかる。
機械読み取り可能装置は、機械(例えばコンピュータ)により読み取り可能な形式で情報を保存又は送信するための何らかの機構を有する。例えば、機械読み取り可能媒体は、読み取り専用メモリ(ROM);ランダムアクセスメモリ(RAM);磁気ディスクストレージ媒体;光ストレージ媒体;フラッシュメモリ装置;電気、光、音響又はその形式の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号等)等を含む。
図3は、リンクに基づく計算システムのエージェント300(例えば、処理コア、メモリ・コントローラ、I/Oコントローラ等)を示したものである。複数の単方向リンク307から307がエージェント300に結合されて示されている。単方向リンクの対が、リンクに基づく計算システム内の他の構成要素(図3に図示されていない)に結合されることがある。エージェント300は、少なくとも2つの下位構成要素(1)“コア”と、2)単方向リンクの対の発信点/終点(例えばドライバ/受信機)を有する物理層304)を有するものと考えられ得る。
コア301は、構成要素の主な機能(例えば、構成要素が処理コアの場合に処理を実行するために使用される回路、構成要素がメモリ・コントローラ又はチップセットの一部である場合にメモリ・コントローラ機能を実行するために使用される回路等)として考えられ得る。物理層304は、アウトバウンド・リンク用にデータを用意し、アウトバウンド・リンクでデータを送信するために使用される回路である。物理層304はまた、インバウンド・リンクからデータを受信し、コア301への提示用に受信データを用意するために使用される回路を有する。
特定のアウトバウンド・リンクでの送信用にデータを準備し、特定のインバウンド・リンクから受信した後にコア301への提示用にデータを準備するために使用される回路の各領域は、物理層304の異なる領域として考えられ得る。図3は、N個のそのような領域304から304を示している。
図4は、エージェント401と402の対である。それぞれのエージェント401と402は、コア(それぞれコア401と402)と、物理層(それぞれ物理層401と402)とを有する。それぞれのエージェント401と402の物理層は、送信機と、受信機と、リンク・コントローラとを有する。従って、物理層401は、送信機410と、受信機411と、リンク・コントローラ412とを有し、物理層402は、送信機420と、受信機421と、リンク・コントローラ422とを有する。その他に、リンク・コントローラがコアの一部になることがある。それぞれのエージェント401と402の物理層はまた、ストレージ(エージェント401でストレージ413、及びエージェント402でストレージ423として図示される)を有することがあり、そのストレージは、1つ以上のエージェントのリンク幅の容量の情報を保存するためにリンク層コントローラによって使用されることがある。特に、エージェント401のリンク層コントローラ412は、エージェント402のリンク幅の容量の情報をストレージ413に保存することがあり、エージェント402のリンク層コントローラ422は、エージェント401のリンク幅の容量の情報をストレージ423に保存することがある。
1つの実施例において、リンク幅の対応容量の交換と、エージェント間の通信の各方向でのその後のリンク幅のネゴシエーションは、リンク初期化の一部として実行される。1つの実施例において、リンク初期化中に、各エージェントの受信機は各レーンの品質を進んで評価し、使用可能でないと判断されたレーンを除去する。リンク初期化の終わりの方に、各エージェントは良好なレーンの利用可能なセットを調べ、その良好なレーンを使用して構成され得る可能なリンク幅を評価する。レーンの利用可能なセットを使用して使用可能なリンク幅を構成する能力は、設計の仕様である。エージェントがリンク幅を構成する能力を計算すると、この情報を交換し、相互に合意できるリンク幅をネゴシエーションする。従って、受信機は、それが結合されたリンクのレーンを調べ、どれが不良であるかを判断し、受信機のために幅の容量の識別子(WCI)を他方のエージェントに送信し、他方のエージェントの送信機が、それ自体と他方のエージェントの受信機との間のリンクのリンク幅を選択する。
1つの実施例において、リンクは、何らかの4つの論理的な四分区間の組み合わせを使用して構成されることがある。この四分区間は、ここではQ0からQ3として参照される。4つの四分区間のそれぞれは、リンクマップ(LM)と呼ばれる4ビットのフィールドを使用して内部的に表される。リンクマップはメモリ(例えばスクラッチ・メモリ)に保存されることがある。LMのLSB(最小位ビット)は四分区間Q0に対応し、MSB(最上位ビット)は四分区間Q3に対応する。LMのビット位置での1の値は対応する四分区間が活性であることを示し、0の値は対応する四分区間がリンクの一部でないことを示す。表1は、全ての可能な四分区間の組み合わせを使用してサポートされるリンク幅のリンクマップを示したものである。その他の表示も可能である。
Figure 0004370222
表1に示される通り、有効なリンクを構成する11個の可能な方法(全幅のリンクを構成する四分区間の唯一の組み合わせと、半分幅のリンクを構成する6個の可能な四分区間の組み合わせと、四半分幅のリンクを構成する4個の可能な方法)が存在する。1つの実施例において、実装が、その全ての11個の可能な組み合わせに対応する必要はない。表1の最後の列は、リンクマップにインデックスを付けるために使用される。
1つの実施例において、実装によりサポートされるリンクマップは、ここで幅の容量の識別子(WCI)と称される11ビットのフィールドを使用して表される。WCIの各ビットは、表1のリンク・マスク・インデックスに示されるインデックスのうちの1つに対応する。従って、WCIのビット0はインデックス0に対応し、WCIのビット1はインデックス1に対応し、以下同様である。1つの実施例において、WCIビットの1の値は、このインデックスに対応するLMがリンク幅を構成するために使用され得ることを示す。リンク初期化中に、ポートは、実装に特有のそれに対応するWCIを交換し、双方のポートに共通のLMについて合意する。このように合意されたLMは、共通リンクマップ(CLM)と称される。1つの実施例において、CMLを選択する優先順位は、WCIの最小のビットから最大のビットへの順序である。例えば、表1の全てのLMに対応する2つのポートが半分幅のリンクを作るように構成される場合、四分区間{Q1,Q0}の組み合わせがその他の全ての半分幅の四分区間の組み合わせと比較してWCIにおける最小のビット位置を有しているため、リンクを構成するために{Q1,Q0}を使用する。その他の優先順位も使用されることがある。
表2は、広く変化するリンク幅の対応容量を備えたいくつかの例示的な実装を示したものである。その例のそれぞれについてWCIフィールドも示されている。例えば、例1に示される2つの実装が半分幅のリンクを作るように構成される場合、四分区間{Q1,Q0}の組み合わせがその他の四分区間の組み合わせに優先するため、四分区間{Q1,Q0}を使用する。逆に、例1と3に示される実装が相互に接続され、半分幅のリンクを作るように構成される場合、その実装は半分幅のリンクに対応する共通のLMを有していないため、リンク初期化エラーが生じる。
Figure 0004370222
リンク初期化(構成状態)中にWCIが交換されると、選択されたCLMが肯定応答の一部として戻される。WCIがレーンの所定のセットについてエージェントの全幅の容量を示すと、リンク幅のネゴシエーション処理が単一のパスで行われる。
図5は、エージェントの物理層の送信機により実行される処理の1つの実施例のフローチャートである。その処理は、ハードウェア(回路、専用ロジック等)、ソフトウェア(多目的コンピュータシステム又は専用機械で作動するようなもの)、又は双方の組み合わせを有することがある処理ロジックにより実行される。
図5を参照すると、第1のエージェントと第2のエージェントを接続するポイント・ツー・ポイント相互接続でリンクのレーンの1つ以上のセットを処理ロジックが特定することにより、処理が始まる(処理ブロック501)。第1のエージェントは第2のエージェントに情報を送信するためにリンクを使用する。第2のエージェントの処理ロジックは、それぞれのレーンの品質を評価し、どのレーンが使用可能であるか否かを特定することにより、リンクのレーンの1つ以上のセットを特定することがある。適切に機能していないレーン又は適切に調整(レーンの歪みを補正及び調整し、全てのレーンのデータウィンドウが位置合わせされることを確保する)され得ないレーンは、故障であり、使用できないと考えられる。
リンクのレーンのセットを特定した後に、第2のエージェントの処理ロジックは、第1のエージェントへのレーンのそのセットを示すリンク幅の情報(例えばWCI)を、第1のエージェントに送信する(処理ブロック502)。リンク幅の情報は、第2のエージェントの受信機により複数のレーンで使用可能と考えられるレーンを使用して構成され得るレーンの可能な組み合わせを特定するデータを有する。1つの実施例において、リンク幅の情報は、(第2のエージェントの受信機の代わりに)第2のエージェントの送信機により、使用可能な(そのため使用に選択可能である)その他のリンクのレーンについて、第1のエージェントの受信機に連続的に送信される。その第1のエージェントの受信機は、受信された情報をリンク・コントローラに転送する。送信機はどの情報が他方のエージェントの受信機により受信されるかを知らないため、リンク幅の情報は使用可能な全てのレーンについて送信される。
その後、処理ロジックは、レーンの1つ以上のセットから使用されるレーンの第1のエージェントの送信機からの指示を受信し(処理ブロック503)、第1と第2のエージェントの双方が、情報を送信するために使用されるリンク幅を調整する(処理ブロック504)。1つの実施例において、この調整は、リンクの正確なデータレーンでデータの転送を調整することを担う多重化ロジックを調整することを含む。例えば、多重化ロジックは、半分幅について半分のレーンに対する全幅のデータを提供し、又は四半分幅について4分の1のレーンに対する全幅のデータを提供し、そのデータはどの半分又は4分の1のレーンを使用するかの指定を含む。そのような多重化の例は、同時に出願され、本発明の法人の代理人に割り当てられた“METHODS AND APPARATUSES TO EFFECT A VARIABLE−WIDTH LINK”という題名の米国特許出願に記載されている。
図6は、エージェントの物理層の受信機により実行される処理の1つの実施例のフローチャートである。その処理は、ハードウェア(回路、専用ロジック等)、ソフトウェア(多目的コンピュータシステム又は専用機械で作動するようなもの)、又は双方の組み合わせを有することがある処理ロジックにより実行される。その処理ロジックは、第2のエージェントからリンクを通じて情報を受信する第1のエージェントに存在することがある。
図6を参照すると、処理ロジックが第2のエージェントからリンク幅の情報(例えばWCI)を受信することにより、処理が始まる(処理ロジック601)。リンク幅の情報は、第1のエージェントから情報を受信するために第2のエージェントにより使用されることがあるポイント・ツー・ポイント相互接続における、リンクのレーンの1つ以上のセット又は組み合わせを示す。1つの実施例において、リンク幅の情報は、情報を受信する受信エージェントにより使用可能であるとして特定されたリンクのレーンの1つの組み合わせを各ビットが示す複数のビットを有する。1つの実施例において、リンク幅の情報は、リンクのレーンの1つ、それより多く、又は全てについての連続データとして受信される。
リンク幅の情報を受信した後、処理ロジックは、第2のエージェントに情報を送信する際に使用されるレーンのセットのうちの1つを選択し(処理ブロック602)、処理ロジックは、どのレーンのセットが第2のエージェントに情報を送信するために使用されるかについての指示を第2のエージェントに送信する(処理ブロック603)。1つの実施例において、処理ロジックは、相互接続におけるその他の異なる単方向リンクを使用して、その指示を送信する。その後、双方のエージェントは、第1のエージェントの送信機により選択されたリンク幅と特定のレーンを使用し、第2のエージェントの受信機に情報を送信する。従って、リンクに接続された送信エージェントと受信エージェントとの間でデータを転送するためのレーンのネゴシエーションと選択は、単一のパスで生じる。
留意すべき点は、リンク幅の情報が第1のエージェントにより保存されることがあることである。
図7は、少なくとも2つのエージェントを有するシステムの1つの実施例のリンク初期化状態図を示したものである。図7を参照すると、まず、双方のエージェントは全てのレーンが良好であると仮定する。各レーンをビット・ロック(bit lock)に調整することにより、初期化が進む。1つの実施例において、ロジックの一部がリンク調整又は測定を実施するために使用される。調整ロジックは、リンクのそれぞれの側の物理層がリンクを使用するために測定されることを可能にする。すなわち、内部半導体装置がI/Oリンクと互換性があるか測定される。最初の測定手順は、ここでは物理層の初期化と称される。この初期化は、それぞれのその後の段階が以前の段階のI/O回路の調整を必要とする初期化で、一連の段階で実施される。
状態機械がそれぞれの状態を遷移すると、その特定の状態で調整できなかったレーンを特定する。不良のレーンは、ポートの受信部分により特定される。このように特定された全てのレーンは不良であると印を付けられ、送信中にリンクの一部として使用されない。状態機械が構成に進む前に、良好なレーンの利用可能なセットを使用して、ローカルのWCIを計算する。このローカルのWCIは、異なるリンク幅で入力データを受信する受信機の容量を示す。構成状態において、双方のエージェントがそのWCIを交換する。それぞれの側の送信機は、ローカルの送信機のWCIの容量と、リモートの受信機の容量に対応するリモートのWCIとを比較する。送信機のWCIは、コンピュータシステムの設計特性に基づいて保存又は計算されることがある。送信機は不良なレーンを特定することに含まれないため、送信機のWCIは初期化中に調整できなかったレーンの存在を考慮に入れない。しかし、送信機はリンクに接続された他方のエージェントの受信機のWCI(リモートのWCI)とそのWCIを比較し、双方に共通のCLMを選択する。従って、不良のレーンを含むLMはリモートのWCIの一部ではないため、送信機はそのLMを選択することを回避する。送信機がCLMを選択すると、そのCLMをリモートの受信機に送信し、その後、送信機と受信機の双方がそのCLMを使用して、L0状態に入る。留意すべき点は、CMLが送受信機のセットに対応し、それによりリンクの各方向がその特有のCLMを有することである。その2つのCLMが異なることが許容され、それ故に一方向のリンクが他方のリンク幅に無関係な幅で動作することがある。これは、一方向のレーンの故障が他方向の帯域を低下させないことを確保する。双方向のリンクは同じ幅で動作することがあるが、レーンの異なる組み合わせを使用することもある。
更に具体的には、図7の状態機械はリンクの物理層の初期化を制御し、その物理層の初期化において本発明の1つの実施例によるリセットを使用して物理層がリセットされる。図7に示される状態機械700は、無効/開始動作705で開始する初期化シーケンスを表す。電源オンの時に、又は何らかの物理層のリセットのイベントに応じて、無効/開始状態705に入る。開始すると、ポートは検出動作710を実行し、相互接続されたエージェントを検出する。検出動作710は、2つのエージェントがリンク初期化を開始するために同期化される時点である。検出動作710は、その他の物理エージェント(すなわち、その他のエージェントの物理層)がリンクの他方の端点に存在するか否かを判断する。本発明のその他の実施例は、相互接続されたエージェントの方向とテスト・プローブとを識別し得るPLIを提供する。
検出動作710において、ローカルのポートは転送クロックを起動し、リモートのポートからの受信クロックに固定し始める。ある特定の時間の終了時に受信クロックが検出されない場合、ローカルのポートは初期化シーケンスを中止し、無効/開始705の動作にリセットする。その後、検出動作710はリモートのエージェントの既知のDCパターンを検査する。
相互に検出すると、相互接続されたエージェントは対話式の調整を実施するためにポーリング動作720を開始する。ポーリング動作720中に、リンクは、2つの相互接続されたエージェント間で選択するために使用される高速のクロックで動作するように調整される。
ポーリング動作720の終了時に、構成動作730が実行される。構成動作730中に、ポーリングの間に取得された情報が、リンクを構成するために使用される。この時点でリンクの初期化は終了であり、リンク層が状態L0 735でポートの制御を行う(ローカルとリモートのポートがリンク構成に同意できない場合を除く。その場合、初期化シーケンスは中止され、無効/開始705にリセットされる)。
調整シーケンスは連続的にリンクのそれぞれについて送信されており、送信機は送信する調整シーケンスの数を認識する。しかし、送信機と受信機は必ずしも決まったステップにある必要はない。1つの実施例において、調整シーケンスの数が固定していないため、送信機からの最後の調整シーケンスがいつ到達するかを受信側が認識することができない。この状況に対処するため、リンク幅が合意されると、送信ポートは第3の調整シーケンスを送信する。ポートが最後の調整シーケンスを送受信したときに、リンク初期化が終了であり、この時点でリンク層が状態L0 735でポートの制御を行う。初期化中に、調整シーケンスが使用され、レーンのそれぞれに連続して送信される。動作中の状態に到達すると、データが全てのレーンで並列に送信される並列モードが使用される。
物理層の電子機器は依然として動作中であるが、リンクの片方でフリット(flit)を分解し、それをリンクの他方で再構成することに関与する。物理層はもはや調整に関与せず、状態L0でリンク層の指示のもとで動作し、リンクを通じてデータを転送する。
1つの実施例において、物理層が低電力モードに入ることがある。図7に示される通り、状態機械700はまた、2つの低電力状態L0S 740とL1 745を有する。低電力モードは、システムがある期間に休止状態である時に、電力を節約するために使用される。それぞれの低電力モードは、所定の再起動時間(立ち上がり時間)を有する。L0S 740は、相対的に短い休止期間のための相対的に短い立ち上がり時間(例えば20ns)を有する。したがって、L0S 740において、より少ない回路が停止している。L1 745は、相対的に長い休止期間のための相対的に長い立ち上がり時間(例えば10μs)を有する。使用される低電力モードは、システムの期待休止パターンに依存する。
図7を参照して前述された通り、検出動作710中に、ローカルのエージェントにより転送クロックが送信され、そのローカルのエージェントはリモートのポートから受信クロックを待つ。転送クロックは、専用のクロックピンを使用して、物理相互接続で出力データと共に送信される明示的なクロック信号である。転送クロックは、検出動作710中に送信され、無期限に続く。転送クロックを使用して、ローカルとリモートのエージェントは、システムクロックから受信したクロック信号を相互に示す。転送クロックは、他方からのデータを受信するためにどのクロック信号をエージェントが使用するべきかを、それぞれのエージェントが認識することを可能にする。1つの実施例において、転送クロックの中止により、インバンドのリセットが開始される。インバンドのリセットは、物理層が指定のリトライの閾値を超えてCRCエラーから回復できない場合に、物理層を再初期化するために、リンク層により使用される。インバンドのリセットはまた、ソフトリセットを通じて電源オンの初期値を重ねることにより、物理層を構成するために使用される。更に、インバンドのリセットは、物理層の初期化中の失敗に応じて、2つの相互接続されたエージェントにリンクを再初期化させるために使用され得る。
従って、ここに記載された技術は、1つのステップの処理としてリンク幅のネゴシエーションを提供し、エージェントがその特有のリンク幅の対応容量を定めることを可能にする柔軟性を提供する。留意すべき点は、この機構は2つの相互接続されたエージェントのリンク幅の容量が一致する必要がなく、またそれを要求することもないことである。
図8は、ポイント・ツー・ポイント(PtP)構成で構成されたコンピュータシステムを示したものである。特に、図8は、プロセッサとメモリと入出力装置とが複数のポイント・ツー・ポイント・インタフェースにより相互接続されたシステムを示している。
図8のシステムはまた、いくつかのプロセッサを有することがあり、そのうちで2つのみのプロセッサ870と880が明瞭性のために示されている。プロセッサ870と880は、命令を実行するロジックと回路を含むプロセッサ874と884を有する。プロセッサ870と880は、それぞれメモリ82と84と接続するローカルのメモリ・コントローラ・ハブ(MCH)872と882をそれぞれ有する。プロセッサ870と880は、ポイント・ツー・ポイント・インタフェース回路878と888をそれぞれ使用して、ポイント・ツー・ポイント・インタフェース850を介してデータを交換することがある。プロセッサ870と880は、それぞれポイント・ツー・ポイント・インタフェース回路876と894及び886と898を使用して、それぞれ個々のポイント・ツー・ポイント・インタフェース852と854を介してチップセット890とデータをそれぞれ交換することがある。チップセット890はまた、高性能グラフィックインタフェース892を介して高性能グラフィック回路838とデータを交換することがある。
本発明の少なくとも1つの実施例は、プロセッサのメモリ・コントローラ・ハブ872又は882の中にあることがある。しかし、本発明のその他の実施例は、図8のシステム内の他の回路、論理演算装置又は装置に存在することがある。更に、本発明のその他の実施例は、図8に示されたいくつかの回路、論理演算装置又は装置に分散されることがある。
その他のバス816(例えばPCIバス)がチップセット890に結合されることがある。I/O装置614とバスブリッジ818とが、バス816に結合されることがある。バスブリッジ818は、その他のバス820(例えばISAバス)に結合されることがある。バス820に結合されたその他の構成要素には、キーボード/マウス822と、通信装置826と、データストレージ828とが含まれることがある(データストレージ828はコード830を保存することがあり、実行されるとここに記載された1つ以上の動作が実行されることを引き起こすことがある)。
1つの実施例において、各エージェントはリモートのエージェントから受信されたWCIを保存し、省電力のために、動的なリンク幅の調整用に場合に応じてこの情報を使用する。動的なリンク幅の調整にリンクの初期化は必要ない。送信機はリモートのWCIから新しいCLMを選択し、それを受信機に送信し、その後に送信機と受信機の双方がその新しいCLMを反映するようにそのリンク幅を調整する。この処理が図6に示されている。
更に具体的には、図6の処理は任意的に以下の動作を有することがある。次に、処理ロジックはリンク幅の情報を保存する(処理ブロック620)。どのレーンのセットを使用するかの指示を送信することに続いて、処理ロジックはメモリからリンク幅の情報にアクセスし(処理ブロック630)、それに情報を送信するために以前に選択及び使用されたレーンのセットと異なる新しいレーンのセットを選択する(処理ブロック631)。新しい選択が行われると、処理ロジックは新しい指示を受信エージェントに送信し、受信エージェントに情報を送信するために新しいレーンのセットが使用されることを指示する。従って、送信エージェントから更なるリンク幅の情報(例えばその他のWCI)をその後に受信する必要なく、新しいリンク幅が選択されることがある。換言すると、ここに記載される技術は、リンクの再初期化なしに、動的なリンク幅の調整に対応する。
前述の説明を読んだ後に、本発明の多数の変形形態と変更形態が当業者に当然に明らかになるが、当然のことながら、例として示され、説明された何らかの特定の実施例は、決して限定するものと考えられるものではない。従って、多様な実施例の詳細への参照は、本発明に必須のものとみなされる機能のみを列挙した特許請求の範囲を限定することを意図したものではない。
バスを通じて相互接続された構成要素を示したものである。 ポイント・ツー・ポイント・リンクのメッシュを通じて相互接続された構成要素を示したものである。 複数のポートを有するリンクに基づく計算システムのエージェントの1つの実施例を示したものである。 接続されたポートを備えたリンクに基づく計算システムのエージェントの対を示したものである。 エージェントの物理層で送信機により実行される処理の1つの実施例のフローチャートである。 エージェントの物理層で受信機により実行される処理の1つの実施例のフローチャートである。 少なくとも2つのエージェントを有するシステムの1つの実施例のリンク初期化状態を示したものである。 コンピュータシステムの1つの実施例のブロック図である。
符号の説明
101a、102a、103a、10Na、110a 電子構成要素
120 電子配線
101b、102b、103b、10Nb、110b 電子構成要素
130、130、130、130 ポイント・ツー・ポイント・リンク
140 メッシュ
300 エージェント
301 コア
304、304、304、304 物理層
307、307、307、307 単方向リンク
401、402 エージェント
401、402 コア
401、402 物理層
410、420 送信機
411、421 受信機
412、422 リンク・コントローラ
413、423 ストレージ
814 I/O装置
816、820 バス
818 バスブリッジ
82、84 メモリ
822 キーボード/マウス
824 音声I/O
826 通信装置
828 データストレージ
830 コード
838 高性能グラフィック回路
850、852、854 ポイント・ツー・ポイント・インタフェース
870、880 プロセッサ
872、882 メモリ・コントローラ・ハブ
874、884 プロセッサ・コア
876、878、886、888、894、898 ポイント・ツー・ポイント・インタフェース回路
890 チップセット
892 高性能グラフィックインタフェース

Claims (29)

  1. 第2のリンクエージェントで実行される方法であって、
    ポイント・ツー・ポイント相互接続において、第1のリンクの第1の複数のレーンのうちの1つ以上のセットのレーンを特定し、前記第1のリンクは第1のリンクエージェントを前記第2のリンクエージェントに接続する単方向バスであり、前記相互接続より前記第1のリンクエージェントが前記第2のリンクエージェントに情報を送信することが可能であり、前記第1のリンクエージェント及び前記第2のリンクエージェントのそれぞれがプロセッサを有し、前記第1のリンクエージェント及び前記第2のリンクエージェントのそれぞれが前記第1のリンクに結合され、
    前記1つ以上のセットのレーンを特定したことに基づいて決定されたリンク幅の対応容量情報を前記第1のリンクエージェントに送信し、前記リンク幅の対応容量情報は、前記第1のリンクの複数の幅に対応する、前記第1のリンクエージェントと前記第2のリンクエージェントとを結合する前記1つ以上のセットのレーンから構成された可能なレーンの組み合わせを特定するデータを有し、
    前記1つ以上のセットのレーンから構成された前記可能なレーンの組み合わせから選択された第3の複数のレーンについての指示を前記第1のリンクエージェントから受信し、
    情報を送信する前記第1のリンクエージェントと、前記第1のリンクエージェントからの前記指示に基づいて受信する前記第2のリンクエージェントとにより、使用されるリンク幅を調整し、複数のレーンのうちの1つ以上のセットのレーンを特定することは、前記複数のレーンのそれぞれを検査し、前記複数のレーンのうちのどのレーンが前記情報を前記第2のエージェントに送信することが不可能であるかを決定することにより、前記複数のレーンのそれぞれが前記情報を前記第2のエージェントに送信することが可能であるか否かを評価し、前記複数のレーンのそれぞれが前記決定に基づいて使用可能であるか否かを特定し、前記レーンが使用可能でない場合に前記複数のレーンのうちの前記レーンを排除することを含み、前記複数のレーンのうちのいずれかが使用可能でないか否かに基づくこと
    を有する方法。
  2. 請求項1に記載の方法であって、
    複数のレーンのうちの1つ以上のセットのレーンを特定することが、
    前記情報を前記第2のエージェントに送信するために使用可能である前記複数のレーンのうちのレーンを特定し、
    前記複数のレーンで使用可能であるレーンを使用して構成され得る可能なリンク幅を決定することを有し、
    前記リンク幅の対応容量情報が、前記複数のレーンで使用可能であるレーンを使用して構成され得る可能なレーンの組み合わせを特定するデータを備えたデータ構造を有する方法。
  3. 請求項1に記載の方法であって、
    前記リンク幅の対応容量情報が、前記複数のレーンのうちの前記レーンを通じて連続して送信される方法。
  4. 請求項に記載の方法であって、
    前記リンク幅の対応容量情報が、前記複数のレーンのうちの全てのレーンを通じて連続して送信され、
    前記複数のレーンのうちの全てのレーンが、前記第2のリンクエージェントに情報を送信する際に前記第1のリンクエージェントにより使用されるため、前記第1のリンクエージェントにより選択可能であり得る方法。
  5. 請求項1に記載の方法であって、
    前記第2のリンクエージェントの送信機が、前記第2のリンクエージェントの受信機の代わりに前記リンク幅の対応容量情報を前記第1のリンクエージェントの受信機に送信する方法。
  6. 請求項に記載の方法であって、
    前記第2のリンクエージェントの送信機が、前記第1のリンクエージェントの受信機が前記複数のレーンのそれぞれで前記リンク幅の対応容量情報を受信したか否かを認識していない方法。
  7. 請求項1に記載の方法であって、
    前記1つ以上のセットのレーンが、前記複数のレーンの全てを有するセットと、前記複数のレーンの半分を有するセットと、前記複数のレーンの4分の1を有するセットとを有する方法。
  8. 請求項1に記載の方法であって、
    前記リンク幅の対応容量情報が、複数のビットを有し、
    前記複数のビットのそれぞれが、前記第1のリンクエージェントから情報を受信するために前記第2のリンクエージェントにより使用可能であるとして前記第2のリンクエージェントにより特定された前記複数のレーンのうちの1つのセットのレーンを示す方法。
  9. 請求項1に記載の方法であって、
    特定する動作と、送信する動作と、受信する動作とが、前記第1及び第2のリンクエージェント間の単一の通信の往復で生じる方法。
  10. 第1のリンクエージェントで実行される方法であって、
    前記第1のリンクエージェントが、第1のリンクの1つ以上のセットのレーンを示すリンク幅の対応容量情報を第2のリンクエージェントから受信し、前記第1のリンクはポイント・ツー・ポイント相互接続における単方向バスであり、前記相互接続により前記第2のリンクエージェントが前記第1のリンクエージェントから情報を受信することが可能であり、前記第1のリンクエージェント及び前記第2のリンクエージェントのそれぞれがプロセッサを有し、前記第1のリンクエージェント及び前記第2のリンクエージェントのそれぞれが前記第1のリンクに結合され、
    前記リンク幅の対応容量情報は、前記第1のリンクの複数の幅に対応する、前記第1のリンクエージェントと前記第2のリンクエージェントとを結合する前記1つ以上のセットのレーンから構成された可能なレーンの組み合わせを特定するデータを有し、
    前記リンク幅の対応容量情報は、複数のレーンのそれぞれを検査し、前記複数のレーンのうちのどのレーンが前記情報を前記第2のエージェントに送信することが不可能であるかを決定することにより、前記1つ以上のセットのレーンのそれぞれが前記情報を前記第2のエージェントに送信することが可能であるか否かを評価し、前記1つ以上のセットのレーンのうちのレーンが前記決定に基づいて使用可能であるか否かを特定し、前記レーンが使用可能でない場合に前記1つ以上のセットのレーンのうちの前記レーンを排除することを含み、使用可能である前記1つ以上のセットのレーンを特定したことに基づいて決定され、
    前記第2のリンクエージェントに情報を送信する際に前記第1のリンクエージェントにより使用される1つのセットのレーンを前記1つ以上のセットのレーンから選択し、前記1つ以上のセットのレーンのうちの前記1つのセットのレーンは、複数のリンク幅に対応する可能なレーンの組み合わせから選択され、
    前記1つ以上のセットのレーンのうちのどれを前記第2のリンクエージェントが前記第1のリンクエージェントから情報を受信するために使用するかについての指示を、前記第2のリンクエージェントに送信すること
    を有する方法。
  11. 請求項10に記載の方法であって、
    前記リンク幅の対応容量情報が、前記第1のリンクで使用可能である前記複数のレーンにおけるレーンの組み合わせを特定する方法。
  12. 請求項10に記載の方法であって、
    前記リンク幅の対応容量情報が、前記第1のリンクの前記レーンを通じて連続して受信される方法。
  13. 請求項10に記載の方法であって、
    前記第2のリンクエージェントから前記リンク幅の対応容量情報を受信することが、前記相互接続の第2のリンクを使用して実行される方法。
  14. 請求項10に記載の方法であって、
    前記1つ以上のセットのレーンが、前記リンクの全てのレーンを有するセットと、前記リンクの全てのレーンのうちの半分を有するセットと、前記リンクの全てのレーンのうちの4分の1を有するセットとを有する方法。
  15. 請求項10に記載の方法であって、
    前記リンク幅の対応容量情報が、複数のビットを有し、
    前記複数のビットのそれぞれが、前記第1のリンクエージェントに対して情報を受信するために前記第2のリンクエージェントにより使用可能であるとして前記第2のリンクエージェントにより特定された前記リンクのうちの1つのセットのレーンを示す方法。
  16. プロセッサ・コアと、
    受信機と、
    送信機と、
    リンク層コントローラと
    を有する装置であって、
    前記送信機が、第1のリンクエージェントに通信可能に結合され、第1のリンクの1つ以上のセットのレーンを示すリンク幅の対応容量情報を送信し、前記第1のリンクは前記第1のリンクエージェントから情報を受信するために前記受信機により使用される単方向バスであり、
    前記リンク幅の対応容量情報は、複数のリンク幅に対応する、前記第1のリンクエージェントと第2のリンクエージェントである前記装置とを結合する前記第1のリンクの前記1つ以上のセットのレーンから構成された可能なレーンの組み合わせを特定するデータを有し、
    前記リンク幅の対応容量情報は、複数のレーンのそれぞれを検査し、前記複数のレーンのうちのどのレーンが前記情報を前記第2のエージェントに送信することが不可能であるかを決定することにより、前記第1のリンクの前記1つ以上のセットのレーンのそれぞれが前記情報を前記第2のリンクエージェントに送信することが可能であるか否かを評価し、前記1つ以上のセットのレーンのうちのレーンが前記決定に基づいて使用可能であるか否かを特定し、前記レーンが使用可能でない場合に前記1つ以上のセットのレーンのうちの前記レーンを排除することを含み、使用可能である前記1つ以上のセットのレーンを特定したことに基づいて決定され、
    前記受信機が、前記第1のリンクの前記複数のリンク幅に対応する前記第1のリンクの前記1つ以上のセットのレーンから構成された前記可能なレーンの組み合わせから選択された使用する複数のレーンについての指示を前記第1のリンクエージェントから受信するように動作可能であり、
    前記リンク層コントローラが、前記送信機と前記受信機に結合され、前記指示に基づいて、前記第1のリンクエージェントから情報を受信するために前記第2のリンクエージェントにより使用されるリンクのリンク幅を調整する装置。
  17. 請求項16に記載の装置であって、
    前記リンク層コントローラが、使用可能である前記リンクのレーンを特定し、前記リンクの使用可能なレーンを使用して構成され得る可能なレーンの組み合わせを判断する装置。
  18. 請求項17に記載の装置であって、
    前記リンク幅の対応容量情報が、前記複数のレーンで使用可能であるレーンを使用して構成され得る可能なレーンの組み合わせを特定するデータを有する装置。
  19. 請求項16に記載の装置であって、
    前記リンク幅の対応容量情報が、複数のビットを有し、
    前記複数のビットのそれぞれが、情報を送信するために使用可能であるとして特定された前記リンクのうちの1つのセットのレーンを示す装置。
  20. コアと、
    受信機と、
    リンク層コントローラと、
    送信機と
    を有する装置であって、
    前記受信機が、ポイント・ツー・ポイント相互接続における第1のリンクの1つ以上のセットのレーンを示すリンク幅の対応容量情報を第1のリンクエージェントから受信し、前記相互接続により前記第1のリンクエージェントが情報を受信することが可能であり、前記第1のリンクは単方向バスであり、
    前記リンク幅の対応容量情報は、前記第1のリンクの複数のリンク幅に対応する前記1つ以上のセットのレーンから構成された可能なレーンの組み合わせを特定するデータを有し、前記第1のリンクは、前記第1のリンクエージェントと第2のリンクエージェントである前記装置とを結合し、
    前記リンク幅の対応容量情報は、複数のレーンのそれぞれを検査し、前記複数のレーンのうちのどのレーンが前記情報を前記第2のエージェントに送信することが不可能であるかを決定することにより、前記第1のリンクの前記1つ以上のセットのレーンのそれぞれが前記情報を前記第2のリンクエージェントに送信することが可能であるか否かを評価し、前記1つ以上のセットのレーンのうちのレーンが前記決定に基づいて使用可能であるか否かを特定し、前記レーンが使用可能でない場合に前記1つ以上のセットのレーンのうちの前記レーンを排除することを含み、使用可能である前記1つ以上のセットのレーンを特定したことに基づいて決定され、
    前記リンク層コントローラが、前記受信機に結合され、前記第1のリンクエージェントに情報を送信する際に使用される1つのセットのレーンを前記第1のリンクの前記1つ以上のセットのレーンから選択し、前記1つ以上のセットのレーンのうちの前記1つのセットのレーンは、複数のリンク幅に対応する前記1つ以上のセットのレーンから構成された前記可能なレーンの組み合わせから選択され、
    前記送信機が、前記リンク層コントローラに結合され、前記1つ以上のセットのレーンのうちのどれを前記第1のリンクエージェントが情報を受信するために使用するかについての指示を前記第1のリンクエージェントに送信する装置。
  21. 請求項20に記載の装置であって、
    前記リンク幅の対応容量情報が、複数のビットを有し、
    前記複数のビットのそれぞれが、情報を送信するために使用可能であるとして特定された前記リンクのうちの1つのセットのレーンを示す装置。
  22. それぞれがバスである一対の単方向リンクであり、前記単方向リンクのそれぞれが複数のレーンを有する単方向リンクと、
    前記一対の単方向リンクの前記複数のレーンにそれぞれ結合されたポートを有する第1及び第2のリンクエージェントと
    を有するシステムであって、
    前記第1及び第2のリンクエージェントのそれぞれが、プロセッサ・コアと、そのリンク幅の対応容量を交換し、前記複数のレーンの対のそれぞれに相互に合意可能なリンク幅をネゴシエーションするリンク・コントローラを有し、
    前記第1及び第2のリンクエージェントの前記リンク幅の対応容量は、第1の複数のリンク幅に対応する、前記第1のリンクエージェントと前記第2のリンクエージェントとを結合する1つ以上のセットのレーンのうちの可能なレーンの組み合わせを特定するデータを有し、
    前記第1のエージェント及び前記第2のエージェントのそれぞれの前記リンク幅の対応容量情報は、複数のレーンのそれぞれを検査し、前記複数のレーンのうちのどのレーンが前記情報を送信することが不可能であるかを決定することにより、前記単方向リンクのそれぞれの前記1つ以上のセットのレーンのそれぞれが前記情報を送信することが可能であるか否かを評価し、前記1つ以上のセットのレーンのうちのレーンが前記決定に基づいて使用可能であるか否かを特定し、前記レーンが使用可能でない場合に前記1つ以上のセットのレーンのうちの前記レーンを排除することにより、使用可能である前記1つ以上のセットのレーンを特定したことに基づいて決定されるシステム。
  23. 請求項22に記載のシステムであって、
    前記一対の単方向リンクが、反対方向に情報を転送し、相互に無関係であるシステム。
  24. 請求項22に記載のシステムであって、
    前記第1のリンクエージェントが、前記一対のリンクのうちの1つのリンクにおける前記1つ以上のセットのレーンのうちのどれが前記第1のリンクエージェントに情報を送信するために前記第2のリンクエージェントにより選択可能であるかを示すリンク幅の対応容量情報を送信するシステム。
  25. 請求項22に記載のシステムであって、
    前記第1及び第2のリンクエージェントが、そのリンク幅の対応容量を交換し、通信の単一の往復で前記リンク幅をネゴシエーションするシステム。
  26. 請求項22に記載のシステムであって、
    前記第1のリンクエージェントが、
    コアと、
    第1のリンクエージェントに通信可能に結合され、前記第1のリンクエージェントから情報を受信するために受信機により使用される前記1つ以上のセットのレーンを示すリンク幅の情報を送信する送信機と
    を有し、
    前記受信機が、前記1つ以上のセットのレーンから使用するレーンについての指示を前記第1のリンクエージェントから受信するように動作可能であり、
    前記送信機と前記受信機に結合されたリンク層コントローラが、前記指示に基づいて、前記第1のリンクエージェントから情報を受信するために前記第2のリンクエージェントにより使用されるリンクのリンク幅を調整するシステム。
  27. 請求項22に記載のシステムであって、
    前記第2のエージェントが、
    コアと、
    ポイント・ツー・ポイント相互接続における第1のリンクの1つ以上のセットのレーンを示すリンク幅の情報を第1のリンクエージェントから受信する受信機であって、前記相互接続により前記第1のリンクエージェントが情報を受信することが可能である受信機と、
    前記受信機に結合され、前記第1のリンクエージェントに情報を送信する際に使用される前記レーンのセットのうちの1つを選択するリンク層コントローラと、
    前記リンク層コントローラに結合され、前記レーンのセットのうちのどれを前記第1のリンクエージェントが情報を受信するために使用するかについての指示を、前記第1のリンクエージェントに送信する送信機と
    を有するシステム。
  28. 第1の対の複数のレーンを有する第1の単方向バスと、
    第2の対の複数のレーンを有する第2の単方向バスと、
    前記第1の単方向のバスの前記第1の対の複数のレーンに結合された第1のプロセッサのエージェントと第2のチップセットのエージェントと
    を有するシステムであって、
    前記第1及び第2のエージェントのそれぞれが、そのリンク幅の対応容量を交換し、前記対の複数のレーンのそれぞれに相互に合意可能なリンク幅をネゴシエーションするリンク・コントローラを有し、
    前記第1及び第2のエージェントの前記リンク幅の対応容量は、第2の複数のリンク幅に対応する、前記第1のプロセッサのエージェントと前記第2のチップセットのエージェントとを結合する1つ以上のセットのレーンのうちの可能なレーンの組み合わせを特定するデータを有し、
    前記第1のプロセッサのエージェント及び前記第2のチップセットのエージェントのそれぞれの前記リンク幅の対応容量情報は、前記複数のレーンのそれぞれを検査し、前記複数のレーンのうちのどのレーンが前記情報を前記第2のエージェントに送信することが不可能であるかを決定することにより、前記1つ以上のセットのレーンのそれぞれが前記情報を送信することが可能であるか否かを評価し、前記1つ以上のセットのレーンのうちのレーンが前記決定に基づいて使用可能であるか否かを特定し、前記レーンが使用可能でない場合に前記1つ以上のセットのレーンのうちの前記レーンを排除することにより、使用可能である前記1つ以上のセットのレーンを特定したことに基づいて決定され、
    前記第1のプロセッサのエージェントが、前記第2の単方向バスの前記第2の対の複数のレーンを介して、前記第2のチップセットのエージェントに結合されたシステム。
  29. 請求項28に記載のシステムであって、
    前記第1のプロセッサのエージェントが、前記一対のバスのうちの1つのバスにおける1つ以上のセットのレーンのうちのどれが前記第1のプロセッサのエージェントに情報を送信するために前記第2のチップセットのエージェントにより選択可能であるかを示すリンク幅の情報を送信するシステム。
JP2004235927A 2004-05-21 2004-08-13 不良のレーンを特定し、リンクを通じて接続された2つのcsiエージェントの幅の容量を交換するための方法 Expired - Fee Related JP4370222B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/851,925 US7844767B2 (en) 2004-05-21 2004-05-21 Method for identifying bad lanes and exchanging width capabilities of two CSI agents connected across a link

Publications (2)

Publication Number Publication Date
JP2005332357A JP2005332357A (ja) 2005-12-02
JP4370222B2 true JP4370222B2 (ja) 2009-11-25

Family

ID=34930686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004235927A Expired - Fee Related JP4370222B2 (ja) 2004-05-21 2004-08-13 不良のレーンを特定し、リンクを通じて接続された2つのcsiエージェントの幅の容量を交換するための方法

Country Status (8)

Country Link
US (1) US7844767B2 (ja)
EP (1) EP1598744B1 (ja)
JP (1) JP4370222B2 (ja)
CN (1) CN1700645B (ja)
AT (1) ATE378638T1 (ja)
DE (1) DE602004010074D1 (ja)
RU (1) RU2295837C2 (ja)
TW (1) TWI259373B (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046488B2 (en) 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
JP4558519B2 (ja) * 2005-01-18 2010-10-06 富士通株式会社 情報処理装置およびシステムバス制御方法
US7757020B2 (en) * 2005-06-29 2010-07-13 Intel Corporation Point-to-point link negotiation method and apparatus
US7484014B2 (en) * 2005-09-28 2009-01-27 Intel Corporation System for flexible and negotiable exchange of link layer functional parameters
US7568060B2 (en) * 2005-12-15 2009-07-28 International Business Machines Corporation Method and system for interfacing components of a computing system with a pair of unidirectional, point-to-point buses
US7983181B1 (en) * 2006-03-28 2011-07-19 Advanced Micro Devices, Inc. Technique for negotiating a width of a packet-based communication link
JP4877482B2 (ja) * 2006-04-11 2012-02-15 日本電気株式会社 PCIExpressリンク、マルチホストコンピュータシステム、およびPCIExpressリンクの再構成方法
JP5287297B2 (ja) * 2008-03-18 2013-09-11 株式会社リコー データ処理回路、省電力方法、省電力プログラム、記録媒体及び機器
US8078873B2 (en) * 2008-06-30 2011-12-13 Intel Corporation Two-way authentication between two communication endpoints using a one-way out-of-band (OOB) channel
US8310936B2 (en) * 2008-07-23 2012-11-13 International Business Machines Corporation Link services in a communication network
US8296469B2 (en) * 2008-12-31 2012-10-23 Intel Corporation Scalable method and apparatus for link with reconfigurable ports
EP2407889A1 (en) 2009-03-10 2012-01-18 Fujitsu Limited Transmission/reception device, transmission device, reception device, and data transmission/reception method
US8429484B2 (en) * 2009-04-16 2013-04-23 Lockheed Martin Corporation Digitized radar information redundancy method and system
EP2333830B1 (en) 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited a package comprising a first and a second die coupled by a multiplexed bus
EP2339475A1 (en) 2009-12-07 2011-06-29 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
EP2333673B1 (en) 2009-12-07 2014-04-16 STMicroelectronics (Research & Development) Limited Signal sampling and transfer
EP2339795B1 (en) 2009-12-07 2013-08-14 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
EP2330514B1 (en) 2009-12-07 2018-12-05 STMicroelectronics (Research & Development) Limited An integrated circuit package
EP2339476B1 (en) 2009-12-07 2012-08-15 STMicroelectronics (Research & Development) Limited Interface connecting dies in an IC package
US8724660B2 (en) * 2009-12-17 2014-05-13 Electronics And Telecommunications Research Institute Transmission and reception apparatus for dynamic lane operation in multi-lane based ethernet system, and method of controlling the same
KR101315621B1 (ko) * 2009-12-17 2013-10-08 한국전자통신연구원 다중 레인 기반 이더넷에서 동적 레인 운용을 위한 송, 수신 장치 및 그 제어 방법
KR101717296B1 (ko) * 2010-12-15 2017-03-16 한국전자통신연구원 선택적 레인 운용을 위한 이더넷 장치 및 방법
US8347258B2 (en) 2011-02-16 2013-01-01 Stmicroelectronics (Grenoble 2) Sas Method and apparatus for interfacing multiple dies with mapping for source identifier allocation
US8521937B2 (en) 2011-02-16 2013-08-27 Stmicroelectronics (Grenoble 2) Sas Method and apparatus for interfacing multiple dies with mapping to modify source identity
US8868955B2 (en) 2011-07-01 2014-10-21 Intel Corporation Enhanced interconnect link width modulation for power savings
US9417687B2 (en) 2011-07-12 2016-08-16 Rambus Inc. Dynamically changing data access bandwidth by selectively enabling and disabling data links
US9292465B2 (en) * 2011-12-21 2016-03-22 Intel Corporation Dynamic link width adjustment
US9043526B2 (en) 2012-06-20 2015-05-26 International Business Machines Corporation Versatile lane configuration using a PCIe PIe-8 interface
US9053244B2 (en) 2012-06-28 2015-06-09 Intel Corporation Utilization-aware low-overhead link-width modulation for power reduction in interconnects
US9285865B2 (en) * 2012-06-29 2016-03-15 Oracle International Corporation Dynamic link scaling based on bandwidth utilization
US9183171B2 (en) 2012-09-29 2015-11-10 Intel Corporation Fast deskew when exiting low-power partial-width high speed link state
US9196384B2 (en) 2012-12-28 2015-11-24 Intel Corporation Memory subsystem performance based on in-system weak bit detection
US9536626B2 (en) 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
US9354990B2 (en) 2013-09-11 2016-05-31 International Business Machines Corporation Coordination of spare lane usage between link partners
KR101925694B1 (ko) 2013-12-26 2018-12-05 인텔 코포레이션 멀티칩 패키지 링크
WO2015116037A1 (en) 2014-01-28 2015-08-06 Hewlett-Packard Development Company, L.P. Managing a multi-lane serial link
DE112014006490T5 (de) 2014-03-20 2016-12-08 Intel Corporation Verfahren, Vorrichtung und System zur Regelung von Leistung ungenutzter Hardware einer Linkschnittstelle
WO2015149293A1 (zh) 2014-04-02 2015-10-08 华为技术有限公司 一种PCIe链路故障的处理方法、设备及系统
JP6409399B2 (ja) * 2014-08-11 2018-10-24 富士通株式会社 電子機器、通信制御回路および通信制御方法
JP6369224B2 (ja) * 2014-08-28 2018-08-08 富士通株式会社 情報処理システム、情報処理装置、及び情報処理システムの制御方法
US11429552B2 (en) 2019-01-09 2022-08-30 Hewlett-Packard Development Company, L.P. Data link changes based on requests
WO2021032999A1 (en) * 2019-08-21 2021-02-25 Mellanox Technologies Ltd. Dynamic bandwidth connections

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667305A (en) * 1982-06-30 1987-05-19 International Business Machines Corporation Circuits for accessing a variable width data bus with a variable width data field
JPH0484253A (ja) * 1990-07-26 1992-03-17 Mitsubishi Electric Corp バス幅制御回路
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
US5805924A (en) 1994-11-08 1998-09-08 Stoevhase; Bent Method and apparatus for configuring fabrics within a fibre channel system
US5761455A (en) * 1995-02-06 1998-06-02 Cpu Technology, Inc. Dynamic bus reconfiguration logic
WO1996041274A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Dynamically reconfigurable data bus
US5960453A (en) * 1996-06-13 1999-09-28 Micron Technology, Inc. Word selection logic to implement an 80 or 96-bit cache SRAM
US5911053A (en) * 1996-09-30 1999-06-08 Intel Corporation Method and apparatus for changing data transfer widths in a computer system
US5913044A (en) * 1997-09-18 1999-06-15 International Business Machines Corporation Method and system for simultaneous variable-width bus access in a multiprocessor system
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6018810A (en) * 1997-12-12 2000-01-25 Compaq Computer Corporation Fault-tolerant interconnection means in a computer system
US6442628B1 (en) * 1998-05-01 2002-08-27 Adaptec, Inc. Method and system for automatically determining maximum data throughput over a bus
US6157971A (en) * 1998-06-02 2000-12-05 Adaptec, Inc. Source-destination re-timed cooperative communication bus
US6223237B1 (en) * 1998-07-07 2001-04-24 Adaptive Systems, Inc. Expandable communications bus
US6434654B1 (en) 1999-03-26 2002-08-13 Koninklijke Philips Electronics N.V. System bus with a variable width selectivity configurable at initialization
US6662302B1 (en) * 1999-09-29 2003-12-09 Conexant Systems, Inc. Method and apparatus of selecting one of a plurality of predetermined configurations using only necessary bus widths based on power consumption analysis for programmable logic device
US6581116B1 (en) * 1999-11-09 2003-06-17 International Business Machines Corporation Method and apparatus for high performance transmission of ordered packets on a bus within a data processing system
US6526469B1 (en) * 1999-11-12 2003-02-25 International Business Machines Corporation Bus architecture employing varying width uni-directional command bus
JP4649009B2 (ja) * 2000-03-08 2011-03-09 株式会社東芝 カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法
JP2001282704A (ja) * 2000-03-31 2001-10-12 Fujitsu Ltd データ処理装置及びデータ処理方法とデータ処理システム
US6961347B1 (en) * 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
JP2002157212A (ja) * 2000-11-17 2002-05-31 Hitachi Ltd 情報処理システム並びに携帯用電子機器および情報処理装置
WO2002049306A2 (en) 2000-12-15 2002-06-20 Broadstorm Telecommunications, Inc. Multi-carrier communications with group-based subcarrier allocation
US6665742B2 (en) * 2001-01-31 2003-12-16 Advanced Micro Devices, Inc. System for reconfiguring a first device and/or a second device to use a maximum compatible communication parameters based on transmitting a communication to the first and second devices of a point-to-point link
US6617877B1 (en) * 2002-03-01 2003-09-09 Xilinx, Inc. Variable data width operation in multi-gigabit transceivers on a programmable logic device
CN101277220B (zh) 2002-10-18 2011-03-30 卡里德恩科技有限公司 用于在基于度量路由的网络中执行流量工程的方法和系统
FI20022113A (fi) * 2002-11-29 2004-08-06 Nokia Corp Menetelmä ja järjestelmä väyläleveyden tunnistamiseksi, elektroniikkalaite ja oheislaite
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link

Also Published As

Publication number Publication date
US20050262284A1 (en) 2005-11-24
US7844767B2 (en) 2010-11-30
CN1700645B (zh) 2012-03-14
RU2004128236A (ru) 2006-03-10
TW200538939A (en) 2005-12-01
RU2295837C2 (ru) 2007-03-20
TWI259373B (en) 2006-08-01
DE602004010074D1 (de) 2007-12-27
EP1598744A1 (en) 2005-11-23
ATE378638T1 (de) 2007-11-15
CN1700645A (zh) 2005-11-23
EP1598744B1 (en) 2007-11-14
JP2005332357A (ja) 2005-12-02

Similar Documents

Publication Publication Date Title
JP4370222B2 (ja) 不良のレーンを特定し、リンクを通じて接続された2つのcsiエージェントの幅の容量を交換するための方法
US11704274B2 (en) System, apparatus and method for extended communication modes for a multi-drop interconnect
US7757020B2 (en) Point-to-point link negotiation method and apparatus
US7756123B1 (en) Apparatus, system, and method for swizzling of a PCIe link
CN113227991B (zh) 替代协议选择
US6442628B1 (en) Method and system for automatically determining maximum data throughput over a bus
US11467909B1 (en) Peripheral component interconnect express interface device and operating method thereof
EP3779708A1 (en) Method for fast balancing, chips, and communication system
US20080159188A1 (en) Serial interface apparatus performing asynchronous serial data transfer using asynchronous serial communication method
US20070022219A1 (en) Information processing apparatus and method for initializing flow control
US9753876B1 (en) Processing of inbound back-to-back completions in a communication system
US7054979B2 (en) Method and apparatus for routing configuration accesses from a primary port to a plurality of secondary ports
KR20220158517A (ko) PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
US20230385150A1 (en) Peripheral component interconnect express interface device and system including the same
US11921657B2 (en) Peripheral component interconnect express (PCIE) device for supporting separate reference clock(s) operating between host and direct memory access (DMA) controller
US11960367B2 (en) Peripheral component interconnect express device and operating method thereof
KR20220162336A (ko) PCIe 인터페이스 장치 및 그 동작 방법
JP2000174850A (ja) 高速シリアルバスコントローラ装置、及び同装置に於ける送信制御方法
JPH0836545A (ja) インターフェース回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080516

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080619

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090403

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090519

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: 20090818

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: 20090831

R150 Certificate of patent or registration of utility model

Ref document number: 4370222

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: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

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

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