(57)【要約】【課題】情報処理装置で利用されるメモリに対して適切に電力を供給することができる情報処理装置および省電力メモリ管理方法を提供する。【解決手段】所定のプロセスを実行させるための領域であるタスク領域部と、プロセスが実行されるタスク領域部をプロセスから読み取り、読み取ったタスク領域部に対して電源から電力を供給させる電力制御部と、電力制御部によって電力が供給されたタスク領域部において、プロセスを実行させる制御部と、を備える。【選択図】図１
2012027655.tif 000002
【特許請求の範囲】
【請求項１】
所定のプロセスを実行させるための領域であるタスク領域部と、
前記プロセスが実行される前記タスク領域部を前記プロセスから読み取り、読み取った前記タスク領域部に対して電源から電力を供給させる電力制御部と、
前記電力制御部によって前記電力が供給された前記タスク領域部において、前記プロセスを実行させる制御部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記情報処置装置は、複数の前記タスク領域部を備え、
前記電力制御部は、複数の前記タスク領域部のうち、前記プロセスから読み取った前記タスク領域部に対してのみ前記電力を供給させる、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
複数の前記タスク領域部と、各タスク領域部が前記電力を供給された状態であるか否かを示す電力供給状態と、前記電力を供給させる前記タスク領域部の上限値とを対応付けて記憶する電力制御テーブルをさらに備え、
前記電力制御部は、前記タスク領域の上限値によって定められた数の前記タスク領域部にのみ前記電力を供給させる、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記タスク領域部は不揮発性メモリによって構成されている、
ことを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記プロセスの実行順序を定めるスケジュール部をさらに備え、
前記電力制御部は、前記スケジュール部が定めた順序で順位付けられた前記プロセスのそれぞれから前記タスク領域部を読み取り、前記プロセスが実行される前に前記タスク領域部を確保する、
ことを特徴とする請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
所定のプロセスを実行させるための領域であるタスク領域部を備えた情報処理装置で行われる省電力メモリ管理方法であって、
前記プロセスが実行される前記タスク領域部を前記プロセスから読み取る読み取りステップと、
読み取りステップにおいて読み取られた前記タスク領域部に対して電源から電力を供給させる電力制御ステップと、
前記電力制御ステップにおいて前記電力が供給された前記タスク領域部において、前記プロセスを実行させる制御ステップと、
を有することを特徴とする省電力メモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、サーバ等の情報処理装置および情報処理装置のメモリを省電力で管理する省電力メモリ管理方法に関するものである。
【背景技術】
【０００２】
近年、サーバ等の情報処理装置にあっては、メモリはコスト低下と高速処理システムの実現のためインメモリデータベースや仮想化技術の普及によって、大量のメモリが情報処理装置に搭載されるようになってきている。しかし、情報処理装置に大量のメモリを搭載するには、メモリの搭載スペースが増加することによる情報処理装置の物理的な大きさの制約、また、メモリの発熱量により高密度実装にも限界があった。
【０００３】
さらに、上述した情報処理装置では、大量のメモリを搭載すると、メモリの消費電力と発熱量が増大し、電力供給をするための電力供給部の容量拡大、発熱した熱を装置外に放出するＦＡＮなどの冷却システム部の改善が必要となるという欠点があった。一般の情報処理装置を動作させる用途において、この欠点は大きな障害となっている。具体的には、電力供給部の容量拡大や冷却システムの改善による物理的なスペースの増加、これに伴う消費電力の増加などの問題があった。
【０００４】
この改善策として、１つの情報処理装置を仮想化技術により複数に分割して利用する技術がある。また、一般の情報処理装置を動作させる用途において、使用頻度が少ないメモリ領域を一旦、別領域に退避させメモリの消費電力を削減する方法がある。（例えば、特許文献１、２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１２２７３３号公報
【特許文献２】特開２０００−２１５１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した技術を用いた場合、分割したメモリのうちの利用していないメモリ領域と、分割して利用していないメモリ領域との間で電力供給を制御し、利用していないメモリ領域の電力供給を停止し、消費電力を抑えることができる。しかしながらこの方法でも、分割した全てのメモリ領域を利用する用途では、情報処理装置の発熱の問題や消費電力の削減には、必ずしも効果があるとはいえない。また、使用頻度が少ないメモリ領域を一旦、別領域に退避させる方法でも、再度、該当のメモリ領域を利用する場合には、データを退避させた領域からローディングし再利用する必要があり、再利用までに時間を要することや消費電力の削減には、効果が低いという問題があった。すなわち、情報処理装置で利用されるメモリに対して適切に電力を供給することができないという問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、情報処理装置で利用されるメモリに対して適切に電力を供給することができる情報処理装置および省電力メモリ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、所定のプロセスを実行させるための領域であるタスク領域部と、前記プロセスが実行される前記タスク領域部を前記プロセスから読み取り、読み取った前記タスク領域部に対して電源から電力を供給させる電力制御部と、前記電力制御部によって前記電力が供給された前記タスク領域部において、前記プロセスを実行させる制御部と、を備えたことを特徴とする。
【０００９】
また、本発明は、上記情報処理装置で実行される省電力メモリ管理方法である。
【発明の効果】
【００１０】
本発明によれば、情報処理装置で利用されるメモリに対して適切に電力を供給することができる情報処理装置および省電力メモリ管理方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】メモリ管理システムを備えた情報処理装置の構成を示す図である。
【図２】メモリ電力制御テーブルの構成の例を示す図である。
【図３】情報処理装置で行われる電力制御処理の処理手順を示すフローチャートである。
【図４】不揮発性メモリが複数ある場合において、同時に電力供給されるメモリ電力供給部位の上限を定めた場合の例を示す図である。
【図５】不揮発性メモリが複数ある場合において、同時に電力供給するメモリ電力供給部位の配置を最適化した場合の例を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本発明にかかる情報処理装置および省電力メモリ管理方法の実施の形態を詳細に説明する。以下では、情報処理装置の例として、サーバに備えられたメモリへのアクセスを検知し、アクセスされるメモリ領域に対する電力の供給を制御する場合について説明しているが、例えば、ＰＣ（Personal  Computer）や携帯端末等の種々の情報処理装置が有するメモリに対して電力を供給する場合にも適用することが可能である。
【００１３】
図１は、本実施の形態におけるメモリ管理システムを備えた情報処理装置１０１の構成を示す図である。図１に示すように、情報処理装置１０１は、プロセッサ１０２と、主記憶装置１０３と、補助記憶装置１０４と、Ｉ／Ｏ、デバイス装置１０５と、メモリ電力スイッチ１１０とを含んで構成されている。さらに、主記憶装置１０３は、揮発性メモリ１０３１と、複数の不揮発性メモリ１０３２と、メモリ電力制御テーブル１０９１とを有している。なお、メモリ電力制御テーブル１０９１は、不揮発性メモリ１０３２と同様に、不揮発性の記憶媒体から構成されているものとする。したがって、後述するメモリ電力制御部１１０は、情報処理装置１０１の電源がＯＦＦ状態になる等、電力の供給が停止される前のメモリ上のデータを当該メモリに電力供給し、アクセスすることが可能となっている。
【００１４】
揮発性メモリ１０３１は、オペレーティングシステム１０６を有している。オペレーティングシステム１０６は、情報処理装置１０１の起動および停止や、情報処理装置１０１全体の動作を制御する。さらに、オペレーティングシステム１０６は、スケジューラ部１０７と、メモリ管理部１０８と、メモリ電力制御部１０９とを有している。
【００１５】
スケジューラ部１０７は、プロセッサ１０２によって実行されるプロセスの実行順序やスケジュール管理を行う。メモリ管理部１０８は、プロセスが利用するメモリ領域の指定や確保をする。メモリ電力制御部１１０は、プロセスで使用されるメモリ領域に対する電力の供給をするか否かを示す旨の信号（ＯＮ信号、またはＯＦＦ信号）をメモリ電力スイッチ１１０に通知する。電力スイッチ１１０は、不図示の外部の電源に接続され、上述したＯＮ信号、またはＯＦＦ信号によって、外部から供給される電源の状態（供給状態、または供給停止状態）を切り替える。
【００１６】
具体的には、メモリ電力制御部１１０は、スケジューラ部１０７が命令を実行する順序に関する情報やメモリ管理部１０８が指定したメモリ領域に関する情報を取得する。また、メモリ電力制御部１１０は、さらにそのメモリ領域へのアクセスを検知し、当該アクセスに必要なタスク領域を有している不揮発メモリ１０３２をメモリ電力スイッチ１１０に通知する。不揮発性メモリ１０３２は、種々のプロセスを実行するためのタスク領域１０３２１を有している。
【００１７】
プロセッサ１０２は、主記憶装置１０３にローディングされた１１０揮発メモリ上の１２０オペレーティングシステムからのタスク処理命令を受けプロセスの実行／割り込み処理を実行する。補助記憶装置１０４は、例えば、ハードディスク装置等の記憶媒体である。Ｉ／Ｏ、デバイス装置１０５は、例えば、ネットワークインタフェース等の通信媒体やテープ装置等の記録媒体である。
【００１８】
なお、以下では、主記憶装置１０３が２つの不揮発メモリ１０３２を有し、それぞれの不揮発メモリ１０３２を１つの単位として電力を供給する制御をすることとしているが、例えば、これらの２つの不揮発メモリ１０３２を１つの単位として、２つの不揮発メモリ１０３２に対して同時に電力を供給する等、あらかじめ定められたグループに対して制御することとしてもよい。すなわち、不揮発メモリ１０３２に対する電力の供給は、電力供給の制御可能な最小部位に対して電力を供給することが可能である。続いて、メモリ電力制御テーブル１０９１について説明する。
【００１９】
図２は、メモリ電力制御テーブル１０９１の構成の例を示す図である。図２に示すように、メモリ電力制御テーブル１０９１は、メモリアドレス領域２０１と、メモリ電力制御部位２０２と、電力供給状態２０３と、電力供給経過時間２０４と、経過時間閾値２０５とを対応付けて記憶している。
【００２０】
メモリアドレス領域２０１は、不揮発メモリ１０３２に含まれるタスク領域１０３２１が位置するアドレスである。また、メモリ電力制御部位２０２は、メモリアドレス領域２０１に位置するタスク領域１０３２１を特定するものである。
【００２１】
例えば、図１に示した例では、２つのタスク領域１０３２１は、メモリ電力制御部位２０２が「メモリ部位１」「メモリ部位２」であり、各メモリ部位のメモリアドレス[領域２０１は、それぞれ「0x0000〜0x000f」「0x0010〜0x001f」であることを示している。
【００２２】
電力供給状態２０３は、メモリ電力制御部位２０２に対する電力が供給されているか否かを示すものであり、メモリ電力制御部位２０２に対して電力が供給されている場合には「ＯＮ」状態となり、メモリ電力制御部位２０２に対して電力が供給されていない場合には「ＯＦＦ」状態となっている。後述するように、電力供給状態２０３は、メモリ電力スイッチ１１０によって、「ＯＮ」状態および「ＯＦＦ」状態が切り替えられる。
【００２３】
電力供給経過時間２０４は、メモリ電力制御部位２０２に対する電力の供給が開始してからの時間を示すものである。電力供給経過時間２０４は、後述するように、メモリ電力制御部１０９が、メモリ電力制御部位２０２に対する電力の供給が開始してからの時間を計時し、計時した時間を電力供給経過時間２０４として記憶させている。なお、以下では、単に、メモリ電力制御部１０９がメモリ電力制御部位２０２に対する電力の供給が開始してからの時間を計時しているとして説明しているが、実際は、メモリ電力制御部１０９が有するカウンタ等の計時装置によって、その時間を計時しているものとする。
【００２４】
経過時間閾値２０５は、メモリ電力制御部位２０２に対する電力の供給が開始してからの時間が一定の時間経過した場合に、その電力の供給を停止させるための閾値である。後述するように、メモリ電力制御部１０９は、メモリ電力制御部位２０２に対する電力の供給が開始してからの時間が、経過時間閾値２０５を経過したか否かを判定し、その時間が、経過時間閾値２０５を経過したと判定した場合、メモリ電力制御部位２０２に対する電力の供給を停止させる。続いて、情報処理装置１０１で行われる処理（電力制御処理）について説明する。
【００２５】
図３は、情報処理装置１０１で行われる電力制御処理の処理手順を示すフローチャートである。図３に示すように、まず、メモリ電力制御部１０９は、情報処理装置１０１の電源がＯＦＦとなっていないか否かを判定し（ステップＳ３０１）、情報処理装置１０１の電源がＯＦＦとなっていると判定した場合（ステップＳ３０１；Ｙｅｓ）、図３に示した電力制御処理を終了させる。
【００２６】
一方、メモリ電力制御部１０９は、情報処理装置１０１の電源がＯＦＦとなっていないと判定した場合（ステップＳ３０１；Ｎｏ）、スケジューラ部１０７が管理するプロセスの実行順序やスケジュール等の情報を取得し、スケジューラ部１０７がスケジューリングした次のタイムスロットでデスパッチするプロセスを取得する（ステップＳ３０２）。
【００２７】
そして、メモリ電力制御部１０９は、メモリ管理部１０８を参照し、当該プロセスが利用するメモリアドレスを取得し、取得したメモリアドレスから図２のメモリアドレス領域２０１を確定する（ステップＳ３０３）。例えば、メモリ電力制御部１０９は、プロセス内部の命令に含まれ、処理に使用されるメモリアドレスを読み取り、読み取ったメモリアドレスと、図２に示したメモリアドレス領域２０１とを比較し、読み取ったメモリアドレスが含まれるメモリアドレス領域２０１を特定する。
【００２８】
なお、本実施の形態においては、メモリ電力制御部１０９は、スケジューラ部１０７がスケジューリングした次のタイムスロットでデスパッチするプロセスを取得する場合について説明しているが、不揮発メモリ１０３２への電力供給開始から利用可能になるまでに一定の時間が必要となる。したがって、このような特性を考慮し、複数個先のタイムスロットまでのプロセスをあらかじめ取得し、それらのプロセス内部の命令に含まれ、処理に使用されるメモリアドレスを読み取ることによって、先行して利用するメモリアドレス領域２０１を確定しておくことも可能である。
【００２９】
続いて、メモリ電力制御部１０９は、メモリ電力制御テーブル１０９１を参照し、ステップＳ３０３で特定したメモリアドレス領域２０１に対応するメモリ電力制御部位２０２を特定し（ステップＳ３０４）、特定したメモリ電力制御部位２０２に対応する電力供給状態２０３を確認し、電力供給状態２０３が「ＯＮ」状態であるか「ＯＦＦ」状態であるかを判定し（ステップＳ３０５）、メモリ電力制御部１０９が、特定したメモリ電力制御部位２０２に対応する電力供給状態２０３が「ＯＮ」状態であると判定した場合（ステップＳ３０５；Ｙｅｓ）、ステップＳ３０８に進む。
【００３０】
一方、メモリ電力制御部１０９が、特定したメモリ電力制御部位２０２に対応する電力供給状態２０３が「ＯＦＦ」状態であると判定した場合（ステップＳ３０５；Ｎｏ）、メモリ電力制御部１０９は、当該メモリ電力制御部位２０２に対して電力を供給するためにメモリ電力スイッチ部１１０に給電指示を出し（ステップＳ３０６）、その後、給電指示を出したメモリ電力制御部位２０２に対応するメモリ電力制御テーブル１０９１の電力供給状態２０３に「ＯＮ」状態である旨を書き込み、電力供給経過時間２０４にゼロをセットする（ステップＳ３０７）。
【００３１】
そして、メモリ電力制御部１０９は、メモリ電力制御テーブル１０９１のメモリ電力制御部位２０２への電力供給経過時間を確認し、そのメモリ電力制御部位２０２への電力供給経過時間が、経過時間閾値２０５を超えているか否かを判定し（ステップＳ３０８）、そのメモリ電力制御部位２０２への電力供給経過時間が、経過時間閾値２０５を超えていない（所定時間内）と判定した場合（ステップＳ３０８；Ｎｏ）、メモリ電力制御テーブル１０９１の電力供給経過時間２０４を経過した時間に再セットする（ステップＳ３０８）。
【００３２】
一方、メモリ電力制御部１０９は、そのメモリ電力制御部位２０２への電力供給経過時間が、経過時間閾値２０５を超えている（所定時間より経過）と判定した場合（ステップＳ３０８；Ｙｅｓ）、メモリ電力制御テーブル１０９１の電力供給状態２０３を「ＯＦＦ」状態にセットするとともに、電力供給経過時間２０４にゼロをセットし（ステップＳ３１０）、メモリ電力スイッチ１１０に対して、当該メモリ電力制御部位２０２への電力停止指示を実行する（ステップＳ３１１）。このステップＳ３１１が終了すると、図３に示した電力制御処理の全ての処理が終了する。
【００３３】
以上の各ステップを繰り返し実行することで、オペレーティングシステム１０６がアクセスするメモリ電力制御部位２０２にあらかじめ電力が供給され、オペレーティングシステムからのメモリへの参照／書き込みを可能な状態とし、アクセスがないメモリ電力制御部位２０２に対しては、電力が供給されず、オペレーティングシステムからのメモリへの参照／書き込みができない状態としているため、メモリシステムの省電力化の大いに役立つ。
【００３４】
なお、ステップＳ３０８で判定基準とした所定時間の定義においては、管理者等が独立してその時間を定めず、例えば、あらかじめ情報処理装置１０１で行われるプロセスの１つのタイムスロット時間を定義しておき、メモリ電力制御部１０９が、オペレーティングシステム１０６のスケジューラ部１０７と通信し、当該タイムスロットで実行しているプロセスの状態を取得した後、上記定義した所定時間を経過し、当該プロセスの状態が終了、または中断しているか否かを判定し、当該プロセスの状態が終了、または中断していると判定した場合には直ちにメモリ電力スイッチ１１０に対して、当該メモリ電力制御部位２０２への電力停止指示を実行することによって、より短い時間で当該メモリ電力制御部位２０２に対する電力供給停止することも可能である。さらに、上記メモリ電力制御の特例として、アクセス頻度が高いメモリアドレス領域２０１（メモリ電力制御部位２０２）については常時ＯＮとし管理をすることも可能である。
【００３５】
このように、所定のプロセスを実行するための領域であるタスク領域１０３２１を備え、メモリ電力制御部１０９が、プロセスが実行されるタスク領域１０３２１をプロセス内部の命令から読み取り、読み取ったタスク領域１０３２１に対して電源から電力を供給させ、プロセッサ１０２が、メモリ電力制御部１０９によって電力が供給されたタスク領域１０３２１において、プロセスを実行させるので、情報処理装置で利用されるメモリに対して適切に電力を供給することができる。例えば、情報処理装置において搭載メモリ容量の増加に伴い、必要なメモリに対してのみ電力を供給するので、発熱量と消費電力の増加を抑制することができる。また、情報処理装置のメモリへのアクセスを検知し、必要な時に当該メモリ部位へ電力供給を制御することが可能となる。すなわち、メモリへのアクセスが必要な時に電力供給するため、メモリの電力供給量を抑え、省電力システムを実現することができる。
【００３６】
図４は、不揮発性メモリ１０３２が複数ある場合において、同時に電力供給されるメモリ電力供給部位２０２の上限を定めた場合の例（メモリ電力制御テーブル１０９１の変形例）を示す図である。図４に示した例では、１０個の電力供給制御可能な不揮発メモリ１０３２を備えた構成の例であり、同時に電力供給可能な部位を３個と定義することにより、必要電力４０２の上限は３つの不揮発性メモリ１０３２が使用する電力までに抑えることができ、例えば、不揮発メモリ１０３２に対して電力を供給する装置の電力供給負荷を１０から３にまで軽減し、簡易化することが可能となる。
【００３７】
図５は、不揮発性メモリ１０３２が複数ある場合において、同時に電力供給するメモリ電力供給部位２０２の配置を最適化した場合の例（メモリ電力制御テーブル１０９１の変形例）を示す図である。図５に示した例では、スロット５０１は、物理的な不揮発性メモリ１０３２のスロットの位置を示し、また、発熱量５０２は、スロットごとの発熱量を示している。また、図５では、３つの連続したスロットのグループの発熱量の合計である発熱量５０３の上限を２として定義している。
【００３８】
図５に示した例では、例えば、スロット１およびスロット２に対応するめもり電力制御部位２０２（メモリ部位１、メモリ部位２）は、電力供給状態（「ＯＮ」状態）となっており、発熱量を生じている（発熱量は「１」）ことを表しており、１つのグループとしてグルーピングされたスロット１〜スロット３までの発熱量は「２」であり、合計の発熱量５０３以内となっている。このように、例えば、最大発熱量が「３」であると定義したメモリシステムにおいて、物理的に連続した３つのメモリ電力制御部位２０２の発熱量の上限「２」を定義することによって、メモリシステムの最大発熱量が「２」となり、メモリシステムの発熱量を抑えメモリの高密度実装を実現できる。
【００３９】
このように、図４または図５に示した変形例を用いることによって、情報処理装置の電力供給部である電源装置やＦＡＮなどの冷却システムの簡易化、省電力な情報処理装置を実現することが可能となり、同じタイミングで使うメモリの消費電力や発熱量を抑制し、例えば、電源などの電力供給部やＦＡＮなどの冷却システムを簡易化することができる。
【００４０】
また、例えば、ホットスタンバイシステムの待機系サーバ上で稼動するオペレーティングシステムや監視ソフトウエアなどが搭載された、通常、処理量の少ない用途で用いられる情報処理装置では、アクセスするタイミングでのみメモリに電力が供給されるため、より省電力でスリープ状態を維持することができる。
【００４１】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【００４２】
１０１  情報処理装置
１０２  プロセッサ
１０３  主記憶装置
１０３１  揮発メモリ
１０３２  不揮発メモリ
１０３２１  タスク領域
１０４  補助記憶装置
１０５  Ｉ／Ｏ、デバイス装置
１０６  オペレーティングシステム
１０７  スケジューラ部
１０８  メモリ管理部
１０９  メモリ電力制御部
１０９１  メモリ電力制御テーブル
１１０  メモリ電力スイッチ。
【図１】
2012027655.tif 000003
【図２】
2012027655.tif 000004
【図３】
2012027655.tif 000005
【図４】
2012027655.tif 000006
【図５】
2012027655.tif 000007