JP3935873B2 - プリフェッチ・バッファを用いたメモリ電力管理 - Google Patents

プリフェッチ・バッファを用いたメモリ電力管理 Download PDF

Info

Publication number
JP3935873B2
JP3935873B2 JP2003417332A JP2003417332A JP3935873B2 JP 3935873 B2 JP3935873 B2 JP 3935873B2 JP 2003417332 A JP2003417332 A JP 2003417332A JP 2003417332 A JP2003417332 A JP 2003417332A JP 3935873 B2 JP3935873 B2 JP 3935873B2
Authority
JP
Japan
Prior art keywords
memory
request
prefetch buffer
data
power state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003417332A
Other languages
English (en)
Other versions
JP2004199684A (ja
Inventor
ハズィム・シャーフィー
シバクマル・ベルサミー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004199684A publication Critical patent/JP2004199684A/ja
Application granted granted Critical
Publication of JP3935873B2 publication Critical patent/JP3935873B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

本発明は、コンピュータ・データ・システムに関し、より詳細には、メモリ・コントローラに関し、さらに詳細には、メモリ性能を向上させながらメモリの電力消費を低減させるための改良された方法およびシステムに関する。
コンピュータ・システム内のメモリ・バンクは、コンピュータ・システムの電力のうち大きな部分を消費する。メモリ・コンポーネントは通常、複数の電力低減モード(例えばSDRAMのセルフ・リフレッシュおよびパワー・ダウン)をサポートするが、こうしたサポート機能は一般に、システム内で利用されていない。要求を処理し終えたらメモリ・バンクの電源を切るという単純な電力低減技法は、次の要求時にメモリを起動することに伴う性能上の悪影響のため、好ましくない。
したがって、関連する性能上の悪影響を低減させながら、メモリ用の電力低減技法を利用できるようにするシステムおよび方法が必要とされている。
本発明の目的は、著しい性能上の悪影響を招くことなく、メモリの電力使用を低減させるためのシステムおよび方法を提供することである。
本発明のさらなる目的は、メモリ性能を向上させながら、メモリの電力使用を低減させるためのシステムおよび方法を提供することである。
本発明の一態様によれば、メモリ性能を改良し、かつメモリの電力要求を低減させるためのシステムおよび方法が記載されている。この改良を実現するため、プリフェッチ・バッファが、付随するプリフェッチ・ロジックと共に、メモリ・コントローラに追加される。メモリ・コントローラは最初、プリフェッチ・バッファからメモリ要求を満足させるデータを取得しようと試みるので、主メモリは、主メモリへのアクセスが必要となるまで、低減された電力状態に留まることができる。メモリ・コントローラがプリフェッチ・バッファからメモリ要求を満足させるデータを取得できない場合、主メモリはアクティブな電力状態に切り替えられ、プリフェッチ・ロジックが呼び出される。プリフェッチ・ロジックは、要求されたメモリ・データをロードし、その要求されたメモリ・データを要求側に返すとともに、近い将来に要求される可能性のあるメモリ・データをプリフェッチ・バッファにロードする。プリフェッチ・ロジックの実行と並行して、メモリ・コントローラは要求されたデータを返す。メモリ・コントローラは、主メモリからのデータ取得のあと即座に、主メモリを低減された電力状態においてもよく、あるいは次のメモリ要求がミスする可能性に基づいて選択された間隔の後、主メモリを低減された電力状態においてもよい。
本発明のより完全な理解と、本発明に付随する利点の多くは、以下の詳細な説明を参照し、添付の図面と併せて考察すればより良く理解されるので、容易に明らかとなるであろう。添付の図面において、同一の参照符号は同一または類似のコンポーネントを示す。
ここで図面、特に図1を参照すると、本発明の好ましい実施形態による、ネットワーク(図示せず)と通信可能なデータ処理システム100が示されている。データ処理システム100は、例えば、ニューヨーク州アーモンクに所在するインターナショナル・ビジネス・マシーンズ・コーポレーションから市販のパーソナル・コンピュータまたはサーバの一モデルでよい。データ処理システム100は、プロセッサを1つだけ含むものでもよく、また複数のプロセッサを含むマルチプロセッサ(MP)システムでもよい。記載の例には、単一プロセッサ・システムが示されている。別個のL2キャッシュを有するまたはプロセッサ102とL2キャッシュ108を共用する第2のプロセッサ(図示せず)を、記載のシステムに追加することもできる。プロセッサ102は、レベル1(L1)命令用キャッシュ104とデータ用キャッシュ106とを別々にプロセッサ内に含む、スーパスカラRISC(縮小命令セット・コンピュータ)プロセッサでよい。
プロセッサ102は、レベル2(L2)キャッシュ108に接続されている。L2キャッシュ108は、データ処理システム100用のシステム・バス110に接続されている。システム・メモリ112も、メモリ・コントローラ130を介してシステム・バス110に接続されており、入出力(I/O)バス・ブリッジ114も同様にシステム・バスに接続されている。I/Oバス・ブリッジ114は、I/Oバス118をシステム・バス110に結合し、一方のバスから他方のバスへのデータ・トランザクションを中継または変換し、あるいはその両方を行う。ディスプレイ124にユーザ・インタフェース情報を提供するメモリマップド・グラフィックス・アダプタ116など、その他の装置をシステム・バス110に接続してもよい。
I/Oバス・ブリッジ114は、I/Oバス118に接続され、このI/Oバスには、入力装置126や不揮発性記憶装置122などその他の様々な装置が接続される。入力装置としては、従来のマウス、トラックボール、キーボードその他を、不揮発性記憶装置としては、ハード・ドライブ、CD−ROM(コンパクト・ディスク読取り専用メモリ)ドライブ、DVD(デジタル・ビデオ・ディスク)ドライブ、その他類似の記憶装置を挙げることができる。
またI/Oバス118には、ネットワークとの論理インタフェースを提供するネットワーク・アダプタ120も接続される。ネットワークとしては、LAN(ローカル・エリア・ネットワーク)、WAN(ワイド・エリア・ネットワーク)、データ処理システム100との通信を提供するその他のネットワークを挙げることができる。
図1に示す例示的な実施形態は、本発明を説明するために示したものにすぎず、形態および機能の両面において数々の変形が可能であることは当業者であれば認識できるであろう。例えば、データ処理システム100は、サウンド・カードおよび音声スピーカ、その他のI/O装置および通信ポート、ならびに他の様々なコンポーネントを含むことができる。さらに、本発明は、メモリ・コントローラをプロセッサに統合したシステム内で実施することもできる。こうした変形はすべて、本発明の範囲および主旨に含まれるものと考えられる。
次に図2を参照すると、本発明を実施するためのメモリ・コントローラのブロック図が示されている。メモリ・コントローラ200は、プリフェッチ・バッファ204とプリフェッチ・ロジック202とを含む。メモリ・コントローラ200は、論理的にメモリ208に接続される。さらに、メモリ・コントローラ200は、システム・バス206を介してバス装置210に接続される。バス装置210は、システム・バスに接続することのできる、プロセッサ、周辺装置、または他の装置でよい。
メモリ208は、電力消費を低減させるために、アクティブな電力状態および非アクティブな電力状態で動作することができる。非アクティブな電力状態では、メモリ208はその内容を保持することはできるが、外部のコンポーネントが直ちにアクセスすることはできない。
プリフェッチ・ロジック202は、将来のメモリ要求を予測して、その要求データをプリフェッチ・バッファ204にロードする。好ましい実施形態においては、プリフェッチ・ロジック202はハードウェアで実施されるが、プリフェッチ・ロジックをハードウェア、ソフトウェア、またはその組合せで実施してもよいことは、当業者であれば理解できるであろう。プリフェッチ・ロジック202で使用されるアルゴリズムは、将来のメモリ・アクセスを予測するための、本技術分野で公知の任意のアルゴリズムでよい。
プリフェッチ・バッファ204には、将来アクセスされるであろうとプリフェッチ・ロジック202が予測するメモリ位置がキャッシュされる。好ましい実施形態においては、プリフェッチ・バッファ204は、読出し要求データをバッファリングするために割り付けられた部分と書込み要求データをバッファリングするために割り付けられた別の部分とを含む。
電力モード・ロジック212は、メモリ・コントローラに論理的に接続されたメモリの電力状態を制御する。電力モード・ロジックは、プリフェッチ・バッファ204からメモリ要求を満足させるデータが取得できず、メモリ208をアクセスしなければならない場合、メモリをアクティブな電力状態にする。一実施形態においては、電力モード・ロジック212は、プリフェッチ・バッファ204から要求を満足するデータが取得できない場合、メモリ208の電力状態をアクティブに変更する。電力モード・ロジック212は、メモリからのデータ取得のあと、メモリ208を非アクティブな電力状態に戻す。別の実施形態においては、電力モード・ロジックは、次のメモリ要求がミスする可能性または一定の経過時間に基づく判断を行い、メモリが低減された電力状態に戻るのを遅らせる。
次に図3を参照すると、本発明を実施するための1組のステップからなるフローチャートが示されている。ステップ302に示すように、プロセスはメモリ・コントローラがメモリ要求を受け取ることで始まる。メモリ要求はメモリに対する読取り動作でもよく、書込み動作でもよい。要求が判断ステップ304で書込みであると判断された場合、ステップ306に進み、メモリ・コントローラがその書込みデータをプリフェッチ・バッファにバッファリングする。図3で説明する好ましい実施形態においては、バッファリングされた書込み要求データは、ステップ316に関して説明するように、次にメモリの電力状態がアクティブになったときにメモリに対してコミットされる。プリフェッチ・バッファに書込みデータのための十分な空領域が存在しているかどうかをメモリ・コントローラが判断しなければならないことは、当業者であれば容易に理解されよう。十分な空領域がない場合、保留中書込み(pending write)をメモリに対してコミットしてもよい。
メモリ要求がステップ304で読出し要求であると判断された場合、プリフェッチ・バッファから読出し要求を満足させるデータが取得できるかどうかをメモリ・コントローラが判断することを示すステップ308に進む。プリフェッチ・バッファから要求を満足させるデータが取得できる場合、ステップ310に示すように、メモリ・コントローラはプリフェッチ・バッファから読出し要求を満足させるデータを取得する。
メモリ・コントローラがプリフェッチ・バッファから読出し要求を満足させるデータを取得できない場合、ステップ312に進んで、メモリ・コントローラがメモリの電力モードをアクティブな電力レベルに変更する。メモリがアクティブな電力状態に置かれた後、2つの動作が並行して起こる。第1の動作は、メモリ・コントローラが要求されたデータをメモリからロードすることであり、ステップ314に示されている。第2の動作は、メモリ・コントローラがプリフェッチ・ロジックを実行して将来要求される可能性のあるメモリ・アドレスをロードすることであり、ステップ316に示されている。さらに必要であれば、メモリ・コントローラはメモリに対して保留中書込み動作をコミットする。
ステップ314および316が完了すると、ステップ320に進んで、メモリ・コントローラがメモリの電力モードを低減されたまたは非アクティブな電力状態に変更する前に一定の期間待機する。本発明の簡単な実施形態においては、ステップ320におけるタイムアウトまでの時間は0であってもよく、また将来のメモリ要求がミスする可能性に基づく一定の時間であってもよい。ステップ320の後、ステップ318に進んで、メモリ・コントローラがメモリの電力モードを低減された電力状態に変更する。
上述した手続きにおいて、類似の結果を依然として実現しながら、変形を施すことができることが、当業者には容易に理解されよう。具体的には、メモリはアクセスされたあと即座に、非アクティブな電力モードに置かれる必要はない。何らかの判断に基づく一定の間隔の後、メモリを非アクティブな電力モードにおくために、追加のロジックを利用することもできる。
本明細書に記載した実施形態および例は、本発明およびその実際的な適用例を最もよく説明し、それによって当業者が本発明を実施でき使用できるようにするために提示したものである。しかし、上述の説明および例が、説明および例のために提示されたにすぎないことが、当業者には理解されよう。記載の説明は、網羅的であること、または本発明を開示された通りの態様に限定することを意図したものではない。上述の教示に照らして、様々な変更および変形が、添付の特許請求の範囲の主旨および範囲から逸脱することなく可能である。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)電力消費が低減され、性能が改良されたコンピュータ・システムであって、
メモリ・コントローラと、
前記メモリ・コントローラに論理的に接続され、複数の電力モードに置くことができるメモリと、
将来のメモリ要求を予測するための、前記メモリ・コントローラに関連づけられたプリフェッチ・ロジックと、
予測されたメモリ要求を格納するための、前記メモリ・コントローラに関連づけられたプリフェッチ・バッファと、
前記プリフェッチ・バッファ内の内容に応じて前記複数の電力モードを選択的に有効にするための、前記メモリ・コントローラに関連づけられた電力モード・ロジックとを含むコンピュータ・システム。
(2)前記電力モード・ロジックが、
前記メモリ・コントローラに関連づけられたプリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できるかどうかを判断するステップと、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できると判断したことに応答して、前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得するステップと、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答して、
前記メモリがまだアクティブな電力状態になっていない場合は、前記メモリの電力モードを前記アクティブな電力状態に変更し、
前記メモリ要求を満足させた後のある時点で、前記メモリの電力モードを非アクティブな電力状態に変更するステップを含む、上記(1)に記載のコンピュータ・システム。
(3)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記プリフェッチ・ロジックを使用して、前記プリフェッチ・バッファにメモリ・データをロードするステップを含む、上記(2)に記載のコンピュータ・システム。
(4)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記メモリから前記メモリ要求を満足させるデータを取得するステップを含む、上記(2)に記載のコンピュータ・システム。
(5)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得するステップを含む、上記(3)に記載のコンピュータ・システム。
(6)複数の電力モードを有するメモリに論理的に接続された、電力消費が低減され、性能が改良されたメモリ・コントローラであって、
将来のメモリ要求を予測するための、前記メモリ・コントローラに関連づけられたプリフェッチ・ロジックと、
予測されたメモリ要求を格納するための、前記メモリ・コントローラに関連づけられたプリフェッチ・バッファと、
前記プリフェッチ・バッファ内の内容に応じて前記複数の電力モードを選択的に有効にするための、前記メモリ・コントローラに関連づけられた電力モード・ロジックとを含むメモリ・コントローラ。
(7)前記電力モード・ロジックが、
前記メモリ・コントローラに関連づけられたプリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できるかどうかを判断するステップと、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できると判断したことに応答して、前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得するステップと、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答して、
前記メモリがまだアクティブな電力状態になっていない場合は、前記メモリの電力モードを前記アクティブな電力状態に変更し、
前記メモリ要求を満足させた後のある時点で、前記メモリの電力モードを非アクティブな電力状態に変更するステップを含む、上記(6)に記載のメモリ・コントローラ。
(8)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記プリフェッチ・ロジックを使用して、前記プリフェッチ・バッファにメモリ・データをロードするステップを含む、上記(7)に記載のメモリ・コントローラ。
(9)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記メモリから前記メモリ要求を満足させるデータを取得するステップを含む、上記(8)に記載のメモリ・コントローラ。
(10)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得するステップを含む、上記(8)に記載のメモリ・コントローラ。
(11)メモリの電力使用を低減し、メモリ性能を向上させる方法であって、
メモリに論理的に接続されたメモリ・コントローラでメモリ要求を受け取るステップと、
前記メモリ・コントローラに関連づけられたプリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できるかどうかを判断するステップと、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できると判断したことに応答して、前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得するステップと、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答して、
前記メモリがまだアクティブな電力状態になっていない場合は、前記メモリの電力モードを前記アクティブな電力状態に変更し、
前記メモリ要求を満足させた後のある時点で、前記メモリの電力モードを非アクティブな電力状態に変更するステップを含む方法。
(12)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
プリフェッチ・アルゴリズムを実行して、前記プリフェッチ・バッファにメモリ・データをロードするステップを含む、上記(11)に記載の方法。
(13)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記メモリから前記メモリ要求を満足させるデータを取得するステップを含む、上記(11)に記載の方法。
(14)前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答するステップがさらに、
前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得するステップを含む、上記(12)に記載の方法。
メモリの低減された電力動作を実施するためのコンピュータ・システムのブロック図である。 本発明を実施するためのメモリ・コントローラのブロック図である。 メモリの電力消費を最小に抑えながらメモリ要求を満たすための1組のステップを示すフローチャートである。
符号の説明
100 データ処理システム
102 プロセッサ
104 L1命令キャッシュ
106 L1データ・キャッシュ
108 L2キャッシュ
110 システム・バス
112 システム・メモリ
114 I/Oバス・ブリッジ
116 グラフィックス・アダプタ
118 I/Oバス
120 ネットワーク・アダプタ
122 不揮発性記憶装置
124 ディスプレイ
126 入力装置
200 メモリ・コントローラ
202 プリフェッチ・ロジック
204 プリフェッチ・バッファ
206 システム・バス
208 メモリ
210 バス装置
212 電力モード・ロジック

