説明

端末装置及び端末装置におけるメモリ制御方法

【課題】消費電力の削減を図るようにした端末装置及び端末装置におけるメモリ制御方法を提供すること。また、アプリケーションが継続して動作できるようにした端末装置及び端末装置におけるメモリ制御方法を提供すること。
【解決手段】アプリケーションプログラムを記憶部に記憶させて前記アプリケーションプログラムを実行することで前記アプリケーションプログラムに対応するアプリケーションを動作させる端末装置において、省電力状態に移行するとき、前記アプリケーションの動作状況と属性に基づいて、前記アプリケーションプログラムが使用される前記記憶部における記憶領域を第1の記憶領域から前記第1の記憶領域より消費電力の少ない第2の記憶領域に移動させるよう前記記憶部を制御するアプリケーション制御部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置及び端末装置におけるメモリ制御方法に関する。
【背景技術】
【0002】
現在、携帯電話システムや無線LAN(Local Area Network)などの無線通信システムが広く利用されている。このような無線通信システムにおいては、携帯電話機や電子書籍用の専用端末などの端末装置が用いられ、さまざまなサービスの提供を受けることができるようになってきている。
【0003】
このような端末装置は、これまでの端末装置と比較して、表示される画面の大きさが大きく、また大容量のデータを無線により送信又は受信することができ、そのため消費電力も増加する。消費電力の増加によって、例えば携帯電話機などの端末装置は通話中に電源供給が停止するなどの事態が発生する場合もある。端末装置はメモリなどに対して消費電力の削減を図ることで、例えばこのような事態を防止することができる。
【0004】
消費電力の削減を図る技術としては、例えば、以下のようなものがある。すなわち、待機状態に遷移するとDRAM(Dynamic Random Access Memory)などのメモリ部に記憶されたデータがメモリスティックなどの外部メモリに転送されてメモリ部の電源供給が停止されることで、メモリ部に対する消費電力の削減を図るようにした携帯デバイスがある。
【0005】
また、RAM(Read Only Memory)が使用中RAMと不使用中RAMに区分され、使用中RAMが破棄不可能RAMと破棄可能RAMに区分され、省電力移行時に不使用RAMと破棄可能RAMへの電源供給が停止されることで、より一層の省電力化を図るコンピュータもある。
【0006】
さらに、アプリケーションプログラムに対する主記憶上の全てのメモリ領域に対して未使用のメモリバンクが決定され、決定されたメモリバンクに対する電源供給が停止されて、それ以外のメモリバンクに対してのみ電源が供給されるようにした計算機システムもある。
【0007】
また、複数のメモリ領域の各々の状態が活動状態又は停止状態に規定され、活動状態のメモリ領域に対して電力が供給され、停止状態のメモリ領域に対して電力供給が停止されることで、不揮発性メモリにかかる電力制御をより効率的に行うことが可能な電力制御装置などもある。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−199339号公報
【特許文献2】特開2010−286964号公報
【特許文献3】特開平9−212416号公報
【特許文献4】特開2009−211153号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、メモリ部に記憶されたデータを外部メモリに転送する技術は、待機状態に遷移するとメモリ部に記憶された全てのデータを外部メモリ部に転送している。従って、メモリ部に記憶された全てのデータが読み出されるため、一部のデータがメモリ部から読み出される場合と比較して、メモリ部におけるデータの読み出しの際におけるメモリ部に対する消費電力が多くなる。また、通常状態に遷移するときも、メモリ部に記憶されていた全てのデータが再びメモリ部に書き込まれるため、一部のデータがメモリ部に書き込まれる場合と比較して、メモリ部におけるデータの書き込みの際におけるメモリ部に対する消費電力が多くなる。
【0010】
また、省電力移行時に不使用RAMと破棄可能RAMへの電源供給を停止するなどの技術は、例えば、メモリの一部の電源を停止させることで消費電力の削減を図るようにしている。例えば、省電力移行後においても動作するアプリケーションプログラムもあれば、動作しなくてもよいアプリケーションプログラムもある。省電力移行時に不使用RAMと破棄可能RAMへの電源供給を停止するなどの技術では、かかるRAMへアプリケーションプログラムがロードされるとアプリケーションが動作しなくなる場合もある。
【0011】
そこで、本発明の一目的は消費電力の削減を図るようにした端末装置及び端末装置におけるメモリ制御方法を提供することにある。
【0012】
また、本発明の一目的はアプリケーションが継続して動作できるようにした端末装置及び端末装置におけるメモリ制御方法を提供することにある。
【課題を解決するための手段】
【0013】
一態様は、アプリケーションプログラムを記憶部に記憶させて前記アプリケーションプログラムを実行することで前記アプリケーションプログラムに対応するアプリケーションを動作させる端末装置において、省電力状態に移行するとき、前記アプリケーションの動作状況と属性に基づいて、前記アプリケーションプログラムが使用される前記記憶部における記憶領域を第1の記憶領域から前記第1の記憶領域より消費電力の少ない第2の記憶領域に移動させるよう前記記憶部を制御するアプリケーション制御部を備える。
【発明の効果】
【0014】
消費電力の削減を図るようにした端末装置及び端末装置におけるメモリ制御方法を提供することができる。アプリケーションが継続して動作できるようにした端末装置及び端末装置におけるメモリ制御方法を提供することができる。
【図面の簡単な説明】
【0015】
【図1】図1は端末装置の構成例を表わす図である。
【図2】図2は端末装置の構成例を表わす図である。
【図3】図3は物理メモリの構成例を表わす図である。
【図4】図4はメモリ制御部の構成例を表わす図である。
【図5】図5は仮想メモリのアドレスと物理メモリとアドレスとの対応関係の例を表わす図である。
【図6】図6はアドレス変換テーブルの例を表わす図である。
【図7】図7はリストの例を表わす図である。
【図8】図8は動作例を表わすフローチャートである。
【図9】図9(A)及び図9(B)は動作テーブル、図9(C)は削除テーブルの各例をそれぞれ表わす図である。
【図10】図10は動作例を表わすフローチャートである。
【図11】図11(A)及び図11(B)は動作テーブルの例を表わす図である。
【図12】図12は動作例を表わすフローチャートである。
【図13】図13は物理メモリの構成例を表わす図である。
【図14】図14はアドレス変換テーブルの構成例を表わす図である。
【図15】図15は仮想メモリのアドレスと物理メモリのアドレスとの対応関係の例を表わす図である。
【図16】図16は端末装置における状態遷移の例を表わす図である。
【図17】図17は端末装置の構成例を表わす図である。
【図18】図18は端末装置の構成例を表わす図である。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための形態について説明する。
【0017】
[第1の実施の形態]
最初に第1の実施の形態について説明する。図1は第1の実施の形態における端末装置100の構成例を表わす図である。端末装置100は、例えば携帯電話機などの携帯型の情報端末でもよいし、持ち運び可能な又は据え置き型のパーソナルコンピュータなどでもよい。端末装置100は、アプリケーション制御部121と記憶部130とを備えている。
【0018】
端末装置100は、アプリケーションプログラムを記憶部130に記憶させてアプリケーションプログラムを実行することで、アプリケーションプログラムに対応するアプリケーションを動作させることができる。
【0019】
アプリケーション制御部121は、端末装置100が省電力状態に移行するとき、アプリケーションの動作状況とアプリケーションの属性に基づいて、アプリケーションプログラムが使用される記憶部130における記憶領域を第1の記憶領域131から第1の記憶領域131より消費電力に少ない第2の記憶領域132に移動させるよう記憶部130を制御する。
【0020】
したがって、アプリケーションプログラムが使用される記憶領域が第2の記憶領域132に移動されるため、例えば、第1の記憶領域131が使用されていたものが第1の記憶領域131が使用されず、消費電力が第1の記憶領域131よりも少ない第2の記憶領域132が使用される。よって、端末装置100は記憶部130に対して消費電力の削減を図ることができる。
【0021】
また、例えば、アプリケーションの属性がアプリケーションを終了させない属性のとき、アプリケーション制御部121は、電源供給が停止される記憶領域以外の記憶領域として第2の記憶領域132に記憶領域を移動させることもできる。或いは、例えば、動作状況が、当該アプリケーションがバックグランドで動作していることを表わしているとき、アプリケーション制御部121は、電源供給が停止される記憶領域以外の記憶領域として第2の記憶領域132に移動させることもできる。
【0022】
このように、アプリケーション制御部121は、動作状況と属性に基づいて、記憶領域を移動させるようにしているため、例えば、上述したように電源供給が停止される記憶領域以外の記憶領域に移動させることで、アプリケーションは継続して動作することができる。
【0023】
[第2の実施の形態]
<端末装置100の全体構成例>
次に第2の実施の形態について説明する。図2は第2の実施の形態における端末装置100の構成例を表わす図である。端末装置100は、例えば、多機能携帯電話機を含む携帯電話機や持ち運び可能なパーソナルコンピュータなどであって、無線基地局装置などを介して他の端末装置やサーバなどと無線通信を行うことができる。また、端末装置100は、電源供給については携帯電話機などのように電池による場合以外にも、据え置き型のパーソナルコンピュータなどのように有線接続(例えばAC電源)によって動作するものでもよい。さらに、端末装置10は無線通信を行うことができる携帯電話機やタブレット型端末でもよいし、無線通信を行わないパーソナルコンピュータなどでもよい。なお、第2の実施の形態では端末装置100として無線通信を行う携帯電話機を例にして説明する。
【0024】
端末装置100は、キー(又は操作部)101、表示制御部102、LCD(Liquid Crystal Display)103、バックライト104、RF(Radio Frequency)制御部105、RF部106、アンテナ107、タイマー制御部108、電源部制御部109、電源部110、ROM(Read Only Memory)111、CPU(Central Processing Unit)115、メモリ制御部(MMU:Memory Management Unit)120、及び物理メモリ130とを備える。
【0025】
キー101は、例えば操作ボタンなどであって、ユーザによるキー101の操作によって、文字の入力や種々のアプリケーションの選択などが行われる。キー101は、押圧されたキー(又は操作ボタン)に対応する信号をCPU115に出力することができ、CPU115はこれによりどのキー101が押圧されたかを識別し、対応する処理を行うことができる。なお、キー101は例えばLCD103上に表示され、タッチパネル方式により操作されてもよい。
【0026】
表示制御部102は、LCD103に表示される表示画面の表示や消去など、LCD103に対して表示制御を行うことができる。例えば、表示制御部102はCPU115からの指示に基づいてROM111に記憶された画像データなどを読み出してLCD103に出力することでLCD103において表示画面を表示させることができる。また、表示制御部102は、例えばCPU115からの指示に基づいて、バックライト104を点灯させたり消灯させることで、LCD103に対する電源を供給させたり、停止させることができる。
【0027】
LCD103は種々の画面(又は画像)を表示することができ、例えばHTML(Hyper Text Markup Language)ファイルの表示、電子メールの作成画面や送信画面、アドレス帳の表示画面、電卓機能を実行する操作画面などを表示することができる。
【0028】
バックライト104はLCD103を照明する光源であって、例えば発光ダイオード(LED:Light Emitting Diode)や陰極線管などである。
【0029】
RF制御部105は、例えばCPU115などの指示に基づいてRF部106を動作させることで、端末装置100について無線通信を行わせることができる。また、RF制御部105又はCPU115は、例えば、マイクなどから出力された音声データなどに対して誤り訂正符号化処理や変調処理などを施すことでベースバンド信号に変換しRF部106に出力することができる。また、RF制御部105又はCPU115は、例えば、RF部106から出力されたベースバンド信号に対して変調処理や誤り訂正復号化処理などを施すことで音声データなどを抽出することができる。
【0030】
RF部106は、例えば、RF制御部105の制御により動作を開始し、RF制御部105から出力されたベースバンド信号に対して周波数変換(アップコンバード)することで無線信号に変換しアンテナ107に出力することができる。また、RF部106はアンテナ107で受信した無線信号を周波数変換(ダウンコンバード)してベースバンド信号としてRF制御部105又はCPU115に出力することもできる。RF部106はこのような周波数変換を行うことができるように例えばA/D(Analog to Digital)変換回路やD/A(Digital to Analog)変換回路、帯域通過フィルタ(BPF:Band Pass Filter)などを備えてもよい。
【0031】
アンテナ107は、無線基地局などから送信された無線信号を受信してRF部106に出力することができ、また、RF部106から出力された無線信号を無線基地局などに送信することができる。
【0032】
タイマー制御部108は、例えば、CPU115の指示に基づいてタイマー(図示せず)に対してカウント動作を開始させ、一定期間のカウント動作が行われるとその旨をCPU115に出力することができる。
【0033】
例えば、CPU115はタイマー制御部108に対してカウント動作を開始するよう指示し、一定期間経過後タイマー制御部108から一定期間経過したことを表わす信号を入力することができる。この場合、例えば、CPU115は一定期間キー101の操作が行われないことを検知したとき、省電力状態(又は待機状態)に移行することを決定し、表示制御部102に対してバックライト104をオフ(又は消灯)させるよう指示することができる。
【0034】
電源部制御部109は電源部110に対して電源供給を行わせたり、電源供給を停止させるなど、電源部110に対する制御を行うことができる。
【0035】
電源部110は、例えば電池などであって、端末装置100の各部に対して電源供給することで、例えばバックライト104を点灯させたり、LCD103を動作させることができる。
【0036】
ROM111は、例えば、種々のアプリケーションプログラムを記憶することができる。また、ROM111は例えばLCD103に画面を表示するための画像データを記憶することもできる。
【0037】
CPU115は、ROM111に記憶されたアプリケーションプログラムを適宜読み出し、メモリ制御部120を介して物理メモリ130にアプリケーションプログラムを記憶(又はロード)させることができる。CPU115は、例えば、アプリケーションプログラムの実行の開始をメモリ制御部120に対して指示することもできる。この指示に基づいてメモリ制御部120では物理メモリ130に記憶されたアプリケーションプログラムを適宜読み出して、アプリケーションプログラムの起動を開始し、アプリケーションプログラムを実行することができる。このようなアプリケーションプログラムの実行により、端末装置100は、例えば、電子メールの作成及び送信、電卓、待受画面、アドレス帳の編集などの各種アプリケーションを実行することができる。なお、本第2の実施の形態を含む以下の実施の形態においては、「アプリケーションプログラム」を「アプリケーション」と称することがある。
【0038】
メモリ制御部120は、物理メモリ130に対するアクセス制御を行う。メモリ制御部120は、例えば、アプリケーションプログラムを物理メモリ130から読み出すなどしてアプリケーションプログラムを起動させたり、終了させたりすることができる。また、メモリ制御部120は、物理メモリ130に対してアクセスするときに物理メモリ130に対する仮想メモリ領域(又は仮想メモリアドレス)を決定し、決定した仮想メモリ領域にアクセスするよう指示する。そして、メモリ制御部120は、当該指示に基づいて、仮想メモリ領域を物理メモリ130の物理メモリ領域(又は物理メモリアドレス)に変換し、変換後の物理メモリ領域に基づいて物理メモリ130に対するアクセスを行うことができる。メモリ制御部120は、このような仮想メモリ領域から物理メモリ領域への変換、或いは物理メモリ領域から仮想メモリ領域への変換を行うことができるようにするため、例えばメモリ変換テーブルを備えていてもよい。メモリ変換テーブルの詳細は後述する。
【0039】
なお、本第2の実施の形態を含む以下の実施の形態において、「物理メモリ領域」を「物理メモリアドレス」、「仮想メモリ領域」を「仮想メモリアドレス」とそれぞれ称することがある。また、本第2の実施の形態を含む以下の実施の形態において、「物理メモリアドレス」を「物理アドレス」、「仮想メモリアドレス」を「仮想アドレス」とそれぞれ称することがある。
【0040】
また、仮想メモリ領域の決定は、例えばCPU115で行われるようにしてもよい。この場合、CPU115は物理メモリ130にロードしたアプリケーションプログラムを適宜読み出して実行することができ、アプリケーションプログラムのロードなどを仮想メモリアドレスにより指示することができる。
【0041】
物理メモリ130は、例えば、RAM(Random Access Memory)などの揮発性メモリである。RAMとしては、例えばDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory))などがある。物理メモリ130は、例えば主記憶装置と呼ばれることがある。物理メモリ130は、例えば複数のチップを有し、各チップは「ダイ」と称されることもある。各チップはタイマやカウンタなどのリフレッシュ回路を有し、当該回路によりセルフリフレッシュを行うことができる。セルフリフレッシュにより、例えば電荷が補充され、メモリに記憶された記憶内容を保持させることもできる。
【0042】
次に物理メモリ130とメモリ制御部120の構成例について説明する。最初に物理メモリ130の構成例を説明し、次にメモリ制御部120の構成例を説明することにする。
【0043】
<物理メモリ130の構成例>
図3は物理メモリ130の構成例を表わす図である。物理メモリ130は、図3の例では、3つのチップを有し、ダイAからダイCの3つのダイを有している。例えば、ダイAはブロックA−aからブロックA−cまでの3つのブロックを有している。ブロックA−aは物理メモリ130における物理アドレスで「0」番地から「9」番地までのアドレス領域を有している。また、ブロックA−bは物理メモリ130における物理アドレスで「10」番地から「19」番地までのアドレス領域を有している。さらに、ブロックA−cは物理メモリ130における物理アドレスで「20」番地から「29」番地までのアドレス領域を有している。
【0044】
また、例えば、ダイBはブロックB−aからブロックB−cまでの3つのブロックを有し、物理アドレスでは「30」から「59」までのアドレス領域を有している。さらに、ダイCはブロックC−aからブロックC−cまでの3つのブロックを有し、物理アドレスでは「60」から「89」までのアドレス領域を有している。
【0045】
ここでダイA、ダイB、及びダイCの各ダイについて、本第2の実施の形態では「Acitive(アクティブ)」、「Self−Rrefresh(セルフリフレッシュ)」、又は「Power off(パワーオフ)」の3つの状態のうちいずれかの状態に遷移することができる。
【0046】
「Active」の状態とは、例えば、ダイのメモリに対してアクセスが行われてダイが動作している状態のことである。例えば、「Active」状態のダイは、アプリケーションプログラムの記憶などが行われている状態となっている。
【0047】
「Self−refresh」の状態とは、例えば、ダイのメモリに対してアクセスは行われていないが情報を保持している状態のことである。例えば、「Self−refresh」状態のダイは、アプリケーションプログラムを保持しているが、保持されたアプリケーションプログラムに対する読み出しなどが行われていない状態となっている。
【0048】
「Power off」の状態とは、例えば、ダイに対して電源が供給されていない状態のことである。例えば、「Power off」状態のダイは、電源が供給されず、保持したアプリケーションプログラムが削除される状態となる。
【0049】
そして、各ダイについては、バックライト104がオンとなって端末装置100が通常使用されている状態か、バックライトがオフとなって端末装置100が省電力状態となっているか、によって各ダイの状態も変化することができる。
【0050】
例えば、本第2の実施の形態を含む以下の実施の形態においては、バックライト104がオンのとき、ダイAは「Active」(又はアクティブ領域)、ダイBとダイCは「Self refresh」(又はセルフリフレッシュ領域)とすることができる。一方、バックライト104がオフになると、ダイAは「Active」、ダイBは「Self refresh」、ダイCについては「Power off」(又はパワーオフ領域)とすることができる。このような状態遷移の詳細については後述することにする。
【0051】
なお、「Acitive」、「Self−refresh」、及び「Power off」の各状態における消費電力の関係については、
「Activ」>「Self−refresh」>「Power off」
となる。「Active」のダイは、メモリに対するアクセスが行われるため、3つの状態のうち消費電力は最も高くなる。一方、「Self−refresh」のダイは情報を保持する状態のため、消費電力は「Active」より低く、「Power off」よりも高くなる。
【0052】
また、本第2の実施の形態を含む以下の実施の形態では説明の容易のため、物理メモリ130においてブロック単位でアプリケーションプログラムがロードされるものとする。例えば、「アプリケーションプログラムA」はブロックA−b(物理アドレス「10」から「19」)とブロックB−b(物理アドレス「40」から「49」)においてロードされて、アプリケーションプログラムAが実行されるものとすることができる。
【0053】
<メモリ制御部120の構成例>
次にメモリ制御部120の構成例について説明する。図4はメモリ制御部120の構成例を表わす図である。図4の例では、メモリ制御部120はアプリケーションプログラムAの起動を開始し、アプリケーションプログラムBの起動を終了する例を表わしている。メモリ制御部120は、アプリケーション制御部121、メモリ管理部122、及び第2の記憶部123を備える。
【0054】
アプリケーション制御部121は、例えば、端末装置100において実行されるのアプリケーションに対する管理や制御などを行うことができる。アプリケーション制御部121は、APL起動処理部1211、APL起動終了部1212、省電力制御部1213、履歴管理部1214、及び第1の記憶部1215を備える。
【0055】
APL起動処理部1211は、例えば、CPU115から指示に基づいて、アプリケーションプログラムの起動を開始し、アプリケーションプログラムを実行することができる。例えば、APL起動処理部1211は、CPU115から出力されたアプリケーションプログラムを物理メモリ130にロードし、ロードした当該プログラムを省電力制御部1213などを介して適宜読み出して当該プログラムを実行することができる。
【0056】
APL起動終了部1212は、例えば、省電力制御部1213からの指示に基づいて、アプリケーションプログラムを終了させることができる。APL起動終了部1212は、アプリケーションプログラムの実行を終了させると、例えばアプリケーションの終了を表わす終了通知をCPU115に通知することができる。
【0057】
省電力制御部1213は、例えば、物理メモリ130へアクセスするときに仮想アドレスを決定し、メモリ管理部122に対して仮想アドレスにアクセスするよう指示することができる。また、省電力制御部1213は、アプリケーションプログラムの起動の有無、終了の有無などを履歴管理部1214に通知することができる。さらに、省電力制御部1213は、表示制御部102からバックライトオフ要求を受け取ったとき、バックライトオフ要求を受け取ったことを履歴管理部1214に通知することができる。省電力制御部1213は、その後、履歴管理部1214から各アプリケーションについてどのダイを使用するかを表わす通知を受け取ることができ、この通知をメモリ管理部122に通知することができる。これにより、例えば、物理メモリ130においてアプリケーションプログラムなどが記憶されたに記憶領域が変更されて、物理メモリ130に対する消費電力を削減することができる。詳細は後述する。
【0058】
履歴管理部1214は、アプリケーションの「属性」、「動作状態」、「終了可否」(又は他のアプリケーションとの連携の有無)を管理することができ、履歴管理部1214内の第1の記憶部1215にこれらの情報をリストとして記憶することができる。例えば、履歴管理部1214は、省電力制御部1213から通知されたアプリケーションプログラムの起動の有無、終了の有無などに基づいて、アプリケーションの「動作状態」や「終了可否」を決定し、第1の記憶部1215にリストとして記憶することができる。図7はリスト1216の例を表わしている。リスト1216の詳細とリスト1216への登録処理の詳細は後述する。
【0059】
また、履歴管理部1214はバックライト104のオフを表わす通知を省電力制御部1213から受け取ると、第1の記憶部1215に記憶したリスト1216に基づいて、アプリケーションについて物理メモリ130のどのダイを使用するかを決定することができる。この決定処理の詳細も後述する。
【0060】
第1の記憶部1215は、例えばリスト1216などを記憶することができる。
【0061】
メモリ管理部122は、省電力制御部1213から受け取った仮想アドレスを物理アドレスに変換することができる。そして、メモリ管理部122は、変換後の物理アドレスアクセスすることで、物理メモリ130に対してアプリケーションプログラムを記憶させたり、読み出したりすることができる。このような仮想アドレスから物理アドレスへの変換が行われるために、例えばメモリ管理部122はアドレス変換テーブルを備えることができる。例えば、メモリ管理部122内の第2の記憶部123はアドレス変換テーブルを記憶することができる。
【0062】
図5は、仮想メモリ上の仮想アドレスと物理メモリ130上の物理アドレスとの対応関係の例を表わしている図である。仮想アドレスは、例えば省電力制御部1213で生成されるため、仮想メモリのアドレス空間については省電力制御部1213において保持することができる。図5の例では、省電力制御部1213は、仮想メモリのアドレス「0」番地から「8」番地までのアドレス(又はアドレス空間)を保持することができる。
【0063】
例えば、省電力制御部1213が仮想アドレス「0」番地を指示すると、メモリ管理部122はアドレス変換テーブルを用いて、物理メモリ130におけるブロックA−aの物理アドレス(「0」番地から「9」番地)に変換することができる。また、省電力制御部1213が仮想アドレス「1」番地を指示すると、メモリ管理部122はアドレス変換テーブルを用いて物理メモリ130におけるブロックC−aの物理アドレス(「60」番地から「69」番地)に変換することができる。
【0064】
図6はアドレス変換テーブル1231の例を表わす図である。アドレス変換テーブル1231は、例えば仮想アドレスと物理アドレスとの対応関係を表わしており、メモリ管理部122はアドレス変換テーブル1231を参照することで、仮想アドレスに対応する物理アドレスを読み出すことができる。上述したように、アドレス変換テーブル1231には、仮想メモリの「0」番地に対して、物理アドレス「0」番地から「9」番地(ブロックA−aの物理アドレス)が記憶され、仮想メモリの「1」番地に対して、物理アドレスの「60」番地から「69」番地(ブロックC−aの物理アドレス)が記憶される。
【0065】
なお、図5の例では、省電力制御部1213は、アプリケーションプログラムAを実行する仮想メモリのアドレスとして、「4」番地と「5」番地とを指定している例を表わしている。この場合、アプリケーションプログラムAは物理メモリ130の物理アドレスでブロックA−bとブロックB−bの物理アドレス(「10」番地から「19」番地と、「40」番地から「49」番地)に記憶される。
【0066】
<動作例>
次に端末装置100の動作例について説明する。端末装置100は、最初にリスト1216を作成し、次に、バックライトオフ(又はLCDオフ)を契機にしてリスト1216に基づいて各プリケーションについてどのダイを使用するかを決定する。リスト作成処理について最初に説明し、次に決定処理について説明する。
【0067】
なお、端末装置100はバックライトオフを契機にして決定処理を行うようにしているのは、例えば、バックライト104がオフになると省電力状態(又は待機状態)に移行するからである。端末装置100は、省電力状態に移行すると、物理メモリ130の所定のダイに対して電源供給を停止して、物理メモリ130に対する消費電力を少なくさせることができる。端末装置100は、省電力状態に移行する契機となるイベントであれば、バックライトオフ以外のイベントでもよい。
【0068】
<リスト作成処理の動作例>
最初にリスト作成処理の動作例について説明する。図7は作成されるリスト1216の例、図8及び図9はリスト作成処理の動作例を表わすフローチャートである。
【0069】
まず、リスト1216の例について説明する。図7に表わされるように、リスト1216には、アプリケーションごとに「属性」、「動作状態」、及び「終了可否」の各項目について情報が記憶される。リスト作成処理により、例えば、リスト1216の各項目に情報が記憶される。
【0070】
「属性」は、例えば、バックライトオフのときに自動で終了させるアプリケーションか、バックライトオフのときでも終了させないアプリケーションかを表わす項目であり、アプリケーションごとに固有の値とすることができる。リスト1216の「属性」の項目には、前者を「省電力対応終了禁止」、後者を「省電力対応終了許可」として記憶される。例えば、電子メールを作成し送信するアプリケーションについては「省電力対応終了許可」とすることができるし、待受画面を表示するアプリケーションについては「省電力対応終了禁止」とすることができる。
【0071】
「属性」は、例えばユーザの入力設定によりリスト1216に記憶されることができる。例えば、CPU115はROM111から入力設定のためのプログラムを読み出して、表示制御部102に対してアプリケーションの一覧リストを表示させるよう指示する。ユーザはLCD103に表示されたアプリケーションの一覧リストから、終了してもよい(「省電力対応終了許可」)又は終了してはいけない(「省電力対応終了禁止」)アプリケーションをキー101の操作などにより選択する。選択されたアプリケーションに関する情報は、キー101などからCPU115を介してメモリ制御部120に出力される。履歴管理部1214は省電力制御部1213などを介して受け取ったアプリケーションに関する情報に基づいて、リスト1216における対応するアプリケーションの「属性」の項目に「省電力終了許可」又は「省電力終了禁止」を記憶することができる。「属性」は、ユーザによる設定以外にも、例えば工場出荷の際などにおいて予め記憶されるようにしてもよい。この場合も、例えば、アプリケーションごとに「省電力終了許可」又は「省電力終了禁止」の情報がリスト1216に記憶されることになる。
【0072】
「動作状態」は、例えば、動作しているアプリケーションの状態を表わす項目であり、アプリケーションの動作状況に応じて変化する項目である。「動作状態」には、「動作中」、「バックグランド動作中」、又は「待機中」の3つの状態があり、3つの状態のうちいずれかが「動作状態」としてリスト1216に記憶される。
【0073】
このうち「動作中」は、例えば、LCD103の画面上においてトップ画面においてアプリケーションが動作している状態を表わしている。また、「バックグランド動作中」は、例えば、トップ画面で動作しているアプリケーションに対してバックグランドにてアプリケーションが動作している状態を表わしている。さらに、「待機中」は、例えば、トップ画面で動作しているアプリケーションに対してバックグランドにてアプリケーションが待機している状態を表わしている。例えば、履歴管理部1214は、省電力制御部1213から通知されるアプリケーションの起動開始や起動完了などの通知に基づいて動作状態を判別し、リスト1216に記憶することができる。「動作状態」の登録処理については後述する。
【0074】
「終了可否」は、例えば、他のアプリケーションと連携して起動されたアプリケーションに対する起動元のアプリケーションか否かを表わす項目である。また、「終了可否」についても、例えば、アプリケーションの動作状況に応じて変化する項目である。例えば、「終了可否」の項目には、起動元のアプリケーションのときは「否」(例えば終了してはいけない)、他のアプリケーションと連携せず単独で動作するアプリケーションのときは「可」(例えば終了してもよい)の各情報が記憶される。「終了可否」の登録処理についても後述する。
【0075】
上述したように、「属性」はアプリケーションごとに固有の値であり、「動作状態」と「終了可否」はアプリケーションの動作状況によって変化する項目である。例えば、本第2の実施の形態を含む以下の実施の形態においては、「動作状態」と「終了可否」とを合わせて、動作状況と称することがある。
【0076】
「属性」のリスト1216への登録については、上述したようにユーザによる設定などによりリスト1216に記憶される。動作状況についてのリスト1216の登録処理について、以下に説明する。最初に「動作状態」のリスト1216への登録処理について説明し、次に「終了可否」のリスト1216への設定処理について説明する。
【0077】
<「動作状態」の登録処理>
図8は「動作状態」の登録処理の動作例を表わすフローチャートである。例えば、履歴管理部1214において、アプリケーションプログラムの起動完了や終了完了などのイベントが発生したことを省電力制御部1213で検知すると行われる処理である。本登録処理は各アプリケーションについて行われる処理でもある。
【0078】
履歴管理部1214は処理を開始すると(S10)、アプリケーションがTOPにて動作しているか否かを判別する(S11)。
【0079】
例えば、履歴管理部1214は、省電力制御部1213からアプリケーションプログラムの起動開始を表わす通知を受け取ると、各アプリケーションプログラムの動作状況を動作テーブルに記憶することができる。
【0080】
図9(A)及び図9(B)は第1の記憶部1215に記憶される動作テーブル1217の例を表わす図である。例えば、履歴管理部1214は、アプリケーションプログラムAの起動開始の通知を受け取ると、動作テーブル1217の最も上位の項目(図9(A)の例では「1」番目の項目)に、起動を開始したアプリケーションプログラムに対応するアプリケーションの識別番号又は名称などを記憶する。
【0081】
図9(A)の例では、「アプリケーションA」が「1」番目の項目に記憶されている。その後、例えば、履歴管理部1214は他のアプリケーションプログラムの起動開始の通知を受け取ると、動作テーブル1217の最上位の項目に他のアプリケーションプログラムに対応するアプリケーションの識別番号又は名称などを記憶する。図9(B)の例では、「アプリケーションX」が「1」番目の項目になり、「アプリケーションA」以降は「2」番目の項目に順次繰り下がって記憶される。
【0082】
起動が開始されたアプリケーションは、例えば、端末装置100において、バックグランドではなく最上位にて動作しているアプリケーションでもある。最上位にて動作しているアプリケーションは、動作テーブル1217において最上位の項目に記憶されている。したがって、履歴管理部1214は動作テーブル1217の最上位の項目に記憶されたアプリケーションをTOPにて動作しているアプリケーションと判別し、それ以外のアプリケーションをTOPにて動作していないアプリケーションと判別することができる。
【0083】
図9(A)の例では、履歴管理部1214は、「アプリケーションA」の起動開始の通知を受けたとき、「アプリケーションA」はTOPで動作するアプリケーションと判別し、「アプリケーションB」などはTOPで動作していないアプリケーションと判別できる。
【0084】
また、図9(B)の例では、履歴管理部1214は、「アプリケーションX」の起動開始の通知を受けたとき、「アプリケーションX」はTOPで動作するアプリケーションと判別し、「アプリケーションA」などはTOPで動作しないアプリケーションと判別できる。
【0085】
図8に戻り、履歴管理部1214は、アプリケーションがTOPにて動作していると判別したとき(S11でYes)、リスト1216におけるアプリケーションの「動作状態」を「動作中」に設定し(S12)、一連の処理を終了する(S13)。例えば、図9(A)の例では、「アプリケーションA」がTOPで動作しているアプリケーションのため、リスト1216では「アプリケーションA」の「動作状態」について「動作中」の情報が記憶される。例えば、図7の例では、「アプリケーションE」がTOPで動作していると判別されて、「動作中」の情報がリスト1216に記憶されている。
【0086】
一方、履歴管理部1214は、アプリケーションがTOPにて動作していないと判別したとき(S11でNo)、アプリケーションがバックグランドで動作しているか否かを判別する(S14)。
【0087】
例えば、動作テーブル1217の例(図9(A)など)において、履歴管理部1214は省電力制御部1213からアプリケーションプログラムの起動終了の通知を受け取ると動作テーブル1217から対応するアプリケーションの項目を削除することができる。履歴管理部1214は動作テーブル1217から削除したアプリケーションの項目を削除テーブルに記憶することができる。削除テーブルについては後述する。
【0088】
他方、履歴管理部1214は、例えば、動作テーブル1217において、TOPにて動作しておらず、かつ、動作テーブル1217から削除されていないアプリケーションはバックグランドで動作しているアプリケーションと判別することができる。よって、履歴管理部1214は、例えば、動作テーブル1217において最上位の項目以外の項目に当該アプリケーションが記憶されているときは、当該アプリケーションはバックグランドとして動作しているアプリケーションと判別することができる。
【0089】
履歴管理部1214は、アプリケーションがバックグランドで動作していると判別したとき(S14でYes)、リスト1216におけるアプリケーションの動作状態を「バックグランド動作中」に設定し(S15)、一連の処理を終了する(S13)。図9(B)の例では、「アプリケーションA」などはバックグランドで動作しているアプリケーションと判別され、リスト1216では「アプリケーションA」の「動作状態」について「バックグランド動作中」の情報が記憶される。図7の例では、「アプリケーションB」がバックグランドで動作していると判別されて、リスト1214において「バックグランド動作中」の情報が記憶されている。
【0090】
一方、履歴管理部1214は、アプリケーションについてバックグランドにて動作していないと判別したとき(S14)、アプリケーションの動作状態を「待機中」に設定する(S16)。
【0091】
例えば、履歴管理部1214は、動作テーブル1217に判別対象のアプリケーションが記憶されておらず、削除テーブルに判別対象のアプリケーションが記憶されているときは、当該アプリケーションについては「待機中」のアプリケーションと判別することができる。
【0092】
図9(C)は削除テーブル1218の例を表わす図である。削除テーブル1218には、例えば、アプリケーションの起動を終了したアプリケーションに関する情報が記憶される。図9(C)の例では「アプリケーションY」が登録されており、アプリケーションYを実行するアプリケーションプログラムの起動が終了したことを表わしている。また、図7の例では、リスト1216には、「アプリケーションA」、「アプリケーションC」、及び「アプリケーションD」について「待機中」の情報が記憶されている。
【0093】
なお、履歴管理部1214は、CPU115又は省電力制御部1213からアプリケーションの解放要求を受けたとき、削除テーブル1218や動作テーブル1217に記憶されたアプリケーションの項目を削除することができる。この場合、省電力制御部1213は解放する仮想アドレスを指定した解放要求をメモリ管理部122に出力し、メモリ管理部122は物理メモリアドレスに変換して対応する物理メモリ130の物理アドレスからアプリケーションプログラムなどを削除することができる。
【0094】
なお、履歴管理部1214は、省電力制御部1213を介してCPU115などから動作再開の通知を受け取ると、削除テーブル1218に記憶したアプリケーションの情報を動作テーブル1217の最上位に記憶することができる。
【0095】
以上により、履歴管理部1214はリスト1216の「動作状態」の項目に「動作中」、「他バックグランド動作中」、又は「待機中」の各情報を記憶することができる。
【0096】
<「終了可否」の登録処理>
次に「終了可否」の登録処理について説明する。「終了可否」とは、例えば、あるアプリケーションが他のアプリケーションから連携して起動された場合における起動元のアプリケーション(他のアプリケーション)か否かを表わしている。
【0097】
例えば、電子メールの本文中にホームページに対するURL(Uniform Resource Locator)が記載され、当該URLに対してブラウザが起動される場合を考える。この場合、ブラウザは電子メールのアプリケーションに対して連携して起動されたアプリケーションであり、起動元のアプリケーションは電子メールのアプリケーションとなる。履歴管理部1214では、このように連携して起動されたアプリケーションに対する起動元のアプリケーションの有無をリスト1216に登録するようにしている。
【0098】
処理の詳細について説明する。図10は「終了可否」の登録処理の動作例を表わすフローチャートである。
【0099】
履歴管理部1214は「終了可否」の登録処理を開始すると(S20)、当該アプリケーションは他のアプリケーションと連携して起動しているときの起動元のアプリケーションか否かを判別する(S21)。起動元のアプリケーションか否かは、例えば、履歴管理部1214が動作テーブル1217に基づいて判別することができる。
【0100】
図11(A)及び図11(B)は動作テーブル1217の例を表わす図である。例えば、あるアプリケーションプログラムが他のアプリケーションプログラムと連携して起動されたとき、履歴管理部1214は動作テーブル1217において連携して起動したことを表わす情報を動作テーブル1217において記憶するようにしている。
【0101】
連携して起動したことを表わす情報として、例えば、図11(A)に表わされるようにポインタ情報が記憶されるようにしてもよい。例えば、連携起動したアプリケーションの項目が記憶されたアドレスの情報を起動元のアプリケーションの項目に記憶するようにする。図11(A)の例では、「アプリケーションY」は「アプリケーションA」と連携して起動されたことを表わしている。この場合、例えば、動作テーブル1217においては動作順に各アプリケーションの項目が登録されるため、「アプリケーションY」は「アプリケーションA」と連携して起動されたアプリケーションであり、その起動元のアプリケーションは「アプリケーションA」となる。
【0102】
また、連携して起動したことを表わす情報として、例えば、図11(B)に表わされるようにフラグ情報が記憶されるようにしてもよい。この場合も、動作テーブル1217においては動作順に各アプリケーションの項目が登録されるため、「アプリケーションY」は「アプリケーションA」と連携して起動され、起動元のアプリケーションは「アプリケーションA」となる。
【0103】
このような連携動作は、例えば、履歴管理部1214が省電力制御部1213から連携して起動されたことを表わす通知を受け取ることで動作テーブル1217において連携した起動されたことを表わす情報を記憶することができる。
【0104】
例えば、APL起動処理部1211はアプリケーションプログラムの実行途中において、当該プログラムに含まれ、当該プログラムと連携して起動する他のアプリケーションプログラムの有無を識別することができる。そして、APL起動処理部1211は、連携起動する他のアプリケーションプログラムの実行開始命令をCPU115から受け取ると、省電力制御部1213に当該他のアプリケーションプログラムが連携起動することを表わす通知を出力し、省電力制御部1213はこの通知を履歴管理部1214に出力するようにしている。
【0105】
よって、履歴管理部1214は動作テーブル1217を検索し、当該アプリケーションプログラムが他のアプリケーションと連携して起動したことを表わす情報が記憶されているとき、動作順位が下位のアプリケーションは起動元のアプリケーションと判別できる(S21でYes)。一方、履歴管理部1214は、当該アプリケーションプログラムが他のアプリケーションプログラムと連携して起動していることを表わす情報が記憶されていないとき、当該アプリケーションは起動元のアプリケーションではないと判別できる(S21でNo)。或いは、履歴管理部1214は、当該アプリケーションが連携して起動したことを表わす情報が記憶されているときであっても、起動元のアプリケーションに対して動作順位が上位のアプリケーションは起動元のアプリケーションではないと判別できる(S21でNo)。
【0106】
図10に戻り、履歴管理部1214は当該アプリケーションが起動元のアプリケーションであると判別したとき(S21でYes)、リスト1216におけるアプリケーションの「終了可否」として「否」を記憶し(S22)、本登録処理を終了する(S23)。図7のリスト1216の例では、履歴管理部1214は「アプリケーションB」や「アプリケーションC」などは起動元のアプリケーションとして「否」を記憶している。
【0107】
一方、履歴管理部1214は、当該アプリケーションが連携起動したアプリケーションの起動元のアプリケーションではないと判別したとき(S21でNo)、リスト1216における「終了可否」として「可」を記憶し(S24)、一連の処理を終了する。
【0108】
例えば、図7の例では、「アプリケーションA」や「アプリケーションD」は他のアプリケーションから連携して起動されたアプリケーションではないため、「終了可否」の項目には「可」が記憶されている。
【0109】
以上により「終了可否」の登録処理が終了し、リスト1216における「終了可否」の項目に「否」又は「可」が記憶される。
【0110】
なお、「終了可否」の登録処理(例えば図10)と「動作状態」の登録処理(例えば図8)についてはその順番はどちらでもよく、「終了可否」の登録処理を先に行い、その後、「動作状態」の登録処理を行うようにしてもよい。
【0111】
以上の処理により、リスト1216への登録が終了する。そして、端末装置100は作成したリスト1216に基づいて決定処理を行う。
【0112】
<決定処理の例>
次に決定処理の動作例について説明する。図12は決定処理の動作例を表わすフローチャート、図13から図15は決定処理により物理メモリ130における記憶領域が変更されることを説明するための図である。決定処理は、例えば、履歴管理部1214において行われ、リスト1216に登録された全てのアプリケーションに対して行われる。
【0113】
図12に表わされるように、履歴管理部1214は決定処理を開始すると(S30)、省電力制御部1213からバックライトオフ要求を受け取る(S31)。
【0114】
バックライトオフ要求は、例えば、端末装置100が待機状態(又は省電力状態)に移行するための要求の一つである。本決定処理は、履歴管理部1214がこのバックライトオフ要求を受け取ることを契機にして処理を開始し、バックライトオフ要求を受け取らないときは登録処理を開始しないようにすることができる。
【0115】
履歴管理部1214は、バックライトオフ要求を受け取ると(S31)、アプリケーションが動作中又はバックグランドで動作しているか否かを判別する(S32)。
【0116】
例えば、履歴管理部1214は、リスト1216に記憶された「動作状態」に基づいて本S32の処理を判別することができる。図7の例において、履歴管理部1214は「アプリケーションB」と「アプリケーションE」については、動作状態がそれぞれ「バックグランド動作中」と「動作中」となっているため、アプリケーションが動作中又はバックグランドで動作中と判別することができる(S32でYes)。
【0117】
一方、図7の例において、履歴管理部1214は「アプリケーションA」などは「動作状態」が「待機中」のため、「アプリケーションA」についてはアプリケーションが動作中でなく、かつ、バックグランドで動作していないと判別できる(S32でNo)。
【0118】
図12に戻り、履歴管理部1214は、当該アプリケーションが動作中又はバックグランドで動作中のとき(S32でYes)、当該アプリケーションについては「Active」のダイを使用することを決定する(S33)。例えば、履歴管理部1214は、動作中又はバックグランドで動作中のアプリケーションについては、継続して動作することができるようにするため、Acitiveのダイを使用するようにしている(S33)。図7の例では、履歴管理部1214は、「アプリケーションB」と「アプリケーションE」については「Active」のダイを使用することを決定している。
【0119】
なお、本第2の実施の形態では、物理メモリ130は図3に表わされるように3つのダイA、ダイB、ダイCを有しているものとし、ダイAを「Avitive」のダイとすることができる。よって、履歴管理部1214はアプリケーションが動作中またはバックグランド動作中のときは(S32でYes)、当該アプリケーションについてはダイAを使用することを決定する。これにより、本端末装置100は、動作中またはバックグランド動作中のアプリケーションについてバックライトオフとなっても継続して実行することができる。
【0120】
一方、履歴管理部1214は、当該アプリケーションが動作中でなく、かつ、バックグランドで動作していないと判別したとき(S32)、当該アプリケーションの「終了可否」を判別する(S34)。
【0121】
例えば、履歴管理部1214は、動作状態が「待機中」のアプリケーションについては、連携して起動されたアプリケーションの起動元のアプリケーションか否かを判別するようにしている。判別対象のアプリケーションが連携起動されたアプリケーションの起動元のアプリケーションである場合、そのようなアプリケーションが「Power off」状態のダイに記憶され電源供給が停止されると、起動元のアプリケーションは実行されなくなる。この場合、起動先のアプリケーションとの間で情報の交換ができず、起動先のアプリケーションが継続して動作できなくなることもある。
【0122】
よって、履歴管理部1214は、判別対象のアプリケーションが「待機中」であっても(S32でNo)、連携起動したアプリケーションの起動元になっているアプリケーション(S34でYes)のときは、「Self−refresh」のダイを使用することを決定する(S35)。図7の例では、履歴管理部1214は「アプリケーションC」については動作状態が「待機中」であり、終了可否が「否」となっているため、「Self−refresh」のダイを使用することを決定する。
【0123】
これにより、例えば、連携起動したアプリケーションに対する起動元のアプリケーションは停止されず、起動先のアプリケーションとの間で情報のやりとりを行うことができる状態となり、起動先のアプリケーションは継続して動作することができる。
【0124】
なお、物理メモリ130におけるダイBを「Self−refresh」のダイとすることができ(例えば図3)、履歴管理部1214はダイBを使用することを決定することができる(S35)。
【0125】
一方、履歴管理部1214は、「待機中」であり(S32でNo)、連携起動したアプリケーションの起動元のアプリケーションとなっていないとき(S34でNo)、例えばユーザにより設定された「属性」により使用するダイを決定するようにしている(S36)。
【0126】
すなわち、履歴管理部1214は、判別対象のアプリケーションについて、リスト1216の「属性」の項目に「省電力対応終了許可」が記憶されているとき(S36でYes)、「Power off」のダイを使用することを決定する。
【0127】
例えば、アプリケーションが「待機中」であり(S32でNo)、起動元のアプリケーションとはなっておらず(S34でNo)、例えばユーザが終了してもよいアプリケーションと設定したとき(S36でYes)、当該アプリケーションはPower offのダイが使用される。図7の例では、履歴管理部1214は「アプリケーションA」と「アプリケーションD」については、「省電力対応終了許可」となっているため、「Power off」のダイを使用することを決定する。
【0128】
なお、物理メモリ130におけるダイCを「Power off」のダイとすることができ(例えば図3)、履歴管理部1214はダイCを使用することを決定することができる(S37)。
【0129】
一方、履歴管理部1214は、判別対象のアプリケーションについて、リスト1216の「属性」の項目に「省電力対応終了禁止」が記憶されているとき(S36でNo)、「Self−refresh」のダイを使用することを決定する(S35)。
【0130】
例えば、アプリケーションが「待機中」であり(S32でNo)、起動元のアプリケーションとはなっておらず(S34でNo)、例えばユーザが終了禁止と設定したとき(S36でNo)、当該アプリケーションは「Self−refresh」のダイが使用される。図7の例では、履歴管理部1214は「アプリケーションC」について「省電力対応終了禁止」となっているため、「Self−refresh」のダイ(例えばダイB)を使用することを決定する。
【0131】
そして、履歴管理部1214は、アプリケーションごとに使用するダイを決定すると(S33,S35,S37)、省電力制御部1213を介してメモリ管理部122に対して、各アプリケーションについてどのダイを使用するかの情報を通知する(S38)。
【0132】
例えば、図7の例では、「アプリケーションA」はダイCが使用される。また、図5に表わされるように「アプリケーションプログラムA」については仮想アドレス「4」番地と「5」番地(物理アドレスはブロックA−bとブロックB−bのアドレス)に記憶されているものとする。
【0133】
この場合、履歴管理部1214は、例えばアプリケーションAについてはダイCを使用することを省電力制御部1213に通知し、省電力制御部1213はこれをメモリ管理部122に通知する。メモリ管理部122は、この通知に基づいて、アプリケーションプログラムなどが記憶された物理メモリ130上の領域をダイCに移動させるようにする。これにより、例えば、アプリケーションAが使用される物理メモリ130における記憶領域がダイA又はダイBからダイCに移動することになる。
【0134】
図13は図3の物理メモリに対してアプリケーションプログラムAの記憶領域を移動した後の物理メモリ130の例を表わしている。メモリ管理部122は、例えば、ブロックA−bとブロックB−bに記憶されたアプリケーションAのプログラムなどを、ダイCの領域であるブロックC−aとブロックC−bに移動させて記憶するようにする。
【0135】
また、メモリ管理部122はアドレス変換テーブル1231における物理メモリ130における物理アドレスを変更して記憶することができる。図14は図6にアドレス変換テーブル1231に対して変更後のアドレス変換テーブル1231の例を表わしている。図14に表わされるように、メモリ管理部122は、アドレス変換テーブル1231において、ブロックA−bの物理アドレスとブロックC−aの物理アドレスとを交換して記憶するようにする。また、メモリ管理部122は、アドレス変換テーブル1231において、ブロックB−bの物理アドレスとブロックC−bの物理アドレスとを交換して記憶するようにする。
【0136】
これにより、例えば、仮想メモリのアドレス「4」番地は、物理メモリ130におけるブロックC−aの物理アドレスと対応することになる。また、仮想メモリのアドレス「5」番地は、物理メモリ130におけるブロックC−bの物理アドレスと対応することになる。これにより、アドレス変換テーブル1231には、物理メモリ130における記憶領域変更後の物理メモリ130における物理アドレスに対応するものとすることができる。
【0137】
このように、アドレス変換テーブル1231については、物理アドレスの変更前後において仮想アドレスそのものについては変更されず、仮想アドレスに記憶される値そのものも変更されない。例えば、アプリケーションプログラムAについては変更前後でいずれも仮想アドレスは「4」番地と「5」番地となっており仮想アドレスについては変更されていない。
【0138】
このことは、例えば、省電力制御部1213が物理メモリ130に対してアクセスする仮想メモリ上のアドレスを指定するとき、仮想メモリ上のアドレス自体に変更はないことを表わしている。従って、省電力制御部1213は仮想メモリのアドレスを変更して指示するなどの処理を行うことがなくなり、変更する場合と比較して、例えば端末装置100に対する処理の負荷を軽減することができ、また省電力制御部1213に対する消費電力の削減を図ることもできる。
【0139】
なお、物理メモリ130における記憶領域の変更(例えば図13)とアドレス変換テーブル1231の変更(例えば図14)の順番は問わない。先にアドレス変換テーブル12131の変更が行われて、その後、物理メモリ130における記憶領域の変更が行われるようにしてもよい。
【0140】
図13及び図14の例はアプリケーションAについての例を示したが、例えば、他のアプリケーションについても、物理メモリ130を変更後のものに移動させて記憶させて使用領域を変更し、アドレス変換テーブル1231を変更後のアドレスに書き換えることで同様に変更できる。
【0141】
ただし、各アプリケーションについて使用するダイが決定されたとき(S33,S35,S37)、ダイに変更がなく、物理メモリ130における物理アドレス自体も変更がない場合もある。この場合は、メモリ管理部122は記憶領域の変更やアドレス変換テーブル1213の変更などの処理を行わないようにすることもできる。
【0142】
図15は変更後の仮想メモリのアドレスと物理メモリ130のアドレスとの対応関係を表わす図である。仮想メモリ空間に変更はなく(仮想メモリのアドレスとそのアドレス内の値に変更はなく)、アドレス変換テーブル1231と物理メモリ130の記憶領域の変更により実施することができる。
【0143】
例えば、ダイAに記憶されたアプリケーションプログラムなどがダイBに変更して記憶される場合もあるし、ダイBに記憶されたアプリケーションプログラムなどがダイCに変更して記憶される場合もある。上述した「アプリケーションA」は、ダイAからダイCに変更して記憶される例を表わしている。例えば、アプリケーションが使用する物理メモリ130の記憶領域がより消費電力の少ないダイに移動されることができる。
【0144】
図12に戻り、履歴管理部1214がメモリ管理部122にアプリケーションごとにどのダイを使用するかを通知すると(S38)、次いで、省電力制御部1213は物理メモリ130における「Power off」のダイの電源をオフにさせる(S39)。例えば、省電力制御部1213は物理メモリ130のうちダイCへの電源をオフにするよう物理メモリ130のダイCを制御する。これにより、ダイCの電源は供給されなくなり、ダイCに変更して記憶されたアプリケーションプログラムなどの情報は物理メモリ130から削除され、対応するアプリケーションは終了することになる。
【0145】
そして、履歴管理部1214は決定処理を終了する(S40)。
【0146】
例えば、当該アプリケーションが「待機中」のアプリケーションであっても(S32でNo)、連携起動したアプリケーションの起動元となっているアプリケーションは(S34でYes)、履歴管理部1214はバックライトオフになっても終了させないようにしている(S35)。これは上述したように、例えば、連携起動した2つのアプリケーションプログラム間において情報のやり取りが行われる。起動元のアプリケーションの終了によって連携起動したアプリケーションの起動が終了するなどの事態を防止し、端末装置100において継続してアプリケーションを動作させることができる。
【0147】
一方、履歴管理部1214は、当該アプリケーションが「待機中」のアプリケーションであって(S32でNo)、起動元のアプリケーションとはなっていないとき(S34でNo)、例えばユーザによる設定状態に応じてバックライトオフとなったとき終了させるようにしている(S37)。例えば、ユーザが終了させてもよいアプリケーションであると設定したときは、履歴管理部1214は、当該アプリケーションはバックライトオフ(S31)を契機にして終了させるようにすることができる(S37)。他方、例えばユーザが終了させないように設定されたアプリケーションのときは(S36でNo)、履歴管理部1214はバックライトオフになっても当該アプリケーションをも終了させず、記憶した情報を保持する状態となるようにすることができる(S35)。
【0148】
各ダイの消費電力については、例えば、ダイAがActiveのダイのため、3つのダイの中で最も消費電力が大きく、次いでダイB、最も消費電力が少ないのはダイCとなる。よって、ダイAに記憶された全てのアプリケーションがダイBやダイCに変更して記憶されることで、ダイAへの電源供給を停止することができ、端末装置100における消費電力の削減を図ることができる。また、ブロック単位で物理メモリ130に対する電源供給が制御されることができれば、例えば、ダイAのブロックA−aに記憶されたアプリケーションプログラムをダイBやダイCに変更して記憶されることで、ブロックA−aへの電源供給を停止することができ、そのブロックへの電源供給の分、消費電力の削減を図ることができる。
【0149】
図16はバックライトオンとバックライトオフとで各ダイがどのような状態になるかを表わす状態遷移の例を表わす図である。図16の例において、「間欠受信なし」、「間欠受信あり」とあるのは端末装置100が無線基地局などと無線通信を行っているか否かを表わしており、無線通信を行っていないときは「間欠受信なし」、無線通信を行っているときは「間欠受信あり」となる。
【0150】
上述した例では、説明の容易のため「間欠受信なし」の例で説明した。状態遷移図において、「間欠受信なし」の場合、例えば、ダイA及びダイBはその状態に変化はなく、ダイCはバックライトオンからオフになると、「Self‐refresh」から「Power off」へと状態遷移する。
【0151】
他方、端末装置100が「間欠受信中」のとき、例えば端末装置100が無線基地局装置を介してアプリケーションプログラムなどのダウンロードを行っているとき、例えば「間欠受信」を実行しているプログラム自体がTOP動作していることになる。この場合、例えば、他のアプリケーションプログラムは「待機中」の状態となる。
【0152】
よって、図16の状態遷移図において、バックライトオンのときにおいて「間欠受信中」の各ダイは「Self‐refresh」の状態となっている。そして、本端末装置100は、「間欠受信中」においてバックライトオフになると、ダイCについて「Power off」の状態に遷移させるようにしている。ダイAやダイBに記憶されたアプリケーションプログラムがダイCに変更して記憶されることで、上述した例と同様に消費電力の削減を図ることができる。
【0153】
なお、「間欠受信中」のときの各アプリケーションについては、図12の決定処理の例においてS32の処理について、「間欠受信中」のプログラムそのものがTOP動作となり、それ以外に実行されたアプリケーションは「待機中」となるため、すべてNoが選択される。以後は、各アプリケーションについてリスト1216に基づいて「終了可否」と「属性」とが判別され(S34,S36)、どのダイが使用されるかが決定される(S35,S37)。
【0154】
[その他の実施の形態]
次にその他の実施の形態について説明する。図17は端末装置100のその他の例を表わす図である。端末装置100について無線通信機能(例えばRF制御部105、RF部106、及びアンテナ107)がない場合の例である。この場合の端末装置100としては、例えば、無線通信機能のない据え置き型のパーソナルコンピュータなどがある。この場合、図16の状態遷移図においては、例えば「間欠受信中」に対応する状態遷移がなくなり、第2の実施の形態で説明した「間欠受信なし」の例と同様に実施することができる。
【0155】
図18は端末装置100のその他の構成例を表わす図である。図18は端末装置100のハードウェア構成の一例を表わしている。端末装置100は、さらに、DSP(Digital Signal Processing)150を備える。
【0156】
DSP150は、例えば、第2の実施の形態における表示制御部102、RF制御部105、タイマー制御部108、及び電源部制御部109に対応する。DSP150は、例えば、CPU115からの指示に基づいて、LCD103に映像などを表示させるときに画素ごとの階調値に対応した電圧信号などを生成してLCD103に出力することで、LCD103に対する画面の表示などを制御することができる。また、DSP150は、例えば、CPU115からの指示に基づいて、RF部106から出力されたベースバンド信号に対して、復調処理や復号化処理などを行うことでデータなどを抽出することもできる。さらに、DSP部150は、例えば、CPU115からの指示に基づいて、他の処理部から出力されたデータに対して、符号化処理や復調処理などを行いベースバンド信号としてRF部106に出力することもできる。さらに、DSP150は、CPU115からの指示に基づいてタイマーに対して時間を設定したり、電源部110に対する電源のオン又はオフを制御することもできる。
【0157】
また、上述した例では物理メモリ130としてRAMなどの揮発性メモリについて説明した。例えば、物理メモリ130はフラッシュメモリなどの不揮発性メモリであってもよい。この場合でも、端末装置100は、物理メモリ130は複数のダイを有し、かつ、その一部については他よりも消費電力が少ないダイを有しており、そのダイに情報を記憶することができる。
【0158】
さらに、上述した例において物理メモリ130は複数のダイを有するものとして説明した。例えば1つのダイにおいて複数の記憶領域を有し、その一部の記憶領域が他の記憶領域よりも消費電力が少ないものであれば上述した例と同様に実施することができる。
【0159】
さらに、上述した例においてアプリケーション制御部121はメモリ制御部120に含まれるものとして説明した。アプリケーション制御部121は、例えば、CPU115に含まれるものでもよいし、メモリ制御部120とCPU115との間に接続されるようにしてもよい。
【0160】
以上まとめると付記のようになる。
【0161】
(付記1)
アプリケーションプログラムを記憶部に記憶させて前記アプリケーションプログラムを実行することで前記アプリケーションプログラムに対応するアプリケーションを動作させる端末装置において、
省電力状態に移行するとき、前記アプリケーションの動作状況と属性に基づいて、前記アプリケーションプログラムが使用される前記記憶部における記憶領域を第1の記憶領域から前記第1の記憶領域より消費電力の少ない第2の記憶領域に移動させるよう前記記憶部を制御するアプリケーション制御部
を備えることを特徴とする端末装置。
【0162】
(付記2)
前記アプリケーションの動作状況は、前記アプリケーションが動作している状態か又は前記アプリケーションに対応する前記アプリケーションプログラムが前記記憶部に記憶されているが前記アプリケーションが動作していない状態か表わす第1の情報と、連携起動した他のアプリケーションに対する起動元のアプリケーションか否かを表わす第2の情報を含み、前記アプリケーションの属性は、前記端末装置が省電力状態に移行するとき終了させるアプリケーションか否かを表わす第3の情報を含み、
前記アプリケーション制御部は、前記第1、第2、及び第3の情報を記憶する管理記憶部を備え、
前記アプリケーション制御部は前記管理記憶部に記憶された前記第1、第2、及び第3の情報に基づいて前記記憶領域を前記第1の記憶領域から前記第2の記憶領域に移動させることを特徴とする付記1記載の端末装置。
【0163】
(付記3)
前記アプリケーション制御部は、前記管理記憶部に記憶された前記第1の情報が、前記アプリケーションに対応する前記アプリケーションプログラムが前記記憶部に記憶されているが前記アプリケーションが動作していない状態を表わし、かつ、前記第2の情報が前記連携起動した他のアプリケーションに対する起動元のアプリケーションではないことを表わし、かつ、前記第3の情報が省電力状態に移行したときに終了させるアプリケーションであることを表わしているとき、当該アプリケーションに対応する前記アプリケーションプログラムが使用される前記記憶領域を電源供給が停止される前記第2の記憶領域に移動させるよう前記記憶部を制御することを特徴とする付記2記載の端末装置。
【0164】
(付記4)
前記記憶部は、前記記憶領域に対するアクセスが行われるアクティブ領域と、前記記憶領域に対するアクセスが行われず前記記憶領域に情報を保持するセルフリフレッシュ領域と、電源供給が停止されるパワーオフ領域とを含み、
前記第1の記憶領域が前記アクティブ領域のときは前記第2の記憶領域は前記セルフリフレッシュ領域又は前記パワーオフ領域であり、前記第1の領域が前記セルフリフレッシュ領域のときは前記第2の領域はパワーオフ領域であることを特徴とする付記2記載の端末装置。
【0165】
(付記5)
前記アプリケーション制御部は、前記管理記憶部に記憶された前記第1の情報が、前記アプリケーションが動作している状態を表わしているとき、当該アプリケーションが使用する前記記憶領域を前記アクティブ領域又は前記セルフリフレッシュ領域に移動させることを特徴とする付記4記載の端末装置。
【0166】
(付記6)
前記アプリケーション制御部は、前記第1の情報が、前記アプリケーションに対応する前記アプリケーションプログラムが前記記憶部に記憶されているが前記アプリケーションが動作していない状態を表わし、かつ、前記第2の情報が、連携起動した他のアプリケーションに対する起動元のアプリケーションとなっていることを表わしているときは、当該アプリケーションが使用する前記記憶領域を前記セルフリフレッシュ領域に移動させることを特徴とする付記4記載の端末装置。
【0167】
(付記7)
前記アプリケーション制御部は、前記第1の情報が、前記前記アプリケーションに対応する前記アプリケーションプログラムが前記記憶部に記憶されているが前記アプリケーションが動作していない状態を表わし、かつ、前記第2の情報が、連携起動した他のアプリケーションに対する起動元のアプリケーションとなっていないことを表わし、かつ、前記第3の情報が、前記端末装置が省電力状態に移行するとき終了させないアプリケーションであることを表わしているとき、当該アプリケーションが使用する前記記憶領域を前記セルフリフレッシュ領域に移動させることを特徴とする付記4記載の端末装置。
【0168】
(付記8)
前記アプリケーション制御部は、前記アプリケーションプログラムが起動される順番に基づいて前記第1の情報を前記管理記憶部に記憶することを特徴とする付記2記載の端末装置。
【0169】
(付記9)
前記アプリケーション制御部は、前記アプリケーションプログラムが起動される順番と前記アプリケーションプログラムの連携起動の有無に基づいて、前記第2の情報を前記管理記憶部に記憶することを特徴とする付記2記載の端末装置。
【0170】
(付記10)
前記アプリケーション制御部は、前記アプリケーションごとに予め決められた前記第3の情報を前記管理記憶部に記憶することを特徴とする付記2記載の端末装置。
【0171】
(付記11)
更に、無線基地局装置と無線通信を行う無線通信部を備えることを特徴とする付記1記載の端末装置。
【0172】
(付記12)
アプリケーションプログラムを記憶部に記憶させて前記アプリケーションプログラムを実行することで前記アプリケーションプログラムに対応するアプリケーションを動作させる端末装置におけるメモリ制御方法であって、
省電力状態に移行するとき、前記アプリケーションの動作状況と属性に基づいて、前記アプリケーションプログラムが使用される前記記憶部における記憶領域を第1の記憶領域から前記第1の記憶領域より消費電力の少ない第2の記憶領域に移動させるようアプリケーション制御部により前記記憶部を制御する、
ことを特徴とするメモリ制御方法。
【0173】
(付記13)
アプリケーションプログラムを記憶する記憶部と、アプリケーション制御部とを有し、前記記憶部に前記アプリケーションプログラムを記憶させて前記アプリケーションプログラムを実行することで前記アプリケーションプログラムに対応するアプリケーションを動作させる端末装置において実行されるメモリ制御プログラムにおいて、
前記アプリケーション制御部に、
省電力状態に移行するとき、前記アプリケーションの動作状況と属性に基づいて、前記アプリケーションプログラムが使用される前記記憶部における記憶領域を第1の記憶領域から前記第1の記憶領域より消費電力の少ない第2の記憶領域に移動させる処理を
実行させることを特徴とするメモリ制御プログラム。
【符号の説明】
【0174】
100:端末装置 102:表示制御部
103:LCD 104:バックライト
105:RF制御部 106:RF部
107:アンテナ 111:ROM
120:メモリ制御部(MMU) 121:アプリケーション制御部
122:メモリ管理部 123:第2の記憶部
1211:APL起動処理部 1212:APL起動終了部
1213:省電力制御部 1214:履歴管理部
1215:第1の記憶部 1216:リスト
1217:動作テーブル 1218:削除テーブル
1231:アドレス変換テーブル 131:第1の記憶領域
132:第2の記憶領域

