(57)【要約】  【課題】本発明は、コンピュータシステムのコールドリセットの発生を低減できる方法及びコンピュータシステムを提供する。  【解決手段】このコンピュータシステム５００は、コンピュータシステム５００の制御に使用されるＣＰＵ５０２と、ＣＰＵ５０２を休止モードから動作可能な状態に戻すのに使用される復帰ボタン５３０と、コンピュータシステム５００に電力を供給するバッテリー５０８とを有する。ＣＰＵ５０２はソフトウェアによるバッテリー異常処理をサポートする。本発明の方法は、以下の手順の少なくとも一方を含む。（１）ＣＰＵ５０２が休止モードであり、かつコンピュータシステム５００の電力供給が不確実な状態にある場合、復帰イベントが発生してもＣＰＵ５０２は休止モードのままとする。（２）ＣＰＵ５０２が休止モードであり、かつ復帰ボタンが押された時間が所定の値よりも短い場合は、ＣＰＵ５０２を休止モードのままとする。【選択図】図５
2005038405.tif 000002
【特許請求の範囲】
【請求項１】
中央処理ユニット、前記中央処理ユニットを休止モードから動作可能状態に復帰させるための復帰ボタン、及びコンピュータシステムに電力を供給するバッテリーを含み、前記中央処理ユニットがソフトウェアによるバッテリー異常処理機能をサポートするコンピュータシステムにおけるコールドリセットの発生を低減する方法であって、
前記中央処理ユニットが休止モードであり、かつ前記コンピュータシステムの電力供給が不確実な状態にある場合、復帰イベントが発生しても前記中央処理ユニットを休止モードのままとする、方法。
【請求項２】
前記不確実な電力供給の状態がバッテリー異常の状態を含む、請求項１記載の方法。
【請求項３】
前記不確実な電力供給の状態がバッテリーの蓋が開けられた状態を含む、請求項１又は２に記載の方法。
【請求項４】
前記不確実な電力供給の状態が前記バッテリーから供給される電力が低下した状態を含む、請求項１ないし３のいずれかに記載の方法。
【請求項５】
前記中央処理ユニットが休止モードであり、かつ前記復帰ボタンが押された時間が所定の値よりも短い場合は、前記中央処理ユニットを休止モードのままとする、請求項１ないし４のいずれかに記載の方法。
【請求項６】
中央処理ユニット、前記中央処理ユニットを休止モードから動作可能状態に復帰させるための復帰ボタン、及びコンピュータシステムに電力を供給するバッテリーを含み、前記中央処理ユニットがソフトウェアによるバッテリー異常処理機能をサポートするコンピュータシステムにおけるコールドリセットの発生を低減する方法であって、
前記中央処理ユニットが休止モードであり、かつ前記復帰ボタンが押された時間が所定の値よりも短い場合は、前記中央処理ユニットを休止モードのままとする、方法。
【請求項７】
前記所定の値が、衝突又は衝撃によって前記復帰ボタンが押される時間の一般的な値よりも大きく、かつユーザーが意図的に復帰ボタンを押す時間の一般的な値よりも小さい、請求項５又は６に記載の方法。
【請求項８】
前記所定の値が１ミリ秒〜２ミリ秒よりも大きく、１００ミリ秒よりも小さい、請求項５又は６に記載の方法。
【請求項９】
前記コンピュータシステムがパーソナルディジタルアシスタントである、請求項１ないし８のいずれかに記載の方法。
【請求項１０】
コンピュータシステムを制御するために使用され、ソフトウェアによるバッテリー異常処理機能をサポートする中央処理ユニットと、
前記中央処理ユニットに電気的に接続されており、復帰イベントを受け取って当該復帰イベントを選択的に前記中央処理ユニットに出力するための回路ユニットと、
前記コンピュータシステムの状態に応じて前記回路ユニットを制御するために使用される検出回路と、
前記コンピュータシステムに電力を供給するバッテリーとを含むコンピュータシステムであって、
前記中央処理ユニットが休止モードであり、かつ前記コンピュータシステムが不確実な電力供給の状態にあることを前記検出回路が検出した場合、復帰イベントが前記回路ユニットに送られても前記中央処理ユニットをそのまま休止モードに維持する、コンピュータシステム。
【請求項１１】
前記不確実な電力供給の状態がバッテリー異常の状態を含む、請求項１０記載のコンピュータシステム。
【請求項１２】
前記不確実な電力供給の状態がバッテリーの蓋が開けられた状態を含む、請求項１０又は１１に記載のコンピュータシステム。
【請求項１３】
前記不確実な電力供給の状態が前記バッテリーから供給される電力が低下した状態を含む、請求項１０ないし１２のいずれかに記載のコンピュータシステム。
【請求項１４】
前記コンピュータシステムがパーソナルディジタルアシスタントである、請求項１０ないし１３のいずれかに記載のコンピュータシステム。
【請求項１５】
復帰ボタンと、
コンピュータシステムを制御するために使用され、ソフトウェアによるバッテリー異常処理機能をサポートする中央処理ユニットと、
前記復帰ボタンの状態を検出するために使用される遅延保護回路とを含むコンピュータシステムであって、
前記コンピュータシステムが休止モードであり、かつ前記復帰ボタンが押された時間の長さが所定の値よりも短いことを前記遅延保護回路が検出した場合は、前記中央処理ユニットを休止モードのままとする、コンピュータシステム。
【請求項１６】
前記コンピュータシステムが休止モードの場合は前記遅延保護回路がイネーブルされ、前記コンピュータシステムが通常動作モードの場合は前記遅延保護回路がディスエーブルされる、請求項１５記載のコンピュータシステム。
【請求項１７】
前記所定の値が衝突又は衝撃のために前記復帰ボタンが押される時間の一般的な値よりも大きく、かつユーザーが意図して前記復帰ボタンを押す時間の一般的な値よりも小さい、請求項１５又は１６に記載のコンピュータシステム。
【請求項１８】
前記コンピュータシステムがパーソナルディジタルアシスタントである、請求項１５ないし１７のいずれかに記載のコンピュータシステム。
【請求項１９】
前記所定の値が１ミリ秒〜２ミリ秒よりも大きく、かつ１００ミリ秒よりも小さい、請求項１５ないし１８のいずれかに記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコールドリセットの発生を低減する方法及びコンピュータシステムに関し、より具体的には、バッテリーの異常により、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）に記憶されたデータが喪失することを防止して、コールドリセットの発生を低減することのできる方法及びコンピュータシステムに関する。
【背景技術】
【０００２】
本願は、２００３年７月１７日出願の台湾特許出願番号第９２１１９５６９号の利益を主張するものである。
主要電力の供給をバッテリーに依存するコンピュータシステムでは、バッテリー異常が発生すると電力消費を軽減するためにコンピュータシステムを休止モードにしなければならない。ここでバッテリー異常とは、たとえば、バッテリーの出力が低下していること、又はコンピュータシステムが外部から衝撃を受けてバッテリーがコンピュータシステムから脱落したことによりバッテリーが電力を供給できないことを意味する。ここで言うコンピュータシステムの例としては、パーソナルディジタルアシスタント（ＰＤＡ）がある。
【０００３】
一般に、コンピュータシステム内で使用される中央処理ユニット（ＣＰＵ）は、通常（ノーマル）動作モードと休止（スリープ）モードとの２つのモードを持つ。ＣＰＵがバッテリー異常を処理する能力を有している場合は、バッテリー異常が発生したときにＣＰＵは直接休止モードに入る。しかし、ＣＰＵがソフトウェアによるバッテリー異常処理機能をサポートしている場合は、バッテリー異常が発生したときにＣＰＵはバッテリー異常通知イベントを受け取る。この時、バッテリー異常通知イベントは、割り込み源とみなされる。割り込み源は、ＣＰＵが休止モードに入るためにはソフトウェアコードで処理される必要がある。
【０００４】
バッテリー異常が発生してＣＰＵが休止モードに入った後で、コンピュータシステムの主回路基板に残っている電力（コンデンサに蓄えられた電力やバックアップ電源の供給からの電力を含む。）は、ＳＤＲＡＭに供給され続けて、ＳＤＲＡＭ内に記憶されたデータを保持することが出来る。ユーザーが新しいバッテリー又は脱落したバッテリーを適切に取り付けると、ＣＰＵは作動可能な状態に戻り、コンピュータシステムの状態は休止モードに入る前の状態に復帰可能となり、ユーザーはコンピュータシステムの使用を継続できる。ＣＰＵが作動可能な状態に戻った後、アプリケーションプログラムを実行するためには、その前にハードウェアの初期化を実行しなければならない。ハードウェアの初期化中に、ブートコードを含むソフトウェアコードがロードされる。
【０００５】
しかし、ＣＰＵがソフトウェアによるバッテリー異常処理機能をサポートする場合、ＣＰＵに休止モードに入るように指示することのできるバッテリー異常通知イベントをこのソフトウェアコードが処理できるのは、ハードウェアの初期化がＣＰＵによって正常に完了した後に限られる。もしもハードウェアの初期化の間にバッテリー異常が発生すると、ソフトウェアコードはバッテリー異常通知イベントを処理することができず、したがってＣＰＵは休止モードに入れない。その結果、ＣＰＵは多大な電力を消費する通常動作モードにとどまらなければならない。バッテリーから電力が供給されないので、残りの電力は急速に消費されてしまう。
【０００６】
この時、主回路基板はＳＤＲＡＭに電力を供給できないので、ＳＤＲＡＭに記憶されたデータは完全に失われる。この場合、たとえば、ユーザーのデータ及びダウンロードされたプログラムは全て消去される。ＳＤＲＡＭに以前記憶されていたデータは全て失われているので、ユーザーがバッテリーを交換するか又は外れたバッテリーを装填しなおした後で、コンピュータシステムはコールドリセットを行ってシステムを工場出荷時のデフォールト状態に戻すことが出来るだけである。
【０００７】
説明のために、ＣＰＵがハードウェアの初期化を行う期間を第１の期間Ｔ１と定義し、ＣＰＵがアプリケーションプログラムの実行を開始できる期間を第２の期間Ｔ２と定義する。
図１図１図１は、第１の期間Ｔ１の間にバッテリー異常が発生した場合の信号のタイミング図である。電力の供給イネーブル信号ＰＷＲ＿ＥＮは、休止モードが起動されているかどうかを示す。電力の供給イネーブル信号ＰＷＲ＿ＥＮが、たとえば電圧がハイになってイネーブルされるとＣＰＵは通常動作モードとなり、電力の供給イネーブル信号ＰＷＲ＿ＥＮがディスエーブルされるとＣＰＵは休止モードとなる。ＣＰＵコア電力の供給信号ＣＰＵ＿ＣＲ＿ＰＷＲは、ＣＰＵのコア電力の供給の状態を示す。ＣＰＵが通常動作モードにある時は、バッテリーはＣＰＵに普通に電力を供給し、したがってＣＰＵコア電力の供給信号ＣＰＵ＿ＣＲ＿ＰＷＲの電圧はハイとなる。ＣＰＵが休止モードにあるときは、バッテリーはＣＰＵへの電力供給を停止し、したがってＣＰＵコア電力の供給信号ＣＰＵ＿ＣＲ＿ＰＷＲの電圧はローとなる。
【０００８】
更に、ＣＰＵ周辺機器電力の供給信号ＣＰＵ＿ＩＯ＿ＰＷＲは、ＣＰＵの周辺機器への電力供給の状態を示す。ＣＰＵが通常動作モードにあるか又は休止モードにあるかに関係なく、ＣＰＵの周辺機器には常に電力が供給され、したがってＣＰＵ周辺機器電力の供給信号ＣＰＵ＿ＩＯ＿ＰＷＲの電圧は常にハイとなっている。バッテリー異常信号ＢＴＲＹ＿ＦＬＴは何らかのバッテリー異常の発生を示す。バッテリー異常信号ＢＴＲＹ＿ＦＬＴがイネーブルされると、その電圧はローに変化する。
【０００９】
図１に示すように、ＣＰＵは時刻ｔ１で休止モードから作動可能な状態に戻り、次に供給イネーブル信号ＰＷＲ＿ＥＮの電圧がハイに変わり、ＣＰＵは第１の期間Ｔ１に入る。第１の期間Ｔ１中に何らかのバッテリー異常が発生すると、バッテリー異常通知イベント１０２が生成され、バッテリー異常信号ＢＴＲＹ＿ＦＬＴの電圧がローとなる。この時点では、ソフトウェアコードはバッテリー異常を処理することは出来ないので、ＣＰＵは多大の電力が連続的に消費される通常動作モードで作動を続ける。時刻ｔ２では、主回路基板内の全ての電力が消費され尽くし、主回路基板はもはやＳＤＲＡＭに電力を供給できなくなる。したがって、ＳＤＲＡＭに記憶されたデータは完全に失われる。
【００１０】
図２は、第２の期間Ｔ２の間にバッテリー異常が発生した場合の信号のタイミング図である。第２の期間Ｔ２中の時刻ｔ３でバッテリー異常が発生すると、バッテリー異常通知イベント２０２が生成され、ソフトウェアコードはバッテリー異常通知イベント２０２を正常に処理することが出来、したがってＣＰＵは正常に休止モードに入って電力消費を軽減できる。この時点で、主回路基板に残っている電力はＳＤＲＡＭへ供給され続け、ＳＤＲＡＭに記憶されたデータを安全に保存することが出来る。
【００１１】
したがって、第１の期間中に起きるバッテリー異常により、ＣＰＵがまだ通常動作モードであるために主回路基板内に残る電力が消費し尽くされて、その結果、主回路基板がもはやＳＤＲＡＭに電力を供給できなくなって、ＳＤＲＡＭに記憶されたデータが失われるという問題をどの様に処理するかということが、コールドリセットをしなければならない事態（以下、単に「コールドリセット」という。）の発生を低減する上で、業界の１つの研究テーマとなっている。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
そこで本発明の目的は、コンピュータシステムのコールドリセットの発生を低減するための方法及びコンピュータシステムを提供することである。本発明は、上記第１の期間に発生してＳＤＲＡＭ内のデータの喪失をもたらすバッテリー異常の問題を効果的に防止し、またコールドリセットの発生を低減できる。
【課題を解決するための手段】
【００１３】
本発明は、コンピュータシステムのコールドリセットの発生を低減するための方法及びコンピュータシステムを提供し、上記の目的を達成する。前記コンピュータシステムは、当該コンピュータシステムを制御するためのＣＰＵと、ＣＰＵを休止モードから作動可能状態に戻すための復帰ボタンと、コンピュータシステムに電力を供給するバッテリーとを有する。前記ＣＰＵは、ソフトウェアによるバッテリー異常処理機能をサポートする。本発明の方法は以下の手順の少なくとも一方を含む。（１）ＣＰＵが休止モードであり、かつコンピュータシステムの電力供給が不確実な状態にある場合、ＣＰＵを休止モードから復帰させるための復帰イベントが発生してもＣＰＵを休止モードのままとする。（２）ＣＰＵが休止モードであり、また復帰ボタンが押された時間が所定の値よりも短い場合は、ＣＰＵを休止モードのままとする。
【００１４】
請求項１記載の発明は、中央処理ユニット、前記中央処理ユニットを休止モードから動作可能状態に復帰させるための復帰ボタン、及びコンピュータシステムに電力を供給するバッテリーを含み、前記中央処理ユニットがソフトウェアによるバッテリー異常処理機能をサポートするコンピュータシステムにおけるコールドリセットの発生を低減する方法であって、前記中央処理ユニットが休止モードであり、かつ前記コンピュータシステムの電力供給が不確実な状態にある場合、復帰イベントが発生しても前記中央処理ユニットを休止モードのままとする、方法である。
【００１５】
中央処理ユニットは、通常動作モード（ノーマルモード）と、通常動作モードより消費電力が少ない休止モード（スリープモード）とに切り換え可能なものとすることができる。復帰イベントは、たとえば、中央処理ユニット（コンピュータシステム）が休止モードのときに、復帰ボタンが押されると発生する。コンピュータシステムの電力供給が不確実な状態でないときは、発生した復帰イベントは、中央処理ユニット（コンピュータシステム）に送られ、これにより中央処理ユニットは休止モードから復帰する。一方、コンピュータシステムの電力供給が不確実な状態のときは、たとえば、発生した復帰イベントを、中央処理ユニット（コンピュータシステム）に送らないものとすることができる。これにより中央処理ユニットは休止モードのままとなる。
【００１６】
前記不確実な電力供給の状態は、請求項２記載のようにバッテリー異常の状態を含んでもよい。
前記不確実な電力供給の状態は、請求項３記載のようにバッテリーの蓋が開けられた状態を含んでもよい。すなわち、このコンピュータシステムは、バッテリーの蓋が開けられることによりバッテリーからの電力供給が停止されるように構成されていてもよい。
【００１７】
前記不確実な電力供給の状態は、請求項４記載のように前記バッテリーから供給される電力が低下した状態を含んでもよい。
請求項５記載の発明は、前記中央処理ユニットが休止モードであり、かつ前記復帰ボタンが押された時間が所定の値よりも短い場合は、中央処理ユニットを休止モードのままとする、請求項１ないし４のいずれかに記載の方法である。
【００１８】
復帰ボタンが押された時間が所定の値よりも長いときは、発生した復帰イベントは、中央処理ユニット（コンピュータシステム）に送られ、これにより中央処理ユニットは休止モードから復帰する。一方、復帰ボタンが押された時間が所定の値よりも短いときは、たとえば、発生した復帰イベントを、中央処理ユニット（コンピュータシステム）に送らないものとすることができる。これにより中央処理ユニットは休止モードのままとなる。
【００１９】
請求項６記載の発明は、中央処理ユニット、前記中央処理ユニットを休止モードから動作可能状態に復帰させるための復帰ボタン、及びコンピュータシステムに電力を供給するバッテリーを含み、前記中央処理ユニットがソフトウェアによるバッテリー異常処理機能をサポートするコンピュータシステムにおけるコールドリセットの発生を低減する方法であって、前記中央処理ユニットが休止モードであり、かつ前記復帰ボタンが押された時間が所定の値よりも短い場合は、中央処理ユニットを休止モードのままとする、方法である。
【００２０】
前記所定の値は、たとえば、請求項７記載のように、衝突又は衝撃によって前記復帰ボタンが押される時間の一般的な値よりも大きく、かつユーザーが意図的に復帰ボタンを押す時間の一般的な値よりも小さいものとすることができる。
前記所定の値は、たとえば、請求項８記載のように、１ミリ秒〜２ミリ秒よりも大きく、１００ミリ秒よりも小さいものとすることができる。
【００２１】
前記コンピュータシステムは、請求項９記載のように、パーソナルディジタルアシスタントであってもよい。
請求項１０記載の発明は、コンピュータシステムを制御するために使用され、ソフトウェアによるバッテリー異常処理機能をサポートする中央処理ユニットと、前記中央処理ユニットに電気的に接続されており、復帰イベントを受け取って当該復帰イベントを選択的に前記中央処理ユニットに出力するための回路ユニットと、前記コンピュータシステムの状態に応じて前記回路ユニットを制御するために使用される検出回路と、前記コンピュータシステムに電力を供給するバッテリーとを含むコンピュータシステムであって、前記中央処理ユニットが休止モードであり、かつ前記コンピュータシステムが不確実な電力供給の状態にあることを前記検出回路が検出した場合、復帰イベントが前記回路ユニットに送られても前記中央処理ユニットをそのまま休止モードに維持する、コンピュータシステムである。
【００２２】
検出回路は、コンピュータシステムの状態として、コンピュータシステムが不確実な電力供給状態にあるか否かを検出可能であるものとすることができる。回路ユニットは、たとえば、前記中央処理ユニットが休止モードであり、かつ前記コンピュータシステムが不確実な電力供給の状態にあることを前記検出回路が検出した場合に、復帰イベントが送られてきても、この復帰イベントを前記中央処理ユニットに送らないことにより、前記中央処理ユニットをそのまま休止モードに維持するものとすることができる。
【００２３】
前記不確実な電力供給の状態は、請求項１１記載のように、バッテリー異常の状態を含んでもよい。
前記不確実な電力供給の状態は、請求項１２記載のように、前記蓋が開けられた状態を含んでもよい。
前記不確実な電力供給の状態は、請求項１３記載のように、前記バッテリーから供給される電力が低下した状態を含んでもよい。
【００２４】
前記コンピュータシステムは、請求項１４記載のように、パーソナルディジタルアシスタントであってもよい。
請求項１５記載の発明は、復帰ボタンと、コンピュータシステムを制御するために使用され、ソフトウェアによるバッテリー異常処理機能をサポートする中央処理ユニットと、前記復帰ボタンの状態を検出するために使用される遅延保護回路とを含むコンピュータシステムであって、前記コンピュータシステムが休止モードであり、かつ前記復帰ボタンが押された時間の長さが所定の値よりも短いことを前記遅延保護回路が検出した場合は、前記中央処理ユニットを休止モードのままとする、コンピュータシステムである。
【００２５】
遅延保護回路は、前記復帰ボタンの状態として、この復帰ボタンが押された長さを検知可能であるものとすることができる。
請求項１６記載の発明は、前記コンピュータシステムが休止モードの場合は前記遅延保護回路がイネーブルされ、前記コンピュータシステムが通常動作モードの場合は前記遅延保護回路がディスエーブルされる、請求項１５記載のコンピュータシステムである。
【００２６】
前記所定の値は、たとえば、請求項１７記載のように、衝突又は衝撃のために前記復帰ボタンが押される時間の一般的な値よりも大きく、かつユーザーが意図して前記復帰ボタンを押す時間の一般的な値よりも小さいものとすることができる。
前記コンピュータシステムは、請求項１８記載のように、パーソナルディジタルアシスタントであってもよい。
【００２７】
前記所定の値は、たとえば、請求項１９記載のように、１ミリ秒〜２ミリ秒よりも大きく、かつ１００ミリ秒よりも小さいものとすることができる。
本発明の他の目的、特徴及び利点は、以下の好適な、しかし限定的ではない実施形態の詳細な記述から明らかになるであろう。以下、添付図面を参照して説明する。
【発明を実施するための最良の形態】
【００２８】
本発明はＳＤＲＡＭに記憶されたデータの喪失の問題を、第１の期間Ｔ１中におけるバッテリー異常の発生を防止することにより解決する。第１の期間Ｔ１中におけるバッテリー異常の発生を防止するために本発明の方法が提供する手順は、以下のプロセスを含む。（１）コンピュータが休止モードであり、かつコンピュータシステムの電力の供給が不確実な状態にある場合、何らかの復帰イベントが発生してもそれらはＣＰＵに送られず、したがってＣＰＵは休止モードのままでいることができる。（２）コンピュータシステムが休止モードである場合、復帰ボタンが外部の衝撃によって誤って押されたのか否かが、復帰ボタンが押された時間に従って判定される。復帰ボタンが押された時間が所定の値よりも短い場合は、ＣＰＵは休止モードのままとなる。手順（１）及び手順（２）は一緒に実施しても、また別個に実施しても良い。
【００２９】
図３は、上で説明した手順（１）を含む本発明の好適な実施形態のためのコンピュータシステム３００のブロック図である。コンピュータシステム３００は、中央処理ユニット（ＣＰＵ）３０２、回路ユニット３０４、検出回路３０６及びバッテリー３０８を含む。ＣＰＵ３０２はコンピュータシステム３００を制御するために使用され、またソフトウェアによるバッテリー異常の処理機能をサポートする。また、ＣＰＵ３０２は、通常動作モードと、通常動作モードにより消費電力が少ない休止モードとに切り替え可能である。回路ユニット３０４はＣＰＵ３０２に電気的に接続されている。回路ユニット３０４は、第１の信号Ｓ１を受け取って第２のＳ２を出力する。
【００３０】
検出回路３０６は、コンピュータシステム３００に電力が確実に供給されているか（所定の電圧が供給されているか）否かを検知できる。コンピュータシステム３００の状態に応じて回路ユニット３０４を制御する。そしてバッテリー３０８はコンピュータシステム３００に電力を供給する。
コンピュータシステム３００はデータを記憶するためのＳＤＲＡＭ（図示せず）をさらに含む。
【００３１】
図４Ａは、図３のＣＰＵ３０２（コンピュータシステム３００）が休止モードであり、かつコンピュータシステム３００が不確実な電力が供給状態にあると検出回路３０６が判定したことを示す、第１の信号Ｓ１及び第２の信号Ｓ２のタイミング図である。第１の信号Ｓ１がイネーブルされたときに第１の信号Ｓ１の電圧はローであり、第２の信号Ｓ２も同様であると仮定する。時刻ｔ４で復帰イベント４１０が発生すると、第１の信号Ｓ１の電圧はローに変化する。ＣＰＵ３０２が休止モードであり、かつコンピュータシステム３００が不確実な電力供給状態にあることを検出回路３０６が検出すると、回路ユニット３０４は復帰イベント４１０をＣＰＵ３０２に送らず、したがって第２の信号Ｓ２の電圧はハイのままとなる。復帰イベント４１０が回路ユニット３０４に入力されても、ＣＰＵ３０２は復帰イベント４１０を受け取らないので、ＣＰＵ３０２は休止モードのままとなる。
【００３２】
図４Ｂは、図３のＣＰＵ３０２が休止モードであり、かつコンピュータシステム３００が不確実な電力供給状態ではないと検出回路３０６が判定した時の、第１の信号Ｓ１及び第２の信号Ｓ２のタイミング図である。時刻ｔ５で復帰イベント４２０が発生すると、第１の信号Ｓ１の電圧はローに変化する。ＣＰＵ３０２が休止モードであり、かつコンピュータシステム３００が不確実な電力供給状態ではないと検出回路３０６が判定すると、回路ユニット３０４は復帰イベント４２２をＣＰＵ３０２に送る。ＣＰＵ３０２は通常動作モード（作動可能状態）に戻される。
【００３３】
コンピュータシステム３００が不確実な電力供給状態にあるときは、本発明は復帰イベント４１０がＣＰＵ３０２に送られないようにすることで、ＣＰＵ３０２が作動可能状態に戻されてその後ハードウェアの初期化が行われる第１の期間に入ってしまうような状況の発生を防止する。もしも（Ｉ）コンピュータシステム３００が（ｉ）バッテリー３０８があがったか若しくは取り外されたためにバッテリー３０８が正常に電力を供給できないバッテリー異常の状態か、又は（ｉｉ）ユーザーがバッテリー３０８を交換するためにバッテリー３０８の蓋を開けてバッテリー非作動状態にしたか、又は（ｉｉｉ）バッテリー３０８の電力レベルが低すぎる低電力状態にあり、かつ（ＩＩ）コンピュータシステム３００が作動可能状態であって通常動作モードを開始し、ハードウェアの初期化が行われる第１の期間Ｔ１に入ると、バッテリーは電力を供給することができず、その後主回路基板内に残る電力は急速に消費されてＳＤＲＡＭに記憶されたデータが失われる。
【００３４】
これに対して、本発明によれば、コンピュータシステムが上記（ｉ）〜（ｉｉｉ）の３つのいずれかの状態にあるときは、コンピュータシステム３００の状態を検出することにより、ＣＰＵ３０２が休止モードのままでいられるようにする。したがってＣＰＵ３０２は第１の期間Ｔ１に入らず、ソフトウェアコードが従来の方法ではバッテリー異常のイベントを処理できないことにより生じる問題は防止される。主回路基板内に残る電力は、ＣＰＵ３０２が通常動作モードのときと比べて長い時間、ＳＤＲＡＭへ供給を継続され続けることができ、ＳＤＲＡＭに記憶されたデータを保存する。したがって、本発明が提供するコンピュータシステム３００は、ＳＤＲＡＭ内のデータの喪失を防止し、コールドリセットの発生を低減できる。
【００３５】
図５は、本発明の好適な実施形態に係る上記の手順（２）を行うためのコンピュータシステム５００のブロック図である。コンピュータシステム５００は復帰ボタン５３０と、ＣＰＵ５０２と、遅延保護回路５３２と、バッテリー５０８とを含む。復帰ボタン５３０は、ユーザーがコンピュータシステム５００を操作するためにコンピュータシステム５００の外部ケース上にある。ＣＰＵ５０２はコンピュータシステム５００の制御に使用され、ソフトウェアによるバッテリー異常処理機能をサポートする。また、ＣＰＵ５０２は、通常動作モードと休止モードとに切り替え可能である。復帰ボタン５３０は第３の信号Ｓ３を遅延保護回路５３２に出力し、遅延保護回路５３２は第４の信号Ｓ４をＣＰＵ５０２に出力する。バッテリー５０８はコンピュータシステム５００が必要とする電力を供給する。コンピュータシステム５００は、データを記憶するためのＳＤＲＡＭ(図示せず)をさらに含む。
【００３６】
復帰ボタン５３０は、ユーザーの指により、又はコンピュータシステム５００が地面に落下した衝撃により押されることがある。コンピュータシステム５００が落下すると、バッテリーが衝撃で脱落する可能性がある。一般に、復帰ボタン５３０が衝突又は衝撃によって押される時間は約１ミリ秒〜２ミリ秒であるが、ユーザーが復帰ボタンを押す時間は通常、約１００ミリ秒である。したがって本発明では、デフォールト値が１ミリ秒〜２ミリ秒よりも長く１００ミリ秒よりも短い所定の値Ｐを使用して、復帰ボタン５３０が押された時間が所定の値Ｐよりも短いか長いかをチェックすることにより、復帰ボタン５３０が意図して押されたのか又は誤って押されたのかを判定できるようにする。
【００３７】
コンピュータシステム５００が地面に落下すると、バッテリー５０８が脱落する可能性がある。バッテリー５０８が脱落すると、バッテリー５０８はコンピュータシステム５００に電力を供給できない。このとき、ＣＰＵ５０２が休止モードから通常動作モード（作動可能状態）に復帰すると、主回路基板内に残っている電力は急速に消費されて、ＳＤＲＡＭに記憶されたデータが失われる。そのため、ＣＰＵ５０２（コンピュータシステム５００）が休止モードであり、かつ復帰ボタン５３０が押された時間が所定の値Ｐよりも短いことを遅延保護回路５３２が検出した場合、これはコンピュータが衝突又は衝撃を受け、バッテリー５０８が既に脱落した可能性があることを意味する。このとき、本発明により、ＳＤＲＡＭ内のデータの喪失を防止するために、ＣＰＵ５０２が休止モードにとどまることが可能となる。
【００３８】
図６Ａは、ＣＰＵ５０２が休止モードであり、かつ復帰ボタン５３０が押された時間が所定の値Ｐよりも短い時の、第３の信号Ｓ３及び第４の信号Ｓ４のタイミング図である。第３の信号Ｓ３がイネーブルされたとき電圧がローであり、第４の信号Ｓ４も同様であると仮定する。時刻ｔ６に復帰イベント６１０が発生すると、第３の信号Ｓ３の電圧はローに変化する。ＣＰＵ５０２が休止モードであり、かつ復帰ボタン５３０が押された時間が所定の値Ｐよりも短いことを遅延保護回路５３２が検出すると、遅延保護回路５３２は復帰イベント６１０を受け取ったにもかかわらず復帰イベントをＣＰＵ５０２に送らない。したがって時刻ｔ６に遅延保護回路５３２によって出力された第４の信号Ｓ４の電圧はハイのままとなり、ＣＰＵは依然として休止モードにとどまる。
【００３９】
図６Ｂは、図５のＣＰＵ５０２が休止モードであり、かつ復帰ボタンが押された時間が所定の値Ｐよりも長いときの、第３の信号Ｓ３及び第４の信号Ｓ４のタイミング図である。時刻ｔ７に復帰イベント６２０が発生すると、第３の信号Ｓ３の電圧はローに変化する。ＣＰＵ５０２が休止モードであり、かつ復帰ボタン５３０が押された時間が所定の値Ｐよりも長いことを遅延保護回路５３２が検出した場合、これはコンピュータシステム５００を作動可能状態にしたくてユーザーが復帰ボタン５３０を押したことを意味する。したがって、遅延保護回路５３２が復帰イベント６２０を受け取ると、遅延保護回路５３２は復帰イベント６２２をＣＰＵ５０２に送る。このとき、遅延保護回路５３２によって出力される第４の信号Ｓ４の電圧は時刻ｔ７にローに変化して、ＣＰＵ５０２は作動可能状態に戻る。
【００４０】
遅延保護回路５３２は制御信号ＣＴＲＬで制御される（図５参照）。コンピュータシステム５００が休止モードのときは、制御信号ＣＴＲＬはイネーブルされ、遅延保護回路５３２もまたイネーブルされて図６Ａ及び図６Ｂに示したプロセスが実行可能となる。しかしコンピュータシステム５００が通常動作モードの場合は、制御信号ＣＴＲＬはディスエーブルされ、遅延保護回路５３２もディスエーブルされる。この時、第３の信号Ｓ３は直接ＣＰＵ５０２に行くことが出来、それにより通常動作モードにおけるコンピュータシステム５００の動作スピードは速くなる。
【００４１】
本発明が提供する、コールドリセットの発生を低減するための方法及びコンピュータシステムは、バッテリー異常信号ＢＴＲＹ＿ＦＬＴが第１の期間Ｔ１中に発生することにより、ＳＤＲＡＭ内のデータの喪失という問題を生じることを効果的に防止することが出来る。本発明はデータの完全性を向上し、かつコンピュータシステム、特にＰＤＡのＳＤＲＡＭにデータを記憶できる期間の長さを延ばすという利点を提供する。
【００４２】
本発明を好適な実施形態によって説明してきたが、本発明はこれらに限定されるものではない。本発明は様々な変更、また同様の構成及び手順を含むものであり、したがって添付の特許請求の範囲は、かかる変更、同様の構成及び手順を含むように、最も広く解釈すべきものである。
【図面の簡単な説明】
【００４３】
【図１】第１の期間の間にバッテリー異常が発生したときの信号のタイミング図である。
【図２】第２の期間の間にバッテリー異常が発生したときの信号のタイミング図である。
【図３】本発明の好適な実施形態に係る方法を実施するための手順（１）を行うためのコンピュータシステムのブロック図である。
【図４Ａ】図３のＣＰＵが休止モードであり、かつコンピュータシステムが不確実な電力の供給の状態にあると検出回路が判定したときの、第１の信号及び第２の信号のタイミング図である。
【図４Ｂ】図３のＣＰＵが休止モードであり、かつコンピュータシステムが不確実な電力の供給の状態ではないと検出回路が判定した時の、第１の信号及び第２の信号のタイミング図である。
【図５】本発明の好適な実施形態に係る方法を実施するための手順（２）を行うためのコンピュータシステムのブロック図である。
【図６Ａ】図５のＣＰＵが休止モードであり、かつ復帰ボタンがその間に押された時間が所定の値よりも短いときの、第３の信号及び第４の信号のタイミング図である。
【図６Ｂ】図５のＣＰＵが休止モードであり、かつ復帰ボタンがその間に押された時間が所定の値よりも長いときの、第３の信号及び第４の信号のタイミング図である。
【図１】
2005038405.tif 000003
【図２】
2005038405.tif 000004
【図３】
2005038405.tif 000005
【図４Ａ】
2005038405.tif 000006
【図４Ｂ】
2005038405.tif 000007
【図５】
2005038405.tif 000008
【図６Ａ】
2005038405.tif 000009
【図６Ｂ】
2005038405.tif 000010