Claims (6)

  1. 複数の電力モードを有するメモリに論理的に接続され、電力消費が低減され、性能が改良されたメモリ・コントローラであって、
    予測されたメモリ要求を格納するための、前記メモリ・コントローラに関連づけられたプリフェッチ・バッファと、
    受取ったメモリ要求が、書込み要求か読出し要求かを判断する手段と、
    メモリ要求が読出し要求であると判断された場合には、前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できるかどうかを判断する手段と、
    前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できると判断したことに応答して、前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得する手段と、
    前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答して、前記メモリがまだアクティブな電力状態になっていない場合は、前記メモリの電力モードをアクティブな電力状態に変更する、電力モード・ロジックと、
    メモリの電力モードがアクティブな電力状態に変更された後に、前記メモリ要求を満足させるデータを読出す手段と、
    前記メモリ要求を満足させるデータを取得するのと並行して、前記プリフェッチ・バッファに将来要求される可能性のあるメモリ・アドレスをロードするプリフェッチ・ロジックと、
    メモリ要求が書込み要求であると判断された場合には、書込みデータを前記プリフェッチ・バッファにバッファする手段と、
    前記書込み要求の次の読出し要求に応答してメモリの電力モードがアクティブな電力状態に変更された後に、前記プリフェッチ・バッファにバッファされた書込みデータを書込む手段と、
    を備えることを特徴とするメモリ・コントローラ。
  2. 前記電力モード・ロジックが、
    前記メモリ要求を満足させるデータの読出しの完了時点から一定時間電力モードをアクティブな電力状態に維持する手段と、
    前記一定時間経過後に、メモリを低減された電力状態に戻す手段と、
    をさらに備える、請求項1記載のメモリ・コントローラ。
  3. メモリ要求が書込み要求であると判断された場合に、前記プリフェッチ・バッファに書込みデータのための十分な空領域が存在しているかどうかを判断する手段をさらに備える、請求項1または2記載のメモリ・コントローラ。
  4. 請求項1〜3のいずれか1項記載のメモリ・コントローラを含むコンピュータ・システム。
  5. メモリの電力使用を低減し、メモリ性能を向上させる方法であって、
    メモリに論理的に接続されたメモリ・コントローラに下記ステップを実行させる方法、
    メモリ要求を受け取るステップ、
    前記メモリ要求が、書込み要求か読出し要求かを判断するステップ
    メモリ要求が読出し要求であると判断した場合には該メモリ内のプリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できるかどうかを判断するステップと、
    前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できると判断したことに応答して、前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得するステップ、
    前記プリフェッチ・バッファから前記メモリ要求を満足させるデータを取得できないと判断したことに応答して、前記メモリがまだアクティブな電力状態になっていない場合は、前記メモリの電力モードを前記アクティブな電力状態に変更するステップ、及び
    前記メモリ要求を満足させるデータを取得し、該取得動作と並行して、将来要求される可能性のあるメモリ・アドレスを前記プリフェッチ・バッファにロードするステップ、
    メモリ要求が書込み要求であると判断された場合には、書込みデータを前記プリフェッチ・バッファにバッファするステップと、
    前記書込み要求の次の読出し要求に応答してメモリの電力モードがアクティブな電力状態に変更された後に、前記プリフェッチ・バッファにバッファされた書込みデータを書込むステップ。
  6. 前記メモリ要求を満足させた後、所定の時間、前記メモリの電力モードをアクティブな電力状態に維持するステップ、及び
    前記所定の時間経過後に、前記メモリの電力モードを低減された電力状態に変更するステップ、
    をメモリ・コントローラにさらに行わせる、請求項5記載の方法。
