(57)【要約】【課題】本発明では、不使用のメモリバンクのリフレッシュ動作や電力供給を停止するため、メモリバンク間でページを移動させる際に必要な処理時間や、その間の処理に費やす消費電力などのコストがかかる問題を解決するものである。【解決手段】本発明は、ページの割り当て時にページを要求したアプリケーションの状態および、ページ取得種別を用いて将来解放される可能性に基づいて各ページの移動コストを求め、リフレッシュ動作や電力供給を停止するメモリバンクへと移動する際に、移動コストに基づいて移動ページを決定することで、将来解放される可能性が高いページを移動することができ、メモリバンクのリフレッシュ動作や電力供給を停止する際に、リフレッシュ動作や電力供給を停止しないメモリバンクへ移動しなければならないページが少なくなるため、ページ移動にかかるコストが小さくなる。【選択図】図１
2007128126.tif 000002
【特許請求の範囲】
【請求項１】
常に動作状態である第１の単位領域と動作状態又は省電力状態である第２の単位領域とからなり、当該第１と第２の単位領域がページ毎に管理されるメモリと、
アプリケーションから要求されたページが第１の単位領域に割り当てられるか否かを判定し、割り当てられる場合にはページを割り当てるページ割当判定部と、
前記ページ割当判定部に対して要求されたページの移動に必要な移動コストを求め、ページと移動コストとを対応付けて管理する移動コスト処理部と、
前記ページ割当判定部がページを割り当てできなかった場合に、前記移動コストを用いて移動対象とするページを決定する移動ページ判定部と、
前記移動ページ判定部により決定されたページを第２の単位領域に移動するページ移動部とから構成される情報処理装置。
【請求項２】
前記移動コスト処理部が、ページを移動するために必要なコストを求める移動コスト判定部と、
前記ページ割当判定部が割り当てたページと前記移動コスト判定部の求めた移動コストとを対応付けて管理する使用ページ情報管理部とから構成される請求項１記載の情報処理装置。
【請求項３】
前記移動コスト処理部が、前記ページ割当判定部に対して要求されたページの移動に必要な情報を使用ページ情報として管理する使用ページ情報管理部と、
前記使用ページ情報管理部が管理している使用ページ情報を用いて、ページを移動するために必要な移動コストを求める移動コスト判定部とから構成される請求項１記載の情報処理装置。
【請求項４】
前記ページ割当判定部が、第１の単位領域の空きページ数が所定の値以下になったときに、第２の単位領域からページを割り当てる請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ページ割当判定部が、第１の単位領域の空きページ数がメモリの使用状況に応じた値以下になったときに、第２の単位領域からページを割り当てる請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項６】
前記ページ割当判定部が、空きページの情報を単位領域毎に管理し、アプリケーションから要求されたページサイズ分のページが第１の単位領域に確保できるか否かを判定する空きページ管理部と、
前記空きページ管理部が確保できると判定した場合またはアプリケーションから要求されたページが移動可能なページである場合にはページを割り当てるページ割当部とから構成される請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記移動コストが、ページを要求したアプリケーションの状態およびページ取得種別を用いて求められる請求項１〜６のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御に関し、より特定的には、リフレッシュ動作や電力供給を停止することでメモリの消費電力を制御する情報処理装置に関するものである。
【背景技術】
【０００２】
パソコンなどの電子機器で使用されているメモリのうち、ＤＲＡＭのようにデータを保持するために定期的なリフレッシュ動作が必要なものがある。このリフレッシュ動作はメモリの消費電力を増加させる要因となる。そこで、メモリが持つ複数のメモリバンクのうち、未使用のメモリバンクに対するリフレッシュ動作や電力供給を停止することで、電力消費を抑えることが考えられる。それを実現するための一般的な手法として、複数のメモリバンクに分散して割り当てられていたデータを、１つまたは少数のメモリバンクに移動させることにより、リフレッシュ動作や電力供給を停止することが可能なメモリバンクを増加させるメモリ制御手法があった（例えば、特許文献１参照）。
【０００３】
前記特許文献１によれば、アプリケーションに対するメモリ領域の割り当ておよび解放の状況に基づいてメモリ領域を調査し、現在割り当てられている領域を二次記憶装置に退避させたり、圧縮して特定の領域に退避させたりすることによって、可能な限りリフレッシュ動作や電力供給を停止するためのメモリ領域を増加させる技術が開示されている。
【０００４】
以下、メモリバンクのリフレッシュ動作や電力供給を停止した状態を、省電力状態と定義し、メモリバンクのリフレッシュ動作や電力供給を停止しない状態を、動作状態と定義する。また、リフレッシュ動作や電力供給を停止可能なメモリバンクを、停止可能なメモリバンクと略し、リフレッシュ動作や電力供給を停止不可能なメモリバンクを停止不可能なメモリバンクと略す。また、装置が動作している時は常に起動しているアプリケーションのことを常駐アプリケーションと定義し、そうでないアプリケーションのことを非常駐アプリケーションと定義する。さらに、アプリケーション起動中のメモリへのデータ割り当てで、一時的なものを動的割り当て、定常的なものを静的割り当てとする。
【特許文献１】特開平９−２１２４１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の技術では、再配置が不可能なため移動不可能なページが存在し、この移動不可能なページが複数のメモリバンクに分散して割り当てられると、そのページが存在するメモリバンクを省電力状態にすることができないという問題があった。
【０００６】
この問題を回避するために、アプリケーションからのページ割り当て要求に対して、移動可能なページ割り当てか否かを判別し、移動不可能なページについては、停止不可能なメモリバンクに割り当てる。また、再配置が可能なため移動可能なページについては、複数のメモリバンクに対してリフレッシュ動作や電力供給を行うと電力消費が大きくなるため、停止不可能なメモリバンクに空きがある場合は、停止不可能なメモリバンクに割り当てるという手段が考えられる。
【０００７】
しかしながら、メモリの使用状況によっては、移動不可能なページを割り当てる際に、停止不可能なメモリバンクに空きがない場合、割り当てが不可能な状況に陥ってしまう。そのため、移動可能なページを別のメモリバンクに移動させる必要が生じる。また、メモリの使用状況が変化して、メモリバンクを省電力状態にするために、停止不可能なメモリバンクへページを移動させる必要が生じる。
【０００８】
上述した通り、メモリバンクを省電力状態にするために、メモリバンク間でページを移動させようとすると、ページをコピーしたり消去したりする処理時間や、その間の処理に費やす消費電力が増加するという問題があった。
【０００９】
本発明は上記従来の課題を解決するものであり、メモリバンクを省電力状態にする際に、ページを１つまたは少数のメモリバンクに集めるために必要な処理時間や移動を考慮して、将来発生する移動のための消費電力を最小限に抑えることで、ページを移動するために必要な電力消費を小さくし、停止可能なメモリバンクの停止時間を増大させることができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明においては、常に動作状態である第１の単位領域と動作状態又は省電力状態である第２の単位領域とからなり、当該第１と第２の単位領域がページ毎に管理されるメモリと、アプリケーションから要求されたページが第１の単位領域に割り当てられるか否かを判定し、割り当てられる場合にはページを割り当てるページ割当判定部と、前記ページ割当判定部に要求されたページの移動に必要な移動コストを求め、ページと移動コストとを対応付けて管理する移動コスト処理部と、前記ページ割当判定部がページを割り当てできなかった場合に、前記移動コストを用いて移動対象とするページを決定する移動ページ判定部と、前記移動ページ判定部により決定されたページを第２の単位領域に移動するページ移動部を具備することを特徴としている。
【００１１】
この構成により、メモリバンクを省電力状態にするために移動させるページを減らすことができ、ページを移動するために必要な電力消費を小さくし、停止可能なメモリバンクの停止時間を増大させることができる。
【発明の効果】
【００１２】
本発明によれば、ページを要求したアプリケーションの状態および、ページ取得種別などを用いてページを移動するために必要なコストを求めることで、将来解放される可能性が高いページを、停止可能なメモリバンクへと移動することができ、メモリバンクを省電力状態にする際に、停止不可能なメモリバンクへ移動しなければならないページが少なくなるため、ページを移動するために必要な電力消費を小さくし、停止可能なメモリバンクの停止時間を増大させる効果が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について説明する。
【００１４】
（実施の形態１）
図１は、本発明の一実施の形態による、メモリ１０１と、ページ割当判定部１０２と、移動コスト処理部１０５と、移動ページ判定部１０８と、ページ移動部１０９の関係を表すブロック図である。なお、本実施の形態では、ページ割当判定部１０２はページ割当部１０３と空きページ管理部１０４とからなり、移動コスト処理部１０５は移動コスト判定部１０６と使用ページ情報管理部１０７とからなる。はじめに各構成要素の本発明における役割を述べる。
【００１５】
メモリ１０１は、常に動作状態である第１のメモリバンクと動作状態又は省電力状態である第２のメモリバンクとからなり、アプリケーションの情報を保持する。ここで言う情報とは、アプリケーションを実行するために必要な実行コードやデータのことである。
【００１６】
ページ割当部１０３は、空きページ管理部１０４に割り当てるページのサイズを通知し、ページの割り当ての可否を通知してもらい、割り当て可能である場合に、ページ割り当てを行い、移動コスト判定部１０６に、要求したページと、ページを要求したアプリケーションの状態および、ページ取得種別を通知し、アプリケーションにページを返す。割り当て不可能である場合、移動可能なページ割り当てか否かを判断し、移動不可能なページ割り当ての場合、使用ページ情報管理部１０７にページ移動要求を通知する。移動可能なページ割り当ての場合、再度空きページ管理部１０４にページのサイズを通知し、ページの割り当ての可否を通知してもらい、割り当て可能である場合、アプリケーションにページを通知し、割り当て不可能である場合は、アプリケーションにページの割り当てが不可能であることを通知する。
【００１７】
移動コスト判定部１０６は、ページ割当部１０３より通知されたアプリケーションの状態および、ページ取得種別を用いて、通知されたページに対して移動コストを求め、ページとそのページの移動コストを使用ページ情報管理部１０７に通知する。ここで言うアプリケーションの状態および、ページ取得種別とは、常駐アプリケーションであるか否か、動的に割り当てたページであるか否か、割り当てたページのサイズ、読み込み可能書き込み不可能なページの取得か否かなどである。
【００１８】
また、移動コストとは、将来的にそのページが解放される可能性を元に求められる値であり、移動コストが低いページは、将来的に解放される可能性が高く、移動コストが高いページは、将来的に解放される可能性が低いことを示す。停止可能なメモリバンクに、常駐アプリケーションが使用しているページが割り当てられている場合と、非常駐アプリケーションが使用しているページが割り当てられている場合の比較を例に挙げて説明する。
【００１９】
非常駐アプリケーションは将来的に終了し、終了した時に非常駐アプリケーションが使用しているページも解放されるため、停止可能なメモリバンクに割り当てられているページが少なくなる。しかし、常駐アプリケーションが使用しているページが停止可能なメモリバンクに割り当てられていたとき、非常駐アプリケーションが終了したときに解放されないため、停止可能なメモリバンクに割り当てられているページに変化はない。すなわち、非常駐アプリケーションが使用しているページを停止可能なメモリバンクに移動させることで、将来的に停止可能なメモリバンクを省電力状態にするために、移動するページ数が少なくなるといえる。そのため、移動コストを求める時に、非常駐アプリケーションが使用するページであれば、移動コストを低くし、常駐アプリケーションが使用するページであれば、移動コストを高くするという手段が考えられる。
【００２０】
図２は、各アプリケーションが常駐するアプリケーションであるか否かをテーブル化して保持する一例である。このテーブルでは、アプリケーション名に対して、常駐アプリケーションであるか、非常駐アプリケーションであるかを保持している。移動コスト判定部１０６は、このテーブルを用いて、移動コストを求めるのに常駐アプリケーションか否かを用いることができる。なお、アプリケーションの識別にアプリケーション名を挙げたが、アプリケーションを一意に識別できる情報であればアプリケーション名に限らない。
【００２１】
使用ページ情報管理部１０７は、移動コスト判定部１０６より通知されたページと移動コストとを対応付けて管理する。また、ページ割当部１０３よりページの移動要求が通知されたとき、ページと移動コストを移動ページ判定部１０８に通知する。
【００２２】
図３は、実施の形態１における使用ページ情報管理部１０７が管理するテーブルの一例である。使用ページ情報管理部１０７は、移動コスト判定部１０６から通知された、ページ番号と移動コストを記憶する。なお、ページの識別にページ番号を挙げたが、ページを一意に識別できる情報であれば、ページ番号に限らない。
【００２３】
空きページ管理部１０４は、空きページの管理をメモリバンク毎もしくは、停止可能なメモリバンクと停止不可能なメモリバンク毎で行い、ページ割当部１０３より通知されたページサイズ分の割り当てが可能かどうかの判定を行い、ページ割当部１０３にページもしくは、空きページがないことを通知する。
【００２４】
図４は、実施の形態１における空きページ管理部１０４が管理する空きページリストの一例である。図４の左側のリストは、停止可能なメモリバンクの空きページリストを表し、右側のリストは停止不可能なメモリバンクの空きページリストを表す。空きページ管理部１０４は、ページ割当部１０３から通知されるページサイズに対して、空きページを返して、リストから対象のページを削除する。また、ページ移動部１０９から通知される移動したページおよび、移動先をもとに、空きページリストの挿入および削除を行う。図４の例では、空きページリストは、停止可能なメモリバンクと停止不可能なメモリバンク毎で保持しているが、メモリバンク毎で管理してもよい。なお、空きページの管理手法としてリストを挙げたが、すべての空きページの情報が分別できるのであれば、空きページリストに限らない。また、リストでの管理対象として空きページ番号を挙げたが、ページを一意に識別できる情報であれば、空きページ番号に限らない。
【００２５】
移動ページ判定部１０８は、使用ページ情報管理部１０７より通知されたページと移動コストを基に、移動させるページをページ移動部１０９に通知する。
【００２６】
ページ移動部１０９は、移動ページ判定部１０８から通知されたページを移動させ、移動させたページの情報を使用ページ情報管理部１０７に通知し、移動したページを空きページ管理部１０４に通知する。
【００２７】
以上のように構成された実施の形態１の情報処理装置について、以下、その動作を説明する。
【００２８】
図５は、実施の形態１における情報処理装置の動作を表すフローチャートである。アプリケーションがページ割当部１０３にページを要求すると（Ｓ１１０１）、ページ割当部１０３は空きページ管理部１０４へ要求ページサイズを通知し（Ｓ１１０２）、空きページ管理部１０４は空きページリストを参照して、停止不可能なメモリバンクに空きページがあるかどうかを判断し（Ｓ１１０３）、空きページがある場合は、ページ割当部１０３に空きページを通知して停止不可能なメモリバンクの空きページリストから通知したページを削除する（Ｓ１１０４）。ページ割当部１０３は、空きページを通知されたとき、ページの割り当てを行い、割り当てたページと、移動可能なページか否か、動的に確保されたページであるか否か、割り当てたページのサイズなどの情報を移動コスト判定部１０６に通知し（Ｓ１１０５）、移動コスト判定部１０６は、通知された情報を用いて、取得したページの移動コストを求め、使用ページ情報管理部１０７に通知する（Ｓ１１０６）。使用ページ情報管理部１０７は、通知されたページと移動コストとをテーブルに記憶し（Ｓ１１０７）、ページ割当部１０３は、アプリケーションに割り当てたページを返す（Ｓ１１０８）。空きページ管理部１０４が停止不可能なメモリバンクに空きページがないと判断したとき、ページ割当部に空きページがないことを通知し（Ｓ１１０９）、ページ割当部１０３は、要求したページが移動可能か不可能かを判断する（Ｓ１１１０）。要求したページが移動不可能なページである場合、ページ移動処理を行う（Ｓ１１１１）。ページ移動処理後、空きページ管理部１０４は、ページ移動処理によって移動したページ数が０であるかを判別する（Ｓ１１１２）。移動したページ数が０でない場合、空きページ管理部１０４によって空きページがあるかどうかを判断する処理（Ｓ１１０３）に戻る。移動したページ数が０である場合、空きページ管理部１０４は、ページの割り当てができないことをページ割当部１０３に通知し（Ｓ１１１３）、ページ割当部１０３はアプリケーションにページの割り当てができないことを通知する（Ｓ１１１４）。なお、移動したかどうかの判別にページ数を用いたが、移動したかどうかが判別できるのであれば、ページ数に限ったものではない。要求したページが移動可能なページである場合、停止可能なメモリバンクでの割り当て処理を行う（Ｓ１１１５）。
【００２９】
図６は、実施の形態１における移動コスト判定部１０６の動作、具体的には、図５のステップＳ１１０６の処理を詳細に示したフローチャートである。移動コスト判定部１０６は、最初にコスト計算用の変数を０で初期化し（Ｓ１２０１）、ページ割当部１０３より通知されたページが移動可能なページであるか否かを判断する（Ｓ１２０２）。移動可能なページである場合、図２で示すテーブルを用いて、ページを要求したアプリケーションが常駐アプリケーションであるかを判断する（Ｓ１２０３）。ページを要求したアプリケーションが常駐アプリケーションである場合、解放される可能性が低いため、コスト計算用変数に１００を加える（Ｓ１２０４）。次に、ページ取得種別が動的な割り当てであるかを判断し（Ｓ１２０５）、動的な割り当てでない場合、動的な割り当ての場合に比べて解放される可能性が低いため、コスト計算用変数に１０を加える（Ｓ１２０６）。次に、ページ取得サイズが大きいもののほうが、一度に解放される可能性が高くなるため、図６に示す計算式を用いて、コスト計算用変数を減らす（Ｓ１２０７）。最後に、ページおよびコスト計算用変数の値を使用ページ情報管理部に通知する（Ｓ１２０８）。通知されたページが移動不可能なページである場合、コスト計算用変数の値をとり得る最大値にすることで、ページ割当部１０３よりページ移動要求が通知された場合に、移動ページ判定部１０８は、移動不可能なページであると判断することができる。なお、図６の移動コストを求めた際、用いた値や移動コストを求める手順は変更可能であり、この値やこの手順に限ったものではない。また、読み込み可能、書き込み不可能なページは、ＲＯＭなどの記憶装置から再度読み込めばよいので、メモリバンクを省電力状態にするときに、停止不可能なメモリバンクへと移動させる必要がないため、移動コストを０にして、停止可能なメモリバンクへ最も移動しやすくするということもできる。
【００３０】
図７は、実施の形態１における図５のページ移動（Ｓ１１１１）の動作を詳細化したフローチャートである。まず、ページ割当部１０３は、使用ページ情報管理部１０７にページの移動要求を通知し（Ｓ１３０１）、要求を受けた使用ページ情報管理部１０７は、管理している移動コスト管理テーブルを移動ページ判定部１０８に通知する（Ｓ１３０２）。移動ページ判定部１０８は、通知されたページの中で移動可能なページがあるかどうかを判断する（Ｓ１３０３）。移動させるページがない場合、空きページ管理部に移動したページ数を０で通知して（Ｓ１３０８）、ページ移動処理を終了する。移動させるページがある場合、移動コストが低いものを選択して、ページ移動部１０９に当該ページを通知して（Ｓ１３０４）、ページ移動部１０９は通知されたページを移動して、移動したページを使用ページ情報管理部１０７に、移動したページと移動先のページと移動したページ数を空きページ管理部１０４に通知する（Ｓ１３０５）。使用ページ管理部１０７は、移動したページを受け取り、移動コスト管理テーブルから削除する（Ｓ１３０６）。空きページ管理部１０４は、移動したページと移動先を受け取り、移動したページを空きページとして空きページリストに追加し、移動先のページを空きページリストから削除し（Ｓ１３０７）、ページ移動処理を終了する。
【００３１】
図８は、停止不可能なメモリバンクに空きがなく、移動不可能なページ割り当て要求がきた場合に停止不可能なメモリバンクから停止可能なメモリバンクへページを移動させる一例である。まず、移動ページ判定部１０８は移動コスト管理テーブルから移動コストの最も小さい１０を選択し、ページ移動部１０９に移動コスト１０に対応するページＡ２０１を通知する。ページ移動部１０９は通知されたＡ２０１を停止可能なメモリバンクの領域Ｂ２０１に移動し、使用ページ情報管理部１０７は移動コスト管理テーブルからＡ２０１を削除する。なお、移動対象ページが停止可能なメモリバンクに移動する際、停止可能なメモリバンクの先頭のページへ移動させたが、停止可能なメモリバンクへ移動するのであれば先頭のページに限らない。また、１回の移動処理で移動するページ数は１つに限らない。
【００３２】
図９は、実施の形態１における図５の停止可能なメモリバンクでの割り当て処理（Ｓ１１１５）を詳細化したフローチャートである。まず、ページ割当部１０３は空きページ管理部１０４へ要求ページサイズを通知し（Ｓ１４０１）、空きページ管理部１０４は停止可能なメモリバンクの空きページリストを参照して、空きページがあるかどうかを判断する（Ｓ１４０２）。空きページがある場合は、ページ割当部１０３に空きページを通知して停止可能なメモリバンクの空きページリストから通知したページを削除し（Ｓ１４０３）、ページ割当部１０３は、アプリケーションに割り当てたページを返す（Ｓ１４０４）。空きページがない場合は、ページの割り当てができないことをページ割当部１０３に通知し（Ｓ１４０５）、ページ割当部１０３はアプリケーションにページの割り当てができないことを通知する（Ｓ１４０６）。
【００３３】
この構成により、メモリバンクを省電力状態にするために必要な移動ページの量を減らすことができ、ページを移動するために必要な電力消費を小さくすることができる。
【００３４】
（実施の形態２）
以下、本発明の実施の形態２における情報処理装置について図面を参照しながら説明する。
【００３５】
実施の形態２の情報処理装置のブロック図は図１と同様であるため省略する。
【００３６】
本実施の形態と実施の形態１との相違点は、空きページ管理部１０４において、さらに停止不可能なメモリバンクの空きページ数を管理することである。
【００３７】
図１０は、実施の形態２における動作を表すフローチャートである。図５の実施の形態と同様の部分については同一符号を付す。アプリケーションがページ割当部１０３にページを要求すると（Ｓ１１０１）、ページ割当部１０３は空きページ管理部１０４へ要求ページサイズを通知し（Ｓ１１０２）、移動不可能なページ割り当てかを判断する（Ｓ１１２１）。移動不可能なページ割り当ての場合、空きページ管理部１０４は空きページ数を参照して、停止不可能なメモリバンクに空きページがあるかどうかを判断する（Ｓ１１０３）。移動可能なページ割り当ての場合は、空きページ管理部１０４は空きページ数を参照して、停止不可能なメモリバンクに空きページがある一定値以上あるかどうかを判断する（Ｓ１１２２）。なお、残りの空きページの判断に利用した値は変更可能であり、この値に限ったものではない。空きページがある場合は、ページ割当部１０３に空きページを通知して停止不可能なメモリバンクの空きページリストから通知したページを削除する（Ｓ１１０４）。ページ割当部１０３は、空きページを通知されたとき、ページ割り当てを行い、割り当てたページ、ページを要求したアプリケーションの状態および、ページ取得種別を移動コスト判定部１０６に通知し（Ｓ１１０５）、移動コスト判定部１０６は、通知されたアプリケーションの状態および、ページ取得種別を用いて、取得したページの移動コストを求め、使用ページ情報管理部１０７に通知する（Ｓ１１０６）。使用ページ情報管理部１０７は、通知されたページと移動コストをテーブルに記憶し（Ｓ１１０７）、ページ割当部１０３は、アプリケーションに割り当てたページを返す（Ｓ１１０８）。移動不可能なページ割り当てであり、空きページ管理部１０４が停止不可能なメモリバンクに空きページがないと判断した場合、ページ割当部１０３に空きページがないことを通知し（Ｓ１１０９）、ページ移動処理を行う（Ｓ１１１１）。ページ移動処理後、空きページ管理部１０４は、ページ移動処理によって移動したページ数が０であるかを判別する（Ｓ１１１２）。移動したページ数が０でない場合、空きページ管理部１０４によって空きページがあるかどうかを判断する処理（Ｓ１１０３）に戻る。移動したページ数が０である場合、空きページ管理部１０４は、ページの割り当てができないことをページ割当部１０３に通知し（Ｓ１１１３）、ページ割当部１０３はアプリケーションにページの割り当てができないことを通知する（Ｓ１１１４）。なお、移動したかどうかの判別にページ数を用いたが、移動したかどうかが判別できるのであれば、ページ数に限ったものではない。移動可能なページ割り当てであり、空きページ管理部１０４が停止不可能なメモリバンクに空きページがある閾値以上ないと判断した場合、停止可能なメモリバンクでの割り当て処理を行う（Ｓ１１１５）。アプリケーションにページを通知、もしくはページの割り当てができないことを通知した後、ページ移動処理を行う（Ｓ１１２４）。なお、空きページの判定で用いる閾値は変更可能であり、この値に限ったものではない。また、ページ移動処理のタイミングは任意であり、アプリケーションに通知した直後に行う必要はない。
【００３８】
本実施の形態によって、停止不可能なメモリバンクの空きページが少なくなってきた場合に、移動可能なページを停止可能なメモリバンクに移動させておくことで、移動不可能なページ割り当て要求が行われたときに、即座にアプリケーションにページを割り当てることができる。また、図１０の空きページの判定処理（Ｓ１１２２）で用いる閾値をメモリバンクの使用状況に応じて変更可能にすることによって、例えば停止可能なメモリバンクの使用状況に応じて、停止可能なメモリバンクを使用していないときに閾値を下げることで、停止可能なメモリバンクを使用しない時間が長くなるため、消費電力の低下を実現できる。また、停止可能なメモリバンクを使用しているときに閾値を上げることで、移動不可能なページ割り当てのための領域が多く取れるため、停止不可能なメモリバンクから停止可能なメモリバンクへのページ移動処理が行われる回数が減るため、ページ移動処理にかかるコストを下げることができる。さらに、例えば停止不可能なメモリバンクの使用状況に応じて、停止不可能なメモリバンクが９０％以上使用された場合には閾値を上げることで空きページを確保し、空きページを確保した場合には閾値を下げることで、要求されたページが移動可能か否かに関わらず即座にページを割り当てることができる。
【００３９】
（実施の形態３）
以下、本発明の実施の形態３における情報処理装置について図面を参照しながら説明する。
【００４０】
図１１は、実施の形態３の情報処理装置のブロック図である。
【００４１】
本実施の形態において、実施の形態１と同様の部分については同一符号を付し、その詳細な説明は省略する。
【００４２】
本実施の形態と実施の形態１との相違点は、ページ割当判定部１５１、移動コスト処理部１５３、移動ページ判定部１５６の機能である。なお、本実施の形態ではページ割当判定部１５１はページ割当部１５２と空きページ管理部１０４とからなり、移動コスト処理部１５３は使用ページ情報管理部１５４と移動コスト判定部１５５とからなる。以下、各構成要素の役割を説明する。
【００４３】
ページ割当部１５２は、空きページ管理部１０４に割り当てるページのサイズを通知し、ページの割り当ての可否を通知してもらい、割り当て可能である場合に、ページ割り当てを行い、使用ページ情報管理部１５２に、割り当てたページと、ページを要求したアプリケーションの状態および、ページ取得種別を通知し、アプリケーションにページを返す。割り当て不可能である場合、移動可能なページ割り当てか否かを判断し、移動不可能なページ割り当ての場合、使用ページ情報管理部１５４にページ移動要求を通知する。移動可能なページ割り当ての場合、再度空きページ管理部１０４にページのサイズを通知し、ページの割り当ての可否を通知してもらい、割り当て可能である場合、アプリケーションにページを通知し、割り当て不可能である場合は、アプリケーションにページの割り当てが不可能であることを通知する。
【００４４】
使用ページ情報管理部１５４は、ページ割当部１５２より通知されたページとページを要求したアプリケーションの状態および、ページ取得種別を対応付けて管理する。また、ページ割当部１５２より、ページの移動要求が通知されたとき、使用ページ管理テーブルを移動コスト判定部１５５に通知する。
【００４５】
図１２は、実施の形態２における使用ページ情報管理部１５４が管理する使用ページ管理テーブルの一例である。このテーブルでは、使用ページに対して、移動可能なページであるか否か、常駐するアプリケーションが使用しているページであるか否か、割り当て方法が動的な割り当てが行われたページであるか否か、要求したときのページのサイズを保持している。移動コスト判定部１５５は、このテーブルを用いてページの移動コストを求めることができる。ここで移動不可能なページとは、例えば、外部のＩ／Ｏ装置へＤＭＡ転送を行う際、送るデータをセットする時は、仮想アドレスを参照してデータや開始アドレスなどをセットしておき、実際に転送が行われる時は、物理アドレスから直接データを読んで転送するため、このようなページは移動不可能なページとなる。また、動的に割り当てが行われたページとは、例えば、Ｃ言語のｍａｌｌｏｃにより割り当てられたページが動的に割り当てられたページとなる。
【００４６】
移動コスト判定部１５５は、使用ページ情報管理部１５４より通知された使用ページ管理テーブルの情報を用いて移動コストを求め、ページと各ページの移動コストを移動ページ判定部１５６に通知する。移動コストについては、実施の形態１と同様のため、説明を省略する。
【００４７】
移動ページ判定部１５６は、移動コスト判定部より通知された各ページの移動コストをもとに、移動コストが低いページを移動させるページとして、ページ移動部１０９に通知する。
【００４８】
以上のように構成された実施の形態２の情報処理装置について、以下、その動作を説明する。
【００４９】
図１３は、実施の形態２における情報処理装置の動作を表すフローチャートである。アプリケーションがページ割当部１５２にページを要求すると（Ｓ２１０１）、ページ割当部１５２は空きページ管理部１０４へ要求ページサイズを通知し（Ｓ２１０２）、空きページ管理部１０４は空きページリストを参照して、停止不可能なメモリバンクに空きページがあるかどうかを判断し（Ｓ２１０３）、空きページがある場合は、ページ割当部１５２に空きページを通知して空きページリストから通知したページを削除する（Ｓ２１０４）。ページ割当部１５２は、空きページを通知されたとき、ページの割り当てを行い、割り当てたページ、ページを要求したアプリケーションの状態および、ページ取得種別を使用ページ情報管理部１５４に通知し（Ｓ２１０５）、使用ページ情報管理部１５４は、ページと、通知されたアプリケーションの状態および、ページ取得種別をテーブルに記憶する（Ｓ２１０６）。ページ割当部１５２は、アプリケーションに割り当てたページを返す（Ｓ２１０７）。空きページ管理部１０４が停止不可能なメモリバンクに空きページがないと判断したとき、ページ割当部１５２に空きページがないことを通知し（Ｓ２１０８）、ページ割当部１５２は、要求したページが移動可能か不可能かを判断する（Ｓ２１０９）。要求したページが移動不可能なページである場合、ページ移動処理を行う（Ｓ２１１０）。ページ移動処理後、空きページ管理部１０４は、ページ移動処理によって移動したページ数が０であるかを判別する（Ｓ２１１１）。移動したページ数が０でない場合、空きページ管理部１０４によって空きページがあるかどうかを判断する処理（Ｓ２１０３）に戻る。移動したページ数が０である場合、空きページ管理部１０４は、ページの割り当てができないことをページ割当部１５２に通知し（Ｓ２１１２）、ページ割当部１５２はアプリケーションにページの割り当てができないことを通知する（Ｓ２１１３）。なお、移動したかどうかの判別にページ数を用いたが、移動したかどうかが判別できるのであれば、ページ数に限ったものではない。要求したページが移動可能なページである場合、停止可能なメモリバンクでの割り当て処理を行う（Ｓ２１１４）。停止可能なメモリバンクでの割り当て処理の動作については、実施の形態１と同様のため、説明を省略する。
【００５０】
図１４は、実施の形態２における図１３のページ移動（Ｓ２１１０）の動作を詳細化したフローチャートである。まず、ページ割当部１５２は、使用ページ情報管理部１５４にページの移動要求を通知し（Ｓ２２０１）、要求を受けた使用ページ情報管理部１５４は、使用ページ情報を移動コスト判定部１５５に通知する（Ｓ２２０２）。ここで言う使用ページ情報とは、常駐するアプリケーションが使用しているページであるか否か、移動可能なページであるか否か、割り当て方法が動的な割り当てが行われたページであるか否か、要求したときのページのサイズを表す。移動コスト判定部１５５は、各ページに対して移動コストを求めて、移動ページ判定部１５６にページと各ページの移動コストを通知する（Ｓ２２０３）。移動コストを求める方法については、実施の形態１の図６のような方法で求めることができる。また、移動コストは、ページ移動処理が行われるたびに求めてもよいし、一度求めた値を記憶しておき、２回以上求めないとしてもよい。移動ページ判定部１５６は、通知されたページの中で移動可能なページがあるかどうかを判断する（Ｓ２２０４）。移動させるページがない場合、空きページ管理部１０４に移動したページ数を０で通知して（Ｓ２２０９）、ページ移動処理を終了する。移動させるページがある場合、移動コストが低いものを選択して、ページ移動部１０９に当該ページを通知して（Ｓ２２０５）、ページ移動部１０９は通知されたページを移動して、移動したページを使用ページ情報管理部１５４に、移動したページと移動先のページと移動したページ数を空きページ管理部１０４に通知する（Ｓ２２０６）。使用ページ情報管理部１５４は、移動したページを受け取り、移動コスト管理テーブルから削除する（Ｓ２２０７）。空きページ管理部１０４は、移動したページと移動先を受け取り、移動したページを空きページとして空きページリストに追加し、移動先のページを空きページリストから削除し（Ｓ２２０８）、ページ移動処理を終了する。
【００５１】
この構成により、移動コストをページ移動判定時に求めることで、ページ割り当て時の処理の量を減らし、ページ割り当てにかかる時間を減らす効果を得ることができる。
【００５２】
（実施の形態４）
以下、本発明の実施の形態４における情報処理装置について図面を参照しながら説明する。
【００５３】
実施の形態４の情報処理装置のブロック図は図３と同様であるため省略する。
【００５４】
本実施の形態と実施の形態３との相違点は、空きページ管理部１０４において、さらに停止不可能なメモリバンクの空きページ数を管理することである。
【００５５】
図１５は、実施の形態４における動作を表すフローチャートである。図１３の実施の形態と同様の部分については同一符号を付す。アプリケーションがページ割当部１５２にページを要求すると（Ｓ２１０１）、ページ割当部１５２は空きページ管理部１０４へ要求ページサイズを通知し（Ｓ２１０２）、移動不可能なページ割り当てかを判断する（Ｓ２１２１）。移動不可能なページ割り当ての場合、空きページ管理部１０４は空きページ数を参照して、停止不可能なメモリバンクに空きページがあるかどうかを判断する（Ｓ２１０３）。移動可能なページ割り当ての場合は、空きページ管理部１０４は空きページ数を参照して、停止不可能なメモリバンクに空きページがある閾値以上あるかどうかを判断する（Ｓ２１２２）。なお、残りの空きページの判断に利用した値は変更可能であり、この値に限ったものではない。空きページがある場合は、ページ割当部１５２に空きページを通知して、停止不可能なメモリバンクの空きページリストから通知したページを削除する（Ｓ２１０４）。ページ割当部１５２は、空きページを通知されたとき、ページ割り当てを行い、割り当てたページ、ページを要求したアプリケーションの状態および、ページ取得種別を使用ページ情報管理部１５４に通知し（Ｓ２１０５）、使用ページ情報管理部１５４は、ページと、通知されたアプリケーションの状態および、ページ取得種別をテーブルに記憶する（Ｓ２１０６）。ページ割当部１５２は、アプリケーションに割り当てたページを返す（Ｓ２１０７）。移動不可能なページ割り当てであり、空きページ管理部１０４が停止不可能なメモリバンクに空きページがないと判断したとき、ページ割当部１５２に空きページがないことを通知し（Ｓ２１０８）、ページ移動処理を行う（Ｓ２１１０）。ページ移動処理後、空きページ管理部１０４は、ページ移動処理によって移動したページ数が０であるかを判別する（Ｓ２１１１）。移動したページ数が０でない場合、停止不可能なメモリバンクに空きページがあるかを判断する処理（Ｓ２１０３）に戻る。移動したページ数が０である場合、空きページ管理部１０４は、ページの割り当てができないことをページ割当部１５２に通知し（Ｓ２１１２）、ページ割当部１５２はアプリケーションにページの割り当てができないことを通知する（Ｓ２１１３）。なお、移動したかどうかの判別にページ数を用いたが、移動したかどうかが判別できるのであれば、ページ数に限ったものではない。移動可能なページ割り当てであり、空きページ管理部１０４が停止不可能なメモリバンクに空きページがある閾値以上ないと判断したとき、停止可能なメモリバンクでの割り当て処理を行う（Ｓ２１１４）。アプリケーションにページを通知、もしくはページの割り当てができないことを通知した後、ページ移動処理を行う（Ｓ２１２４）。なお、空きページの判定で用いる閾値は変更可能であり、この値に限ったものではない。また、ページ移動処理のタイミングは任意であり、アプリケーションに通知した直後に行う必要はない。
【００５６】
本実施の形態によって、停止不可能なメモリバンクの空きページが少なくなってきた場合に、移動可能なページを停止可能なメモリバンクに移動させておくことで、移動不可能なページ割り当て要求が行われたときに、即座にアプリケーションにページを割り当てることができる。また、図１５の空きページの判定処理（Ｓ２１２２）で用いる閾値をメモリバンクの使用状況に応じて変更可能にすることによって、例えば停止可能なメモリバンクの使用状況に応じて、停止可能なメモリバンクを使用していないときに閾値を下げることで、停止可能なメモリバンクを使用しない時間が長くなるため、消費電力の低下を実現できる。また、停止可能なメモリバンクを使用しているときに閾値を上げることで、移動不可能なページ割り当てのための領域が多く取れるため、停止不可能なメモリバンクから停止可能なメモリバンクへのページ移動処理が行われる回数が減るため、ページ移動処理にかかるコストを下げることができる。さらに、例えば停止不可能なメモリバンクの使用状況に応じて、停止不可能なメモリバンクが９０％以上使用された場合には閾値を上げることで空きページを確保し、空きページを確保した場合には閾値を下げることで、要求されたページが移動可能か否かに関わらず即座にページを割り当てることができる。
【００５７】
なお、本発明の情報処理装置を構成する各機能ブロックは典型的には集積回路であるＬＳＩとして実現されてもよい。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００５８】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００５９】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【産業上の利用可能性】
【００６０】
本発明にかかる情報処理装置は、電力消費を抑えるためにメモリのリフレッシュ動作および電力供給を停止する際に生じていたメモリの情報の移動コストや、そのときの電力消費を抑える効果を有し、電力供給がバッテリーなどによって行われる携帯電話、ＰＤＡなどの携帯端末機器、デジタルテレビ、オーディオなどの情報家電端末、ＰＣなどに有用である。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施の形態１における、情報処理装置の構成を示すブロック図
【図２】本発明の実施の形態１における、各アプリケーションが常駐アプリケーションか否かを管理する管理テーブルの一例を示す図
【図３】本発明の実施の形態１における、使用ページ情報管理部が管理するページと移動コストの一例を示す図
【図４】本発明の実施の形態１における、空きページ管理部が管理する停止不可能なメモリバンクの空きページのリストと停止可能なメモリバンクの空きページリストの一例を示す図
【図５】本発明の実施の形態１における、情報処理装置の動作のフローを示す図
【図６】本発明の実施の形態１における、移動コスト判定処理の動作のフローを示す図
【図７】本発明の実施の形態１における、ページ移動処理の動作のフローを示す図
【図８】本発明の実施の形態１における、停止不可能なメモリバンクから停止可能なメモリバンクへのページ移動の一例を示す図
【図９】本発明の実施の形態１における、停止可能なメモリバンクでのページ割り当て処理の動作のフローを示す図
【図１０】本発明の実施の形態２における、情報処理装置の動作のフローを示す図
【図１１】本発明の実施の形態３における、情報処理装置の構成を示すブロック図
【図１２】本発明の実施の形態３における、使用ページ情報管理部が管理するテーブルの一例を示す図
【図１３】本発明の実施の形態３における、情報処理装置の動作のフローを示す図
【図１４】本発明の実施の形態３における、ページ移動処理の動作のフローを示す図
【図１５】本発明の実施の形態４における、情報処理装置の動作のフローを示す図
【符号の説明】
【００６２】
１０１    メモリ
１０１Ａ    第１のメモリバンク
１０１Ｂ    第２のメモリバンク
１０２    ページ割当判定部
１０３    ページ割当部
１０４    空きページ管理部
１０５    移動コスト処理部
１０６    移動コスト判定部
１０７    使用ページ情報管理部
１０８    移動ページ判定部
１０９    ページ移動部
Ａ２０１    第１のメモリバンクのページ
Ｂ２０１    第２のメモリバンクのページ
１５１    ページ割当判定部
１５２    ページ割当部
１５３    移動コスト処理部
１５４    使用ページ情報管理部
１５５    移動コスト判定部
１５６    移動ページ判定部
【図１】
2007128126.tif 000003
【図２】
2007128126.tif 000004
【図３】
2007128126.tif 000005
【図４】
2007128126.tif 000006
【図５】
2007128126.tif 000007
【図６】
2007128126.tif 000008
【図７】
2007128126.tif 000009
【図８】
2007128126.tif 000010
【図９】
2007128126.tif 000011
【図１０】
2007128126.tif 000012
【図１１】
2007128126.tif 000013
【図１２】
2007128126.tif 000014
【図１３】
2007128126.tif 000015
【図１４】
2007128126.tif 000016
【図１５】
2007128126.tif 000017