(57)【要約】  バスは２つの電力消費モードを有する。可変バス終端インピーダンスが、異なるバス終端インピーダンスを提供するように制御される。コントローラは、バスに結合され、コントローラに選択的に供給される種々の周波数を有する可変クロックを含む。インピーダンスは、コントローラに供給される周波数に応じて増減される。
2008501197.tif 000002
【特許請求の範囲】
【請求項１】
バスと、
前記バスに結合されたコントローラと、
前記コントローラに結合され、前記コントローラに選択的に供給される種々の周波数を有する、可変クロックと、
前記バスに結合された可変バス終端インピーダンスとを含み、
前記インピーダンスが、前記コントローラに供給される前記周波数に応じて増減される、システム。
【請求項２】
前記コントローラ及び前記バスに結合された調整可能出力ドライバをさらに含む、請求項１に記載のシステム。
【請求項３】
前記調整可能ドライバが、前記クロック周波数に応じて調整される出力を有する、請求項２に記載のシステム。
【請求項４】
前記ドライバが、２段相補形金属酸化膜半導体電界効果トランジスタ（ＣＭＯＳ  ＦＥＴ）のドライバを含み、該段のうちの一方を前記バスから選択的に切り離すために、前記ドライバに結合されたスイッチを有する、請求項３に記載のシステム。
【請求項５】
前記バスに結合されたデバイスをさらに含む、請求項１に記載のシステム。
【請求項６】
温度検出用のサーミスタをさらに含む、請求項５に記載のシステム。
【請求項７】
バストラフィックの量を検出するためのカウンタをさらに含む、請求項１に記載のシステム。
【請求項８】
外部からの電力管理命令を受け取るための電力管理選択線をさらに含む、請求項１に記載のシステム。
【請求項９】
コントローラと、
前記コントローラに結合され、種々の電力レベルでバス上に信号をドライブするための調整可能出力ドライバと、
前記コントローラに結合され、前記コントローラに選択的に供給される種々の周波数を有する、可変クロックと、
前記バスの終端インピーダンスを変更するための手段とを含む、デバイス。
【請求項１０】
前記バスの終端インピーダンスを変更するための手段が、スイッチを制御する出力を含む、請求項９に記載のデバイス。
【請求項１１】
前記スイッチが抵抗終端回路網を制御する、請求項１０に記載のデバイス。
【請求項１２】
前記バスの終端インピーダンスを変更するための手段が、前記バスに結合されたデバイスの拡張モードレジスタに結合するための出力を含む、請求項９に記載のデバイス。
【請求項１３】
前記バスの終端インピーダンスを変更するための手段が、選択された動作モードに応じて、前記調整可能出力ドライバ、前記可変クロック、及び前記バスの終端インピーダンスを制御するアルゴリズムを含む、請求項９に記載のデバイス。
【請求項１４】
電力消費を変更する方法であって、
バスが異なる電力消費モードで動作すべきであるかを判定し、
前記バスの終端インピーダンスを変更し、
前記バスのクロック速度を変更し、及び
出力ドライブレベルを変更することを含む、電力消費を変更する方法。
【請求項１５】
前記異なる電力消費モードが低電力消費モードであり、前記終端インピーダンスが増加され、前記クロック速度が減少され、前記出力ドライブレベルが低下される、請求項１４に記載の方法。
【請求項１６】
前記異なる電力消費モードが高電力消費モードであり、前記終端インピーダンスが減少され、前記クロック速度が増加され、前記出力ドライブレベルが増加される、請求項１４に記載の方法。
【請求項１７】
前記デバイスに取り付けられる多数のデバイスのそれぞれの出力ドライブレベルが変更される、請求項１４に記載の方法。
【請求項１８】
前記デバイスの近くで検出された温度に応じて、電力消費が変更される、請求項１４に記載の方法。
【請求項１９】
前記バス上で検出されたトラフィック量に応じて、電力消費が変更される、請求項１４に記載の方法。
【請求項２０】
高いトラフィック量が検出される場合に、電力消費が低減される、請求項１９に記載の方法。
【請求項２１】
低いトラフィック量が検出され、且つ性能が高性能よりも低い場合に、電力消費が低減される、請求項１９に記載の方法。
【請求項２２】
コンピュータが消費される電力を変更する方法を実施するための命令を格納したコンピュータ読取り可能媒体であって、前記方法が、
バスが異なる電力消費モードで動作すべきであるかを判定し、
前記バスの終端インピーダンスを変更し、
前記バスのクロック速度を変更し、及び
出力ドライブレベルを変更することを含む、コンピュータ読取り可能媒体。
【請求項２３】
前記異なる電力消費モードが低電力消費モードであり、前記終端インピーダンスが増加され、前記クロック速度が減少され、前記出力ドライブレベルが低下される、請求項２２に記載のコンピュータ読取り可能媒体。
【請求項２４】
中央処理装置と、
バスと、
前記バス及び前記中央処理装置に結合されたメモリコントローラと、
前記メモリコントローラに結合され、前記コントローラに選択的に供給される種々の周波数を有する、可変クロックと、
前記バスに結合され、前記可変クロック周波数に応じて、前記コントローラとの間でバストラフィックを送信及び受信する、メモリデバイスと、
前記バスに結合された調整可能出力ドライバと、
前記バスに結合された可変バスインピーダンスとを含み、
前記インピーダンスが、前記コントローラに供給される前記周波数に応じて増減される、システム。
【請求項２５】
前記調整可能ドライバが、前記クロック周波数に応じて調整される出力を有する、請求項２４に記載のシステム。
【請求項２６】
前記調整可能ドライバが、前記メモリコントローラと前記バスとの間に結合される、請求項２５に記載のシステム。
【請求項２７】
前記デバイスと前記バスとの間に結合された調整可能ドライバをさらに含む、請求項２６に記載のシステム。
【請求項２８】
温度検出用のサーミスタをさらに含む、請求項２４に記載のシステム。
【請求項２９】
バストラフィックの量を検出するためのカウンタをさらに含む、請求項２４に記載のシステム。
【請求項３０】
外部からの電力管理命令を受け取るための電力管理選択線をさらに含む、請求項２４に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
高速入力／出力（Ｉ／Ｏ）バスを使用する結果として、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）チップ内のＩ／Ｏバッファによって、かなりの電力が消費される。低電力の相補形金属酸化膜半導体（ＣＭＯＳ）バスは、現在使用されている４００ＭＨｚ又は８００ＭＨｚのデータ転送速度のような、より高い周波数において用いられる速いエッジレートに対応していない。係るバスは、もはやレールツーレールで切り替わらないように変更されており、それによりドレイン電流が増加し、従って熱が発生する。速いエッジレートを維持するために、Ｉ／Ｏバス上でテブナン終端が使用されている。係る終端は、低インピーダンスへのバス出力を基準としているが、バス及びメモリチップから低い性能が予想される場合には、過度な電力消費の原因となる。
【０００２】
メモリデバイスにおける熱制御に関して、従来から電力低減の方法が提案されている。１つの簡単な方法は、同期式又はクロック同期式のバスの速度を下げることを含む。この方法は、システムの電力消費率を下げることによって熱応力を緩和するが、これはメモリデバイスからフェッチするのを遅らせることによって、電力消費を全体的に遅らせるように作用するだけである。
【０００３】
別の従来の方法は、メモリデバイス自体を一時的にディスエーブル（不能）にすることを含む。これは、帯域幅スロットリングと呼ばれ、高い温度を検出又は感知するのに応じて、メモリデバイスを周期的にディスエーブルにするように作用する。また、帯域幅スロットリングは、アクティビティ検出器がバス上で過大なトラフィックを検出するのに応答して使用されている。帯域幅スロットリングは、メモリデバイスから得られる潜在的な性能を低下させる。
【０００４】
詳細な説明
以下の説明では、本明細書の一部を構成し、説明される内容を実施することができる特定の実施形態を一例として示す添付の図面が参照される。これらの実施形態は、当業者が説明された内容を実施できるようにするために、十分に詳細に説明されているが、説明される内容の範囲から逸脱することなく、他の実施形態を利用することができること、及び構造的、論理的及び電気的に変更を行うことができることは理解されたい。従って、以下の説明は、限定される意味に解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって規定される。
【０００５】
本明細書で説明される機能又はアルゴリズムは、一実施形態では、ソフトウエアで、又はソフトウエアと人によって実施される手順との組み合わせで実施される。そのソフトウエアは、メモリ又は他のタイプの記憶デバイスのようなコンピュータ読取り可能媒体に格納されるコンピュータ実行可能命令を含む。用語「コンピュータ読取り可能媒体」は、そのソフトウエアが伝送される搬送波を表すためにも使用される。さらに、係る機能はモジュールに対応し、そのモジュールはソフトウエア、ハードウエア、ファームウエア、又はそれらの任意の組み合わせである。多数の機能が、１つ又は複数のモジュールにおいて望み通りに実行されるので、説明される実施形態は単なる例にすぎない。そのソフトウエアは、デジタルシグナルプロセッサ、ＡＳＩＣ、マイクロプロセッサ、又はパーソナルコンピュータ、サーバ若しくは他のコンピュータシステムのようなコンピュータシステム上で動作する他のタイプのプロセッサで実行される。
【０００６】
高速バスデバイスのＩ／Ｏによって消費される電力を選択的に低減することによって、最適な電力構成が実現される。バスは同期式であっても、又は非同期式であってもよい。ギガヘルツ範囲において動作するバスのような、高速バスの短い転送時間は、積極的なエッジレートを使用する。ＣＭＯＳゲートの出力ドライブを高めて、バスの寄生キャパシタンス（Ｃｐ）に逆らって、より高速のエッジレートをドライブ（駆動）する。バス自体の導体は誘導性になるので、ドライブ強度を高めるだけで、信号品質の問題が生じるであろう。バス自体にテブナン終端を用いて、信号インピーダンスを整合させて、高速信号のリンギングを抑えることができる。
【０００７】
図１は、本発明の例示的な実施形態による同期式バス１０５を含むシステム１００のブロック図である。一実施形態では、バス１０５は、ＳＳＴＬ（series stub terminated logic：シリーズ・スタブ・ターミネイテッド・ロジック）シグナリング法を実施する同期式バスである。バス１０５には、可変値の終端抵抗１１０が結合されている。バス１０５を用いて、コントローラ１１５とバスデバイス１２０との間で信号が伝送される。バスデバイス１２０は、ＣＭＯＳデュアルゲートＦＥＴのようなドライバ１２５を含む。ドライバの多数の選択可能な段を用いて、ドライバの出力パワーを変更することができる。ドライバ１２５は、可変ドライブ抵抗１３０を介して、バス１０５に結合される。
【０００８】
可変クロック１３５がコントローラ１１５に結合される。一実施形態では、クロック１３５は、２つの異なる周波数を有し、それらは高い設定及び低い設定と呼ばれ得る。高い設定は、５３３ＭＨｚのような、より高い周波数を提供し、低い設定は、４００ＭＨｚのような、より低い周波数を提供する。また、コントローラは、その周波数が高いか、又は低いかによって、可変終端抵抗１１０及び可変ドライブ抵抗１３０の値も制御する。
【０００９】
高い設定では、バス上のシグナリングは、高いスタティック電力を利用する。電流を連続的に供給（ソース）して、論理ハイすなわち「１」を維持し、電流を常にシンクして、論理ローすなわち「０」を維持する。ＶＴＴと呼ばれる終端電圧１４０から送られる電流は、かなり大きくなる可能性がある。現在、いくつかのバスは６４〜１２８ビット幅であるので、出力終端において用いられる電力量は、数ワットの電力消費を生じる可能性がある。
【００１０】
低い性能が妥当である場合に電力消費を下げるために、クロックを低い周波数に設定し、結果として、バス上でのスイッチング回数を減らす。これは、一実施形態では、ユーザコマンドに応答して、或いはバスの検出又は予想される利用状況に応答して、コントローラ１１５により実施され得る。また、バスデバイス１２０の出力ドライブも、より低いレベルに下げることができる。これにより、バス上のＡＣ及びＤＣ双方のドライブ電流が減少する。必要に応じて、ＤＣ負荷成分を除去するように、バス終端自体が変更されるか、又はさらに除去される。
【００１１】
バスデバイスがＤＲＡＭである場合、通常のデータ読出し中に、ＤＲＡＭデバイスは、高電力モードで、メモリコントローラにデータを出力する。クロックは高速である。低電力モードでは、クロックによって、メモリコントローラが低速にされ、バス上でのタイミングの予想を容易にする。ＤＲＡＭ出力ドライブを下げることができ、終端負荷は低減又は除去される。
【００１２】
一実施形態では、バスは双方向性である。ＤＲＡＭへの書込み中に、データはコントローラからＤＲＡＭまで流れる。クロック速度が遅い間は、メモリコントローラのドライブ電流も低減され得る。
【００１３】
より低い電力モードは、動的に且つ可逆的に適用され得る。バスの電力消費を変更するための典型的な刺激には、手動の電力節約がアサートされることが含まれる。例えば、ノートブックコンピュータでは、ＡＣ電源に結合されている間は、バスは高電力、高性能用にセットアップされ得る。ノートブックコンピュータが電池電源で動作している場合には、より低い性能を利用することができる。
【００１４】
電力節約は、バス及び多数のデバイスを組み込むコンピュータシステムが過熱状態であると検出される場合にも適用され得る。例えば、ＤＲＡＭは、適切に熱伝導するための準備がほとんどなされない状態で、かなり高い密度でバスに追加される場合がある。これは、コンピュータシステム全体を危険な状態にする可能性がある。温度センサを用いて、係る危険を特定し、低電力モードを実施することによって電力節約を適用することができる。また、電力節約は、バストラフィックがほとんど観測されない場合にも適用され得る。
【００１５】
図２は、本発明の一実施形態を組み込む例示的なコンピュータシステム２００のブロック図である。システム２００は、フロントサイドバス２１０によってブリッジデバイス２１５に結合される中央処理装置ＣＰＵ２０５を有する。一実施形態では、ブリッジデバイス２１５はノースブリッジであり、メモリコントローラのようなコントローラ２２０とＣＰＵ２０５とのインターフェースとなる。実施形態によっては、メモリコントローラ２２０はＣＰＵ自体に組み込まれる。
【００１６】
コントローラ２２０は、インターフェースドライバ２２５及びバス２３０を介して、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）２３５のようなバスデバイスに結合される。１つの例示的な実施形態では、ＤＲＡＭ２３５は、Micron社製ＤＤＲ−２  ＤＲＡＭである。ＤＤＲ−２  ＤＲＡＭは「オンダイターミネーション」を有しており、２つの可能な終端抵抗回路網が２４０及び２４５で示されている。一実施形態では、各抵抗は約１５０オームである。２５０及び２５５において示される一対のスイッチが閉じられるとき、バスが終端され、Ｖｓｓ（グランド）に、及びＶＤＤＱ（ＤＲＡＭの動作電圧）に７５オームで有効に終端される。スイッチ２５０及び２５５が閉じられるとき、抵抗回路網２４０がバスに結合され、一実施形態では、終端抵抗が有効に２倍になる。さらなる実施形態では、抵抗値は互いに等しくない。
【００１７】
メモリコントローラ２２０の動作速度は、クロック２６０及び第３のスイッチ２６５によって、約４００ＭＨｚ又は約５３３ＭＨｚのいずれかに設定される。これらの周波数は、デバイス及びバスのタイプが異なる場合には、大幅に変更される可能性がある。将来のバスでは、おそらく、さらに高い動作周波数を利用できるようになるであろう。動作周波数は、バス上でハイ状態及びロー状態を得るために利用されるスイッチングの速度に関連付けられる。より高い周波数は、より速いスイッチングを使用する。
【００１８】
さらなる実施形態において、アルゴリズム２７０が、周波数選択スイッチ２６５、並びに抵抗回路網スイッチ２５０及び２５５を制御するために使用される出力を提供する。そのアルゴリズムは、ＣＰＵ２０５又はコントローラ２２０を含む、多くの異なる論理プラットフォームで実施され得る。また、そのアルゴリズムを用いて、インターフェースドライバ２２５内に第２の段を含めるために使用される、さらなるスイッチ２７３を制御することもできる。
【００１９】
カウンタ２７５を用いて、バストラフィックをモニタし、適切な動作周波数を求める際に用いるためのバストラフィックの量をアルゴリズムに指示することができる。さらに、必要に応じて、バスデバイス２３５に隣接してサーミスタ２８０が配置され、動作温度をモニタし、場合によっては、動作周波数を低速にして、電力消費、及びそれに対応して熱発生を低減する。サーミスタ２８０は、必要に応じて、動作周波数を求める際に使用するための動作温度に関する情報をアルゴリズムに与える。ユーザが直接的に入力するか、又は他の電力管理アルゴリズム等によって、動作周波数を直接的に選択するためのさらなる入力を、アルゴリズムに外部から提供することができる。
【００２０】
図３は、高性能モード用にシステムを構成するアルゴリズム２７０の流れ図の例３１０である。３２０では、メモリコントローラ２２０の動作速度が、その高速設定の状態にある。スイッチ２６５が約５３３ＭＨｚの高速クロック速度に設定される。３３０では、最も高い可能な出力ドライブのために、スイッチ２７３を閉じて、並列トランジスタを結合することによって、メモリコントローラインターフェースドライバ２２５が使用可能にされる。３４０では、スイッチ２５０及び２２５を閉じることによって、ＤＲＡＭ２３５内のテブナン終端が、最も高い電流ドライブに設定される。一実施形態では、これは、ＤＲＡＭの拡張モードレジスタ内の適切なビットを設定し、使用される抵抗の値に応じて、７５オーム又は他の値の終端抵抗を得ることによって実施され得る。３５０では、ＤＲＡＭの出力ドライブも、ＤＲＡＭの拡張モードレジスタ内の対応するビットを設定することによって、最大に設定され得る。
【００２１】
図４は、低電力モード用にシステム２００を構成する際のアルゴリズム２７０の動作を示す流れ図４００である。４１０では、スイッチ２６５がより低い周波数、４００ＭＨｚに設定される。４２０では、スイッチ２７３が開かれて、並列トランジスタの段のうちの１つを切り離すことによって、インターフェースドライバ２２５の出力ドライブを低減する。４３０では、スイッチ２５０及び２５５が開かれて、終端源を、一実施形態では１５０オーム負荷まで増大させる。４４０において、必要に応じてドライブの段のうちの１つ又は複数を切り離すことにより、ＤＲＡＭ出力ドライブが低い状態に設定される。
【００２２】
多くの様々な要因に応じて、低電力モードに入ることができる。デバイス２３５の温度が高くなり過ぎることもある。サーミスタ２８０は、デバイスが危険な温度にあることを判定するために使用され得る、温度を表す信号のような指示を与える。アルゴリズム２７０はサーミスタ２８０から情報を受け取り、流れ図４００に従って、システム２００を低電力モード用に構成する。
【００２３】
ＤＲＡＭ２３５のようなデバイスからのバス上でのアクティビティの量は、非常に高い場合も、又は非常に低い場合もある。カウンタ２７５が、或る持続時間にわたって、ＤＲＡＭのアクティビティの量を測定する。アクティビティの量が非常に高い場合には、ＤＲＡＭの過熱が示唆され、そのアルゴリズムは、システムを低電力モード用に構成することを決定することができる。アクティビティの量が非常に低い場合には、そのアルゴリズムは、システムが高性能よりも低い性能で動作できるものと判断することができる。もしそうなら、そのアルゴリズムは、低電力モードにあるシステムを、さらに低い性能にすることができる。その際、システムは、システム全体の性能を犠牲にすることなく、電力消費においてより効率的になる。アルゴリズムのこの態様は、全てが熱を発生している多数のバスデバイスを有する大規模システムにおいて有用な場合がある。全ての係るデバイスが高性能モードにおいて動作していた場合には、システムが有効に取り扱うことができる熱よりも多くの熱が発生する可能性がある。
【００２４】
２８５において示されるように、電力節約モードに対する要求を、種々の手動設定によって指示することができる。その根拠として、ＡＣ電源に対する電池の検出、より低いＣＰＵ速度の設定、冷却ファンの雑音を下げたいという音響的な要件、又は他の手動電力節約設定の検出が含まれる場合がある。
【００２５】
場合によっては、アルゴリズム２７０は、システム温度が非常に低いものと判断し、タイミングに「マージンを持たせる」ことができる。シリコンが低温である場合、システムは、本質的により高速に動作する。アルゴリズムは、サーミスタ２８０を読み取ること等によって、情報を受け取り、メモリコントローラの速度を下げることなく、終端強度を下げることができると判定する。言い換えると、アルゴリズムは、システムが十分なマージンを有しており、高出力ドライブ以外のドライブを用いて、確実に動作することができると決定することができる。その後、アルゴリズムは、スイッチ２７３を開いてドライブを低減し、スイッチ２５０及び２５５を開いて終端強度を減少させる。また、デバイスのドライブ強度は、アルゴリズムによって、拡張モードレジスタを介して減少させることもできる。そのように減少させることは、コントローラインターフェースドライバ２２５のドライブ強度を減少させるのと同じ態様で実現することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の例示的な実施形態による、高速バスを含むシステムのブロック図である。
【図２】本発明の例示的な実施形態による、高速バスを含むシステムのさらに詳細なブロック図である。
【図３】本発明の例示的な実施形態による、バスを高電力動作モードにするためのアルゴリズムの流れ図である。
【図４】本発明の例示的な実施形態による、バスを低電力動作モードにするためのアルゴリズムの流れ図である。
【図１】
2008501197.tif 000003
【図２】
2008501197.tif 000004
【図３】
2008501197.tif 000005
【図４】
2008501197.tif 000006
【国際調査報告】
2008501197.tif 000007
2008501197.tif 000008