(57)【要約】      （修正有）【課題】リンク相互接続の電源管理方法、装置、およびシステムに関し、リンクはより頻繁に低電力状態へ遷移することができ、これにより節電効果を高め、低電力状態からリンクを立ち上げる処理のレイテンシを最小限にする。【解決手段】電力状態遷移制御に基づく相互接続構造の電力管理制御に関する。電力状態遷移は、応答時間および後続の要求検出に基づく、早期警告信号生成とアイドルタイムアウト値設定とに基づく。【選択図】図１
2010049674.tif 000002
【特許請求の範囲】
【請求項１】
相互接続の電力状態を管理する方法であって、
要求を受信すると早期警告信号を生成する段階と、
前記要求が読み出しまたは書き込み動作のいずれであるかをデコードする段階と、
前記要求が書き込み動作である場合は、前記早期警告信号の利用に少なくとも部分的に基づいて前記リンクを第１電力状態から第２電力状態に遷移させる段階、他の場合は、前記第１電力状態から前記第２電力状態への前記遷移に関連付けられた立ち上げ遅延に関して前記読み出し動作に対する応答に関連付けられた遅延を計算することに少なくとも部分的に基づいて、前記リンクを前記第１電力状態から前記第２電力状態に遷移させる段階と、を備える、方法。
【請求項２】
前記要求はプロセッサからのものである、請求項１に記載の方法。
【請求項３】
前記応答はメモリからのものである、請求項１に記載の方法。
【請求項４】
前記早期警告信号は、前記第１電力状態から前記第２電力状態への前記相互接続の電力状態遷移を、前記第１電力状態の電力消費が前記第２電力状態より低くなるように開始する、請求項１に記載の方法。
【請求項５】
前記第１電力状態はＬ０ｓ状態であり、前記第２電力状態はＬ０状態である、請求項１に記載の方法。
【請求項６】
前記メモリはダイナミックＲＡＭ（ＤＲＡＭ）である、請求項３に記載の方法。
【請求項７】
相互接続の電力状態を管理する方法であって、
要求を受信すると早期警告信号を生成する段階と、
前記要求を受信するとフラグを設定する段階と、
別の要求を受信すると前記フラグをリセットする段階と、
前記フラグの値に基づいて、アイドルタイムアウト値に関わらず前記相互接続の電力状態遷移を開始する段階と、を備える、方法。
【請求項８】
前記要求はプロセッサからのものである、請求項７に記載の方法。
【請求項９】
前記応答はメモリからのものである、請求項７に記載の方法。
【請求項１０】
前記早期警告信号は、第１電力状態から第２電力状態への前記相互接続の電力状態遷移を、前記第１電力状態の電力消費が前記第２電力状態より低くなるように開始する、請求項７に記載の方法。
【請求項１１】
前記第１電力状態はＬ０ｓ状態であり、前記第２電力状態はＬ０状態である、請求項７に記載の方法。
【請求項１２】
前記メモリはダイナミックＲＡＭ（ＤＲＡＭ）である、請求項７に記載の方法。
【請求項１３】
前記フラグが設定されている場合にＬ０からＬ０ｓへの前記電力状態遷移が生じ、前記フラグがリセットされている場合には前記電力状態遷移は生じない、請求項７に記載の方法。
【請求項１４】
要求を生成するプロセッサと、
前記プロセッサに連結され、要求を受信するメモリと、
前記プロセッサを前記メモリに接続する相互接続構造と、
前記要求を受信すると早期警告信号を生成して、前記早期警告信号の生成と前記要求への応答の受信との間の時間的差異を、前記相互接続構造の第１電力状態から第２電力状態への遷移時間と比較することに少なくとも部分的に基づいて、前記相互接続構造のアイドルタイムアウト値を設定する相互接続制御ロジックと、を備える、システム。
【請求項１５】
前記メモリはＤＲＡＭである、請求項１４に記載のシステム。
【請求項１６】
前記相互接続制御ロジックは前記プロセッサ内に存在する、請求項１４に記載のシステム。
【請求項１７】
前記相互接続制御ロジックは、前記プロセッサに連結されるチップセット内に存在する、請求項１４に記載のシステム。
【請求項１８】
相互接続の電力状態を管理する集積デバイスであって、
前記相互接続から受信した複数のパケットを格納するバッファと、
前記バッファに連結され、前記受信したパケットのデコードされたバージョンと、前記集積デバイスに連結されたメモリが処理する要求とを格納する要求トラッカキューと、
前記要求を受信すると早期警告信号を生成して、前記早期警告信号の生成と前記要求への応答の受信との間の時間的差異を、前記相互接続構造電力制御ロジックの第１電力状態から第２電力状態への遷移時間と比較することに少なくとも部分的に基づいて、前記相互接続のアイドルタイムアウト値を設定する相互接続制御ロジックと、を備える、集積デバイス。
【請求項１９】
前記集積デバイスはメモリコントローラハブ（ＭＣＨ）である、請求項１８に記載の集積デバイス。
【請求項２０】
前記メモリはＤＲＡＭである、請求項１８に記載の集積デバイス。
【請求項２１】
前記集積デバイスはプロセッサである、請求項１８に記載の集積デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はパーティショニングの分野に関し、１実施形態においては、リンク相互接続の電源管理方法、装置、およびシステムに関する。
【背景技術】
【０００２】
電源管理方式により、サーバ、ラップトップコンピュータ、プロセッサおよびデスクトップコンピュータ等の様々な種類のシステムおよび集積デバイスの電力消費を低減することができる。マルチコアプロセッサの導入によって、高周波、高電圧で動作するコアの増加、および、熱制限、最大電流量、およびＶｃｃ範囲などの様々な電源制限を守る必要が生じたことなどの理由により、電源管理は主要な課題になっている。
【０００３】
リンク相互接続により、デバイスと機能ブロックとの間の通信が可能となる。相互接続の幾らかの例は、共有バスおよびポイントツーポイントリンクである。リンクはトラフィックによっては異なる電源状態にありえ、各状態は異なるレベルの電力および性能トレードオフを生じうる。リンクは、リンク上にトラフィックがない場合、低電力状態に遷移することがあり、このような条件は通常アイドルタイムアウト機構により感知される、つまり、事前設定された時間間隔の間リンクトラフィックがない場合、そのリンクは低電力状態に遷移する。小さい値のアイドルリンクタイムアウトにより、リンクはより頻繁に低電力状態へ遷移することができ、これにより節電効果は高まるが、低電力状態からの復帰には、性能面が問題になるリンクの立ち上げがつきものである。他方で、大きなアイドルタイムアウトにより、この性能面の問題を最小限に抑えることができるが、リンクが低電力状態へ移る頻度が少なくなり、節電効果が低減されてしまう。
【図面の簡単な説明】
【０００４】
本発明の実施形態は、本発明の実施形態を図示するのに利用される添付図面とともに以下の記載を参照することで理解し易くなろう。
【０００５】
【図１】本発明の１実施形態によるデュアルプロセッサシステムの例示的ブロック図である。
【０００６】
【図２】本発明の１実施形態によるマルチプロセッサシステムの例示的ブロック図である。
【０００７】
【図３】本発明の１実施形態による、図１−２のシステムのホームおよびキャッシュエージェントのアーキテクチャの例示的実施形態である。
【０００８】
【図４】本発明の１実施形態によるシステムのブロック図である。
【０００９】
【図５】本発明の１実施形態による装置である。
【００１０】
【図６】本発明の１実施形態によるタイミング図である。
【発明を実施するための形態】
【００１１】
以下の記載においては、ある用語を利用して本発明の特徴を記載している。例えば、「デバイス」または「エージェント」という用語は一般用語であり、リンクに連結される電気部材を記載するのに利用されうる。「リンクまたは相互接続」は、メッセージ（つまり、所定のフォーマットにされた情報）用の通信路を構築する情報搬送媒体と定義される。リンクまたは相互接続は、有線物理媒体（例えば、バス、１以上の電気ワイヤ、配線、ケーブル等）、または無線媒体（例えば、無線信号方式技術との組み合わせ）であってよい。
【００１２】
１実施形態においては、請求されている事項により、低電力状態に遷移するアグレッシブなアイドルタイムアウト値を利用しつつ、低電力状態からリンクを立ち上げる処理のレイテンシを最小限にすることができるようになる。ある側面においては、請求されている事項は、電力と性能との間のトレードオフを最適化する。
【００１３】
「ホームエージェント」という用語は、キャッシュエージェントに資源を提供してメモリにアクセスし、且つ、キャッシュエージェントからの要求に基づいてコンフリクトを解消し、オーダリング等を維持することができる。ホームエージェントは、以下で説明するように、各キャッシュエージェントについてトラッカとデータバッファ（１以上）とを含む。「トラッカ」は、特定のデバイスからのメモリ要求専用の記憶装置である。例えば、第１トラッカは、第１キャッシュエージェントに関連付けられた複数のエントリを含んでよく、第２トラッカは、第２キャッシュエージェントに関連付けられた他の複数のエントリを含んでよい。本発明の１実施形態において「キャッシュエージェント」は、一般的に、ホームエージェントにメモリ要求をルーティングさせるキャッシュコントローラである。
【００１４】
「ロジック」という用語は、一般的に、デバイス間のメッセージ交換の制御等の１以上の動作を行うハードウェアおよび／またはソフトウェアとして定義される。ソフトウェアにインストールされると、このソフトウェアは、アプリケーション、ルーチン、または１以上の命令などの実行可能コードとなってよい。ソフトウェアは、任意の種類のメモリであってよく、これは、例えば（ｉ）フロッピーディスク、磁気光学ディスク、およびコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、書き換え可能コンパクトディスク（ＣＤ−ＲＷ）、デジタル多用途ディスク（ＤＶＤ）などの光学ディスクを含む任意の種類のディスク、（ｉｉ）読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能書き込み可能ＲＯＭ（ＥＰＲＯＭ）、フラッシュメモリ、電気的消去可能書き込み可能ＲＯＭ（ＥＥＰＲＯＭ（登録商標））などの任意の種類の半導体デバイス、（ｉｉｉ）磁気または光学カード、または（ｉｖ）電子命令を格納するのに適した任意の他の種類の媒体などの通常は適切な格納媒体である。
【００１５】
以下の記載においては、多数の特定の詳細を述べる。しかし、本発明の実施形態はこれら特定の詳細なく実効可能であることを理解されたい。他の場合には、公知の回路、構造、および技術については詳細に示さないことで、本記載の理解を曖昧にしないよう心がけている。
【００１６】
先に述べたように、リンク相互接続により、デバイスと機能ブロックとの間の通信が可能となる。相互接続の幾らかの例は、共有バスおよびポイントツーポイント相互接続である。リンクはトラフィックによっては異なる電源状態にありえ、各状態は異なるレベルの電力および性能トレードオフを生じうる。リンクは、リンク上にトラフィックがない場合、低電力状態に遷移することがあり、このような条件は通常アイドルタイムアウト機構により感知される、つまり、事前設定された時間間隔の間リンクトラフィックがない場合、そのリンクは低電力状態に遷移する。小さい値のアイドルリンクタイムアウトにより、リンクはより頻繁に低電力状態へ遷移することができ、これにより節電効果は高まるが、低電力状態からの復帰には、性能面が問題となるリンクの立ち上げがつきものである。他方で、大きなアイドルタイムアウトにより、この性能面の問題を最小限に抑えることができるが、リンクが低電力状態へ移る頻度が少なくなり、節電効果が低減されてしまう。ある側面においては、本発明は、低リンク電力状態に遷移するアグレッシブなアイドルタイムアウト値を利用しつつ、低電力状態からリンクを立ち上げる処理のレイテンシを最小限にすることができるので、電力と性能との間のトレードオフが最適化される。
【００１７】
各電力状態は、異なるレベルの電力および性能トレードオフを生じうる。例えば、Ｌ０状態などの通常の全電力状態は、Ｌ０ｓまたはＬ１などの低電力状態より高いレベルの性能を高いリンク電力利用率で提供するが、より多くの電力を浪費する。これに対して、低電力状態では、電力面は向上するが、性能が低減する。リンクがアイドルである場合、または、断続的にしかパケットまたはデータを通信しない場合には、電力状態を通常電力状態から低電力状態へ変更すると有利である。電力性能節約の観点からは、リンク上に多くの動作が生じると通常電力状態への復帰にまつわるレイテンシ面での問題は避けられない。
【００１８】
１実施形態においては、Ｌ１状態は、全てのクロック（ＰＬＬＳ）、トランスミッタおよびレシーバをディセーブルにする。別の実施形態においては、Ｌ０状態は、トランスミッタおよびレシーバの電力を停止する間はクロックをイネーブルにして、クロックをディセーブルにする。クロックをイネーブルにし続けることで、リンクが迅速にＬ０状態から復帰できるようになるので、Ｌ０ｓ状態からＬ０状態へ復帰する際遷移のレイテンシが小さくなる。
【００１９】
請求されている事項は、先に述べた電力状態間での遷移の制御を助ける。１実施形態においては、電力状態遷移の制御ロジックはプロセッサに記述される。１実施形態においては、電力状態遷移の制御ロジックはメモリコントローラハブ（ＭＣＨ）に記述される。１実施形態においては、電力状態遷移の制御ロジックは入出力ハブ（ＩＯＨ）に記述される。１実施形態においては、電力状態遷移の制御ロジックはメモリコントローラ（ＭＣ）に記述される。
【００２０】
１実施形態においては、電力状態遷移は、ＰＣＩｅ（周辺コンポーネント相互接続）、ＱｕｉｃｋｐａｔｈまたはＣＳＩ等のポイントツーポイント相互接続に利用される。別の実施形態においては、電力状態遷移は、共有バス相互接続に利用される。
【００２１】
Ｉ．例示的なシステムアーキテクチャ
【００２２】
図１は、本発明の１実施形態によるシステムのブロック図である。ここで、図１は、プロセッサ１１０と１５０とを有するデュアルプロセッサ（ＤＰ）構成を示す。例えば、この構成は、デスクトップまたは携帯型コンピュータ、サーバ、セットトップボックス、情報携帯端末（ＰＤＡ）、英数字ページャ、セルラー式電話、または任意の他の種類の有線または無線の通信デバイスに関していてよい。
【００２３】
各プロセッサ１１０および１５０は、メモリコントローラ（ＭＣ）１１５および１５５を含み、それぞれリンク１２５および１６５を介して、対応するメモリ１２０および１６０との直接通信を可能とする。さらに、メモリ１２０および１６０は、同じ共有メモリ内のそれぞれ独立したメモリまたは部分であってよい。
【００２４】
図１に具体的に示すように、プロセッサ１１０および１５０は、それぞれポイントツーポイントリンク１３０および１７０を介して、入出力ハブ（ＩＯＨ）１８０に連結される。ＩＯＨ１８０は、ＤＰシステム１００内に実装される入出力（Ｉ／Ｏ）デバイスとプロセッサ１１０および１５０との間を接続する。加えて、プロセッサ１１０および１５０は互いに、ポイントツーポイントリンク１３５を介して連結される。本発明の１実施形態においては、これらポイントツーポイントリンク１３０、１３５、１７０は、カリフォルニア州サンタクララのＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎが開発した「Ｑｕｉｃｋｐａｔｈ」仕様に則って動作してよい。しかし、請求されている事項は、Ｑｕｉｃｋｐａｔｈリンクに限定されるものではなく、任意の種類のリンクまたは相互接続を利用することができる。当業者であれば、特定の設計要件に応じてカスタマイズされた任意のリンクまたは相互接続方式の利用を思いつくであろう。例えば、周辺コンポーネント相互接続（ＰＣＩ、ＰＣＩｅ等）、フロントサイドバス（ＦＳＢ）等であるがそれらに限られない任意のコヒーレントな、またはコヒーレントではないリンクを利用することができる。
【００２５】
図２は、本発明の１実施形態によるマルチプロセッサ（ＭＰ）システムの例示的ブロック図である。同様に、ＭＰシステムは、デスクトップまたは携帯型コンピュータ、サーバ、セットトップボックス、情報形態端末（ＰＤＡ）、英数字ページャ、セルラー式電話機、または任意の他の種類の有線または無線の通信デバイスであってよい。
【００２６】
ここで、本発明の１実施形態においては、ＭＰシステムは複数のプロセッサ２１０Ａ−２１０Ｄを有する。プロセッサ２１０Ａ‐２１０Ｄ等の１以上のプロセッサは、メモリコントローラ（ＭＣ）２２０Ａ−２２０Ｄを含んでよい。これらメモリコントローラ２２０Ａ−２２０Ｄは、それぞれリンク２４０Ａ−２４０Ｄを介して、対応するメモリ２３０Ａ−２３０Ｄとの直接通信を可能とする。特に、図２に示すように、プロセッサ２１０Ａはリンク２４０Ａを介してメモリ２３０Ａに連結され、プロセッサ２１０Ｂ−２１０Ｄはリンク２４０Ｂ−２４０Ｄを介して対応するメモリ２３０Ｂ−２３０Ｄに連結される。
【００２７】
加えて、プロセッサ２１０Ａは、ｐＴｐ（ポイントツーポイント）リンク２５０、２５２、および２５４を介して、他のプロセッサ２１０Ｂ−２１０Ｄの各々に連結される。同様に、プロセッサ２１０Ｂは、ｐＴｐリンク２５０、２５６、および２５８を介して、プロセッサ２１０Ａ、２１０Ｃ、および２１０Ｄに連結される。プロセッサ２１０Ｃは、ｐＴｐリンク２５２、２５６、および２６０を介して、プロセッサ２１０Ａ、２１０Ｂ、および２１０Ｄに連結される。プロセッサ２１０Ｄは、ｐＴｐリンク２５４、２５８、および２６０を介して、プロセッサ２１０Ａ、２１０Ｂ、および２１０Ｃに連結される。プロセッサ２１０Ａおよび２１０Ｂは、ｐＴｐ相互接続２７０および２７２を介して、第１入出力ハブ（ＩＯＨ）２８０に連結され、プロセッサ２１０Ｃおよび２１０Ｄは、ポイントツーポイント相互接続２７４および２７６を介して、第２ＩＯＨ２８５に連結される。
【００２８】
図１および２に示したシステム１００および２００両方について、選択されるシステムアーキテクチャに応じて、プロセッサはホームエージェント、キャッシュエージェント、または両方として動作してよい。
【００２９】
図３は、本発明の１実施形態による図１−２のシステムの送信先デバイスおよび送信元デバイスのアーキテクチャの例示的実施形態である。例示目的から、図２のプロセッサ２１０Ｄ（または図１のプロセッサ１５０）を、送信先デバイス３００（例えばホームエージェント）として構成する。図２のプロセッサ２１０Ａ−２１０Ｃ（または図１のプロセッサ１１０）は、送信元デバイス３１０Ａ−３１０Ｃ（例えばキャッシュエージェント）として構成されてもよい。ＩＯＨ２８０または２８５（または図１のＩＯＨ１８０）は、ライトキャッシュ３２０を実装するＩ／Ｏデバイス３１０Ｄとして構成されてよく、キャッシュエージェントとしても動作する。
【００３０】
以下に示すように、各送信元デバイス３１０Ａ、…、または３１０Ｄが、送信先デバイス３００に維持されるトラッカと関連付けられ、所定の数のトラッカエントリを有する。トラッカエントリの数は、ＰＴＰファブリック３１５の帯域幅を飽和する任意の送信元デバイス３１０Ａ、…、または３１０Ｄが送信しうる数の要求のサイズに制限され、これにより、送信先デバイス３００と複数の送信元デバイス（例えば、送信元デバイス３１０Ａ−３１０Ｄ）との間のポイントツーポイント通信がサポートされる。
【００３１】
図３に示すように、本発明の本実施形態によると、送信先デバイス３００は、ホームロジック３２５と複数のトラッカ３３０Ａ…３３０Ｂとを含むホームエージェントである。トラッカと組み合わせられると、ホームロジック３２５はスケジューラとして動作して、図２のメモリ２３０Ａから入力される情報およびＰＴＰファブリック３１５へ出力される情報のデータ転送を支援する。さらに、ホームロジック３２５は、これらデータ転送間のコンフリクトを解消するよう動作する。
【００３２】
ここで、本発明の本実施形態においては、４つの（４）キャッシュエージェント３１０Ａ−３１０Ｄがシステム１００／２００内に実装されるので、４つの（Ｍ＝４）トラッカが、「ＨＴ−０」３３０Ａ、「ＨＴ−１」３３０Ｂ、「ＨＴ−２」３３０Ｃ、「ＨＴ−３」３３０Ｄ、として示され、表示される。これらトラッカ３３０Ａ−３３０ＤはそれぞれＮ０、Ｎ１、Ｎ２、およびＮ３トラッカエントリを含み、Ｎｉ＞１（ｉ＝１、２、３、または４）である。エントリの数（Ｎ０−Ｎ３）は、トラッカ毎に異なる。トラッカ３３０Ａ−３３０の各エントリには、データバッファ３４０Ａ−３４０Ｄが表す対応するデータバッファが関連付けられる。データバッファ３４０Ａ−３４０Ｄは、メモリコントローラ２２０Ａから戻るデータの一次記憶を提供し、これらデータは最終的にはＰＴＰファブリック３１５上にスケジュールされて、対象となる送信先への送信に備えられる。トラッカ３３０Ａ−３３０Ｄのエントリの立ち上げおよび停止は、以下で説明するようにホームロジック３２５により制御される。
【００３３】
キャッシュエージェント３１０Ａ、３１０Ｂ、および３１０Ｃは、誤りアドレスキュー３５０Ａ、３５０Ｂ、および３５０Ｃをそれぞれ含む。例えば、キャッシュエージェント３１０Ａに関しては、誤りアドレスキュー３５０Ａは、３３０Ａでトラックされるホームエージェント３００が取り扱う誤り処理の全てを記憶するよう構成される。
【００３４】
加えて、本発明の実施形態によると、キャッシュエージェント３１０Ａ、３１０Ｂ、および３１０Ｃはさらに、クレジットカウンタ３６０Ａ、３６０Ｂ、および３６０Ｃをそれぞれ含む。各クレジットカウンタ３６０Ａ、３６０Ｂ、および３６０Ｃは、トラッカ３３０Ａ、３３０Ｂ、および３３０Ｃの未利用トラッカエントリの数を表すカウント値を維持する。例えば、新たな処理がキャッシュエージェント３１０Ａからホームエージェント３００に発行された場合、クレジットカウンタ３６０Ａは低減される。処理が完了すると、クレジットカウンタ３６０Ａは増分される。リセット時間で、クレジットカウンタ３６０Ａは、トラッカ３３０Ａに関連付けられたトラッカエントリ（Ｎ０）の数に等しいプールサイズに初期化される。同じ構成をクレジットカウンタ３６０Ｂ−３６０Ｃに対しても適応可能である。
【００３５】
さらに図３は、メモリから情報を読み出し、情報をＩ／Ｏインタフェースに書き込むＩ／Ｏエージェントとして動作するキャッシュエージェント３１０Ｄの１例を示す。または、キャッシュエージェント３１０ＤはＩ／Ｏエージェント読み出しリターンをメインメモリへの書き込みとしてストリームしてよい。キャッシュエージェント３１０Ｄは、Ｉ／Ｏ動作に関連付けられたデータを記憶する間、高帯域幅を維持するのに利用される書き込みキャッシュ３２０を実装する。
【００３６】
図４は、本発明の１実施形態によるシステムのブロック図である。本実施形態では、ＣＰＵ４０２は、ポイントツーポイント相互接続リンクを介してＭＣＨ４０４にパケット形式の要求を送る。この方向において、パケットはプロセッサから外向きである。これに応じて、ＭＣＨはメモリその他の集積デバイスからのデータまたは情報を、内向きにポイントツーポイント相互接続を介して送る。１実施形態においては、メモリはＤＲＡＭ（ダイナミックＲＡＭ）である。さらに、ＭＣＨは、集積グラフィック（ＩＧＦＸ）、およびＰＣＩｅ相互接続からのデータ等の他の情報を受信する。１実施形態においては、ＣＰＵとＭＣＨとの間のポイントツーポイント相互接続は、パケットの形成を促すリンク層を含む多層プロトコルを含むＱｕｉｃｋｐａｔｈまたはＣＳＩリンクである。
【００３７】
図５は、本発明の１実施形態による装置である。
【００３８】
本実施形態においては、装置はＭＣＨである。別の実施形態においては、本図に示すロジックブロックはＣＰＵ内でも利用できるので、ＣＰＵはＩＯＨまたはメモリと直接通信できＭＣＨを含まなくてよい。
【００３９】
上述のように、ＣＰＵ４０２はメッセージプロトコルによりＭＣＨ４０４に対して要求を発行する。１実施形態においては、メッセージプロトコルは、送信された全ての要求処理に対して、間隔をおいて要求パケットが送信されるような要求応答プロトコルである。要求および応答の間の間隔は、計算が必要な要求および応答の種類に応じて変わる。例えば、読み出し要求がＭＣＨに送られた後で、読み出しデータパケットが、データがＤＲＡＭから読み出された後で、応答として送られ、アドレスおよびＤＲＡＭページ表状態に応じた可変時間量をとることができる。別の例は、全てのコヒーレンシチェックの完了の後に完了応答が送られるＤＲＡＭに対する書き込み要求である。
【００４０】
本実施形態では、ＣＰＵからのパケットは、リンクバッファ４１０への外向きリンク上で受信される。続いてこれらはデコードされ、ＣＰＵ要求トラッカ４１２に割り当てられる。その後要求はメモリコントローラ４３２に送られ、そこで、データを読み出すべくＤＲＡＭ４０６を参照し、書き込み用データをＤＲＡＭ４０６に書き込む。ＤＲＡＭからの読み出しリターンデータはＤＲＡＭバッファ４１６に向かい、そこで、内向きリンクを利用する他のパケットとともに調停される。他のパケットは、ＩＯスヌープ要求および書き込み完了等であってよい。ＩＯ要求はＩＯ要求トラッカ４１４に割り当てられる。内向きリンクは電力制御ロジック４２０により制御され、システム内の処理および状態に基づいてＬ０およびＬ０ｓへとリンクを遷移させる。
【００４１】
上述のように、スリープリンクはオンデマンドで立ち上がることから性能は悪影響を受ける。その結果、リンクを立ち上げるメッセージは、データがＤＲＡＭから戻り始めると、または、内向きリンク上への送信用に書き込み完了パケットが調停されると、読み出し処理用にフルＬ０ｓ退出レイテンシを受ける。リンクを立ち上げる際のレイテンシは、リンクを低電力状態から高電力状態にする電気遅延による。これに対して、請求されている事項は、要求がＭＣＨで発見されてからの応答計算遅延を利用する。一側面においては、請求されている事項は、内向きリンクへの早期警告（ＥＷ）信号の生成を促す。故に、Ｌ０ｓからＬ０への遷移開始により、応答メッセージから見た遅延は低減される。早期警告信号の生成については、図６を参照しながら説明する。別の実施形態においては、図６を参照しながら便宜主義的な電源停止が説明される。さらに別の実施形態においては、請求されている事項は、早期警告信号と便宜主義的な電源停止とを併用して、電力および性能間のトレードオフをさらに向上させている。
【００４２】
図６は、本発明の１実施形態によるタイミング図である。上のタイミング図は先行技術を表す。これに対して、１実施形態の下の波形は、リンクの電力状態のＬ０状態への遷移を開始させる早期警告（ＥＷ）信号を発行するタイミングを示す。
【００４３】
先行技術の波形は、Ａ点においてメモリコントローラハブが要求を受信することを示す。Ｂ点においては、応答を内向きリンク上に送る準備ができており、現在のところＬ０ｓの電力状態にあることを示す。リンクは、Ｌ０への遷移を開始して、応答送信をＣ点まで遅延させる。
【００４４】
これに対して、下の波形が表す請求されている事項では、ＥＷ信号は要求がＥ点に達したときに送られる。この信号は、内向きリンクを早期にＬ０へ遷移開始させて、準備ができたら応答を直ぐにＧ点に送るようにする。こうしてリンク立ち上げレイテンシと、リンク立ち上げ処理についての応答計算とを重複させることで、その処理に関する応答送信レイテンシを低減することができる。
【００４５】
別の実施形態では、アイドルタイムアウト値を少なくとも部分的にＥＷと応答準備との差異を比較することに基づいて設定する。例えば、ＥＷ信号と応答準備との間の時間がＬ０ｓからＬ０への遷移時間より常に大きい場合、提案方法では、リンク立ち上げ上のＬ０ｓの全ての性能上の問題が取り除かれる。故に、アイドルタイムアウトを非常にアグレッシブに設定することができるようになり、性能に殆ど影響を与えず内向きリンクを殆どの時間の間Ｌ０ｓに留めることができるようになる。
【００４６】
また別の実施形態においては、ＥＷ信号と応答準備との間の間隔がＬ０ｓからＬ０への遷移時間よりもずっと大きい場合、Ｌ０ｓからＬ０への内向きリンクの電力状態遷移は遅延される。例えば、１実施形態において、Ｌ０ｓ退出時間は、３０ｎｓまでのオーダであり、ページ誤り処理については、応答時間要求は５０ｎｓまででありうる。故に、応答時間はＬ０ｓ退出時間よりも、幾らかのｎｓを超える量（例えば５ｎｓであるがそれに限られない）分、大きい。この場合、ＥＷ信号が到達した後も少しの間、リンク状態遷移開始を遅延することができる。これにより、リンクを可能な限り低電力状態に維持することができ、これにより節電でき、さらには応答最適化性能へのレイテンシを最小限に抑えることができる。上図では、これは、Ｅ点でＥＷを受信することと、Ｆ点で遷移開始することとの間の遅延として表されており、リンクは、応答送信にちょうど間に合うよう遷移を完了する。しかし、請求されている事項は先の値に限定されない。例えば、ページ誤り処理時間は、メモリおよびメモリアーキテクチャの種類によって決定されてもよい。
【００４７】
上述のように、リンクは、Ｌ０ｓ状態に戻るまでに幾らかの時間アイドル状態である必要がある（アイドルタイムアウト）。また別の実施形態においては、現在の送信の後さらなる要求がその間到達しなかった場合、内向きのリンクをＬ０ｓ状態にまで便宜主義的に戻すことができる。例えば、内向きリンクがＬ０ｓ電力状態にあり、要求がＥ点で受信されると、最初の要求が到達したことを示すフラグを設定する。しかし、後続する応答によりこのフラグはクリアにされる。フラグがＧ点でもまだ設定されているということは、後続する要求がなかったことを意味する。この結果、送信する応答がないことになる。故にリンクは直ぐにＬ０ｓ状態に遷移することができる。これに対して、フラグがクリアされている場合には、現在の応答の後に応答がすぐ来ることを示す。故に、通常のアイドルタイムアウトを待ってから内向きのリンクをＬ０ｓ状態まで戻す必要がある。これにより、単発的な単一の要求がリンクを立ち上げた場合、リンクを低電力状態に遷移させリンクのスリープ時間を最大化させる助けとなり、このようにしない場合には、Ｌ０ｓ状態に再度遷移させるまでに、リンクのアイドル状態を感知する前のリンクアイドルタイムアウト期間の間Ｌ０電力状態に留まらざるを得なくなる。
【００４８】
さらに、請求されている事項はソフトウェアに実装されてもよい。例えばソフトウェアは、電子的にアクセス可能な媒体に格納されてよく、電子的にアクセス可能な媒体には、電子デバイス（例えばコンピュータ、情報携帯端末、セルラー式電話機）が読み取り可能な形式のコンテンツ（例えばコンピュータ実行可能な命令）を提供する（つまり、格納する、および／または送信する）任意の機構が含まれる。例えば、機械アクセス可能な媒体は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス、電気、光学、音声または他の形式の伝播信号（例えば搬送波、赤外線信号、デジタル信号）を含む。
【００４９】
本発明を、発明の幾らかの実施形態の形で記載してきたが、当業者であれば、本発明が記載された実施形態に限定されず、添付図面の精神および範囲内の変形および変更を加えて実施することができることを理解する。故に記載は限定的にではなく例示的に捉えられるべきである。
【図１】
2010049674.tif 000003
【図２】
2010049674.tif 000004
【図３】
2010049674.tif 000005
【図４】
2010049674.tif 000006
【図５】
2010049674.tif 000007
【図６】
2010049674.tif 000008
【外国語明細書】
2010049674.tif 000009
2010049674.tif 000010
2010049674.tif 000011
2010049674.tif 000012
2010049674.tif 000013
2010049674.tif 000014
2010049674.tif 000015
2010049674.tif 000016
2010049674.tif 000017
2010049674.tif 000018
2010049674.tif 000019
2010049674.tif 000020
2010049674.tif 000021
2010049674.tif 000022
2010049674.tif 000023
2010049674.tif 000024
2010049674.tif 000025
2010049674.tif 000026
2010049674.tif 000027
2010049674.tif 000028