(57)【要約】【課題】ガーベッジコレクション処理を本来のタスク処理に悪影響を及ぼすことなく一定以上の頻度で実行でき、本来のタスク処理を保障しつつ適切なメモリ管理を実現する。【解決手段】記憶部１３に対するデータの書き込み処理が行われた場合に、当該記憶部１３に対するガーベッジコレクション処理の要否を判定し、ガーベッジコレクション処理が必要と判定された場合に、実行中又は実行予定のタスクを判定する。そして、上記判定された実行中又は実行予定のタスクとガーベッジコレクション処理の優先順位の関係に応じてガーベッジコレクション処理の実行頻度を表すパラメータを設定し、設定されたパラメータに従いガーベッジコレクション処理を実行する。また、バッテリ残量が低下しかつ充電が行われていない場合にも、ガーベッジコレクション処理の実行頻度を低く設定すべくパラメータを設定してガーベッジコレクション処理を実行するようにしたものである。【選択図】      図１
2006126975.tif 000002
【特許請求の範囲】
【請求項１】
複数の動作モードの処理及びメモリに対するガーベッジコレクション処理を選択的に実行する情報端末装置であって、
前記メモリに対するデータの書き込み処理が行われた場合に、当該メモリに対するガーベッジコレクション処理の要否を判定する手段と、
前記ガーベッジコレクション処理が必要と判定された場合に、実行中又は実行予定の動作モードを判定する手段と、
前記判定された実行中又は実行予定の動作モードに応じて、前記ガーベッジコレクション処理の実行頻度を設定する手段と、
前記設定された実行頻度に従い、前記メモリに対しガーベッジコレクション処理を実行する手段と
を具備することを特徴とする情報端末装置。
【請求項２】
前記ガーベッジコレクション処理が必要データの再配置処理及び不要データの消去処理を含む場合に、
前記実行頻度を設定する手段は、前記判定された実行中又は実行予定の動作モードに応じて、必要データの再配置処理の頻度と不要データの消去処理の頻度とを独立に設定することを特徴とする請求項１記載の情報端末装置。
【請求項３】
前記メモリが複数の単位記憶領域を備える場合に、
前記実行頻度を設定する手段は、前記判定された実行中又は実行予定の動作モードに応じて、前記必要データ再配置処理の実行周期と、１回の必要データ再配置処理において実行対象とする単位記憶領域の数を設定することを特徴とする請求項２記載の情報端末装置。
【請求項４】
前記メモリが複数の単位記憶領域を備える場合に、
前記実行頻度を設定する手段は、前記判定された実行中又は実行予定の動作モードに応じて、前記不要データを間欠的に消去するための周期と、１回の消去処理の時間又は１回の消去処理において消去対象とする単位記憶領域の数を設定することを特徴とする請求項２記載の情報端末装置。
【請求項５】
前記実行頻度を設定する手段は、
前記複数の動作モード及び前記ガーベッジコレクション処理に対し予め付与された優先順位を記憶する手段と、
前記判定された実行中又は実行予定の動作モードに付与された優先順位と、前記ガーベッジコレクション処理に付与された優先順位との関係に基づいて、ガーベッジコレクション処理の実行頻度を設定する手段と
を備えることを特徴とする請求項１記載の情報端末装置。
【請求項６】
前記メモリが複数の単位記憶領域を備える場合に、
前記ガーベッジコレクション処理を実行する手段は、
実行中又は実行予定の動作モードの実行処理に必要なメモリの空き記憶容量を推定する手段と、
前記推定された空き記憶容量をもとに、ガーベッジコレクション処理の対象とする単位記憶領域の数を設定する手段と、
前記設定された数の単位記憶領域に対しガーベッジコレクション処理を実行する手段と
を備えることを特徴とする請求項１記載の情報端末装置。
【請求項７】
前記ガーベッジコレクション処理の実行期間中に、動作モードの遷移を監視する手段と、
前記動作モードの遷移が検出された場合に、当該遷移後の動作モードに応じて前記ガーベッジコレクション処理の実行頻度を変更する手段と
を、さらに具備することを特徴とする請求項１記載の情報端末装置。
【請求項８】
複数の動作モードの処理及びメモリに対するガーベッジコレクション処理をプロセッサにより選択的に実行する情報端末装置で使用されるガーベッジコレクション処理のためのプログラムであって、
前記メモリに対するデータの書き込み処理が行われた場合に、当該メモリに対するガーベッジコレクション処理の要否を判定する処理と、
前記ガーベッジコレクション処理が必要と判定された場合に、実行中又は実行予定の動作モードを判定する処理と、
前記判定された実行中又は実行予定の動作モードに応じて、前記ガーベッジコレクション処理の実行頻度を設定する処理と、
前記設定された実行頻度に従い、前記メモリに対しガーベッジコレクション処理を実行する処理と
を、前記プロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、携帯電話機やＰＤＡ（Personal Digital Assistants）等の携帯通信端末、パーソナル・コンピュータ等の情報端末装置に係わり、特にメモリに対するガーベッジコレクション機能を備えた情報端末装置とそのプログラムに関する。
【背景技術】
【０００２】
一般に、携帯電話機やＰＤＡ、パーソナル・コンピュータ等のように種々のタスク処理にメモリを使用する情報端末装置では、メモリに対するガーベッジコレクション機能を備えている。ガーベッジコレクション機能は、メモリ内において使用済みとなった記憶領域を多く含むメモリブロックを検索し、この検索されたメモリブロック内の必要データを他のメモリブロックの空き記憶領域にコピーすると共に、使用済みとなった記憶領域の不要データを消去する機能である。この機能を備えることで、容量の限られたメモリを有効に使用してデータの記憶を行うことが可能となる。
【０００３】
ところで、従来のガーベッジコレクション機能は、例えばＪａｖａ（登録商標）プログラムの実行過程において、スレッドの処理が中断されるごとにこの中断された期間にガーベッジコレクション処理を実行するものとなっている（例えば、特許文献１を参照。）。
【特許文献１】特開２００４−２３４５４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、このような従来のガーベッジコレクション機能では、ＣＰＵにおいてスレッドが実行されている期間にはガーベッジコレクション処理が実行されない。このため、装置本来のタスクが頻繁に実行される装置では、ガーベッジコレクション処理の実行頻度が低下してメモリの未使用領域が枯渇し、その結果タスクの実行に支障が生じるおそれがある。
【０００５】
この発明は上記事情に着目してなされたもので、その目的とするところは、ガーベッジコレクション処理を本来の動作モードにおけるタスク処理に悪影響を及ぼすことなく一定以上の頻度で実行できるようにし、これにより本来のタスク処理を保障しつつ適切なメモリ管理を実現可能とした情報端末装置とそのプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためにこの発明は、複数の動作モードの処理及びメモリに対するガーベッジコレクション処理を選択的に実行する情報端末装置にあって、上記メモリに対するデータの書き込み処理が行われた場合に、当該メモリに対するガーベッジコレクション処理の要否を判定し、ガーベッジコレクション処理が必要と判定された場合に実行中又は実行予定の動作モードを判定する。そして、上記判定された実行中又は実行予定の動作モードに応じてガーベッジコレクション処理の実行頻度を設定し、この設定された実行頻度に従い、上記メモリに対しガーベッジコレクション処理を実行するようにしたものである。
【０００７】
したがってこの発明によれば、実行中又は実行予定の動作モードに応じてガーベッジコレクション処理の実行頻度が設定され、この設定された実行頻度でガーベッジコレクション処理が実行される。すなわち、動作モードごとにそのときのプロセッサの負荷に応じた適切な実行頻度でガーベッジコレクション処理が行われる。このため、プロセッサの負荷を考慮せずにガーベッジコレクション処理を実行する場合に比べ、プロセッサの負荷の増加を抑制して本来のタスク処理を支障なくガーベッジコレクション処理を実行させることができる。また、プロセッサで他のタスクが実行されている期間には一切のガーベッジコレクション処理を停止する場合に比べ、ガーベッジコレクション処理の実行頻度が一定値以上確保され、これによりメモリの未使用領域の枯渇を極力回避することができる。
【０００８】
また、この発明は次のような具体的な種々構成を備えることを特徴とする。  
第１の構成は、ガーベッジコレクション処理が必要データの再配置処理及び不要データの消去処理を含む場合に、判定された実行中又は実行予定の動作モードに応じて、必要データの再配置処理の頻度と不要データの消去処理の頻度とを独立に設定するものである。一般に、必要データの再配置処理と不要データの消去処理とでは処理に要する時間が異なる。このため、必要データの再配置処理の頻度と不要データの消去処理の頻度とを独立に設定すると、必要データの再配置処理と不要データの消去処理とをそれぞれ最適な頻度で実行することが可能となり、結果としてきわめて効率の良いガーベッジコレクション処理を実行することができる。
【０００９】
第２の構成は、上記メモリが複数の単位記憶領域を備える場合に、上記実行中又は実行予定の動作モードの判定結果に応じて、上記必要データ再配置処理の実行周期と、１回の必要データ再配置処理において実行対象とする単位記憶領域の数を設定するものである。このようにすると、データ再配置処理の実行頻度を、実行中の動作モードに応じたより適切な値に設定することができる。
【００１０】
第３の構成は、上記メモリが複数の単位記憶領域を備える場合に、判定された実行中又は実行予定の動作モードに応じて、不要データを間欠的に消去するための周期と、１回の消去処理の時間又は１回の消去処理において消去対象とする単位記憶領域の数を設定するものである。このようにすると、データ再配置処理の実行頻度についても、実行中の動作モードに応じたより適切な値に設定することができる。
【００１１】
第４の構成は、上記実行頻度を設定する際に、複数の動作モード及びガーベッジコレクション処理に対し予め付与された優先順位を記憶しておき、判定された実行中又は実行予定の動作モードに付与された優先順位と、上記ガーベッジコレクション処理に付与された優先順位との関係に基づいて、ガーベッジコレクション処理の実行頻度を設定するものである。このようにすると、優先順位に従い比較的簡単に実行頻度を設定することができる。また、動作モードの変更や追加に対し優先順位を変更又は付加するだけで容易に対応できる利点がある。
【００１２】
第５の構成は、ガーベッジコレクション処理を実行する際に、実行中又は実行予定の動作モードの実行処理に必要なメモリの空き記憶容量を推定し、この推定された空き記憶容量をもとにガーベッジコレクション処理の対象となる記憶ブロック数を設定する。そして、この設定された記憶ブロック数の記憶ブロックに対しガーベッジコレクション処理を実行するものである。このようにすると、動作モードの実行に必要十分な記憶ブロック数についてガーベッジコレクション処理が行われる。このため、プロセッサの処理能力を必要以上にガーベッジコレクション処理に割くことなく、動作モードの実行処理をガーベッジコレクション処理と並行して効率良く行うことができる。
【００１３】
第６の構成は、上記ガーベッジコレクション処理の実行期間中に、動作モードの遷移を監視し、動作モードの遷移が検出された場合に当該遷移後の動作モードに応じて上記ガーベッジコレクション処理の実行頻度を変更するものである。このようにすると、ガーベッジコレクション処理期間中に動作モードが遷移しても、この動作モードのタスク処理に悪影響を及ぼすことなく、またプロセッサに過度の処理負荷をかけることなく、常に最適な実行頻度でガーベッジコレクション処理を実行することができる。
【発明の効果】
【００１４】
要するにこの発明によれば、ガーベッジコレクション処理を本来の動作モードによるタスク処理に悪影響を及ぼすことなく一定以上の頻度で実行することが可能となり、これにより本来のタスク処理を保障しつつ適切なメモリ管理を実現可能とした情報端末装置とそのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
図１は、この発明に係わる情報端末装置の一実施形態である移動通信端末の構成を示すブロック図である。  
同図において、図示しない基地局から送信された無線信号は、アンテナ１で受信されたのちアンテナ共用器（ＤＵＰ）２を介して受信回路（ＲＸ）３に入力される。受信回路３は、上記受信された無線信号を周波数シンセサイザ（ＳＹＮ）４から出力された局部発振信号とミキシングして中間周波信号に周波数変換（ダウンコンバート）する。そして、この中間周波信号を直交復調して受信ベースバンド信号を出力する。なお、上記周波数シンセサイザ４から発生される局部発振信号の周波数は、制御部１２から出力される制御信号ＳＹＣによって指示される。
【００１６】
上記受信ベースバンド信号はＣＤＭＡ信号処理部６に入力される。ＣＤＭＡ信号処理部６はＲＡＫＥ受信機を備える。ＲＡＫＥ受信機では、上記受信ベースバンド信号に含まれる複数のパスがそれぞれ拡散符号により逆拡散処理される。そして、この逆拡散処理された各パスの信号が位相を調整されたのち合成される。この結果、所定の伝送フォーマットの受信パケットデータが得られる。そして、この受信パケットデータは圧縮伸長処理部（以後コンパンダと称する）７に入力される。
【００１７】
コンパンダ７は、上記ＣＤＭＡ信号処理部６から出力された受信パケットデータを多重分離部によりメディアごとに分離する。そして、この分離されたメディアデータごとに復号処理を行う。例えば受信パケットデータにオーディオデータが含まれていれば、このオーディオデータをスピーチコーデックにより復号する。また受信パケットデータにビデオデータが含まれていれば、このビデオデータをビデオコーデックにより復号する。この復号処理により得られたディジタルオーディオ信号はＰＣＭ符号処理部（以後ＰＣＭコーデックと称する）８へ、またディジタルビデオ信号は制御部１２へそれぞれ入力される。さらに、受信パケットデータにメールやアプリケーション等のテキストデータが含まれている場合には、このテキストデータは制御部１２に入力される。
【００１８】
ＰＣＭコーデック８は、コンパンダ７から出力されたディジタルオーディオ信号をＰＣＭ復号してアナログオーディオ信号を出力する。このアナログオーディオ信号は、受話増幅器９にて増幅されたのちスピーカ１０より出力される。
【００１９】
制御部１２は、上記コンパンダ７から出力されたディジタルビデオ信号を、ビデオＲＡＭを介して表示部１５のＬＣＤ（Liquid Crystal Devise）に表示する。なお、制御部１２は、受信されたビデオデータばかりでなく、カメラ１９により撮像されたビデオデータについてもビデオＲＡＭを介して表示部１５のＬＣＤに表示する。また、メールやアプリケーション等のテキストデータは記憶部１３に保存される。そして、入力部１４における表示操作に応じて記憶部１３から読み出されて表示部１５のＬＣＤに表示される。なお、上記オーディオデータ及びビデオデータについても、必要に応じて記憶部１３に記憶される。
【００２０】
一方、マイクロホン１１に入力された話者の音声信号は、送話増幅器２０により適正レベルまで増幅されたのち、ＰＣＭコーデック８にてＰＣＭ符号化処理が施され、ディジタルオーディオ信号となってコンパンダ７に入力される。また、カメラ１９から出力されるビデオ信号は、制御部１２によりディジタル化されてコンパンダ７に入力される。なお、制御部１２において作成されたメール等のテキストデータも、制御部１２からコンパンダ７に入力される。
【００２１】
コンパンダ７は、ＰＣＭコーデック８から出力されたディジタルオーディオ信号より入力音声のエネルギ量を検出し、この検出結果に基づいて送信データレートを決定する。そして、上記ディジタルオーディオ信号を上記送信データレートに応じたフォーマットの信号に符号化し、これによりオーディオデータを生成する。また、制御部１２から出力されたディジタルビデオ信号を符号化してビデオデータを生成する。そして、これらの音声データ及び画像データを多重分離部で所定の伝送フォーマットに従いパケット化し、この送信パケットデータをＣＤＭＡ信号処理部６へ出力する。なお、制御部１２からメール等のテキストデータが出力された場合にも、このテキストデータを上記送信パケットデータに多重化する。
【００２２】
ＣＤＭＡ信号処理部６は、上記コンパンダ７から出力された送信パケットデータに対し、送信チャネルに割り当てられた拡散符号を用いてスペクトラム拡散処理を施す。そして、その出力信号を送信回路（ＴＸ）５へ出力する。送信回路５は、上記スペクトラム拡散された信号をＱＰＳＫ（Quadrature Phase Shift Keying）方式等のディジタル変調方式を使用して変調する。そして、この変調により生成された送信信号を、周波数シンセサイザ４から発生される局部発振信号と合成して無線信号に周波数変換する。そして、制御部１２により指示される送信電力レベルとなるように上記無線信号を高周波増幅する。この増幅された無線信号は、アンテナ共用器２を介してアンテナ１に供給され、このアンテナ１から基地局へ向けて送信される。
【００２３】
入力部１４には、ダイヤルキーに加え、送信キー、終了キー、電源キー、音量調節キー、モード指定キー等の機能キーが設けられている。また表示部１５には、ＬＣＤ及びＬＥＤが設けられている。ＬＣＤには、先に述べた送受信データや装置の動作モードを表すデータが表示される。また、電話帳データや送受信履歴等も表示される。またＬＥＤは、着信の報知やバッテリ１６の充電状態を表示するために使用される。なお、１７は電源回路であり、バッテリ１７の出力をもとに所定の動作電源電圧Ｖccを生成して各回路部に供給する。また１８は充電回路であり、商用電源出力（ＡＣ１００Ｖ）をもとに充電電流を生成して上記バッテリ１６を充電する。
【００２４】
ところで、記憶部１３は例えばフラッシュメモリからなり、図２に示すように複数（同図では例えば２５４個）の記憶ブロックＢ１〜Ｂ２５３により構成される。またこれらの記憶記憶ブロックＢ１〜Ｂ２５３はさらにそれぞれ複数（同図では例えば２５４個）のサブブロックＶＳＢ１〜ＶＳＢ２５３により構成され、これらのサブブロック単位でデータの書き込み、読み出し及び消去が行われる。
【００２５】
制御部１２は、例えばマイクロコンピュータを主制御部として備え、この発明に係わる新たな制御機能としてガーベッジパラメータ設定機能１２ａと、ガーベッジコレクション処理機能１２ｂを有している。これらの機能１２ａ，１２ｂはいずれもＣＰＵでプログラムを実行することにより実現される。
【００２６】
ガーベッジパラメータ設定機能１２ａは、記憶部１３に対するデータの書き込み処理が行われた場合に、当該記憶部１３に対するガーベッジコレクション処理の要否を判定し、ガーベッジコレクション処理が必要と判定された場合に、実行中又は実行予定のタスクを判定する。そして、上記判定された実行中又は実行予定のタスク処理とガーベッジコレクション処理の優先順位の関係に応じて、ガーベッジコレクション処理の実行頻度を設定する。
【００２７】
具体的には、ガーベッジコレクション処理は必要データの再配置処理と不要データの消去処理とに分けて実行されるため、これらの処理に対応して実行頻度が別々に設定される。実行頻度は、処理の実行周期と１回の処理において実行対象となるサブブロック数とにより定義される。なお、図３は優先順位テーブルの一例を示すものであり、ガーベッジコレクション処理に対しては優先順位「１０」が付与されている。
【００２８】
ガーベッジコレクション処理機能１２ｂは、上記ガーベッジパラメータ設定機能１２ａにより設定された実行頻度に従い、記憶部１３に対するガーベッジコレクション処理を必要データの再配置処理と不要データの消去処理とに分けて実行する。また必要データの再配置処理及び不要データの消去処理期間中に動作モードの遷移を監視し、動作モードが遷移したことを検出すると上記上記ガーベッジパラメータ設定機能１２ａに実行頻度の変更を指示する機能も有する。
【００２９】
次に、以上のように構成された装置によるガーベッジコレクション動作を説明する。図４乃至図６は制御部１２の動作手順と制御内容を示すフローチャートである。  
制御部１２は、待機状態において、図４に示すようにステップ４ａで記憶部（メモリ）１３に対するデータ書き込みが発生したか否かを監視している。そして、この状態で記憶部１３に対しデータ書き込みが行われると、続いてこのデータ書き込みにより記憶部１３に不要データが発生したか否かをステップ４ｊで判定する。
【００３０】
上記判定の結果、不要データが発生すると制御部１２は、ステップ４ｂに移行してここで先ず端末装置の動作モードを解析する。解析対象の動作モードには、各種アプリケーションの実行状態に加え、バッテリ１６の残量や充電中か否か等の装置の動作状態、制御部１２におけるＣＰＵの処理負荷の状態等が含まれる。アプリケーションとしては、ゲームの実行タスクやカメラ１９の撮像制御タスク、オーディオデータやビデオデータの再生タスク、Ｊａｖａ（登録商標）の実行タスク等がある。
【００３１】
次に制御部１２は、上記動作モードの判定結果に基づいてガーベッジコレクション処理のパラメータを設定する。例えば、いまＪａｖａ（登録商標）が起動され、これによりダウンロードデータの表示タスクが実行されているものとする。この場合制御部１２は、優先順位テーブルを参照して表示タスクとガーベッジコレクション処理タスクの優先順位の関係を判定する。そして、表示タスクの優先順位がガーベッジコレクション処理タスクの優先順位より高ければ、表示タスクの処理を優先するべく、ステップ４ｆにおいてガーベッジコレクションの回数ｍをｍ＝２に設定する。また、ステップ４ｇにおいて、ガーベッジコレクションの実行周期ｔをｔ＝５０msecに設定する。そして、ステップ４ｈに移行して次のようにガーベッジコレクション処理を実行する。
【００３２】
すなわち、制御部１２は図６に示すように先ずステップ６ａにより使用済みサブブロック数の割合が最も大きいブロックをガーベッジコレクション処理対象のブロックとして検索する。またステップ６ｂにより、未使用のサブブロックを有するブロックを再配置先ブロックとして検索する。
【００３３】
次に制御部１２はコピー期間となり、ステップ６ｃにおいて、上記検索されたガーベッジコレクション処理対象のブロックから使用中のサブブロックを一つ選択し、この選択されたサブブロックに記憶された必要データを、上記検索された再配置先ブロック中の未使用のサブブロックの一つにコピーする。例えば、図７に示すように記憶ブロックＢ１のサブブロックＶＳＢ１００が使用中だとすれば、このサブブロックＶＳＢ１００に記憶された必要データを再配置先記憶ブロックＢ３の未使用のサブブロックＶＳＢ１にコピーする。
【００３４】
そうして１個のサブブロックのデータコピーが終了すると、制御部１２はステップ６ｄでコピーの実行回数が実行回数の設定値ｍに達したか否かを判定する。この判定の結果、コピー回数が実行回数の設定値ｍに達していなければステップ６ｃに戻り、上記ガーベッジコレクション処理対象の記憶ブロックＢ１の他の使用中のサブブロックを選択し、この選択されたサブブロックに記憶された必要データを再配置先記憶ブロックＢ３の未使用のサブブロックにコピーする。
【００３５】
以後同様に、コピー回数が実行回数の設定値ｍに達するまで、上記ガーベッジコレクション処理対象の記憶ブロックＢ１のその他の使用中のサブブロックに記憶された必要データのコピーが繰り返し行われる。すなわち、１つのコピー期間に、ｍ回の必要データのコピーが行われる。例えば、上記したように実行回数ｍ＝２に設定された場合には、１つのコピー期間に、ガーベッジコレクション処理対象の記憶ブロックＢ１に存在する使用中のサブブロックのうちの２個のサブブロックの必要データがコピーされる。
【００３６】
上記コピー回数が実行回数の設定値ｍに達し、これにより１つのコピー期間が終了すると、制御部１２は続いてステップ６ｅにおいてガーベッジコレクション処理対象の記憶ブロックＢ１に存在する全ての使用中のサブブロックのコピーが終了したか否かを判定する。そして、まだ未コピーのサブブロックが残っている場合には、ステップ６ｆに移行してここでコピー待機期間に移行する。コピー待機期間は、先に図４のステップ４ｇで設定された周期ｔに従い設定される。
【００３７】
上記コピー待機期間において制御部１２は、ステップ６ｈで待機期間の終了を監視しながら、ステップ６ｇで装置の動作モードの遷移を検出する。そして、動作モードが遷移しないまま待機期間（例えばｔ＝５０msec）が経過すると、ステップ６ｃ及びステップ６ｄに戻って、上記ガーベッジコレクション処理対象の記憶ブロックＢ１に残っている使用中のｍ個のサブブロックの必要データを、再配置先記憶ブロックＢ３の未使用のサブブロックに順次コピーする。以後、ガーベッジコレクション処理対象の記憶ブロックＢ１に存在する全ての使用中のサブブロックのコピーが終了するまで、上記周期ｔでｍ個ずつ使用中のサブブロックのデータコピーが繰り返し行われる。
【００３８】
なお、上記使用中のサブブロックのデータコピー処理中に、ステップ６ｇで動作モードの遷移が検出されたとする。そうすると制御部１２は、上記ガーベッジコレクション処理対象のブロックについてのコピー処理を一旦中断し、上記図４のステップ４ｂに戻る。そして、このステップ４ｂで上記遷移後の新たな動作モードの解析を行い、その解析結果に応じてガーベッジコレクション処理のためのパラメータを設定し直す。そして、以後この設定し直された新たなパラメータに従い、上記ガーベッジコレクション処理対象のブロックについてのコピー処理を継続する。
【００３９】
上記ガーベッジコレクション処理対象の記憶ブロックＢ１に存在する全ての使用中のサブブロックのコピーが終了したとする。そうすると制御部１２は、ステップ６ｅからステップ６ｉに移行し、ここで使用済みサブブロックに記憶された不要データの消去処理を実行する。例えば図８に示すように、全て使用済みにされた記憶ブロックＢ１の各サブブロックＶＳＢ１〜ＶＳＢ２５３を１つずつ選択して、この選択されたサブブロックに記憶されている不要データを消去する。かくして、ガーベッジコレクション処理対象の記憶ブロックＢ１は全て未使用の状態に再生される。
【００４０】
ところで、上記不要データの消去処理は、上記した必要データの再配置（コピー）処理とは別個に設定されたパラメータに従い行われる。例えば、消去処理はコピー処理よりも所要時間が短くて済むので、１度の消去期間に消去するサブブロックの数は必要データの再配置処理を行うときの実行回数ｍ＝２よりも大きな値に設定可能である。図９は、上記不要データの消去処理を間欠的に行う場合の処理タイミングの一例を示したもので、１回目の消去期間を１０００msecに設定し、２回目以降の消去期間を１００secに設定している。このように設定すると、１回目及び２回目以降の各消去期間においてｍ＝２よりも多くのサブブロックについて不要データを消去することが可能となり、特に１回目の消去期間ではきわめて多数のサブブロックについて不要データを消去することができる。
【００４１】
なお、上記不要データの消去期間においても、制御部１２はステップ６ｋで全サブブロックの消去終了を監視しながら、ステップ６ｊにおいて装置の動作モードの遷移を監視している。そして、上記使用済みのサブブロックの消去処理中に、ステップ６ｊで動作モードの遷移が検出されると、制御部１２は上記ガーベッジコレクション処理対象のブロックについての消去処理を一旦中断し、上記図４のステップ４ｂに戻る。そして、このステップ４ｂで上記遷移後の新たな動作モードの解析を行い、その解析結果に応じてガーベッジコレクション処理のためのパラメータを設定し直す。そして、以後この設定し直された新たなパラメータに従い、上記ガーベッジコレクション処理対象のブロックについての消去処理を継続する。
【００４２】
一方、図４のステップ４ｃにおいて表示タスクが実行されていないと判定されたとする。この場合制御部１２は、ガーベッジコレクション処理タスクを優先するべく、ステップ４ｄにおいてガーベッジコレクションの回数ｍをｍ＝最大（ｍａｘ）に設定する。また、ステップ４ｅにおいて、ガーベッジコレクションの実行周期ｔをｔ＝０に設定する。そして、ステップ４ｈに移行して、図６に示したフローチャートに従いガーベッジコレクション処理を実行する。
【００４３】
したがってこの場合には、１つのコピー期間において、ガーベッジコレクション処理対象として選択された１個のブロックの全ての必要データがコピーされる。また、消去処理についても、１つの消去期間において、ガーベッジコレクション処理対象として選択された１個のブロックの全ての不必要データが消去される。すなわち、ガーベッジコレクション処理対象として選択されたブロックが短時間に集中してガーベッジコレクション処理される。
【００４４】
以上述べたガーベッジコレクション制御動作では、Ｊａｖａ（登録商標）が起動されてダウンロードデータの表示タスクが実行される場合、つまり実行中のアプリケーションのタスクに応じて最適パラメータを設定し、ガーベッジコレクション処理を実行する場合を例にとって説明した。しかしこの実施形態の移動通信端末は、バッテリ１６の残量の有無や充電中か否かに応じて最適なパラメータを設定し、ガーベッジコレクション処理を実行する機能も備えている。
【００４５】
すなわち、制御部１２はバッテリ１６の残量検出機能と充電回路１８による充電動作の有無を検出する機能を標準機能として備えている。バッテリ１６の残量検出機能は、図示しないバッテリ電圧検出器から出力されるバッテリ電圧検出信号ＶDETを定期的に取り込んでしきい値と比較することにより実現される。また充電動作の有無を検出する機能は、充電回路１８から出力される充電動作の有無を表す信号ＣＨＧを取り込むことにより実現される。
【００４６】
制御部１２は、図５に示すようにステップ５ａでバッテリ残量の低下が検出され、さらにステップ５ｂにおいて充電回路１８による充電動作が行われていないことが検出されると、ＣＰＵの処理負荷を軽減するために、ステップ５ｅにおいてガーベッジコレクションの回数ｍをｍ＝２に設定する。また、ステップ５ｆにおいて、ガーベッジコレクションの実行周期ｔをｔ＝５０msecに設定する。そして、ステップ５ｇに移行してガーベッジコレクション処理を実行する。なお、このガーベッジコレクション処理の手順と内容は、先に図６で述べた場合と同じである。
【００４７】
したがってこの場合には、ガーベッジコレクション処理対象のブロックについて、必要データのコピー処理及び不必要データの消去処理が、１回の処理期間に２個ずつ５０msec周期で実行される。このため、制御部１２のＣＰＵの処理負荷は軽減され、これにのよりバッテリ残量が残り少ない状態で動作停止状態に至らしめることなくガーベッジコレクション処理を行うことが可能となる。
【００４８】
これに対しバッテリ残量がしきい値を超えているか、或いはバッテリ残量がしきい値以下に低下していても充電動作が行われている場合には、制御部１２はＣＰＵが高速処理可能と判断してステップ５ｃに移行し、ここでガーベッジコレクションの回数ｍをｍ＝最大（ｍａｘ）に設定する。また、ステップ５ｄにおいて、ガーベッジコレクションの実行周期ｔをｔ＝０に設定する。そして、ステップ５ｇに移行して、図６に示したフローチャートに従いガーベッジコレクション処理を実行する。
【００４９】
したがってこの場合には、１つのコピー期間において、ガーベッジコレクション処理対象として選択された１個のブロックの全ての必要データがコピーされる。また、消去処理についても、１つの消去期間において、ガーベッジコレクション処理対象として選択された１個のブロックの全ての不必要データが消去される。すなわち、ガーベッジコレクション処理対象として選択されたブロックが短時間に集中してガーベッジコレクション処理される。
【００５０】
以上述べたようにこの実施形態では、記憶部１３に対するデータの書き込み処理が行われた場合に、当該記憶部１３に対するガーベッジコレクション処理の要否を判定し、ガーベッジコレクション処理が必要と判定された場合に、実行中又は実行予定のタスクを判定する。そして、上記判定された実行中又は実行予定のタスクとガーベッジコレクション処理の優先順位の関係に応じてガーベッジコレクション処理の実行頻度を表すパラメータを設定し、設定されたパラメータに従いガーベッジコレクション処理を実行する。また、バッテリ残量が低下しかつ充電が行われていない場合にも、ガーベッジコレクション処理の実行頻度を低く設定すべくパラメータを設定してガーベッジコレクション処理を実行するようにしている。
【００５１】
したがって、タスクごとに或いはバッテリ残量に応じて適切な実行頻度でガーベッジコレクション処理が行われる。このため、ＣＰＵの処理負荷を考慮せずにガーベッジコレクション処理を実行する場合に比べてＣＰＵの処理負荷の増加を抑制し、これにより本来のタスク処理に支障を生じさせることなく、またＣＰＵが動作不能状態に陥ることなく、ガーベッジコレクション処理を実行させることができる。また、ＣＰＵで他のタスクが実行されている期間に無条件にガーベッジコレクション処理を停止する場合に比べ、ガーベッジコレクション処理の実行頻度を一定値以上に確保することができ、これにより記憶部１３の未使用領域の枯渇を極力回避することができる。
【００５２】
またこの実施形態では、必要データ再配置処理の実行頻度と不要データ消去処理の実行頻度とを独立して設定するようにしている。このため、必要データの再配置処理と不要データの消去処理とをそれぞれ最適な頻度で実行することが可能となり、これにより必要データ再配置処理と不要データ消去処理の所要時間の違いを考慮して、効率の良いガーベッジコレクション処理を実行することができる。
【００５３】
さらにこの実施形態では、実行頻度を設定する際に、各種タスク及びガーベッジコレクション処理タスクに対し優先順位を付して記憶しておき、実行中又は実行予定のタスクに付与された優先順位とガーベッジコレクション処理に付与された優先順位との関係に基づいて、ガーベッジコレクション処理の実行頻度を設定するようにしている。このようにすると、優先順位に従い比較的簡単に実行頻度を設定することができる。また、動作モードの変更や追加に対し優先順位を変更又は付加するだけで容易に対応できる利点がある。
【００５４】
さらにこの実施形態では、必要データ再配置処理及び不要データ消去処理の待機期間中に動作モードの遷移を監視し、動作モードの遷移が検出された場合にガーベッジコレクション処理のパラメータを新たな動作モードに応じた値に変更するようにしている。このため、ガーベッジコレクション処理期間中に動作モードが遷移しても、この動作モードのタスク処理に悪影響を及ぼすことなく、またＣＰＵに過度の処理負荷をかけることなく、常に最適なパラメータに従いガーベッジコレクション処理を実行することができる。
【００５５】
なお、この発明は上記実施形態に限定されるものではない。例えば、ガーベッジコレクション処理を実行する際に、実行中又は実行予定の動作モードの実行処理に必要なメモリの空き記憶容量を推定し、この推定された空き記憶容量をもとにガーベッジコレクション処理の対象となるブロック数を設定する。そして、この設定された数のブロックに対しガーベッジコレクション処理を実行するようにしてもよい。このようにすると、動作モードの実行に必要十分なブロック数についてガーベッジコレクション処理が行われる。このため、プロセッサの処理能力を必要以上にガーベッジコレクション処理に割くことなく、動作モードの実行処理をガーベッジコレクション処理と並行して効率良く行うことができる。
【００５６】
その他、ガーベッジコレクション処理の実行頻度を設定する際に参照する動作モードの種類や、実行頻度の設定処理手順とその内容、ガーベッジコレクション処理の実行手順とその内容、ガーベッジコレクションの回数ｍ及び実行周期ｔの設定値、優先順位テーブルの構成、記憶部の構成、情報端末装置の種類等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００５７】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００５８】
【図１】この発明に係わる情報端末装置の一実施形態である移動通信端末の構成を示すブロック図。
【図２】図１に示す移動通信端末で使用されるメモリの構造を示す図。
【図３】図１に示す移動通信端末に設けられる優先度テーブルの一例を示す図。
【図４】図１に示す移動通信端末において実行されるガーベッジパラメータ設定制御の一例を示すフローチャート。
【図５】図１に示す移動通信端末において実行されるガーベッジパラメータ設定制御の他の例を示すフローチャート。
【図６】図１に示す移動通信端末において実行されるガーベッジコレクション処理の手順と内容を示すフローチャート。
【図７】図６に示すガーベッジコレクション処理における必要データの再配置処理を説明するための図。
【図８】図６に示すガーベッジコレクション処理における不要データの消去処理を説明するための図。
【図９】不要データ消去タイミングの一例を示す図。
【符号の説明】
【００５９】
１…アンテナ、２…アンテナ共用器（ＤＵＰ）、３…受信回路（ＲＸ）、４…周波数シンセサイザ（ＳＹＮ）、５…送信回路（ＴＸ）、６…ＣＤＭＡ信号処理部、７…圧縮伸長処理部（コンパンダ）、８…ＰＣＭ符号処理部（ＰＣＭコーデック）、９…受話増幅器、１０…スピーカ、１１…マイクロホン、１２…制御部、１２ａ…ガーベッジパラメータ設定制御機能、１２ｂ…ガーベッジコレクション制御機能、１３…記憶部、１４…入力部、１５…表示部、１６…バッテリ、１７…電源回路、１８…充電回路、１９…カメラ、２０…送話増幅器。
【図１】
2006126975.tif 000003
【図２】
2006126975.tif 000004
【図３】
2006126975.tif 000005
【図４】
2006126975.tif 000006
【図５】
2006126975.tif 000007
【図６】
2006126975.tif 000008
【図７】
2006126975.tif 000009
【図８】
2006126975.tif 000010
【図９】
2006126975.tif 000011