JP2007317176A - 端末装置 - Google Patents

端末装置 Download PDF

Info

Publication number
JP2007317176A
JP2007317176A JP2007119835A JP2007119835A JP2007317176A JP 2007317176 A JP2007317176 A JP 2007317176A JP 2007119835 A JP2007119835 A JP 2007119835A JP 2007119835 A JP2007119835 A JP 2007119835A JP 2007317176 A JP2007317176 A JP 2007317176A
Authority
JP
Japan
Prior art keywords
memory
program
allocation
power saving
saving mode
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
JP2007119835A
Other languages
English (en)
Inventor
Nobuhiko Funato
信彦 舟渡
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2007119835A priority Critical patent/JP2007317176A/ja
Publication of JP2007317176A publication Critical patent/JP2007317176A/ja
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

  • Memory System (AREA)

Abstract

【課題】DRAMのセルフリフレッシュにおける電力消費を低減した端末装置を提供する。
【解決手段】ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するメモリ管理ユニットを含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て管理手段と、前記プログラムの実行を管理するプログラム実行管理手段と、前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域に含まれる物理ページの決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、を備える。
【選択図】図1

Description

本発明は、DRAM(ダイナミックRAM)を用いる端末装置に関し、特に、DRAMのリフレッシュにおける消費電力の低減を図る端末装置に関する。
DRAMの省電力を図る技術として、PASR(Partial Array Self Refresh)が使用されている。この技術は、メモリ領域全体を複数の領域に分割し、これらの領域の全部もしくは一部のみについて、セルフリフレッシュ動作を行うことを可能にする。
このようなDRAMを搭載する端末装置(例えば携帯電話やPDA)が省電力モードに移行する際は、DRAMをセルフリフレッシュ状態にし、メインCPU等の端末装置上の他の部品への電力供給を停止することで、端末全体における電力消費を低減できる。また、DRAMの容量は、近年ますます増大しているため、保持したい内容が含まれない領域のリフレッシュ動作を停止することによっても、電力消費が低減される。
図3は64MByteのDRAMにおけるPASRの実行の一形態を示したもので、1/nアレイセルフリフレッシュ状態(n=1、2、4、8)では、アドレス空間の最初の1/nの領域だけがセルフリフレッシュの対象となる。
PASR技術を利用して、端末装置の省電力モードにおける電力消費量をできるだけ抑えるために、セルフリフレッシュ対象領域を小さくすることが好ましい。言い換えると、保持すべき内容を持つメモリ領域が、できるだけ小さな対象領域に集中していることが好ましい。特許文献1および特許文献2は、非対象領域にあるメモリの内容を対象領域に移動する方法を開示しており、上記の状態を実現する目的に使用できる。
特開2005−11434 特開2004−47051
携帯電話のようなバッテリ駆動の無線通信端末装置では、消費電力を少しでも低減するために、省電力モードにおいては、DRAMのセルフリフレッシュ機能を用いることが一般的になっている。
ここで、PASRによるセルフリフレッシュ機能を用いる場合、リフレッシュを停止できる領域のアドレス範囲を自由に選べないことが多い。DRAMが大容量化しているため、停止できる単位領域は大きなものとなり、回路を単純化するため、領域の選択機構は数種類から選ぶような簡単なものになる傾向がある。図3の形態はこの例を表しており、リフレッシュを停止できる領域の大きさは、32MByte、48MByte、56MByteの3種類(0MByteの場合を入れると4種類)であり、全アドレス空間64MBを二分して、低位側をリフレッシュ対象区間に、高位側をリフレッシュ非対象空間に設定できるのに過ぎない。
一方、特許文献1および特許文献2が開示する発明は、リフレッシュ対象領域にデータを移動することで、対象領域を小さくすることができるが、とりたてて省電力モードにおけるリフレッシュに要する消費電力の低減を行おうとしているのではなく、所定のメモリ領域(メモリバンク)のリフレッシュを行うか行わないかは設定可能であるものとしている。
また、携帯電話のような端末装置では、通常モードと省電力モードとの間の移行が頻繁に発生することや、近年搭載するDRAMの容量が増大していることなどから、単純にデータを移動(コピー)してリフレッシュ対象領域を小さくする方法では、コピー操作そのものに要する電力消費を無視しがたくなる。
したがって、端末装置における消費電力をできるだけ低減するためには、省電力モードにおける既定のセルフリフレッシュ状態の選択と、データの移動によりセルフリフレッシュ領域を小さくすることの双方を、適切に実施することが課題となる。
本発明は、上記の課題を解消するためになされたものであり、電力消費を低減した端末装置を提供することを目的としている。
上記課題を解決するために、本発明の端末装置は、セルフリフレッシュを行なうかどうかを個別に指定できる複数のリフレッシュ領域に区分されたメモリを含む記憶手段を備えた端末装置であって、ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するMMU(メモリ管理ユニット)を含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て管理手段と、前記プログラムの実行を管理するプログラム実行管理手段と、前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域の決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、を備え、前記メモリ割り当て管理手段は、前記プログラムに割り当てるメモリ領域に含まれる物理ページを前記割り当て優先度にもとづいて決定することを特徴とする。
前記メモリ割り当て管理手段は、使用中の論理ページに対応づけられている物理ページの内容を複写する物理ページを決定し、前記物理ページの内容の複写を行い、前期論理ページ対応づけられる物理ページを前記複写先の物理ページに変更するページの移動処理を行なうことで、省電力モードにおいてリフレッシュを行なうリフレッシュ領域全体の大きさを小さくしてもよい。
前記メモリ割り当て管理手段は、省電力モードに移行後の電力消費を低減するように前記物理ページの決定を行なってもよい。
前記割り当て優先度管理手段は、プログラムのメモリ割り当て要求に対する属性情報に基づいて該プログラムの割り当て優先度を決定してもよい。
前記割り当て優先度管理手段は、メモリ割り当てを必要とするプログラムと同時に実行可能なプログラムの組み合わせに基づいて該メモリ割り当てを必要とするプログラムの割り当て優先度を決定してもよい。
前記割り当て優先度管理手段は、前記プログラム実行管理手段からプログラムの状態情報を取得し、該状態情報に基づいて該プログラムの前記割り当て優先度を決定してもよい。
前記プログラム実行管理手段がプログラムの実行履歴を管理する実行履歴管理手段をさらに備え、前記割り当て優先度管理手段は、前記実行履歴管理手段が管理するプログラムの実行履歴に基づいて該プログラムの割り当て優先度を決定してもよい。
本発明によれば、メモリのリフレッシュに要する消費電力を低減した端末装置を提供することが可能となる。
本発明による端末装置の実施形態の一例を図1乃至図4にもとづいて、以下に説明する。
先ず、端末装置のハードウェア構成について説明する。図2は、本実施形態に係る端末装置のハードウェア構成のブロック図である。図2に示す端末装置2は、プログラム実行処理部21と、記憶部22と、無線通信部23と、アンテナ24とを備える。記憶部22は、PASR技術のように、区分されたメモリ領域の個々に対してセルフリフレッシュを行なうかどうかを指定できるDRAM221と、プログラムを格納するフラッシュROM222を含む。また、プログラム実行処理部21は、フラッシュROM222に格納されたプログラムを実行するCPUコア211と、実行されるプログラムに含まれる論理アドレスをDRAM221の物理アドレスに変換する処理を行うMMU(Memory Management Unit:メモリ管理ユニット)212を含む。
上記の端末装置は、記憶部にハードディスクのような比較的電力消費の大きい大容量の2次記憶装置は搭載しておらず、今日の多くの携帯電話のような携帯型の無線通信端末と同じ構成である。なお、本実施形態では説明を簡単にするため、プログラムを格納するフラッシュROM222は、アドレスを指定して直接読み出しアクセスすることが可能なNOR型であり、プログラムはDRAM221にコピーされることなく、プログラム用フラッシュROM222から直接読み出されて、CPUコア211により実行されるものとするが、このことは本発明にとっては本質的な条件ではない。
次に、端末装置の機能構成について説明する。図1は、上記端末装置2を処理内容に基づいて表現した機能ブロック図である。図1に示す端末装置1は、記憶手段11と、プログラム実行手段14と、メモリ割り当て管理手段12と、割り当て優先度管理手段13と、省電力モード制御手段15と、プログラム実行履歴管理手段16とを備える。
記憶手段11は、PASR技術のように、区分されたメモリ領域の個々に対してセルフリフレッシュを行なうかどうかを指定できるDRAM111と、フラッシュROM112を含む。
プログラム実行管理手段14は、1つ以上のプログラムを端末装置1上で実行する機能を提供する。例えば、端末装置1が携帯電話であるとすると、プログラム実行管理手段14は、ユーザからの操作や音声通話着信などの外部事象に応じて、1つ以上のアプリケーションプログラムを実行する機能を提供する。プログラム実行管理手段14がプログラムの実行に際して利用するメモリ領域は、メモリ割り当て管理手段12を通じて獲得する。
メモリ割り当て管理手段12は、DRAM111上で使用するメモリ領域の割り当てを管理する機能を提供する。ここでメモリ領域とは、「開始アドレス」と「終了アドレス」の組で表現できるメモリ上の範囲を表すが、本実施形態の端末装置はMMU212を備えているので、プログラムの実行に必要なメモリの割り当ては、最終的にはページ単位で行われることになる。そこで、本実施形態では、説明を簡単にするために、メモリの割り当ては大きさ4KByteの物理ページを単位として行なわれるものとし、その先頭アドレスは4096×nByte(n=0、1、2、…)であるものとする。ページの大きさを4KByteとしたが、これは今日の携帯電話やPDAで使用されている32ビットマイクロプロセッサにとって標準的な値である。
省電力モード制御手段15は、端末装置1の状態を監視し、端末装置を通常モードと省電力モードの間で遷移させる機能を提供する。省電力モードにおいては、省電力モード制御手段15は、DRAM111(DRAM221と同じ)をセルフリフレッシュ状態にし、CPUコア211等の端末装置1上の他の部品への電力供給を停止することで、端末装置1全体における電力消費を低減する。この際、省電力モード制御手段15は、メモリ割り当て管理手段12が管理する現在使用中のメモリ割り当て情報に基づいて、DRAM111のセルフリフレッシュ対象であるメモリ領域を必要最小限にすることで、リフレッシュに要する電力消費をできるだけ小さくする。
図3は、64MByteのDRAMにおけるPASRの実行の一形態を示したものだが、本実施形態のDRAM111も同じ機能を持つものとする。すなわち、省電力モード制御手段15は、現在使用中のメモリ領域がアドレス空間の最初の1/n(nは1、2、4、8のうちのできるだけ大きな値)にあるとき、省電力モードにおいてDRAM111を1/nアレイセルフリフレッシュ状態に移行させる。
本実施形態において、実際に使用可能なnの値がいくつあるかは本質的ではない。また、本発明の目的は、DRAMが提供する既定のセルフリフレッシュ状態における区分されたメモリ領域のうちで、セルフリフレッシュされる領域の大きさの総和を減らすことであって、区分されたメモリ領域のうちのセルフリフレッシュされる領域が低位側のアドレスに集中しているかどうかは必ずしも本質的ではない。
例えば、64MByteの全アドレス空間を、先頭から8MByteごとに区切った8つの空間のそれぞれに対して、セルフリフレッシュの実行と停止を独立に設定できるDRAMもありうる。このとき、リフレッシュを停止できる領域の大きさの総和は、8MByte、16MByte、24MByte、32MByte、48MByte、56MByteの7種類(0MByteも入れれば8種類)となるが、所定の大きさを得るために、どの空間のリフレッシュを実行するかを自由に選択することができる。しかしながら、図3のように、各小空間のリフレッシュの実行と停止を独立に行えず、リフレッシュ対象領域と非対象領域の境界を変更することしかできないDRAMも存在する。
なお、今日のメモリデバイスの状況においては、セルフリフレッシュ状態においてリフレッシュを実行あるいは停止できる単位領域の大きさは数MByte以上であって、前述したMMUの標準的ページサイズの4KByteに比べて、大きいことが普通である。また、1つのページの内部には、リフレッシュ対象領域と非対象領域が混在しないことが自然であり、本実施例でもそのように仮定する。
割り当て優先度管理手段13は、メモリ割り当て管理手段12が割り当てるメモリ領域の決定に用いることができる割り当て優先度の管理を行なう。
プログラム実行履歴管理手段16は、メモリ割り当て管理手段12が割り当てるメモリ領域の決定に用いることができるプログラムの実行履歴の管理を行なう。この履歴情報は、プログラム実行管理手段14によるプログラムの実行に応じて蓄積される。
以上、説明した機能ブロックのうち、記憶手段11は記憶部22に、DRAM111はDRAM221に、フラッシュROM112はフラッシュROM222に、それぞれ対応づけられる。また、プログラム実行手段14と、メモリ割り当て管理手段12と、割り当て優先度管理手段13と、省電力モード制御手段15と、プログラム実行履歴管理手段16は、プログラム用フラッシュROM222に内蔵され、CPUコア211によって実行されるソフトウェアとして構成することが可能である。この場合、省電力モード制御手段15は、端末装置を省電力モードや通常モードに遷移させるために、記憶手段22やCPUコア211を含むハードウェアに作用するので、OS(オペレーティングシステム)やデバイスドライバを含んで構成されることがある。同様に、プログラム実行手段14と、メモリ割り当て管理手段12も、OSを含んで構成されることがある。
次に、図4を参照して、図1に示す端末装置1の動作について説明する。図4のフローチャートは、プログラム実行管理手段14からの要求にもとづき、メモリ割り当て管理手段12がメモリ割り当てを行う処理をあらわしている。最初にプログラム実行管理手段14が、メモリ割り当て管理手段12に対して、プログラムへのメモリ割り当て(物理ページの割り当て)を要求するステップを実行する(S41)。要求を受けたメモリ割り当て管理手段12は、割り当て優先度管理手段13に対して、要求を行なったプログラムに対する割り当ての優先度を問い合わせるステップを実行する(S42)。問い合わせを受けた割り当て優先度管理手段13は、所定の処理によって算定できる優先度をメモリ割り当て管理手段12に返すステップを実行する(S43)。メモリ割り当て管理手段12は、問い合わせの結果得られた優先度にもとづいて、論理アドレス空間から領域の割り当てを行う。新たな割り当てを行う領域に対して、物理ページがまだ割り当てられていなければ、割り当てを行う物理ページを決定して、割り当てを行う論理ページに対応づけを行う。
本実施形態では、割り当て優先度管理手段13が返す割り当ての優先度pを0から3の整数とし、それぞれの値に応じて割り当てる物理ページの先頭アドレスAの範囲を以下のように規定する。
p=3のとき 0 ≦A< 8MByte
p=2のとき 8MByte ≦A<16MByte
p=1のとき 16MByte≦A<32MByte
p=0のとき 32MByte≦A<64MByte
すなわち、p(優先度)が大きいほど低位アドレス側から物理ページを割り付ける。このような割り付けは、未使用の物理ページを、pの4つの値に対応する個別のフリーリストで管理すれば実現できる(図5)。図5では、個々のpに対するリストに未使用の物理ページが連接されている様子を表しており、未使用ページの先頭ワードには、次の未使用ページを指すポインタが格納されている。MMUを用いるOSは、通常、未使用の物理ページを再割り付けできるようにフリーリストなどで管理しているが、図5のようにDRAMが提供する既定のセルフリフレッシュ状態で区分されたメモリ領域ごとにフリーリストを持つことで、所望の領域pの割り当てを迅速に行うことができる。
この管理方法のもとでは、2つの異なる優先度に対してメモリ領域の割り付け要求を行った場合、それぞれに対して割り付けられる領域が同じページに混在しない。このことによって、後述する物理ページの移動により、リフレッシュ領域を個別に小さくすることが行ない易くなる。
また、未使用の物理ページを、アドレス空間上の各物理ページが使用されているかどうかを1ビットで表すビットベクタを維持することで管理してもよい(このような手法やその特徴は、例えばGarbageCollection(ISBN0−471−94148−4)のpp.87−88に記載されている)。具体的には、1ページが4KByteのとき、64MByteの物理アドレス空間上の16×1024ヶの物理ページのそれぞれが使用されているかどうかは、2KByte(32ビットのマイクロプロセッサでは512ワード)のビットベクタを用いて表現可能となる。
メモリ割り当て管理手段12は、返された優先度pに対応する未使用物理ページがあるかどうかを判定し(S44)、もしあればその未使用物理ページを割り当て(S45)、どの優先度に対しても未使用メモリがなければ(S46)、割り当ては不可能であり失敗として終了する。そうでなければ、割り当て優先度管理手段13が、所定の判断または処理に基づいて別の優先度の算定を行い(S47)、再度未使用物理ページの割り付けを試みる。
割り当て優先度管理手段13は、上記S43のステップにおいて、省電力モードの際に保持すべきメモリの割り当て要求については大きなpを、省電力モードの際に保持する必要のないメモリの割り当て要求については小さなpを返すことにより、保持すべき内容を持つ物理ページを低位アドレス側に集めることができ、セルフリフレッシュ対象領域を小さくすることが可能になる。
以上のS41〜S47の動作が、プログラム実行管理手段14からの要求に基づいて、メモリ割り当て管理手段12がメモリ割り当てを行う基本的な手順になる。
次に、上記のS43およびS47において割り当て優先度管理手段13が行なう優先度pの算定処理について説明する。
本実施形態の割り当て優先度管理手段13は、メモリ割り当て要求に付与される属性にもとづいて優先度を決定することができる。
ここで用いる基本的な属性は、割り当て要求されるメモリ領域の内容を省電力モードにおいて保持すべきかどうかである。アプリケーションの特性によっては、メモリ領域の内容を保持する必要のないことがわかるので、本実施形態において、アプリケーションプログラムが行なうメモリ領域の割り当て要求に、割り当てられるメモリ領域の内容を省電力モードにおいて保持する必要があるかどうかの属性情報を付与するものとする。省電力モードで内容を保持しないことを指定すると、割り当て優先度管理手段13は最小の優先度(p=0)を与えることで、このような内容を保持しない領域が、低位アドレス側の物理ページを使用しないようにできる。返された最小の優先度(p=0)に対する未使用物理ページがない場合は(S46)、S47において、p=0以外でできるだけ小さなpを返すようにすることで、同様に低位アドレス側の物理ページを使用しないようにできる。
例えば、動画再生アプリケーションは省電力モードでは必ず再生処理を停止しており、省電力モードの間に再生処理作業用メモリの内容を保持する必要がないとする。このとき、アプリケーションは当該作業用メモリの割り当て要求において、この領域が省電力モードにおいて保持する必要がないという属性情報を付与するのである。また、TV電話のように、動作している間は省電力モードに移行しないプログラムや、省電力モードに移行するときは動作を終了することがわかっているプログラムについては、使用するメモリ領域は省電力モードにおいて全て解放されるので、全てのメモリ割り当て要求に対して省電力モードにおいて保持する必要がないという属性を付与することで、低位アドレス側の物理ページを使用しないようにすることができる。
割り当て要求されるメモリ領域の内容を省電力モードで保持する必要があるとき(あるいは保持する必要がないといえないとき)に、要求されるメモリ領域に対する優先度pを1〜3のいずれにするかは、メモリ割り当て要求を行なうプログラムが動作中に省電力モードに移行する確率を属性とし、この属性に基づいて決定することができる。すなわち、省電力モードへの移行時に必ず動作していて内容を保持する必要のあるプログラムからのメモリ割り当て要求に対しては、最大優先度(p=3)を返し、省電力モードの移行時には動作していないこともあるが、動作しているときは内容を保持する必要のあるプログラムからのメモリ割り当て要求については、省電力モード移行時に動作している確率の大きさに応じて、p=3、p=2、またはp=1を返す。返されたp=3に対して未使用物理ページがない場合、S47における再度の算定処理では、それ以前のp(ここでは3)に次いでできるだけ大きなpを返すように制御することで、省電力モードで必ず保持するメモリ領域の割り当てを低位側のアドレスに集中させることができる。また、p=2またはp=1が返されたときに未使用物理ページがない場合は、隣接のp=3またはp=1を返すように制御することで、同様のメモリ割り当て要求に対するメモリ領域の割り当て先が散らばらないようにすることができる。
アプリケーションプログラムにおけるメモリ割り当て要求は、メモリ割り当て管理手段の機能を実行するAPIの呼び出しとして表現される。このようなAPIは、C言語の場合は関数malloc、C++言語の場合はオペレータnewとして提供されることが多い。これらのAPIに上記の優先度を引数として追加することで、個々のメモリ割り当て要求ごとに、アプリケーションが直接優先度を指定できるようにしてもよい。また、アプリケーションが個々のメモリ割り当て要求ごとに優先度を指定しなくとも、個々のアプリケーションごとに優先度が定められるような実現にしてもよい。
また、本実施形態の割り当て優先度管理手段13は、S43において、メモリ割り当てを必要とするプログラムと同時に実行可能なプログラムの組み合わせによって優先度を決定してもよい。
今日の多くの携帯電話では、ハードディスクのような比較的電力消費の大きい2次記憶装置は、本実施形態と同様に搭載していない。このため、メモリの容量には上限があって、同時に実行可能なプログラムの組み合わせは限定される。そこで、実際にどのような組み合わせで実行されるのか、またその際のメモリ使用量(省電力モード時に保持すべきもの、および解放できるものそれぞれに対して)などの属性情報をあらかじめ調べられる。特に端末装置に事前に搭載されるプログラムが定まっている場合には、この方法の実行は容易になる。
プログラムとして、A、B、Cの3種類があり、同時に実行される可能性がある組み合わせが、{A}、{B}、{C}、{A,B}、{A,C}、{A,B,C}、の6種類であるとする。これらのそれぞれの組み合わせに対して、省電力モード時に保持すべきメモリ量や省電力モード時に解放できるメモリ量(典型的にはそれぞれの最大の見積り値)をあらかじめ調べておくことができる。仮に、省電力モード時にメモリ内容を保持するために必要なセルフリフレッシュ領域が、組み合わせ{A}に対しては1/4、省電力{B}は1/8、{C}は1/8、{A、B}は1/4、{A,C}は1/4、{A、B,C}は1/2であるとする。この場合、Aからの省電力モード時に保持する必要のあるメモリの割り当て要求については、1/4の領域に配置されるためにp≧2であることが必要である。しかしながら、ありうる組み合わせの中から{A}を除外した差集合で、保持すべきメモリが1/4より小さな組み合わせ{B}と組み合わせ{C}について、保持すべきメモリが1/8に収まることを阻害しないために、p≧2の条件で、より小さなp=2が好ましい。そこで、上記のAのメモリ割り当て要求に対して、割り当て優先度管理手段13は、S43においてp=2を返す。p=2に対応する未使用のメモリ領域が不足している場合は、S47において、Aが動作している5つの組み合わせの中で最も保持すべきメモリ量が多い場合({A,B,C})に対する優先度(p≧1)で最小のもの(この場合は1)を返すことができる。このように制御することで、Aが省電力モードで保持すべきメモリがp=0に対応するメモリ領域に割り当てられることを抑止する。S43とS47において用いられる個々の組み合わせに対する優先度はあらかじめ表にしておくことも可能である。
また、本実施形態の割り当て優先度管理手段13は、S43において、プログラムの状態情報をプログラム実行管理手段14から取得し、この情報を用いて優先度を決定してもよい。
すなわち、上述のAからの省電力モード時に保持する必要のあるメモリの割り当て要求において、割り当て優先度管理手段13は、p=2に対応する未使用のメモリ領域が不足している場合は、S47において、Aが動作している5つの組み合わせの中で最もメモリを消費する場合で最小の優先度p=1を返している。しかし、割り当て優先度管理手段13は、プログラム実行管理手段14に照会して、現在実行中のプログラムを確認することで、より大きな優先度を返すことも可能である。例えば、現在実行中のプログラムの組み合わせが{A}であるとき、S47においてp=3を返すことが可能である。省電力モード移行時に実行されているプログラムの組み合わせが{A}となる場合の確率が、{A,B}、{A,C}または{A,B,C}の組み合わせとなる場合の確率と比較して、(省電力モード時の消費電力を低くすると見積もることのできる)ある閾値よりも高ければ、より高い優先度p(この場合は3)を返すことが有効となるのである。
また、本実施形態の割り当て優先度管理手段13は、S43において、プログラム実行管理手段14が実行したプログラムの履歴を管理する実行履歴管理手段16に対して実行履歴情報を問い合わせ、この情報を用いて優先度を決定してもよい。
すなわち、メモリ割り当て要求を行なうプログラムが動作中に省電力モードに移行する確率や、特定のプログラムの組み合わせが同時に実行される確率にもとづく各使用メモリ量の期待値は、プログラムの特性に依存する場合がある。また、これらの確率は端末装置1の利用者に依存する場合もある。そこで、実行履歴管理手段16において履歴情報を取得し、上記のような確率や、実際の使用メモリ量の見積りの代わりに、前記履歴情報から得られる期待値を用いて上述の割り当てを行なうことで、より実際の使用状況に即したメモリ割り当てを行なうことが可能になる。
例えば、領域の割り付け処理において、このような履歴情報として、特定の利用者の利用形態において同時に割り付けられる物理ページ総数の最大値を用いることができる(図6のフローチャート)。まず、有効なページの総数を確認する(S61)。次に、割り付けの目標とするリフレッシュ領域を定める(S62)。所定の期間有効ページ総数が目標とする領域に収まっている場合(S63)、割り当て要求の優先度に係わらず、目標とする領域から割り付けを行う(S64)。所定の期間有効ページ総数が目標とする領域に収まっていない場合、他の大きさのリフレッシュ領域を目標にできる場合(S65)は、再び割り付けの目標とするリフレッシュ領域を定める(S62)。他の大きさのリフレッシュ領域を目標にできない場合、割り当て要求の優先度に基づいた割り付け処理を行う(S66)。この手順においては、複数のアプリケーションを同時に利用することが非常に少ないなどの理由により、例えば、この最大値が1/8アレイセルフリフレッシュ領域に含まれる物理ページの総数よりも少ない状況が続くときは(S63)、前述したようにメモリ割り付け要求において優先度を要求されたとしても、無条件で1/8アレイセルフリフレッシュ領域以外の物理ページを割り付けないようにしてもよい(S64)。同様に、使用されるページの総数が1/4アレイセルフリフレッシュ領域に含まれる物理ページの総数よりも少ない状況が続くときは、優先度p=1の指定をp=2(p=2に空きがない場合はp=3)とみなすことにより、無条件で1/4アレイセルフリフレッシュ領域以外の物理ページを割り付けないようにしてもよい。
また、本実施形態の割り当て優先度管理手段13が、これまでに述べたように優先度を算定し、算定された優先度pに基づいたメモリ割り当てをメモリ割り当て管理手段12が行なっても、使用していたメモリの解放が行なわれることによって、低位アドレス側にある優先度の高い物理ページに未使用のものが生じていることがある。前述の物理ページの管理方法において、このような未使用物理ページを迅速に検知することは容易である。リフレッシュ領域ごとのフリーリストは、まさにそのためのデータ構造であるし、ビットベクタの場合は、優先度p=3、2、1に対応する領域についても、高々それぞれ64ワード、64ワード、128ワード分について空きがあることを示す値であるかどうかの検査を行えばよい。
上記の解放の後に省電力モード制御手段15が省電力モードへの移行を行なうときは、メモリ割り当て管理手段12に要求を出して、使用中の物理ページの内容を未使用の物理ページに移動することで、省電力モードにおけるセルフリフレッシュ領域を減らすこと(使用する物理ページの内容を保持するのに必要な1/nアレイセルフリフレッシュ状態のnの値を大きくすること)が可能かどうかを調べることができる。もし、可能であると判定される場合、メモリ割り当て管理手段12は、使用中の物理ページの内容を未使用物理ページに複写する。次いで、メモリ割当て管理手段12は、MMU212の設定を変更することで、複写元の物理ページに対応づけられていた論理アドレス領域の対応先を複写先の物理ページに変更する。また、メモリ割り当て管理手段は、複写元の物理ページの状態を未使用とし、複写先の物理ページの状態を使用中にする。このような変更により、アプリケーションから見た割り付け領域の論理アドレスは変更されないという意味で、プログラムの挙動に対する影響はない。また、前述したように、異なる優先度に対して割り付けられる領域は同じ物理ページ上に混在しないので、使用する物理ページを移動することで、必要なセルフリフレッシュ領域を減らすことができる。その後、省電力モード制御手段15は、DRAM111,221を必要な大きさのnで1/nアレイセルフリフレッシュ状態にして、省電力モードに移行することができる。
なお、本発明の実施形態においては、省電力モードに移行する際に、内容を保持しなければならない物理ページが低位側のアドレスに集中するように割り付け処理を制御しているため、このような物理ページの移動の必要性が低減されている。
ただし、リフレッシュ対象領域を小さくするためのデータの移動(コピー)を随時行うことにすると、端末装置において通常モードと省電力モードとの間の移行が頻繁に発生するときには、コピー操作そのものに要する電力消費を無視できない可能性が生ずる。すなわち、図7は1/nアレイセルフリフレッシュ状態における1日あたりのDRAMの消費電流量の概略値を示したものだが、データのコピー1000回あたりに要する消費電流量を0.01mAh(この値はCPUの動作周波数等にも依存して変動することがある)とすると、約4800回のコピーを行うことによって1/2アレイセルフリフレッシュ状態の場合との、約7200回のコピーを行うことによって1/4アレイセルフリフレッシュ状態の場合との省電力の効果が相殺されてしまうことがわかる。
仮に、p=1の指定領域全てをp=2またはp=3の指定領域にコピーする場合(つまり、省電力モードにおいて1/4アレイセルフリフレッシュ状態に移行するために、p=1の領域に割り付けたデータをコピーする場合に相当する)、最大で2048ページ(16MByte)近いコピーが生ずるので、1日あたり数千回のコピーも起こりうると考えられる。
そこで、端末装置における消費電力をできるだけ低減するためには、省電力モードにおける既定のセルフリフレッシュ状態の選択と、リフレッシュ対象領域を小さくするためのデータの移動の双方を、適切に実施する必要がある。これらを実現する手順の一例を図8のフローチャートを用いて説明する。
省電力モードに移行する条件が整うと、アドレス空間内で有効な、すなわち実際に割り付けられているページの総数を確認する(S81)。この数としては、全体の総数の他に、優先度の異なる領域ごとに確認できるように管理しておく。優先度の異なる領域のページ総数を知ることで、何ページ分データを移動すれば、リフレッシュ対象領域を一段階小さくすることができるかを算定できる。次に、アドレス空間全体において有効なページ総数を収容可能で、もっとも小さなリフレッシュ対象領域を持つ状態に移行するのにデータ移動が必要かどうかを判断する(S82)。もし、データ移動が必要なければ、そのままセルフリフレッシュ状態に移行することができる(S83)。もし、データ移動が必要な場合は、適当な状態を目標に定めてデータ移動のコストを評価する。ここでは、有効なページ総数を収容可能な状態の全てに対して、異なる状態に移るのに必要なデータ移動量(ページ数)を求め、それにもとづくコストを算定する(S84、S85)。最後に、算定した中から、もっとも適切な目標状態とデータ移動量を確定し(S86)、確定した結果にもとづき、移動を行う場合は行って、セルフリフレッシュ状態に移行する(S87)。
ここで算定するコストの内容とその評価基準は、所定の時間経過後の消費電流量の総和を最小化することであり、この和には目標とするセルフリフレッシュ状態に移るためのデータ移動に必要な消費電流量と、省電力モードに移行後のセルフリフレッシュに必要な消費電流量が含まれる。所定の時間の一例としては、省電力モード移行直前の時刻を起点として、省電力モードを終了して通常モードに移行する時刻を終点とすることを挙げられる。この区間の前後において、物理ページのデータを移動することで、しない場合に比べて、結果の消費電流が大きくなるのであれば、移動をしないことで電流消費を抑止できる。移動してもリフレッシュ領域を小さくできないのであれば、移動しない方が省電力モード中の消費電流を小さくできるので好ましい。また、通常モードにおいて、リフレッシュにかかる消費電流が、移動処理を含めた他の消費電流に比べて無視できるとき、物理ページの移動を省電力モードに移行直前に一括して行った方が、不要な移動回数を減らすことで、消費電流を小さくできる場合がある。図8の手順は、この基準にもとづいて構成されている。
最小化したい消費電流量は、省電力モードの継続時間に依存するが、この時間を事前に知ることが難しい場合もある。そこで、継続時間を仮定するために見込みの値を用いてもよい。さらにこのような値として統計的に求めた値を用いることができる。例えば、省電力モードに移行する時刻が(1日を24分割した)何時台であるかを記録しておき、各時間帯の省電力モードの継続時間の平均を、上記のコストの見積もりに用いる継続時間としてもよい。この方法によって、あまり端末を使用しない時間帯(例えば夜間)は長めの時間が、頻繁に端末を使用する時間帯は短めの時間が、見込みの継続時間となる。以下に述べるように、継続時間が短いときには移動処理が消費電流低減に有効でないことを予測できる場合があり、頻繁に使用するときの省電力モードに移行する前の物理ページの移動を抑制することができて、結果として消費電流を抑えることができる。
また、端末を適当な時刻で起床(省電力モードから通常モードに移行)させて、起床時に経過に応じた判断を行って、必要ならば追加の移動を行うことにしてもよい。言い換えると、継続時間がある程度続くようであれば、移動を行うことが有効な場合がある。例えば、100ページの移動によってリフレッシュ領域が1/2領域リフレッシュから1/8リフレッシュに移行できるとき、図7の例の数値によればm分後の消費電流量は、移動しない場合は0.33m(mAh)、移動する場合は0.001+0.083m(mAh)となって、約4分以上省電力モードが継続する場合は移動しない場合は移動する場合よりも消費電流が多くなってしまう。そこで、この場合には高々4分経過する前に起床して移動することが有効となる。
実際のシステムには、他にも電流を消費する要因やオーバヘッドがあるが、事前にこのような要因を測定し、継続時間/データ移動に必要な消費電流量/セルフリフレッシュに必要な消費電流量を含むパラメータから移動処理を行う効果があるかどうかを判定するデシジョンテーブル(近似的なものであってもよい)を作成しておくことができる。また、携帯電話のような端末では、他の必要性(電波状況の監視や、アラーム処理の実施)のために、CPUを周期的に起床させている場合もある。この場合は、その周期ごとの起床に合わせて、上記の経過に応じた判断を行えば、起床処理に伴う電流消費は元々必要なものとして無視できるので、さらに消費電流を抑えることができる。
なお、本発明の実施形態においては、省電力モードにおけるリフレッシュ対象領域にも順位付けを行なうなどの他の手法により、内容を保持しなければならない物理ページが低位側のアドレスに集中するように割り付け処理を制御しているため、実際にはこのような物理ページの移動の必要性が低減される。
以上述べたように、本発明の端末装置においては、セルフリフレッシュを行なうかどうかを個別に指定できるメモリ領域に区分されたメモリを含む記憶手段と、プログラムへのメモリ領域の割り当てを管理するメモリ割り当て管理手段と、前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域のアドレスの決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、前記メモリ割り当て管理手段がメモリ領域の割り当てを行なうプログラムの実行を管理するプログラム実行管理手段と、端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記メモリ領域の個々に対するセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、を備え、省電力モードに移行する際にリフレッシュを中止する領域にデータが割り付けられないように制御するとともに、省電力モードにおいてデータが存在しないメモリ領域に対するリフレッシュを中止することによって、メモリのリフレッシュに要する消費電力を低減することが可能となる。
本発明の一実施形態に係る端末装置の機能構成を示すブロック図である。 本発明の一実施形態に係る端末装置のハードウェア構成を示すブロック図である。 PASR(Partial Array Self Refresh)を示す図である。 本発明の一実施形態に係るメモリ割り当て処理を表すフローチャートである。 pに対するリストに未使用の物理ページが連接されている様子を表す模式図である。 履歴情報を用いた割り付け処理を説明するフローチャートである。 1/nアレイセルフリフレッシュ状態における1日あたりのDRAMの消費電流量の概略値を示す表である。 省電力モード移行処理を説明するフローチャートである。
符号の説明
1、2 端末装置
11 記憶手段
12 メモリ割り当て管理手段
13 割り当て優先度管理手段
14 プログラム実行管理手段
15 省電力モード制御手段
21 プログラム実行処理部
22 記憶部
23 無線通信部
24 アンテナ
111、221 DRAM
112、222 フラッシュROM
211 CPUコア
212 MMU

