(57)【特許請求の範囲】
【請求項１】
動的レーン管理システム（１０）であって、
コンピュータシステム（１２）の少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）と、
前記コンピュータシステムの少なくとも１つの上流側デバイス（２２）と、
前記下流側デバイスと前記上流側デバイスとを接続するためのレーン（１４）を備えるバスと
を備え、
前記少なくとも１つの下流側デバイスそれぞれは、前記コンピュータシステムに関連付けられた少なくとも１つの電力関係イベントの検出に応答して、前記レーンを介して接続された前記少なくとも１つの上流側デバイス（２２）とのレーン幅再交渉オペレーションを動的に開始するためのロジック（４０）を備え、
前記少なくとも１つの上流側デバイスそれぞれは、前記レーンを介して接続された前記少なくとも１つの下流側デバイスとのレーン幅再交渉オペレーションを動的に開始するためのロジック（４０）を備える
動的レーン管理システム。
【請求項２】
前記少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）は、
前記少なくとも１つの上流側デバイス（２２）に信号を送信することにより、前記レーン（１４）幅再交渉オペレーションを開始するように構成される
請求項１に記載の動的レーン管理システム。
【請求項３】
前記少なくとも１つの電力関係イベントには、交流（ＡＣ）電力モードから直流（ＤＣ）電力モードへの変化が含まれる
請求項１に記載の動的レーン管理システム。
【請求項４】
所望のバッテリー時間を特定する、前記コンピュータシステムへのユーザ入力の検出に応答して、前記コンピュータの前記少なくとも１つの上流側デバイスとの前記レーン幅再交渉オペレーションが開始される
請求項１に記載の動的レーン管理システム。
【請求項５】
前記少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）は、前記レーン（１４）幅再交渉オペレーションを開始する前に、保留中のトランザクションを完了するように構成される
請求項１に記載の動的レーン管理システム。
【請求項６】
前記少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）は、前記レーン（１４）幅再交渉オペレーションを開始する前に、前記少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）の状態を保存するように構成される
請求項１に記載の動的レーン管理システム。
【請求項７】
レーン（１４）を介して接続された少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）および少なくとも１つの上流側デバイス（２２）を備えるコンピュータシステム（１２）に関連付けられた少なくとも１つの電力関係イベントを検出することと、
前記少なくとも１つの電力関係イベントを検出することに応答して、少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）それぞれが、前記コンピュータシステムに関連付けられた少なくとも１つの電力関係イベントの検出に応答して、前記レーンを介して接続された前記少なくとも１つの上流側デバイス（２２）とのレーン幅再交渉オペレーションを動的に開始することと、
前記少なくとも１つの上流側デバイス（２２）それぞれが、前記レーンを介して接続された前記少なくとも１つの下流側デバイスとのレーン幅再交渉オペレーションを動的に開始することと
を含む動的レーン管理方法。
【請求項８】
前記下流側デバイスから前記上流側デバイスへ信号を送信することにより（３１４）、前記レーン（１４）幅再交渉オペレーションが開始される
請求項７に記載の動的レーン管理方法。
【請求項９】
前記少なくとも１つの下流側デバイス（２０、２４、２６、３０、３２）の処理レベルの変化を検出することに応答して、前記レーン（１４）幅再交渉オペレーションを開始すること
をさらに含む請求項７に記載の動的レーン管理方法。
【請求項１０】
前記コンピュータシステム（１２）の温度が所定のしきい値を超えることを検出することに応答して、前記レーン（１４）幅再交渉オペレーションを開始すること
をさらに含む請求項７に記載の動的レーン管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的レーン管理システム及びその方法に関する。
【背景技術】
【０００２】
ポータブルラップトップコンピュータ又はノートブックコンピュータ、ハンドヘルドコンピューティングデバイス、デスクトップコンピュータ等のますます多くのコンピュータデバイスが、高帯域幅及び低待ち時間を活用するために周辺機器相互接続（ＰＣＩ）エクスプレス高速シリアル入出力（Ｉ／Ｏ）バスを利用している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ＰＣＩエクスプレスアーキテクチャ自体が、電力を消費する。したがって、ＰＣＩエクスプレスアーキテクチャの追加電力消費が、（たとえば、ポータブルコンピューティングデバイスの）バッテリーの寿命に悪影響を与える可能性があり、熱エネルギー消散システムに対する負荷を増加させる可能性があり、且つ／又は、他のシステム及び／若しくはアプリケーションに利用可能な電力量を減じる可能性がある。
【課題を解決するための手段】
【０００４】
本発明に係る動的管理レーンシステム（１０）は、コンピュータシステム（１２）に関連付けられた少なくとも１つの電力関係イベントの検出に応答して、前記コンピュータシステム（１２）の少なくとも１つの上流側デバイス（２０、２２、２４、２６、３０、３２）とのレーン（１４）幅再交渉オペレーションを動的に開始するように構成される前記コンピュータシステム（１２）の少なくとも１つの下流側デバイス（２０、２２、２４、２６、３０、３２）を備える。
【０００５】
本発明及びその利点のより完全な理解を得るために、次に、添付図面と共に取り入れられた以下の説明を参照する。
【発明を実施するための最良の形態】
【０００６】
本発明の好ましい実施の形態及びその利点は、図面の図１〜図５を参照することによって最も良く理解される。同じ数字は、さまざまな図面の同じ部分及び対応する部分に使用されている。
【０００７】
図１は、本発明による動的レーン管理システム１０の一実施の形態を示す図である。図１に示す実施の形態では、システム１０は、周辺機器相互接続（ＰＣＩ）エクスプレスバス及び／又はレーン１４を利用するように構成されるコンピュータシステム１２で実施される。図１に示す実施の形態では、コンピュータシステム１２は、ＰＣＩエクスプレスバス１４１によってホストブリッジ２２に通信接続されるプロセッサ２０、ＰＣＩエクスプレスバス１４２によってホストブリッジ２２に通信接続されるメモリ２４、及びＰＣＩエクスプレスバス１４３によってホストブリッジ２２に通信接続される入出力（Ｉ／Ｏ）ブリッジ２６を備える。図１に示す実施の形態では、デバイス３０は、ＰＣＩエクスプレスバス１４によってホストブリッジ２２及び／又はＩ／Ｏブリッジ２６にそれぞれ通信接続されている。たとえば、図１に示す実施の形態では、デバイス３０１、３０２、及び３０３は、各ＰＣＩエクスプレスバス１４４、１４５、及び１４６によってホストブリッジ２２に通信接続されている。デバイス３０４及び３０５は、各ＰＣＩバス１４７及び１４８によってＩ／Ｏブリッジ２６に通信接続されている。さらに、デバイス３０６、３０７、及び３０８は、ＰＣＩエクスプレスバス１４９並びに各ＰＣＩエクスプレスバスブランチ１４１０、１４１１、及び１４１２によってスイッチ３２に通信接続されており、スイッチ３２は、ＰＣＩエクスプレスバス１４１３を介してＩ／Ｏブリッジ２６に通信接続されている。デバイス３０には、あらゆるタイプのデバイスが含まれ得る。このあらゆるタイプのデバイスは、ハードディスクドライブ（ＨＤＤ）、グラフィックスモジュール若しくはサブシステム、ローカル入出力インターフェース（複数可）、イーサネット（登録商標）インターフェース、ドッキングステーション、他のあらゆるタイプの周辺デバイス若しくは周辺コンポーネント及び／又は非周辺デバイス若しくは非周辺コンポーネント等であるが、これらに限定されるものではない。また、システム１０のアーキテクチャ及び／又は資源の機能は、別の方法で構成できることが理解されるはずである（たとえば、ホストブリッジ２２は、プロセッサ２０の一部として形成することができ、且つ／又は、別の方法でプロセッサ２０に組み込むことができ、メモリ２４は、プロセッサ２０の一部として形成することができ、且つ／又は、別の方法でプロセッサ２０に組み込むことができる等である）。
【０００８】
図１に示す実施の形態では、メモリ２４は、オペレーティングシステム３６及び制御モジュール３８を備える。オペレーティングシステム３６及び／又は制御モジュール３８は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアを組み合わせたものを含んでもよい。図１に示す実施の形態では、オペレーティングシステム３６及び制御モジュール３８は、プロセッサ２０によりアクセス可能で、且つ、実行可能とするために、メモリ２４に記憶されるものとして示されている。しかしながら、オペレーティングシステム３６及び／又は制御モジュール３８は、別の方法で記憶することもできることが理解されるはずである。
【０００９】
図１に示す実施の形態では、デバイス３０１はロジック４０を備える。このロジック４０は、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアを組み合わせたものを含むことができる。説明図を簡単にするために、ロジック４０は、デバイス３０１に関してのみ図示されている。しかしながら、追加されたデバイス３０、メモリ２４、スイッチ３２、Ｉ／Ｏブリッジ２６、及び／若しくはホストブリッジ２２、並びに／又は、すべてのデバイス３０、メモリ２４、スイッチ３２、Ｉ／Ｏブリッジ２６、及び／若しくはホストブリッジ２２を、本発明によるロジック４０を有するように構成できることが理解されるはずである。動作中、制御モジュール３８及び／又はロジック４０は、２つのデバイス（たとえば、上流側デバイスと下流側デバイス）の間のＰＣＩエクスプレスバスレーン幅を動的に制御、管理、及び／又は別の方法で調整するのに使用される。ＰＣＩエクスプレスアーキテクチャでは、２つのデバイス間の各リンク及び／又は各レーンは、「上流側」対向ポート及び「下流側」対向ポートを備えることが理解されるはずである。さらに、本明細書で使用されるように、「上流側」デバイス又は「下流側」デバイスには、デバイス３０、スイッチ３２、Ｉ／Ｏブリッジ２６、ホストブリッジ２２、プロセッサ２０、又はメモリ２４のいずれも含まれ得ることが理解されるはずである。
【００１０】
本発明の実施の形態は、コンピュータシステム１２に関連付けられた少なくとも１つの電力関係イベントに応答して、上流側デバイスと下流側デバイスとの間のレーン幅（すなわち、レーン数）を動的に制御、管理、及び／又は別の方法で変更する。たとえば、本発明のいくつかの実施の形態では、（たとえば、高性能アプリケーション又は高性能モジュールのオペレーション、冷却孔の閉鎖、ファンの動作不良等の結果として）コンピュータシステム１２の温度の増加を検出することに応答して、１つ又は２つ以上のＰＣＩエクスプレスバスのレーン幅が削減され、コンピュータシステム１２による温度エネルギーの生成が削減される。本発明の他の実施の形態では、コンピュータシステム１２に対する電力供給モードの変化を検出することに応答して、１つ又は２つ以上の上流側デバイスと下流側デバイスとの間のレーン幅が動的に削減される。たとえば、バッテリー寿命及び／又は電力を保存するために、交流（ＡＣ）電力から直流（ＤＣ）電力への変化を検出することに応答して、１つ又は２つ以上の上流側デバイスと下流側デバイスとの間のレーン幅が、所定のレベル又は所望のレベルに動的に削減され、それによって、このようなＰＣＩエクスプレスバスに関連付けられた電力消費が削減される。本発明のさらに別の実施の形態では、システム１２の特定のデバイス（たとえば、処理タスクを待ち受けている所定の時間の間、アイドル状態にあるデバイス）の処理レベルの減少を検出することに応答して、対象となる下流側デバイスと上流側デバイスとの間のレーン幅が、所定のレベル又は所望のレベルに動的に削減され、それによって、対象となるデバイスに接続されるＰＣＩエクスプレスバスに関連付けられた電力が削減される。１つ又は２つ以上のＰＣＩエクスプレスバスのレーン幅は、少なくとも１つの電力関係イベントの変化を検出することに応答して動的に増加させることもできることが理解されるはずである。たとえば、ＤＣ電力供給モードからＡＣ電力供給モードへの変化の検出、動作温度の低減の検出、処理レベルの増加の検出等に応答して動的に増加させることができる。その上、本発明のいくつかの実施の形態では、動的なＰＣＩエクスプレスバスレーン幅の管理は、ユーザ入力にも応答して行われる。
【００１１】
本発明の一実施の形態では、制御モジュール３８は、コンピュータシステム１２に適用される電力供給状態及び／又は電力供給モード（たとえば、ＡＣ電力又はバッテリー電力）を監視するように構成されている。コンピュータシステム１２に対する電力供給モードの変化を検出することに応答して、制御モジュール３８は、オペレーティングシステム３６が、１つ又は２つ以上の下流側デバイスに電力供給モード変更イベントを通知するようにオペレーティングシステム３６と通信する。本発明のいくつかの実施の形態では、制御モジュール３８及び／又はオペレーティングシステム３６は、電力関係イベントの通知を受信するための特定のデバイスを登録し、登録したデバイスに関連付けられた対応するＰＣＩエクスプレスバスレーン幅を動的に調整する。たとえば、本発明のいくつかの実施の形態では、一般に大量の電力を消費する特定のデバイス（たとえば、多量のグラフィックスを必要とするアプリケーション）、及び／又は、電力消費モードを変更するように抑圧（throttle）でき、且つ／若しくは、別の方法で調整できるデバイスが、登録されて、電力関係イベントの通知を受信する。この登録は、デフォルトのデバイスリスト又は所定のデバイスリストのいずれかとして行われ、且つ／又は、このようなデバイスのユーザ指定に応答して行われる。
【００１２】
本発明の一実施の形態では、制御モジュール３８及び／又はオペレーティングシステム３６は、電力関係イベントの検出の信号を登録されたデバイス（たとえば、デバイス３０１）へ送信し、且つ／又は、登録されたデバイス（たとえば、デバイス３０１）に電力関係イベントの検出を別の方法で通知する。電力関係イベントの通知に応答して、ロジック４０は、通知を受けたデバイスと上流側デバイスとの間（たとえば、デバイス３０１とホストブリッジ２２との間）のＰＣＩエクスプレスバスレーン幅を動的に変更する。本発明のいくつかの実施の形態では、ロジック４０は、電力関係イベントの通知を受信することに応答して、レーン幅再交渉オペレーションを実行するように構成されている。たとえば、デバイス３０１が電力関係イベントの通知を受信したことに応答して、ロジック４０は、ホストブリッジ２２とのＰＣＩエクスプレスバスレーン幅再交渉オペレーションを開始して、ホストブリッジ２２とデバイス３０１との間のレーン幅を増加又は減少させる。たとえば、コンピュータシステム１２に対する電力供給モードのあらゆる変化を検出することに応答して、ロジック４０は、レーン幅再交渉オペレーションを開始し、デバイス３０１とホストブリッジ２２との間のＰＣＩバスエクスプレスレーン幅を削減又は増加させるように構成される。このため、ＡＣ電力からＤＣ電力への変化を検出することに応答して、１つ又は２つ以上の上流側デバイスと下流側デバイスとの間のレーン幅が、所定のレベル又は所望のレベルに動的に削減され、ＤＣ電力からＡＣ電力への変化を検出することに応答して、１つ又は２つ以上の上流側デバイスと下流側デバイスとの間のレーン幅が、所定のレベル又は所望のレベルに動的に増加される。
【００１３】
動作中、たとえば、ホストブリッジ２２（上流側デバイス）とデバイス３０１（下流側デバイス）との間のＰＣＩエクスプレスバス１４４について、ロジック４０は、デバイス３０１のキューにおけるあらゆる保留中のトランザクション又はイベントを最初に完了することによって、ホストブリッジ２２とのレーン幅再交渉オペレーションを開始する。デバイス３０１のあらゆる保留中のトランザクションを完了することに応答して、ロジック４０は、デバイス３０１のあらゆるレジスタ及びデバイス３０１の状態を保存させて、デバイス３０１がレーン幅再交渉オペレーションの完了時にオペレーションを再開できるようにする。デバイス３０１がデバイス３０１のレジスタ及び状態を保存することに応答して、デバイス３０１は、上流側デバイスであるホストブリッジ２２とのレーン幅再交渉を開始するための信号をホストブリッジ２２へ送信する。本発明のいくつかの実施の形態では、デバイス３０１がホストブリッジ２２へ送信した信号には、ホットリセット信号が含まれ、これによって、同じＰＣＩエクスプレスバスブランチ上に存在するすべてのデバイスについてレーン幅再交渉が引き起こされる。本発明の他の実施の形態では、デバイス３０１は、デバイス３０１とホストブリッジ２２との間のＰＣＩエクスプレスバスレーンについてのみレーン幅を再交渉する再操作リンク信号（retrain link signal）を送信する。動作中、ロジック４０は、レーン幅再交渉オペレーション中に、電力関係イベントに応じて削減されたレーン幅及び／又は増加されたレーン幅（たとえば、省電力を行うために削減されたレーン幅）を使用して動作し、且つ／又は、別の方法でホストブリッジ２２と通信する。
【００１４】
本発明のいくつかの実施の形態では、削減されたレーン幅には、電力関係イベントのタイプに基づいた所定のレーン幅が含まれる。たとえば、本発明のいくつかの実施の形態では、最大バッテリー省電力のためにレーン幅を１個のレーンに削減することができる。本発明の他の実施の形態では、最大レーン幅と最小レーン幅との間のレーン幅、及び／又は、ユーザによって要求され且つ／若しくは別の方法で所望されたレーン幅に、レーン幅を削減することができる。たとえば、本発明のいくつかの実施の形態では、ユーザは、所望の省電力モードが所定のレーン幅（たとえば、所定のレーン幅に相関したバッテリーの所望の時間）に対応するような所望のレーン幅及び／又は所望の省電力レベルのいずれかをコンピュータシステム１２に入力し、且つ／又は、別の方法で示すことができる。したがって、たとえば、ユーザが、最大省電力を所望する場合、レーン幅を１個のレーンに削減することができる。一方、たとえば、５０パーセントの省電力モードの場合、レーン幅を１６個のレーンから８個のレーンに削減することができる。
【００１５】
動作中、ロジック４０は、所定の量のＰＣＩエクスプレスバスレーンを使用して、ホストブリッジ２２とレーン幅再交渉オペレーションを実行する。たとえば、ロジック４０は、最大省電力を達成するための１個のＰＣＩエクスプレスバスレーンを使用して、レーン幅再交渉オペレーションを実行するように構成されており、それによって、バッテリーの寿命が保存され、且つ／又は、別の方法で延長される。したがって、たとえば、最大省電力を得るために、デバイス３０１とホストブリッジ２２との間のレーン幅再交渉オペレーション中、デバイス３０１は、１個のレーンを使用して、ＰＣＩエクスプレスバス１４４のレーン幅を再交渉する。動的なレーン幅再交渉は、ＰＣＩエクスプレスバス１４のいずれに対しても実行することができ、上流側デバイス又は下流側デバイスのいずれによっても開始できることが理解されるはずである。
【００１６】
図２は、本発明による動的レーン管理の一実施の形態を使用するシステム１２の１個のＰＣＩエクスプレスレーンバス１４を表す回路図である。図２に示す実施の形態では、上流側デバイスと下流側デバイスとの間のレーン幅再交渉オペレーションを動的に管理するためのハードウェアベースのインプリメンテーションが示されている。たとえば、図２に示す実施の形態では、回路５０は、下流側デバイス（たとえば、デバイス３０１）に関連付けられたドライバ５２、及び、上流側デバイス（たとえば、ホストブリッジ２２）に関連付けられたドライバ５４を備える。図２に示す実施の形態では、回路５０は、レーン１４の各データフローパス（たとえば、上流側データフローレーン及び下流側データフローレーン）に接続されるスイッチ５８を備える。動作中、ロジック４０、制御モジュール３８、及び／又はオペレーティングシステム３６によって発行された制御信号は、レーン幅再交渉オペレーション中に、図２のＰＣＩエクスプレスレーンバス１４が利用可能又は利用不能のいずれかになるように、スイッチ５８を作動させてレーン１４をそれぞれ接続又は切断するのに使用される。このように、スイッチ５８が、図２のＰＣＩエクスプレスレーンバス１４を切断すると、削減されたレーン幅が、レーン幅再交渉オペレーション中に使用され、それによって、上流側デバイスと下流側デバイスとの間のレーン幅は削減される。しかしながら、他のソフトウェアベースの方法及び／又はハードウェアベースの方法を、レーン幅再交渉オペレーション中に使用されるレーン幅を増加又は減少させるのに使用できることが理解されるはずである（たとえば、デバイスのデータ受信又は入力バッファを無効にし、それによって、デバイスに、特定のレーンの存在を検出させない）。
【００１７】
図３は、本発明による動的レーン管理方法の一実施の形態を示すフロー図である。この方法は、ブロック３００で開始する。ブロック３００において、制御モジュール３８は、コンピュータシステム１２の電力供給源を決定する。判定ブロック３０２において、コンピュータシステム１２がＡＣ電源によって電力供給を受けているかどうかの判断が行われる。コンピュータシステム１２が、現在ＡＣ電源によって電力供給を受けていない（たとえば、バッテリー源によって電力供給を受けている）場合、この方法はブロック３０８に進む。コンピュータシステム１２が、現在ＡＣ電源によって電力供給を受けている場合、この方法はブロック３０４に進む。ブロック３０４において、制御モジュール３８は、電力関係イベント（たとえば、ＤＣ電力イベント）についてコンピュータシステム１２を監視する。たとえば、ＤＣ電力イベントには、外部電源コンセント、ＡＣアダプタ、又は他のＡＣ電力源からコンピュータシステム１２を切断したことに起因するＡＣ電源からＤＣ電源への変化が含まれ得る。判定ブロック３０６において、ＤＣ電力イベントが検出されたかどうかの判断が行われる。ＤＣ電力イベントが検出されなかった場合、この方法はブロック３０４に進む。ＤＣ電力イベントが検出された場合、この方法はブロック３０８に進む。
【００１８】
ブロック３０８において、制御モジュール３８は、電力関係イベント変化通知を少なくとも１つの下流側デバイスへ送信する。たとえば、制御モジュール３８は、電力関係イベント通知を、このような通知を受信するように登録されたあらゆるデバイス（たとえば、デバイス３０１）及び／又はすべての利用可能なデバイスへ送信することができる。ブロック３１０において、下流側デバイスは、保留中のトランザクションを完了する。ブロック３１２において、下流側デバイスは、当該下流側デバイスのデバイスレジスタ及び状態を保存する。ブロック３１４において、下流側デバイスは、レーン幅再交渉オペレーションを開始するための信号（たとえば、ホットリセット信号、リンク再操作信号、又は他のタイプのレーン幅再操作信号）を上流側デバイスへ送信する。ブロック３１６において、レーン幅再交渉オペレーションが実行されて、上流側デバイスと下流側デバイスとの間のレーン幅が、所定のレーン幅及び／又は削減されたレーン幅に削減される。図３に示す実施の形態では、レーン幅は、ＡＣ電力からＤＣ電力への変化を検出することに応答して動的に削減される。一方、ＤＣ電力からＡＣ電力への変化を検出することに応答して、制御モジュール３８は、少なくとも１つの下流側デバイスへ電力関係イベント変化通知を送信し、この電力関係イベント変化通知に応答して、下流側デバイスは、保留中のトランザクションを完了し、当該下流側デバイスのデバイスレジスタ及び状態を保存し、そして、レーン幅再交渉オペレーションを開始するための信号（たとえば、ホットリセット信号、リンク再操作信号、又は他のタイプのレーン幅再操作信号）を上流側デバイスへ送信して、上流側デバイスと下流側デバイスとの間のレーン幅を増加させることが理解されるはずである。
【００１９】
図４は、本発明による動的レーン管理方法の別の実施の形態を示すフロー図である。この方法は、ブロック４００で開始する。ブロック４００において、制御モジュール３８は、コンピュータシステム１２の温度状態（たとえば、コンピュータシステム１２による熱エネルギー消散に関連したコンピュータシステム１２の温度状態）を監視する。判定ブロック４０２において、コンピュータシステム１２の温度が所定のしきい値を超えているかどうかの判断が行われる。コンピュータシステム１２の温度が所定のしきい値を超えていない場合、この方法はブロック４０４に進む。ブロック４０４において、制御モジュール３８は、コンピュータシステム１２の温度の監視を継続する。コンピュータシステム１２の温度が所定のしきい値を超えている場合、この方法はブロック４０６に進む。ブロック４０６において、制御モジュール３８及び／又はオペレーティングシステム３６は、少なくとも１つの下流側デバイスへイベント通知信号を送信する。
【００２０】
ブロック４０８において、通知を受けた下流側デバイスは、保留中のトランザクションを完了する。ブロック４１０において、通知を受けた下流側デバイスは、当該下流側デバイスのレジスタ及び状態を保存する。ブロック４１２において、下流側デバイスは、下流側デバイスと上流側デバイスとの間のＰＣＩエクスプレスバスレーン１４の量を変更するために、レーン幅再交渉オペレーションを開始するための信号を上流側デバイスへ送信する。上記で解説したように、下流側デバイスによって送信された信号には、ホットリセット信号、リンク再操作信号、又は下流側デバイスと上流側デバイスとの間のレーン幅再操作を開始するのに使用される他のタイプの信号が含まれ得る。ブロック４１４において、レーン幅再交渉オペレーションが、下流側デバイスと上流側デバイスとの間の所定のレーン幅及び／又は削減されたレーン幅を使用して実行される。図４に示す実施の形態では、レーン幅は、好ましくは、コンピュータシステム１２の温度状態を削減するための所定の量に削減される。一方、コンピュータシステム１２の温度状態の減少を検出することに応答して、制御モジュール３８及び／又はオペレーティングシステム３６は、少なくとも１つの下流側デバイスへイベント通知信号を送信し、この信号に応答して、通知を受けた下流側デバイスは、保留中のトランザクションを完了し、当該下流側デバイスのレジスタ及び状態を保存し、レーン幅再交渉オペレーションを開始するための信号を上流側デバイスへ送信して、下流側デバイスと上流側デバイスとの間のＰＣＩエクスプレスバスレーン１４の量を増加させることが理解されるはずである。
【００２１】
図５は、本発明による動的レーン管理方法のさらに別の実施の形態を示すフロー図である。この方法は、ブロック５００で開始する。ブロック５００において、制御モジュール３８、オペレーティングシステム３６、及び／又はロジック４０は、下流側デバイスに関連した処理レベルを監視する。判定ブロック５０２において、処理レベルが所定のしきい値を下回ったかどうかの判断が行われる。下流側デバイスの処理レベルが所定のしきい値を下回っていない場合、この方法はブロック５０４に進む。ブロック５０４において、下流側デバイスの処理レベルの監視が継続される。下流側デバイスに関連した処理レベルが所定のしきい値を下回っている場合、この方法はブロック５０６に進む。ブロック５０６において、下流側デバイスに関連したレーン幅再交渉オペレーションが開始される（たとえば、保留中のトランザクションを完了し、デバイスのレジスタ及び状態を保存し、そして、上流側デバイスと通信して、削減されたレーン幅に再交渉する）。図５に示す実施の形態では、レーン幅は、処理レベルの減少を検出することに応答して削減される。一方、処理レベルの増加又は要求を検出することに応答して、レーン幅を動的に増加させるように再交渉オペレーションが実行されることが理解されるはずである。
【００２２】
上記のように、本発明の実施の形態は、コンピュータシステム１２に関連付けられたさまざまな異なる電力関係イベントに応答した動的なＰＣＩエクスプレスバスレーン幅再交渉を提供する。たとえば、（たとえば、処理レベルの増加及び／又は他の状況による）温度状態の増大及び／若しくは上昇、電力供給モードの変化、処理レベルの変化、並びに／又は処理要件に応答して、本発明の実施の形態は、ＰＣＩエクスプレスバスレーン幅を自動的に再交渉及び／又は再操作し、イベントに基づいたレーン幅の増加又は減少のいずれかを行う。
【００２３】
説明した方法において、一定の機能を省略することもできるし、図３〜図５に示したものとは異なる順序で行うこともできるし、同時又は結合して実行することもできることが理解されるはずである。また、図３〜図５に示す方法は、本明細書の他の場所で説明したような本発明の他の特徴又は態様のいずれも包含するように変更できることも理解されるはずである。さらに、本発明の実施の形態は、ソフトウェアで実施することもでき、異なるプラットフォーム及びオペレーティングシステム上で実行するように適合させることもできる。特に、制御モジュール３８、オペレーティングシステム３６、及び／又はロジック４０によって実施される機能は、たとえば、実行可能な命令の順序付けられたリストとして提供することができる。これらの実行可能な命令は、命令実行システム、命令実行装置、若しくは命令実行デバイスにより使用されるか、又は、これら命令実行システム等と共に使用されるあらゆるコンピュータ可読媒体で具現化することができる。これら命令実行システム、命令実行装置、又は命令実行デバイスは、コンピュータベースのシステム、プロセッサを含むシステム、又は命令実行システム、命令実行装置、又は命令実行デバイスから命令をフェッチしてそれら命令を実行できる他のシステム等である。この文書において、「コンピュータ可読媒体」は、命令実行システム、命令実行装置、若しくは命令実行デバイスにより使用されるプログラム又はそれら命令実行システム等と共に使用されるプログラムの収容、記憶、通信、伝搬、又はトランスポートを行うことができるあらゆる手段とすることができる。コンピュータ可読媒体は、たとえば、電子的な、磁気的な、光学式の、電磁気的な、赤外線の、又は半導体のシステム、装置、デバイス、又は伝搬媒体とすることができるが、これらに限定されるものではない。
【図面の簡単な説明】
【００２４】
【図１】本発明による動的レーン管理システムの一実施の形態を示すブロック図である。
【図２】本発明による動的レーン管理システムの一実施の形態を示す回路図である。
【図３】本発明による動的レーン管理方法の一実施の形態を示すフロー図である。
【図４】本発明による動的レーン管理方法の別の実施の形態を示すフロー図である。
【図５】本発明による動的レーン管理方法のさらに別の実施の形態を示すフロー図である。
【符号の説明】
【００２５】
１０・・・動的レーン管理システム
１２・・・コンピュータシステム
１４・・・ＰＣＩエクスプレスバス，レーン
２０・・・プロセッサ
２２・・・ホストブリッジ
２４・・・メモリ
２６・・・Ｉ／Ｏブリッジ
３０・・・デバイス
３２・・・スイッチ
３６・・・オペレーティングシステム
３８・・・制御モジュール
４０・・・ロジック
５０・・・回路
５２，５４・・・ドライバ
５８・・・スイッチ
６０・・・制御信号
【図１】
0004404887.tif 000002
【図２】
0004404887.tif 000003
【図３】
0004404887.tif 000004
【図４】
0004404887.tif 000005
【図５】
0004404887.tif 000006