JP2003417332A 2002-12-19 2003-12-15 プリフェッチ・バッファを用いたメモリ電力管理 Expired - Lifetime JP3935873B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/324,512 US6938146B2 (en) 2002-12-19 2002-12-19 Memory power management using prefetch buffers

Publications (2)

Publication Number Publication Date
JP2004199684A JP2004199684A (ja) 2004-07-15
JP3935873B2 true JP3935873B2 (ja) 2007-06-27

Family

ID=32593456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003417332A Expired - Lifetime JP3935873B2 (ja) 2002-12-19 2003-12-15 プリフェッチ・バッファを用いたメモリ電力管理

Country Status (3)

Country Link
US (1) US6938146B2 (ja)
JP (1) JP3935873B2 (ja)
CN (1) CN1255732C (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343502B2 (en) * 2004-07-26 2008-03-11 Intel Corporation Method and apparatus for dynamic DLL powerdown and memory self-refresh
US8028143B2 (en) * 2004-08-27 2011-09-27 Qualcomm Incorporated Method and apparatus for transmitting memory pre-fetch commands on a bus
US8010764B2 (en) * 2005-07-07 2011-08-30 International Business Machines Corporation Method and system for decreasing power consumption in memory arrays having usage-driven power management
US7664918B2 (en) * 2006-07-24 2010-02-16 Sun Microsystems, Inc. Handling fetch requests that return out-of-order at an instruction fetch unit
US8473688B2 (en) 2010-03-26 2013-06-25 Microsoft Corporation Anticipatory response pre-caching
US9720859B1 (en) 2010-04-30 2017-08-01 Mentor Graphics Corporation System, method, and computer program product for conditionally eliminating a memory read request
JP5674611B2 (ja) * 2011-09-22 2015-02-25 株式会社東芝 制御システム、制御方法およびプログラム
US9311228B2 (en) 2012-04-04 2016-04-12 International Business Machines Corporation Power reduction in server memory system
JP5714169B2 (ja) * 2014-11-04 2015-05-07 株式会社東芝 制御装置および情報処理装置
TW202340943A (zh) * 2022-04-06 2023-10-16 聯發科技股份有限公司 用於執行包括多個運算元的程式的裝置及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5901103A (en) * 1997-04-07 1999-05-04 Motorola, Inc. Integrated circuit having standby control for memory and method thereof
US6014751A (en) * 1997-05-05 2000-01-11 Intel Corporation Method and apparatus for maintaining cache coherency in an integrated circuit operating in a low power state

Also Published As

Publication number Publication date
CN1255732C (zh) 2006-05-10
JP2004199684A (ja) 2004-07-15
US20040123042A1 (en) 2004-06-24
CN1508694A (zh) 2004-06-30
US6938146B2 (en) 2005-08-30

Similar Documents

Publication Publication Date Title
JP4621540B2 (ja) 主及び補助プロセッサを備えた低電力コンピュータ
JP4969804B2 (ja) 適応記憶システム
US7945737B2 (en) Memory hub with internal cache and/or memory access prediction
US5835435A (en) Method and apparatus for dynamically placing portions of a memory in a reduced power consumtion state
US6141283A (en) Method and apparatus for dynamically placing portions of a memory in a reduced power consumption state
US6948033B2 (en) Control method of the cache hierarchy
JP5624583B2 (ja) プログラム、計算処理装置、メモリ管理方法および計算機
JP4866646B2 (ja) メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム
US20060075185A1 (en) Method for caching data and power conservation in an information handling system
EP1189132A2 (en) Shared peripheral architecture
JPH1055307A (ja) コンピュータ・システム
US20200301857A1 (en) Multi-port storage device multi-socket memory access system
US8140825B2 (en) Systems and methods for selectively closing pages in a memory
US7392353B2 (en) Prioritization of out-of-order data transfers on shared data bus
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
JP3935873B2 (ja) プリフェッチ・バッファを用いたメモリ電力管理
JPH06222992A (ja) キャッシュシステムおよびキャッシュコントローラを制御するための方法
CN117377943A (zh) 存算一体化并行处理系统和方法
JP4364878B2 (ja) 演算処理装置
US20060026363A1 (en) Memory control device, move-in buffer control method
US10180904B2 (en) Cache memory and operation method thereof
US7020745B1 (en) AMBA-based secondary cache controller and method of operating the same
US20240345774A1 (en) Information processing system
JPH11338774A (ja) 情報処理装置及びそのシステムバス最適化方法並びにその制御プログラムを記録した記録媒体
JPH10105466A (ja) ディスク装置のキャッシュメモリ制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060310

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060310

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061108

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061108

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070130

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070130

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070309

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070320

R150 Certificate of patent or registration of utility model

Ref document number: 3935873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

EXPY Cancellation because of completion of term