Claims (9)

  1. セルフリフレッシュを行なうかどうかを個別に指定できる複数のリフレッシュ領域に区分されたメモリを含む記憶手段を備えた端末装置であって、
    ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するMMU(メモリ管理ユニット)を含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て管理手段と、
    前記プログラムの実行を管理するプログラム実行管理手段と、
    前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域の決定に用いる割り当て優先度を管理する割り当て優先度管理手段と、
    端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御手段と、
    を備え、
    前記メモリ割り当て管理手段は、前記プログラムに割り当てるメモリ領域に含まれる物理ページを前記割り当て優先度にもとづいて決定することを特徴とする端末装置。
  2. 前記メモリ割り当て管理手段は、使用中の論理ページに対応づけられている物理ページの内容を複写する物理ページを決定し、前記物理ページの内容の複写を行い、前期論理ページ対応づけられる物理ページを前記複写先の物理ページに変更するページの移動処理を行なうことで、省電力モードにおいてリフレッシュを行なうリフレッシュ領域全体の大きさを小さくすることを特徴とする請求項1に記載の端末装置。
  3. 前記メモリ割り当て管理手段は、省電力モードに移行後の電力消費を低減するように前記物理ページの決定を行なう請求項1または請求項2に記載の端末装置。
  4. 前記割り当て優先度管理手段は、プログラムのメモリ割り当て要求に対する属性情報に基づいて該プログラムの割り当て優先度を決定することを特徴とする請求項1ないし請求項3のいずれか1項に記載の端末装置。
  5. 前記割り当て優先度管理手段は、メモリ割り当てを必要とするプログラムと同時に実行可能なプログラムの組み合わせに基づいて該メモリ割り当てを必要とするプログラムの割り当て優先度を決定することを特徴とする請求項1ないし請求項4のいずれか1項に記載の端末装置。
  6. 前記割り当て優先度管理手段は、前記プログラム実行管理手段からプログラムの状態情報を取得し、該状態情報に基づいて該プログラムの前記割り当て優先度を決定することを特徴とする請求項1ないし請求項5のいずれか1項に記載の端末装置。
  7. 前記プログラム実行管理手段がプログラムの実行履歴を管理する実行履歴管理手段をさらに備え、
    前記割り当て優先度管理手段は、前記実行履歴管理手段が管理するプログラムの実行履歴に基づいて該プログラムの割り当て優先度を決定することを特徴とする請求項1ないし請求項6のいずれか1項に記載の端末装置。
  8. セルフリフレッシュを行なうかどうかを個別に指定できる複数のリフレッシュ領域に区分されたメモリを含む記憶手段を備えた端末装置において動作するメモリ管理プログラムであって、
    ページ単位で論理アドレスから物理アドレスへのアドレス変換を制御するMMU(メモリ管理ユニット)を含み、論理アドレス空間上で実行されるプログラムに割り当てるメモリ領域を管理するメモリ割り当て工程と、
    前記プログラムの実行を管理するプログラム実行管理工程と、
    前記メモリ割り当て管理手段がプログラムに割り当てるメモリ領域の決定に用いる割り当て優先度を管理する割り当て優先度管理工程と、
    端末装置の通常モードと省電力モードとの間の遷移を制御し、省電力モードにおいて、前記メモリ割り当て管理手段が管理する現在使用中のメモリ割り当て情報に基づいて、前記記憶手段に対して前記リフレッシュ領域がセルフリフレッシュを行なうかどうかを指定する省電力モード制御工程と、
    を前記端末装置に実行させ、
    前記メモリ割り当て管理工程は、前記プログラムに割り当てるメモリ領域に含まれる物理ページを前記割り当て優先度にもとづいて決定することを特徴とするメモリ管理プログラム。
  9. 前記メモリ割り当て管理工程は、使用中の論理ページに対応づけられている物理ページの内容を複写する物理ページを決定し、前記物理ページの内容の複写を行い、前期論理ページ対応づけられる物理ページを前記複写先の物理ページに変更するページの移動処理を行なうことで、省電力モードにおいてリフレッシュを行なうリフレッシュ領域全体の大きさを小さくすることを特徴とする請求項8に記載のメモリ管理プログラム。
