(57)【要約】【課題】Ｃ０時のセルフリフレッシュメカニズムを提供する。【解決手段】実施形態は、メモリに接続したリンクと、リンクに接続し、メモリアクセスのアイドル時間量を算出し、メモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定し、メモリアクセスのアイドル時間に基づき、プロセッサからのプロセッサ電力状態についての明示の通知なしでセルフリフレッシュ状態へと変化させる回路とを含む装置であってよい。別の実施形態は、メモリがセルフリフレッシュに入るための方法であって、メモリアクセスのアイドル時間量を算出する段階と、メモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定する段階と、メモリアクセスのアイドル時間に基づき、プロセッサからのプロセッサ電力状態についての明示の通知なしでセルフリフレッシュ状態へと変化させる段階とを含む方法であってよい。その他多様な実施形態、システム、方法、機械読み取り可能媒体、及び装置により、これら典型的実施形態に類似した機能を提供し得る。【選択図】図４
2009515263.tif 000002
【特許請求の範囲】
【請求項１】
メモリがセルフリフレッシュに入る方法であって、
メモリアクセスのアイドル時間量を算出する段階と、
メモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定する段階と、
メモリアクセスのアイドル時間に基づき、プロセッサからの該プロセッサの電力状態についての明示の通知なしでセルフリフレッシュ状態へと変化させる段階と
を含む方法。
【請求項２】
前記メモリアクセスのアイドル時間は、評価期間におけるデューティーサイクルの閾値である、
請求項１に記載の方法。
【請求項３】
前記メモリアクセスのアイドル時間は、特定の電力状態の最小継続時間である、
請求項１に記載の方法。
【請求項４】
同一のアイドル期間内において任意に昇格を行うための制御ビットを設定する段階を更に含む請求項３に記載の方法。
【請求項５】
前記メモリアクセスのアイドル時間が閾値より少ない場合に、より高い電力状態への降格を行う段階を更に含む請求項１に記載の方法。
【請求項６】
メモリに接続されたリンクと、
前記リンクに接続された回路と
を含み、
前記回路は、
前記リンクを介したメモリアクセスのアイドル時間量を算出し、
メモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定し、
メモリアクセスのアイドル時間に基づき、プロセッサからの該プロセッサの電力状態についての明示の通知なしでセルフリフレッシュ状態へと変化させる、
装置。
【請求項７】
前記メモリアクセスのアイドル時間は、評価期間におけるデューティーサイクルの閾値である、
請求項６に記載の装置。
【請求項８】
前記メモリアクセスのアイドル時間は、特定の電力状態の最小継続時間である、
請求項６に記載の装置。
【請求項９】
同一のアイドル期間内において任意に昇格を行うための制御ビットを更に含む請求項８に記載の装置。
【請求項１０】
前記回路は、前記メモリアクセスのアイドル時間が閾値よりも少ない場合に、より高い電力状態への降格を行う、
請求項６に記載の装置。
【請求項１１】
メモリと通信する手段と、
メモリアクセスのアイドル時間量を算出する手段と、
メモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定する手段と、
メモリアクセスのアイドル時間に基づき、プロセッサからの該プロセッサの電力状態についての明示の通知なしでセルフリフレッシュ状態へと変化させる手段と
を含む装置。
【請求項１２】
前記メモリアクセスのアイドル時間は、評価期間におけるデューティーサイクルの閾値である、
請求項１１に記載の装置。
【請求項１３】
前記メモリアクセスのアイドル時間は、特定の電力状態の最小継続時間である、
請求項１１に記載の装置。
【請求項１４】
同一のアイドル期間内において任意に昇格を行うための制御ビットを更に含む請求項１３に記載の装置。
【請求項１５】
前記メモリアクセスのアイドル時間が閾値よりも少ない場合に、より高い電力状態への降格を行う手段を更に含む請求項１１に記載の装置。
【請求項１６】
回路に電力供給する統合型バッテリ電源と、
リンクに接続されたメモリと、
前記リンクに接続された回路と
を含み、
前記回路は、
前記リンク上でのメモリアクセスのアイドル時間量を算出し、
メモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定し、
メモリアクセスのアイドル時間に基づき、プロセッサからの該プロセッサの電力状態についての明示の通知なしでセルフリフレッシュ状態へと変化させる、
システム。
【請求項１７】
前記メモリアクセスのアイドル時間は、評価期間におけるデューティーサイクルの閾値である、
請求項１６に記載のシステム。
【請求項１８】
前記メモリアクセスのアイドル時間は、特定の電力状態の最小継続時間である、
請求項１６に記載のシステム。
【請求項１９】
前記回路は、同一のアイドル期間内において任意に昇格を行うための制御ビットを更に含む、
請求項１８に記載のシステム。
【請求項２０】
前記回路は、前記メモリアクセスのアイドル時間が閾値よりも少ない場合に、より高い電力状態への降格を更に行う、
請求項１６に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
２００４年９月２日に公開された電力制御インターフェース規格改訂版３．０（「ＡＣＰＩ」）により、ハードウェアコンポーネントをオペレーティングシステムが制御するためのインターフェースが提供され、柔軟な電力管理が可能になった。ＡＣＰＩにより、使用しない装置を低電力状態に遷移させ、また、望ましいときにはシステム全体をさえ低電力の休止状態にするエネルギー節約方法が提供された。ＡＣＰＩ規格に準拠するコンピュータシステムにおいては、表示スクリーン、ハードドライブといったあまりアクティブでないコンポーネントへの電力供給が減らされる場合があり、また使用可能（ａｖａｉｌａｂｌｅ）な装置でさえ電源のオンオフが切り替えられる場合がある。つまり、ＡＣＰＩ規格は、ＡＣＰＩに準拠したオペレーティングシステムがＡＣＰＩに準拠したハードウェアプラットフォームを制御し、かつそれとやり取りすることを可能にするインターフェースメカニズムの定義である。
【０００２】
ＡＣＰＩ規格においては、プロセッサの電力状態（Ｃｘ状態）は、プロセッサの電力消費状態と温度管理状態とがあり、更には全体的な動作状態Ｇ０を含むものとして定義してもよい。Ｃｘ状態には、Ｃ０、Ｃ１、Ｃ２、Ｃ３、及びＣｎまでが含まれる。また、Ｃｘ状態は、以下の段落において簡潔に定義する特定の開始／終了動作（ｅｎｔｒｙ  ａｎｄ  ｅｘｉｔ  ｓｅｍａｎｔｉｃｓ）を有する。
【０００３】
ＡＣＰＩ規格においては、プロセッサはプロセッサ電力状態Ｃ０にあるときに命令を実行する。Ｃ１電力状態においては、ハードウェアのレイテンシが十分に小さいので、オペレーティングソフトウェアは、当該上体を用いるかを決定するにあたり、当該状態のレイテンシ側面を考慮しない。当該規格において定義されるように、この状態においては、プロセッサが非実行電力状態に置かれる以外にはソフトウェアにおいて目に見える効果が現れない。
【０００４】
Ｃ２電力状態においては、Ｃ１状態よりも電力節約効果が大きい。この状態にとっての最悪のハードウェアレイテンシはＡＣＰＩシステムのファームウェアにより提供され、オペレーティングソフトウェアは、Ｃ２状態でなくＣ１状態とすべき場合を判断するためにこの情報を用いることができる。同じく当該規格に定義されるように、Ｃ２状態においては、プロセッサが非実行電力状態に置かれる以外、ソフトウェア上で目に見える効果が現れない。
【０００５】
Ｃ３電力状態は、Ｃ１状態とＣ２状態よりも電力節約効果が大きい。この状態にとっての最悪のハードウェアレイテンシはＡＣＰＩシステムのファームウェアにより提供され、オペレーティングソフトウェアは、状態の間で決定するのにこの情報を用いることができる。Ｃ３状態にあるとき、プロセッサのキャッシュは状態を維持するがスヌープを一切無視するので、オペレーティングソフトウェアは、キャッシュによるコヒーレンシー維持に責任を持つ。各Ｃｘ状態についてのより詳細な定義については、ＡＣＰＩ規格の項目８．１、プロセッサの電力状態を参照されたい。
【０００６】
ダイナミックランダムアクセスメモリ（ＤＲＡＭ）は、情報を格納する代表的なメモリである。ＤＲＡＭはメモリセルのアレイもしくはマトリクスにより構成され、各メモリセルは複数のセンス増幅器、複数のビット線、複数のワード線のそれぞれ一つに接続される。更に、メモリセルマトリクスを複数のバンクへと下位分割する場合がある。
【０００７】
ＤＲＡＭメモリセルは、単一のトランジスタとキャパシタにより構成される。ＤＲＡＭメモリセルに蓄積される電荷はリーク電流により減衰し、電荷を定期的にリフレッシュしない限り情報は最終的に消失する。電荷を定期的にリフレッシュする必要により、当該メモリは動的であると呼称される。リフレッシュ動作の例には、メモリコントローラがセルアレイからデータを読み出してセルアレイへと再度書き込み、メモリセルのキャパシタを以前の荷電状態へとリフレッシュすることがある。現在では、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）は、セルフリフレッシュが可能である。セルフリフレッシュとは、メモリコントローラでなくメモリが実行するリフレッシュ動作である。セルフリフレッシュ時において、メモリは内部発振器によりリフレッシュ周期を生成し、メモリセルに格納されるデータを維持する。
【０００８】
セルフリフレッシュ状態にあるメモリは電力消費が少ないが、通常動作を再開するには相応の終了レイテンシ（ｅｘｉｔ  ｌａｔｅｎｃｙ）が存在する。性能はメモリアクセス時間により決まるので、メモリを覚醒させるのにどれ程の時間をメモリコントローラが要するかをメモリコントローラが認識すれば性能は向上し、プロセッサがメモリを必要とするときにメモリを利用可能な状態にすることができるであろう。
【０００９】
従来の電力節約方法として、高速メモリ電力管理法（Ｒａｐｉｄ  Ｍｅｍｏｒｙ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ；ＲＭＰＭ）がある。ＲＭＰＭは、メモリコントローラ内の機能であり、プロセッサの利用を監視することによりプラットフォームの電力を節約する。メモリコントローラに接続されたプロセッサがＡＣＰＩのＣ２乃至Ｃ４状態にあるとき、プロセッサがメモリにアクセスすることはないので、メモリはセルフリフレッシュ状態に入ることができる。メモリコントローラは、メモリの読み出しと書き込みに関連するロジックをオフにすることにより電力を節約する場合もある。この状態にあるとき、コントローラに対するクロックゲーティングと遅延同期ループ（ＤＬＬ）とを停止させる度合いにより電力節約が可能となる。
【００１０】
ＤＲＡＭ行電力管理法（ＤＲＡＭ  Ｒｏｗ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ；ＤＲＰＭ）は、電力要求を低下させる別の方法である。ＤＲＰＭにおいては、通常動作時においてあるメモリ行のアイドル度に基づき当該メモリ行の電力を低減する。電力低減時に、ある行のページが全て閉じていれば、装置は積極的な電力低減状態に入るであろう。電力低減時にページが開かれたままであれば、装置は、充電前電力低減状態に入ることができる。
【００１１】
通常、メモリは、プロセッサがＡＣＰＩのＣ１、Ｃ２、Ｃ３状態にあるとき等、非動作状態となることをプロセッサから明示的に通知されたときにだけセルフリフレッシュに入る。Ｃ０時には、プロセッサは非動作状態となることを明示的には示さない。つまり、接続されたコンポーネントが完全にはアクティブ状態でないことが明示的に通知されないときにセルフリフレッシュに入るための方法と装置が必要である。
【図面の簡単な説明】
【００１２】
本発明の実施形態についての最良の理解は、図面を参照して本開示を読むことにより得られるであろう。
【００１３】
【図１】図１は、コンピュータシステムの例を示すブロック図である。
【００１４】
【図２】図２は、一実施形態に係る、コンピュータシステムにおけるチップセットの例を示すブロック図である。
【００１５】
【図３】図３は、メモリあるいはグラフィックスコントローラの電力消費を低下させる実施形態例を示す状態図である。
【００１６】
【図４】図４は、一実施形態に係る、メモリとグラフィックスコントローラの電力消費を低下させるのに用いられるプロセスの例を示すフロー図である。
【発明を実施するための最良の形態】
【００１７】
以下の記載において多くの具体的詳細を述べる。しかし、本発明の実施形態がこれらの具体的詳細を伴わないで実施されることもあることは理解されよう。別の例においては、本記載の理解が曖昧なものとならないよう、周知の回路、構造、及び技術については詳細に示さなかった。
【００１８】
本明細書における「一実施形態」又は「ある実施形態」等の言及は、当該実施形態に関連して述べられる特定の特徴、構造、又は特性が本発明の少なくとも一側面に含まれることを示す。本明細書の所々に「一実施形態において」との表現が現れるが、必ずしも全てが同一の実施形態を示すものでない。
【００１９】
コンピュータシステムの電力消費を制御する多様な方法と装置を開示する。実施形態のある例においては、コンピュータシステムのプロセッサが通常の電力モードにあるとき、プロセッサに接続されるメモリの一以上のコンポーネントとメモリにリクエストを行うためのコントローラを有するその他のシステムコンポーネントの電力消費を低下させる。実施形態においては、ハードウェア状態を算出することによりこれを達成してよく、したがってオペレーティングシステム（ＯＳ）あるいはプロセッサからの明示の指示がなくとも低電力状態に入ってよい。
【００２０】
図１は、コンピュータシステムの例を示すブロック図である。コンピュータシステム１００には、バス２５によりシステムメモリ１１５が接続されるプロセッサ、中央演算処理装置（ＣＰＵ）等１０５を含めてよい。コンピュータシステム１００には、液晶ディスプレイ（ＬＣＤ）、プラズマスクリーン、陰極線管（ＣＲＴ）、投射スクリーン等のディスプレイユニット１２５を更に含めてよい。ディスプレイユニット１２５上に表示されるグラフィックス、テキスト、イメージ等の情報は、チップセット（不図示）等のグラフィックスコントローラにより制御してよい。コンピュータシステム１００には、英数字入力デバイス１２０、カーソル制御デバイス１２４、及びディスクメモリ１３０を含めてよい。
【００２１】
ディスクメモリ１３０は、本明細書に記載の実施形態のいくつかを具現化する命令セット（たとえば、ソフトウェアアプリケーション）が格納された機械読み取り可能媒体（不図示）であってよい。命令は、その全部あるいは少なくとも一部がメインメモリ１１５及び／又はプロセッサ１０５内に存在してもよい。また、命令は一以上のネットワークに接続するためのネットワークインターフェース装置１３５において送受信してよい。コンピュータシステム１００には、交流（ＡＣ）電源あるいは一以上のバッテリを用いた直流（ＤＣ）電源により電源供給してよい。また、システム１００はサーバーであってよく、メモリ１１５を複数ブロック含んでよく、プロセッサ１０５を複数含んでよく、図１におけるブロックを任意に組み合わせて含んでよく、更なるコンポーネントを含んでもよい。
【００２２】
図示はしていないが、バス２５はアドレスバス、バス制御信号、データバスのうちの一以上を含んでよく、及び／又は全メモリアクセス要求間の調停を行うメモリコントローラを含んでもよい。プロセッサ１０５はバス２５を制御してよく、したがって入出力（Ｉ／Ｏ）装置間の通信にはプロセッサ１０５の介在が必要であってよい。
【００２３】
更に、（不図示であるが）、プロセッサ１０５と交替でメモリ１１５へのアクセス要求を行うことができる他のコントローラがコンピュータシステム１００に存在してよい。これにより、コントローラは、バス２５のアドレスバスと制御信号をプロセッサ１０５の介在を最小限にした状態で駆動することができる。例として、プロセッサ１０５はバス２５を必要としないその他のタスクの処理に忙しい場合があり、一方で低電力状態のアイドル状態にある場合もある。コントローラにはメモリ１１５に要求を行う独自のプロセッサ、マイクロコントローラ、あるいはエンジンを含めてよい。コントローラの例としては、イーサネットコントローラ、ユニバーサルシリアルバス（ＵＳＢ）コントローラ、音響変換コントローラ、グラフィックスコントローラ等がある。
【００２４】
説明目的において、本記載では、ハードウェアの状態を監視することにより、ＯＳあるいは単一もしくは複数の装着されたプロセッサからの明示の命令なしにメモリをセルフリフレッシュ状態に置く機会を検出することができるコントローラの例として統合型のグラフィックスコントローラの一例を示す。
【００２５】
プロセッサの電力状態についてプロセッサからの明示の指示なしにメモリをセルフリフレッシュ状態に置く更なる例を説明する。メモリの電力節約に加え、同一のメカニズムと方法に基づきメモリコントローラの電力を節約してよい。本記載はその他のコントローラにも適用可能であることは当業者には認識されるであろう。
【００２６】
さらに、技術が変化するに従い、コントローラをプロセッサに、あるいはメモリにさえも埋め込んでよい、つまりハードウェア内で機能を移動させてよいのであるが、しかし実施形態はこれに限定されず、機能が多様なハードウェア構成に分散される場合にも適用される。
【００２７】
図２は、ある実施形態に係るコンピュータシステム２００におけるチップセットの例を示すブロック図である。コンピュータシステム２００にはプロセッサ１０５とチップセット２１０を含めてよい。チップセット２１０は、本明細書においてはより一般的な語句として回路２１０と呼称する場合がある。コンピュータシステム２００にはメモリ１１５を更に含めてよい。ある実施形態においては、チップセット２１０は、カリフォルニア州サンタクララ所在のインテル社製のＩｎｔｅｌ８４５Ｇ統合型グラフィックスチップセット等の統合型グラフィックスチップセットであってよい。
【００２８】
さらに、チップセット２１０には、グラフィックス／映像処理用の統合型グラフィックスコントローラ２１２を含めてよい。また、チップセット２１０には、先進的なグラフィックス特性を得るために外部グラフィックスコントローラ（不図示）に対応するべく、グラフィックスインターフェース２２２、たとえばアクセラレイテッド・グラフィックス・ポート（ＡＧＰ）インターフェース等を含めてよい。外部グラフィックスコントローラにメモリを含めてよい。
【００２９】
チップセット２１０にはメモリ１１５へのインターフェースとしてプロセッサ１０５からの読み出し／書き込み要求を満たすメモリコントローラ２１３も含めてよい。メモリ１１５は、たとえば、動的ランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレート（ＤＤＲ）ＳＤＲＡＭ、ＤＤＲ２  ＳＤＲＡＭ等であってよい。
【００３０】
チップセット２１０には周辺機器（不図示）へのインターフェースとなるＩ／Ｏコントローラ２１４も含めてよい。図２においてはプロセッサ１０５をグラフィックスコントローラ２１２とは別体のモジュールとして示しているが、プロセッサ１０５、グラフィックスコントローラ２１２、及びＩ／Ｏコントローラ２１４のうち一以上を一つのモジュールにより、又は複数のモジュールにより実施してよい。上記したように、たとえばメモリコントローラ２１３の機能をプロセッサ１０５に統合してよい。
【００３１】
グラフィックスコントローラ２１２とメモリ１１５は、クロック発生器２０５から基準クロック信号を受信してよい。グラフィックスコントローラ２１２、メモリコントローラ２１３、及びメモリ１１５は、たとえばタイミング制御等に用いられる遅延ロックループ（ＤＬＬ）回路（複数であってもよい）（不図示）も含んでよい。
【００３２】
グラフィックスコントローラ２１２は表示データをメモリ１１５から取得して表示データを映像出力ポート２２０によりディスプレイユニット１２５に出力する演算を行ってよい。グラフィックスコントローラ２１２は、たとえばリフレッシュ速度、バックライト輝度等のディスプレイユニット１２５のその他の動作挙動も制御してよい。グラフィックスコントローラ２１２が実行する動作は、チップセット２１０とシステム２００とが消費する電力の一部を占め得る。
【００３３】
ある実施形態においては、装置はメモリ１１５に接続したリンクと、当該リンクに接続し、メモリ１１５へのアクセスにおけるアイドル時間量を算出してメモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定し、メモリ１１５へのアクセスにおけるアイドル時間に基づき、プロセッサ１０５からのプロセッサ電力状態についての明示の通知なしでセルフリフレッシュ状態へと変化させる回路２１０を含んでよい。
【００３４】
いくつかの実施形態においては、メモリ１１５へのアクセスにおけるアイドル時間はある評価期間（ｅｖａｌｕａｔｉｏｎ  ｉｎｔｅｒｖａｌ）に占めるデューティーサイクルの閾値である。別の実施形態においては、メモリアクセスのアイドル時間は、特定の電力状態の最小継続時間である。本実施形態においては、任意に、同一のアイドル期間内において昇格（ｐｒｏｍｏｔｅ）を行うための制御ビットを更に用いてよい。さらに別の実施形態においては、回路２１３はさらに、メモリ１１５へのアクセスにおけるアイドル時間が閾値よりも少ない場合に、電力状態を高める降格（ｄｅｍｏｔｅ）を行ってよい。
【００３５】
いくつかの実施形態においては、アクセスのアイドル時間はスライドウィンドウにおいて測定してよい。たとえば、アクセスのアイドル時間は、決まった時間間隔についてだけ判定できるのでなく、任意のクエリーを起算点とした特定時間量に対応したものであってもよく、当該スライドウィンドウによりメモリがセルフリフレッシュに入ることができる時機を判定するより動的な方法が提供される。いくつかの実施形態においては、有限インパルス応答（ＦＩＲ）フィルターを用いたスライドウィンドウ評価期間を実施してよい。別の実施形態例においては、無限インパルス応答（ＩＩＲ）フィルターを用いて、このスライドウィンドウにおいてたとえば近時の情報を古い情報よりも高く重み付けしてよい。
【００３６】
別の実施形態においては、システムには、回路２１０へ電力供給する電源としての統合型バッテリ２８０、リンクに接続するメモリ１１５、及びリンクに接続し、メモリ１１５へのアクセスにおけるアイドル時間量を算出してメモリ１１５へのアクセスにおけるアイドル時間がセルフリフレッシュ状態に変化させるのに十分であるかを判定し、メモリアクセスのアイドル時間に基づきプロセッサ１０５からのプロセッサ電力状態についての明示の通知なしにセルフリフレッシュ状態へと変化させる回路２１０を含めてよい。
【００３７】
いくつかのシステム実施形態においては、メモリ１１５へのアクセスにおけるアイドル時間は、ある評価期間内におけるデューティーサイクルの閾値である。いくつかのシステム実施形態においては、メモリ１１５へのアクセスにおけるアイドル時間は、特定の電力状態の最小継続時間である。いくつかの実施形態においては、回路２１０は任意に同一のアイドル期間内において昇格を行うための制御ビットを更に含んでよい。さらに別の実施形態においては、メモリ１１５へのアクセスにおけるアイドル時間が閾値よりも少ない場合に電力状態を高める降格を行うよう回路を構成してよい。
【００３８】
図３は、メモリあるいはグラフィックスコントローラの電力消費を低減するための実施形態例を示す状態図である。メモリコントローラにおいて、ＯＳから明示的に命令されることなしに、また、装着されたプロセッサがＡＣＰＩ規格に定義されるＣ０状態にあるときに、これらの状態を切り替えてよい。いくつかの実施形態においては、プロセッサがＣ０状態にあるときのｉ／ｏバッファ、クロックトランク、クロック分周器、ＤＬＬ、及び／又は位相ロックループ（ＰＬＬ）の動作停止の度合いによって節電でき、あるいはプロセッサが動作停止することをコントローラあるいはメモリに明示的に伝えることなしに電力節約を行うことができる。
【００３９】
以下のいくつかの実施形態例においては、ハードウェアを監視し、実施形態に係るメモリコントローラが特定のハードウェア挙動に基づきメモリをセルフリフレッシュ状態に置いてよい。たとえば、プロセッサが所定のアイドル期間に亘りメモリにアクセスしない場合、メモリをセルフリフレッシュ電力節約状態へと移行させてよく、あるいはプロセッサが所定の期間内においてメモリにアクセスを試みる場合、メモリをセルフリフレッシュ電力節約状態から移行させてよい。また、ある評価期間全体におけるアイドル時間あるいはアクティブ時間が所定の閾値に達した場合に、その状態変化をトリガすることにより、メモリと、もしあればメモリコントローラと、における電力を節約してよい。
【００４０】
いくつかの実施形態においては、メモリにおいてセルフリフレッシュに入る機会を創出するべくメモリアクセスを調整してもよい。たとえば、ディスプレイ１２５に対応したある実施形態に係るメモリシステムにおいては、Ｃ０時におけるセルフリフレッシュ機会を拡充するべくディスプレイをリフレッシュするためのアクセスを長めのバーストで実行してよい。さらに、セルフリフレッシュに入る機会を管理する能力を異なるメモリアクセス間で調整してよい。
【００４１】
たとえば、プロセッサ１０５はリフレッシュ下のディスプレイ１２５とは異なるアクセス要求をメモリ１１５に対して行う場合があるので、セルフリフレッシュに入る機会が創出されるような方法でこれら別個のアクセス要求の調整を行ってよい。したがって、ディスプレイ１２５は、なんらかのメモリアクセス事象、たとえばメモリアクセスの所定のアイドル時間、あるいはセルフリフレッシュメモリ状態を調整する機会が得られるその他のメモリアクセス事象がプロセッサ１０５において発生していることに基づいてディスプレイ１２５はディスプレイをリフレッシュするアクセスについて長めのバーストを用いてよい。
【００４２】
図３の実施形態例を参照すると、異なるメモリコントローラ電力状態（ＭＣｘ）を含む状態図が示されており、ここには状態ＭＣ０  ３２０、状態ＭＣ１  ３４０、及び状態ＭＣ２  ３６０が含まれる。この実施形態によると、ＭＣ０は通常メモリ状態と定義してよく、ＭＣ１はＤＲＰＭ状態と定義してよく、ＭＣ２はセルフリフレッシュ状態と定義してよい。したがって、図３においては、セルフリフレッシュに向かう、又はフル電力状態に向かう状態間切り替えのみならず、ＭＣ０  ３２０、ＭＣ１／ＤＲＰＭ  ３４０、及びＭＣ２／セルフリフレッシュ３６０のうち任意の二つの間の切り替えも示す。さらに、装着されたプロセッサ（複数の場合もある）がＡＣＰＩのＣ０状態にあるときにこれらの状態の全てを実行可能であってよい。
【００４３】
したがって、メモリコントローラがＭＣ０  ３２０状態において動作している場合、メモリコントローラはＭＣ１昇格リミット３１２に達したときにＭＣ１／ＤＲＰＭ  ３４０状態へと昇格してよく、あるいはＭＣ２昇格リミット３１０に達したときにＭＣ２／セルフリフレッシュ３６０状態へと昇格してよい。さらに、メモリコントローラがＭＣ１／ＤＲＰＭ  ３４０状態にあるとした場合、図３に示すように、メモリコントローラはＭＣ１２昇格リミット３１４に達したときにＭＣ２／セルフリフレッシュ３６０状態へと昇格してよい。
【００４４】
図３においては、電力状態の降格例についても示す。つまり、メモリコントローラがＭＣ２／セルフリフレッシュ３６０状態にある場合、図３の左側の昇格と同様の降格に示すように、ＭＣ１／ＤＲＰＭ  ３４０状態あるいはＭＣ０  ３２０状態へとメモリコントローラは降格してよい。この方法により、装着されたプロセッサにおいて許容可能な終了レイテンシを用いることにより、メモリコントローラ及び／又はメモリがセルフリフレッシュ状態へと遷移、またはセルフリフレッシュ状態から遷移してよい時機を決定して平均電力状態を低めてよい。
【００４５】
したがって、Ｃ０時には、実施形態においてはＤＲＡＭへのアクセスに基づいてＤＲＡＭ行電力管理（ＤＲＰＭ）とセルフリフレッシュとの間で昇格／降格を行い、ＤＲＰＭ状態にある時間が十分に持続すれば即座に、あるいは次の機会にセルフリフレッシュ状態に入り、セルフリフレッシュ時間が十分に持続しなければＤＲＰＭ状態に入るのを次の機会にし、目標とするコントローラ利用を達成するまで反復的な往復工程（ｉｔｅｒａｔｉｖｅ  ｆｒｅｑｕｅｎｃｙ  ｓｔｅｐｓ）をたどってよい。いくつかの実施形態においては、ＤＲＰＭとセルフリフレッシュの両方の最小継続時間を保証してよい。さらに、実施形態においては一層の電力節約のためにＤＬＬを任意にディセーブルしてよい。図３の状態図を参照して実施形態例の更なる詳細について説明する。
【００４６】
一実施形態によると、ある評価期間全体のアイドル時間を累算し、当該期間全体におけるアイドル時間の累算に基づいてメモリ電力レベル状態について判定してよい。以下の例においては計算比率に言及するが、実施形態はこれに限定されず、事実いかなる適切な閾値を用いてもよい。以下の記載においては、擬似コードによる表記を用いるが、本質においてこの記載により、以下の請求項において用いる、評価期間全体におけるアイドル時間を累算する方法を開示する。
【００４７】
本例においては、アイドル比率を（アイドル時間の合計）／（サンプリング期間）＊１００％と定義してよい。次に、アイドル比率を用いて実施例を新たなＭＣｘ状態へと昇格あるいは降格すべきかを判定してよい。したがって、リミットを、たとえばＭＣｘ昇格リミット＝１００ｍｓ、ＭＣｘ降格リミット＝１００ｍｓ等のプログラム可能な継続時間に設定してよい。この二つのリミットが表す内容は、任意のＭＣ状態についてのプログラム可能なリミットは、それに達したとき、あるいはそれを超過したとき、コントローラあるいは装着されたメモリが低電力状態へ昇格、あるいは高電力状態へ降格されるように設定されるということである。
【００４８】
さらに、本実施形態においてはコントローラあるいはメモリがＡＣ電力あるいはＤＣ電力により動作しているかにしたがってアイドル比率を変化させてよい。たとえば：
ＡＣ電力下にある場合、リミット例は以下の通りであってよい：
ＭＣ０からの昇格比率＝５０％
ＭＣ２からの降格比率＝４０％
ＭＣ２への昇格比率＝６０％
ＤＣ電力下にある場合、リミット例は以下の通りであってよい：
ＭＣ１への昇格比率＝２０％  もし時間の２０％がアイドルであれば、アイドルになったときにＭＣ１状態に入る。
ＭＣ２からの降格比率＝２０％  ＭＣ２状態にあったが現在において時間の２０％がアイドルであれば、ＭＣ１状態に入る。
ＭＣ２への昇格比率＝４０％  時間の４０％がアイドルであれば、アイドルになったときにＭＣ２状態に入る。
【００４９】
したがって、本実施形態によると、コントローラが十分な閾値分だけアイドルでない場合、たとえばアイドル＜８クロックである場合、コントローラはＭＣ０状態に留まってよい。しかし、コントローラが当該閾値分だけアイドルであった場合、アイドル時間を評価期間において累算してメモリと付随のメモリコントローラを電力節約状態に移行させる判定を下してよい。
【００５０】
たとえば、ＭＣ２への昇格比率は図３のＭＣ２昇格リミット３１２と同じであってよく、４０％リミットに達すれば、コントローラとメモリはアイドルとなったときにＭＣ２／セルフリフレッシュ３６０状態へと入ることができる。図３を参照すると、擬似コード例におけるその他の昇格／降格比率が図３の状態図にどのように対応するかは明らかであろう。
【００５１】
別の実施形態によると、メモリがアクセスされないでいる継続時間に基づき単純にアイドル時間を算出してよい。本実施形態例においては、あるＭＣ状態が別の状態へと切り替わるべき最小時間を保証してよく、たとえばコントローラがあるＭＣｘ状態へと入るたびにアイドル時間を算出してよい。したがって、本実施形態における擬似コードは以下の通りであってよい：
前回のグラフィックスアイドル時間がＭＣｘ＿Ｔｉｍｅ＿Ｐｒｏｍｏｔｅよりも多い場合、ＭＣｘ＋１へと昇格させる。
前回のグラフィックスアイドル時間持続がＭＣｘ＿Ｔｉｍｅ＿Ｄｅｍｏｔｅよりも少ない場合、ＭＣｘ−１へと降格させる。
したがって、もし：
ＭＣ１＿Ｔｉｍｅ＿Ｐｒｏｍｏｔｅ＝１００μ秒である場合、アイドル状態に費やされた最後の時間＞１００μ秒であれば、ＭＣ１状態へと移行する。
ＭＣ１＿Ｔｉｍｅ＿Ｄｅｍｏｔｅ＝４０μ秒である場合、ＭＣ４状態に費やされた最後の時間＜２０μ秒であれば、ＭＣ０状態へと移行する。
ＭＣ２＿Ｔｉｍｅ＿Ｐｒｏｍｏｔｅ＝２００μ秒である場合、ＭＣ４状態に費やされた最後の時間＞２００μ秒であれば、ＭＣ２状態へと移行する。
ＭＣ１＿Ｔｉｍｅ＿Ｄｅｍｏｔｅ＝２００μ秒である場合、ＭＣ５状態に費やされた最後の時間＜２００μ秒であれば、ＭＣ１状態へと移行する。
【００５２】
さらに、同一のアイドル期間内において任意に昇格を可能とする制御ビットを用いてよい。本実施形態における象徴的なステートマシーン（ｓｙｍｂｏｌｉｃ  ｓｔａｔｅ  ｍａｃｈｉｎｅ）は、評価期間全体においてアイドル時間を累算する実施形態と非常に類似しているが、ＭＣｘ＿ｙ＿リミットでなくＭＣｘ＿Ｔｉｍｅ＿ｙ閾値を用いる点は異なる。
【００５３】
図４は、ある実施形態に係る、メモリ及び／又はグラフィックスコントローラの電力消費を低下させる方法４００を示すフロー図である。図４を参照すると、ある実施形態に係る、メモリがセルフリフレッシュに入る方法は、ブロック４１０に示すようにメモリアクセスのアイドル時間量を算出することを含んでよく、ブロック４２０において実施形態に係る方法４００はメモリアクセスのアイドル時間がセルフリフレッシュ状態へと変化させるのに十分であるかを判定することを含んでよく、ブロック４３０において実施形態に係る方法４００はメモリアクセスのアイドル時間に基づきプロセッサからのプロセッサ電力状態についての明示の通知なしにセルフリフレッシュ状態へと変化させることを含むことができる。
【００５４】
いくつかの実施形態に係る方法においては、メモリアクセスのアイドル時間は、ある評価期間におけるデューティーサイクルの閾値であってよい。たとえば、アクティブプロセッサがバッテリ電源で動作している間、携帯型の実施例においては、図３を参照して記載したように、２０パーセントのアイドル時間を検出すればＤＲＰＭ状態へと遷移してよく、４０パーセントのアイドル時間により装着されたメモリのセルフリフレッシュ状態へと遷移してよい。
【００５５】
さらに、いくつかの実施形態に係る方法においては、メモリアクセスのアイドル時間は特定の電力状態の最小継続時間であってよい。たとえば、コントローラのある状態の継続が最小時間に達すれば、たとえば所定の継続時間に亘りＤＲＰＭ状態にあったメモリコントローラはセルフリフレッシュ状態へと昇格し、かつ装着されたメモリはセルフリフレッシュへと入ってよく、あるいはメモリコントローラが所定の閾値未満であれば通常のメモリ状態へと降格してよい。いくつかの実施形態においては、同一のアイドル期間内において任意に昇格を行うための制御ビットを設定してよい。
【００５６】
本発明は、その趣旨あるいは本質的特性から逸脱することなく他の特定的形態において具現化してよい。記載した実施形態は、あらゆる点において制限的もしくは限定的としてでなく単に例示的であると見做されるべきである。したがって、本発明の範囲は、上記の記載でなく添付の請求項により示される。請求項の均等の意義、趣旨、範囲にある変更、修正、改変は全て添付の請求項の範囲内に包含される。
【図１】
2009515263.tif 000003
【図２】
2009515263.tif 000004
【図３】
2009515263.tif 000005
【図４】
2009515263.tif 000006
【国際調査報告】
2009515263.tif 000007
2009515263.tif 000008
2009515263.tif 000009