(57)【要約】【課題】ＤＲＡＭのセルフリフレッシュにおける電力消費を低減した端末装置を提供する。【解決手段】ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するメモリ管理ユニットを含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て管理手段と、前記プログラムの実行を管理するプログラム実行管理手段と、前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域に含まれる物理ページの決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、を備える。【選択図】図１
2007317176.tif 000002
【特許請求の範囲】
【請求項１】
セルフリフレッシュを行なうかどうかを個別に指定できる複数のリフレッシュ領域に区分されたメモリを含む記憶手段を備えた端末装置であって、
ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するＭＭＵ（メモリ管理ユニット）を含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て管理手段と、
前記プログラムの実行を管理するプログラム実行管理手段と、
前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域の決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、
端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、
を備え、
前記メモリ割り当て管理手段は、前記プログラムに割り当てるメモリ領域に含まれる物理ページを前記割り当て優先度にもとづいて決定することを特徴とする端末装置。
【請求項２】
前記メモリ割り当て管理手段は、使用中の論理ページに対応づけられている物理ページの内容を複写する物理ページを決定し、前記物理ページの内容の複写を行い、前期論理ページ対応づけられる物理ページを前記複写先の物理ページに変更するページの移動処理を行なうことで、省電力モードにおいてリフレッシュを行なうリフレッシュ領域全体の大きさを小さくすることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記メモリ割り当て管理手段は、省電力モードに移行後の電力消費を低減するように前記物理ページの決定を行なう請求項１または請求項２に記載の端末装置。
【請求項４】
前記割り当て優先度管理手段は、プログラムのメモリ割り当て要求に対する属性情報に基づいて該プログラムの割り当て優先度を決定することを特徴とする請求項１ないし請求項３のいずれか１項に記載の端末装置。
【請求項５】
前記割り当て優先度管理手段は、メモリ割り当てを必要とするプログラムと同時に実行可能なプログラムの組み合わせに基づいて該メモリ割り当てを必要とするプログラムの割り当て優先度を決定することを特徴とする請求項１ないし請求項４のいずれか１項に記載の端末装置。
【請求項６】
前記割り当て優先度管理手段は、前記プログラム実行管理手段からプログラムの状態情報を取得し、該状態情報に基づいて該プログラムの前記割り当て優先度を決定することを特徴とする請求項１ないし請求項５のいずれか１項に記載の端末装置。
【請求項７】
前記プログラム実行管理手段がプログラムの実行履歴を管理する実行履歴管理手段をさらに備え、
前記割り当て優先度管理手段は、前記実行履歴管理手段が管理するプログラムの実行履歴に基づいて該プログラムの割り当て優先度を決定することを特徴とする請求項１ないし請求項６のいずれか１項に記載の端末装置。
【請求項８】
セルフリフレッシュを行なうかどうかを個別に指定できる複数のリフレッシュ領域に区分されたメモリを含む記憶手段を備えた端末装置において動作するメモリ管理プログラムであって、
ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するＭＭＵ（メモリ管理ユニット）を含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て工程と、
前記プログラムの実行を管理するプログラム実行管理工程と、
前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域の決定に用いる割り当て優先度を管理する割り当て優先度管理工程と、
端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御工程と、
を前記端末装置に実行させ、
前記メモリ割り当て管理工程は、前記プログラムに割り当てるメモリ領域に含まれる物理ページを前記割り当て優先度にもとづいて決定することを特徴とするメモリ管理プログラム。
【請求項９】
前記メモリ割り当て管理工程は、使用中の論理ページに対応づけられている物理ページの内容を複写する物理ページを決定し、前記物理ページの内容の複写を行い、前期論理ページ対応づけられる物理ページを前記複写先の物理ページに変更するページの移動処理を行なうことで、省電力モードにおいてリフレッシュを行なうリフレッシュ領域全体の大きさを小さくすることを特徴とする請求項８に記載のメモリ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＲＡＭ（ダイナミックＲＡＭ）を用いる端末装置に関し、特に、ＤＲＡＭのリフレッシュにおける消費電力の低減を図る端末装置に関する。
【背景技術】
【０００２】
ＤＲＡＭの省電力を図る技術として、ＰＡＳＲ（Ｐａｒｔｉａｌ  Ａｒｒａｙ  Ｓｅｌｆ  Ｒｅｆｒｅｓｈ）が使用されている。この技術は、メモリ領域全体を複数の領域に分割し、これらの領域の全部もしくは一部のみについて、セルフリフレッシュ動作を行うことを可能にする。
【０００３】
このようなＤＲＡＭを搭載する端末装置（例えば携帯電話やＰＤＡ）が省電力モードに移行する際は、ＤＲＡＭをセルフリフレッシュ状態にし、メインＣＰＵ等の端末装置上の他の部品への電力供給を停止することで、端末全体における電力消費を低減できる。また、ＤＲＡＭの容量は、近年ますます増大しているため、保持したい内容が含まれない領域のリフレッシュ動作を停止することによっても、電力消費が低減される。
【０００４】
図３は６４ＭＢｙｔｅのＤＲＡＭにおけるＰＡＳＲの実行の一形態を示したもので、１／ｎアレイセルフリフレッシュ状態（ｎ＝１、２、４、８）では、アドレス空間の最初の１／ｎの領域だけがセルフリフレッシュの対象となる。
【０００５】
ＰＡＳＲ技術を利用して、端末装置の省電力モードにおける電力消費量をできるだけ抑えるために、セルフリフレッシュ対象領域を小さくすることが好ましい。言い換えると、保持すべき内容を持つメモリ領域が、できるだけ小さな対象領域に集中していることが好ましい。特許文献１および特許文献２は、非対象領域にあるメモリの内容を対象領域に移動する方法を開示しており、上記の状態を実現する目的に使用できる。
【０００６】
【特許文献１】特開２００５−１１４３４
【特許文献２】特開２００４−４７０５１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
携帯電話のようなバッテリ駆動の無線通信端末装置では、消費電力を少しでも低減するために、省電力モードにおいては、ＤＲＡＭのセルフリフレッシュ機能を用いることが一般的になっている。
【０００８】
ここで、ＰＡＳＲによるセルフリフレッシュ機能を用いる場合、リフレッシュを停止できる領域のアドレス範囲を自由に選べないことが多い。ＤＲＡＭが大容量化しているため、停止できる単位領域は大きなものとなり、回路を単純化するため、領域の選択機構は数種類から選ぶような簡単なものになる傾向がある。図３の形態はこの例を表しており、リフレッシュを停止できる領域の大きさは、３２ＭＢｙｔｅ、４８ＭＢｙｔｅ、５６ＭＢｙｔｅの３種類（０ＭＢｙｔｅの場合を入れると４種類）であり、全アドレス空間６４ＭＢを二分して、低位側をリフレッシュ対象区間に、高位側をリフレッシュ非対象空間に設定できるのに過ぎない。
【０００９】
一方、特許文献１および特許文献２が開示する発明は、リフレッシュ対象領域にデータを移動することで、対象領域を小さくすることができるが、とりたてて省電力モードにおけるリフレッシュに要する消費電力の低減を行おうとしているのではなく、所定のメモリ領域（メモリバンク）のリフレッシュを行うか行わないかは設定可能であるものとしている。
【００１０】
また、携帯電話のような端末装置では、通常モードと省電力モードとの間の移行が頻繁に発生することや、近年搭載するＤＲＡＭの容量が増大していることなどから、単純にデータを移動（コピー）してリフレッシュ対象領域を小さくする方法では、コピー操作そのものに要する電力消費を無視しがたくなる。
【００１１】
したがって、端末装置における消費電力をできるだけ低減するためには、省電力モードにおける既定のセルフリフレッシュ状態の選択と、データの移動によりセルフリフレッシュ領域を小さくすることの双方を、適切に実施することが課題となる。
【００１２】
本発明は、上記の課題を解消するためになされたものであり、電力消費を低減した端末装置を提供することを目的としている。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明の端末装置は、セルフリフレッシュを行なうかどうかを個別に指定できる複数のリフレッシュ領域に区分されたメモリを含む記憶手段を備えた端末装置であって、ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するＭＭＵ（メモリ管理ユニット）を含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て管理手段と、前記プログラムの実行を管理するプログラム実行管理手段と、前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域の決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、を備え、前記メモリ割り当て管理手段は、前記プログラムに割り当てるメモリ領域に含まれる物理ページを前記割り当て優先度にもとづいて決定することを特徴とする。
【００１４】
前記メモリ割り当て管理手段は、使用中の論理ページに対応づけられている物理ページの内容を複写する物理ページを決定し、前記物理ページの内容の複写を行い、前期論理ページ対応づけられる物理ページを前記複写先の物理ページに変更するページの移動処理を行なうことで、省電力モードにおいてリフレッシュを行なうリフレッシュ領域全体の大きさを小さくしてもよい。
【００１５】
前記メモリ割り当て管理手段は、省電力モードに移行後の電力消費を低減するように前記物理ページの決定を行なってもよい。
【００１６】
前記割り当て優先度管理手段は、プログラムのメモリ割り当て要求に対する属性情報に基づいて該プログラムの割り当て優先度を決定してもよい。
【００１７】
前記割り当て優先度管理手段は、メモリ割り当てを必要とするプログラムと同時に実行可能なプログラムの組み合わせに基づいて該メモリ割り当てを必要とするプログラムの割り当て優先度を決定してもよい。
【００１８】
前記割り当て優先度管理手段は、前記プログラム実行管理手段からプログラムの状態情報を取得し、該状態情報に基づいて該プログラムの前記割り当て優先度を決定してもよい。
【００１９】
前記プログラム実行管理手段がプログラムの実行履歴を管理する実行履歴管理手段をさらに備え、前記割り当て優先度管理手段は、前記実行履歴管理手段が管理するプログラムの実行履歴に基づいて該プログラムの割り当て優先度を決定してもよい。
【発明の効果】
【００２０】
本発明によれば、メモリのリフレッシュに要する消費電力を低減した端末装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００２１】
本発明による端末装置の実施形態の一例を図１乃至図４にもとづいて、以下に説明する。
【００２２】
先ず、端末装置のハードウェア構成について説明する。図２は、本実施形態に係る端末装置のハードウェア構成のブロック図である。図２に示す端末装置２は、プログラム実行処理部２１と、記憶部２２と、無線通信部２３と、アンテナ２４とを備える。記憶部２２は、ＰＡＳＲ技術のように、区分されたメモリ領域の個々に対してセルフリフレッシュを行なうかどうかを指定できるＤＲＡＭ２２１と、プログラムを格納するフラッシュＲＯＭ２２２を含む。また、プログラム実行処理部２１は、フラッシュＲＯＭ２２２に格納されたプログラムを実行するＣＰＵコア２１１と、実行されるプログラムに含まれる論理アドレスをＤＲＡＭ２２１の物理アドレスに変換する処理を行うＭＭＵ（Memory Management Unit：メモリ管理ユニット）２１２を含む。
【００２３】
上記の端末装置は、記憶部にハードディスクのような比較的電力消費の大きい大容量の２次記憶装置は搭載しておらず、今日の多くの携帯電話のような携帯型の無線通信端末と同じ構成である。なお、本実施形態では説明を簡単にするため、プログラムを格納するフラッシュＲＯＭ２２２は、アドレスを指定して直接読み出しアクセスすることが可能なＮＯＲ型であり、プログラムはＤＲＡＭ２２１にコピーされることなく、プログラム用フラッシュＲＯＭ２２２から直接読み出されて、ＣＰＵコア２１１により実行されるものとするが、このことは本発明にとっては本質的な条件ではない。
【００２４】
次に、端末装置の機能構成について説明する。図１は、上記端末装置２を処理内容に基づいて表現した機能ブロック図である。図１に示す端末装置１は、記憶手段１１と、プログラム実行手段１４と、メモリ割り当て管理手段１２と、割り当て優先度管理手段１３と、省電力モード制御手段１５と、プログラム実行履歴管理手段１６とを備える。
【００２５】
記憶手段１１は、ＰＡＳＲ技術のように、区分されたメモリ領域の個々に対してセルフリフレッシュを行なうかどうかを指定できるＤＲＡＭ１１１と、フラッシュＲＯＭ１１２を含む。
【００２６】
プログラム実行管理手段１４は、１つ以上のプログラムを端末装置１上で実行する機能を提供する。例えば、端末装置１が携帯電話であるとすると、プログラム実行管理手段１４は、ユーザからの操作や音声通話着信などの外部事象に応じて、１つ以上のアプリケーションプログラムを実行する機能を提供する。プログラム実行管理手段１４がプログラムの実行に際して利用するメモリ領域は、メモリ割り当て管理手段１２を通じて獲得する。
【００２７】
メモリ割り当て管理手段１２は、ＤＲＡＭ１１１上で使用するメモリ領域の割り当てを管理する機能を提供する。ここでメモリ領域とは、「開始アドレス」と「終了アドレス」の組で表現できるメモリ上の範囲を表すが、本実施形態の端末装置はＭＭＵ２１２を備えているので、プログラムの実行に必要なメモリの割り当ては、最終的にはページ単位で行われることになる。そこで、本実施形態では、説明を簡単にするために、メモリの割り当ては大きさ４ＫＢｙｔｅの物理ページを単位として行なわれるものとし、その先頭アドレスは４０９６×ｎＢｙｔｅ（ｎ＝０、１、２、…）であるものとする。ページの大きさを４ＫＢｙｔｅとしたが、これは今日の携帯電話やＰＤＡで使用されている３２ビットマイクロプロセッサにとって標準的な値である。
【００２８】
省電力モード制御手段１５は、端末装置１の状態を監視し、端末装置を通常モードと省電力モードの間で遷移させる機能を提供する。省電力モードにおいては、省電力モード制御手段１５は、ＤＲＡＭ１１１（ＤＲＡＭ２２１と同じ）をセルフリフレッシュ状態にし、ＣＰＵコア２１１等の端末装置１上の他の部品への電力供給を停止することで、端末装置１全体における電力消費を低減する。この際、省電力モード制御手段１５は、メモリ割り当て管理手段１２が管理する現在使用中のメモリ割り当て情報に基づいて、ＤＲＡＭ１１１のセルフリフレッシュ対象であるメモリ領域を必要最小限にすることで、リフレッシュに要する電力消費をできるだけ小さくする。
【００２９】
図３は、６４ＭＢｙｔｅのＤＲＡＭにおけるＰＡＳＲの実行の一形態を示したものだが、本実施形態のＤＲＡＭ１１１も同じ機能を持つものとする。すなわち、省電力モード制御手段１５は、現在使用中のメモリ領域がアドレス空間の最初の１／ｎ（ｎは１、２、４、８のうちのできるだけ大きな値）にあるとき、省電力モードにおいてＤＲＡＭ１１１を１／ｎアレイセルフリフレッシュ状態に移行させる。
【００３０】
本実施形態において、実際に使用可能なｎの値がいくつあるかは本質的ではない。また、本発明の目的は、ＤＲＡＭが提供する既定のセルフリフレッシュ状態における区分されたメモリ領域のうちで、セルフリフレッシュされる領域の大きさの総和を減らすことであって、区分されたメモリ領域のうちのセルフリフレッシュされる領域が低位側のアドレスに集中しているかどうかは必ずしも本質的ではない。
【００３１】
例えば、６４ＭＢｙｔｅの全アドレス空間を、先頭から８ＭＢｙｔｅごとに区切った８つの空間のそれぞれに対して、セルフリフレッシュの実行と停止を独立に設定できるＤＲＡＭもありうる。このとき、リフレッシュを停止できる領域の大きさの総和は、８ＭＢｙｔｅ、１６ＭＢｙｔｅ、２４ＭＢｙｔｅ、３２ＭＢｙｔｅ、４８ＭＢｙｔｅ、５６ＭＢｙｔｅの７種類（０ＭＢｙｔｅも入れれば８種類）となるが、所定の大きさを得るために、どの空間のリフレッシュを実行するかを自由に選択することができる。しかしながら、図３のように、各小空間のリフレッシュの実行と停止を独立に行えず、リフレッシュ対象領域と非対象領域の境界を変更することしかできないＤＲＡＭも存在する。
【００３２】
なお、今日のメモリデバイスの状況においては、セルフリフレッシュ状態においてリフレッシュを実行あるいは停止できる単位領域の大きさは数ＭＢｙｔｅ以上であって、前述したＭＭＵの標準的ページサイズの４ＫＢｙｔｅに比べて、大きいことが普通である。また、１つのページの内部には、リフレッシュ対象領域と非対象領域が混在しないことが自然であり、本実施例でもそのように仮定する。
【００３３】
割り当て優先度管理手段１３は、メモリ割り当て管理手段１２が割り当てるメモリ領域の決定に用いることができる割り当て優先度の管理を行なう。
【００３４】
プログラム実行履歴管理手段１６は、メモリ割り当て管理手段１２が割り当てるメモリ領域の決定に用いることができるプログラムの実行履歴の管理を行なう。この履歴情報は、プログラム実行管理手段１４によるプログラムの実行に応じて蓄積される。
【００３５】
以上、説明した機能ブロックのうち、記憶手段１１は記憶部２２に、ＤＲＡＭ１１１はＤＲＡＭ２２１に、フラッシュＲＯＭ１１２はフラッシュＲＯＭ２２２に、それぞれ対応づけられる。また、プログラム実行手段１４と、メモリ割り当て管理手段１２と、割り当て優先度管理手段１３と、省電力モード制御手段１５と、プログラム実行履歴管理手段１６は、プログラム用フラッシュＲＯＭ２２２に内蔵され、ＣＰＵコア２１１によって実行されるソフトウェアとして構成することが可能である。この場合、省電力モード制御手段１５は、端末装置を省電力モードや通常モードに遷移させるために、記憶手段２２やＣＰＵコア２１１を含むハードウェアに作用するので、ＯＳ（オペレーティングシステム）やデバイスドライバを含んで構成されることがある。同様に、プログラム実行手段１４と、メモリ割り当て管理手段１２も、ＯＳを含んで構成されることがある。
【００３６】
次に、図４を参照して、図１に示す端末装置１の動作について説明する。図４のフローチャートは、プログラム実行管理手段１４からの要求にもとづき、メモリ割り当て管理手段１２がメモリ割り当てを行う処理をあらわしている。最初にプログラム実行管理手段１４が、メモリ割り当て管理手段１２に対して、プログラムへのメモリ割り当て（物理ページの割り当て）を要求するステップを実行する（Ｓ４１）。要求を受けたメモリ割り当て管理手段１２は、割り当て優先度管理手段１３に対して、要求を行なったプログラムに対する割り当ての優先度を問い合わせるステップを実行する（Ｓ４２）。問い合わせを受けた割り当て優先度管理手段１３は、所定の処理によって算定できる優先度をメモリ割り当て管理手段１２に返すステップを実行する（Ｓ４３）。メモリ割り当て管理手段１２は、問い合わせの結果得られた優先度にもとづいて、論理アドレス空間から領域の割り当てを行う。新たな割り当てを行う領域に対して、物理ページがまだ割り当てられていなければ、割り当てを行う物理ページを決定して、割り当てを行う論理ページに対応づけを行う。
【００３７】
本実施形態では、割り当て優先度管理手段１３が返す割り当ての優先度ｐを０から３の整数とし、それぞれの値に応じて割り当てる物理ページの先頭アドレスＡの範囲を以下のように規定する。
ｐ＝３のとき  ０            ≦Ａ＜  ８ＭＢｙｔｅ
ｐ＝２のとき  ８ＭＢｙｔｅ  ≦Ａ＜１６ＭＢｙｔｅ
ｐ＝１のとき  １６ＭＢｙｔｅ≦Ａ＜３２ＭＢｙｔｅ
ｐ＝０のとき  ３２ＭＢｙｔｅ≦Ａ＜６４ＭＢｙｔｅ
【００３８】
すなわち、ｐ（優先度）が大きいほど低位アドレス側から物理ページを割り付ける。このような割り付けは、未使用の物理ページを、ｐの４つの値に対応する個別のフリーリストで管理すれば実現できる（図５）。図５では、個々のｐに対するリストに未使用の物理ページが連接されている様子を表しており、未使用ページの先頭ワードには、次の未使用ページを指すポインタが格納されている。ＭＭＵを用いるＯＳは、通常、未使用の物理ページを再割り付けできるようにフリーリストなどで管理しているが、図５のようにＤＲＡＭが提供する既定のセルフリフレッシュ状態で区分されたメモリ領域ごとにフリーリストを持つことで、所望の領域ｐの割り当てを迅速に行うことができる。
【００３９】
この管理方法のもとでは、２つの異なる優先度に対してメモリ領域の割り付け要求を行った場合、それぞれに対して割り付けられる領域が同じページに混在しない。このことによって、後述する物理ページの移動により、リフレッシュ領域を個別に小さくすることが行ない易くなる。
【００４０】
また、未使用の物理ページを、アドレス空間上の各物理ページが使用されているかどうかを１ビットで表すビットベクタを維持することで管理してもよい（このような手法やその特徴は、例えばＧａｒｂａｇｅＣｏｌｌｅｃｔｉｏｎ（ＩＳＢＮ０−４７１−９４１４８−４）のｐｐ．８７−８８に記載されている）。具体的には、１ページが４ＫＢｙｔｅのとき、６４ＭＢｙｔｅの物理アドレス空間上の１６×１０２４ヶの物理ページのそれぞれが使用されているかどうかは、２ＫＢｙｔｅ（３２ビットのマイクロプロセッサでは５１２ワード）のビットベクタを用いて表現可能となる。
【００４１】
メモリ割り当て管理手段１２は、返された優先度ｐに対応する未使用物理ページがあるかどうかを判定し（Ｓ４４）、もしあればその未使用物理ページを割り当て（Ｓ４５）、どの優先度に対しても未使用メモリがなければ（Ｓ４６）、割り当ては不可能であり失敗として終了する。そうでなければ、割り当て優先度管理手段１３が、所定の判断または処理に基づいて別の優先度の算定を行い（Ｓ４７）、再度未使用物理ページの割り付けを試みる。
【００４２】
割り当て優先度管理手段１３は、上記Ｓ４３のステップにおいて、省電力モードの際に保持すべきメモリの割り当て要求については大きなｐを、省電力モードの際に保持する必要のないメモリの割り当て要求については小さなｐを返すことにより、保持すべき内容を持つ物理ページを低位アドレス側に集めることができ、セルフリフレッシュ対象領域を小さくすることが可能になる。
【００４３】
以上のＳ４１〜Ｓ４７の動作が、プログラム実行管理手段１４からの要求に基づいて、メモリ割り当て管理手段１２がメモリ割り当てを行う基本的な手順になる。
【００４４】
次に、上記のＳ４３およびＳ４７において割り当て優先度管理手段１３が行なう優先度ｐの算定処理について説明する。
【００４５】
本実施形態の割り当て優先度管理手段１３は、メモリ割り当て要求に付与される属性にもとづいて優先度を決定することができる。
【００４６】
ここで用いる基本的な属性は、割り当て要求されるメモリ領域の内容を省電力モードにおいて保持すべきかどうかである。アプリケーションの特性によっては、メモリ領域の内容を保持する必要のないことがわかるので、本実施形態において、アプリケーションプログラムが行なうメモリ領域の割り当て要求に、割り当てられるメモリ領域の内容を省電力モードにおいて保持する必要があるかどうかの属性情報を付与するものとする。省電力モードで内容を保持しないことを指定すると、割り当て優先度管理手段１３は最小の優先度（ｐ＝０）を与えることで、このような内容を保持しない領域が、低位アドレス側の物理ページを使用しないようにできる。返された最小の優先度（ｐ＝０）に対する未使用物理ページがない場合は（Ｓ４６）、Ｓ４７において、ｐ＝０以外でできるだけ小さなｐを返すようにすることで、同様に低位アドレス側の物理ページを使用しないようにできる。
【００４７】
例えば、動画再生アプリケーションは省電力モードでは必ず再生処理を停止しており、省電力モードの間に再生処理作業用メモリの内容を保持する必要がないとする。このとき、アプリケーションは当該作業用メモリの割り当て要求において、この領域が省電力モードにおいて保持する必要がないという属性情報を付与するのである。また、ＴＶ電話のように、動作している間は省電力モードに移行しないプログラムや、省電力モードに移行するときは動作を終了することがわかっているプログラムについては、使用するメモリ領域は省電力モードにおいて全て解放されるので、全てのメモリ割り当て要求に対して省電力モードにおいて保持する必要がないという属性を付与することで、低位アドレス側の物理ページを使用しないようにすることができる。
【００４８】
割り当て要求されるメモリ領域の内容を省電力モードで保持する必要があるとき（あるいは保持する必要がないといえないとき）に、要求されるメモリ領域に対する優先度ｐを１〜３のいずれにするかは、メモリ割り当て要求を行なうプログラムが動作中に省電力モードに移行する確率を属性とし、この属性に基づいて決定することができる。すなわち、省電力モードへの移行時に必ず動作していて内容を保持する必要のあるプログラムからのメモリ割り当て要求に対しては、最大優先度（ｐ＝３）を返し、省電力モードの移行時には動作していないこともあるが、動作しているときは内容を保持する必要のあるプログラムからのメモリ割り当て要求については、省電力モード移行時に動作している確率の大きさに応じて、ｐ＝３、ｐ＝２、またはｐ＝１を返す。返されたｐ＝３に対して未使用物理ページがない場合、Ｓ４７における再度の算定処理では、それ以前のｐ（ここでは３）に次いでできるだけ大きなｐを返すように制御することで、省電力モードで必ず保持するメモリ領域の割り当てを低位側のアドレスに集中させることができる。また、ｐ＝２またはｐ＝１が返されたときに未使用物理ページがない場合は、隣接のｐ＝３またはｐ＝１を返すように制御することで、同様のメモリ割り当て要求に対するメモリ領域の割り当て先が散らばらないようにすることができる。
【００４９】
アプリケーションプログラムにおけるメモリ割り当て要求は、メモリ割り当て管理手段の機能を実行するＡＰＩの呼び出しとして表現される。このようなＡＰＩは、Ｃ言語の場合は関数ｍａｌｌｏｃ、Ｃ＋＋言語の場合はオペレータｎｅｗとして提供されることが多い。これらのＡＰＩに上記の優先度を引数として追加することで、個々のメモリ割り当て要求ごとに、アプリケーションが直接優先度を指定できるようにしてもよい。また、アプリケーションが個々のメモリ割り当て要求ごとに優先度を指定しなくとも、個々のアプリケーションごとに優先度が定められるような実現にしてもよい。
【００５０】
また、本実施形態の割り当て優先度管理手段１３は、Ｓ４３において、メモリ割り当てを必要とするプログラムと同時に実行可能なプログラムの組み合わせによって優先度を決定してもよい。
【００５１】
今日の多くの携帯電話では、ハードディスクのような比較的電力消費の大きい２次記憶装置は、本実施形態と同様に搭載していない。このため、メモリの容量には上限があって、同時に実行可能なプログラムの組み合わせは限定される。そこで、実際にどのような組み合わせで実行されるのか、またその際のメモリ使用量（省電力モード時に保持すべきもの、および解放できるものそれぞれに対して）などの属性情報をあらかじめ調べられる。特に端末装置に事前に搭載されるプログラムが定まっている場合には、この方法の実行は容易になる。
【００５２】
プログラムとして、Ａ、Ｂ、Ｃの３種類があり、同時に実行される可能性がある組み合わせが、｛Ａ｝、｛Ｂ｝、｛Ｃ｝、｛Ａ，Ｂ｝、｛Ａ，Ｃ｝、｛Ａ，Ｂ，Ｃ｝、の６種類であるとする。これらのそれぞれの組み合わせに対して、省電力モード時に保持すべきメモリ量や省電力モード時に解放できるメモリ量（典型的にはそれぞれの最大の見積り値）をあらかじめ調べておくことができる。仮に、省電力モード時にメモリ内容を保持するために必要なセルフリフレッシュ領域が、組み合わせ｛Ａ｝に対しては１／４、省電力｛Ｂ｝は１／８、｛Ｃ｝は１／８、｛Ａ、Ｂ｝は１／４、｛Ａ，Ｃ｝は１／４、｛Ａ、Ｂ，Ｃ｝は１／２であるとする。この場合、Ａからの省電力モード時に保持する必要のあるメモリの割り当て要求については、１／４の領域に配置されるためにｐ≧２であることが必要である。しかしながら、ありうる組み合わせの中から｛Ａ｝を除外した差集合で、保持すべきメモリが１／４より小さな組み合わせ｛Ｂ｝と組み合わせ｛Ｃ｝について、保持すべきメモリが１／８に収まることを阻害しないために、ｐ≧２の条件で、より小さなｐ＝２が好ましい。そこで、上記のＡのメモリ割り当て要求に対して、割り当て優先度管理手段１３は、Ｓ４３においてｐ＝２を返す。ｐ＝２に対応する未使用のメモリ領域が不足している場合は、Ｓ４７において、Ａが動作している５つの組み合わせの中で最も保持すべきメモリ量が多い場合（｛Ａ，Ｂ，Ｃ｝）に対する優先度（ｐ≧１）で最小のもの（この場合は１）を返すことができる。このように制御することで、Ａが省電力モードで保持すべきメモリがｐ＝０に対応するメモリ領域に割り当てられることを抑止する。Ｓ４３とＳ４７において用いられる個々の組み合わせに対する優先度はあらかじめ表にしておくことも可能である。
【００５３】
また、本実施形態の割り当て優先度管理手段１３は、Ｓ４３において、プログラムの状態情報をプログラム実行管理手段１４から取得し、この情報を用いて優先度を決定してもよい。
【００５４】
すなわち、上述のＡからの省電力モード時に保持する必要のあるメモリの割り当て要求において、割り当て優先度管理手段１３は、ｐ＝２に対応する未使用のメモリ領域が不足している場合は、Ｓ４７において、Ａが動作している５つの組み合わせの中で最もメモリを消費する場合で最小の優先度ｐ＝１を返している。しかし、割り当て優先度管理手段１３は、プログラム実行管理手段１４に照会して、現在実行中のプログラムを確認することで、より大きな優先度を返すことも可能である。例えば、現在実行中のプログラムの組み合わせが｛Ａ｝であるとき、Ｓ４７においてｐ＝３を返すことが可能である。省電力モード移行時に実行されているプログラムの組み合わせが｛Ａ｝となる場合の確率が、｛Ａ，Ｂ｝、｛Ａ，Ｃ｝または｛Ａ，Ｂ，Ｃ｝の組み合わせとなる場合の確率と比較して、（省電力モード時の消費電力を低くすると見積もることのできる）ある閾値よりも高ければ、より高い優先度ｐ（この場合は３）を返すことが有効となるのである。
【００５５】
また、本実施形態の割り当て優先度管理手段１３は、Ｓ４３において、プログラム実行管理手段１４が実行したプログラムの履歴を管理する実行履歴管理手段１６に対して実行履歴情報を問い合わせ、この情報を用いて優先度を決定してもよい。
【００５６】
すなわち、メモリ割り当て要求を行なうプログラムが動作中に省電力モードに移行する確率や、特定のプログラムの組み合わせが同時に実行される確率にもとづく各使用メモリ量の期待値は、プログラムの特性に依存する場合がある。また、これらの確率は端末装置１の利用者に依存する場合もある。そこで、実行履歴管理手段１６において履歴情報を取得し、上記のような確率や、実際の使用メモリ量の見積りの代わりに、前記履歴情報から得られる期待値を用いて上述の割り当てを行なうことで、より実際の使用状況に即したメモリ割り当てを行なうことが可能になる。
【００５７】
例えば、領域の割り付け処理において、このような履歴情報として、特定の利用者の利用形態において同時に割り付けられる物理ページ総数の最大値を用いることができる（図６のフローチャート）。まず、有効なページの総数を確認する（Ｓ６１）。次に、割り付けの目標とするリフレッシュ領域を定める（Ｓ６２）。所定の期間有効ページ総数が目標とする領域に収まっている場合（Ｓ６３）、割り当て要求の優先度に係わらず、目標とする領域から割り付けを行う（Ｓ６４）。所定の期間有効ページ総数が目標とする領域に収まっていない場合、他の大きさのリフレッシュ領域を目標にできる場合（Ｓ６５）は、再び割り付けの目標とするリフレッシュ領域を定める（Ｓ６２）。他の大きさのリフレッシュ領域を目標にできない場合、割り当て要求の優先度に基づいた割り付け処理を行う（Ｓ６６）。この手順においては、複数のアプリケーションを同時に利用することが非常に少ないなどの理由により、例えば、この最大値が１／８アレイセルフリフレッシュ領域に含まれる物理ページの総数よりも少ない状況が続くときは（Ｓ６３）、前述したようにメモリ割り付け要求において優先度を要求されたとしても、無条件で１／８アレイセルフリフレッシュ領域以外の物理ページを割り付けないようにしてもよい（Ｓ６４）。同様に、使用されるページの総数が１／４アレイセルフリフレッシュ領域に含まれる物理ページの総数よりも少ない状況が続くときは、優先度ｐ＝１の指定をｐ＝２（ｐ＝２に空きがない場合はｐ＝３）とみなすことにより、無条件で１／４アレイセルフリフレッシュ領域以外の物理ページを割り付けないようにしてもよい。
【００５８】
また、本実施形態の割り当て優先度管理手段１３が、これまでに述べたように優先度を算定し、算定された優先度ｐに基づいたメモリ割り当てをメモリ割り当て管理手段１２が行なっても、使用していたメモリの解放が行なわれることによって、低位アドレス側にある優先度の高い物理ページに未使用のものが生じていることがある。前述の物理ページの管理方法において、このような未使用物理ページを迅速に検知することは容易である。リフレッシュ領域ごとのフリーリストは、まさにそのためのデータ構造であるし、ビットベクタの場合は、優先度ｐ＝３、２、１に対応する領域についても、高々それぞれ６４ワード、６４ワード、１２８ワード分について空きがあることを示す値であるかどうかの検査を行えばよい。
【００５９】
上記の解放の後に省電力モード制御手段１５が省電力モードへの移行を行なうときは、メモリ割り当て管理手段１２に要求を出して、使用中の物理ページの内容を未使用の物理ページに移動することで、省電力モードにおけるセルフリフレッシュ領域を減らすこと（使用する物理ページの内容を保持するのに必要な１／ｎアレイセルフリフレッシュ状態のｎの値を大きくすること）が可能かどうかを調べることができる。もし、可能であると判定される場合、メモリ割り当て管理手段１２は、使用中の物理ページの内容を未使用物理ページに複写する。次いで、メモリ割当て管理手段１２は、ＭＭＵ２１２の設定を変更することで、複写元の物理ページに対応づけられていた論理アドレス領域の対応先を複写先の物理ページに変更する。また、メモリ割り当て管理手段は、複写元の物理ページの状態を未使用とし、複写先の物理ページの状態を使用中にする。このような変更により、アプリケーションから見た割り付け領域の論理アドレスは変更されないという意味で、プログラムの挙動に対する影響はない。また、前述したように、異なる優先度に対して割り付けられる領域は同じ物理ページ上に混在しないので、使用する物理ページを移動することで、必要なセルフリフレッシュ領域を減らすことができる。その後、省電力モード制御手段１５は、ＤＲＡＭ１１１，２２１を必要な大きさのｎで１／ｎアレイセルフリフレッシュ状態にして、省電力モードに移行することができる。
【００６０】
なお、本発明の実施形態においては、省電力モードに移行する際に、内容を保持しなければならない物理ページが低位側のアドレスに集中するように割り付け処理を制御しているため、このような物理ページの移動の必要性が低減されている。
【００６１】
ただし、リフレッシュ対象領域を小さくするためのデータの移動（コピー）を随時行うことにすると、端末装置において通常モードと省電力モードとの間の移行が頻繁に発生するときには、コピー操作そのものに要する電力消費を無視できない可能性が生ずる。すなわち、図７は１／ｎアレイセルフリフレッシュ状態における１日あたりのＤＲＡＭの消費電流量の概略値を示したものだが、データのコピー１０００回あたりに要する消費電流量を０．０１ｍＡｈ（この値はＣＰＵの動作周波数等にも依存して変動することがある）とすると、約４８００回のコピーを行うことによって１／２アレイセルフリフレッシュ状態の場合との、約７２００回のコピーを行うことによって１／４アレイセルフリフレッシュ状態の場合との省電力の効果が相殺されてしまうことがわかる。
【００６２】
仮に、ｐ＝１の指定領域全てをｐ＝２またはｐ＝３の指定領域にコピーする場合（つまり、省電力モードにおいて１／４アレイセルフリフレッシュ状態に移行するために、ｐ＝１の領域に割り付けたデータをコピーする場合に相当する）、最大で２０４８ページ（１６ＭＢｙｔｅ）近いコピーが生ずるので、１日あたり数千回のコピーも起こりうると考えられる。
【００６３】
そこで、端末装置における消費電力をできるだけ低減するためには、省電力モードにおける既定のセルフリフレッシュ状態の選択と、リフレッシュ対象領域を小さくするためのデータの移動の双方を、適切に実施する必要がある。これらを実現する手順の一例を図８のフローチャートを用いて説明する。
【００６４】
省電力モードに移行する条件が整うと、アドレス空間内で有効な、すなわち実際に割り付けられているページの総数を確認する（Ｓ８１）。この数としては、全体の総数の他に、優先度の異なる領域ごとに確認できるように管理しておく。優先度の異なる領域のページ総数を知ることで、何ページ分データを移動すれば、リフレッシュ対象領域を一段階小さくすることができるかを算定できる。次に、アドレス空間全体において有効なページ総数を収容可能で、もっとも小さなリフレッシュ対象領域を持つ状態に移行するのにデータ移動が必要かどうかを判断する（Ｓ８２）。もし、データ移動が必要なければ、そのままセルフリフレッシュ状態に移行することができる（Ｓ８３）。もし、データ移動が必要な場合は、適当な状態を目標に定めてデータ移動のコストを評価する。ここでは、有効なページ総数を収容可能な状態の全てに対して、異なる状態に移るのに必要なデータ移動量（ページ数）を求め、それにもとづくコストを算定する（Ｓ８４、Ｓ８５）。最後に、算定した中から、もっとも適切な目標状態とデータ移動量を確定し（Ｓ８６）、確定した結果にもとづき、移動を行う場合は行って、セルフリフレッシュ状態に移行する（Ｓ８７）。
【００６５】
ここで算定するコストの内容とその評価基準は、所定の時間経過後の消費電流量の総和を最小化することであり、この和には目標とするセルフリフレッシュ状態に移るためのデータ移動に必要な消費電流量と、省電力モードに移行後のセルフリフレッシュに必要な消費電流量が含まれる。所定の時間の一例としては、省電力モード移行直前の時刻を起点として、省電力モードを終了して通常モードに移行する時刻を終点とすることを挙げられる。この区間の前後において、物理ページのデータを移動することで、しない場合に比べて、結果の消費電流が大きくなるのであれば、移動をしないことで電流消費を抑止できる。移動してもリフレッシュ領域を小さくできないのであれば、移動しない方が省電力モード中の消費電流を小さくできるので好ましい。また、通常モードにおいて、リフレッシュにかかる消費電流が、移動処理を含めた他の消費電流に比べて無視できるとき、物理ページの移動を省電力モードに移行直前に一括して行った方が、不要な移動回数を減らすことで、消費電流を小さくできる場合がある。図８の手順は、この基準にもとづいて構成されている。
【００６６】
最小化したい消費電流量は、省電力モードの継続時間に依存するが、この時間を事前に知ることが難しい場合もある。そこで、継続時間を仮定するために見込みの値を用いてもよい。さらにこのような値として統計的に求めた値を用いることができる。例えば、省電力モードに移行する時刻が（１日を２４分割した）何時台であるかを記録しておき、各時間帯の省電力モードの継続時間の平均を、上記のコストの見積もりに用いる継続時間としてもよい。この方法によって、あまり端末を使用しない時間帯（例えば夜間）は長めの時間が、頻繁に端末を使用する時間帯は短めの時間が、見込みの継続時間となる。以下に述べるように、継続時間が短いときには移動処理が消費電流低減に有効でないことを予測できる場合があり、頻繁に使用するときの省電力モードに移行する前の物理ページの移動を抑制することができて、結果として消費電流を抑えることができる。
【００６７】
また、端末を適当な時刻で起床（省電力モードから通常モードに移行）させて、起床時に経過に応じた判断を行って、必要ならば追加の移動を行うことにしてもよい。言い換えると、継続時間がある程度続くようであれば、移動を行うことが有効な場合がある。例えば、１００ページの移動によってリフレッシュ領域が１／２領域リフレッシュから１／８リフレッシュに移行できるとき、図７の例の数値によればｍ分後の消費電流量は、移動しない場合は０．３３ｍ（ｍＡｈ）、移動する場合は０．００１＋０．０８３ｍ（ｍＡｈ）となって、約４分以上省電力モードが継続する場合は移動しない場合は移動する場合よりも消費電流が多くなってしまう。そこで、この場合には高々４分経過する前に起床して移動することが有効となる。
【００６８】
実際のシステムには、他にも電流を消費する要因やオーバヘッドがあるが、事前にこのような要因を測定し、継続時間／データ移動に必要な消費電流量／セルフリフレッシュに必要な消費電流量を含むパラメータから移動処理を行う効果があるかどうかを判定するデシジョンテーブル（近似的なものであってもよい）を作成しておくことができる。また、携帯電話のような端末では、他の必要性（電波状況の監視や、アラーム処理の実施）のために、ＣＰＵを周期的に起床させている場合もある。この場合は、その周期ごとの起床に合わせて、上記の経過に応じた判断を行えば、起床処理に伴う電流消費は元々必要なものとして無視できるので、さらに消費電流を抑えることができる。
【００６９】
なお、本発明の実施形態においては、省電力モードにおけるリフレッシュ対象領域にも順位付けを行なうなどの他の手法により、内容を保持しなければならない物理ページが低位側のアドレスに集中するように割り付け処理を制御しているため、実際にはこのような物理ページの移動の必要性が低減される。
【００７０】
以上述べたように、本発明の端末装置においては、セルフリフレッシュを行なうかどうかを個別に指定できるメモリ領域に区分されたメモリを含む記憶手段と、プログラムへのメモリ領域の割り当てを管理するメモリ割り当て管理手段と、前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域のアドレスの決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、前記メモリ割り当て管理手段がメモリ領域の割り当てを行なうプログラムの実行を管理するプログラム実行管理手段と、端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記メモリ領域の個々に対するセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、を備え、省電力モードに移行する際にリフレッシュを中止する領域にデータが割り付けられないように制御するとともに、省電力モードにおいてデータが存在しないメモリ領域に対するリフレッシュを中止することによって、メモリのリフレッシュに要する消費電力を低減することが可能となる。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態に係る端末装置の機能構成を示すブロック図である。
【図２】本発明の一実施形態に係る端末装置のハードウェア構成を示すブロック図である。
【図３】ＰＡＳＲ（Ｐａｒｔｉａｌ  Ａｒｒａｙ  Ｓｅｌｆ  Ｒｅｆｒｅｓｈ）を示す図である。
【図４】本発明の一実施形態に係るメモリ割り当て処理を表すフローチャートである。
【図５】ｐに対するリストに未使用の物理ページが連接されている様子を表す模式図である。
【図６】履歴情報を用いた割り付け処理を説明するフローチャートである。
【図７】１／ｎアレイセルフリフレッシュ状態における１日あたりのＤＲＡＭの消費電流量の概略値を示す表である。
【図８】省電力モード移行処理を説明するフローチャートである。
【符号の説明】
【００７２】
１、２  端末装置
１１  記憶手段
１２  メモリ割り当て管理手段
１３  割り当て優先度管理手段
１４  プログラム実行管理手段
１５  省電力モード制御手段
２１  プログラム実行処理部
２２  記憶部
２３  無線通信部
２４  アンテナ
１１１、２２１  ＤＲＡＭ
１１２、２２２  フラッシュＲＯＭ
２１１  ＣＰＵコア
２１２  ＭＭＵ
【図１】
2007317176.tif 000003
【図２】
2007317176.tif 000004
【図３】
2007317176.tif 000005
【図４】
2007317176.tif 000006
【図５】
2007317176.tif 000007
【図６】
2007317176.tif 000008
【図７】
2007317176.tif 000009
【図８】
2007317176.tif 000010