JP2007119835A 2006-04-28 2007-04-27 端末装置 Pending JP2007317176A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007119835A JP2007317176A (ja) 2006-04-28 2007-04-27 端末装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006125279 2006-04-28
JP2007119835A JP2007317176A (ja) 2006-04-28 2007-04-27 端末装置

Publications (1)

Publication Number Publication Date
JP2007317176A true JP2007317176A (ja) 2007-12-06

Family

ID=38850946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007119835A Pending JP2007317176A (ja) 2006-04-28 2007-04-27 端末装置

Country Status (1)

Country Link
JP (1) JP2007317176A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211644A (ja) * 2009-03-11 2010-09-24 Nec Corp メモリ消費電力削減システム、方法及びプログラム
JP2012118987A (ja) * 2010-11-30 2012-06-21 Internatl Business Mach Corp <Ibm> メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ)
US9575663B2 (en) 2014-06-09 2017-02-21 Samsung Electronics Co., Ltd. Solid state drive and operation method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211644A (ja) * 2009-03-11 2010-09-24 Nec Corp メモリ消費電力削減システム、方法及びプログラム
JP2012118987A (ja) * 2010-11-30 2012-06-21 Internatl Business Mach Corp <Ibm> メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ)
US9575663B2 (en) 2014-06-09 2017-02-21 Samsung Electronics Co., Ltd. Solid state drive and operation method thereof

