(57)【要約】【課題】複数の記憶媒体を複数の処理手段により利用した場合において、本構成を有していない場合と比較して電力消費を削減することが可能な演算処理システムおよびプログラムを提供することである。【解決手段】  ＲＡＭマネージャ４１によりＤＲＡＭ５１〜５３の記憶領域がゲストＯＳ１〜３に割り当てられる。そして、ゲストＯＳ１〜３の最大ＲＡＭ使用量の合計値がＤＲＡＭ５１〜５３のメモリ量の合計値よりも、少なくともＤＲＡＭ１つ分のメモリ量以上少ない場合に、ゲストＯＳ１〜３それぞれの最大ＲＡＭ使用量が確保可能な記憶領域を、ＤＲＡＭ５１〜５３上において連続して配置するようにゲストＯＳ１〜３に対して再割り当てを行う。そして、再割り当てが行われた場合に、未使用のＤＲＡＭのリフレッシュ動作を停止する。【選択図】図３
2013134533.tif 000002
【特許請求の範囲】
【請求項１】
物理的に独立した複数の記憶媒体と、
前記複数の記憶媒体の記憶領域を用いて処理を行う複数の処理手段と、
前記複数の記憶媒体の記憶領域を前記複数の処理手段に対して割り当てる割当手段と、
前記複数の処理手段に対する問い合わせの結果により取得された、前記複数の処理手段が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値より少なくとも１つの記憶媒体が有する記憶領域量以上少ないか否かを判定する判定手段と、
問い合わせの結果により取得された、前記複数の処理手段が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値よりも少なくとも１つの記憶媒体が有する記憶領域量以上少ないと前記判定手段により判定された場合に、前記複数の処理手段それぞれに割り当てられた記憶領域の再割り当てを行う再割当手段と、
前記再割当手段により記憶領域が再割り当てされた場合に、前記複数の記憶媒体のうち、前記処理手段に対して割り当てられた記憶領域が存在しない記憶媒体の動作を停止する停止手段と、
を有する演算処理システム。
【請求項２】
前記再割当手段は、問い合わせの結果により取得された、前記複数の処理手段が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値よりも少なくとも１つの記憶媒体が有する記憶領域量以上少ないと前記判定手段により判定された場合に、前記複数の処理手段が処理を行うために必要な記憶領域量が確保可能な記憶領域を、前記複数の記憶媒体上において連続して配置するように前記複数の処理手段に対して再割り当てを行う請求項１に記載の演算処理システム。
【請求項３】
前記割当手段により前記複数の記憶媒体の記憶領域が前記複数の処理手段に割り当てられた後に、前記複数の処理手段に対して該複数の処理手段が処理を行うために必要な記憶領域量についての問い合わせが行われる請求項１または２に記載の演算処理システム。
【請求項４】
前記複数の記憶媒体は、ダイナミック・ランダム・アクセス・メモリであり、
前記停止手段は、前記複数の記憶媒体のうち、前記処理手段に対して割り当てられた記憶領域が存在しない記憶媒体のリフレッシュ動作を停止させる請求項１から３いずれか記載の演算処理システム。
【請求項５】
前記複数の処理手段は、それぞれ、コンピュータのシステムを管理する基本ソフトウェアに基づいて処理を行う請求項１から４いずれか記載の演算処理システム。
【請求項６】
物理的に独立した複数の記憶媒体の記憶領域を用いて処理を行う複数の処理部を有するコンピュータに対して、
前記複数の記憶媒体の記憶領域を前記複数の処理部に対して割り当てるステップと、
前記複数の処理部に対する問い合わせの結果により取得された、前記複数の処理部が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値より少なくとも１つの記憶媒体が有する記憶領域量以上少ないか否かを判定するステップと、
問い合わせの結果により取得された、前記複数の処理部が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値よりも少なくとも１つの記憶媒体が有する記憶領域量以上少ないと判定された場合に、前記複数の処理部それぞれに割り当てられた記憶領域の再割り当てを行うステップと、
記憶領域が再割り当てされた場合に、前記複数の記憶媒体のうち、前記処理部に対して割り当てられた記憶領域が存在しない記憶媒体の動作を停止するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理システムおよびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、オペレーティングシステムにより省電力ステート移行要求があった場合に、データ線とリセット信号線とを含むバスを介して周辺デバイスに接続されているコントローラによって周辺デバイスがリセットされた後、電力管理手段は情報処理装置を省電力ステートに設定するという技術が開示されている。
【０００３】
特許文献２には、不揮発性メモリをメインメモリとして用いた計算機システムにおいて、ＣＰＵのモードを示すモード信号を検出し、このモード信号に基づいてＣＰＵが省電力モードに移行したと判断された場合に、メインメモリへの電力供給を停止するという技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２６２６５９号公報
【特許文献２】特開２０１０−４４４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、複数の記憶媒体を複数の処理手段により使用した場合において、本構成を有していない場合と比較して電力消費を削減することが可能な演算処理システムおよびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
請求項１に係る本発明は、物理的に独立した複数の記憶媒体と、
前記複数の記憶媒体の記憶領域を用いて処理を行う複数の処理手段と、
前記複数の記憶媒体の記憶領域を前記複数の処理手段に対して割り当てる割当手段と、
前記複数の処理手段に対する問い合わせの結果により取得された、前記複数の処理手段が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値より少なくとも１つの記憶媒体が有する記憶領域量以上少ないか否かを判定する判定手段と、
問い合わせの結果により取得された、前記複数の処理手段が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値よりも少なくとも１つの記憶媒体が有する記憶領域量以上少ないと前記判定手段により判定された場合に、前記複数の処理手段それぞれに割り当てられた記憶領域の再割り当てを行う再割当手段と、
前記再割当手段により記憶領域が再割り当てされた場合に、前記複数の記憶媒体のうち、前記処理手段に対して割り当てられた記憶領域が存在しない記憶媒体の動作を停止する停止手段と、
を有する演算処理システムである。
【０００７】
請求項２に係る本発明は、前記再割当手段は、問い合わせの結果により取得された、前記複数の処理手段が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値よりも少なくとも１つの記憶媒体が有する記憶領域量以上少ないと前記判定手段により判定された場合に、前記複数の処理手段が処理を行うために必要な記憶領域量が確保可能な記憶領域を、前記複数の記憶媒体上において連続して配置するように前記複数の処理手段に対して再割り当てを行う請求項１に記載の演算処理システムである。
【０００８】
請求項３に係る本発明は、前記割当手段により前記複数の記憶媒体の記憶領域が前記複数の処理手段に割り当てられた後に、前記複数の処理手段に対して該複数の処理手段が処理を行うために必要な記憶領域量についての問い合わせが行われる請求項１または２に記載の演算処理システムである。
【０００９】
請求項４に係る本発明は、前記複数の記憶媒体は、ダイナミック・ランダム・アクセス・メモリであり、
前記停止手段は、前記複数の記憶媒体のうち、前記処理手段に対して割り当てられた記憶領域が存在しない記憶媒体のリフレッシュ動作を停止させる請求項１から３いずれか記載の演算処理システムである。
【００１０】
請求項５に係る本発明は、前記複数の処理手段は、それぞれ、コンピュータのシステムを管理する基本ソフトウェアに基づいて処理を行う請求項１から４いずれか記載の演算処理システムである。
【００１１】
請求項６に係る本発明は、物理的に独立した複数の記憶媒体の記憶領域を用いて処理を行う複数の処理部を有するコンピュータに対して、
前記複数の記憶媒体の記憶領域を前記複数の処理部に対して割り当てるステップと、
前記複数の処理部に対する問い合わせの結果により取得された、前記複数の処理部が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値より少なくとも１つの記憶媒体が有する記憶領域量以上少ないか否かを判定するステップと、
問い合わせの結果により取得された、前記複数の処理部が処理を行うために必要な記憶領域量の合計値が、前記複数の記憶媒体における記憶領域量の合計値よりも少なくとも１つの記憶媒体が有する記憶領域量以上少ないと判定された場合に、前記複数の処理部それぞれに割り当てられた記憶領域の再割り当てを行うステップと、
記憶領域が再割り当てされた場合に、前記複数の記憶媒体のうち、前記処理部に対して割り当てられた記憶領域が存在しない記憶媒体の動作を停止するステップと、
を実行させるためのプログラムである。
【発明の効果】
【００１２】
請求項１に係る本発明によれば、複数の記憶媒体を複数の処理手段により使用した場合において、本構成を有していない場合と比較して電力消費を削減することが可能な演算処理システムを提供することができる。
【００１３】
請求項２に係る本発明によれば、請求項１により得られる効果に加えて、本構成を有していない場合と比較して、複数の処理手段それぞれに割り当てられた記憶領域が存在しない記憶媒体を発生させる可能性の高い記憶領域の再割り当てを行うことが可能な演算処理システムを提供することができる。
【００１４】
請求項３に係る本発明によれば、請求項１により得られる効果に加えて、複数の処理手段が処理を行うために必要な記憶領域量を把握することが可能な演算処理システムを提供することができる。
【００１５】
請求項４に係る本発明によれば、請求項１により得られる効果に加えて、ダイナミック・ランダム・アクセス・メモリのリフレッシュ動作による電力消費を削減することが可能な演算処理システムを提供することができる。
【００１６】
請求項５に係る本発明によれば、基本ソフトウェアに基づいて処理を行う複数の処理手段により複数の記憶媒体が使用された場合に、本構成を有していない場合と比較して電力消費を削減することが可能な演算処理システムを提供することができる。
【００１７】
請求項６に係る本発明によれば、複数の記憶媒体を複数の処理手段により使用した場合において、本構成を有していない場合と比較して電力消費を削減することが可能なプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態における画像形成システムを示す図である。
【図２】本発明の一実施形態における画像形成装置１０のハードウェア構成を示すブロック図である。
【図３】本発明の一実施形態における画像形成装置１０を動作させる構成を示すブロック図である。
【図４】本発明の一実施形態における画像形成装置１０の全体的な動作流れを示すフローチャートである。
【図５】本発明の一実施形態における記憶領域の割り当て方法の流れを示すフローチャートである。
【図６】本発明の一実施形態におけるゲストＯＳ１〜３に対して割り当てられたＤＲＡＭ５１〜５３の記憶領域の一例を示す図である。
【図７】本発明の一実施形態におけるゲストＯＳ１〜３の最大ＲＡＭ使用領域にマージン率を掛けた値の合計値が２Ｇ以下か否かを判定する流れを示すフローチャートである。
【図８】本発明の一実施形態におけるゲストＯＳ１〜３の最大ＲＡＭ使用領域を管理する管理テーブルの一例を示す図である。
【図９】本発明の一実施形態における再割り当ておよび未使用のＤＲＡＭにおけるリフレッシュ動作を停止させる流れを示すフローチャートである。
【図１０】本発明の一実施形態において、再割り当てありの再割当通知がされた場合におけるゲストＯＳ１〜３に再割り当てされたＤＲＡＭ５１〜５３の記憶領域の一例を示す図である。
【図１１】本発明の一実施形態において、再割り当てありの再割当通知がされた場合におけるゲストＯＳ１〜３に再割り当てされたＤＲＡＭ５１〜５３の記憶領域の一例を示す図である。
【発明を実施するための最良の形態】
【００１９】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
図１は、本発明の一実施形態の画像形成システムを示す図である。図１において、本実施形態における画像形成装置１０は、ネットワーク３０を介して端末装置２０と接続されている。画像形成装置１０は、端末装置２０からネットワーク３０を介して送信されてきた画像データを用紙に印刷する。
【００２１】
次に、本実施形態における画像形成装置１０のハードウェアの構成を図２を参照して詳細に説明する。
【００２２】
画像形成装置１０は、図２に示されるように、ＣＰＵ１１、メモリ１２、ハードディスクドライブ（ＨＤＤ）等の記憶装置１３、ネットワーク３を介して外部の装置等との間でデータの送信及び受信を行う通信インタフェース（ＩＦ）１４、タッチパネル又は液晶ディスプレイ並びにキーボードを含むユーザインタフェース（ＵＩ）装置１５、プリンタ１６、スキャナ１７を有する。これらの構成要素は、制御バス１８を介して互いに接続されている。
【００２３】
ＣＰＵ１１は、メモリ１２または記憶装置１３に格納された制御プログラムに基づいて所定の処理を実行して、画像形成装置１０の動作を制御する。なお、本実施形態では、ＣＰＵ１１は、メモリ１２または記憶装置１３内に格納された制御プログラムを読み出して実行するものとして説明したが、当該プログラムをＣＤ−ＲＯＭ等の記憶媒体に格納してＣＰＵ１１に提供することも可能である。
【００２４】
図３は、上記の制御プログラムが実行されることにより画像形成装置１０を動作させる構成を示すブロック図である。
【００２５】
画像形成装置１０は、図３に示されるように、複数のＣＰＵを有していて、各ＣＰＵにはゲストＯＳ（オペレーティング・システム）１〜３がそれぞれインストールされている。そして、画像形成装置１０は、ゲストＯＳ１〜３、ゲストＯＳ１〜３を管理するハイパーバイザ４、ＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）５１〜５３により動作する。また、ハイパーバイザ４は、ＲＡＭマネージャ４１、パワーマネージャ４２の機能を有する。
【００２６】
画像形成装置１０は、物理的に独立した複数の記憶媒体であるＤＲＡＭ５１〜５３をハードウェアに格納している。また、本実施形態において、ＤＲＡＭ５１の記憶領域はアドレス０×００００００００〜０×３ＦＦＦＦＦＦＦ、ＤＲＡＭ５２の記憶領域はアドレス０×４０００００００〜７ＦＦＦＦＦＦＦＦ、ＤＲＡＭ５３の記憶領域はアドレス０×８０００００００〜ＢＦＦＦＦＦＦＦであり、それぞれ１Ｇ（バイト）のメモリ量（記憶領域量）を有する。
【００２７】
ゲストＯＳ１〜３は、画像形成装置１０のシステムを管理する基本ソフトウェアであり、それぞれに異なるＣＰＵにより実行され、ＤＲＡＭ５１〜５３の記憶領域を用いて処理を行う。
【００２８】
ハイパーバイザ４は、ＤＲＡＭ５１〜５３の記憶領域をゲストＯＳ１〜３に対して割り当てる。また、ハイパーバイザ４は、ゲストＯＳ１〜３の起動などの動作を制御する。
【００２９】
ＲＡＭマネージャ４１は、ハイパーバイザ４によりＤＲＡＭ５１〜５３の記憶領域がゲストＯＳ１〜３に対して割り当てられた後に、ゲストＯＳ１〜３に対して問い合わせを行い、問い合わせの結果により取得した、ゲストＯＳ１〜３が処理を行うために必要なメモリ量の合計値が、ＤＲＡＭ５１〜５３におけるメモリ量の合計値より少なくとも１つのＤＲＡＭが有するメモリ量以上少ないか否かを判定する。具体的には、本実施形態において、ゲストＯＳ１〜３が処理を行うために必要なメモリ量とは、ゲストＯＳ１〜３それぞれの処理に用いられるメモリ量の最大値である最大ＲＡＭ使用量にマージン率（１．５）を掛けた値である。また、本実施形態において、ＤＲＡＭ５１〜５３それぞれのメモリ量が１Ｇ（バイト）であり、ＤＲＡＭ５１〜５３におけるメモリ量の合計値が３Ｇ（バイト）となるため、ＲＡＭマネージャ４１は、ゲストＯＳ１〜３の最大ＲＡＭ使用量にマージン率を掛けた値の合計値が、ＤＲＡＭ５１〜５３の合計値から１つのＤＲＡＭが有するメモリ量である１Ｇ（バイト）を差し引いた値の２Ｇ（バイト）以下であるか否かを判定する。なお、マージン率とは、ゲストＯＳ１〜３の最大ＲＡＭ使用量が確保可能なメモリ量を決定するための倍率である。
【００３０】
パワーマネージャ４２は、問い合わせの結果により取得された、ゲストＯＳ１〜３が処理を行うために必要なメモリ量の合計値が、ＤＲＡＭ５１〜５３におけるメモリ量の合計値よりも少なくとも１つのＤＲＡＭが有するメモリ量以上少ないとＲＡＭマネージャ４１により判定された場合に、ゲストＯＳ１〜３が処理を行うために必要なメモリ量が確保可能な記憶領域を、ＤＲＡＭ５１〜５３上において連続して配置するようにゲストＯＳ１〜３に対して再割り当てを行う。また、パワーマネージャ４２は、ＤＲＡＭ５１〜５３のうち、ゲストＯＳ１〜３に対して割り当てられた記憶領域が存在しないＤＲＡＭのリフレッシュ動作を停止する。具体的には、本実施形態においては、ゲストＯＳ１〜３の最大ＲＡＭ使用量にマージン率を掛けた値の合計値が２Ｇ以下と判定された場合に、ゲストＯＳ１〜３それぞれの最大ＲＡＭ使用量にマージン率を掛けた値分のメモリ量を、ＤＲＡＭ５１〜５３上において連続して配置するようにゲストＯＳ１〜３に対して再割り当てを行う。そして、パワーマネージャ４２は、ゲストＯＳ１〜３に割り当てられた記憶領域が存在しない未使用のＤＲＡＭのリフレッシュ動作を停止する。
【００３１】
次に、本実施形態の画像形成装置１０における動作を図面を参照して詳細に説明する。
【００３２】
まず、画像形成装置１０における全体的な動作を図４を参照して説明する。
まず、ハイパーバイザ４は、画像形成装置１０が起動するとＤＲＡＭ５１〜５３の記憶領域をゲストＯＳ１〜３に対して割り当てる（ステップＳ１０１）。具体的な割り当て方法については後述する。
【００３３】
そして、ＲＡＭマネージャ４１は、ゲストＯＳ１〜３における最大ＲＡＭ使用量にマージン率（１．５）を掛けた値の合計値が、２Ｇ（バイト）以下であるか否かを判定する（ステップＳ１０２）。具体的な最大ＲＡＭ使用量の合計値の判定方法についても後述する。
【００３４】
また、パワーマネージャ４２は、ＲＡＭマネージャ４１によりゲストＯＳ１〜３における最大ＲＡＭ使用量にマージン率を掛けた値の合計値が２Ｇ以下であると判定された場合に、ゲストＯＳ１〜３に対する割当領域が連続するように再割り当てを行い、ＤＲＡＭ５１〜５３のうち未使用のＤＲＡＭのリフレッシュ動作を停止する（ステップＳ１０３）。具体的な再割り当て方法およびリフレッシュ動作の停止方法についても後述する。
【００３５】
次に、ステップＳ１０１におけるＤＲＡＭ５１〜５３の記憶領域の割り当て方法を図５のフローチャートを参照して詳細に説明する。
【００３６】
まず、画像形成装置１０が起動した場合に、ハイパーバイザ４は、ＤＲＡＭ５１〜５３に対して問い合わせを行い、ＤＲＡＭ５１〜５３のメモリ量や配置数などのＲＡＭ構成の情報を取得する（ステップＳ２０１）。ここで、ハイパーバイザ４は、物理的に独立した３つのＤＲＡＭであるＤＲＡＭ５１〜５３が存在し、ＤＲＡＭ５１〜５３のメモリ量がそれぞれ１Ｇ（バイト）であるという情報を取得する。
【００３７】
そして、ハイパーバイザ４は、ゲストＯＳ１〜３へのメモリ割り当て定義が存在するか否かを判定する（ステップＳ２０２）。ここで、メモリ割り当て定義とは、例えばゲストＯＳ１には０．５Ｇ（バイト）、ゲストＯＳ２には１．５Ｇ（バイト）、ゲストＯＳ３には１Ｇ（バイト）といったように、予め定められたゲストＯＳ１〜３への記憶領域の割当量を定義するものである。
【００３８】
そして、ハイパーバイザ４は、メモリ割り当て定義が存在しない場合は、ゲストＯＳ１〜３に対してＤＲＡＭ５１〜５３の記憶領域をゲストＯＳ１〜３がそれぞれ使用可能な記憶領域として均等に割り当てる（ステップＳ２０３）。ここで、本実施形態においては、メモリ割り当て定義が存在しない場合、ステップＳ２０１において取得した情報より、ＤＲＡＭ５１〜５３がそれぞれ１Ｇ（バイト）であるため、ハイパーバイザ４は、ゲストＯＳ１にはＤＲＡＭ５１の記憶領域、ゲストＯＳ２にはＤＲＡＭ５２の記憶領域、ゲストＯＳ３にはＤＲＡＭ５３の記憶領域といったようにゲストＯＳ１〜３に対して記憶領域をそれぞれ１Ｇ（バイト）ずつ均等に割り当てる。
【００３９】
また、メモリ割り当て定義が存在する場合には、ハイパーバイザ４は、メモリ割り当て定義に従ってＤＲＡＭ５１〜５３の記憶領域をゲストＯＳ１〜３に割り当てる（ステップＳ２０４）。
【００４０】
以下、本実施形態において、メモリ割り当て定義が存在せず、図６に示すように、ＤＲＡＭ５１〜５３の記憶領域がゲストＯＳ１〜３にそれぞれ１Ｇ（バイト）ずつ均等に割り当てられた場合について説明をする。
【００４１】
なお、図６においては、ゲストＯＳ１に対してＤＲＡＭ５１の記憶領域であるアドレス０×００００００００から０×３ＦＦＦＦＦＦＦまでの記憶領域が割り当てられている。また、図６においては、ゲストＯＳ２に対してＤＲＡＭ５２の記憶領域であるアドレス０×４０００００００から０×７ＦＦＦＦＦＦＦまでの記憶領域が割り当てられ、ゲストＯＳ３に対してはＤＲＡＭ５３の記憶領域であるアドレス０×８０００００００から０×ＢＦＦＦＦＦＦＦまでの記憶領域が割り当てられている。しかし、実際には、例えばゲストＯＳ１により最大でアドレス０×０００００００から０×１８ＦＦＦＦＦＦまでの４００Ｍ（バイト）の記憶領域、ゲストＯＳ２によりアドレス０×４０００００００から０×５８ＦＦＦＦＦＦまでの４００Ｍ（バイト）の記憶領域、ゲストＯＳ３によりアドレス０×８０００００００から０×９８ＦＦＦＦＦＦまでの４００Ｍ（バイト）の記憶領域がそれぞれの最大ＲＡＭ使用領域として使用されている。
【００４２】
次に、ステップＳ１０２における最大ＲＡＭ使用量の合計値の判定方法を、図７のフローチャートを参照して詳細に説明する。
【００４３】
まず、ＲＡＭマネージャ４１は、ゲストＯＳ番号を１に設定する（ステップＳ３０１）。
【００４４】
次に、ＲＡＭマネージャ４１は、ゲストＯＳ番号に該当するゲストＯＳが存在するか否かを判定する（ステップＳ３０２）。本実施形態においては、ゲストＯＳ１〜３が存在するため、ゲストＯＳ番号が３以下であればｙｅｓ、４以上であればｎｏと判定される。
【００４５】
そして、ゲストＯＳ番号に該当するゲストＯＳが存在する場合（ステップ３０２においてｙｅｓと判定）、ＲＡＭマネージャ４１は、該当する番号のゲストＯＳに対して問い合わせを行い、図６に示すような、該当する番号のゲストＯＳの最大ＲＡＭ使用量を取得する（ステップＳ３０３）。例えば、ゲストＯＳ番号が１である場合には、ゲストＯＳ１の最大ＲＡＭ使用量が４００Ｍであるという情報を取得する。
【００４６】
また、ＲＡＭマネージャ４１は、ステップＳ３０３において取得した情報を図８に示すような管理テーブルに格納する（ステップＳ３０４）。
【００４７】
そして、ＲＡＭマネージャ４１は、ゲストＯＳ番号に１加算してステップＳ３０２に戻る（ステップＳ３０５）。そして、ステップＳ３０２〜３０５の処理が繰り返されることにより、ゲストＯＳ１〜３の最大ＲＡＭ使用量が管理テーブルに格納される。
【００４８】
ゲストＯＳ１〜３の最大ＲＡＭ使用量が管理テーブルに格納されると、ゲストＯＳ番号が４となり存在しなくなるため（ステップＳ３０２においてｎｏと判定）、ＲＡＭマネージャ４１は、管理テーブルを参照して、ゲストＯＳ１〜３の最大ＲＡＭ使用量にマージン率（１．５）を掛けた値の合計値が２Ｇ（バイト）以下であるか否かを判定する（ステップＳ３０６）。
【００４９】
そして、ゲストＯＳ１〜３の最大ＲＡＭ使用量にマージン率を掛けた値の合計値が２Ｇ（バイト）以下である場合（ステップＳ３０６においてｙｅｓと判定）、ＲＡＭマネージャ４１は、パワーマネージャ４２に対して再割当通知を行う（ステップＳ３０７）。
【００５０】
例えば、図８に示すように、ゲストＯＳ１〜３の最大ＲＡＭ使用量がそれぞれ４００Ｍ（バイト）である場合には、ゲストＯＳ１〜３の最大ＲＡＭ使用量にマージン率を掛けた値の合計値が１８００Ｍ（バイト）であり、２Ｇ以下（ステップＳ３０６においてｙｅｓと判定）であるため、ＲＡＭマネージャ４１は、パワーマネージャ４２に対して再割当通知を行う。さらに、図８に示すように、ゲストＯＳ１〜３の最大ＲＡＭ使用量がそれぞれ２００Ｍ（バイト）である場合には、ゲストＯＳ１〜３の最大ＲＡＭ使用量にマージン率を掛けた値の合計値が９００Ｍ（バイト）であり、２Ｇ以下（ステップＳ３０６においてｙｅｓと判定）であるため、ＲＡＭマネージャ４１は、パワーマネージャ４２に対して再割当通知を行う。
【００５１】
また、ゲストＯＳ１〜３の最大ＲＡＭ使用量がそれぞれ８００Ｍである場合、最大ＲＡＭ使用量にマージン率を掛けた値の合計値が２Ｇ（バイト）よりも大きいと判定（ステップＳ３０６においてｎｏと判定）して再割当通知を行わない。
【００５２】
最後に、ステップＳ３０６においてｎｏと判定された場合、およびステップＳ３０７の処理が終了した場合には、次にＲＡＭマネージャ４１を呼び出す時間を設定してステップＳ３０１に戻る（ステップＳ３０８）。ここで、次にＲＡＭマネージャ４１を呼び出す時間は、ユーザにより設定されてもよいし、ＲＡＭマネージャ４１に予め設定されていてもよい。
【００５３】
次に、ステップＳ１０３における再割り当て方法およびリフレッシュ動作を停止させる処理について、図９を参照して詳細に説明する。
【００５４】
まず、パワーマネージャ４２は、初期状態として再割当通知待ちの状態であり、ＲＡＭマネージャ４１から再割当通知がされたか否かを判定する（ステップＳ４０１）。ここで、ＲＡＭマネージャ４１から再割当通知がされていない場合（ステップＳ４０１においてｎｏと判定）、パワーマネージャ４２は、再割当通知待ちの状態を維持してＲＡＭマネージャ４１から再割当通知がされるまでステップＳ４０１の判定をループする。
【００５５】
そして、ステップＳ４０１において、ＲＡＭマネージャ４１から再割当通知がされた場合（ステップＳ４０１においてｙｅｓと判定）、パワーマネージャ４２は、再割当通知待ちの状態を解除して、ゲストＯＳ番号を１に設定し（ステップＳ４０２）、ゲストＯＳ番号に該当するゲストＯＳが存在するか否かを判定する（ステップＳ４０３）。
【００５６】
そして、ゲストＯＳ番号に該当するゲストＯＳが存在すると判定された場合（ステップＳ４０３においてｙｅｓと判定）、パワーマネージャ４１は、ゲストＯＳ番号に該当するゲストＯＳがアイドル中であるか否かを判定する（ステップＳ４０４）。ここで、ゲストＯＳ番号に該当するゲストＯＳがアイドル中でないと判定された場合（ステップＳ４０４においてｎｏと判定）、再びステップＳ４０３の処理に戻る。
【００５７】
また、ゲストＯＳ番号に該当するゲストＯＳがアイドル中であると判定された場合（ステップＳ４０４においてｙｅｓと判定）、パワーマネージャ４２は、ゲストＯＳ番号に該当するゲストＯＳを一旦シャットダウンして再起動を行う。そして、パワーマネージャ４２は、ゲストＯＳ番号に該当するゲストＯＳが再び起動される際に最大ＲＡＭ使用量が確保可能な分の記憶領域を、該当するゲストＯＳに対して再割り当てを行う（ステップＳ４０５）。
【００５８】
以下、ゲストＯＳ１〜３の最大ＲＡＭ使用量がそれぞれ４００Ｍであり、ステップＳ３０７において、再割当通知が行われた場合を図１０を参照して説明する。
【００５９】
まず、ゲストＯＳ番号が１である場合、図１０に示すように、パワーマネージャ４２は、最大ＲＡＭ使用量にマージン率を掛けた値６００Ｍ（バイト）分のＤＲＡＭの記憶領域（アドレス０×００００００００〜０×２５７ＦＦＦＦＦ）をゲストＯＳ１の割当領域として再割り当てを行う。次に、ゲストＯＳ番号が２である場合、図１０に示すように、パワーマネージャ４２は、最大ＲＡＭ使用量にマージン率を掛けた値６００Ｍ（バイト）分のＤＲＡＭの記憶領域をゲストＯＳ２の割当領域として、ゲストＯＳ１の割り当て領域における最終アドレス（０×２５７ＦＦＦＦＦ）の次のアドレス（０×２５８０００００）を始点とするように前詰めして再割り当てを行う。さらに、ゲストＯＳ番号が３である場合、図１０に示すように、パワーマネージャ４２は、最大ＲＡＭ使用量にマージン率を掛けた値６００Ｍ（バイト）分のＤＲＡＭの記憶領域をゲストＯＳ３の割当領域として、ゲストＯＳ２の割り当て領域における最終アドレス（４ＡＦＦＦＦＦＦ）の次のアドレス（４Ｂ００００００）を始点とするように前詰めして再割り当てを行う。このようにして、パワーマネージャ４２は、ゲストＯＳ１〜３に割り当てられる記憶領域が連続するように再割り当てを行う。
【００６０】
そして、パワーマネージャ４２は、ゲストＯＳ番号に１加算してステップＳ４０３に戻る（ステップＳ４０６）。
【００６１】
次に、ステップＳ４０３において、ゲストＯＳ番号に該当するゲストＯＳが存在しない場合（ステップＳ４０３においてｎｏと判定）、パワーマネージャ４２は、ＤＲＡＭ５１〜５３のうち、ゲストＯＳ１〜３に対して割り当てられた記憶領域が存在せず、非割当領域のみからなる未使用のＤＲＡＭが存在するか否かを判定する（ステップＳ４０７）。
【００６２】
そして、ステップＳ４０７において未使用のＤＲＡＭが存在する場合（ステップＳ４０７においてｙｅｓと判定）、パワーマネージャ４２は、未使用と判定されたＤＲＡＭのリフレッシュ動作を停止する信号を送信する（ステップＳ４０８）。そして、パワーマネージャ４２からの信号を受信したＤＲＡＭは、リフレッシュ動作を停止する。
【００６３】
ここで、図１０に示すように、ステップＳ４０５およびステップＳ４０６の処理によってゲストＯＳ１〜３の割り当て領域が前詰めされて再割り当てされたことにより、ＤＲＡＭ５３の記憶領域は全てゲストＯＳ１〜３のいずれにも割り当てられていない非割当領域となり、ＤＲＡＭ５３は未使用のＤＲＡＭであると判定される。そして、パワーマネージャ４２は、ＤＲＡＭ５３に対してリフレッシュ動作を停止する信号を送信し、ＤＲＡＭ５３はリフレッシュ動作を停止する。
【００６４】
最後に未使用のＤＲＡＭが存在しない場合（ステップＳ４０７においてｎｏと判定）、およびステップＳ４０８の処理が終了した場合、パワーマネージャ４２は再割当通知待ちの状態に遷移して、再びＲＡＭマネージャ４１から再割当通知がされるまで再割当通知待ちの状態を維持する。
【００６５】
また、ゲストＯＳ１〜３の最大ＲＡＭ使用量が２００Ｍであって、ステップＳ３０７において、再割り当てありの再割当通知がされた場合を図１１を参照して説明する。ステップＳ４０５において、ゲストＯＳ番号が１である場合、図１１に示すように、パワーマネージャ４２は、最大ＲＡＭ使用量にマージン率を掛けた値３００Ｍ（バイト）分のＤＲＡＭの記憶領域（アドレス０×００００００００〜０×１２ＢＦＦＦＦＦ）をゲストＯＳ１の割当領域とする再割り当てを行う。次に、ゲストＯＳ番号が２である場合、図１１に示すように、パワーマネージャ４２は、最大ＲＡＭ使用量にマージン率を掛けた値３００Ｍ（バイト）分のＤＲＡＭの記憶領域をそれぞれゲストＯＳ２の割当領域として、ゲストＯＳ１の割当領域における最終アドレス（０×１２ＢＦＦＦＦＦ）の次のアドレス（０×１２Ｃ０００００）を始点とするように前詰めして再割り当てを行う。さらに、ゲストＯＳ番号が３である場合、図１１に示すように、パワーマネージャ４２は、最大ＲＡＭ使用量にマージン率を掛けた値３００Ｍ（バイト）分のＤＲＡＭの記憶領域をそれぞれゲストＯＳ３の割当領域として、ゲストＯＳ２の割当領域における最終アドレス（２５７ＦＦＦＦＦ）の次のアドレス（２５８０００００）を始点とするように前詰めして再割り当てを行う。
【００６６】
そして、図１１に示すように、ＤＲＡＭ５２およびＤＲＡＭ５３は全ての記憶領域が非割当領域となり、ステップＳ４０８において、パワーマネージャ４２は、ＤＲＡＭ５２およびＤＲＡＭ５３は未使用のＤＲＡＭと判定して、ＤＲＡＭ５２およびＤＲＡＭ５３に対してリフレッシュ動作を停止する信号を送信する。
【００６７】
上記で説明した通り、本実施形態では、ゲストＯＳ１〜３に割り当てる記憶領域を、ゲストＯＳ１〜３それぞれの最大ＲＡＭ使用量が確保可能な記憶領域がＤＲＡＭ上において連続して配置するように再割り当てを行う。これにより、本実施形態によれば、いずれのゲストＯＳにも割り当てられていない非割当領域が発生し、非割当領域のみからなる未使用のＤＲＡＭが存在する場合に、パワーマネージャ４２が未使用のＤＲＡＭのリフレッシュ動作を停止するため、未使用のＤＲＡＭのリフレッシュ動作分の電力消費を削減することができる。
【００６８】
なお、ＤＲＡＭでは、キャパシタに蓄えられた電荷が失われないよう定期的にリフレッシュ動作が行われている。そのため、ＤＲＡＭの消費電力の大部分がリフレッシュ動作によるものであり、このリフレッシュ動作が停止されることにより、大幅に電力消費を削減することができる。
【００６９】
なお、本実施形態においては、ゲストＯＳ１〜３にＤＲＡＭ５１〜５３の記憶領域の再割り当てを行う際に、最大ＲＡＭ使用量が確保可能な記憶領域がＤＲＡＭ上において連続して配置するように再割り当てを行うものとして説明したが、本発明は、最大ＲＡＭ使用量が確保可能な記憶領域をＤＲＡＭ上で連続するように再割り当てするものに限定される発明ではない。本発明によれば、最大ＲＡＭ使用量が確保可能な記憶領域をＤＲＡＭ上で非連続に再割り当てを行った結果、未使用のＤＲＡＭが存在する場合にも、同様に適用することができる。
【００７０】
さらに、本実施形態においては、ＲＡＭマネージャ４１は、ゲストＯＳ１〜３の最大ＲＡＭ使用量を取得するものとして説明したが、本発明は、最大ＲＡＭ使用量に限定されるものではない。
【００７１】
また、本実施形態においては、ＤＲＡＭを３つ使用する場合を用いて説明したが、ＤＲＡＭを４つ以上使用する場合、またはＤＲＡＭを２つ使用する場合にも本発明は同様に適用することができる。
【００７２】
また、本実施形態においては、複数のＤＲＡＭがそれぞれ１Ｇ（バイト）のメモリ量を有するものとして説明したが、複数のＤＲＡＭのメモリ量がそれぞれ異なる場合でも、ＲＡＭマネージャ４１によりゲストＯＳ１〜３の最大ＲＡＭ使用量の合計値が、複数のＤＲＡＭのメモリ量の合計値よりも複数のＤＲＡＭのうちいずれか１つ以上小さいか否かを判定することによって、パワーマネージャ４２は記憶領域の再割り当て行い、未使用となったＤＲＡＭのリフレッシュ動作を停止することができる。また、複数のＤＲＡＭのメモリ量は１Ｇ（バイト）に限定されるものではなく、例えば、３Ｇ（バイト）などより大きなメモリ量を有する場合、および２００Ｍ（バイト）などより小さなメモリ量を有する場合にも本発明は同様に適用することができる。
【００７３】
また、本実施形態においては、未使用のＤＲＡＭのリフレッシュ動作を停止するものとして説明したが、例えば、ＤＲＡＭの電源を遮断することが可能な構成であれば未使用のＤＲＡＭへ供給される電源を遮断するようにしてもよく、本発明はリフレッシュ動作の停止に限定されるものではない。
【００７４】
さらに、本実施形態においては、ＤＲＡＭを使用した場合にリフレッシュ動作を停止するものとして説明したが、記憶媒体であればＤＲＡＭに限定されるものではない。例えば、ＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）などの記憶媒体を利用した場合に未使用のＳＲＡＭへの電力供給を停止して、ＳＲＡＭの動作を停止するようにしてもよい。
【００７５】
また、本実施形態においては、画像形成装置１０におけるシステムとして説明したが、パーソナルコンピュータなど、複数の記憶媒体および複数の記憶媒体の記憶領域を用いて処理を行う複数の処理手段を備えているコンピュータシステムであれば本発明は同様に適用することができるものである。
【符号の説明】
【００７６】
１〜３    ゲストＯＳ
４    ハイパーバイザ
５    Ｈ／Ｗ
１０    画像形成装置
１１    ＣＰＵ
１２    メモリ
１３    記憶装置
１４    通信ＩＦ
１５    ＵＩ装置
１６    プリンタ
１７    スキャナ
１８    制御バス
２０    端末装置
３０    ネットワーク
４１    ＲＡＭマネージャ
４２    パワーマネージャ
５１〜５３    ＤＲＡＭ
【図１】
2013134533.tif 000003
【図２】
2013134533.tif 000004
【図３】
2013134533.tif 000005
【図４】
2013134533.tif 000006
【図５】
2013134533.tif 000007
【図６】
2013134533.tif 000008
【図７】
2013134533.tif 000009
【図８】
2013134533.tif 000010
【図９】
2013134533.tif 000011
【図１０】
2013134533.tif 000012
【図１１】
2013134533.tif 000013