(57)【要約】【課題】  構成要素の動作状況は、時間によりしばしば変化し、帯域の要件も本質的に変化し得ることがわかる。しかし、リンク幅は、初期化処理が非常に複雑であり、時間がかかるため、一般的に従来の技術のもとでは変化しない。その結果、リンクが必要以上に大きくなることがある。【解決手段】  リンクを管理するシステム及び方法は、リンク初期化中にリモートの幅の容量を受信することを提供し、リモートの幅の容量がリモートのポートに対応する。ローカルのポートとリモートのポートとの間のリンクは、リモートの幅の容量に従って複数のリンク幅で動作される。【選択図】  図１ 
2005332356.tif 000002
【特許請求の範囲】
【請求項１】
リンク初期化中にリモートの幅の容量を受信し、前記リモートの幅の容量がリモートのポートに対応することと、
前記リモートの幅の容量に従って、複数のリンク幅でローカルのポートと前記リモートのポートとの間のリンクを動作することと
を有する方法。
【請求項２】
請求項１に記載の方法であって、
前記リンクを動作することが、
前記リモートの幅の容量とローカルの幅の容量に基づいて、前記リンクの第１のリンク幅を確立し、
前記リモートの幅の容量と前記ローカルのポートの動作状況に基づいて、第２のリンク幅を選択し、
前記リンクを前記第２のリンク幅に調整することを有する方法。
【請求項３】
請求項２に記載の方法であって、
前記選択することが、前記第２のリンク幅を前記第１のリンク幅より狭く選択することを有し、
前記動作状況が省電力の条件を有する方法。
【請求項４】
請求項３に記載の方法であって、
前記リンクを前記第２のリンク幅に調整した後に、前記ローカルのポートの一部を低電力状態に設定することを更に有する方法。
【請求項５】
請求項２に記載の方法であって、
前記選択することが、前記第２のリンク幅を前記第１のリンク幅より広く選択することを有し、
前記動作状況が増加した帯域の条件を有する方法。
【請求項６】
請求項５に記載の方法であって、
前記リンクを前記第２のリンク幅に調整する前に、前記ローカルのポートの一部を低電力状態から引き上げることを更に有する方法。
【請求項７】
請求項２に記載の方法であって、
前記リモートのポートが前記第２のリンク幅を通知された後に所定量の時間が経過した場合に、前記第２のリンク幅で前記リモートのポートにデータを送信することを更に有し、
前記所定量の時間が、第１の期間と第２の期間とを有し、
前記第１の期間が、前記リモートのポートのリンク層が前記第２のリンク幅を前記リモートのポートの物理層に中継するために必要な時間量に対応し、
前記第２の期間が、前記リモートのポートの前記物理層が、前記第２のリンク幅に対応してマルチプレクサの切り替えを終了するために必要な時間量に対応する方法。
【請求項８】
請求項７に記載の方法であって、
前記ローカルのポートの電力管理レジスタから前記第１の期間と前記第２の期間とを読み取ることを更に有する方法。
【請求項９】
請求項８に記載の方法であって、
前記第１の期間と第２の期間とを読み取ることが、前記電力管理レジスタから静的な第１の期間の値と静的な第２の期間の値とを読み取ることを有する方法。
【請求項１０】
請求項８に記載の方法であって、
前記第１の期間と第２の期間とを読み取ることが、前記電力管理レジスタから動的な第１の期間の値と動的な第２の期間の値とを読み取ることを有する方法。
【請求項１１】
請求項２に記載の方法であって、
前記リモートのポートからリトライ要求を受信し、前記リトライ要求が、前記調整に関するメッセージがエラーを含むことを示し、前記リトライ要求が、前記リモートのポートの現在のリンク幅を有することと、
前記ローカルのポートに、前記リモートのポートの前記現在のリンク幅を選択することと、
前記調整を繰り返すことと
を更に有する方法。
【請求項１２】
請求項２に記載の方法であって、
前記ローカルのポートの活性の部分に関連する空のトランザクション・キューを検出し、
前記活性の部分を中間電力状態に設定することを更に有し、
前記中間電力状態が、相対的に短い再活性化の遅延を有する方法。
【請求項１３】
請求項１に記載の方法であって、
前記リモートの幅の容量を受信することが、１つ以上のサポートされるリンク幅及び対応するレーンの識別子を受信することを有する方法。
【請求項１４】
請求項１に記載の方法であって、
前記リンクを動作することが、前記複数のリンク幅で単方向リンクを動作することを有する方法。
【請求項１５】
リンク初期化中にリモートの幅の容量を受信し、前記リモートの幅の容量がリモートのポートに対応し、
前記リモートの幅の容量に従って、複数のリンク幅で前記ローカルのポートと前記リモートのポートとの間のリンクを動作する制御ロジックを有するローカルポートを有する装置。
【請求項１６】
請求項１５に記載の装置であって、
前記制御ロジックが、
前記リモートの幅の容量とローカルの幅の容量に基づいて、前記リンクの第１のリンク幅を確立し、
前記リモートの幅の容量と前記ローカルのポートの動作状況に基づいて、第２のリンク幅を選択し、
前記リンクを前記第２のリンク幅に調整する装置。
【請求項１７】
請求項１６に記載の装置であって、
前記第２のリンク幅が前記第１のリンク幅より狭く、
前記動作状況が省電力の条件を有し、
前記制御ロジックが、前記リンクを前記第２のリンク幅に調整した後に、前記ローカルのポートの一部を低電力状態に設定する装置。
【請求項１８】
請求項１６に記載の装置であって、
前記第２のリンク幅が前記第１のリンク幅より広く、
前記動作状況が増加した帯域の条件を有し、
前記制御ロジックが、前記リンクを前記第２のリンク幅に調整する前に、前記ローカルのポートの一部を低電力状態から引き上げる装置。
【請求項１９】
請求項１６に記載の装置であって、
前記リモートのポートが前記第２のリンク幅を通知された後に所定量の時間が経過した場合に、前記制御ロジックが、前記第２のリンク幅で前記リモートのポートにデータを送信し、
前記所定量の時間が、第１の期間と第２の期間とを有し、
前記第１の期間が、前記リモートのポートのリンク層が前記第２のリンク幅を前記リモートのポートの物理層に中継するために必要な時間量に対応し、
前記第２の期間が、前記リモートのポートの前記物理層が、前記第２のリンク幅に対応してマルチプレクサの切り替えを終了するために必要な時間量に対応する装置。
【請求項２０】
請求項１６に記載の装置であって、
前記制御ロジックが、
前記ローカルのポートの活性の部分に関連する空のトランザクション・キューを検出し、
前記活性の部分を中間電力状態に設定し、
前記中間電力状態が、相対的に短い再活性化の遅延を有する装置。
【請求項２１】
請求項１５に記載の装置であって、
前記リモートの幅の容量が、１つ以上のサポートされるリンク幅及び対応するレーンの識別子を有する装置。
【請求項２２】
請求項１５に記載の装置であって、
前記リンクが、単方向リンク有する装置。
【請求項２３】
リモートのポートと、
前記リモートのポートに結合された単方向リンクと、
前記リンクに結合されたローカルのポートと
を有するシステムであって、
前記ローカルのポートが、リンク初期化中に前記リモートのポートからリモートの幅の容量を受信し、前記リモートの幅の容量に従って、複数のリンク幅で前記リンクを動作する制御ロジックを有するシステム。
【請求項２４】
請求項２３に記載のシステムであって、
前記制御ロジックが、
前記リモートの幅の容量とローカルの幅の容量に基づいて、前記リンクの第１のリンク幅を確立し、
前記リモートの幅の容量と前記ローカルのポートの動作状況に基づいて、第２のリンク幅を選択し、
前記リンクを前記第２のリンク幅に調整するシステム。
【請求項２５】
請求項２４に記載のシステムであって、
前記第２のリンク幅が前記第１のリンク幅より狭く、
前記動作状況が省電力の条件を有し、
前記制御ロジックが、前記リンクを前記第２のリンク幅に調整した後に、前記ローカルのポートの一部を低電力状態に設定するシステム。
【請求項２６】
請求項２５に記載のシステムであって、
前記リモートのポートが、前記ローカルのポートから前記第２のリンク幅の通知を受信し、前記リモートのポートの一部を低電力状態に設定する制御ロジックを有するシステム。
【請求項２７】
請求項２４に記載のシステムであって、
前記第２のリンク幅が前記第１のリンク幅より広く、
前記動作状況が増加した帯域の条件を有し、
前記制御ロジックが、前記リンクを前記第２のリンク幅に調整する前に、前記ローカルのポートの一部を低電力状態から引き上げるシステム。
【請求項２８】
請求項２７に記載のシステムであって、
前記リモートのポートが、前記ローカルのポートから前記第２のリンク幅の通知を受信し、前記リモートのポートの一部を低電力状態から引き上げる制御ロジックを有するシステム。
【請求項２９】
請求項２４に記載のシステムであって、
前記制御ロジックが、
前記ローカルのポートの活性の部分に関連する空のトランザクション・キューを検出し、
前記活性の部分を中間電力状態に設定し、
前記中間電力状態が、相対的に短い再活性化の遅延を有するシステム。
【請求項３０】
請求項２３に記載のシステムであって、
前記リンクが、階層化された通信プロトコルを有するポイント・ツー・ポイント・ネットワークの相互接続の部分であるシステム。
【請求項３１】
ローカルのポートとリモートのポートとの間のリンク初期化中に、リモートの幅の容量を受信し、前記リモートの幅の容量がリモートのポートに対応し、１つ以上のサポートされるリンク幅及び対応するレーン識別子を有することと、
前記リモートの幅の容量とローカルの幅の容量に基づいて、リンクの第１のリンク幅を確立することと、
前記リモートの幅の容量と前記ローカルのポートの動作状況に基づいて、第２のリンク幅を選択することと、
前記リンクを前記第２のリンク幅に調整することと、
前記ローカルのポートの活性の部分に関連する空のトランザクション・キューを検出することと、
前記活性の部分を中間電力状態に設定し、前記中間電力状態が、相対的に短い再活性化の遅延を有することと
を有する方法。
【請求項３２】
請求項３１に記載の方法であって、
前記選択することが、前記第２のリンク幅を前記第１のリンク幅より狭く選択することを有し、
前記動作状況が省電力の条件を有し、
前記方法が、前記リンクを前記第２のリンク幅に調整した後に、前記ローカルのポートの一部を低電力状態に設定することを更に有し、
前記低電力状態が、相対的に長い再活性化の遅延を有する方法。
【請求項３３】
請求項３１に記載の方法であって、
前記選択することが、前記第２のリンク幅を前記第１のリンク幅より広く選択することを有し、
前記動作状況が増加した帯域の条件を有し、
前記方法が、前記リンクを前記第２のリンク幅に調整する前に、前記ローカルのポートの一部を低電力状態から引き上げることを更に有し、
前記低電力状態が、相対的に長い再活性化の遅延を有する方法。
【請求項３４】
請求項２７に記載の方法であって、
前記リモートのポートが前記第２のリンク幅を通知された後に所定量の時間が経過した場合に、前記第２のリンク幅で前記リモートのポートにデータを送信することを更に有し、
前記所定量の時間が、第１の期間と第２の期間とを有し、
前記第１の期間が、前記リモートのポートのリンク層が前記第２のリンク幅を前記リモートのポートの物理層に中継するために必要な時間量に対応し、
前記第２の期間が、前記リモートのポートの前記物理層が、前記第２のリンク幅に対応してマルチプレクサの切り替えを終了するために必要な時間量に対応する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連特許］
この出願は、Ｎ．Ｃｈｅｒｕｋｕｒｉ他により同日に出願された“Ｌｉｎｋ  Ｐｏｗｅｒ  Ｓａｖｉｎｇ  Ｓｔａｔｅ”という題名の米国特許出願と、Ｎ．Ｃｈｅｒｕｋｕｒｉ他により同日に出願された“Ａ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｄｅｎｔｉｆｙｉｎｇ  Ｂａｄ  Ｌａｎｅｓ  ａｎｄ  Ｅｘｃｈａｎｇｉｎｇ  Ｗｉｄｔｈ  Ｃａｐａｂｉｌｉｔｉｅｓ  ｏｆ  Ｔｗｏ  Ａｇｅｎｔｓ  Ｃｏｎｎｅｃｔｅｄ  Ａｃｒｏｓｓ  ａ  Ｌｉｎｋ”という題名の米国特許出願に関連する。
［技術分野］
本発明の実施例は、概してリンク管理に関するものである。特に、実施例はリンク幅の動的調整に関するものである。
【背景技術】
【０００２】
今日、コンピュータシステムは、多様な理由で相互に通信する多数の構成要素で構成されている。例えば、マルチプロセッサシステムでは、１つのプロセッサは、ローカルで必要なデータを取り出すために、他のプロセッサのメモリにアクセスすることがあり、その逆も同様である。他の例において、プロセッサは、チップセットの入出力（Ｉ／Ｏ）ハブに結合された入出力（Ｉ／Ｏ）装置とデータを交換するために、チップセットと通信することがある。
【０００３】
コンピュータの構成要素を相互接続するリンクは、データを転送するための機構を提供し、各ポイント・ツー・ポイントのリンクは、一般的に複数の“レーン”で構成され、各レーンは、所定の周期でデータのビットを転送することができる。通信中に使用されるレーンの数はリンク幅を定め、それがリンクの帯域を効果的に制御する。簡単に言えば、より幅の広いリンクが、狭いリンクより大きい帯域を提供する。他方では、より幅の広いリンクは、更なるレーンに対応するために必要な更なる回路のため、より多くの電力を消費する傾向にある。リンク幅は、一般的に長期の初期化処理の間にネゴシエーションされ、従来の方法で設定されると、相対的に静的である。前記の方法は、特定の状況では適しているが、相当の改善の余地がまだ残っている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特に、構成要素の動作状況は、時間によりしばしば変化し、帯域の要件も本質的に変化し得ることがわかる。例えば、プロセッサは、相対的に大きい量のリンクの帯域を必要とするスレッドの実行から、相対的に小さい量のリンクの帯域を必要とするスレッドの実行に移行することがある。しかし、リンク幅は、初期化処理が非常に複雑であり、時間がかかるため、一般的に従来の技術のもとでは変化しない。その結果、リンクが必要以上に大きくなることがある。
【課題を解決するための手段】
【０００５】
リンクを管理するシステム及び方法は、リンク初期化中にリモートの幅の容量を受信することを提供し、リモートの幅の容量がリモートのポートに対応する。ローカルのポートとリモートのポートとの間のリンクは、リモートの幅の容量に従って複数のリンク幅で動作される。
【発明の効果】
【０００６】
リンク再初期化の必要性を除去することにより、リアルタイムのリンク調整機構が達成されることが可能になり、幅を調整するために必要な時間を減少させ、実質的な省電力を提供する。
【発明を実施するための最良の形態】
【０００７】
図１は、第１の構成要素１２ａと第２の構成要素１２ｂとを有するコンピュータシステム１０を示したものである。コンピュータシステム１０は、デスクトップ・パーソナルコンピュータ（ＰＣ）、ノートブックＰＣ、サーバ等の一部であることがあり、一般的に図示された２つより多くの構成要素を有する。従って、図示された例は説明の目的で簡略化されており、ここで説明される技術は多数の構成要素に容易に構成され得る。構成要素１２（１２ａ−１２ｂ）は、マイクロプロセッサ、チップセット入出力（Ｉ／Ｏ）ハブ、グラフィック・コントローラ、メモリ・コントローラ等、又はその何らかの組み合わせを有することがある。第１の構成要素１２ａはポイント・ツー・ポイント・リンク１４の第１の端部に結合されたポート１６を有し、第２の構成要素１２ｂはリンク１４の第２の端部に結合されたポート１８を有する。
【０００８】
リンク１４は、第１の構成要素１２ａから第２の構成要素１２ｂに、及び第２の構成要素１２ｂから第１の構成要素に、データを運ぶ双方向リンクであることがある。双方向リンクは、データが単一の物理レーンを同時に双方向に流れることができる同時双方向（ＳＢＤ）リンク、又はデータが所定の時間に一方向にのみ流れる共有双方向リンクであることがある。その他に、リンク１４は、一方向にのみデータを運ぶ単方向リンクであることがある。そのような場合に、ポート１６と１８の間で完全な２方向の通信を提供するために、リンク１４のような２つのリンクが使用され得る。簡単に言えば、１つの形式のリンクに関して多数の例が説明されるが、ここで説明された実施例の意図と範囲を逸脱することなく、他の形式のリンクも使用され得る。それにもかかわらず、実施例が適用できる単方向リンクの多数の態様が存在する。
【０００９】
図示の例において、ポート１６は、多様な動作状況に基づいてリンク１４の幅“ｗ”を調整可能な制御ロジック２０を有する。例えば、リンク１４で転送されるデータのための帯域の要件が相対的に小さい場合、制御ロジック２０は、電力を節約するためにリンク１４の幅を縮小することができる。同様に、帯域の要件が増加すると、リンク１４の幅がその要件を満たすように増加することができる。従って、リンク幅の調整は、更なるリンク初期化又はポート１６と１８の間のネゴシエーションの必要なしに、“進行中に”開始することができる。ポート１６が動的にリンク幅を調整することを可能にすることにより、システム１０は、従来の方法のもとで損なうことがある省電力の機会を十分に利用することができる。簡単に言えば、リンク再初期化の必要性を除去することにより、リアルタイムのリンク調整機構が達成されることが可能になり、幅を調整するために必要な時間を減少させ、実質的な省電力を提供する。留意すべき点は、図示の例は、リンク調整制御ロジックを有するものとして第１の構成要素１２ａのポート１６のみを示しているが、第２の構成要素１２ｂのポート１８もまた、リンク幅を調整する制御ロジックを有することがある。実際に、多数の相互接続された構成要素を有する複数ノードのシステムでは、全面的な省電力を提供するために、それぞれの構成要素がリンク幅を動的に調整する機能を備え得る。
【００１０】
前述の通り、リンク１４は、双方向又は単方向であることがある。端方向リンクの対の場合、それぞれの単方向リンクは潜在的に異なる幅で動作することができ、ローカルの動作状況に基づいて送信ポートが最適なリンク幅を選択する。双方向リンクの場合、それぞれのリンクの方向は異なる幅で動作することができる。そのような方法は、電力削減における最大量の自由度を提供し、従来の技術に対する有意な改善を表す。
【００１１】
リンク１４は、リンク幅の調整の目的で、“四分区間”に分割され得る。例えば、リンク１４が１２ビットの幅である場合、ビット０から４が四分区間１として定められ、ビット５から９が四分区間２として定められ、以下同様である。従って、狭いリンク幅に調整することは、１つ以上の四分区間に関連する入出力（Ｉ／Ｏ）回路を非活性化することを有することがある。同様に、広いリンク幅に調整することは、１つ以上の四分区間のＩ／Ｏ回路を活性化することを有することがある。Ｉ／Ｏ回路は、リンクに信号を送信し、及び／又はリンクから信号を受信することを担うポートの物理部分である。細分性と複雑性とのトレードオフに基づいて、その他の機構も使用され得る。例えば、複雑性が有意な問題ではない場合、ここで説明された原理の意図と範囲を逸脱することなく、リンク幅はレーン毎に調整され得る。
【００１２】
前述の通り、リンク１４は、コンピュータシステム１０の全ての構成要素を相互接続するポイント・ツー・ポイント構成の一部を表し得る。そのようなトポロジーの例が図７に示されている。図示された実施例において、コンピュータシステム１０’は、構成要素１２’（１２ａ−１２ｄ）に結合されたポイント・ツー・ポイント・ネットワークの相互接続２４を有する。ポイント・ツー・ポイント構成のトポロジーでは、各構成要素はシステムの他のノードへの直接のリンクを有する。ネットワークの相互接続２４はまた、階層化された通信プロトコルを有することができ、リンク幅の調整メッセージがリンク層で“フリット（ｆｌｉｔ）”から構成され、プロトコル層でパケットにて構成要素間を転送される。フリット（ｆｌｉｔ）は、基本的にリンク層でのフロー制御の単位であり、フリット（ｆｌｉｔ）は複数の物理層の“フィット（ｐｈｉｔ）”を有し、複数のフリット（ｆｌｉｔ）がプロトコル層の“パケット”を構成する。転送層やルーティング層のようなその他の層もまた階層に含まれ得る。表１は、階層化された通信プロトコルを実装する１つの方法を要約したものである。
【００１３】
【表１】
2005332356.tif 000003
転送層とルーティング層は、特定のプラットフォームの選択肢にのみ必要になることがある。デスクトップ／モバイルのデュアル・プロセッサのシステムにおいて、例えば、ルーティング層の機能がリンク層に組み込まれ得る。簡単に言えば、図示の実施例の意図と範囲を逸脱することなく、層がプロトコルに追加され、又はそれから除去されることがある。
【００１４】
次に図２に進むと、リンクを管理する方法２６が示されている。前記方法２６は、何らかの既知のハードウェア及び／又はソフトウェア技術を使用して、前述の制御ロジック２０（図１）のようなポートの制御ロジックで実施され得る。処理ブロック２８は、リンク初期化中にローカルのポートでリモートの幅の容量を受信することを提供し、前記リモートの幅の容量はリモートのポートに対応する。リンク初期化処理は、リンクのどのレーンが利用可能であるかを判断するために、ポートが調整データを交換する初期手順を有し得る。１つの例では、リモートの幅の容量は、サポートされるリンク幅及び対応するレーンの識別子を有する。従って、リモートの幅の容量は、“全幅”と“半分幅”と“四半分幅”のような多様な幅、及びその幅で使用される四分区間を特定することがある。リモートの幅の容量は、特別の調整シーケンスの一部として通信され得る。
【００１５】
ローカルのポートは、内部で作られたローカルの幅の容量又はその他に既知のローカルの幅の容量と、遠隔の幅の容量を比較し、双方のポートが対応できる共通リンクマップ（ＣＬＭ）を選択することができる。ブロック３０は、リモートの幅の容量に従って、複数のリンク幅でローカルのポートとリモートのポートとの間のリンクを動作することを提供する。
【００１６】
図３は、ブロック３０’で更に詳細に複数のリンク幅でリンクを動作する１つの方法を示したものである。図示の例では、ブロック３２でリモートの幅の容量とローカルの幅の容量に基づいて、第１のリンク幅が確立される。ブロック３４は、省電力の機会が存在するか否か、又は増加した帯域の要件が存在するか否かを判断することを提供する。増加した帯域の要件は、ストリーミング映像のような相対的に複雑な処理に関係することがあるが、省電力の機会は、リンクの予想活動度がほとんどない又は全くないことから生じることがある。帯域が増加する必要がある場合、リモートの幅の容量に基づいて、ブロック３６でより広いリンク幅が選択される。
【００１７】
ブロック３７は、より広いリンク幅をリモートのポートに通知することを提供する。次に、ローカルのポートは所定量の時間（例えばＴＷＡＫＥ−ＵＰ）を待つことができ、その所定量の時間は、リモートのポートのリンク層がその通知を理解し、リモートのポートの物理層に情報を与える十分な時間を有することを確保する。その他に、リンクの双方で不活性のレーンを電力上昇ために、物理層に組み込まれた低電力終了シーケンスが使用され得る。そのような方法では、電力終了シーケンスは所定の立ち上がり時間（例えばＴＬＯＳ＿ＷＡＫＥ）を利用することができ、その所定の立ち上がり時間は双方のポートに共通であり、電力管理レジスタにプログラムされる。従って、所定の立ち上がり時間の終了は、リンクの双方が活性化になる通知を提供する。
【００１８】
更なる幅に対応するローカルのポートの入出力（Ｉ／Ｏ）回路は、ブロック３８で低電力状態から引き上げられ、ブロック４０でリンクがより広いリンク幅に調整される。留意すべき点は、低電力状態からＩ／Ｏ回路を引き上げることに相当の量の時間がかかることがあることである。特に、低電力状態が低いほど、その状態を出るためにかかる時間が長くなる（しかし、省電力はより大きくなる）。この遅延の影響を最小化するために、ブロック４０でより広いリンク幅に調整する前に、ブロック３８で低電力状態が終了される。そのような方法は、バックグラウンドで回路を電力上昇する間に、リンクが以前のリンク幅で動作されることを可能にし、リンク幅の調整時間を有意に改善する。更に、電力上昇する処理がバックグラウンドで実行されるため、低電力状態が通常より低く設計されることが可能になり、より大きい省電力を提供する。
【００１９】
省電力の機会が存在する場合、ブロック４２は、リモートの幅の容量に基づいてより狭いリンク幅を選択することを提供する。ブロック４４で、リンクはより狭いリンク幅に調整される。ブロック４４での調整は、リモートのポートへのより狭いリンク幅の推定的な通知を提供する。ブロック４６で、余りの幅に対応するローカルのポートの部分は、低電力状態になる。留意すべき点は、リンクの回路の非活性化処理に関する何らかの遅延を回避するために、ブロック４６で低電力状態に入ることは、ブロック４４でより狭いリンク幅に調整された後に実施され得ることである。従って、リンクはできるだけ早く新しいリンク幅で動作され、回路はバックグラウンドで電力低下される。そのような方法は、リンク幅の調整時間を更に改善し、より低い低電力状態の使用を促進する。ブロック４８は、第２のリンク幅でリモートのポートにデータを転送することを提供する。
【００２０】
次に図４に進むと、ローカルのポート（ポートＡ）が新しいリンク幅にリンクを調整するメッセージ図５０が示されている。図示の例では、ローカルのポートが、リモートのポートに“ＰＭ．ＬｉｎｋＷｉｄｔｈＣｏｎｆｉｇ”パケットを送信することにより、未決定の移行をリモートのポート（ポートＢ）に通知する。時間パラメータ“ｔＬＷＭ＿ＰＫＴ［ＵＩ］”は、通知パケットの長さに対応し、リンク幅の調整シーケンスに影響を与えない。通知パケットが送信されると、期間ＴＬＷＭ＿ＥＮＴＥＲ＿ＮＯＰ［ＵＩ］が経過するまで、ローカルのポートのリンク層がアイドル・フリット（ｆｌｉｔ）“Ｉｄｌｅ＃１−ｎ”を送信する。この期間は、リモートのポートのリンク層がリモートのポートの物理層に新しいリンク幅を中継するために必要な時間量に対応する。その値はローカルのポートの電力管理レジスタに保存されることが可能であり、電力管理レジスタの値は静的又は動的であることがある。
【００２１】
静的な値はハードコードされ、電源起動後に変化しないが、動的な値はより活動的なタイミングで更新され得る。動的な電力管理レジスタのタイミングの値の場合、所定のリンク調整シーケンスは、直前にプログラムされた値を使用することがある。例えば、基本入出力システム（ＢＩＯＳ）は、実際のプラットフォームのトポロジーを考慮に入れて、最適な値をレジスタにプログラムすることができる。最適化の結果になり得るプラットフォームの変数の例は、リンクを経由する所要時間、リンク層と物理層との内部遅延等である。
【００２２】
所要の数のアイドル・フリット（ｆｌｉｔ）を送信した後に、ローカルのポートのリンク層は、ローカルのポートの物理層に信号を送り、そのマルチプレクサを調整し、新しいリンク幅に対応する。ローカルの物理層は、新しいリンク幅を使用して、次のフリット（ｆｌｉｔ）の境界に調整されて、期間ＴＬＷＭ＿ＭＵＸ＿ＳＷＩＴＣＨの間に全ての活性の送信差動の対（例えばＤ＋／Ｄ−）で高／低信号（例えば１／０）を駆動する。留意すべき点は、値１／０は単に説明の目的で使用されたものであり、その他の値も使用され得ることである。実際に、当該の期間の短い持続時間のため、Ｄ＋／Ｄ−の送信が全て除去され得る。ローカルの電力管理レジスタに保存され、それから読み取られ得る前記期間は、リモートのポート又はローカルのポートのいずれか（いずれか大きい方）の物理層が新しいリンク幅に対応してマルチプレクサの切り替えを終了するために必要な時間量に対応する。ＴＬＷＭ＿ＭＵＸ＿ＳＷＩＴＣＨ期間が経過すると、ローカルのポートがフロー制御のフリット（ｆｌｉｔ）を送信する用意ができている。従って、双方のポートがリンク幅を調整したため、双方のリンクのタイミングが高水準の精度に制御されることが可能になり、何らかの調整誤りが回避され得る。
【００２３】
図５は、ブロック４８’で更に詳細にリモートのポートにデータを送信する１つの方法を示したものである。図示の例において、ブロック５２でリンクの活性の部分に関連するトランザクション・キューが空であるか否かが判断される。この点について、各ポートは、リンクに出されるデータを保存する物理層のトランザクション・キューを有することがあり、空のトランザクション・キューは現在使用されていない活性化されたリンクを表し得る。図示された技術は、そのような場合に更なる省電力を提供する。特に、空のトランザクション・キューが検出されると、ブロック５４でローカルのポートの活性のリンク部分が中間電力状態に設定され、前記中間電力状態は、低電力状態に設定されたリンクの未使用部分に比べて、相対的に短い遅延／立ち上がり時間を有する。１つの実施例では、ローカルのポートの活性のリンク部分は構成可能な立ち上がり時間を有し、それによりＩ／Ｏ回路の多様な要素が必要な最小の遅延を満たすように選択的に電力低下され得る。そのような場合、より長い許容立ち上がり時間により、Ｉ／Ｏ回路のより大きい部分が停止されることが可能になり、より大きい省電力を結果として生じる。
【００２４】
従って、中間電力状態のリンクの部分は、低電力状態のリンクの部分より早く立ち上がるように構成され得る。例えば、ローカルのポートがリンク幅を半分幅に調整することを決定した全幅で動作するリンクを検討する。レーンの半分を低電力状態に設定することにより、調整が実施され得る。次にローカルのポートがリンクの活性の部分の４分の１が現在使用されていないと判断すると、リンクは効果的に四半分幅に調整されることが可能であり、レーンの４分の１は中間電力状態に設定される。従って、四半分幅から半分幅への調整は、半分幅から全幅への調整より早く生じ得る。
【００２５】
ブロック５６はローカルのポートの残りの活性の部分からデータを送信することを提供し、ブロック５８はトランザクション・キューのデータを検出することを提供する。キューがもはや空ではない場合、ブロック６０で当該のリンク回路が中間電力状態から引き上げられる。前述の通り、ブロック６０は、前述のブロック３８（図３）より早く終了されることがある。ブロック６２は全ての活性のレーンで通常通りデータを送信することを提供する。
【００２６】
次に図６に進むと、誤りを検出する方法６４が示されている。特に、前記方法６４は、必要に応じて前述の方法２６（図２）に組み込まれることが可能であり、“ネゴシエーションのない”リンク調整処理に関連することがある何らかの否定的な影響を除去することができる。特に、ブロック６６はリモートのポートからリトライ要求を受信することを提供し、前記リトライ要求はリンク幅の通知メッセージが誤りを含むことを示し、リモートのポートの現在のリンク幅を示す。ブロック６８でリモートのポートの現在のリンク幅がローカルのポートに選択され、ブロック７０で通知が繰り返される。
【００２７】
従って、前述の技術は、電力節約が重要であるモバイル・コンピューティングのような分野で、積極的な省電力の選択肢の追求を可能にする。例えば、ノートブックコンピュータで動的なリンク幅調整を実施することは、延長した電池寿命と、より小さい形状因子と、減少した動作コストを含むが、それらに限定されない改善を提供する。
【００２８】
本発明の実施例の広い技術が多様な形式で実施され得ることが、前述の説明から当業者は理解することができる。従って、本発明の実施例はその特定の例に関して説明されたが、図面と明細書と特許請求の範囲の検討により他の変更形態が当業者に明らかになるため、本発明の実施例の真の範囲はそれに限定されるべきではない。
【図面の簡単な説明】
【００２９】
【図１】本発明の１つの実施例に従って動的に調整された幅を有するリンクの例のブロック図である。
【図２】本発明の１つの実施例に従ってリンクを管理する方法の例のフローチャートである。
【図３】本発明の１つの実施例に従って複数のリンク幅でリンクを動作する処理の例のフローチャートである。
【図４】本発明の１つの実施例によるリンク幅の調整の例のメッセージ図である。
【図５】本発明の１つの実施例に従って調整されたリンクでデータを伝送する処理の例のフローチャートである。
【図６】本発明の１つの実施例に従ってリンク伝送誤りを管理する処理の例のフローチャートである。
【図７】本発明の１つの実施例によるポイント・ツー・ポイント・ネットワークの相互接続の例のブロック図である。
【符号の説明】
【００３０】
１０  コンピュータシステム
１２  構成要素
１４  リンク
１６、１８  ポート
２０  制御ロジック
【図１】
2005332356.tif 000004
【図２】
2005332356.tif 000005
【図３】
2005332356.tif 000006
【図４】
2005332356.tif 000007
【図５】
2005332356.tif 000008
【図６】
2005332356.tif 000009
【図７】
2005332356.tif 000010