Similar Documents

Publication Publication Date Title
JP6423518B2 (ja) マルチプロセッサシステムのための指向性イベントシグナリング
US8990538B2 (en) Managing memory with limited write cycles in heterogeneous memory systems
US20070180187A1 (en) Reducing power consumption by disabling refresh of unused portions of DRAM during periods of device inactivity
US20080320203A1 (en) Memory Management in a Computing Device
US9021217B2 (en) Communication apparatus, load distribution method, and recording medium
TW445405B (en) Computer system with power management scheme for DRAM devices
US8108629B2 (en) Method and computer for reducing power consumption of a memory
US8645612B2 (en) Information processing device and information processing method
JP5681527B2 (ja) 電力制御装置及び電力制御方法
JP2013508813A (ja) 省電力を目的としたメモリ・オブジェクトの再配置
JP2017138853A (ja) 情報処理装置およびプログラム
US20040148481A1 (en) Method and apparatus for memory management
EP3245587A1 (en) Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture
JP2007026094A (ja) 実行装置およびアプリケーションプログラム
US20180113815A1 (en) Cache entry replacement based on penalty of memory access
US20170255246A1 (en) Reducing Power by Vacating Subsets of CPUs and Memory
JP2007317176A (ja) 端末装置
US20100325360A1 (en) Multi-core processor and multi-core processor system
CN101853218A (zh) 用于磁盘阵列的读取方法和系统
JP2011186558A (ja) メモリ管理装置及び方法
JP4839749B2 (ja) コンピュータ、携帯端末装置、電力制御方法、電力制御プログラム
CN111523002B (zh) 一种主键分配方法、装置、服务器及存储介质
US11693782B2 (en) Cache management method using object-oriented manner and associated microcontroller
KR102187213B1 (ko) 힙 메모리 오브젝트의 배치 방법 및 이를 구현하는 이기종 메모리 시스템
KR20190138365A (ko) 멀티 프로세서 시스템 및 그 구동 방법