(57)【特許請求の範囲】
【請求項１】
バッテリで駆動され、サスペンドモードを有する情報処理装置であって、
スリープモードを持ち、前記バッテリの容量を監視するバッテリ容量監視コントローラと、
前記バッテリ容量監視コントローラの動作モードを、スリープモードから通常モードへ遷移するように指示する指示手段と、
前記情報処理装置のサスペンドモードから通常動作モードへの復帰を要求する信号を保持する保持手段と、
前記情報処理装置の動作モードを、サスペンドモードから通常動作モードへ遷移させる制御部とを有し、
前記バッテリ容量監視コントローラの動作モードが、スリープモードから通常モードへ遷移したときに、前記保持手段に前記復帰を要求する信号が保持されている場合、前記サスペンドモードから前記通常動作モードへ遷移するように、前記バッテリ容量監視コントローラが前記制御部へ指示した後に、前記バッテリ容量監視コントローラはスリープモードへ入ることを特徴とする情報処理装置。
【請求項２】
前記バッテリ容量監視コントローラは、前記制御部へ指示を行った後に、前記保持手段に保持されている信号のクリアを指示することを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はバッテリで動作可能な情報処理装置に関するものである。
【０００２】
【従来の技術】
従来、バッテリ容量を監視するコントローラを持ち、バッテリで動作が可能で、サスペンドモードを持つ情報処理装置において、バッテリ動作中にバッテリ残容量が少なくなってきた場合これを検出し、データをディスク等に保存してシステムを安全に遮断するための処理を行う必要があった。サスペンドモードはシステムの低消費電力モードであり、直前のフル動作モードの設定を保持し、あるトリガ信号（以下レジュームイベントと呼ぶ）によってサスペンドモードへ入る直前のフル動作モード環境へ復帰（レジューム）するモードでもある。また、サスペンドモード中にバッテリ残量が不足し、データを保持できなくなると、音などでその旨をユーザーに通知し、ユーザーの処理を促すか、システム設定内容をディスクなどの安全な記憶装置に自動的に待避し、システムを遮断する処理を行う必要がある。つまり、サスペンド中にバッテリ残容量が不足した状態もレジュームイベントの一つとして捉えることができる。従って、サスペンドモードからモード遷移を起こす必要のあるトリガ要因を一括して管理するためには、バッテリ容量監視コントローラにレジュームイベントを検出する機能を合わせて持たせると都合が良い。こういった理由からバッテリ容量監視コントローラにレジュームイベントを検出する機能を持たせるように構成した情報処理装置の例がある。
【０００３】
【発明が解決しようとしている課題】
バッテリ容量を監視するコントローラを持ちバッテリで動作が可能で、サスペンドモードを持つ情報処理装置において、バッテリ容量監視コントローラを可能なかぎり長い時間、スリープモードで動作させ、必要な時に通常動作モードに遷移させるように構成すると、バッテリ容量監視コントローラ自身が消費する電力を低下させたい場合有効である。これは、システム全体の消費電力を低下させるサスペンドモードにおいて、サスペンドモード持続時間を伸ばしたい場合、特に有効である。しかし、バッテリ残量監視コントローラがスリープモード動作に使用できる割り込み検出信号数を上回る数のレジュームイベントを検出したい場合、スリープ時間があまり長くなると、その間に発生したレジュームイベントを検出できないという欠点がある。このためある程度リアルタイム性が要求されるレジュームイベント、例えば、サスペンド中のキー入力、マウスクリックなどユーザーが起こすイベントを検出できなくなり、結果としてユーザーはレジュームさせたくても、レジュームイベントが発生した時にバッテリ容量監視コントローラがスリープモードであるとイベントを検出できないので、レジューム要求が受け付けられない場合があったり、コントローラがレジュームイベントを検出するまで待たされることになり、非常に不便であった。例えば、ユーザーからのレジュームイベントをある程度リアルタイムで検出するためには、バッテリ残量監視コントローラを１秒間に８回程度（８Ｈｚ周期）スリープから解除することが必要である。これを１００秒に一回程度に延長できれば、消費電力を抑えることはできないが、ユーザーがレジュームイベントを入力してもほとんど取りこぼされ、検出されることはなくなってしまう。
【０００４】
なお、バッテリ残量監視コントローラのスリープモードとは、コントローラ内蔵のソフトが動作を停止し、限られた割り込み信号を検出することができ、この割り込み信号によってフル動作モードへ復帰することができるモードであり、フル動作モードよりもコントローラ自身の消費電力は小さくなるモードのことをいう。
【０００５】
また、バッテリ残量監視コントローラのフル動作モードとは、コントローラ内蔵のソフトウェアが動作し、コントローラに装備されたすべての信号端子が使用可能で、外部ハードウェアからの信号またはソフトウェアの設定によってスリープモードへ遷移できる動作モードのことをいう。
【０００６】
上述した従来例では、バッテリ残量監視コントローラがスリープ中にレジュームイベントを検出できないので、コントローラの消費電力を抑えるためにスリープを解除する割り込み信号の発生間隔を長くし、コントローラが通常動作モードとなる延べ時間を減らそうとすると、レジュームイベントを検出できない時間が長くなり、ユーザにとってはかえって不便になってしまうというジレンマを抱えていることがわかる。
【０００７】
本出願に係る第１の発明の目的は、スリープモードを持つコントローラにバッテリ容量を監視させ、バッテリで動作可能な情報処理装置において、システムの省電力モードであるサスペンドモードにおいてバッテリ容量監視コントローラの消費電力を抑え、サスペンドモードにおいても持続時間の長い情報システムをユーザに提供することである。
【０００８】
本出願に係る第２の発明の目的は、システムをサスペンドモードから通常動作モードへレジュームする際に、ある程度リアルタイム性が要求されるレジュームイベント、例えば、サスペンド中のキー入力、マウスクリックなどユーザーが起こすイベントを検出し、ユーザーがレジュームさせたい時にはユーザーを待たせることなく、いつでも応答し、フル動作モードへ遷移する情報処理装置を提供することである。
【０００９】
【課題を解決するための手段】
上記目的を解決するために、本発明の情報処理装置は、バッテリで駆動され、サスペンドモードを有する情報処理装置であって、スリープモードを持ち、前記バッテリの容量を監視するバッテリ容量監視コントローラと、前記バッテリ容量監視コントローラの動作モードを、スリープモードから通常モードへ遷移するように指示する指示手段と、前記情報処理装置のサスペンドモードから通常動作モードへの復帰を要求する信号を保持する保持手段と、前記情報処理装置の動作モードを、サスペンドモードから通常動作モードへ遷移させる制御部とを有し、前記バッテリ容量監視コントローラの動作モードが、スリープモードから通常モードへ遷移したときに、前記保持手段に前記復帰を要求する信号が保持されている場合、前記サスペンドモードから前記通常動作モードへ遷移するように、前記バッテリ容量監視コントローラが前記制御部へ指示した後に、前記バッテリ容量監視コントローラはスリープモードへ入ることを特徴とする。
【００１３】
【実施例】
（実施例１）
図１に本発明の実施例１のブロック図を示す。
【００１４】
Ｅ１１は情報処理装置の中央演算処理装置（ＣＰＵ）である。
【００１５】
Ｅ１２は種々のデータを記憶するメモリである。
【００１６】
Ｅ１３はＣＰＵＥ１１、メモリＥ１２、周辺機器を接続するメモリコントローラである。
【００１７】
Ｅ１４はメモリコントローラＥ１３に接続する周辺デバイスＡで、システムがサスペンド中でも電源が切れないデバイスである。
【００１８】
Ｅ１５はメモリコントローラＥ１３に接続する周辺デバイスＢで、システムがサスペンド中電源が切れるデバイスである。
【００１９】
Ｅ１６はシステムモード制御部であり、システムを通常動作モードとサスペンドモードとを遷移させる制御を行う。システムモード制御部Ｅ１６はサスペンド中も電源が供給され、レジューム処理などを行う。
【００２０】
Ｅ１７は電源部でシステムモード制御部Ｅ１６からの制御信号に従い、通常動作モードではシステムの全デバイスへ電力を供給するが、サスペンドモードでは必要なデバイスに電力を供給する。この図の場合は、周辺デバイスＢＥ１５にはサスペンドモード中電源が供給されない。また、システムモード制御部Ｅ１６はサスペンドモード中に電源が切れないデバイスＥ１４に対しては、Ｓｕｓｐｅｎｄ＿Ｓｔａｔｅ信号を出力してシステムの動作モード状態を通知する。さらに、システムモード制御部は内部にカウンタを持ち、このカウンタに設定された値をカウントアップしたときに、バッテリ残量監視コントローラに対して、スリープ解除割り込み信号を発生し、コントローラをスリープモードから通常動作モードへ戻し、バッテリの全容量を検出させる。Ｓｕｓｐｅｎｄ＿Ｓｔａｔｅ信号を受けたデバイスはあらかじめ設定されたとおりに動作し、サスペンドモード中は省電力動作に移行する。
【００２１】
Ｅ１８はバッテリ残量監視コントローラであり、バッテリＥ１９の出力電圧を監視し、バッテリの残容量を監視する。残容量がシステム動作に影響する場合は、システムに対してＬｏｗバッテリ通知信号を出力して通知する。また、バッテリ残量監視コントローラＥ１８はシステムモード制御部からのスリープ解除割り込み信号によって割り込みが発生し、スリープモードから通常動作モードへ遷移し、各処理を行う。この処理はコントローラ自身に内蔵されているプログラムに従い、実行される。また、この例ではシステムがサスペンドモードからレジュームするトリガとなる６種類のレジュームイベント信号がバッテリ残量監視コントローラに接続されている。ＰＷＲ−ＯＮ信号はシステムのＰｏｗｅｒ  Ｏｎスイッチが入れられたことを示す信号、ＫＥＹ＿ＩＮ信号はキーボードからキー入力があったことを示す信号、ＭＯＵＳＥ＿ＩＮ信号はマウス入力があったことを示す信号、Ｅｖｅｎｔ−Ａ、Ｅｖｅｎｔ−Ｂ、Ｅｂｅｎｔ−Ｃ信号はその他のレジュームイベント信号を示している。先にも述べたが、スリープモードを持つコントローラは、スリープモード中の自身の消費電力を抑えるために、スリープモード中に使用できる入力信号端子数や割り込み入力端子数を制限するものが多い。この例ではスリープモード中に有効な割り込み入力端子は１つしかなく、他のレジュームイベント信号すべてを割り込み端子へ割り当てることができないコントローラを使用している。
【００２２】
本発明では、レジュームイベントトリガ信号が発生した時に、これをラッチし、保持するトリガ信号保持装置Ｅ２０が新たに加わった点である。このトリガ信号保持装置Ｅ２０はサスペンド中も電源を切らずにレジュームイベント信号を保持することはいうまでもない。バッテリ残量監視コントローラＥ１８がスリープから解除されて、各端子を読み終えたら、クリア信号を発生し、トリガ信号保持装置Ｅ２０が保持していた状態をクリアする。
【００２３】
また、トリガ信号保持装置Ｅ２０は、具体的にはＣＭＯＳプロセスによるフリップフロップ回路のように、信号をラッチしたり、クリアしたりする動作以外の静的な状態ではほとんど電力を消費しない構成にすることが消費電力を低下させる効果を大きくするためには、有効である。
【００２４】
図２に本実施例の動作を説明するフローチャートを示す。レジュームイベントトリガ信号保持装置Ｅ２０を追加したことにより、本実施例ではＳ１４でレジュームイベント信号が接続されたコントローラの各端子を読み込めば、トリガ信号が保持されているのでレジュームイベントが発生していたことを検出でき、Ｓ１６でシステムへレジューム信号発生要求を行うことができるようになっている。
【００２５】
図２は図１中のバッテリ残量監視コントローラＥ１８がシステムモード制御部Ｅ１６からスリープ解除割り込み信号を受け、発生した割り込み処理の内容を示すものである。
【００２６】
Ｓ１０は割り込み処理の開始である。
【００２７】
Ｓ１１はバッテリ残量検出処理である。この例ではバッテリが出力している電圧値からバッテリ残容量を算出するものとするが、バッテリが自身の容量を通信できる機能を備えている場合は通信によって残容量を取得してもよい。
【００２８】
Ｓ１２はバッテリ残容量がシステムの動作に対して十分かどうかを判定する。あらかじめ設定された値に満たなければ、Ｓ１９へ進む。そうでなければ、Ｓ１３へ進む。
【００２９】
Ｓ１３はシステムが現在サスペンド中かどうかを判定する。Ｓｕｓｐｅｎｄ＿Ｓｔａｔｅ信号の状態で判断できる。システムがサスペンド中の場合は、Ｓ１４へ進み、サスペンド中でなければレジュームイベントを検査する必要がないので、この処理を飛ばしてＳ１７へ進む。
【００３０】
Ｓ１４はトリガ信号保持装置Ｅ２０からレジュームイベント信号が接続されている各端子を順番に読み込む。これにより、コントローラＥ１８がスリープ中に、発生したレジュームイベントは検出できる。
【００３１】
Ｓ１５はＳ１４で読み込んだ各端子の値から、レジュームイベント発生の有無を判定する。レジュームイベントが発生していなければ、Ｓ１７へ進む。レジュームイベントが発生していた場合は、Ｓ１６へ進む。
【００３２】
Ｓ１６ではレジュームイベントが発生していたことを検出した時の処理で、システムモード制御部Ｅ１６に対して、レジューム要求信号を出力する。
【００３３】
Ｓ１７はバッテリ残量監視コントローラの消費電力を抑えるために、スリープモードへ入る。ここでは、自身の命令（ソフトウェア）でスリープモードへ遷移可能なコントローラを想定している。
【００３４】
Ｓ１９ではＳ１２でバッテリ残量を検出した結果、バッテリ残量が不十分と判断されたため、システムに対してＬｏｗバッテリ信号を出力し、通知する。この信号を受けたシステムはあらかじめ設定された処理を開始する。
【００３５】
Ｓ１８は本割り込み処理の終了である。
【００３６】
（実施例２）
図３に本発明の実施例２のブロック図を示す。
【００３７】
図３において、Ｅ３１は情報処理装置の中央演算処理装置（ＣＰＵ）である。
【００３８】
Ｅ３２は種々のデータを記憶するメモリである。
【００３９】
Ｅ３３はＣＰＵＥ３１、メモリＥ３２、周辺機器を接続するメモリコントローラである。
【００４０】
Ｅ３４はメモリコントローラＥ３３に接続する周辺デバイスＡで、システムがサスペンド中でも電源が切れないデバイスである。
【００４１】
Ｅ３５はメモリコントローラＥ３３に接続する周辺デバイスＢで、システムがサスペンド中電源が切れるデバイスである。
【００４２】
Ｅ３６はシステムモード制御部であり、システムを通常動作モードとサスペンドモードとを遷移させる制御を行う。システムモード制御部Ｅ３６はサスペンド中も電源が供給され、レジューム処理などを行う。
【００４３】
Ｅ３７は電源部でシステムモード制御部Ｅ３６からの制御信号に従い、通常動作モードではシステムの全デバイスへ電力を供給するが、サスペンドモードでは必要なデバイスに電力を供給する。この図の場合は、周辺デバイスＢＥ３５にはサスペンドモード中電源が供給されない。また、システムモード制御部Ｅ３６はサスペンドモード中に電源が切れないデバイスＥ３４に対しては、Ｓｕｓｐｅｎｄ＿Ｓｔａｔｅ信号を出力してシステムの動作モード状態を通知する。さらに、システムモード制御部は内部にカウンタを持ち、このカウンタに設定された値をカウントアップしたときに、バッテリ残量監視コントローラに対して、スリープ解除割り込み信号を発生し、コントローラをスリープモードから通常動作モードへ戻し、バッテリの全容量を検出させる。Ｓｕｓｐｅｎｄ＿Ｓｔａｔｅ信号を受けたデバイスはあらかじめ設定されたとおりに動作し、サスペンドモード中は省電力動作に移行する。
【００４４】
Ｅ３８はバッテリ残量監視コントローラであり、バッテリＥ３９の出力電圧を監視し、バッテリの残容量を監視する。残容量がシステム動作に影響する場合は、システムに対してＬｏｗバッテリ通知信号を出力して通知する。また、バッテリ残量監視コントローラＥ３８はシステムモード制御部Ｅ３６からのスリープ解除割り込み信号によって割り込みが発生し、スリープモードから通常動作モードへ遷移し、各処理を行う。この処理はコントローラ自身に内蔵されているプログラムに従い、実行される。また、この例ではシステムがサスペンドモードからレジュームするトリガとなる６種類のレジュームイベント信号がバッテリ残量監視コントローラに接続されている。ＰＷＲ−ＯＮ信号はシステムのＰｏｗｅｒ  Ｏｎスイッチが入れられたことを示す信号、ＫＥＹ＿ＩＮ信号はキーボードからキー入力があったことを示す信号、ＭＯＵＳＥ＿ＩＮ信号はマウス入力があったことを示す信号、Ｅｖｅｎｔ−Ａ、Ｅｖｅｎｔ−Ｂ、Ｅｖｅｎｔ−Ｃ信号はその他のレジュームイベント信号を示している。先にも述べたが、スリープモードを持つコントローラは、スリープモード中の自身の消費電力を抑えるために、スリープモード中に使用できる入力信号端子数や割り込み入力端子数を制限するものが多い。この例ではスリープモード中に有効な割り込み入力端子は１つしかなく、他のレジュームイベント信号すべてを割り込み端子へ割り当てることができないコントローラを使用している。
【００４５】
Ｅ３８はバッテリ残量監視コントローラで、スリープ解除割り込み以外にスリープモード中でも使用できる割り込み入力を１本以上持つコントローラを前提としている。ただし、スリープモード中に使用できる割り込み本数がすべてのレジュームイベント数よりも少ない場合、本実施例の解決方法が必要になる。また、本実施例の場合、バッテリ残量監視コントローラはシステムのサスペンド状態を監視する必要がないためＳｕｓｐｅｎｄ＿Ｓｔａｔｅ信号は接続されていない。
【００４６】
Ｅ４０はレジュームイベントトリガ信号統合手段であり、各レジュームイベント信号のＯＲをとり、バッテリ残量監視コントローラのもう一つの割り込み入力端子に、その出力信号を接続している。本実施例では、レジュームイベント信号、バッテリ残量監視コントローラの割り込み入力信号共に負論理の場合の構成であり、ＮＯＲによって実現している。また、このレジュームイベントトリガ信号統合手段の電源はサスペンドモード中も切れないことはいうまでもない。
【００４７】
また、レジュームイベントトリガ信号統合手段は、具体的にはＣＭＯＳプロセス回路のように、入力信号が安定している時にはほとんど電力を消費しない構成にすることが消費電力を低下させる効果を大きくするためには、有効である。
【００４８】
図４に本実施例の動作を説明するフローチャートを示す。
【００４９】
図４は、図３中のバッテリ残量監視コントローラＥ３８がシステムモード制御部Ｅ３６がスリープ解除割り込み信号を受けたか、またはレジュームイベントトリガ信号統合手段Ｅ４０がレジュームイベント割り込み信号を受けて、割り込み処理が発生したときの割り込み処理の内容を示すものである。
【００５０】
Ｓ３０は割り込み処理の開始である。
【００５１】
Ｓ３１は２系統のどちらの割り込みが発生したかを検出する。スリープモード解除割り込みだった場合はＳ３２へ進み、そうでない場合はレジュームイベントが発生してたことになるのでＳ３７へ進み、システムへレジューム要求出力を発生する。
【００５２】
Ｓ３２はバッテリ残量検出処理である。この例ではバッテリが出力している電圧値からバッテリ残容量を算出するものとするが、バッテリが自身の容量を通信できる機能を備えている場合は通信によって残容量を取得しても差し支えない。
【００５３】
Ｓ３３はバッテリ残容量がシステムの動作に対して十分かどうかを判定する。あらかじめ設定された値に満たなければ、Ｓ３４へ進む。そうでなければ、Ｓ３５へ進む。
【００５４】
Ｓ３４ではＳ３３でバッテリ残量を検出した結果、バッテリ残量が不十分と判断されたため、システムに対してＬｏｗバッテリ信号を出力し、通知する。この信号を受けたシステムはあらかじめ設定された処理を開始する。
【００５５】
Ｓ３７はバッテリ残量監視コントローラの消費電力を抑えるために、スリープモードへ入る。
【００５６】
ここでは、自身の命令（ソフトウェア）でスリープモードへ遷移可能なコントローラを想定している。
【００５７】
Ｓ３６は本割り込み処理の終了である。
【００５８】
【発明の効果】
以上説明のように、本発明によれば、バッテリ容量監視コントローラが情報処理装置のサスペンドモードとは独立したスリープモードを有し、バッテリ容量監視コントローラのスリープモードのときに発生したレジュームイベント信号を検出し、情報処理装置のレジューム動作を行うことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施例に係る構成を説明する図である。
【図２】本発明の第１の実施例に係る動作を説明するフローチャートである。
【図３】本発明の第２の実施例に係る構成を説明する図である。
【図４】本発明の第２の実施例に係る動作を説明するフローチャートである。
【符号の説明】
Ｅ１１  ＣＰＵ
Ｅ１２  メモリ
Ｅ１３  メモリコントローラ
Ｅ１４  周辺デバイスＡ
Ｅ１５  周辺デバイスＢ
Ｅ１６  システムモード制御部
Ｅ１７  電源部
Ｅ１８  バッテリ残量監視コントローラ
Ｅ１９  バッテリ
Ｅ２０  トリガ信号保持装置
【図１】
0003542409.tif 000002
【図２】
0003542409.tif 000003
【図３】
0003542409.tif 000004
【図４】
0003542409.tif 000005