JP5624583B2 - プログラム、計算処理装置、メモリ管理方法および計算機 - Google Patents
プログラム、計算処理装置、メモリ管理方法および計算機 Download PDFInfo
- Publication number
- JP5624583B2 JP5624583B2 JP2012125215A JP2012125215A JP5624583B2 JP 5624583 B2 JP5624583 B2 JP 5624583B2 JP 2012125215 A JP2012125215 A JP 2012125215A JP 2012125215 A JP2012125215 A JP 2012125215A JP 5624583 B2 JP5624583 B2 JP 5624583B2
- Authority
- JP
- Japan
- Prior art keywords
- power state
- power
- area
- partial
- memory
- 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 - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 314
- 238000012545 processing Methods 0.000 title claims description 86
- 238000007726 management method Methods 0.000 title claims description 24
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 239000000872 buffer Substances 0.000 claims description 99
- 238000004364 calculation method Methods 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 2
- 230000007958 sleep Effects 0.000 description 159
- 238000012546 transfer Methods 0.000 description 80
- 238000000034 method Methods 0.000 description 46
- 238000006243 chemical reaction Methods 0.000 description 41
- 230000008569 process Effects 0.000 description 29
- 238000004422 calculation algorithm Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000009467 reduction Effects 0.000 description 9
- 238000013519 translation Methods 0.000 description 8
- 230000000717 retained effect Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 241000238876 Acari Species 0.000 description 3
- 238000012508 change request Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Power Sources (AREA)
- Memory System (AREA)
Description
図2にメインメモリ31に用いるメモリモジュールの構成例を示す。
計算機の電源を投入すると、BIOSと呼ばれるプログラムがメインメモリ31に読み込まれ、CPUコア12にて実行される。BIOSは、計算機のハードウエア構成を確認し、各デバイス(HDDや無線NIC)を初期化し、HDD41に格納されたOSを、メモリ31に読み込む。OSがメモリ31に読み込まれた後は、BIOSはOSに制御を移す(OSの所定の命令にジャンプする)。OSは起動処理を行ない、予め定められたプログラムを実行する。あるいは外部入力手段の入力に従って、プログラムを起動する。
Pa:アクティブ状態を維持するために必要な電力
Ps:スリープ状態を維持するために必要な電力
Psa:スリープ状態からアクティブ状態に遷移する際に必要な電力
Pas:アクティブ状態からスリープ状態に遷移する際に必要な電力
とすると、以下の式で、求めることができる。
上述の例では、アクセス頻度Fi( )を用いて、セグメントの電力状態を決めた。これは、将来のアクセス頻度を、過去のアクセス頻度Fi( )を用いて予測し、これにより将来の消費電力が最も小さくなるようにセグメントの電力状態(アクティブまたはスリープ)を決めていると言える。
図4に論理アドレスから物理アドレスへのアドレス変換の動作を模擬的に示す。
上では、CPUコアがメモリモジュールにセグメントの電力状態を変更する命令を発行する場合を例に挙げて、説明を行ったが、この命令をMMU15が発行しても構わない。また、図5のセグメント情報管理テーブルをメモリモジュール101が保持し、アクセス回数とアクセス頻度の計算を行い、メモリモジュール101内でセグメントの電力状態を変更することも可能である。
プロセスあるいはOSがメモリを必要とする場合、OSは物理ページを確保し、対応する論理アドレスを決め、アドレス変換表に書き込む。図6は、物理メモリの使用状態を模擬的に記した図である。
図11は、メモリモジュール101の構成図である。図11に示す構成例は、4セグメントの構成である。メモリモジュールは、制御部201と、リフレッシュカウンタ202と、アドレスバッファ203と、I/Oバッファ204と、4つのメモリセルアレイ部211、212、213、214とを備える。各メモリセルアレイ部は、メモリセルアレイ、ロウデコーダ、カラムデコーダ、センスアンプを備える。
図14は、本実施形態に係る計算処理装置の構成例である。
このように本実施例では、セグメント毎のメモリアクセス頻度といったアクセス負荷を計算し、そのアクセス負荷を元にセグメントの電力状態を制御する。本実施例は様々な変形が可能であり、例えば、MMUを有さない計算機アーキテクチャにおいても実行可能である。
実施例1では、セグメント毎に電力状態を制御する方法を示した。本実施例では、さらにページのアクセス頻度に応じて、ページの所属するセグメントを変更することで、セグメントをスリープさせる機会を増やす手法を示す。
メモリアクセスには、時間局所性(一度アクセスされたメモリ番地は短期間のうちに再度アクセスされる)と、空間局所性(一度アクセスされたメモリ番地の近隣のメモリがよくアクセスされる(ここでメモリ番地とは論理アドレスである))を有すると信じられている。もし、何らかの手段により、よくアクセスされるメモリ領域を特定のセグメントに集めることができれば、より多くのセグメントをスリープ状態にし得ると期待できる。
メモリアクセスの局所性を利用するために、ページ置き換えを行う。ページ置き換えとは、あるページにアクセスが発生した際に、以後そのページ内のアクセスが多く発生することを見越して、アクセス頻度の高いセグメントにそのページを移動する操作である。
CPUコア12が論理アドレスへのアクセスを実行する際に、MMU15のアドレス変換表を用いて、物理アドレスをみつける(実施例1と同様)。さらに、セグメント情報管理テーブル(図5参照)を参照し、その物理アドレスがスリープセグメントにあるかアクティブセグメントにあるかを調べる。もし、スリープセグメント上にあるならば、そのセグメントをアクティブ状態に移行し、その物理アドレスを含むページを別のアクティブセグメント上のページと置き換える。そして、当該別のアクティブセグメントにおける当該置換後のページにアクセスするとともに、アクティブ状態に移行された上記セグメントをスリープ状態に戻す。
CPUが論理アドレスを用いてアクセスする際に、アドレス変換表から物理アドレスを調べ、セグメント情報変換テーブル(図5参照)からセグメント情報を得て、物理メモリにアクセスする。この際、該当セグメントのアクセス回数をインクリメントする。
2.アクセス頻度がλactive以下のアクティブセグメントが存在せず、アクセス頻度がλsleep以上のスリープセグメントが存在する場合、スリープセグメント数を一つ減らす。(図7において(a)から(b)に変更)
3.アクセス頻度がλactive以下のアクティブセグメントが存在せず、アクセス頻度がλsleep以上のスリープセグメントが存在しない場合、スリープセグメント数を変更しない。
4.アクセス頻度がλactive下のアクティブセグメントが存在し、アクセス頻度がλsleep上のスリープセグメントが存在する場合、スリープセグメント数を変更しない。
上では、CPUがメモリモジュールにセグメントの電力状態を変更する命令を発行する場合を例に挙げて、説明を行ったが、この命令をMMU15が発行しても構わない。
プロセスあるいはOSがメモリを必要とする場合、OSは物理ページを確保し、対応する論理アドレスを決め、アドレス変換表に書き込む。図6は、物理メモリの使用状態を模擬的に記した図である。
図15は、本実施例に係る計算処理装置の構成例を示す。
本実施例では、OSがメモリアクセス頻度を算出し、これを基に電力状態の変更要求をメモリモジュールに送信した。別の構成としてデーモンプロセスのようなユーザ空間で実行されるプログラムがこれを行ってもよいし、ソフトウエアのCPU処理ではなく別のハードウエアによる処理で実現することも可能である。
実施例2の構成に加え、仮想メモリを利用する場合について、説明を行う。本実施例のブロック構成は、実施例2と同様である。また、実施例1、2で記載した様々なバリエーションは、実施例3にも適用可能である。
仮想メモリとは、論理ページ上のデータが物理メモリ上ではなく、HDDなどの他の記憶媒体上に存在できるようにする方法である。これは、アドレス変換表を拡張することで実現する。
次に、物理メモリ31上のデータをHDD41に書き出す処理について述べる。
本発明は、DRAMのような不揮発メモリに対して適用可能であるが、MRAMのような不揮発メモリに対して適用すると、スリープ状態での消費電力を一層削減することができるため、一層好適である。
実施例1〜3では、メモリ領域の一部がスリープ状態となるため、DMA転送を用いる場合に、そのアクセス先のメモリ領域がスリープしていると、DMA転送に失敗する可能性がある。そこで、本実施例では、これまで述べた実施例でDMA転送を実現する方法について述べる。本実施例のブロック構成は、実施例2と同様である。
DMA転送とは、バスデバイス上のデータをメインメモリに転送させる際(あるいはメインメモリ上のデータをバスデバイスに転送させる際)に、CPUのかわりにDMAコントローラ(図1参照)を用いて、データ転送を行う方法である。CPUがデータ転送処理を行なう必要がないため、データ転送以外の他の処理をCPUが行うことができ、計算機の処理性能の向上が期待できる。
1. プロセスがreadシステムコールを呼ぶなどして、バスデバイス上のデータを要求する。
2. そのプロセスはスリープし、以下、OSによるreadシステムコールの処理となる。
3. readシステムコールの読み込み元アドレスの値から、それがデバイス上のデータであることを判断し、そのデバイスに対応するデバイスドライバに処理を任せる。
4. デバイスドライバは、DMA転送先のバッファ領域をメインメモリ31上に確保し、DMAコントローラ17に、readシステムコールで指定されたデータを、確保したバッファ領域に転送するよう設定する。
5. DMAコントローラ17は、CPUコア12と交渉しバスマスタとなり、バス転送を開始できる権限を得る。その後、バスを用いてデバイス上のデータをバッファ領域に転送する。
6. DMA転送が終了すると、DMAコントローラ17はCPU割り込みをいれる。
7. この割込みによりCPUコア12は割り込みハンドラを起動し、バッファ領域上のデータを、プロセスがreadシステムコールで指定してきたメモリ領域にコピーする。
8. プロセスはスリープを終え、コピーされたデータを処理する。
1. プロセスがwriteシステムコールを呼ぶなどして、バスデバイス上へのデータ書き込みを要求する。
2. そのプロセスはスリープし、以下、OSによるwriteシステムコールの処理となる。
3. writeシステムコールの書き込み先アドレスの値から、それがデバイス上であることを判断し、そのデバイスに対応するデバイスドライバに処理を任せる。
4. デバイスドライバは、DMA転送先のバッファ領域をメインメモリ31上に確保し、writeシステムコールで指定されたデータを、このバッファ領域にコピーする。そして、DMAコントローラ17に、writeシステムコールで指定された転送先に、バッファ領域のデータを転送するよう設定する。
5. DMAコントローラ17は、CPUと交渉しバスマスタとなり、バス転送を開始できる権限を得る。その後、バスを用いてバッファ領域のデータをデバイスに転送する。
6. DMA転送が終了すると、DMAコントローラ17はCPUコア12に割り込み信号を送る。
7. プロセスはスリープを終え、writeシステムコールの次の処理を行う。
1. 無線NIC51が無線リンクを介してパケットを受信し、その物理層の処理とMAC層の処理を行い、抽出したパケット(イーサフレーム)をNIC内のFIFOに蓄え、割り込み信号をCPUに送る。
2. CPUコア12は割り込みハンドラを起動し、NIC51のデバイスドライバが処理を開始する。
3. デバイスドライバは、DMA転送先のバッファ領域をメインメモリ31上に確保し、DMAコントローラ17にパケットをバッファ領域に転送するよう設定する。
4. DMAコントローラ17は、CPUコア12と交渉しバスマスタとなり、バス転送を開始できる権限を得る。その後、バスを用いてNIC51のFIFO内のパケットをバッファ領域に転送する
5. DMA転送が終了すると、DMAコントローラ17はCPU割り込み信号を送る
6. この割込みによりCPUコア12は割り込みハンドラを起動し、バッファ領域上のパケットの処理を行う。
[動作概略]
上述のDMA転送シーケンスとは別に、デバイスドライバはその初期化時(例えば、OS起動時、あるいは動的にロード可能なデバイスドライバの場合は、そのロード時)に、DMA転送に使用するバッファ領域をOSに対して予め確保する。確保された領域を保持するセグメントはスリープ状態としないようにする。ブロック図での動作を説明すると、計算処理装置における入出力処理部503は、ダイレクトメモリアクセス用のバッファ領域をセグメントに確保する手段を備え、電力状態決定部501は、バッファ領域が確保されたセグメントをアクティブに維持することを決定する。上述のDMA転送シーケンスにおいてバッファ領域の確保を行う際に、この予め確保した領域を用いることで、DMA転送先(あるいは転送元)を必ずアクティブ状態のセグメントとすることができる。
予約領域の確保について詳細に記す。
無線NIC51のデバイスドライバは、その初期化時に確保したバッファ領域を用いて、DMA転送を行う。この際、上述したように無線NIC51がパケットを受信する度に、NIC51が割り込み信号送信を行い、これをきっかけにDMA転送にバッファ領域を通知することもできるが、ここではさらに別の処理シーケンス例についても述べる。
2. デバイスドライバは、そのバッファ領域をDMAコントローラ17に通知し、DMA転送を許可する
3. 無線NIC51は、パケットを受信しFIFOにこれを蓄積すると、DMAコントローラ17が上記2で通知されていたバッファ領域に向けてパケットデータを転送し、割り込み信号をCPUに送信する
4. CPUは割り込み信号を受信すると、割り込みハンドラを通じてパケット処理関数を実行する。
5. パケット処理関数は、バッファ領域に転送されているパケットを処理する
先ほどの例では、バッファ領域を格納するセグメントは、常にアクティブ状態であるとしたが、ある一定時間セグメントへのアクセスがない場合には、そのセグメントをアクティブ状態からスリープ状態にする構成も可能である。これにより、消費電力の一層の削減を実現できる。このときの一定時間が0の場合には、DMA転送が終了次第、そのセグメントをスリープ状態に移行させることを意味する。ブロック図での動作は、電力状態決定部501は、セグメントがアクティブ状態に設定されている状態で、当該セグメントへのダイレクトメモリアクセスが完了した後、当該セグメントをスリープ状態に設定することを決定する。電力状態制御部502は、当該決定に従って、当該セグメントをスリープ状態に設定する。
2. DMAコントローラ17は、割り込み信号をCPUに送信する。
3. CPUは割り込み信号に含まれるデバイス情報から、そのデバイスに対応したデバイスドライバを実行する。
4. デバイスドライバは、保持しているバッファ領域の物理アドレスから、セグメント情報管理テーブルを検索して、セグメント番号を得る。そして、その番号のセグメントに対し、アクティブ状態への変更命令を送信する。ブロック図での動作を説明すると、計算処理装置の電力状態決定部501は、上記失敗が検出されたとき、スリープ状態のセグメントをアクティブに変更することを決定し、電力状態制御部502は当該セグメントをアクティブに設定する。
5. デバイスドライバは、DMA転送の再度の実施をDMAコントローラ17に設定する。
先ほどの例では、スリープセグメント上へのDMA転送時には、DMA転送失敗を検出してから再転送を行っているが、ここでは別の例を示す。
本実施例において、バッファ領域を確保しているセグメントに空きがある場合には、ページを置くことも可能である。この場合には、そのセグメントのセグメント順序は最も小さいことが望ましい。
Claims (27)
- 複数の部分領域を含むメモリ領域の各前記部分領域へのアクセス回数を記憶部に記憶する記憶ステップと、
各前記部分領域へのアクセス回数に基づき、前記各部分領域へのアクセス頻度をアクセス負荷として算出し、前記アクセス負荷を前記各部分領域に対応する閾値とそれぞれ比較することにより、第1の電力状態と、前記第1の電力状態よりも消費電力が低い第2の電力状態とを含む複数の電力状態のうちの1つを前記部分領域のそれぞれについて決定する電力状態決定ステップと、
各前記部分領域を、前記電力状態決定ステップにより決定された電力状態にそれぞれ設定する電力状態制御ステップと、
をコンピュータに実行させ
前記各部分領域に対応する閾値は、前記各部分領域を前記第1の電力状態に維持するために必要な電力、前記各部分領域を前記第2の電力状態に維持するために必要な電力、前記各部分領域を前記第1の電力状態から前記第2の電力状態に遷移させるために必要な電力、前記各部分領域を前記第2の電力状態から前記第1の電力状態に遷移させるために必要な電力に基づき定められる
プログラム。 - 前記閾値は、前記各部分領域を前記第1の電力状態に維持するために必要な電力から前記各部分領域を前記第2の電力状態に維持するために必要な電力を減算した値を、前記各部分領域を前記第1の電力状態から前記第2の電力状態に遷移させるために必要な電力と前記各部分領域を前記第2の電力状態から前記第1の電力状態に遷移させるために必要な電力とを加算した値で除算することで計算される
請求項1に記載のプログラム。 - 前記第1の電力状態は、メモリアクセスが可能な状態であり、
前記第2の電力状態は、メモリアクセスが不可能な状態であり、
前記電力状態制御ステップは、前前記第2の電力状態の前記部分領域へのメモリアクセスが要求されたときは、前記部分領域を前記第1の電力状態に設定し、前記メモリアクセスが完了した後、前記部分領域を前記第2の電力状態に戻す
請求項1ないし2のいずれか一項に記載のプログラム。 - 前記第2の電力状態の前記部分領域のうち、前記メモリアクセスが要求された領域に含まれる第1データを読み出し、前記第1の電力状態の部分領域内の領域に前記第1データを格納する実行ステップと、
前記メモリアクセスが要求された領域のアドレスと、前記第1データが格納された領域のアドレスの対応関係を管理する管理ステップと、
をさらに前記コンピュータに実行させる請求項3に記載のプログラム。 - 前記実行ステップは、前記第1の電力状態の部分領域内の前記領域に前記第1データが格納される前に、前記領域に格納されている第2データを読み出し、前記メモリアクセスが要求された領域に前記第2データを格納し、
前記管理ステップは、前記第2データが読み出された領域のアドレスと、前記第2データが格納された領域のアドレスの対応関係を管理する、
請求項4に記載のプログラム。 - 前記実行ステップは、前記第2の電力状態の部分領域内のデータを、外部の記憶装置に書き出す場合、前記部分領域を前記第1の電力状態に変更し、前記データを書き出した後、前記領域を前記第2の電力状態に戻す
請求項4または5に記載のプログラム。 - 前記実行ステップは、外部の記憶装置に記憶されたデータにアクセスする場合、前記外部の記憶装置から読み出したデータを前記第1の電力状態の部分領域に書き込む
請求項4ないし6のいずれか一項に記載のプログラム。 - ダイレクトメモリアクセス用のバッファ領域を前記部分領域に確保するステップをさらに前記コンピュータに実行させ、
前記電力状態決定ステップは、前記バッファ領域が確保された前記部分領域を前記第1の電力状態に維持することを決定する
請求項1ないし7のいずれか一項に記載のプログラム。 - 前記第2の電力状態の前記部分領域へのダイレクトメモリアクセスが失敗したことを検知するステップをさらに前記コンピュータに実行させ、
前記電力状態決定ステップは、前記ステップにより失敗が検出されたとき、前記第2の電力状態の前記部分領域を前記第1の電力状態に変更することを決定し、
前記電力状態制御ステップは、前記部分領域を前記第1の電力状態に設定する
請求項1ないし7のいずれか一項に記載のプログラム。 - ダイレクトメモリアクセスによりアクセスされようとする部分領域が前記1の電力状態および前記第2の電力状態のいずれにあるのかを検出するステップを前記コンピュータに実行させ、
前記電力状態決定ステップは、前記第2の電力状態が検出されたときは、前記部分領域を前記第1の電力状態にすることを決定し、
前記電力状態制御ステップは、前記部分領域を前記第1の電力状態に設定する
請求項1ないし7のいずれか一項に記載のプログラム。 - 前記電力状態決定ステップは、前記部分領域が前記第1の電力状態に設定され、前記部分領域へのダイレクトメモリアクセスが完了した後、前記部分領域を前記第2の電力状態に戻すことを決定する
請求項9または10に記載のプログラム。 - 複数の部分領域を含むメモリ領域の各前記部分領域へのアクセス回数をアクセス負荷として算出し、前記アクセス負荷を前記各部分領域に対応する閾値とそれぞれ比較することにより、第1の電力状態と、前記第1の電力状態よりも消費電力が低い第2の電力状態とを含む複数の電力状態のうちの1つを前記部分領域のそれぞれについて決定する電力状態決定部と、
各前記部分領域を、前記電力状態決定部により決定された電力状態にそれぞれ設定する電力状態制御部と、
を備え、
前記各部分領域に対応する閾値は、前記各部分領域を前記第1の電力状態に維持するために必要な電力、前記各部分領域を前記第2の電力状態に維持するために必要な電力、前記各部分領域を前記第1の電力状態から前記第2の電力状態に遷移させるために必要な電力、前記各部分領域を前記第2の電力状態から前記第1の電力状態に遷移させるために必要な電力に基づき定められる計算処理装置。 - 前記閾値は、前記各部分領域を前記第1の電力状態に維持するために必要な電力から前記各部分領域を前記第2の電力状態に維持するために必要な電力を減算した値を、前記各部分領域を前記第1の電力状態から前記第2の電力状態に遷移させるために必要な電力と前記各部分領域を前記第2の電力状態から前記第1の電力状態に遷移させるために必要な電力とを加算した値で除算することで計算される
請求項12に記載の計算処理装置。 - 前記第1の電力状態は、メモリアクセスが可能な状態であり、
前記第2の電力状態は、メモリアクセスが不可能な状態であり、
前記電力状態制御部は、前記第2の電力状態の前記部分領域へのメモリアクセスが要求されたときは、前記部分領域を前記第1の電力状態に設定し、前記メモリアクセスが完了した後、前記部分領域を前記第2の電力状態に戻す
請求項12ないし13のいずれか一項に記載の計算処理装置。 - 前記第2の電力状態の前記部分領域のうち、前記メモリアクセスが要求された領域に含まれる第1データを読み出し、前記第1の電力状態の部分領域内の領域に前記第1データを格納する実行部と、
前記メモリアクセスが要求された領域のアドレスと、前記第1データが格納された領域のアドレスの対応関係を管理する管理部と、
をさらに備えた請求項14に記載の計算処理装置。 - 前記実行部は、前記第1の電力状態の部分領域内の前記領域に前記第1データが格納される前に、前記領域に格納されている第2データを読み出し、前記メモリアクセスが要求された領域に前記第2データを格納し、
前記管理部は、前記第2データが読み出された領域のアドレスと、前記第2データが格納された領域のアドレスの対応関係を管理する、
請求項15に記載の計算処理装置。 - 前記実行部は、前記第2の電力状態の部分領域内のデータを、外部の記憶装置に書き出す場合、前記部分領域を前記第1の電力状態に変更し、前記データを書き出した後、前記部分領域を前記第2の電力状態に戻す
請求項15または16に記載の計算処理装置。 - 前記実行部は、外部の記憶装置に記憶されたデータにアクセスする場合、前記外部の記憶装置から読み出したデータを前記第1の電力状態の部分領域に書き込む
請求項15ないし17のいずれか一項に記載の計算処理装置。 - ダイレクトメモリアクセス用のバッファ領域を前記部分領域に確保する手段を備え、
前記電力状態決定部は、前記バッファ領域が確保された前記部分領域を前記第1の電力状態に維持することを決定する
請求項12ないし18のいずれか一項に記載の計算処理装置。 - 前記第2の電力状態の前記部分領域へのダイレクトメモリアクセスが失敗したことを検知する手段を備え、
前記電力状態決定部は、前記手段により失敗が検出されたとき、前記第2の電力状態の前記部分領域を前記第1の電力状態に変更することを決定し、
前記電力状態制御部は、前記部分領域を前記第1の電力状態に設定する
請求項12ないし18のいずれか一項に記載の計算処理装置。 - ダイレクトメモリアクセスによりアクセスされようとする部分領域が前記1の電力状態および前記第2の電力状態のいずれにあるのかを検出する手段を備え、
前記電力状態決定部は、前記第2の電力状態が検出されたときは、前記部分領域を前記第1の電力状態にすることを決定し、
前記電力状態制御部は、前記部分領域を前記第1の電力状態に設定する
請求項12ないし18のいずれか一項に記載の計算処理装置。 - 前記電力状態決定部は、前記部分領域が前記第1の電力状態に設定され、前記部分領域へのダイレクトメモリアクセスが完了した後、前記部分領域を前記第2の電力状態に戻すことを決定する
請求項20または21に記載の計算処理装置。 - 複数の部分領域を含むメモリ領域の各前記部分領域へのアクセス回数を記憶部に記憶する記憶ステップと、
各前記部分領域へのアクセス回数に基づき、前記各部分領域へのアクセス頻度をアクセス負荷として算出し、前記アクセス負荷を前記各部分領域に対応する閾値とそれぞれ比較することにより、第1の電力状態と、前記第1の電力状態よりも消費電力が低い第2の電力状態とを含む複数の電力状態のうちの1つを前記部分領域のそれぞれについて決定する電力状態決定ステップと、
各前記部分領域を、前記電力状態決定ステップにより決定された電力状態にそれぞれ設定する電力状態制御ステップと、を備え、
前記各部分領域に対応する閾値は、前記各部分領域を前記第1の電力状態に維持するために必要な電力、前記各部分領域を前記第2の電力状態に維持するために必要な電力、前記各部分領域を前記第1の電力状態から前記第2の電力状態に遷移させるために必要な電力、前記各部分領域を前記第2の電力状態から前記第1の電力状態に遷移させるために必要な電力に基づき定められる
メモリ管理方法。 - ユーザにより操作入力を行うための入力手段と、
画像表示を行う表示手段と、
ネットワークと通信する通信手段と、
CPUと、
複数の部分領域を含むメモリ領域を有するメモリへアクセス可能なメモリアクセス手段と、
計算処理手段と
を備え、
前記計算処理手段は、
前記メモリ領域の各前記部分領域へのアクセス回数に基づき、前記各部分領域へのアクセス頻度をアクセス負荷として算出し、前記アクセス負荷を前記各部分領域に対応する閾値とそれぞれ比較することにより、第1の電力状態と、前記第1の電力状態よりも消費電力が低い第2の電力状態とを含む複数の電力状態のうちの1つを前記部分領域のそれぞれについて決定し、各前記部分領域を、前記決定された電力状態にそれぞれ設定し、
前記各部分領域に対応する閾値は、前記各部分領域を前記第1の電力状態に維持するために必要な電力、前記各部分領域を前記第2の電力状態に維持するために必要な電力、前記各部分領域を前記第1の電力状態から前記第2の電力状態に遷移させるために必要な電力、前記各部分領域を前記第2の電力状態から前記第1の電力状態に遷移させるために必要な電力に基づき定められる、計算機。 - 前記計算処理手段は前記CPUに含まれる
請求項24に記載の計算機。 - 前記計算処理手段は前記メモリに含まれる
請求項24に記載の計算機。 - 前記メモリアクセス手段は、前記CPUに含まれる
請求項24ないし26のいずれか一項に記載の計算機。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012125215A JP5624583B2 (ja) | 2012-05-31 | 2012-05-31 | プログラム、計算処理装置、メモリ管理方法および計算機 |
US13/790,143 US9471131B2 (en) | 2012-05-31 | 2013-03-08 | Apparatus and machine for reducing power consumption of memory including a plurality of segment areas, method therefore and non-transitory computer readable medium |
CN2013100868861A CN103455129A (zh) | 2012-05-31 | 2013-03-19 | 计算机可读介质和计算处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012125215A JP5624583B2 (ja) | 2012-05-31 | 2012-05-31 | プログラム、計算処理装置、メモリ管理方法および計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013250791A JP2013250791A (ja) | 2013-12-12 |
JP5624583B2 true JP5624583B2 (ja) | 2014-11-12 |
Family
ID=49671803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012125215A Expired - Fee Related JP5624583B2 (ja) | 2012-05-31 | 2012-05-31 | プログラム、計算処理装置、メモリ管理方法および計算機 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9471131B2 (ja) |
JP (1) | JP5624583B2 (ja) |
CN (1) | CN103455129A (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2012DE00977A (ja) * | 2012-03-30 | 2015-09-11 | Intel Corp | |
CN104380259B (zh) * | 2012-10-17 | 2018-09-21 | 华为技术有限公司 | 降低内存***功耗的方法和内存控制器 |
US9760149B2 (en) | 2013-01-08 | 2017-09-12 | Qualcomm Incorporated | Enhanced dynamic memory management with intelligent current/power consumption minimization |
KR20140113069A (ko) * | 2013-03-15 | 2014-09-24 | 삼성전자주식회사 | 휘발성 메모리 장치의 자가 진단 수행 방법 및 전자 장치 |
WO2015001389A1 (en) | 2013-07-04 | 2015-01-08 | Freescale Semiconductor, Inc. | Method and device for streaming control data in a mobile communication system |
US10334008B2 (en) * | 2013-07-04 | 2019-06-25 | Nxp Usa, Inc. | Method and device for data streaming in a mobile communication system |
JP5983665B2 (ja) * | 2014-03-17 | 2016-09-06 | 日本電気株式会社 | アクセス回数カウント装置、メモリシステム、および、アクセス回数カウント方法 |
US9684360B2 (en) * | 2014-10-30 | 2017-06-20 | Intel Corporation | Dynamically controlling power management of an on-die memory of a processor |
US11399344B2 (en) * | 2015-01-26 | 2022-07-26 | Apple Inc. | System and method for SoC idle power state control based on I/O operation characterization |
US9971606B2 (en) * | 2016-04-18 | 2018-05-15 | Super Micro Computer, Inc. | Technique for reordering hard drive activation reports to achieve sequential hard drive ordering |
JP6706159B2 (ja) * | 2016-06-22 | 2020-06-03 | キヤノン株式会社 | 情報処理装置、及びその制御方法 |
US10104146B2 (en) * | 2016-07-12 | 2018-10-16 | Stmicroelectronics Asia Pacific Pte Ltd | DPCM data compression using compressed data tags |
US10539997B2 (en) * | 2016-09-02 | 2020-01-21 | Qualcomm Incorporated | Ultra-low-power design memory power reduction scheme |
US10488911B2 (en) * | 2016-11-01 | 2019-11-26 | National Taiwan University | Method and computing system of allocating registers |
JP6919538B2 (ja) * | 2017-12-05 | 2021-08-18 | 富士通株式会社 | 電力制御システム及び電力制御プログラム |
WO2019212518A1 (en) * | 2018-04-30 | 2019-11-07 | Hewlett-Packard Development Company, L.P. | Countermeasure implementation for processing stage devices |
CN110739013B (zh) * | 2018-07-18 | 2021-08-10 | 华邦电子股份有限公司 | 动态随机存取存储器 |
CN110850951B (zh) * | 2019-09-29 | 2021-07-06 | 苏州浪潮智能科技有限公司 | 一种psu信息的刷新和读取方法、***及设备 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07160574A (ja) * | 1993-12-13 | 1995-06-23 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP4841070B2 (ja) * | 2001-07-24 | 2011-12-21 | パナソニック株式会社 | 記憶装置 |
JP2004047051A (ja) * | 2002-05-17 | 2004-02-12 | Matsushita Electric Ind Co Ltd | メモリ制御装置および方法ならびにプログラム |
JP3867034B2 (ja) * | 2002-09-11 | 2007-01-10 | 株式会社リコー | メモリ制御装置 |
JP2004118234A (ja) * | 2002-09-20 | 2004-04-15 | Ricoh Co Ltd | データ転送装置 |
US7043649B2 (en) * | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
US7752470B2 (en) | 2003-12-03 | 2010-07-06 | International Business Machines Corporation | Method and system for power management including device controller-based device use evaluation and power-state control |
JP2005196343A (ja) | 2004-01-05 | 2005-07-21 | Mitsubishi Electric Corp | メモリ管理装置及びメモリ管理方法及びプログラム |
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 |
US8024508B2 (en) * | 2006-03-21 | 2011-09-20 | Lg Electronics Inc. | Computer storage control |
JP4209906B2 (ja) * | 2006-08-02 | 2009-01-14 | 株式会社日立製作所 | 低消費電力メモリ管理方法及びその方法を用いた計算機 |
US20080056051A1 (en) * | 2006-08-31 | 2008-03-06 | Peter Mayer | Memory with memory banks and mode registers and method of operating a memory |
US7882319B2 (en) * | 2007-09-27 | 2011-02-01 | Oracle America Inc. | Method and system for memory management |
JP2009211153A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリ装置、情報処理装置及び電力制御方法 |
WO2010125852A1 (ja) * | 2009-04-27 | 2010-11-04 | 株式会社日立製作所 | 半導体装置 |
US8799553B2 (en) * | 2010-04-13 | 2014-08-05 | Apple Inc. | Memory controller mapping on-the-fly |
US9015441B2 (en) * | 2010-04-30 | 2015-04-21 | Microsoft Technology Licensing, Llc | Memory usage scanning |
US20110296098A1 (en) * | 2010-06-01 | 2011-12-01 | Dell Products L.P. | System and Method for Reducing Power Consumption of Memory |
US9032398B2 (en) * | 2010-07-12 | 2015-05-12 | Vmware, Inc. | Online classification of memory pages based on activity level represented by one or more bits |
US8990531B2 (en) * | 2010-07-12 | 2015-03-24 | Vmware, Inc. | Multiple time granularity support for online classification of memory pages based on activity level |
JP2012027655A (ja) * | 2010-07-22 | 2012-02-09 | Hitachi Ltd | 情報処理装置および省電力メモリ管理方法 |
US8838935B2 (en) * | 2010-09-24 | 2014-09-16 | Intel Corporation | Apparatus, method, and system for implementing micro page tables |
JP2012230737A (ja) * | 2011-04-26 | 2012-11-22 | Elpida Memory Inc | 半導体装置 |
JP2013149065A (ja) * | 2012-01-19 | 2013-08-01 | Nec Corp | サーバ、サーバの消費電力削減方法、およびコンピュータプログラム |
-
2012
- 2012-05-31 JP JP2012125215A patent/JP5624583B2/ja not_active Expired - Fee Related
-
2013
- 2013-03-08 US US13/790,143 patent/US9471131B2/en active Active
- 2013-03-19 CN CN2013100868861A patent/CN103455129A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN103455129A (zh) | 2013-12-18 |
JP2013250791A (ja) | 2013-12-12 |
US9471131B2 (en) | 2016-10-18 |
US20130326252A1 (en) | 2013-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5624583B2 (ja) | プログラム、計算処理装置、メモリ管理方法および計算機 | |
JP5989574B2 (ja) | 計算機、メモリ管理方法およびプログラム | |
US10282292B2 (en) | Cluster-based migration in a multi-level memory hierarchy | |
US10133677B2 (en) | Opportunistic migration of memory pages in a unified virtual memory system | |
KR101562973B1 (ko) | 메모리 장치 및 메모리 장치의 동작 방법 | |
CN111414132B (zh) | 带异构存储器的主存储设备、计算机***及数据管理方法 | |
US20110072204A1 (en) | Memory server | |
US8645612B2 (en) | Information processing device and information processing method | |
JP4902501B2 (ja) | 電力制御方法、計算機システム、及びプログラム | |
JP2017138853A (ja) | 情報処理装置およびプログラム | |
JP2012068936A (ja) | メモリシステム | |
US20220245066A1 (en) | Memory system including heterogeneous memories, computer system including the memory system, and data management method thereof | |
US20170177482A1 (en) | Computing system having multi-level system memory capable of operating in a single level system memory mode | |
KR101298171B1 (ko) | 메모리 시스템 및 그 관리 방법 | |
KR20220116041A (ko) | 이기종 메모리 시스템용 시그널링 | |
CN110597742A (zh) | 用于具有持久***存储器的计算机***的改进存储模型 | |
CN108139983B (zh) | 用于在多级***存储器中固定存储器页面的方法和设备 | |
US20170153994A1 (en) | Mass storage region with ram-disk access and dma access | |
JP2012168871A (ja) | 計算機、消費電力低減方法およびプログラム | |
JP6209573B2 (ja) | 情報処理装置および情報処理方法 | |
KR20140016405A (ko) | 메모리 시스템 및 그 관리 방법 | |
US20220229552A1 (en) | Computer system including main memory device having heterogeneous memories, and data management method thereof | |
US20210191641A1 (en) | Systems and methods for reducing instruction code memory footprint for multiple processes executed at a coprocessor | |
KR20220138324A (ko) | 지속성 지원 방법 및 컴퓨팅 장치 | |
KR20240063607A (ko) | 데이터 및 데이터 블록을 제공하는 스왑 메모리 장치, 이의 동작하는 방법, 및 이를 포함하는 전자 장치의 동작하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140617 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140818 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140902 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140926 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5624583 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |