JP2008262451A - Memory power supply management device and memory power supply management method - Google Patents

Memory power supply management device and memory power supply management method Download PDF

Info

Publication number
JP2008262451A
JP2008262451A JP2007105603A JP2007105603A JP2008262451A JP 2008262451 A JP2008262451 A JP 2008262451A JP 2007105603 A JP2007105603 A JP 2007105603A JP 2007105603 A JP2007105603 A JP 2007105603A JP 2008262451 A JP2008262451 A JP 2008262451A
Authority
JP
Japan
Prior art keywords
memory
transfer
bank
priority
management
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.)
Pending
Application number
JP2007105603A
Other languages
Japanese (ja)
Inventor
Tadao Tanigawa
忠雄 谷川
Masahiko Saito
雅彦 齊藤
Katsushige Amano
克重 天野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007105603A priority Critical patent/JP2008262451A/en
Publication of JP2008262451A publication Critical patent/JP2008262451A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

  • Power Sources (AREA)
  • Memory System (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory power supply management device, for reducing overhead of optimization processing of a memory bank in a computer system for reducing power by dividing a memory area into a plurality of banks. <P>SOLUTION: The device comprises a memory management part 131, a memory transfer management part 132, a memory power supply management part 133, a virtual MMU 134, a virtual computer control part 135, and a virtual computer management information storage part 136. The memory management part 131 determines transfer of a memory area located in a memory bank with low assignment priority of memory areas assigned to a virtual computer to be stopped at a switching time of virtual computer, the memory transfer management part 132 executes the transfer processing, and the memory power supply management part 133 and a memory power supply control part 16 interrupt power supply to the memory bank which is unused as the result of transfer. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、計算機システムの電力管理技術に関し、特に、複数の仮想計算機を備えた計算機システムにおけるメモリ電源管理装置及びメモリ電源管理方法に関するものである。   The present invention relates to a power management technique for a computer system, and more particularly to a memory power management apparatus and a memory power management method in a computer system including a plurality of virtual machines.

一般に計算機システムでは、実行中のプログラムおよびそのプログラムが読書きするデータは、主記憶と呼ばれる記憶装置に格納される。この主記憶は、揮発性の半導体メモリ素子で構成されており、その内容(書き込まれたデータ)保持のためには、常に電源を供給する必要がある。   In general, in a computer system, a program being executed and data read and written by the program are stored in a storage device called a main memory. This main memory is composed of a volatile semiconductor memory element, and it is necessary to always supply power in order to retain its contents (written data).

このような揮発性メモリの省電力化の技術として、メモリ領域を複数のバンクに分割し、現在のメモリの使用状態を調べ、未使用メモリバンクの電源をオフ、あるいはDRAMのリフレッシュを停止することで、内容保持が必要なバンクだけ電源オンする方法があった(例えば、特許文献1参照)。   As a technology to reduce the power consumption of such volatile memory, the memory area is divided into a plurality of banks, the current memory usage state is examined, power to unused memory banks is turned off, or DRAM refresh is stopped. Thus, there is a method of turning on the power of only the banks that need to hold the contents (see, for example, Patent Document 1).

また、仮想アドレスを優先度の高い上位メモリバンクから順に割り当てることで、上記のデータの点在を回避する方法や、優先度の低い下位メモリバンクに割り当てられているデータを、計算機システムが省電力モードへ移行するときに、一括して上位メモリバンクの空き領域に転送することでデータの点在を解消する方法があった(例えば、特許文献2参照)。   In addition, the computer system saves power by assigning virtual addresses in order from the higher-priority upper memory bank to avoid the above-mentioned data interspersed or the data assigned to the lower-priority lower memory banks. When shifting to the mode, there has been a method of eliminating data interspersed by transferring the data to a free area of the upper memory bank at once (for example, see Patent Document 2).

また、オペレーティングシステムにガベージコレクション部を搭載し、メモリ領域に点在する空き領域を一つの連続した空き領域にまとめ、空き領域に対応するメモリバンクを電源オフする方法があった(例えば、特許文献3参照)。
特開平9−212416号公報 特開2005−196343号公報 特開2000−172386号公報
In addition, there is a method in which a garbage collection unit is installed in the operating system, the free areas scattered in the memory area are integrated into one continuous free area, and the memory bank corresponding to the free area is turned off (for example, Patent Documents) 3).
JP-A-9-212416 JP 2005-196343 A JP 2000-172386 A

しかしながら、前記従来の技術では、メモリバンクの電源オフを可能とする空き領域を生成する際、データの転送処理にともなうオーバーヘッド(CPU時間、消費電力)がかかるという課題を有していた。特に、計算機システムの高機能・高性能化とともに、搭載されるメモリ容量が増大の傾向にあり、同時に計算機システム上で動作するアプリケーションの機能を実現するために必要となるメモリ容量も増加の傾向にあることから、転送対象のデータ容量も増えることになり、転送処理にともなうオーバーヘッドも増大することになる。その結果、オペレーティングシステムやアプリケーションの動作速度などの性能を低下させるという問題が生じていた。   However, the conventional technique has a problem that overhead (CPU time, power consumption) associated with data transfer processing is required when generating an empty area that enables power-off of a memory bank. In particular, along with higher functionality and higher performance of computer systems, the installed memory capacity tends to increase, and at the same time, the memory capacity required to realize the functions of applications running on the computer system is also increasing. For this reason, the data capacity to be transferred increases, and the overhead associated with the transfer process also increases. As a result, there has been a problem that the performance such as the operating speed of the operating system and applications is lowered.

本発明は、前記従来の課題を解決するもので、メモリ領域を複数のバンクに分割し省電力制御する計算機システムにおいて、メモリバンクの最適化処理のオーバーヘッドを低減することができるメモリ電源管理装置を提供することを目的とする。   The present invention solves the above-described conventional problems, and provides a memory power management apparatus capable of reducing the overhead of optimization processing of a memory bank in a computer system that divides a memory area into a plurality of banks and performs power saving control. The purpose is to provide.

前記従来の課題を解決するために、本発明のメモリ電源管理装置は、複数のメモリバンクから構成されるメモリと複数の仮想計算機を備えた計算機システムのメモリ電源管理を行うメモリ電源管理装置であって、前記メモリバンク毎に設定した優先度を優先度情報として記憶するメモリ管理情報記憶手段と、停止した前記仮想計算機に割り当てられているメモリ領域を決定し、メモリバンク間のデータ転送を行うか否かの判断を行う転送判断手段と、前記転送判断手段がデータ転送を行うと判断した場合、前記メモリ管理情報記憶手段に記憶された情報を用いて、転送先メモリバンクを決定する転送決定手段と、前記転送決定手段が決定した転送先メモリバンクへのデータ転送を制御するメモリ転送手段と、メモリ領域の割り当ておよび解放の状況に基づいて、全メモリ領域が未使用の状態にあるメモリバンクを決定し、前記メモリバンクへの節電制御を行うメモリ電源管理手段とを具備することを特徴とする。   In order to solve the above-described conventional problems, a memory power management apparatus according to the present invention is a memory power management apparatus that performs memory power management of a computer system including a memory composed of a plurality of memory banks and a plurality of virtual machines. Whether to determine the memory management information storage means for storing the priority set for each memory bank as priority information and the memory area allocated to the stopped virtual machine, and perform data transfer between the memory banks Transfer determination means for determining whether or not, and transfer determination means for determining a transfer destination memory bank using information stored in the memory management information storage means when the transfer determination means determines to perform data transfer Memory transfer means for controlling data transfer to the transfer destination memory bank determined by the transfer determination means, and allocation and release of memory areas Based on the situation, the entire memory area determines the memory banks in the unused state, characterized by comprising a memory power management means for performing power saving control to the memory bank.

本構成によって、メモリ領域を複数のバンクに分割し省電力制御する計算機システムにおいて、仮想計算機の切り替え時にメモリ転送処理を実行することで、メモリバンクの最適化処理のオーバーヘッドを低減することができる。   With this configuration, in a computer system that divides a memory area into a plurality of banks and performs power saving control, the overhead of memory bank optimization processing can be reduced by executing memory transfer processing when switching virtual computers.

本発明のメモリ電源管理装置によれば、オペレーティングシステムやアプリケーションが使用中のメモリを再配置する処理機構を簡略化し、メモリバンクの最適化処理のオーバーヘッドを低減することが可能となる。このオーバーヘッドの低減により、オペレーティングシステムやアプリケーションの動作性能の低下を抑えたメモリバンクの最適化を行うことができる。   According to the memory power management apparatus of the present invention, it is possible to simplify the processing mechanism for rearranging the memory being used by the operating system or application, and to reduce the overhead of memory bank optimization processing. By reducing the overhead, it is possible to optimize the memory bank while suppressing a decrease in operating performance of the operating system and applications.

以下本発明の実施の形態について、図面を参照しながら説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の実施の形態におけるメモリ電源管理装置を備えた計算機システム100の構成図である。   FIG. 1 is a configuration diagram of a computer system 100 including a memory power management device according to an embodiment of the present invention.

図1において、計算機システム100は、内部バス10に接続されたCPU11(中央演算装置)と、MMU12(メモリマネージメントユニット)と、周辺モジュール13と、メモリ14、メモリ転送部15、メモリ電源制御部16を備えている。   In FIG. 1, a computer system 100 includes a CPU 11 (central processing unit), an MMU 12 (memory management unit), a peripheral module 13, a memory 14, a memory transfer unit 15, and a memory power control unit 16 connected to an internal bus 10. It has.

CPU11は、メモリ14に格納されているプログラムを読み出し実行する。   The CPU 11 reads and executes a program stored in the memory 14.

MMU12は、CPU11で処理するプログラムおよびデータを論理アドレスから物理アドレスへ変換するメモリマネジメントユニットである。   The MMU 12 is a memory management unit that converts programs and data processed by the CPU 11 from logical addresses to physical addresses.

周辺モジュール13は、計算機システム100の機能に必要となる処理モジュールであり、例えば、入力モジュールや出力モジュール、通信モジュール、カメラモジュールなどがある。   The peripheral module 13 is a processing module necessary for the function of the computer system 100, and includes, for example, an input module, an output module, a communication module, a camera module, and the like.

メモリ14は、MMU12で変換された物理アドレスに、プログラムおよびデータを記憶する。また、メモリ14は、独立して電力供給を制御可能な複数個のメモリバンク(121〜124)から構成されている。   The memory 14 stores a program and data at the physical address converted by the MMU 12. The memory 14 includes a plurality of memory banks (121 to 124) that can control power supply independently.

なお、ここでは、メモリ14は、RAM(ランダムアクセスメモリ)の単一の構成を想定しているが、十分な機能および容量があれば、フラッシュメモリや、ROM(リードオンリーメモリー)などの異なる種類のメモリの組合せであってもよい。また、メモリバンク数についても、二つ以上であればいくつであっても良い。   Here, the memory 14 is assumed to have a single configuration of a RAM (Random Access Memory), but different types such as a flash memory and a ROM (Read Only Memory) may be used if they have sufficient functions and capacity. It may be a combination of these memories. Also, the number of memory banks may be any number as long as it is two or more.

メモリ転送部15は、物理的な記憶装置であるメモリバンク121乃至124に対して、データ転送を実行するハードウェアエンジンである。効率的なメモリ転送を実現するために、メモリ転送部15は、離散しているメモリブロックに対して、まとめて連続転送が行えるスキャッタ・ギャザーであることが望ましい。なお、計算機システム100が複数のCPUを持つ構成であるときは、メモリ転送部15を、汎用CPUを用いて実現することも可能である。   The memory transfer unit 15 is a hardware engine that executes data transfer to the memory banks 121 to 124 that are physical storage devices. In order to realize efficient memory transfer, it is desirable that the memory transfer unit 15 is a scatter / gather that can perform continuous transfer collectively for discrete memory blocks. When the computer system 100 has a configuration having a plurality of CPUs, the memory transfer unit 15 can be realized using a general-purpose CPU.

メモリ電源制御部16は、計算機システム100全体の電力を制御すべく構成された電子回路であり、その一機能として、メモリ14の各メモリバンク121乃至124への電力の供給や遮断の切替え等のメモリバンクの節電制御を行う。   The memory power supply control unit 16 is an electronic circuit configured to control the power of the entire computer system 100. As one function, the memory power supply control unit 16 supplies power to the memory banks 121 to 124 of the memory 14 and switches between cutoffs. Performs power saving control for memory banks.

図2は、本発明の実施の形態における計算機システム100のメモリ電源管理に関する機能ブロックを示す図である。   FIG. 2 is a diagram showing functional blocks related to memory power management of the computer system 100 according to the embodiment of the present invention.

計算機システム100は、複数の仮想計算機(102、103)を備えており、ハイパーバイザー101が、仮想計算機(102、103)の管理を行っている。   The computer system 100 includes a plurality of virtual computers (102, 103), and the hypervisor 101 manages the virtual computers (102, 103).

仮想計算機(102、103)には、CPU11上で動作するOS(オペレーティングシステム)(110、111)が存在している。また、OS110は、タスク(112、113)の実行を管理している。同様に、OS111は、タスク(114、115、116)の実行を管理している。また、これらのタスク(112〜116)が動作する際に必要となるデータは、メモリ14に格納される。   The virtual machines (102, 103) have OS (operating system) (110, 111) operating on the CPU 11. The OS 110 manages the execution of tasks (112, 113). Similarly, the OS 111 manages the execution of tasks (114, 115, 116). Further, data required when these tasks (112 to 116) operate are stored in the memory 14.

なお、図2および以降の本発明の実施の形態では、二つの仮想計算機が存在する例のみを示しているが、三つ以上の仮想計算機が存在する構成を用いても良い。また、タスク数、オペレーティングシステム数、および、タスクとオペレーティングシステムの関係は、図2で示した例に一致しなくても良い。   Note that FIG. 2 and the subsequent embodiments of the present invention show only examples in which two virtual machines exist, but a configuration in which three or more virtual machines exist may be used. Also, the number of tasks, the number of operating systems, and the relationship between tasks and operating systems do not have to match the example shown in FIG.

ハイパーバイザー101は、前述した通り複数の仮想計算機(102、103)の管理を行う機能を有しており、メモリ管理部131と、メモリ転送管理部132と、メモリ電源管理部133と、仮想MMU134と、仮想計算機制御部135と、仮想計算機管理情報記憶部136とを備えている。   As described above, the hypervisor 101 has a function of managing a plurality of virtual machines (102, 103), and includes a memory management unit 131, a memory transfer management unit 132, a memory power management unit 133, and a virtual MMU 134. And a virtual machine control unit 135 and a virtual machine management information storage unit 136.

メモリ管理部131は、仮想MMU134とともに、物理アドレスと論理アドレスの対応を管理し、仮想計算機(102、103)上のOS(110、111)からの要求に従い、メモリ領域の割り当てと解放を制御する機能を有している。また、メモリバンク毎の優先度を設定して管理する。また、メモリ転送管理部132、メモリ電源管理部133にメモリ領域転送の指示およびメモリ電源状態の変更の指示を行う。   The memory management unit 131, together with the virtual MMU 134, manages the correspondence between physical addresses and logical addresses, and controls the allocation and release of memory areas in accordance with requests from the OS (110, 111) on the virtual machines (102, 103). It has a function. Moreover, the priority for each memory bank is set and managed. Further, the memory transfer management unit 132 and the memory power management unit 133 are instructed to transfer the memory area and change the memory power state.

メモリ転送管理部132は、メモリバンク121乃至124の、バンク内およびバンク間のデータ転送を制御する。メモリ管理部131から転送の指示を受けたメモリ転送管理部132は、その転送指示を、データ転送を実行するハードウェアモジュールであるメモリ転送部15の制御シーケンスに変換し、メモリ転送部15を制御してデータ転送を実行する。   The memory transfer management unit 132 controls data transfer within and between banks of the memory banks 121 to 124. Upon receiving a transfer instruction from the memory management unit 131, the memory transfer management unit 132 converts the transfer instruction into a control sequence of the memory transfer unit 15 that is a hardware module that executes data transfer, and controls the memory transfer unit 15. And execute data transfer.

メモリ電源管理部133は、メモリバンク毎の割り当て状況から、未使用メモリバンクを決定し、そのメモリバンクに対して節電を行うよう、メモリ電源制御部16にメモリバンクへの電力の遮断等の節電制御を指示する。また、メモリ管理部131が、仮想計算機に対して割り当てるメモリ領域に不足が生じた時、節電あるいは電力遮断状態にある未使用メモリバンクが存在するならば、そのメモリバンクの活性化をメモリ電源制御部16に指示する。更に、通常モードから省電力モードへの移行や、省電力モードから通常モードへの移行といった、メモリ電源状態の変更の指示を、メモリ管理部131から受け取り、メモリ電源制御部16に対して、各メモリバンクの活性化や電力遮断などの指示を行う。   The memory power management unit 133 determines an unused memory bank from the allocation status for each memory bank, and saves power such as cutting off power to the memory bank in the memory power control unit 16 so as to save power for the memory bank. Direct control. In addition, when there is a shortage in the memory area allocated to the virtual machine by the memory management unit 131, if there is an unused memory bank that is in a power saving or power-off state, the activation of the memory bank is controlled by the memory power control. The unit 16 is instructed. Further, an instruction to change the memory power state such as transition from the normal mode to the power saving mode and transition from the power saving mode to the normal mode is received from the memory management unit 131, and the memory power control unit 16 receives each instruction. Instructions such as activation of memory bank and power shutdown are given.

メモリ転送部15によるスキャッタ・ギャザーを効率的に行うために、ハイパーバイザー101は、仮想計算機102乃至103に対して、メモリバンク121乃至124の物理的なメモリマップ(物理アドレス空間)とは独立した論理的なメモリマップ(一次論理アドレス空間)を提供する。仮想MMU134は、この物理アドレス空間と一次論理アドレス空間との関係を示すマップと、仮想計算機102乃至103上の論理アドレスである二次論理アドレス空間と一次論理アドレス空間との関係を示すマップを管理しており、MMU12を制御して、物理アドレス空間と一次論理アドレス空間とのアドレス変換を実現するとともに、メモリ管理部131を通じて仮想計算機に対して一次論理アドレス空間と二次論理アドレス空間のアドレス変換の機能を提供する。   In order to efficiently perform scatter / gather by the memory transfer unit 15, the hypervisor 101 is independent of the physical memory map (physical address space) of the memory banks 121 to 124 for the virtual machines 102 to 103. Provides a logical memory map (primary logical address space). The virtual MMU 134 manages a map indicating the relationship between the physical address space and the primary logical address space, and a map indicating the relationship between the secondary logical address space and the primary logical address space, which are logical addresses on the virtual machines 102 to 103. The MMU 12 is controlled to realize the address conversion between the physical address space and the primary logical address space, and the address conversion of the primary logical address space and the secondary logical address space to the virtual machine through the memory management unit 131. Provides the functionality of

仮想計算機制御部135は、仮想計算機102と仮想計算機103の切り替え制御を行う。仮想計算機102と仮想計算機103は、停止中状態(Sleep)と、実行中状態(Active)があり、実行中状態の仮想計算機(102または103)のOS(110または111)が動作し、計算機システム100における各処理を実行することになる。つまり、CPU11上でどちらか一方の仮想計算機(102または103)のみが動作していることになる。   The virtual machine control unit 135 performs switching control between the virtual machine 102 and the virtual machine 103. The virtual computer 102 and the virtual computer 103 are in a stopped state (Sleep) and an in-execution state (Active), and the OS (110 or 111) of the virtual computer (102 or 103) in the execution state operates, and the computer system Each process in 100 is executed. That is, only one of the virtual machines (102 or 103) is operating on the CPU 11.

仮想計算機管理情報記憶部136は、仮想計算機制御部135が制御する対象の仮想計算機(102、103)の状態を記憶している。仮想計算機制御部135が、仮想計算機の切り替えを行った際に、仮想計算機管理情報の更新を行う。また、メモリ管理部131は、転送対象のメモリ領域を決定する際に、格納されている仮想計算機管理情報を参照して、停止中状態の仮想計算機を判断する。   The virtual machine management information storage unit 136 stores the state of the target virtual machine (102, 103) controlled by the virtual machine control unit 135. The virtual machine control unit 135 updates the virtual machine management information when the virtual machine is switched. Further, when determining the memory area to be transferred, the memory management unit 131 refers to the stored virtual machine management information and determines a virtual machine in a stopped state.

次に、メモリ管理部131の詳細を説明する。   Next, details of the memory management unit 131 will be described.

メモリ管理部131は、メモリ制御部141と、転送判断部142と、転送決定部143と、優先度設定部144と、メモリ管理情報記憶部145とを備えている。また、メモリ管理情報記憶部145は、メモリ領域割り当て優先度管理テーブル151と、割り当て済みメモリ領域管理テーブル152と、空きメモリ領域管理テーブル153を有している。これら各テーブルの詳細については、後に図面を用いて説明する。   The memory management unit 131 includes a memory control unit 141, a transfer determination unit 142, a transfer determination unit 143, a priority setting unit 144, and a memory management information storage unit 145. The memory management information storage unit 145 includes a memory area allocation priority management table 151, an allocated memory area management table 152, and a free memory area management table 153. Details of these tables will be described later with reference to the drawings.

メモリ制御部141は、メモリ管理部131全体の制御と、メモリ領域の割り当て及び解放処理を行う。仮想計算機(102、103)上のOS(110、111)からのメモリ割り当て要求を受け取り、メモリバンクの割り当て優先度およびメモリバンクのメモリ領域割り当て状態から、適切なメモリ領域を決定し、要求した仮想計算機にメモリ領域の割り当てを実行する。また、割り当ての実行時に、割り当て済みメモリ領域管理テーブル152と空きメモリ領域管理テーブル153の更新を行う。なお、この適切なメモリ領域とは、割り当て優先度が高くて空き容量がある領域であるため、メモリ領域割り当て優先度管理テーブル151と空きメモリ領域管理テーブル153を用いて最適なメモリ領域を決定する。さらに、仮想計算機(102、103)上のOS(110、111)からのメモリ解放要求を受け取り、要求されたメモリ領域の解放を実行する。また、解放の実行時に、割り当て済みメモリ領域管理テーブル152と空きメモリ領域管理テーブル153の更新を行う。   The memory control unit 141 performs overall control of the memory management unit 131 and memory area allocation and release processing. A memory allocation request is received from the OS (110, 111) on the virtual machines (102, 103), an appropriate memory area is determined from the allocation priority of the memory bank and the memory area allocation state of the memory bank, and the requested virtual The memory area is allocated to the computer. In addition, when the allocation is executed, the allocated memory area management table 152 and the free memory area management table 153 are updated. Note that the appropriate memory area is an area having a high allocation priority and a free space, and therefore an optimal memory area is determined using the memory area allocation priority management table 151 and the free memory area management table 153. . Further, it receives a memory release request from the OS (110, 111) on the virtual machines (102, 103), and executes the requested memory area release. Further, at the time of executing the release, the allocated memory area management table 152 and the free memory area management table 153 are updated.

転送判断部142は、メモリバンク間のデータ転送を行うか否かの判断を行い、結果をメモリ制御部141に通知する。この判断処理は、(1)仮想計算機制御部135が仮想計算機の切り替えを行った際に、通知を受け取って実施する。(2)仮想計算機管理情報記憶部136に格納された情報を定期的に監視することで実施する。(3)メモリ管理情報記憶部145に格納された情報を定期的に監視することで実施する。などが可能である。(1)の場合、転送判断部142は、仮想計算機制御部135からメモリ制御部141を介して切り替え通知を受け取ることで、仮想計算機の切り替えを検出し、切り替え通知の内容に基づいて停止した仮想計算機を決定する。次に、メモリ領域割り当て優先度管理テーブル151と割り当て済みメモリ領域管理テーブル152を用いて、下位メモリバンクにある割り当て済みメモリ領域のうち、その停止した仮想計算機に割り当てられているメモリ領域の有無を決定する。対象のメモリ領域がある場合、データ転送を行うと判断し、結果をメモリ制御部141に通知する。   The transfer determination unit 142 determines whether or not to transfer data between the memory banks, and notifies the memory control unit 141 of the result. This determination process is performed by (1) receiving a notification when the virtual machine control unit 135 switches virtual machines. (2) It is implemented by periodically monitoring information stored in the virtual machine management information storage unit 136. (3) It is implemented by periodically monitoring information stored in the memory management information storage unit 145. Etc. are possible. In the case of (1), the transfer determining unit 142 receives the switching notification from the virtual computer control unit 135 via the memory control unit 141, thereby detecting the switching of the virtual computer and stopping the virtual machine that has been stopped based on the content of the switching notification. Determine the calculator. Next, using the memory area allocation priority management table 151 and the allocated memory area management table 152, it is determined whether or not there is a memory area allocated to the stopped virtual machine among the allocated memory areas in the lower memory bank. decide. If there is a target memory area, it is determined that data transfer is to be performed, and the result is notified to the memory control unit 141.

(2)の場合、転送判断部142は、仮想計算機管理情報記憶部136に格納された情報を定期的に監視し、仮想計算機の切り替えを検出した際に、停止した仮想計算機を決定する。次に、メモリ領域割り当て優先度管理テーブル151と割り当て済みメモリ領域管理テーブル152を用いて、下位メモリバンクにある割り当て済みメモリ領域のうち、その停止した仮想計算機に割り当てられているメモリ領域の有無を決定する。対象のメモリ領域がある場合、データ転送を行うと判断し、結果をメモリ制御部141に通知する。(3)の場合、転送判断部143は、割り当て済みメモリ領域管理テーブル152に格納された情報を定期的に監視し、利用頻度が低く、かつ、上位メモリバンクにある割り当て済みのメモリ領域のうち、停止中の仮想計算機に割り当てられているメモリ領域の有無を決定する。対象のメモリ領域がある場合、データ転送を行うと判断し、結果をメモリ制御部141に通知する。   In the case of (2), the transfer determination unit 142 periodically monitors information stored in the virtual machine management information storage unit 136, and determines a stopped virtual machine when switching of virtual machines is detected. Next, using the memory area allocation priority management table 151 and the allocated memory area management table 152, it is determined whether or not there is a memory area allocated to the stopped virtual machine among the allocated memory areas in the lower memory bank. decide. If there is a target memory area, it is determined that data transfer is to be performed, and the result is notified to the memory control unit 141. In the case of (3), the transfer determination unit 143 periodically monitors the information stored in the allocated memory area management table 152, and uses the allocated memory areas in the upper memory bank that are less frequently used. The presence / absence of a memory area allocated to the stopped virtual machine is determined. If there is a target memory area, it is determined that data transfer is to be performed, and the result is notified to the memory control unit 141.

転送決定部143は、メモリ制御部141から通知を受け、メモリ領域割り当て優先度管理テーブル151に格納された情報を用いて、転送先メモリバンクを決定する。この決定処理は、より具体的には、転送先アドレス及びサイズの決定を行う。転送決定部143は、メモリ制御部141を介してメモリ転送管理部132に決定した転送先アドレス及びサイズを通知し、転送を指示する。なお、転送判断部142で説明した(1)と(2)の場合は、転送先メモリバンクとして、上位メモリバンクを決定し、(3)の場合は、転送先メモリバンクとして下位メモリバンクを決定する。   The transfer determination unit 143 receives the notification from the memory control unit 141, and determines the transfer destination memory bank using information stored in the memory area allocation priority management table 151. More specifically, this determination process determines the transfer destination address and size. The transfer determination unit 143 notifies the memory transfer management unit 132 of the determined transfer destination address and size via the memory control unit 141 and instructs transfer. In the case of (1) and (2) described in the transfer determination unit 142, the upper memory bank is determined as the transfer destination memory bank, and in the case of (3), the lower memory bank is determined as the transfer destination memory bank. To do.

優先度設定部144は、メモリ領域割り当て優先度管理テーブル151と割り当て済みメモリ領域管理テーブル152とを用いて、メモリバンクの割り当て優先度と、そのメモリバンクが保持している全メモリ領域の利用頻度情報およびメモリ領域の割り当て情報に基づき、メモリバンク毎に利用状況に即した優先度が設定されているかを管理し、必要に応じて優先度を設定し、最適な優先度に更新する。これにより、例えば割り当て優先度は高いが、バンク内の割り当て済みメモリ領域の多くは利用頻度の低い領域であるようなメモリバンクがあるとき、その利用頻度の低いメモリ領域をすべて、下位メモリバンクへ退避するよりも、メモリバンクそのものの優先度を落とし、利用頻度の高い領域を上位バンクへ転送するといった転送の最適化を可能とする。   Using the memory area allocation priority management table 151 and the allocated memory area management table 152, the priority setting unit 144 uses the memory bank allocation priority and the usage frequency of all the memory areas held by the memory bank. Based on the information and the allocation information of the memory area, it is managed whether or not the priority according to the use situation is set for each memory bank, the priority is set as necessary, and the priority is updated. As a result, for example, when there is a memory bank in which allocation priority is high but many of the allocated memory areas in the bank are infrequently used areas, all of the infrequently used memory areas are transferred to the lower memory bank. Rather than evacuating, it is possible to optimize the transfer by dropping the priority of the memory bank itself and transferring the frequently used area to the upper bank.

なお、図2の仮想計算機(102、103)およびハイパーバイザー101については、ソフトウェアで実現されるとしたが、電子回路や集積回路等のハードウェアで実現してもよい。   The virtual computers (102, 103) and the hypervisor 101 in FIG. 2 are realized by software, but may be realized by hardware such as an electronic circuit or an integrated circuit.

以上により、仮想計算機の切り替えタイミングで、メモリ転送処理を実施することが可能となり、停止する仮想計算機のメモリ領域に対する転送処理であることから、転送するデータの種類に関わらず任意のメモリバンク間でデータ転送が可能となり、また、オーバーヘッドの低減が可能となる。このオーバーヘッドの低減により、動作中の仮想計算機上のオペレーティングシステムやアプリケーションの動作に影響を与えることなく、定常的にメモリバンクを最適化することが可能となる。更に、下位メモリバンクのメモリ領域の消費が抑えられるため、電力の供給を必要とするメモリバンクの数あるいは容量を低減することが可能である。   As described above, the memory transfer process can be performed at the virtual machine switching timing, and since it is a transfer process to the memory area of the virtual machine to be stopped, it can be performed between any memory banks regardless of the type of data to be transferred. Data transfer is possible, and overhead can be reduced. By reducing the overhead, it is possible to constantly optimize the memory bank without affecting the operation of the operating system or application on the operating virtual machine. Furthermore, since the consumption of the memory area of the lower memory bank is suppressed, the number or capacity of memory banks that require power supply can be reduced.

図3は、本発明の実施の形態におけるメモリ管理情報記憶部145に格納した各テーブルの一例を示した図である。また、図4は、図3で示した各テーブルと物理アドレス空間との関係を示している。   FIG. 3 is a diagram illustrating an example of each table stored in the memory management information storage unit 145 according to the embodiment of the present invention. FIG. 4 shows the relationship between each table shown in FIG. 3 and the physical address space.

メモリ領域割り当て優先度管理テーブル151は、メモリバンク(121〜124)毎のメモリ領域の割り当て優先度を管理する。この優先度は、優先度設定部144により設定される。図3では、メモリバンク識別情報と、メモリバンクの開始アドレス情報と、メモリバンクのサイズ情報、割り当て優先度情報を組としてテーブル管理する例を示している。なお、終了アドレス情報など他の情報を有していてもよいし、各情報を格納したアドレスで管理するなど他のフォーマットでもよい。   The memory area allocation priority management table 151 manages the memory area allocation priority for each memory bank (121 to 124). This priority is set by the priority setting unit 144. FIG. 3 shows an example in which memory bank identification information, memory bank start address information, memory bank size information, and allocation priority information are managed as a table. It should be noted that other information such as end address information may be included, or other formats such as management by an address storing each information may be used.

割り当て済みメモリ領域管理テーブル152は、仮想計算機に対して割り当て済みのメモリ領域を管理する。図3では、メモリ領域識別情報、メモリ領域の開始アドレス情報、メモリ領域のサイズ情報、メモリ領域を使用している割り当て仮想計算機識別情報、利用頻度情報を組としてテーブル管理する例を示している。利用頻度情報は、仮想計算機がハイパーバイザー101を通して、任意に設定しても良いし、ハイパーバイザー101あるいはメモリ管理部131が仮想計算機のメモリアクセスを監視し、更新する実装でも良い。なお、終了アドレス情報など他の情報を有していてもよいし、各情報を格納したアドレスで管理するなど他のフォーマットでもよい。   The allocated memory area management table 152 manages memory areas allocated to the virtual machines. FIG. 3 shows an example of managing the table as a set of memory area identification information, memory area start address information, memory area size information, assigned virtual machine identification information using the memory area, and usage frequency information. The usage frequency information may be arbitrarily set by the virtual machine through the hypervisor 101, or may be implemented such that the hypervisor 101 or the memory management unit 131 monitors and updates the memory access of the virtual machine. It should be noted that other information such as end address information may be included, or other formats such as management by an address storing each information may be used.

空きメモリ領域管理テーブル153は、割り当てしていない(使用していない)空きメモリ領域を管理する。図3では、メモリ領域識別情報、メモリ領域の開始アドレス情報、メモリ領域のサイズ情報を組としてテーブル管理する例を示している。なお、終了アドレス情報など他の情報を有していてもよいし、各情報を格納したアドレスで管理するなど他のフォーマットでもよい。   The free memory area management table 153 manages free memory areas that are not allocated (not used). FIG. 3 shows an example of managing the table as a set of memory area identification information, memory area start address information, and memory area size information. It should be noted that other information such as end address information may be included, or other formats such as management by an address storing each information may be used.

図5から図7を参照して、本発明の実施の形態における計算機システムのメモリ電源管理手順を説明する。   With reference to FIGS. 5 to 7, the memory power management procedure of the computer system in the embodiment of the present invention will be described.

図5は、仮想計算機を切り替えた直後に実施するメモリ移動処理の開始処理を説明するためのフローチャートである。ここでは、仮想計算機制御部135が、メモリ管理部131に仮想計算機の切り替えを通知し、処理を開始するものとする。前述した通り、仮想計算機管理情報記憶部136に格納された情報を定期的に監視することで切り替えを検出してもよい。   FIG. 5 is a flowchart for explaining the start processing of the memory migration processing that is performed immediately after switching the virtual machines. Here, it is assumed that the virtual machine control unit 135 notifies the memory management unit 131 of switching of virtual machines and starts processing. As described above, the switching may be detected by periodically monitoring information stored in the virtual machine management information storage unit 136.

転送判断部142は、仮想計算機制御部135からの切り替え通知をメモリ制御部141を介して受け取り、切り替え通知の内容に基づいて停止した仮想計算機を決定する(ステップA1)。なお、通知を受け取った後、仮想計算機管理情報記憶部136を参照することで、停止した仮想計算機を決定する実装でもよい。   The transfer determination unit 142 receives the switching notification from the virtual computer control unit 135 via the memory control unit 141, and determines the stopped virtual computer based on the content of the switching notification (step A1). In addition, after receiving the notification, the virtual machine management information storage unit 136 may be referenced to determine the stopped virtual machine.

転送判断部142は、使用中メモリ領域割り当て優先度管理テーブル151と割り当て済みメモリ領域管理テーブル152を用いて、下位メモリバンクにある割り当て済みメモリ領域のうち、ステップA1で決定した停止した仮想計算機に割り当てられているメモリ領域の有無を決定する(ステップA2)。対象のメモリ領域がある場合(ステップA2がYES)、転送判断部142は、データ転送を行うと判断し、結果をメモリ制御部141に通知する。一方、対象のメモリ領域がない場合(ステップA2がNO)、処理を終了する。   The transfer determination unit 142 uses the in-use memory area allocation priority management table 151 and the allocated memory area management table 152 to identify the stopped virtual machine determined in step A1 among the allocated memory areas in the lower memory bank. The presence / absence of an allocated memory area is determined (step A2). If there is a target memory area (YES in step A2), the transfer determination unit 142 determines that data transfer is to be performed and notifies the memory control unit 141 of the result. On the other hand, if there is no target memory area (NO in step A2), the process ends.

転送決定部143は、メモリ制御部141から通知を受け、メモリ領域割り当て優先度管理テーブル151と割り当て済みメモリ領域管理テーブル152に格納された情報を用いて、転送先メモリバンクを決定する(ステップA3)。この決定処理は、より具体的には、転送先アドレス及びサイズの決定を行う。   The transfer determination unit 143 receives the notification from the memory control unit 141, and determines the transfer destination memory bank using information stored in the memory area allocation priority management table 151 and the allocated memory area management table 152 (step A3). ). More specifically, this determination process determines the transfer destination address and size.

転送決定部143は、メモリ制御部141を介して、決定した転送先アドレス及びサイズをメモリ転送管理部132に通知し、メモリ領域転送を指示する(ステップA4)。   The transfer determination unit 143 notifies the memory transfer management unit 132 of the determined transfer destination address and size via the memory control unit 141, and instructs the memory area transfer (step A4).

メモリ転送管理部132は、メモリ転送部15に転送先のアドレスとサイズを設定し、転送の開始を指示する(ステップA5)。転送の開始の指示を受けたメモリ転送部15は、転送を開始する(ステップA6)。転送はバックグラウンドで実行されるため、完了待ちの処理は不要となり、ステップA7で、ハイパーバイザー101に制御を戻し、仮想計算機制御部135は、次に実行すべき仮想計算機を決定し、その仮想計算機の実行を再開する。   The memory transfer management unit 132 sets the transfer destination address and size in the memory transfer unit 15, and instructs the start of transfer (step A5). Receiving the transfer start instruction, the memory transfer unit 15 starts the transfer (step A6). Since the transfer is executed in the background, there is no need to wait for completion, and in step A7, control is returned to the hypervisor 101, and the virtual machine control unit 135 determines the virtual machine to be executed next, and the virtual machine control unit 135 Resume computer execution.

図6は、図5で開始したメモリ移動処理の終了処理を説明するためのフローチャートである。ここでは、仮想計算機制御部135が、メモリ転送処理の完了を通知する割り込みを受け取り、メモリ管理部131に転送完了を通知し、処理を開始するものとする。   FIG. 6 is a flowchart for explaining the end process of the memory movement process started in FIG. Here, it is assumed that the virtual machine control unit 135 receives an interrupt notifying the completion of the memory transfer process, notifies the memory management unit 131 of the transfer completion, and starts the process.

メモリ管理部131は、仮想計算機制御部135から転送完了通知を受け取り、仮想MMU134にアドレス変換マップの更新を指示する(ステップB1)。   The memory management unit 131 receives the transfer completion notification from the virtual machine control unit 135, and instructs the virtual MMU 134 to update the address translation map (step B1).

仮想MMU134は、図5で開始したメモリ転送処理により、転送対象のデータが格納されたメモリ領域の物理アドレスが変更されるため、MMU12のアドレス変換記述子を更新し、転送対象となったメモリ領域の、仮想計算機に対して割り当てている一次アドレスと、転送後のメモリ領域の物理アドレスの関連付けを修正する(ステップB2)。   The virtual MMU 134 updates the address translation descriptor of the MMU 12 by changing the physical address of the memory area in which the transfer target data is stored by the memory transfer process started in FIG. The association between the primary address assigned to the virtual machine and the physical address of the memory area after transfer is corrected (step B2).

メモリ管理部131(メモリ制御部141)は、仮想MMU134による更新処理の終了後、割り当て済みメモリ領域管理テーブル152と空きメモリ領域管理テーブル153を更新することで、転送元のメモリバンクから、転送の完了したデータが格納されていたメモリ領域を解放する(ステップB3)。   After the update process by the virtual MMU 134 is completed, the memory management unit 131 (memory control unit 141) updates the allocated memory area management table 152 and the free memory area management table 153 to transfer data from the transfer source memory bank. The memory area where the completed data is stored is released (step B3).

メモリ制御部141は、メモリ領域割り当て優先度管理テーブル15と空きメモリ領域管理テーブル153を参照し、転送元のメモリ領域が格納されていたメモリバンクのメモリ領域の割り当て状態を調べ、すべてのメモリ領域が解放され、未使用状態か否かを検査する(ステップB4)。未使用状態になっているならば(ステップB4がYES)、メモリ管理部131(メモリ制御部141)は、メモリ電源管理部133に指示することで、未使用状態のメモリバンクの電源を遮断する等の省電力制御を実行する(ステップB5)。   The memory control unit 141 refers to the memory area allocation priority management table 15 and the free memory area management table 153, and checks the allocation state of the memory area of the memory bank in which the memory area of the transfer source is stored. Is released and it is checked whether it is in an unused state (step B4). If it is in the unused state (YES in step B4), the memory management unit 131 (memory control unit 141) instructs the memory power management unit 133 to cut off the power supply of the unused memory bank. The power saving control such as is executed (step B5).

最後に、仮想計算機制御部135は、実行優先度のもっとも高い仮想計算機の実行を再開する(ステップB6)。   Finally, the virtual machine control unit 135 resumes execution of the virtual machine with the highest execution priority (step B6).

以上により、例えば、仮想計算機102が動作中で仮想計算機103が停止中である場合に、仮想計算機103での処理実行が必要となり、仮想計算機の切り替えが発生したタイミングで、動作中から停止中に状態変化する仮想計算機102が使用しているメモリ領域の移動処理を開始することが可能となる。これにより、実際の移動処理は、バックグラウンドで、メモリ転送部15によるハード処理により行われることになり、仮想計算機103でのアプリケーションの動作速度などの性能の低下を低減することが可能となる。また、定常的にメモリバンクの使用状態を最適に保つことになり、省電力モード移行時に下位メモリバンクから上位メモリバンクへ一括して転送するデータの総量の削減も意味するため、この転送の処理時間が短縮される。省電力モード移行時の処理時間の短縮は、システムのスリープ時間の延長であるため、計算機システム全体の消費電力の効果的な削減が可能となり、携帯情報端末などに代表される携帯情報端末において連続使用時間の延長や、連続待ち受け時間の延長、および電池容量の削減などが可能となる。   As described above, for example, when the virtual machine 102 is operating and the virtual machine 103 is stopped, it is necessary to execute processing in the virtual machine 103, and when the virtual machine is switched, the virtual machine 102 is switched from operating to stopped. It becomes possible to start the process of moving the memory area used by the virtual machine 102 whose state changes. As a result, the actual migration process is performed by hardware processing by the memory transfer unit 15 in the background, and it is possible to reduce performance degradation such as the operation speed of the application in the virtual machine 103. In addition, since the memory bank usage state is constantly maintained optimally, this means that the total amount of data transferred from the lower memory bank to the upper memory bank at the time of shifting to the power saving mode is also reduced. Time is shortened. The reduction in processing time when shifting to the power saving mode is an extension of the sleep time of the system, so it is possible to effectively reduce the power consumption of the entire computer system, and it can be continuously applied to portable information terminals such as portable information terminals. It is possible to extend the use time, extend the continuous standby time, and reduce the battery capacity.

図7および図8は、計算機システムが省電力モードに移行する際のメモリ移動処理手順を説明するためのフローチャートである。ここでは、ハイパーバイザー101への割り込みを仮想計算機制御部135が受け取り、割り込み要因を判断し、メモリ管理部131に省電力モードへの移行を通知するか、または、仮想計算機制御部135が仮想計算機上のタスクの実行状態を監視し、省電力モードへの移行可否を判断し、メモリ管理部131に省電力モードへの移行を通知し、処理を開始するものとする。なお、省電力モードへの移行は、動作中の仮想計算機からの通知を受け取ることで、省電力モードへの移行を検出してもよい。また、ハード的な切り替えスイッチとして省電力モードも変更を行ってもよいとする。   7 and 8 are flowcharts for explaining the memory migration processing procedure when the computer system shifts to the power saving mode. Here, the virtual machine control unit 135 receives an interrupt to the hypervisor 101, determines the cause of the interrupt, and notifies the memory management unit 131 of the transition to the power saving mode, or the virtual machine control unit 135 It is assumed that the execution state of the above task is monitored, it is determined whether or not the shift to the power saving mode is possible, the shift to the power saving mode is notified to the memory management unit 131, and the processing is started. Note that the transition to the power saving mode may be detected by receiving a notification from the operating virtual machine. Further, the power saving mode may be changed as a hardware changeover switch.

メモリ管理部131(メモリ制御部141)は、仮想計算機制御部135から省電力モードへの移行の通知を受けると、優先度設定部144に優先度の再設定を要求する。優先度設定部144は、メモリ領域割り当て優先度管理テーブル151と割り当て済みメモリ領域管理テーブル152とを用いて、メモリバンクの割り当て優先度と、そのメモリバンクが保持している全メモリ領域の利用頻度情報およびメモリ領域の割り当て情報に基づき、メモリバンク毎に利用状況に即した最適な優先度に更新する(ステップC1)。具体的には、割り当て優先度は高いが、バンク内の割り当て済みメモリ領域の多くは利用頻度の低い領域であるようなメモリバンクに対し、メモリバンクの優先度を落とす処理を行う。つまり、その利用頻度の低いメモリ領域のすべてを、下位メモリバンクへ退避するよりも、メモリバンクそのものの優先度を落とし、利用頻度の高い領域を上位バンクへ転送する方が、転送する対象のサイズが小さくてすみ、転送処理時間を短くすることが可能となる。また、優先度設定部144は、優先度の変更が発生した場合、メモリ領域割り当て優先度管理テーブル151が格納する割り当て優先度情報の更新を行う。   When the memory management unit 131 (memory control unit 141) receives a notification of transition from the virtual machine control unit 135 to the power saving mode, the memory management unit 131 (memory control unit 141) requests the priority setting unit 144 to reset the priority. Using the memory area allocation priority management table 151 and the allocated memory area management table 152, the priority setting unit 144 uses the memory bank allocation priority and the usage frequency of all the memory areas held by the memory bank. Based on the information and the memory area allocation information, the memory bank is updated to the optimum priority in accordance with the use situation (step C1). Specifically, a process of lowering the priority of the memory bank is performed on a memory bank that has a high allocation priority but has many allocated memory areas in the bank that are not frequently used. In other words, rather than evacuating all of the infrequently used memory areas to the lower memory bank, the priority of the memory bank itself is lowered, and the frequently used area is transferred to the upper bank. Therefore, the transfer processing time can be shortened. Further, the priority setting unit 144 updates the allocation priority information stored in the memory area allocation priority management table 151 when a priority change occurs.

優先度設定部144は、優先度を更新した結果を、メモリ制御部141に通知する。メモリ制御部141は、受け取った結果を用いて、優先度に変更があったか否かを判定する(ステップC2)。なお、ここでは、優先度設定部144から結果を受け取るとしたが、メモリ領域割り当て優先度テーブル151に更新情報を追加し、優先度設定部144が変更したメモリバンクに対する更新情報をONし、メモリ制御部141が、メモリ領域割り当て優先度テーブル151の更新情報がONのメモリバンクの有無を判定してもよい。   The priority setting unit 144 notifies the memory control unit 141 of the result of updating the priority. The memory control unit 141 determines whether the priority has been changed using the received result (step C2). Here, the result is received from the priority setting unit 144, but update information is added to the memory area allocation priority table 151, the update information for the memory bank changed by the priority setting unit 144 is turned ON, and the memory The control unit 141 may determine whether there is a memory bank whose update information in the memory area allocation priority table 151 is ON.

優先度に変更があった場合(ステップC2がYES)、転送決定部143は、メモリ制御部141から通知を受け、メモリ領域割り当て優先度管理テーブル151と割り当て済みメモリ領域管理テーブル152に格納された情報を用いて、転送先メモリバンクを決定する(ステップC3)。この決定処理は、より具体的には、最下位のメモリバンクから順に、使用中のメモリ領域を上位のメモリバンクに転送するための、転送先アドレス及びサイズの決定を行う。   When there is a change in the priority (YES in step C2), the transfer determination unit 143 receives the notification from the memory control unit 141 and stores it in the memory area allocation priority management table 151 and the allocated memory area management table 152. Using the information, a transfer destination memory bank is determined (step C3). More specifically, this determination processing determines the transfer destination address and size for transferring the memory area in use to the upper memory bank in order from the lowest memory bank.

転送決定部143は、メモリ制御部141を介して、決定した転送先アドレス及びサイズをメモリ転送管理部132に通知し、メモリ領域転送を指示する(ステップC4)。   The transfer determination unit 143 notifies the memory transfer management unit 132 of the determined transfer destination address and size via the memory control unit 141, and instructs memory area transfer (step C4).

メモリ転送管理部132は、メモリ転送部15に転送先のアドレスとサイズを設定し、転送の開始を指示する(ステップC5)。転送の開始の指示を受けたメモリ転送部15は、転送を開始する(ステップC6)。これにより、最下位のメモリバンクから順に、使用中のメモリ領域を上位のメモリバンクへの転送を実行することになる。   The memory transfer management unit 132 sets the transfer destination address and size in the memory transfer unit 15 and instructs the start of transfer (step C5). Receiving the transfer start instruction, the memory transfer unit 15 starts the transfer (step C6). As a result, the memory area in use is transferred to the upper memory bank in order from the lowest memory bank.

転送はバックグラウンドで実行されるため、完了待ちの処理は不要となり、ステップC1から処理を繰り返す。   Since the transfer is executed in the background, the process of waiting for completion is unnecessary, and the process is repeated from step C1.

一方、優先度に変更がなかった場合(ステップC2がNO)、つまり、全メモリバンクの優先度が決定して転送を開始した後、メモリ管理部131は、仮想計算機制御部135から転送完了通知を受け取り、仮想MMU134にアドレス変換マップの更新を指示する(ステップC7)。   On the other hand, when there is no change in the priority (NO in step C2), that is, after the priority of all the memory banks is determined and the transfer is started, the memory management unit 131 notifies the transfer completion notification from the virtual machine control unit 135. And instructs the virtual MMU 134 to update the address translation map (step C7).

仮想MMU134は、MMU12のアドレス変換記述子を更新し、転送対象となったメモリ領域の、仮想計算機に対して割り当てている一次アドレスと、転送後のメモリ領域の物理アドレスの関連付けを修正する(ステップC8)。   The virtual MMU 134 updates the address translation descriptor of the MMU 12 and corrects the association between the primary address assigned to the virtual machine in the memory area to be transferred and the physical address of the memory area after the transfer (step). C8).

メモリ管理部131(メモリ制御部141)は、仮想MMU134による更新処理の終了後、割り当て済みメモリ領域管理テーブル152と空きメモリ領域管理テーブル153を更新することで、転送元のメモリバンクから、転送の完了したデータが格納されていたメモリ領域を解放する(ステップC9)。   After the update process by the virtual MMU 134 is completed, the memory management unit 131 (memory control unit 141) updates the allocated memory area management table 152 and the free memory area management table 153 to transfer data from the transfer source memory bank. The memory area in which the completed data is stored is released (step C9).

メモリ制御部141は、メモリ領域割り当て優先度管理テーブル15と空きメモリ領域管理テーブル153を参照し、各メモリバンクのメモリ領域の割り当て状態を調べ、すべてのメモリ領域が解放され、未使用状態のメモリバンクの有無を判定する(ステップC10)。未使用状態のメモリバンクがある場合(ステップC10がYES)、メモリ管理部131(メモリ制御部141)は、メモリ電源管理部133に指示することで、未使用状態のメモリバンクの電力供給を遮断する(ステップC11)。   The memory control unit 141 refers to the memory area allocation priority management table 15 and the free memory area management table 153 to check the allocation status of the memory areas of each memory bank, and all the memory areas are released, and the unused memory The presence / absence of a bank is determined (step C10). If there is an unused memory bank (YES in step C10), the memory management unit 131 (memory control unit 141) shuts off the power supply to the unused memory bank by instructing the memory power management unit 133. (Step C11).

最後に、仮想計算機制御部135は、残りのスリープ遷移処理を実行してシステムをスリープ状態に遷移する(ステップC12)。   Finally, the virtual machine control unit 135 executes the remaining sleep transition process to shift the system to the sleep state (step C12).

以上により、メモリバンク毎に利用状況に即した優先度が設定されているかを管理し、必要に応じて優先度を設定し、最適な優先度に更新することが可能となる。これにより、例えば割り当て優先度は高いが、バンク内の割り当て済みメモリ領域の多くは利用頻度の低い領域であるようなメモリバンクあるとき、その利用頻度の低いメモリ領域をすべて、下位メモリバンクへ退避するよりも、メモリバンクそのものの優先度を落とし、利用頻度の高い領域を上位バンクへ転送するといった転送の最適化を可能とする。   As described above, it is possible to manage whether or not the priority according to the use situation is set for each memory bank, set the priority as necessary, and update to the optimum priority. As a result, for example, when there is a memory bank where allocation priority is high, but many of the allocated memory areas in the bank are infrequently used areas, all the infrequently used memory areas are saved to the lower memory bank. Rather than doing this, it is possible to optimize the transfer by dropping the priority of the memory bank itself and transferring the frequently used area to the upper bank.

図9は、本発明の実施の形態における仮想MMU134のアドレス変換に関するアドレス空間と変換マップの一例を示している。メモリバンク(121〜124)の物理的なメモリマップ(物理アドレス空間)と、MMU12が管理する論理的なメモリマップ(一次論理アドレス空間)と、仮想MMU134が管理する仮想計算機(102、103)上の論理アドレスである二次論理アドレス空間を用いて、メモリ上のデータ制御を行う。   FIG. 9 shows an example of an address space and a translation map regarding address translation of the virtual MMU 134 in the embodiment of the present invention. The physical memory map (physical address space) of the memory banks (121 to 124), the logical memory map (primary logical address space) managed by the MMU 12, and the virtual machines (102, 103) managed by the virtual MMU 134 The data control on the memory is performed using the secondary logical address space which is the logical address.

ハイパーバイザー101は、MMU12を制御し、仮想計算機用変換テーブル(211〜212)の内容を更新することで、一次アドレス変換マップを任意に変更することができる。仮想計算機(102〜103)上のオペレーティングシステム(110〜111)は、仮想MMU134を制御し、仮想計算機用変換テーブル(221〜222)の内容を更新することで、二次アドレス変換マップを任意に変更することができる。   The hypervisor 101 can arbitrarily change the primary address translation map by controlling the MMU 12 and updating the contents of the virtual machine translation tables (211 to 212). The operating system (110 to 111) on the virtual machines (102 to 103) controls the virtual MMU 134 and updates the contents of the virtual machine conversion tables (221 to 222) to arbitrarily set the secondary address translation map. Can be changed.

また、オペレーティングシステム(110〜111)から見た仮想MMU134、および、一次論理アドレス空間と二次論理アドレス空間の関係は、一般的な計算機におけるMMU、および、物理アドレス空間と論理アドレス空間の関係に等しいため、仮想計算機上のタスク(112〜116)およびOS(110〜111)は、一次論理アドレスを物理アドレス、二次論理アドレスを論理アドレスに置き換えて実行される。   The relationship between the virtual MMU 134 and the primary logical address space and the secondary logical address space seen from the operating system (110 to 111) is the same as the relationship between the MMU and the physical address space and the logical address space in a general computer. Therefore, the tasks (112 to 116) and the OS (110 to 111) on the virtual machine are executed by replacing the primary logical address with the physical address and the secondary logical address with the logical address.

したがって、これらの二段階のアドレス変換マップにより、メモリバンク(121〜124)の物理アドレス空間と、仮想計算機上のタスク(112〜116)が実行される論理アドレス空間は独立した関係となるため、メモリ領域を転送する際の物理アドレスの変更は、一次論理アドレス変換マップの変更のみで完結し、二次論理アドレス変換マップの変更は必要としない。ゆえに、仮想計算機上で実行されているOSやアプリケーションプログラムの実行に影響を与えることなく、メモリ転送などの物理アドレスの変更処理を実行することができる。   Therefore, the physical address space of the memory banks (121 to 124) and the logical address space in which the tasks (112 to 116) on the virtual machine are executed are independent from each other by these two-stage address translation maps. The change of the physical address when transferring the memory area is completed only by changing the primary logical address conversion map, and the change of the secondary logical address conversion map is not required. Therefore, the physical address changing process such as memory transfer can be executed without affecting the execution of the OS or application program executed on the virtual machine.

以下、携帯電話やデジタルカメラ、PDA、携帯音楽プレイヤーに代表される携帯情報端末の計算機システムにおけるメモリ制御を一例として説明する。   Hereinafter, memory control in a computer system of a portable information terminal represented by a mobile phone, a digital camera, a PDA, or a portable music player will be described as an example.

近年、携帯情報端末は、高機能・高性能化が進んでおり、搭載されるメモリ容量は増大の傾向にある。また、高機能・高性能化の実現には、複数の大規模なアプリケーションプログラムの起動が必要とされており、仮想アドレス空間でメモリを管理する高機能なオペレーティングシステムによるアプリケーションプログラムの管理が必須となっている。このような携帯情報端末の計算機システムでは、アプリケーションプログラムの機能の一部の実現のために、一時的に大容量のメモリ領域を確保し、使用した後に解放する動作を繰り返すケースが多くなっている。つまり、下位メモリバンクに使用中のメモリ領域が増加することになる。その結果、省電力効率を高めるためのメモリ領域の転送処理の対象となるメモリ領域は増加し、転送処理時間が増大することになってきた。   In recent years, portable information terminals have been improved in function and performance, and the memory capacity to be mounted is increasing. Also, in order to achieve high functionality and high performance, it is necessary to start multiple large-scale application programs, and it is essential to manage application programs with a sophisticated operating system that manages memory in a virtual address space. It has become. In such a portable information terminal computer system, in order to realize a part of the function of the application program, there is an increasing number of cases where a large-capacity memory area is temporarily secured and released after being used. . That is, the memory area in use in the lower memory bank increases. As a result, the number of memory areas subject to the transfer process of the memory area for improving the power saving efficiency has increased, and the transfer process time has increased.

また、携帯情報端末の計算機システムでは、ユーザーに対するアプリケーションプログラムの起動応答性能が重視される。そのため、複数のアプリケーションを上位メモリバンクのメモリ領域に常駐させ、利用シーンによりアプリケーションを切り替えて動作させる構成が一般的である。近年の携帯情報端末の高機能化にともない、アプリケーション毎に消費するメモリあるいは常駐数は増加の傾向にあり、必要とされる上位メモリバンクの数あるいは容量も増加の傾向にある。典型的に、上位メモリバンクは、電力を遮断できないかあるいは供給されている時間が、下位メモリバンクに比較して長い。そのため、上位メモリバンクの増加は、システムの消費電力を増大させることを意味する。   Further, in the computer system of the portable information terminal, importance is placed on the startup response performance of the application program for the user. For this reason, a configuration in which a plurality of applications are made resident in the memory area of the upper memory bank and the applications are switched according to usage scenes is generally operated. With the recent increase in functionality of portable information terminals, the number of memories or resident numbers consumed for each application tends to increase, and the required number or capacity of upper memory banks also tends to increase. Typically, the upper memory bank cannot power off or is supplied for a longer time compared to the lower memory bank. Therefore, an increase in the upper memory bank means that the power consumption of the system is increased.

このような状況において、従来技術として、アプリケーション性能に影響を与えないために、計算機システムが省電力モードへ遷移するタイミングで一括転送処理を実施するものがあった。しかしながら、この方法では、転送処理時間が増大することで、システムのスリープ時間が減少し、システムの消費電力が増加することになる。   In such a situation, as a conventional technique, there is one that performs batch transfer processing at the timing when the computer system transitions to the power saving mode in order not to affect the application performance. However, in this method, the transfer processing time increases, so that the sleep time of the system decreases and the power consumption of the system increases.

一方、本発明のメモリ電源管理装置によれば、仮想計算機の切り替えタイミングで転送処理を実施することで、定常的にメモリバンクの最適化処理を行っていることから、省電力モード移行タイミングでの転送対象のメモリ領域を削減することが可能となる。これにより、より長くスリープすることができ、より効率的な低消費電力制御を行うことが可能となる。その結果、携帯情報端末における連続使用時間の延長や、連続待ち受け時間の延長、および電池容量の削減などが可能となる。   On the other hand, according to the memory power management device of the present invention, the memory bank optimization process is constantly performed by performing the transfer process at the switching timing of the virtual machine. It is possible to reduce the memory area to be transferred. Thereby, it is possible to sleep for a longer time, and it is possible to perform more efficient low power consumption control. As a result, it is possible to extend the continuous use time, extend the continuous standby time, and reduce the battery capacity in the portable information terminal.

また、前述した省電力モードへ遷移するタイミングでの一括転送処理でなく、所定のタイミングでガベージコレクション処理を実行することで、定常的にメモリバンクの使用状態を最適に保つ従来技術があった。しかしながら、この方法では、メモリ領域管理とガベージコレクション処理をオペレーティングシステムで実行しているため、計算機システムに搭載されるメモリの総量が多くなると、オペレーティングシステムに割り当てるCPU時間が増大し、アプリケーションの動作速度などの性能を低下させることになる。また、上記のガベージコレクション処理をバックグランドで実行した場合、メモリ領域管理、およびメモリ電源管理が必要とするデータ領域はガベージコレクション処理中にも参照される可能性があり、メモリバンク間を移動することはできない。さらに、ガベージコレクション処理もオペレーティングシステムの中で実行しているために、この処理に必要なデータを移動すること、および移動処理にともなうオーバーヘッド(CPU時間、および電力消費)を十分に抑えることは、非常に困難である。   In addition, there is a conventional technique that constantly maintains the memory bank usage state optimally by executing garbage collection processing at a predetermined timing instead of the batch transfer processing at the timing of transition to the power saving mode described above. However, in this method, since the memory area management and garbage collection processing are executed by the operating system, if the total amount of memory installed in the computer system increases, the CPU time allocated to the operating system increases and the operating speed of the application increases. Such as performance will be reduced. When the above garbage collection process is executed in the background, the data area required for memory area management and memory power management may be referred to during the garbage collection process, and moves between memory banks. It is not possible. Furthermore, since the garbage collection process is also executed in the operating system, it is necessary to move the data necessary for this process and to sufficiently suppress the overhead (CPU time and power consumption) associated with the move process. It is very difficult.

一方、本発明のメモリ電源管理装置によれば、仮想計算機の切り替えが発生したタイミングで、動作中から停止中に状態変化する仮想計算機が使用しているメモリ領域の移動処理を開始することが可能となる。これにより、実際の移動処理は、バックグラウンドでハード処理により行われることになり、実行中の仮想計算機でのアプリケーションの動作速度などの性能の低下を低減することが可能となる。   On the other hand, according to the memory power management device of the present invention, it is possible to start the process of moving the memory area used by the virtual machine whose state changes from running to stopped at the timing when the virtual machine is switched. It becomes. As a result, the actual migration process is performed by hardware processing in the background, and it is possible to reduce a decrease in performance such as the operation speed of the application in the virtual machine being executed.

以上により、本発明のメモリ電源管理方法によれば、転送するデータの種類に関わらず任意のメモリバンク間でデータ転送が可能となるため、オペレーティングシステムやアプリケーションが使用中のメモリを再配置する処理機構を簡略化し、メモリバンクの最適化処理のオーバーヘッドを低減することが可能となる。このオーバーヘッドの低減により、オペレーティングシステムやアプリケーションの動作に影響を与えることなく、定常的にメモリバンクを最適化することができ、下位メモリバンクのメモリ領域の消費が抑えられるため、電力の供給を必要とするメモリバンクの数あるいは容量を低減することが可能である。   As described above, according to the memory power management method of the present invention, data can be transferred between arbitrary memory banks regardless of the type of data to be transferred. It is possible to simplify the mechanism and reduce the overhead of memory bank optimization processing. This reduction in overhead makes it possible to constantly optimize the memory bank without affecting the operation of the operating system and applications, and to reduce the consumption of the memory area of the lower memory bank. It is possible to reduce the number or capacity of memory banks.

さらに、下位メモリバンクのメモリ領域の消費の低減は、省電力モード移行時に下位メモリバンクから上位メモリバンクへ一括して転送するデータの総量の削減も意味するため、この転送の処理時間が短縮される。省電力モード移行時の処理時間の短縮は、システムのスリープ時間の延長であるため、本発明のメモリ電源管理方法によれば、計算機システム全体の消費電力の効果的な削減が可能となり、携帯情報端末などにおいて連続使用時間の延長や、携帯電話の連続待ち受け時間の延長、および電池容量の削減などが可能となる。   Furthermore, the reduction in the memory area consumption of the lower memory bank also means a reduction in the total amount of data transferred from the lower memory bank to the upper memory bank at the time of shifting to the power saving mode. The Since the reduction of the processing time at the time of shifting to the power saving mode is the extension of the sleep time of the system, the memory power management method of the present invention can effectively reduce the power consumption of the entire computer system, and the portable information It is possible to extend the continuous use time in a terminal, extend the continuous standby time of a mobile phone, reduce the battery capacity, and the like.

本発明にかかるメモリ電源管理装置は、仮想計算機の切り替えタイミングで、メモリ転送処理を実施する機能を有し、携帯情報端末などとして有用である。また、各種情報家電のメモリ電源管理などの用途にも応用できる。   The memory power management apparatus according to the present invention has a function of executing a memory transfer process at a virtual machine switching timing, and is useful as a portable information terminal or the like. It can also be applied to memory power management for various information appliances.

本発明の実施の形態におけるメモリ電源管理装置を備えた計算機システムの構成図1 is a configuration diagram of a computer system including a memory power management device according to an embodiment of the present invention. 本発明の実施の形態におけるメモリ電源管理装置の構成を示すブロック図The block diagram which shows the structure of the memory power management apparatus in embodiment of this invention 本発明の実施の形態におけるメモリ管理情報記憶部に格納した各テーブルの一例を示した図The figure which showed an example of each table stored in the memory management information storage part in embodiment of this invention 本発明の実施の形態におけるメモリ管理情報記憶部に格納した各テーブルと物理アドレス空間との関係の一例を示す図The figure which shows an example of the relationship between each table and physical address space which were stored in the memory management information storage part in embodiment of this invention 本発明の実施の形態におけるメモリ電源管理のメモリ移動処理の開始手順の一例を示す図The figure which shows an example of the start procedure of the memory movement process of memory power management in embodiment of this invention 本発明の実施の形態におけるメモリ電源管理のメモリ移動処理の終了手順の一例を示す図The figure which shows an example of the completion | finish procedure of the memory movement process of memory power management in embodiment of this invention 本発明の実施の形態におけるメモリ電源管理のメモリ一括転送処理の手順の一例を示す図The figure which shows an example of the procedure of the memory batch transfer process of the memory power management in embodiment of this invention 本発明の実施の形態におけるメモリ電源管理のメモリ一括転送処理の手順の一例を示す図The figure which shows an example of the procedure of the memory batch transfer process of the memory power management in embodiment of this invention 本発明の実施の形態における仮想MMUのアドレス変換に関するアドレス空間と変換マップの一例を示す図The figure which shows an example of the address space and conversion map regarding the address conversion of virtual MMU in embodiment of this invention

符号の説明Explanation of symbols

10 内部バス
11 CPU
12 MMU
13 周辺モジュール
14 メモリ
15 メモリ転送部
16 メモリ電源制御部
100 計算機システム
101 ハイパーバイザー
102,103 仮想計算機
110,111 オペレーティングシステム
121,122,123,124 メモリバンク
131 メモリ管理部
132 メモリ転送管理部
133 メモリ電源管理部
134 仮想MMU
135 仮想計算機制御部
136 仮想計算機管理情報記憶部
141 メモリ制御部
142 転送判断部
143 転送決定部
144 優先度設定部
145 メモリ管理情報記憶部
151 メモリ領域割り当て優先度管理テーブル
152 割り当て済みメモリ領域管理テーブル
153 空きメモリ領域管理テーブル
10 Internal bus 11 CPU
12 MMU
DESCRIPTION OF SYMBOLS 13 Peripheral module 14 Memory 15 Memory transfer part 16 Memory power supply control part 100 Computer system 101 Hypervisor 102,103 Virtual machine 110,111 Operating system 121,122,123,124 Memory bank 131 Memory management part 132 Memory transfer management part 133 Memory Power management unit 134 Virtual MMU
135 Virtual computer control unit 136 Virtual computer management information storage unit 141 Memory control unit 142 Transfer determination unit 143 Transfer determination unit 144 Priority setting unit 145 Memory management information storage unit 151 Memory area allocation priority management table 152 Allocated memory area management table 153 Free memory area management table

Claims (5)

複数のメモリバンクから構成されるメモリと複数の仮想計算機を備えた計算機システムのメモリ電源管理を行うメモリ電源管理装置であって、
前記メモリバンク毎に設定した優先度を優先度情報として記憶するメモリ管理情報記憶手段と、
停止した前記仮想計算機に割り当てられているメモリ領域を決定し、メモリバンク間のデータ転送を行うか否かの判断を行う転送判断手段と、
前記転送判断手段がデータ転送を行うと判断した場合、前記メモリ管理情報記憶手段に記憶された情報を用いて、転送先メモリバンクを決定する転送決定手段と、
前記転送決定手段が決定した転送先メモリバンクへのデータ転送を制御するメモリ転送手段と、
メモリ領域の割り当ておよび解放の状況に基づいて、全メモリ領域が未使用の状態にあるメモリバンクを決定し、前記メモリバンクへの節電制御を行うメモリ電源管理手段とを具備することを特徴とするメモリ電源管理装置。
A memory power management device that performs memory power management of a computer system including a memory composed of a plurality of memory banks and a plurality of virtual machines,
Memory management information storage means for storing the priority set for each memory bank as priority information;
Transfer determining means for determining a memory area allocated to the stopped virtual machine and determining whether or not to transfer data between memory banks;
A transfer determining means for determining a transfer destination memory bank using the information stored in the memory management information storage means when the transfer determining means determines to perform data transfer;
Memory transfer means for controlling data transfer to the transfer destination memory bank determined by the transfer determination means;
Memory power management means for determining a memory bank in which all the memory areas are unused based on the state of allocation and release of the memory area, and for performing power saving control to the memory bank. Memory power management device.
前記転送判断手段は、前記仮想計算機の切り替えを検出した際に、メモリバンク間のデータ転送を行うか否かの判断を行い、
前記転送決定手段は、優先度の低いメモリバンクから優先度の高いメモリバンクへの転送を決定し、
前記メモリ転送手段は、前記仮想計算機が停止している間に、データ転送を行うことを特徴とする請求項1記載のメモリ電源管理装置。
The transfer determining means determines whether or not to transfer data between memory banks when detecting the switching of the virtual machines,
The transfer determination means determines transfer from a low priority memory bank to a high priority memory bank,
The memory power management apparatus according to claim 1, wherein the memory transfer unit performs data transfer while the virtual computer is stopped.
メモリバンク毎のメモリ領域の割り当ておよび解放の状況に基づいて、前記優先度情報を設定する優先度設定手段を具備することを特徴とする請求項1に記載のメモリ電源管理装置。 2. The memory power management apparatus according to claim 1, further comprising priority setting means for setting the priority information based on a state of allocation and release of a memory area for each memory bank. 前記メモリ管理情報記憶手段は、割り当て済みのメモリ領域の利用頻度を利用頻度情報としてメモリ領域毎に記憶し、
前記優先度設定手段は、前記利用頻度情報を用いて、前記優先度情報の更新を行うことを特徴とする請求項1に記載のメモリ電源管理装置。
The memory management information storage means stores the usage frequency of the allocated memory area for each memory area as usage frequency information,
The memory power management apparatus according to claim 1, wherein the priority setting unit updates the priority information using the usage frequency information.
前記転送決定手段は、前記利用頻度情報に基づいて、優先度の高いメモリバンクに存在し、前記利用頻度の低いメモリ領域を決定し、前記決定したメモリ領域に存在するデータを、優先度の低いメモリバンクへの転送を決定することを特徴とする請求項4に記載のメモリ電源管理装置。 The transfer determining means determines a memory area that exists in a memory bank with a high priority and has a low usage frequency based on the usage frequency information, and transfers data existing in the determined memory area to a memory with a low priority. 5. The memory power management apparatus according to claim 4, wherein transfer to the memory bank is determined.
JP2007105603A 2007-04-13 2007-04-13 Memory power supply management device and memory power supply management method Pending JP2008262451A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007105603A JP2008262451A (en) 2007-04-13 2007-04-13 Memory power supply management device and memory power supply management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007105603A JP2008262451A (en) 2007-04-13 2007-04-13 Memory power supply management device and memory power supply management method

Publications (1)

Publication Number Publication Date
JP2008262451A true JP2008262451A (en) 2008-10-30

Family

ID=39984868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007105603A Pending JP2008262451A (en) 2007-04-13 2007-04-13 Memory power supply management device and memory power supply management method

Country Status (1)

Country Link
JP (1) JP2008262451A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2174834A2 (en) 2008-10-09 2010-04-14 Sanyo Electric Co., Ltd. Maneuvering assisting apparatus
JP2010211644A (en) * 2009-03-11 2010-09-24 Nec Corp Memory power consumption reduction system, method and program
JP2011060238A (en) * 2009-09-14 2011-03-24 Ricoh Co Ltd Information processor, image forming apparatus, operation mode switching method
US9075604B2 (en) 2010-08-04 2015-07-07 Sony Corporation Device and method for determining whether to hold data in a memory area before transitioning to a power saving state
CN111538399A (en) * 2019-01-23 2020-08-14 爱思开海力士有限公司 Controller, memory system and operation method of memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2174834A2 (en) 2008-10-09 2010-04-14 Sanyo Electric Co., Ltd. Maneuvering assisting apparatus
JP2010211644A (en) * 2009-03-11 2010-09-24 Nec Corp Memory power consumption reduction system, method and program
JP2011060238A (en) * 2009-09-14 2011-03-24 Ricoh Co Ltd Information processor, image forming apparatus, operation mode switching method
US9075604B2 (en) 2010-08-04 2015-07-07 Sony Corporation Device and method for determining whether to hold data in a memory area before transitioning to a power saving state
CN111538399A (en) * 2019-01-23 2020-08-14 爱思开海力士有限公司 Controller, memory system and operation method of memory system

Similar Documents

Publication Publication Date Title
JP4281421B2 (en) Information processing system, control method therefor, and computer program
JP4938080B2 (en) Multiprocessor control device, multiprocessor control method, and multiprocessor control circuit
JP6483609B2 (en) Multi CPU system
US10353454B2 (en) Information processing apparatus and computer program product for changing swap spaces based on a performance threshold
US8799554B1 (en) Methods and system for swapping memory in a virtual machine environment
EP3602310B1 (en) Power-conserving cache memory usage
KR101222082B1 (en) Method for reducing power consumptiom to multi-port memory device of memory link architecture
CN102495756A (en) Method and system for switching operating system between different central processing units
WO2006117950A1 (en) Power controller in information processor
US8381003B2 (en) Memory relocation in computer for power saving
JP2008090395A (en) Computer system, node for calculation and program
JP2019159802A (en) Power control method of storage device and storage device
WO2005069148A2 (en) Memory management method and related system
US20140297927A1 (en) Information processing apparatus, information processing method, and recording medium
JP2008262451A (en) Memory power supply management device and memory power supply management method
JP2010044460A (en) Power source control device, computer system, power source control method, power source control program and recording medium
JP2010108253A (en) Apparatus using nonvolatile memory as main memory
JP2009020555A (en) Swapping device
CN102141920A (en) Method for dynamically configuring C-State and communication equipment
JP4839749B2 (en) Computer, portable terminal device, power control method, power control program
US20060174079A1 (en) Computer system
JP4868012B2 (en) Computer system, computer system control method, and program
JP5505195B2 (en) Memory control device and control method
TWI493563B (en) Memory managing method and electronic apparatus using the same
JP2009020776A (en) Swap-out control apparatus