(57)【要約】【課題】振動や移動といったコンピュータの物理的な運動の有無に基づいてＡＣＰＩ等におけるシステム状態の切り替え制御を行うことにより、物理的な衝撃からコンピュータの各種装置を保護する。【解決手段】コンピュータ装置本体に設けられた加速度センサ６０にて得られる加速度情報に基づいて、エンベデッドコントローラ４１が、コンピュータ装置本体が運動（振動、移動、回転等）をしているか否かを判断する。そして、コンピュータ装置本体が運動している場合、エンベデッドコントローラ４１は、Ｉ／Ｏブリッジ２１によるシステム状態の切り替えを一時的に延期させるように制御を行う。【選択図】        図３
2005004544.tif 000002
【特許請求の範囲】
【請求項１】
システムの稼働状態を電力消費量の異なる複数の状態に切り替え可能なコンピュータ装置において、
装置本体のおかれた物理的な状態を判断する装置状態判断手段と、
前記システムの稼働状態の切り替えを制御するシステム状態制御手段とを備え、
前記システム状態制御手段は、前記システムの稼働状態を切り替えようとする際に、前記装置状態判断手段の判断において前記装置本体が運動している場合に、当該システムの稼働状態の切り替えを行わず、現在の稼働状態を維持する制御を行うことを特徴とするコンピュータ装置。
【請求項２】
前記システム状態制御手段は、前記システムの稼働状態の切り替えに伴って前記コンピュータ装置に搭載されたハードディスク装置に対するアクセスを要する場合にのみ、前記現在の稼働状態を維持する制御を行うことを特徴とする請求項１に記載のコンピュータ装置。
【請求項３】
前記システム状態制御手段は、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）のステータスに基づいて前記システムの稼働状態の切り替えを行うことを特徴とする請求項１に記載のコンピュータ装置。
【請求項４】
所定の周辺装置を搭載したコンピュータ装置において、
前記周辺装置への電力供給を制御する第１の制御回路と、
前記コンピュータ装置の状態を監視して前記第１の制御回路による制御動作を制御する第２の制御回路と、
前記コンピュータ装置の装置本体に設けられた加速度センサとを備え、
前記第２の制御回路は、前記加速度センサにて検知された加速度情報に基づいて前記装置本体の状態を判断し、前記第１の制御回路に対し、非動作状態の周辺装置に対する電力供給を延期させることを特徴とするコンピュータ装置。
【請求項５】
前記第２の制御回路は、前記加速度センサにて検知された加速度情報に基づいて前記装置本体が運動していると判断した場合に、前記第１の制御回路に対し、非動作状態の周辺装置に対する電力供給を延期させることを特徴とする請求項４に記載のコンピュータ装置。
【請求項６】
前記第２の制御回路は、前記加速度センサにて検知された加速度情報の履歴を考慮して、前記装置本体の現在の状態を判断することを特徴とする請求項４に記載のコンピュータ装置。
【請求項７】
前記第２の制御回路は、コンピュータ装置の電力消費量を制御するための所定の稼働状態において停止している周辺装置に対して前記第１の制御回路が電力供給を再開する制御を延期させることを特徴とする請求項４に記載のコンピュータ装置。
【請求項８】
システムの稼働状態を電力消費量の異なる複数の状態に切り替え可能なコンピュータ装置において、
ハードディスク装置と、
前記システムの稼働状態に応じて前記ハードディスク装置への電力供給を制御する制御回路と、
コンピュータ装置本体に設けられた加速度センサとを備え、
前記制御回路は、前記稼働状態の切り替えに伴う前記ハードディスク装置への電力供給の制御を、前記加速度センサにて検知される加速度情報を加味して行うことを特徴とするコンピュータ装置。
【請求項９】
前記制御回路は、前記加速度センサにて検知された加速度情報に基づいて前記コンピュータ装置本体が運動していると判断した場合に、前記稼働状態の切り替えに伴う前記ハードディスク装置への電力供給の開始を延期することを特徴とする請求項８に記載のコンピュータ装置。
【請求項１０】
前記制御回路は、前記加速度センサにて検知された加速度情報の履歴に基づいて、前記コンピュータ装置本体が運動しているかどうかを判断することを特徴とする請求項９に記載のコンピュータ装置。
【請求項１１】
システムの稼働状態を電力消費量の異なる複数の状態に切り替え可能なコンピュータ装置におけるシステムの稼働状態の切り替え制御方法であって、
装置本体の状態に関して運動しているかどうかを判断し、
前記システムの稼働状態を切り替えようとする際に、前記装置本体が運動していると判断された場合、当該システムの稼働状態の切り替えを行わず、現在の稼働状態を維持することを特徴とするシステムの稼働状態の切り替え制御方法。
【請求項１２】
前記コンピュータ装置に搭載されたハードディスク装置に対するアクセスを要する場合にのみ、前記現在の稼働状態を維持する制御を行うことを特徴とする請求項１１に記載のシステムの稼働状態の切り替え制御方法。
【請求項１３】
所定の周辺装置を搭載したコンピュータ装置における当該周辺装置への電力供給の制御方法であって、
加速度センサにて検知された加速度情報に基づいてコンピュータ装置本体の状態を判断するステップと、
システムの稼働状態に応じて前記周辺装置への電力供給を制御すると共に、前記加速度センサにて検知された加速度情報に基づいて前記装置本体が運動していると判断した場合に、システムの稼働状態の切り替えに伴う前記周辺装置への電力供給の開始を延期するステップと
を含むことを特徴とする周辺装置への電力供給制御方法。
【請求項１４】
前記コンピュータ装置本体の状態を判断するステップでは、前記加速度センサにて検知された加速度情報の履歴が考慮されることを特徴とする請求項１３に記載の周辺装置への電力供給制御方法。
【請求項１５】
コンピュータを制御して、システムの稼働状態を電力消費量の異なる複数の状態に切り替えるプログラムであって、
コンピュータ装置本体が運動しているかどうかを判断する手段と、
前記システムの稼働状態の切り替えを制御すると共に、前記コンピュータ装置本体が運動していると判断した場合に、当該システムの稼働状態の切り替えを行わず、現在の稼働状態を維持する制御を行う手段として、
前記コンピュータを機能させることを特徴とするプログラム。
【請求項１６】
コンピュータを制御して、システムの稼働状態を電力消費量の異なる複数の状態に切り替えるプログラムであって、
コンピュータ装置本体が運動しているかどうかを判断する手段と、
前記システムの稼働状態の切り替えを制御すると共に、前記コンピュータ装置本体が運動していると判断した場合に、当該システムの稼働状態の切り替えに伴う周辺装置への電力供給の開始を延期する制御を行う手段として、
前記コンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータの動作制御に関し、特にハードディスク装置等の各種装置を保護するための動作状態の切り替え制御に関する。
【０００２】
【従来の技術】
パーソナルコンピュータを省電力化するための仕組みに、パーソナルコンピュータの動作状態（以下、システム状態）の切り替えがある。すなわち、一定以上の時間、パーソナルコンピュータが使用されない場合に、周辺装置や内部装置の不要な部分の動作を停止させ電源を切ることにより、消費電力の低下を図る。このようなシステム状態の代表的なものに、スタンバイ状態（サスペンド）と休止状態（ハイバネーション）とがある。
【０００３】
図７は、パーソナルコンピュータの概略的なハードウェア構成を示す図である。
図７において、ＣＰＵ７０１は、プログラム制御により種々の演算処理を実行する。メインメモリ７０２は、ＣＰＵ７０１が直接データを読み書きする内部記憶装置であり、ＣＰＵ７０１を制御するプログラムや演算処理におけるデータが格納される。一般にメインメモリ７０２には、ＤＲＡＭ等の揮発性メモリが用いられる。ＨＤＤ７０３は、外部記憶装置として用いられるハードディスク装置（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。モニタ７０４は、ＣＰＵ７０１による処理の結果を表示出力する出力装置であり、ビデオメモリ等を含むグラフィックス表示機構を介してＣＰＵ７０１に接続される。モニタ７０４には、ＣＲＴディスプレイやＬＣＤ（液晶ディスプレイ）が用いられる。その他、パーソナルコンピュータには、使用目的等に応じて種々の周辺装置が接続される。
【０００４】
上述した省電力のためのシステム状態のうち、スタンバイ状態では、ＨＤＤ７０３やモニタ７０４の電源を切り、他の周辺装置の動作モードも最小限の電力消費モードとなる。しかし、データはメインメモリ７０２上に存在し、このデータを保持するためにメインメモリ７０２への電力供給が必要である。
【０００５】
これに対し、休止状態では、メインメモリ７０２の内容や各種周辺装置の状態についての情報などを全てＨＤＤ７０３に書き込んだ上で、不要な電力供給を切る。したがって、メインメモリ７０２に対しても電力供給は行われず、システムの電源を完全に切った場合でも、次回の電源投入時にＨＤＤ７０３から必要なデータを読み出すことにより、休止状態直前と同じ状態に復帰することができる。
【０００６】
所定のシステム状態から休止状態に移行する場合、ＨＤＤ７０３に大量のデータを書き込む必要があるため、一定の時間（２０秒以上）が必要である。これに対して、スタンバイ状態へ移行するのに要する時間は短時間（通常５秒以下）であり簡便性に優れる。そのため、一時的にシステムを使用しない時は、通常はシステム状態をスタンバイ状態に移行し、さらにスタンバイ状態で一定時間過ぎた場合に自動的に休止状態に移行するという制御方法が一般的になってきている。例えば、米国マイクロソフト社のオペレーティングシステムであるＷｉｎｄｏｗｓ  ＸＰでは、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）に基づく電力制御が可能であるが、例えば、電源設定において「バッテリの最大利用モード」を選択すると、「システムが使用されていない時間が２分経つとスタンバイ状態に入り、１時間経過すると休止状態に移行する」という制御がなされる（例えば、非特許文献１参照）。
【０００７】
【特許文献１】
米国特許第５５５１０４３号明細書
【非特許文献１】
“電源オプションのコンピュータをスリープ状態にする設定とその動作仕様”［ｏｎｌｉｎｅ］、マイクロソフト、［平成１５年５月３０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａｐａｎ／ｓｕｐｐｏｒｔ／ｋｂ／ａｒｔｉｃｌｅｓ／４１８／９／７３．ａｓｐ＞
【０００８】
【発明が解決しようとする課題】
上記のような、スタンバイ状態で一定時間経過した後に休止状態に移行する制御では、設定された時間が経過した時点で、システムが自動的に動作を開始してＨＤＤへのデータの書き込みを実行することとなる。
しかしながら、ノートブック型のパーソナルコンピュータやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）のような携帯可能なコンピュータでは、携帯時にコンピュータ本体が振動や移動、回転等、激しく運動している場合があり、このときに上述した休止状態へ移行するための動作を開始してしまうと、ＨＤＤにダメージを与えてしまう恐れがある。この場合、最悪の状況としては、ＨＤＤが使えなくなりデータを喪失してしまう可能性がある。
特に、使用者は、通常の使用状態では、コンピュータに大きな振動や衝撃を与えないように配慮すると考えられるが、システム状態がスタンバイ状態となっている場合は、コンピュータを通常の電源ＯＦＦの状態と同等に扱うことが想定され、コンピュータが振動を受けることに比較的頓着しない可能性は高い。
【０００９】
上記のような不都合を回避する手段として、スタンバイ状態に移行する際に休止状態の準備をすることが考えられる（例えば、特許文献１参照）。すなわち、ＨＤＤにメモリの記憶内容の書き込みを行い、いつでも休止状態に移行できる状態でスタンバイ状態となる。そして、一定時間経過、バッテリの電圧低下などの条件を満足すれば、そのまま電源を切り休止状態に入る。
しかし、この方法では、スタンバイ状態に移行する際に、休止状態に入るのと同じだけの時間を要することとなるため、利便性が低くなる。
【００１０】
なお、同様の不都合は、システム状態が休止状態へ移行する場合のみならず、スタンバイ状態や休止状態からタイマ制御で復帰する場合など、自動的にＨＤＤへのアクセスが行われる場合に生じ得る。
そこで本発明は、上記の問題に鑑み、振動や移動といったコンピュータの物理的な運動の有無に基づいてシステム状態の切り替え制御を行うことにより、物理的な衝撃からコンピュータの各種装置を保護することを目的とする。
【００１１】
【課題を解決するための手段】
上記の目的を達成する本発明は、システムの稼働状態を電力消費量の異なる複数の状態に切り替え可能な、次のように構成されたコンピュータ装置として実現される。このコンピュータ装置は、装置本体のおかれた物理的な状態を判断する装置状態判断手段と、システムの稼働状態の切り替えを制御するシステム状態制御手段とを備える。そして、システム状態制御手段は、システムの稼働状態を切り替えようとする際に、装置状態判断手段において装置本体が振動や移動、回転といった運動をしていると判断された場合に、システムの稼働状態の切り替えを行わず、現在の稼働状態を維持する制御を行うことを特徴とする。
【００１２】
ここで、システム状態制御手段は、システムの稼働状態の切り替えに伴ってコンピュータ装置に搭載されたハードディスク装置に対するアクセスを要する場合にのみ、現在の稼働状態を維持する制御を行うことも可能である。また、システムの稼働状態の切り替えは、例えばＡＣＰＩのステータスに基づいて行われる。
【００１３】
また、上記の目的を達成する他の本発明は、次のように構成されたコンピュータ装置としても実現される。すなわち、このコンピュータ装置は、周辺装置への電力供給を制御する第１の制御回路と、コンピュータ装置の状態を監視して第１の制御回路による制御動作を制御する第２の制御回路と、コンピュータ装置の装置本体に設けられた加速度センサとを備える。そして、第２の制御回路は、加速度センサにて検知された加速度情報に基づいて装置本体の状態を判断し、第１の制御回路に対し、非動作状態の周辺装置に対する電力供給を延期させることを特徴とする。この第２の制御回路による装置本体の状態の判断は、加速度センサにて検知された加速度情報の履歴を考慮して行うことができる。
【００１４】
上記の目的を達成するさらに他の本発明は、システムの稼働状態を電力消費量の異なる複数の状態に切り替え可能な、次のように構成されたコンピュータ装置としても実現される。すなわち、このコンピュータ装置は、ハードディスク装置と、システムの稼働状態に応じてハードディスク装置への電力供給を制御する制御回路と、コンピュータ装置本体に設けられた加速度センサとを備える。そして、制御回路は、システムの稼働状態の切り替えに伴うハードディスク装置への電力供給の制御を、加速度センサにて検知される加速度情報を加味して行うことを特徴とする。
【００１５】
また本発明は、システムの稼働状態を電力消費量の異なる複数の状態に切り替え可能なコンピュータ装置におけるシステムの稼働状態の切り替え制御方法としても実現される。このシステムの稼働状態の切り替え制御方法は、装置本体の状態に関して運動しているかどうかを判断し、システムの稼働状態を切り替えようとする際に、装置本体が運動していると判断された場合、システムの稼働状態の切り替えを行わず、現在の稼働状態を維持することを特徴とする。
【００１６】
さらに本発明は、所定の周辺装置を搭載したコンピュータ装置における周辺装置への電力供給の制御方法としても実現される。この周辺装置への電力供給の制御方法は、加速度センサにて検知された加速度情報に基づいてコンピュータ装置本体の状態を判断するステップと、システムの稼働状態に応じて周辺装置への電力供給を制御すると共に、加速度センサにて検知された加速度情報に基づいて装置本体が運動していると判断した場合に、システムの稼働状態の切り替えに伴う周辺装置への電力供給の開始を延期するステップとを含むことを特徴とする。
【００１７】
さらにまた、本発明は、コンピュータを制御して上述したシステムの稼働状態の切り替えや電力制御の機能を実現させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【００１８】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図１は、本実施の形態によるシステム状態の切り替え制御を実現するコンピュータシステム１０のハードウェア構成を示した図である。
図１に示すコンピュータシステム１０において、ＣＰＵ１１は、プログラム制御により種々の演算処理を実行し、コンピュータシステム１０全体を制御している。ＣＰＵ１１は、システムバスであるＦＳＢ（Ｆｒｏｎｔ  Ｓｉｄｅ  Ｂｕｓ）１２、高速のＩ／Ｏ装置用バスとしてのＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス２０、低速のＩ／Ｏ装置用バスとしてのＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス４０という３段階のバスを介して、各構成要素と相互接続されている。このＣＰＵ１１は、主記憶の内容の一部を例えばＳＲＡＭに蓄えるキャッシュメモリを採用しており、キャッシュメモリにプログラム・コードやデータを蓄えることで、処理の高速化を図っている。近年では、ＣＰＵ１１の内部に１次キャッシュとして１２８Ｋバイト程度のＳＲＡＭを集積させているが、記憶容量の不足を補うために、専用バスであるＢＳＢ（Ｂａｃｋ  Ｓｉｄｅ  Ｂｕｓ）１３を介して、５１２Ｋ〜２Ｍバイト程度の外部のキャッシュである２次キャッシュ１４を置いている。尚、ＢＳＢ１３を省略し、ＦＳＢ１２に２次キャッシュ１４を接続して端子数の多いパッケージを避けることで、コストを低く抑えることも可能である。
【００１９】
ＦＳＢ１２とＰＣＩバス２０は、メモリ／ＰＣＩチップと呼ばれるＣＰＵブリッジ（ホスト−ＰＣＩブリッジ）１５によって連絡されている。このＣＰＵブリッジ１５は、メインメモリ１６へのアクセス動作を制御するためのメモリコントローラ機能や、ＦＳＢ１２とＰＣＩバス２０との間のデータ転送速度の差を吸収するためのデータバッファ等を含んだ構成となっている。メインメモリ１６は、ＣＰＵ１１の実行プログラムの読み込み領域として、あるいは実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。例えば、複数個のＤＲＡＭチップで構成される。この実行プログラムには、ＯＳ、周辺機器類をハードウェア操作するための各種ドライバ、特定業務を実行するためのアプリケーションプログラム等が含まれる。
【００２０】
ビデオサブシステム１７は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、ＣＰＵ１１からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むと共に、ビデオメモリからこの描画情報を読み出して、液晶ディスプレイ（ＬＣＤ）等のモニタに描画データとして出力している。
【００２１】
ＰＣＩバス２０は、比較的高速なデータ転送が可能なバスである。このＰＣＩバス２０には、Ｉ／Ｏブリッジ（サウスブリッジまたはＩ／Ｏハブとも称す）２１、カードバスコントローラ２２、オーディオサブシステム２５、ドッキングステーションインターフェイス（Ｄｏｃｋ  Ｉ／Ｆ）２６等が接続される。
【００２２】
Ｉ／Ｏブリッジ２１は、ＰＣＩバス２０とＩＳＡバス４０とのブリッジ機能を備えた制御回路であり、ＤＭＡコントローラ機能、プログラマブル割り込みコントローラ（ＰＩＣ）機能、プログラマブル・インターバル・タイマ（ＰＩＴ）機能、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｉｃｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）インターフェイス機能、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）機能、ＳＭＢ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｂｕｓ）インターフェイス機能等の諸機能を備え、リアルタイムクロック（ＲＴＣ）を内蔵している。また、コンピュータシステム１０の各装置への供給電力の管理（パワーマネージメント）を行う。
【００２３】
ＤＭＡコントローラ機能は、周辺機器（例えばＦＤＤ（フロッピーディスクドライブ））とメインメモリ１６との間のデータ転送をＣＰＵ１１の介在なしに実行するための機能である。ＰＩＣ機能は、周辺機器からの割り込み要求（ＩＲＱ）に応答して、所定のプログラム（割り込みハンドラ）を実行させる機能である。ＰＩＴ機能は、タイマ信号を所定周期で発生させる機能であり、その発生周期はプログラマブルである。また、ＩＤＥインターフェイス機能によって実現されるインターフェイスは、ＩＤＥハードディスクドライブ（ＨＤＤ）３１が接続される他、ＣＤ−ＲＯＭドライブ３２がＡＴＡＰＩ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ）接続される。このＣＤ−ＲＯＭドライブ３２の代わりに、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブのような、他のタイプのＩＤＥ装置が接続されても構わない。ＨＤＤ３１やＣＤ−ＲＯＭドライブ３２等の外部記憶装置は、例えば、コンピュータシステム１０の装置本体内の「メディアベイ」または「デバイスベイ」と呼ばれる収納場所に格納される。
【００２４】
また、Ｉ／Ｏブリッジ２１にはＵＳＢポートが設けられており、ＵＳＢコネクタ３０と接続されている。さらに、Ｉ／Ｏブリッジ２１には、ＳＭバスを介してＥＥＰＲＯＭ３３が接続されている。このＥＥＰＲＯＭ３３は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ：基本入出力システム）、エンベデッドコントローラ４１を制御するためのプログラム、ユーザによって登録されたパスワードやスーパーバイザーパスワード、製品シリアル番号等の情報を保持するためのメモリであり、不揮発性で記憶内容を電気的に書き換え可能である。
【００２５】
カードバスコントローラ２２は、ＰＣＩバス２０のバスシグナルをカードバススロット２３のインターフェイスコネクタ（カードバス）に直結させるための専用コントローラであり、このカードバススロット２３には、ＰＣカードを装填することが可能である。ドッキングステーションインターフェイス２６は、コンピュータシステム１０がノートブック型パーソナルコンピュータである場合の機能拡張装置であるドッキングステーション（図示せず）を接続するためのハードウェアである。
【００２６】
ＩＳＡバス４０は、ＰＣＩバス２０よりもデータ転送速度が低いバスである。このＩＳＡバス４０には、エンベデッドコントローラ４１、フラッシュＲＯＭ４４、Ｓｕｐｅｒ  Ｉ／Ｏコントローラ４５が接続されている。さらに、キーボード／マウスコントローラのような比較的低速で動作する周辺機器類を接続するためにも用いられる。このＳｕｐｅｒ  Ｉ／Ｏコントローラ４５にはＩ／Ｏポート４６が接続されており、ＦＤＤの駆動やパラレルポートを介したパラレルデータの入出力（ＰＩＯ）、シリアルポートを介したシリアルデータの入出力（ＳＩＯ）を制御している。
【００２７】
エンベデッドコントローラ４１は、図示しないキーボードのコントロールを行うと共に、電源回路５０に接続されて、内蔵されたパワー・マネージメント・コントローラ（ＰＭＣ：Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）によってゲートアレイロジックと共に電源管理機能の一部を担う制御回路である。また、本実施の形態では、加速度センサ（角度センサ）６０から送られる加速度情報に基づいて、コンピュータシステム１０の装置本体の運動（振動、移動、回転等）を検知し、上記各構成要素への電力供給を制御する。
【００２８】
ところで、構成要素のうちＨＤＤ３１は、機械的に動作する構造を持つことから、振動などの物理的な条件による影響を受けやすく、これはデータの読み書きにおける誤動作の原因となる。また、データの読み書き用の磁気ヘッドが記録媒体である磁気ディスクに接触してしまうと、データの記録面を傷つけてデータの読み書きができなくなる場合もある。コンピュータシステム１０が通常の稼働状態で動作している場合は、使用者もコンピュータシステム１０の装置本体（以下、単に装置本体と記す）に大きな振動や衝撃を与えないように配慮すると考えられる。しかし、システム状態がスタンバイ状態や休止状態となっている場合は、コンピュータを通常の電源ＯＦＦの状態と同等に扱い、コンピュータが振動を受けることに頓着しないことが考えられる。そのため、スタンバイ状態から休止状態に移行したり、休止状態から自動的に通常の稼働状態に復帰する動作制御が行われる場合、かかるシステム状態の移行時に大きな振動や衝撃を受けると、ＨＤＤ３１が損傷してしまう恐れがある。
【００２９】
本実施の形態は、加速度センサ６０にて取得される加速度情報をエンベデッドコントローラ４１にて処理することにより、装置本体の運動を検知する。すなわち、所定の時間内に加速度情報が変動していれば、その変動の内容に応じて、装置本体が振動したり、移動したり、回転したりしていることがわかる。そして、装置本体がこのような運動をしている場合、物理的な衝撃を受ける可能性があるとみなして、システム状態を移行する動作を延期する制御を行う。コンピュータシステム１０のシステム状態の移行は、Ｉ／Ｏブリッジ２１によって実行される。したがって、エンベデッドコントローラ４１は、Ｉ／Ｏブリッジ２１を制御することにより、システム状態を移行するための制御動作の実行を延期させる。ここで、エンベデッドコントローラ４１は、コンピュータシステム１０のシステム状態に関わらず、各種のデバイス（周辺装置やセンサ、電源回路５０等）を監視し制御するワンチップ・マイコン（ｏｎｅ−ｃｈｉｐ  ｍｉｃｒｏｃｏｍｐｕｔｅｒ）である。
【００３０】
図２は、本実施の形態によるコンピュータの状態管理及び動作制御を実行するエンベデッドコントローラ４１の機能（ファームウェア）構成を示す図である。
図２に示すエンベデッドコントローラ４１は、ＩＳＡバス４０と接続するためのＡＣＰＩエンベデッドコントローラ・インターフェイス１０１、ＳＭＩ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｒｕｐｔ）インターフェイス１０２と、キーボードやマウスといった入力デバイスを制御して入力信号をＣＰＵ１１に送るＫＭＣ（キーボード／マウスコントローラ）１０３とを備えると共に、電源の状態（バッテリ駆動か否か、バッテリの電圧等）を監視するバッテリモニタ１０４及びＡＣ＆ＤＣ−ＤＣモニタ１０５と、バッテリの温度を監視するための温度センサモニタ１０６と、加速度センサ６０を監視して加速度情報を取得する加速度センサモニタ１０７と、パワーボタンや所定の機能と対応付けられたホットキーの操作、メディアベイやデバイスベイ等の拡張ベイへの機器の装着等を監視する拡張イベントモニタ１０８とを備える。また、ＳＭバスを介してＥＥＰＲＯＭ３３に接続するためのＳＭバス制御部１０９と、音声ボリュームやディスプレイ装置の輝度を制御するためのボリューム制御部１１０と、ビープ音や装置本体に設けられたＬＥＤの点灯を制御するためのシステムインジケータ制御部１１１と、ＣＰＵ１１や電源回路５０の冷却用ファンの動作を制御するためのファン制御部１１２と、これら各種の機能に必要な処理を実行するタスク処理部１１３と、エンベデッドコントローラ４１自身の電源管理を行うためのパワーマネージメントコア１１４及びパワーステート制御部１１５とを備える。
【００３１】
エンベデッドコントローラ４１におけるこれらの機能は、ＥＥＰＲＯＭ３３に格納されたエンベデッドコントローラ４１の制御プログラムの制御により実現される。ＥＥＰＲＯＭ３３の記憶内容は、電気的に書き換えができるので、既存のエンベデッドコントローラ４１に対して、本実施の形態によるシステム状態の切り替え制御を行うための機能を追加することが可能である。
【００３２】
図３は、本実施の形態におけるエンベデッドコントローラ４１とＩ／Ｏブリッジ２１と加速度センサ６０との関係を示す図である。
加速度センサ６０は、コンピュータシステム１０の装置筐体に設置され、ＦＥＴスイッチを介してＶＣＣ電源からの電力供給を受けて動作し、装置筐体に生じた加速度を計測して、計測値に応じた信号を出力する。出力された信号は、アンプを介して増幅され、加速度情報としてエンベデッドコントローラ４１に入力される。図示の例では、Ｘ方向（Ｘ−ＡＸＩＳ）とＹ方向（Ｙ−ＡＸＩＳ）の直交２軸に対する加速度情報がエンベデッドコントローラ４１に入力されているが、３軸方向に対する加速度情報を入力するようにしても良い。
【００３３】
エンベデッドコントローラ４１は、Ｉ／Ｏブリッジ２１から現在のコンピュータシステム１０のシステム状態を示す情報（例えば、ＡＣＰＩにおけるステータス（Ｓ０〜Ｓ５））を取得して、現在のシステム状態を認識する。また、加速度センサ６０からの加速度情報を入力して解析し、コンピュータシステム１０のシステム状態をどの状態に移行すべきかを判断する。そして、コンピュータシステム１０を省電力のためのスタンバイ状態や休止状態に移行あるいは維持するための信号“ＬＯＷＢＡＴ＃”や、通常の稼働状態へ復帰させるための信号“ＷＡＫＥ＃”を発行してＩ／Ｏブリッジ２１へ送信する。
【００３４】
Ｉ／Ｏブリッジ２１は、エンベデッドコントローラ４１から入力した信号“ＬＯＷＢＡＴ＃”、“ＷＡＫＥ＃”に基づいて、コンピュータシステム１０の各装置への供給電力を制御し、システム状態の切り替え制御を行う。
すなわち、本実施の形態において、加速度センサ６０とエンベデッドコントローラ４１とで、装置本体のおかれた物理的な状態を判断する装置状態判断手段として機能し、エンベデッドコントローラ４１とＩ／Ｏブリッジ２１とで、システム状態の切り替え制御を行うシステム状態制御手段として機能する。
【００３５】
次に、本実施の形態によるシステム状態の切り替え制御の動作を説明する。
図４は、本実施の形態によるシステム状態の切り替え制御におけるエンベデッドコントローラ４１の動作を説明するフローチャートである。
図４を参照すると、エンベデッドコントローラ４１は、コンピュータシステム１０が通常の稼働状態で動作しているとき、当該システム状態で実行されるべき処理を実行すると共に、Ｉ／Ｏブリッジ２１からエンベデッドコントローラ４１へ送られる現在のコンピュータシステム１０のシステム状態を示す情報を取得してシステム状態を監視している（ステップ４０１、４０２）。
【００３６】
システム状態が通常の稼働状態から省電力のための状態（スタンバイ状態や休止状態）へ移行すると、まずＩ／Ｏブリッジ２１から送られる情報が変化する。ここでは、ＡＣＰＩにおけるステータスが通常の稼働状態のＳ０からスタンバイ状態のＳ３に変わったものとする。すると、エンベデッドコントローラ４１は、信号“ＬＯＷＢＡＴ＃”を有効（Ａｃｔｉｖｅ）にする（ステップ４０３）。
【００３７】
エンベデッドコントローラ４１は、コンピュータシステム１０がスタンバイ状態で主要な構成要素への電力供給が行われていない場合であっても、上記のようにキーボードやマウスによる入力、電源の状態、バッテリの温度、加速度情報等を監視して必要な制御を行う。この場合、エンベデッドコントローラ４１は、一定時間ごと（例えば２５０ミリ秒ごと）に動作して、各種の入力情報を検査し、システム状態を切り替えるか否か（すなわち、通常の稼働状態に復帰するか否か）を判断する。
本実施の形態では、通常の稼働状態に復帰するかどうかを判断する条件として、電源の状態、バッテリの温度および加速度情報を検査することとする（ステップ４０４）。
【００３８】
まず、電源の状態について、バッテリ駆動の場合に電源電圧が低下していないかどうかがチェックされる（ステップ４０５）。次に、バッテリの温度について、バッテリ性能が低下する温度に上がっていないかがチェックされる（ステップ４０６）。さらに、加速度センサ６０から出力される加速度情報について、変動の有無がチェックされる（ステップ４０７）。加速度情報に対するチェックに関しては、後で詳述する。なお、これらのチェックは、必ずしもこの順番で行う必要はない。また、これらの他に、システム状態の変更時に調べるべきチェック項目を適宜加えることもできる。
【００３９】
ステップ４０５〜４０７において、全てのチェック項目の結果が良好（システム状態を通常の稼働状態に復帰させても問題がない）であれば、信号“ＬＯＷＢＡＴ＃”を無効（Ｉｎａｃｔｉｖｅ）にする（ステップ４０８）。これにより、システム状態は通常の稼働状態へ復帰することが許され、タイマ制御やホットキーの入力などによる通常の稼働状態への復帰条件が満足して復帰イベントが発生することによって復帰が可能となる。
一方、ステップ４０５〜４０７のチェック項目のいずれか１つでも不良（システム状態を通常の稼働状態に復帰できない、または復帰させるのが好ましくない）であった場合は、信号“ＬＯＷＢＡＴ＃”を有効（Ａｃｔｉｖｅ）のままとする（ステップ４０９）。これにより、通常の稼働状態への復帰イベントが発生しても、システム状態はスタンバイ状態を維持することとなる。
【００４０】
以上の処理の後、エンベデッドコントローラ４１は、一定時間、動作を停止する（ステップ４１０）。この時間は任意に設定でき、例えば上述したように２５０ミリ秒とする。そして、設定時間経過後、動作を再開し、通常の稼働状態への復帰イベントの発生（すなわち、タイマ制御における設定時間を経過したか、ホットキーの入力が行われたか等）をチェックし（ステップ４１１）、システム状態を通常の稼働状態に復帰させるかどうかを判断する（ステップ４１２）。上述したように、通常の稼働状態への復帰イベントが発生しても、ステップ４０９で信号“ＬＯＷＢＡＴ＃”が有効（Ａｃｔｉｖｅ）である場合には、システム状態は通常の稼働状態に復帰せず、スタンバイ状態が維持される。
【００４１】
ステップ４１２において、システム状態を通常の稼働状態に復帰させると判断した場合、エンベデッドコントローラ４１は、信号“ＷＡＫＥ＃”を発行してＩ／Ｏブリッジ２１に送信し（ステップ４１３）、ステップ４０１に戻って通常の稼働状態での処理を実行する。一方、システム状態を通常の稼働状態に復帰させないと判断した場合、エンベデッドコントローラ４１は、ステップ４０４に戻って各チェック項目のチェックを行い、信号“ＬＯＷＢＡＴ＃”の有効（Ａｃｔｉｖｅ）無効（Ｉｎａｃｔｉｖｅ）を制御して、一定時間停止する工程を繰り返す。
【００４２】
次に、本実施の形態における加速度情報の評価について説明する。
図５は、加速度センサ６０から取得した加速度情報に基づくエンベデッドコントローラ４１の動作を説明するタイムチャートである。
上述したように、システム状態がスタンバイ状態や休止状態であっても、エンベデッドコントローラ４１は、一定時間ごとに起動（Ｗａｋｅ）し、加速度センサ６０から加速度情報を受信して評価を行い、信号“ＬＯＷＢＡＴ＃”の有効（Ａｃｔｉｖｅ）無効（Ｉｎａｃｔｉｖｅ）を制御する。エンベデッドコントローラ４１は、所定の外部信号（ＥＣ  Ｗａｋｅ）により動作を開始すると、まず、ボタンやベイ等のハードウェアの状況を調べ、電源の状態（電圧、温度等）を調べる。そして、図５に示すように、加速度センサ６０を動作させる信号“ＳＥＮＳＯＲ  ＯＮ”を制御して（図示の例ではローレベルにして）、加速度センサ６０を動作可能状態とする。
【００４３】
そして、エンベデッドコントローラ４１は、加速度センサ６０の動作が安定するのを待った後（２ミリ秒程度）、加速度センサ６０から加速度情報を収集（Ｓｅｎｓｏｒ  Ｒｅａｄ）して評価すると共に、そのデータを内蔵のメモリにセーブする。このとき、取得した加速度情報に基づいてコンピュータシステムの装置本体が運動していると判断されたならば、エンベデッドコントローラ４１は、信号“ＬＯＷＢＡＴ＃”を有効（図示の例ではローレベル）のまま維持する。これにより、通常の稼働状態への復帰条件を満足して復帰イベントが発生しても、システム状態が通常の稼働状態に復帰してしまうことを防ぐことができる。
【００４４】
一方、加速度センサ６０から取得した加速度情報に基づいてコンピュータシステムの装置本体が運動していないと判断されたならば、次にエンベデッドコントローラ４１は、内蔵のメモリにセーブされた過去の一定時間分の加速度情報の履歴を参照する。ここで、加速度情報の履歴を参照するのは、装置本体が運動していると最後に判断してから短時間しか経過していない場合、装置本体の運動が継続している可能性があると考えられることから、一定時間以上、静止状態が続いているか否かを履歴にて確認するためである。なお、どの程度の時間分の加速度情報の履歴を参照するか、どの程度の時間、加速度情報に変動がなければ装置本体が静止状態にあると判断するか（閾値）は、任意に設定できる。
【００４５】
図６は、加速度情報の履歴の例を示す図である。簡単のため、図６では一方向（Ｘ方向）の加速度情報の履歴のみを示しているが、実際にはＹ方向やＺ方向の加速度情報も加味して評価することは言うまでもない。
図６において、期間ａは、ある程度の長さの時間、加速度の値が一定しているので、振動などの激しい動きが装置本体に生じていないと評価できる。これに対し、期間ｂは、加速度の値が連続的に変動しているので、装置本体に激しい動きが生じていると判断できる。この場合は、システム状態を切り替えてＨＤＤ３１等の周辺装置を起動させるのは好ましくない。また、期間ｃは、加速度の値が一定しているが、加速度の値が変動していた期間ｂの終了から短時間しか経過していないため、期間ｂにおける装置本体の運動が継続している可能性があり、この場合も、システム状態を切り替えてＨＤＤ３１等の周辺装置を起動させるのは好ましくない。
【００４６】
加速度情報の履歴を参照して、一定時間内に装置本体が運動した形跡（加速度の変動）がなければ、エンベデッドコントローラ４１は、信号“ＬＯＷＢＡＴ＃”を無効（図示の例ではハイレベル）とし、システム状態が通常の稼働状態に復帰することを許す（図５の太線）。
一方、最後に加速度の変動を記録してから一定時間以上経過していない場合、エンベデッドコントローラ４１は、信号“ＬＯＷＢＡＴ＃”を有効（図示の例ではローレベル）のまま維持する（図５の破線）。これにより、通常の稼働状態への復帰イベントが発生しても、システム状態が通常の稼働状態に復帰してしまうことを防ぐことができる。
【００４７】
以上の動作の後、エンベデッドコントローラ４１は、一旦停止し、一定時間（２５０ミリ秒）後に再起動する。ここで、この停止中に、復帰イベントが発生したものとする。この場合、エンベデッドコントローラ４１は、再起動後に、まず、ボタンやベイ等のハードウェアの状況を調べ、電源の状態（電圧、温度等）を調べ、復帰イベントを検出する。すると、エンベデッドコントローラ４１は、信号“ＬＯＷＢＡＴ＃”を調べ、有効であれば（図５の破線）、現在のシステム状態を維持し、システム状態を通常の稼働状態に復帰させない。一方、信号“ＬＯＷＢＡＴ＃”が無効であれば（図５の太線）、エンベデッドコントローラ４１は、信号“ＷＡＫＥ＃”を発行してＩ／Ｏブリッジ２１へ送信する。これにより、システム状態はスタンバイ状態から通常の稼働状態へ移行する。
【００４８】
以上説明した動作例では、コンピュータシステム１０のシステム状態がスタンバイ状態から通常の稼働状態へ復帰する場合を例として、エンベデッドコントローラ４１、加速度センサ６０及びＩ／Ｏブリッジ２１の動作を説明した。しかしながら、本実施の形態は、ＨＤＤ３１を保護する目的でシステム状態の切り替えを装置本体が静止するまで延期するものであり、システム状態の切り替えに伴ってＨＤＤ３１に対するアクセスを要する場合に広く適用可能である。すなわち、スタンバイ状態で一定時間経過後に自動的に休止状態に移行する制御においても、休止状態に移行するためにメインメモリ１６に保持されているデータをＨＤＤ３１に書き込む必要がある。そこで、本実施の形態により、装置本体が運動している状態ではシステム状態の切り替えを行わず、スタンバイ状態を維持することができる。一方、通常の稼働状態からスタンバイ状態へ移行する場合のように、ＨＤＤ３１へのアクセスを伴わずに移行できる場合は、本実施の形態による加速度センサ６０の検知情報に基づく制御を行わずにシステム状態を切り替えることが可能である。
【００４９】
また、本実施の形態は、ＨＤＤ３１へのアクセスを制御するのではなく、システム状態の切り替えに伴う、ＨＤＤ３１を含む周辺装置への電力供給を制御するため、ＨＤＤ３１以外にも装置本体の振動や移動といった物理的な条件に影響を受けやすい周辺装置を保護することができる。
【００５０】
【発明の効果】
以上説明したように、本発明によれば、振動や移動といったコンピュータの物理的な運動の有無に基づいてシステム状態の切り替え制御を行うことにより、物理的な衝撃からコンピュータの各種装置を保護することが可能となる。
【図面の簡単な説明】
【図１】本実施の形態によるシステム状態の切り替え制御を実現するコンピュータシステムのハードウェア構成を示した図である。
【図２】本実施の形態によるコンピュータの状態管理及び動作制御を実行するエンベデッドコントローラの機能構成を示す図である。
【図３】本実施の形態におけるエンベデッドコントローラとＩ／Ｏブリッジと加速度センサとの関係を示す図である。
【図４】本実施の形態によるシステム状態の切り替え制御におけるエンベデッドコントローラの動作を説明するフローチャートである。
【図５】本実施の形態において、加速度センサから取得した加速度情報に基づくエンベデッドコントローラの動作を説明するタイムチャートである。
【図６】本実施の形態において用いられる加速度情報の履歴の例を示す図である。
【図７】パーソナルコンピュータの概略的なハードウェア構成を示す図である。
【符号の説明】
１０…コンピュータシステム、１１…ＣＰＵ、１６…メインメモリ、２１…Ｉ／Ｏブリッジ、３１…ＩＤＥハードディスクドライブ（ＨＤＤ）、３３…ＥＥＰＲＯＭ、４１…エンベデッドコントローラ、６０…加速度センサ、１０７…加速度センサモニタ、１０９…ＳＭバス制御部、１１４…パワーマネージメントコア、１１５…パワーステート制御部
【図１】
2005004544.tif 000003
【図２】
2005004544.tif 000004
【図３】
2005004544.tif 000005
【図４】
2005004544.tif 000006
【図５】
2005004544.tif 000007
【図６】
2005004544.tif 000008
【図７】
2005004544.tif 000009