【特許請求の範囲】
【請求項1】
アプリケーションプログラムを記憶部に記憶させて前記アプリケーションプログラムを実行することで前記アプリケーションプログラムに対応するアプリケーションを動作させる端末装置において、
省電力状態に移行するとき、前記アプリケーションの動作状況と属性に基づいて、前記アプリケーションプログラムが使用される前記記憶部における記憶領域を第1の記憶領域から前記第1の記憶領域より消費電力の少ない第2の記憶領域に移動させるよう前記記憶部を制御するアプリケーション制御部
を備えることを特徴とする端末装置。
【請求項2】
前記アプリケーションの動作状況は、前記アプリケーションが動作している状態か又は前記アプリケーションに対応する前記アプリケーションプログラムが前記記憶部に記憶されているが前記アプリケーションが動作していない状態か表わす第1の情報と、連携起動した他のアプリケーションに対する起動元のアプリケーションか否かを表わす第2の情報を含み、前記アプリケーションの属性は、前記端末装置が省電力状態に移行するとき終了させるアプリケーションか否かを表わす第3の情報を含み、
前記アプリケーション制御部は、前記第1、第2、及び第3の情報を記憶する管理記憶部を備え、
前記アプリケーション制御部は前記管理記憶部に記憶された前記第1、第2、及び第3の情報に基づいて前記記憶領域を前記第1の記憶領域から前記第2の記憶領域に移動させることを特徴とする請求項1記載の端末装置。
【請求項3】
前記アプリケーション制御部は、前記管理記憶部に記憶された前記第1の情報が、前記アプリケーションに対応する前記アプリケーションプログラムが前記記憶部に記憶されているが前記アプリケーションが動作していない状態を表わし、かつ、前記第2の情報が前記連携起動した他のアプリケーションに対する起動元のアプリケーションではないことを表わし、かつ、前記第3の情報が省電力状態に移行したときに終了させるアプリケーションであることを表わしているとき、当該アプリケーションに対応する前記アプリケーションプログラムが使用される前記記憶領域を電源供給が停止される前記第2の記憶領域に移動させるよう前記記憶部を制御することを特徴とする請求項2記載の端末装置。
【請求項4】
更に、無線基地局装置と無線通信を行う無線通信部を備えることを特徴とする請求項1記載の端末装置。
【請求項5】
アプリケーションプログラムを記憶部に記憶させて前記アプリケーションプログラムを実行することで前記アプリケーションプログラムに対応するアプリケーションを動作させる端末装置におけるメモリ制御方法であって、
省電力状態に移行するとき、前記アプリケーションの動作状況と属性に基づいて、前記アプリケーションプログラムが使用される前記記憶部における記憶領域を第1の記憶領域から前記第1の記憶領域より消費電力の少ない第2の記憶領域に移動させるようアプリケーション制御部により前記記憶部を制御する、
ことを特徴とするメモリ制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2013−45338(P2013−45338A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−183576(P2011−183576)
【出願日】平成23年8月25日(2011.8.25)
【出願人】(310022372)富士通モバイルコミュニケーションズ株式会社 (219)
【Fターム(参考)】