〔実施形態1〕
〔実施形態1のハードウェア構成〕
以下、本発明の実施の形態について、図1〜図5に基づいて説明すれば、以下の通りである。
まず、本実施形態に係る情報処理装置1のハードウェア構成の一例について図1に基づいて説明する。図1は、本発明に係るハードウェア構成を示すブロック図である。
情報処理装置1は、図1に示す通り、主制御部10、電源IC20、蓄電池30、充電器接続部40、入力部50、割り込みコントローラ60、タイマ部70、SSD(Solid State Drive)80aを含んでいる。
主制御部10は、図1に示す通り、CPU10a、メモリ制御部10b、メモリ10c、およびストレージ制御部10dを備えており、それぞれがバスを介して接続されている。また、主制御部10では、例えば、ストレージ制御部10dがメモリ10cから読み出したコードをCPU10aにおいて実行することにより、情報処理装置1における統括的な制御や各種機能を実現する。例えば、主制御部10は、OS(Operation System)などのソフトウェアを動作させることができる。
なお、主制御部10の一部または全部は、SoC(System On Chip)やSiP(System in Package)で構成されていてもよい。また、主制御部10は割り込みコントローラ60を含んでいてもよい。例えば、CPU10a、メモリ制御部10b、ストレージ制御部10d、および割り込みコントローラ60が一つのSoC等により構成されていてもよく、さらに当該SoC等にはGPU(Graphic Processing Unit)、モデム、音声制御装置、等が含まれていてもよい。
CPU10aは、図1に示す通り、複数のコア(CPUコア1〜4)を備えるマルチコアCPU(Central Processing Unit)であるが、コア数は4に限られず、1であってもよい。また、CPU10aは、動作周波数および動作させるコア数を変更する機能を備えていてもよい。また、CPU10aは一時的に停止し、消費電力を抑制する状態であるスリープ状態となる機能を備える。また、CPU10aは、IMEM(Instruction Memory)やL2キャッシュを備えていてもよい。
メモリ制御部10bは、図1に示す通り、複数のメモリコントローラ(RAM Controller1、2)により構成されており、主制御部10のバスと接続されている。メモリ制御部10bは、CPU10aおよびメモリ10cと接続されている。メモリ制御部10bは、メモリ10cの一部分であるメモリモジュールを、低消費電力な状態であり、かつ、使用不可能な状態である待機モードに設定することができる。待機モードの一例として、DPD(Deep Power Down)モードが挙げられる。なお、メモリ制御部10bを構成するメモリコントローラの数は2に限られず、1であってもよい。
メモリ10cは、図1に示す通り、複数のメモリモジュール(RAM Module1〜4)を含んでいる。メモリモジュールは、待機モードを設定可能な揮発性のメモリモジュールであり、例えば、LPDDR SDRAM(Low Power Double Data Rate Synchronous Dynamic RAM)モジュールなどである。
ストレージ制御部10dは、図1に示す通り、SSD80aおよび主制御部10のバスと接続されている。ストレージ制御部10dはSSD80aを制御してデータの読み書きを行う。ストレージ制御部10dは、例えば、DMA(Direct Memory Access)コントローラ、SATA(Serial AT Attachment)コントローラなどである。
電源IC20は、図1に示すように蓄電池30、充電器接続部40、および主制御部10のバスに接続されている。充電器接続部40に充電器100が接続されている場合、電源IC20は、充電器100から充電器接続部40を介して電力供給を受けて、蓄電池30の充電を行い、また、情報処理装置1の備える各ブロックへ給電する。一方、充電器接続部40に充電器100が接続されていない場合、電源IC20は、蓄電池30から情報処理装置1の備える各ブロックへ給電する。
また、電源IC20は、蓄電池30の電池残量、ならびに蓄電池30の充電が開始したこと、および蓄電池30の充電が終了したことを、主制御部10のバスを介して、他のブロックへ通知する。詳細は後述する。
蓄電池30は、図1に示すように電源IC20と接続されている。蓄電池30は、再充電が可能な情報処理装置1に給電するための電池であり、例として、リチウムイオンやリチウムポリマーを用いたものが挙げられる。また、蓄電池30は、情報処理装置1から取り外し可能なように構成されていてもよい。
充電器接続部40は、図1に示すように電源IC20と接続されており、充電器100と接続された場合に、電源IC20へ送電する。充電器100から充電器接続部40への送電は、端子同士を接続する接触式の送電であってもよいし、電波や電磁誘導などを用いた無線式の送電であってもよい。
入力部50は、図1に示すように主制御部10のバスと接続されている。入力部10は、ユーザの入力に応じて割り込みコントローラ60に割り込みを発生させる。入力部10の例として、電源ボタンや外付け、キーボード、タッチパネルなどが挙げられる。
割り込みコントローラ60は、図1に示すように主制御部10のバスと接続されている。割り込みコントローラ60は、他のブロックからの要求に基づき、主制御部10に対して様々な割り込みを生じさせる。割り込みの例として、CPU10aがスリープ状態である情報処理装置1のスリープモードを解除するWakeup割り込みが挙げられる。また、割り込みには、割り込みの契機を示す情報、例えば入力部50への入力を示す情報やタイマ部70に設定された時間が経過したことを示す情報などの割り込み契機情報が含まれる。
タイマ部70は、図1に示すように主制御部10のバスと接続されている。タイマ部70は、主制御部10のバスと接続された他のブロックからの要求により、時間の設定を受け付ける。そして、時間の設定を受け付けた時刻から、設定された時間が経過した時点で、タイマ部70は電気信号等を割り込みコントローラ60へ発信し、割り込みコントローラ60がWakeup割り込みを発生させる。タイマ部70は、電源IC20に含まれていてもよい。
SSD80aは、不揮発性の記憶媒体であり、ストレージ制御部10dと接続されている。SSD80aの例としてフラッシュメモリなどが挙げられる。また、記憶部80は、SSD80aに設定された論理的な区画である。記憶部80には、情報処理装置1において処理される各種データやOSなどの情報が含まれる。なお、記憶媒体としては、SSD80aに替えてHDD(Hard Disk Drive)を採用することもできる。
充電器100は、充電器接続部40を介して、情報処理装置1に対して給電可能な装置である。充電器100の、例として蓄電池を内蔵したいわゆるモバイルバッテリーや、商用電源と接続可能な電圧変換器が挙げられる。
なお、主制御部10に含まれないブロック、特に電源IC20、割り込みコントローラ60、及びタイマ部70は、情報処理装置1がスリープモードである場合、すなわちCPU10aがスリープ状態である場合であっても、それぞれ独立して動作することができる。例えば、情報処理装置1がスリープモードである場合に、タイマ部70に設定された所定の時間が経過した時点で、タイマ部70は割り込みコントローラ60にWakeup割り込みを生じさせ、情報処理装置1のスリープモードを解除することができる。
〔情報処理装置1の機能ブロック〕
次に、図2を用いて、本実施形態に係る情報処理装置1の機能的な構成、特に主制御部10および電源ICに含まれる機能ブロックについて説明する。図2は、本実施形態に係る情報処理装置1の機能的な構成を示す機能ブロック図である。なお、説明の便宜上、〔実施形態1のハードウェア構成〕にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を適宜、省略する。
主制御部10は、図2に示すように電池残量判定部11、充電判定部12、スリープ制御部13、およびモード設定部14を含む。これらのブロックは、図1に示す主制御部10を構成するハードウェアおよびハードウェア上で実行されるソフトウェアにより実現される。
電池残量判定部11は、モード設定部14の要求に基づき、充電制御部21から蓄電池30の電池残量を取得し、電池残量が所定の閾値以下であるか否かの判定の結果をモード設定部14へ通知する。上記所定の閾値は、メモリ10cの一部が待機モードとなっている場合には、他の場合より大きい値に変更してもよい。
充電判定部12は、モード設定部14の要求に基づき、充電制御部21から充電器接続部40と充電器100との接続状況に関する情報を取得し、充電器接続部40と充電器100とが接続されているか否かの判定の結果、すなわち蓄電池30が充電中であるか否かをモード設定部14へ通知する。なお、充電判定部12は、充電器接続部40と充電器100とが接続されているか否かの判定に替えて、蓄電池30に蓄電のための電力が供給されているか否かを判定してもよい。
スリープ制御部13は、情報処理装置1をスリープモードとするための予め設定された条件(以下、スリープ条件と表す)、例えば入力部50へのユーザの入力が一定時間ない状態が継続していること、が満たされているか否かを間欠的に判定する。そして、スリープ条件が満たされている場合は、その旨をモード設定部14にスリープ制御部13は通知する。スリープ制御部13は、その通知に対する応答をモード設定部14から受け取った時点で、情報処理装置1をスリープモードに設定する。
また、割り込みコントローラ60の発するWakeup割り込みに基づき、情報処理装置1のスリープモードが解除する。さらに、情報処理装置1のスリープモードが解除した時点で、スリープ制御部13は、モード設定部14へWakeup割り込みに含まれる割り込み契機情報を通知する。
モード設定部14は、情報処理装置1が電力低残量状態である場合に、情報処理装置1がスリープモードとなってから、予め定められた所定の時間経過した時点で、メモリ10cの一部を待機モードに設定する。また、メモリ10cの一部が待機モードであり、かつ、情報処理装置1が電力低残量状態ではなくなった場合に、入力部50への入力がない状態が所定の時間継続した時点で、メモリ10cの一部に設定された待機モードを解除する。詳細な処理の流れについては後述する。
また、図2に示すように電源IC20は、充電制御部21を含む。充電制御部21は、蓄電池30の充電が開始された時点で、割り込みコントローラ60にWakeup割り込みを生じさせる。また、電池残量判定部11の要求に基づき、蓄電池30の電池残量を示す情報を送信する。また、充電判定部12の要求に基づき、充電器接続部40と充電器100との接続状況に関する情報を送信する。
メモリ10cの待機モードについて図3に基づき説明する。図3は、メモリ10cの待機モードに係る図であり、図3(A)は、メモリ10cのすべてが待機モードではない場合を表す図であり、図3(B)は、メモリ10cの一部(図3(B)において白抜き文字となっているRam Module1および3)が待機モードとなっている場合を表す図である。
図3(A)に示すように、メモリ10cがすべて待機モードではない場合、Ram Module1〜4すべての電力消費が大きい状態であるが、Ram Module1〜4の容量すべてを利用することができる。他方、図3(B)に示すようにメモリ10cの一部(Ram Module1および3)が待機モードとなっている場合、図3(A)に示す場合と比較して、電力消費が少ないが、利用可能なメモリ10cの容量は半減する。
〔情報処理装置1のメモリ通常モードにおける処理〕
メモリ10cがすべて待機モードではない場合(以下、メモリ通常モードと表す)における情報処理装置1の実行する処理の流れについて図4に基づき説明する。図4は、メモリ通常モードにおける情報処理装置1の処理の流れを示すフローチャートである。
まず、スリープ制御部13は、スリープ条件が満たされているか否かを判定する(S1)。スリープ条件が満たされていなかった場合(S1でNo)、スリープ制御部13は、再度スリープ条件が満たされているか否かを判定する(S1)。
一方、スリープ条件が満たされていた場合(S1でYes)、その旨をモード設定部14に通知する。その通知を受けたモード設定部14は、電池残量判定部11に蓄電池30の電池残量が所定の閾値以下であるか否かの判定を要求する。その要求を受けた電池残量判定部11は、蓄電池30の電池残量が所定の閾値以下であるか否かを判定し(S2)、その判定の結果をモード設定部14へ通知する。
電池残量が所定の閾値以下である場合(S2でYes)、モード設定部14は、電池残量判定部11から蓄電池30の電池残量が所定の閾値以下である旨の通知を受けて、充電判定部12に蓄電池30が充電器接続部40と充電器100とが接続されていか否かの判定を要求する。その要求を受けた充電判定部12は、充電器接続部40と充電器100とが接続されているか否かを判定し(S3)、その結果をモード設定部14へ通知する。
充電器接続部40と充電器100とが接続されていない場合(S3でNo)、モード設定部14は、充電判定部12から蓄電池30が充電器接続部40と充電器100とが接続されていない旨の通知を受けて、タイマ部70に予め定められた時間を設定し(S4)、モード設定部14は、スリープ制御部13へ応答を返す。スリープ制御部13は、その応答を受けて情報処理装置1をスリープモードに設定し、情報処理装置1はスリープモードとなる(S5)。
情報処理装置1がスリープモードとなった後、スリープ制御部13はWakeup割り込みを待つ(S6)。Wakeup割り込みが無い場合(S6でNo)、スリープ制御部13はWakeup割り込みを待つ(S6)。
一方、割り込みコントローラ60がWakeup割り込みを発生させた場合(S6でYes)、スリープ制御部13は、情報処理装置1のスリープモードを解除する(S7)。この時点で、スリープ制御部13はモード設定部14へ、Wakeup割り込みの契機に関する割り込み契機情報を通知する。
割り込み契機情報の通知を受けたモード設定部14は、割り込み契機情報が示す契機がタイマ部70に設定された時間が経過したことを示しているか否か、すなわち情報処理装置1がスリープモードとなってから予め定められた時間が経過したか否かを判定する(S8)。予め定められた時間が経過していなかった場合(S8でNo)、S1から再度処理が実行される。
一方、予め定められた時間が経過していた場合(S8でYes)、モード設定部14は、メモリ10cの一部を待機モードに設定する(S9)。そして、モード設定部14は、スリープ制御部13へ、情報処理装置1をスリープモードに設定するように要求をする。その要求を受けたスリープ制御部13は、情報処理装置1をスリープモードに設定する(S10)。
また、S1においてスリープ条件が満たされていた場合(S1でYes)において、情報処理装置1が電力低残量状態ではなかった場合(S2でNoまたはS3でYes)、モード設定部14は、スリープ制御部13へ応答を返す。その応答を受けたスリープ制御部13へ情報処理装置1をスリープモードに設定する(S11)。
情報処理装置1がスリープモードに設定された場合、スリープ制御部13はWakeup割り込みを待つ(S12)。Wakeup割り込みが無い場合(S12でNo)、スリープ制御部13はWakeup割り込みを継続して待つ(S12)。
一方、割り込みコントローラ60がWakeup割り込みを発生させた場合(S12でYes)、情報処理装置1のスリープモードを、スリープ制御部13は解除し(S13)、S1からの処理が再度実行される。
上記の処理により、情報処理装置1が電力低残量状態である場合に、情報処理装置1がスリープモードとなってから、予め定められた所定の時間経過した時点で、メモリ10cの一部を待機モードに設定する。よって、情報処理装置1が利用されておらず、かつ、情報処理装置1の利用が再開される可能性が低いことが予測される場合に、メモリ10cの一部は待機モードに設定される。これにより、メモリ10cが待機モードに設定される際に発生する上記情報処理装置1のパフォーマンスの低下をユーザに認識させることを防ぐとともに、上記蓄電池30が利用可能な時間を延ばすことができる。
〔情報処理装置1のメモリ待機モードにおける処理〕
メモリ10cの一部が待機モードである場合(以下、メモリ待機モードと表す)における情報処理装置1の実行する処理の流れについて図5に基づき説明する。図5は、メモリ待機モードにおける情報処理装置1の処理の流れを示すフローチャートである。
まず、充電制御部21が蓄電池30の充電を検知したなどの契機により、割り込みコントローラ60がWakeup割り込みを発生させる(S101)。当該割り込みに基づき、スリープ制御部13が情報処理装置1のスリープモードを解除する(S102)。スリープ制御部13は、スリープモードが解除された時点で、モード設定部14へその旨を通知する。なお、この時点における情報処理装置1は、メモリ待機モード維持し、かつスリープ状態が解除された状態である。すなわち、情報処理装置1はユーザが通常の利用をすることが可能な状態となっている。
スリープモードが解除された旨の通知を受けたモード設定部14は、充電判定部12に充電器接続部40と充電器100とが接続されているか否かの判定を要求する。その要求を受けた充電判定部12は、充電器接続部40と充電器100とが接続されているか否かを判定し(S103)、その判定の結果をモード設定部14へ通知する。充電器接続部40と充電器100とが接続されていない場合(S103でNO)、モード設定部14は、充電判定部12から充電器接続部40と充電器100とが接続されていない旨の通知を受けて、電池残量判定部11に蓄電池30の電池残量が所定の閾値以下であるか否かの判定を要求する。その要求を受けた電池残量判定部11は、蓄電池30の電池残量が所定の閾値以下であるか否かを判定し(S104)、その判定の結果をモード設定部14へ通知する。蓄電池30の電池残量が所定の閾値以下である場合(S104でYes)、電池残量判定部11から蓄電池30の電池残量が所定の閾値以下である旨の通知を受けて、モード設定部14は再度S103からの処理を実行する。
一方、蓄電池30の電池残量が所定の閾値以下でない場合(S104でNo)、モード設定部14は、電池残量判定部11から蓄電池30の電池残量が所定の閾値以下ではない旨の通知を受けて、タイマ部70にあらかじめ定められた所定の時間を設定する(S105)。
続いて、割り込みコントローラ60が割り込みを発生させた場合に、当該割り込みに含まれる割り込み契機情報が示す契機がタイマ部70に設定された時間が経過したことを示す割り込みであるか否かを、モード設定部14は判定する。すなわち、設定された所定の時間が経過したか否かをモード設定部14は判定する(S106)。
設定された所定の時間が経過していた場合(S106でYes)、モード設定部14は、メモリ10cの一部に設定されている待機モードを解除し(S107)、情報処理装置1はメモリ通常モードに移行する。
一方、設定された所定の時間が経過していなかった場合(S106でNo)、当該割り込みに含まれる割り込み契機情報が示す契機が、入力部50への入力であるか否かを判定する。すなわち、ユーザによる入力部50への操作があったか否かを判定する(S108)。
ユーザによる入力部50への操作があった場合(S108でYes)、モード設定部14は、再度S105からの処理を実行する。一方、ユーザによる入力部50への操作がなかった場合(S108でNo)、モード設定部14は、S106からの処理を実行する。
S103の処理において、充電器接続部40と充電器100とが接続されていた場合(S103でYes)、モード設定部14は充電判定部12から充電器接続部40と充電器100とが接続されている旨の通知を受けて、S105からの処理を実行する。
以上の処理により、メモリ10cの一部が待機モードであり、かつ、情報処理装置1が電力低残量状態ではなくなった場合に、入力部50への入力がない状態が所定の時間継続した時点で、メモリ10cの一部に設定された待機モードを解除する。これにより、短時間で蓄電池30が消耗し尽くされることが予測されなくなった場合に情報処理装置1のパフォーマンスは回復することができる。また、メモリの待機モードが解除される際に発生する情報処理装置1のパフォーマンスの低下をユーザに認識させることを防ぐとともに、情報処理装置1のパフォーマンスを回復することができる。
〔変形例〕
上記実施形態において、情報処理装置1から充電判定部12を省略してもよい。この場合、図4に示すメモリ通常モードにおける処理ではS3に示す処理が省略され、図5に示すメモリ待機モードにおける処理ではS103に示す処理が省略される。
また、図4に示すメモリ通常モードにおける処理において、S2に示す処理とS3に示す処理の実行の順序は入れ替えてもよい。
電池残量判定部11は、メモリ10cの一部が待機モードである場合と、メモリ10cのすべてが待機モードではない場合とで、電池残量を判定するための閾値を変更してもよい。例えば、メモリ10cのすべてが待機モードではない場合は、上記閾値を蓄電池30の最大容量の50%とし、メモリ10cの一部が待機モードである場合は、上記閾値を蓄電池30の容量の75%としてもよい。
また、電池残量判定部11は、充電器接続部40と充電器100とが接続されている場合の上記閾値と比較して、充電器接続部40と充電器100とが接続されていない場合の上記閾値を大きく設定してもよい。
また、上記実施形態において、モード設定部14はメモリ10cの一部を待機モードにする際に、使用されているメモリの量に応じて待機モードとするメモリ10cに含まれるメモリモジュールの数を変更してもよい。例えば、使用されているメモリが512MBである場合は、メモリ10cに含まれる1GBの容量を持つメモリモジュール一つ以外のメモリモジュールを待機モードに変更してもよい。
上記実施形態において電力低残量状態である場合に、モード設定部14が、メモリ10cの一部を待機モードとするタイミングは、スリープモードとなってから、予め定められた所定の時間経過した時点に限られず、他の時点であってもよい。例えば、図4に示す処理において、S4からS8の処理を省略し、モード設定部14が、メモリ10cの一部を待機モードとした後に、スリープ制御部13へ応答を返すように情報処理装置1を構成してもよい。すなわち、情報処理装置1が電力低残量状態である場合に、スリープ条件が満たされた時点で、メモリ10cは待機モードとなる。
上記の構成をとる場合も、短時間で上記蓄電池が消耗し尽くされないことが予測される場合には、多くのメモリを使用可能な状態とし、上記情報処理装置のパフォーマンスが高い状態に維持することができる。また、その一方で、上記構成によれば、短時間での上記蓄電池が消耗し尽くされることが予測される電力低残量状態の場合においては、一部のメモリを待機モードに設定するので、上記情報処理装置を利用できる状態を維持しながら、電力消費を抑制して上記蓄電池が利用可能な時間を延ばすことができる。
上記実施形態において、電力低残量状態ではない場合に、モード設定部14が、メモリ10cの一部に設定されている待機モードを解除するタイミングは、入力部への入力がない状態が所定の時間継続した時点に限られず、他の時点であってもよい。例えば、図5に示す処理においてS104、S105、S107の処理を省略し、電力低残量状態ではなくなった時点で、モード設定部14がメモリ10cの一部に設定されている待機モードを解除するように情報処理装置1を構成してもよい。
上記の構成をとる場合も、電力低残量状態から電力低残量状態ではなくなった場合、すなわち、充電が再開された場合、または電池残量が予め定められた所定の閾値以下ではなくなった場合に、上記メモリの待機モードが解除される。これにより、短時間で上記蓄電池が消耗し尽くされることが予測されなくなった場合に情報処理装置1のパフォーマンスは回復することができる。
また、上記実施形態において、モード設定部14は間欠的に電力低残量状態であるか否かを確認し、電力低残量状態である場合は、CPU10aの動作周波数を低下させる処理または、使用するCPUコア数を変更する処理の少なくともいずれか一方を行ってもよい。上記の構成によれば、電力低残量状態におけるCPU10aの消費電力を抑制することができるため、蓄電池30によって情報処理装置1が使用可能な時間を長くすることができる。また、この場合、電力低残量状態ではない状態における情報処理装置1のパフォーマンスは維持される。
例えば、以下の表1に示すように各条件と、CPU10aおよびメモリ10cの状態が対応するように情報処理装置1を構成してもよい。なお、条件―1の行が“○”である場合は、蓄電池30の電池残量が所定の閾値以下であることを示しており、条件―2の行が“○”である場合は、充電器接続部40と充電器100とが接続されていないことを示す。例えば、条件―1の行と条件―2の行とが共に“○”の場合、情報処理装置1は電力低残量状態である。
また、上記実施形態において、モード設定部14が、メモリ10cの一部を待機モードに設定する場合、または、メモリ10cの一部に設定された待機モードを解除する場合に、当該処理が行われていることをユーザに提示するように情報処理装置1を構成してもよい。例えば、情報処理装置1が備える表示装置(不図示)において、上記処理が行われている旨のメッセージ等を表示してもよい。メモリをDPDモードに設定する際、また解除する際には、上記処理のためのリソースが必要とされ、ユーザインターフェースに割り当てられるリソースが減少するため、ユーザへの応答速度が低下する。上記の構成によれば、モード設定部14がメモリ10cの一部を待機モードに設定する場合、または、メモリ10cの一部に設定された待機モードを解除する場合に、ユーザに機モードの設定または解除に関する処理が行われていることを認識させることができる。よって、ユーザに情報処理装置1の応答速度が低下することを認識させることができる。
〔実施形態2〕
本発明の他の実施形態について、図6および図7に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
〔情報処理装置2の構成〕
図6は本実施形態に係る情報処理装置2の機能ブロックを示している。情報処理装置2と情報処理装置1との差異は、主制御部10に替えて主制御部110を備えており、記憶部80がメモリ容量削減可能時間帯格納部81を含んでいる点である。主制御部110と主制御部10との差異は、モード設定部14に替えてメモリ通常モードにおける処理が異なるモード設定部114を備え、さらに時刻取得部15を備える点である。なお、ハードウェア構成については、情報処理装置1および情報処理装置2は同一の構成である。
時刻取得部15は、他のブロックの要求に基づき現在時刻を取得する。時刻取得部15は情報処理装置2の備えるOSの一機能であってもよい。
メモリ容量削減可能時間帯格納部81は、モード設定部114がメモリ10cの一部を待機モードとすることができる所定の時間帯を示す情報を格納している。該所定の時間帯は、上記情報処理装置2のパフォーマンスが低下することが望ましくない時間帯を基準に設定することができる。
〔情報処理装置2のメモリ通常モードにおける処理〕
図7は情報処理装置2のメモリ通常モードにおける処理を示すフローチャートである。情報処理装置1と情報処理装置2とのメモリ通常モードにおける処理の差異は、S3において充電器接続部40と充電器100とが接続されていない場合(S3でNo)、すなわちスリープ条件を満たし、電力低残量状態である場合の処理である。具体的には、モード設定部114は、時刻取得部15から現在時刻を取得し、メモリ容量削減可能時間帯格納部81を参照し、メモリ容量を削減してもよい所定の時間帯であるか否かを判定する(S201)ことである。
メモリ容量を削減してもよい所定の時間帯である場合(S201でYES)、S4からの処理が実行され、情報処理装置2がスリープモードとなってから予め定められた所定の時間経過した時点で、メモリ10cの一部が待機モードに設定される。
一方、メモリ容量を削減してもよい所定の時間帯でない場合(S201でNo)、S11からの処理が実行され、情報処理装置2はスリープモードとなるが、メモリ10cはすべて待機モードに設定されない。
上記の処理により、情報処理装置2におけるモード設定部114は、所定の時間帯にのみ、メモリ10cの一部を待機モードに変更する。これにより、情報処理装置2のパフォーマンスが低下することが望ましくない時間帯に、上記メモリの一部が待機モードとならない。
なお、モード設定部114は、表1に示したCase-4のCPUクロック上限および利用CPUコア数の変更を、上記メモリ容量を削減してもよい所定の時間帯に限って行ってもよい。
〔実施形態3〕
本発明のさらに他の実施形態について、図8〜図9に基づいて説明すれば、以下のとおりである。図8に基づき情報処理装置3と情報処理装置2との構成の違いについて説明する。図8は本実施形態に係る情報処理装置3の機能ブロックを示している。情報処理装置3と情報処理装置2との差異は、主制御部110に替えて主制御部210を備え、記憶部80がメモリ容量削減可能時間帯格納部81に替えて時間帯別充電回数格納部82を備えていることである。また、主制御部210と主制御部110との差異は、モード設定部114に替えてモード設定部214を備えており、さらに充電回数記録部16を備えていることである。
時間帯別充電回数格納部82は、予め定めた時間帯の区分ごとに充電が開始された回数を格納している。図9(B)は時間帯別充電回数格納部82に格納されたデータの一例を示す図である。
充電回数記録部16は、蓄電池30の充電が開始されたこと契機とする割り込みを割り込みコントローラ60が生じさせたことを検知する。また、充電回数記録部16は、当該割り込みを検知した時点で、時刻取得部15から現在時刻を取得し、時間帯別充電回数格納部82へ予め定められたいずれの時間帯に充電が開始されたかを記録する。具体的には図9(A)に“X”で示すように、8:10に充電器が挿入された、すなわち蓄電池30の充電が開始された場合、現在時刻と対応する図9(B)に示す予め定められた時間帯である1:00−9:00、2:00−10:00などにチャージャー挿入(充電開始)の回数が追加されるように、充電回数記録部16は時間帯別充電回数格納部82へ記録する。
モード設定部214とモード設定部114とは、図7に示すメモリ通常モード処理のS201の処理が異なる。例えば、時間帯別充電回数格納部82に格納されたデータが図9(B)に示す内容であった場合、S201の処理において、モード設定部214はメモリ容量を削減してもよい所定の時間帯を、チャージャー挿入の回数が最も多い時間帯である20:00−4:00ではない時間帯として判定を行う。具体的には、モード設定部214がS201の処理において判定の対象とする現在時刻が12:00であった場合、モード設定部214はメモリ容量を削減してもよい所定の時間帯であると判定する。
上記の構成によれば、時間帯ごとの充電の頻度に応じて、メモリ容量を削減してもよい所定の時間帯は決定される。また、一般に、充電の頻度が高い時間帯には、情報処理装置3の充電が可能である可能性が高い。ゆえに、情報処理装置3の充電が可能である場合にパフォーマンスが低下することを防ぐことができる。また、情報処理装置3の充電が可能でない場合における消費電力を低減することができる。
〔ソフトウェアによる実現例〕
情報処理装置1の制御ブロック(特に電池残量判定部11、充電判定部12、スリープ制御部13、およびモード設定部14)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、情報処理装置1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る情報処理装置(1)は、メモリ(10c)を用いて情報処理を行い、蓄電池(30)から電力供給される情報処理装置であって、上記蓄電池の電池残量が予め定められた所定の閾値以下であるか否かを判定する電池残量判定部(11)と、上記蓄電池の電池残量が上記閾値以下であると上記電池残量判定部が判定している状態である電力低残量状態である場合に、上記メモリの一部を、低消費電力な状態であり、かつ、使用不可能な状態である待機モードに設定するモード設定部(14)と、を備えている。
上記の構成によれば、上記情報処理装置が電力低残量状態となった場合に、上記メモリの一部が待機モードとなる。待機モードは、メモリの動作状態を、低消費電力な状態であり、かつ、使用不可能な状態とするモードのことであり、例えば、SDRAM(Synchronous Dynamic RAM)におけるDPD(Deep Power Down)モードなどのことをさす。ここで、電力低残量状態ではない状態では、短時間で上記蓄電池が消耗し尽くされないことが予測される。上記構成によれば、短時間で上記蓄電池が消耗し尽くされないことが予測される場合には、多くのメモリを使用可能な状態とし、上記情報処理装置のパフォーマンスが高い状態に維持することができる。また、その一方で、上記構成によれば、短時間での上記蓄電池が消耗し尽くされることが予測される電力低残量状態の場合においては、一部のメモリを待機モードに設定するので、上記情報処理装置を利用できる状態を維持しながら、電力消費を抑制して上記蓄電池が利用可能な時間を延ばすことができる。
本発明の態様2に係る情報処理装置における上記モード設定部は、上記態様1において、上記情報処理装置が電力低残量状態である場合に、上記情報処理装置がスリープモードとなってから、予め定められた所定の時間経過した時点で、上記メモリの一部を待機モードに設定してもよい。
上記の構成によれば、上記情報処理装置が電力低残量状態である場合に、上記情報処理装置がスリープモード、例えば、情報処理装置におけるCPUが停止状態であるモード、となってから、予め定められた所定の時間経過した時点で、上記メモリの一部が待機モードとなる。一般に、メモリの待機モードの設定や解除においては、情報処理装置に処理負荷がかかる。また、情報処理装置がスリープモードとなった直後と比較して、情報処理装置がスリープモードとなってから一定の時間経過した後の方が、ユーザが情報処理装置の利用を再開する可能性が低い傾向にある。従って、上記構成によれば、上記情報処理装置が利用されておらず、かつ、上記情報処理装置の利用が再開される可能性が低いことが予測される場合に、上記メモリの一部は待機モードに設定される。これにより、メモリが待機モードに設定される際に発生する上記情報処理装置のパフォーマンスの低下をユーザに認識させることを防ぐとともに、上記蓄電池が利用可能な時間を延ばすことができる。
本発明の態様3に係る情報処理装置における上記モード設定部は、上記態様1または2において、電力低残量状態ではなくなった場合に、上記メモリの待機モードを解除してもよい。
上記の構成によれば、電力低残量状態から電力低残量状態ではなくなった場合、すなわち、充電が再開された場合、または電池残量が予め定められた所定の閾値以下ではなくなった場合に、上記メモリの待機モードが解除される。これにより、短時間で上記蓄電池が消耗し尽くされることが予測されなくなった場合に上記情報処理装置のパフォーマンスは回復することができる。
本発明の態様4に係る情報処理装置は、上記態様3において、ユーザの入力を受け付ける入力部(50)をさらに備え、上記モード設定部は、上記情報処理装置が電力低残量状態ではなくなった場合に、上記入力部への入力がない状態が所定の時間継続した時点で、上記メモリの待機モードを解除してもよい。
上記の構成によれば、上記情報処理装置が電力低残量状態から電力低残量状態ではなくなった後に、上記入力部への入力がない状態が、所定の時間、継続した時点で、上記メモリの待機モードが解除される。すなわち、短時間で上記蓄電池が消耗し尽くされることが予測されず、かつ、上記情報処理装置が所定の時間利用されていない時点で、上記メモリの待機モードが解除される。これにより、メモリの待機モードが解除される際に発生する上記情報処理装置のパフォーマンスの低下をユーザに認識させることを防ぐとともに、上記情報処理装置のパフォーマンスを回復することができる。
本発明の態様5に係る情報処理装置における上記モード設定部は、上記態様1から4において、所定の時間帯にのみ、上記メモリの一部を待機モードに変更してもよい。
上記の構成によれば、所定の時間帯にのみ、上記メモリの一部が待機モードに変更される。これにより、上記情報処理装置のパフォーマンスが低下することが望ましくない時間帯に、上記メモリの一部が待機モードとならない。
本発明の態様6に係る情報処理装置は、上記態様5において、さらに、時間帯と充電回数との対応関係を記録させる充電回数記録部(16)と、上記時間帯と充電回数の対応関係に基づき上記所定の時間帯を決定する時間帯決定部とを備えていてもよい。
上記の構成によれば、時間帯ごとの充電の頻度に応じて、上記所定の時間帯は決定される。また、一般に、充電の頻度が高い時間帯には、上記情報処理装置の充電が可能である可能性が高い。ゆえに、上記情報処理装置の充電が可能である場合にパフォーマンスが低下することを防ぐことができる。また、上記情報処理装置の充電が可能でない場合における消費電力を低減することができる。
本発明の態様7に係る制御プログラムは、メモリを用いて情報処理を行い、蓄電池から電力供給される情報処理装置の制御プログラムであって、上記蓄電池の電池残量が予め定められた所定の閾値以下であるか否かを判定する電池残量判定ステップ(S2)と、上記蓄電池の電池残量が上記閾値以下であると上記電池残量判定ステップにおいて判定されている状態である電力低残量状態である場合に、上記メモリの一部を、低消費電力な状態であり、かつ、使用不可能な状態である待機モードに設定するモード設定ステップ(S9)と、を含む。
この制御プログラムによれば、上記本発明の態様1に係る情報処理装置と同様の効果を奏する。
本発明の態様8に係る制御方法は、メモリを用いて情報処理を行い、蓄電池から電力供給される情報処理装置の制御方法であって、上記蓄電池の電池残量が予め定められた所定の閾値以下であるか否かを判定する電池残量判定ステップ(S2)と、上記蓄電池の電池残量が上記閾値以下であると上記電池残量判定ステップにおいて判定されている状態である電力低残量状態である場合に、上記メモリの一部を、低消費電力な状態であり、かつ、使用不可能な状態である待機モードに設定するモード設定ステップ(S9)と、を含む。
この制御方法によれば、上記本発明の態様1に係る情報処理装置と同様の効果を奏する。
本発明の態様9に係る情報処理装置は、メモリを用いて情報処理を行い、蓄電池から電力供給される情報処理装置であって、上記蓄電池の電池残量が予め定められた所定の閾値以下であるか否かを判定する電池残量判定部と、上記蓄電池が充電中であるか否かを判定する充電判定部(12)と、上記蓄電池の電池残量が上記閾値以下であると上記電池残量判定部が判定しており、かつ、上記蓄電池が充電中ではないと上記充電判定部が判定している状態である電力枯渇状態である場合に、上記メモリの一部を、低消費電力な状態であり、かつ、使用不可能な状態である待機モードに設定するモード設定部と、を備えている。
上記の構成によれば、上記情報処理装置が電力枯渇状態となった場合に、上記メモリの一部が待機モードとなる。待機モードは、メモリの動作状態を、低消費電力な状態であり、かつ、使用不可能な状態とするモードのことであり、例えば、SDRAM(Synchronous Dynamic RAM)におけるDPD(Deep Power Down)モードなどのことをさす。ここで、電力枯渇状態ではない状態では、短時間で上記蓄電池が消耗し尽くされないことが予測される。上記構成によれば、短時間で上記蓄電池が消耗し尽くされないことが予測される場合には、多くのメモリを使用可能な状態とし、上記情報処理装置のパフォーマンスが高い状態に維持することができる。また、その一方で、上記構成によれば、短時間での上記蓄電池が消耗し尽くされることが予測される電力枯渇状態の場合においては、一部のメモリを待機モードに設定するので、上記情報処理装置を利用できる状態を維持しながら、電力消費を抑制して上記蓄電池が利用可能な時間を延ばすことができる。
本発明の各態様に係る情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記情報処理装置が備える各部として動作させることにより上記情報処理装置をコンピュータにて実現させる情報処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。