JPH10198469A - コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法 - Google Patents

コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法

Info

Publication number
JPH10198469A
JPH10198469A JP9000221A JP22197A JPH10198469A JP H10198469 A JPH10198469 A JP H10198469A JP 9000221 A JP9000221 A JP 9000221A JP 22197 A JP22197 A JP 22197A JP H10198469 A JPH10198469 A JP H10198469A
Authority
JP
Japan
Prior art keywords
main memory
storage device
contents
computer system
hibernation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9000221A
Other languages
English (en)
Other versions
JP3253881B2 (ja
Inventor
Makoto Arai
信 新井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP00022197A priority Critical patent/JP3253881B2/ja
Priority to US08/943,124 priority patent/US6154846A/en
Publication of JPH10198469A publication Critical patent/JPH10198469A/ja
Application granted granted Critical
Publication of JP3253881B2 publication Critical patent/JP3253881B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

(57)【要約】 【課題】ハイバネーション処理を途中で中断できるよう
にし、ハイバネーション処理の完了を待たずに電源オフ
直前の作業状態を即座に復元する。 【解決手段】電源スイッチ181がオフされると、SM
IがCPU11に発行されてハイバネーション処理が起
動される。ハイバネーション処理期間中には、メインメ
モリ13の内容がメモリブロック単位でHDD15にセ
ーブされる。メモリブロックはメインメモリ13を複数
に分割した中の1つである。1メモリブロックのセーブ
が完了する度、キーボードコントローラ17のキーバッ
ファがチェックされ、キー入力の有無が調べられる。キ
ー入力が検出されると、その時点でハイバネーション処
理は中断され、システムはSMI発生前の作業状態に復
元される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電源オフ時にコ
ンピュータシステムの主メモリの内容をそのシステムの
2次記憶装置にセーブするハイバネーション機能を有す
るコンピュータシステムおよびそのハイバネーション制
御方法に関する。
【0002】
【従来の技術】近年、携帯可能なノートブックタイプま
たはサブノートタイプのパーソナルコンピュータや、携
帯情報端末などのポケットコンピュータが種々開発され
ている。
【0003】この種のポータブルコンピュータは、バッ
テリ駆動可能な時間を延ばすために、コンピュータシス
テムの電力を節約するための種々のパワーセーブモード
が設けられている。サスペンドモードは、最も電力消費
の少ないパワーセーブモードの1つである。すなわち、
コンピュータシステムがサスペンドモードの時は、オペ
レーティングシステムやユーザプログラムなどの再スタ
ートに必要なシステムデータが記憶されている主メモリ
を除く、システム内の他のほとんどのデバイスはパワー
ダウンされる。
【0004】主メモリにセーブされるシステムデータ
は、コンピュータシステムがサスペンドモードに設定さ
れる直前のCPUのステータスおよび各種周辺LSIの
ステータスである。また、この主メモリには、オペレー
ティングシステムおよびアプリケーションプログラムの
実行状態やそのアプリケーションプログラムによって作
成されたユーザデータも記憶されている。
【0005】システムデータのセーブは、システムBI
OS(基本入出力プログラム)に組み込まれたサスペン
ドルーチンによって実行される。システムBIOSはオ
ペレーティングシステムからの要求にしたがってシステ
ム内のハードウェアを制御するためのものであり、シス
テム内の各種ハードウェアデバイスを制御するデバイス
ドライバ群を含んでいる。システムBIOSのサスペン
ドルーチンは、システム電源オフ時に起動され、CPU
のレジスタおよび各種周辺LSIのステータスをメモリ
にセーブした後、システムをパワーオフする。
【0006】主メモリへの電源供給は、システムがパワ
ーオフの期間中ずっとバッテリによって維持される。こ
のため、システムのステータスおよびユーザデータは消
失されることなく、サスペンド前の作業状態にシステム
を戻すことができる。
【0007】ところが、もしシステムがサスペンドモー
ド状態の時にバッテリの容量が低下されると、主メモリ
内のデータは消失される。この場合、サスペンド前の状
態にシステムを戻すことができ無くなるばかりか、主メ
モリに展開されているユーザデータも消失されてしま
う。
【0008】そこで、最近では、サスペンドモードに代
わる新たなパワーセーブモードとして、ハイバネーショ
ンが使用され始めている。ハイバネーションは、システ
ム電源のオフ時に主メモリの内容をハードディスクにセ
ーブした後にシステム内のすべてのデバイスをパワーダ
ウンさせるモードであり、サスペンドよりも、電力消費
を低減できる。
【0009】近年のオペレーティングシステムおよびア
プリケーションプログラムの機能向上に伴い、コンピュ
ータシステムに主メモリとして実装されるメモリ容量は
増大する一途にある。主メモリの記憶容量が増えると、
その分、主メモリの内容をハードディスクにセーブする
のに要する時間も増大する。このため、ハイバネーショ
ン機能を有するシステムでは、ハイバネーション処理に
要する時間、つまりユーザが電源スイッチをオフしてか
らシステムが実際にパワーオフされるまでの時間が増大
する傾向にある。
【0010】しかし、従来のハイバネーション機能は、
ユーザによる電源オフ操作などに応じてハイバネーショ
ン処理が一旦開始されてしまうと、そのハイバネーショ
ン処理が完了してシステムがパワーオフされた後に再び
ユーザがシステムを電源オンしない限り、電源オフ直前
の作業状態にシステムを復元することはできなかった。
【0011】このため、ユーザは、例えば誤って電源オ
フした場合や、ハイバネーション処理中に再度作業を継
続して行いたいという要求が発生したときであっても、
ハイバネーション処理が完了するまでの比較的長い時
間、その作業の再開が待たされるという問題があった。
【0012】
【発明が解決しようとする課題】上述したように、ハイ
バネーション機能を持つ従来のコンピュータシステムで
は、ハイバネーション処理が一旦開始されてしまうと、
そのハイバネーション処理が完了してシステムがパワー
オフされた後に再びユーザがシステムを電源オンしない
限り、電源オフ直前の作業状態にシステムを復元するこ
とはできない。このため、ハイバネーション処理中に再
度作業を継続して行いたいという要求が発生したときで
あっても、ハイバネーション処理が完了するまでの比較
的長い時間、その作業の再開が待たされるという問題が
あった。
【0013】この発明はこのような点に鑑みてなされた
ものであり、ハイバネーション処理が一旦開始されてし
まった後においても必要に応じて元の作業状態を即座に
復元することができるコンピュータシステムおよびその
システムにおけるハイバネーション制御方法を提供する
ことを目的とする。
【0014】
【課題を解決するための手段】この発明は、電源オフ時
にコンピュータシステムの主メモリの内容をそのシステ
ムの2次記憶装置にセーブするハイバネーション機能を
有するコンピュータシステムにおいて、前記主メモリの
内容を前記2次記憶装置にセーブする手段と、前記主メ
モリの内容を前記2次記憶装置にセーブしている期間
中、ユーザからの入力イベントの有無を検出する入力イ
ベント検出手段と、この入力イベント検出手段によって
所定の入力イベントが検出されたとき、前記主メモリの
内容を前記2次記憶装置にセーブする処理を中断して前
記コンピュータシステムをその電源オフ前の作業状態に
復元する手段とを具備することを特徴とする。
【0015】このコンピュータシステムにおいては、主
メモリの内容をハードディスク装置などの2次記憶装置
にセーブしている期間中において、ユーザからのキー入
力や表示パネルの開閉操作などの所定の入力イベントが
有るか否かの検出が行われる。主メモリの内容をハード
ディスク装置などの2次記憶装置にセーブしている期間
中に所定の入力イベントが検出されると、その時点で、
主メモリの内容を2次記憶装置にセーブする処理が中断
され、コンピュータシステムはその電源オフ前の作業状
態に復元される。このため、ユーザによる電源オフ操作
などによりハイバネーション処理が開始された後におい
ても、ユーザは、キー入力などを行うことにより、ハイ
バネーション処理の完了を待つことなく、即座に作業を
再開することが可能となる。
【0016】また、主メモリの内容を2次記憶装置にセ
ーブしている期間中に入力イベントの有無を検出するた
めの方法としては、主メモリを複数のブロックに分割し
て、ブロック単位で主メモリの内容を複数回に分けて2
次記憶装置に転送し、そして、1ブロック分の転送が完
了する度に、ユーザからの入力イベントの有無をチェッ
クすることによって実現することが好ましい。これによ
り、例えばキーボードコントローラのキーコードバッフ
ァをリードするといったポーリングによるハードウェア
ステータスのチェックをハイバネーション処理中に定期
的に行うことが可能となり、ハードウェア割り込みなど
を用いることなく、ハイバネーション処理期間中におけ
るイベント入力の有無を効率よく調べることができる。
【0017】
【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。
【0018】図1には、この発明の一実施形態に係わる
コンピュータシステムの構成が示されている。このコン
ピュータシステムは、ノートブックタイプまたはサブノ
ートタイプのポータブルパーソナルコンピュータであ
り、コンピュータ本体と、このコンピュータ本体に開閉
自在に取り付けられたLCDパネルユニットとから構成
されている。コンピュータ本体のシステムボード上に
は、システムバス10、CPU11、SMI制御回路1
2、メインメモリ13、BIOS−ROM14、磁気デ
ィスク装置(HDD)15、リアルタイムクロック(R
TC)16、キーボードコントローラ(KBC)17、
電源コントローラ(PSC)18、VGAコントローラ
19などが搭載されている。
【0019】CPU11は、このシステム全体の動作制
御およびデータ処理を実行する。このCPU11として
は、システム管理割り込みSMI(SMI;System M
anagement Interrupt )をサポートするもの、例えば、
米インテル社により製造販売されているマイクロプロセ
ッサPentium が使用される。この場合、CPU11は、
次のようなシステム管理機能を持つ。
【0020】すなわち、CPU11は、アプリケーショ
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想86モードを有する
他、システム管理モード(SMM;System Management
mode)と称されるシステム管理機能を実現するための動
作モードを有している。
【0021】リアルモードは、最大で1Mバイトのメモ
リ空間をアクセスできるモードであり、論理アドレスか
ら物理アドレスへの変換は、セグメントレジスタで表さ
れるベースアドレスからのオフセット値で物理アドレス
を決定するアドレス計算形式によって行われる。
【0022】一方、プロテクトモードは1タスク当たり
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称されるアドレスマッ
ピングテーブルを用いてリニアアドレスが決定される。
このリニアアドレスは、ページングによって最終的に物
理アドレスに変換される。
【0023】このように、プロテクトモードとリアルモ
ードとでは、互いに異なるメモリアドレッシングが採用
されている。
【0024】システム管理モード(SMM)は疑似リア
ルモードであり、このモードにおけるアドレス計算形式
はリアルモードのアドレス計算形式と同一であり、ディ
スクプリタテーブルは参照されず、ページングも実行さ
れない。しかし、SMMでは、プロテクトモードと同様
に、1Mバイトを越えるメモリ空間をアクセスすること
ができる。
【0025】システム管理割込み(SMI;System Man
agement Interrupt )がCPU11に発行された時、C
PU11の動作モードは、その時の動作モードであるリ
アルモード、プロテクトモード、または仮想86モード
から、SMMにスイッチされる。SMIによってSMM
にスイッチした時、CPU11はその時のCPUレジス
タの内容であるCPUステータスをSMRAM13Aに
セーブする。また、SMMにおいて復帰命令(RSM命
令)が実行されると、CPU11はSMRAM13Aか
らCPUレジスタにCPUステータスをリストアし、S
MI発生前の動作モードに復帰する。本実施形態におい
ては、SMMにおいて、ハイバネーションルーチンなど
のシステム管理プログラムが実行される。このハイバネ
ーションルーチンは、主メモリ13およびVRAM19
1の内容を、HDD15の記憶エリアに予め確保されて
いるハイバネーションエリアにセーブした後にシステム
をパワーオフさせるためのものであり、システム電源オ
フに起因するSMI、つまり、電源スイッチ181の押
下、またはLCDパネルユニットが閉じられたことに起
因して発生されるSMIに応答して実行される。
【0026】SMIはマスク不能割込みNMIの一種で
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
【0027】SMI制御回路12は、SMI発生制御の
ためのハードウェアであり、図示のように、ハイバネー
ション処理を起動するためのSMI発生回路121、他
の要因によるSMI発生回路122,123、SMIス
テータスレジスタ124、OR回路125を備えてい
る。
【0028】SMI発生回路121は、電源コントロー
ラ18を介して電源スイッチ181の押下、またはパネ
ル開閉検出スイッチ182によってLCDパネルユニッ
トが閉じられたことが通知された時、ハイバネーション
処理を起動するためのSMI信号を発生する。他の要因
によるSMI発生回路122,123は、例えば、ソフ
トウェアSMI、グローバルスタンバイSMI、ローカ
ルスタンバイSMI、外部入力SMIなどを発生する。
【0029】OR回路125は、SMI発生回路12
1,122,123のいずれかがSMI信号を発生した
時、そのSMI信号をCPU11に供給する。これらS
MI発生回路121,122,123の各々は、CPU
11がSMMを抜けるまでSMI信号をアクティブステ
ートに維持し続ける。このため、あるSMI信号に対す
るSMI処理中に他のSMI信号が発生された時は、C
PU11は最初のSMI信号に対応するSMMを抜けた
後に、SMI処理中に発生したSMI信号によって再び
SMMに移行する。
【0030】SMIステータスレジスタ124は、SM
I発生要因を示すステータスデータを保持するためのも
のであり、SMI発生回路121,122,123それ
ぞれの出力を保持する。
【0031】メインメモリ13はこのシステムの主記憶
として使用されるものであり、オペレーティングシステ
ム、処理対象のアプリケーションプログラム、およびア
プリケーションプログラムによって作成されたユーザデ
ータ等が格納される。このメインメモリ13はDRAM
などの半導体メモリによって実現されている。SMRA
M(System Management RAM )13Aは、メインメモリ
13を構成する物理メモリの一部に割り当てられた記憶
空間であり、SMI信号がCPU11に入力された時だ
けメモリアドレスがマッピングされてアクセス可能とな
る。ここで、SMRAMがマッピングされるアドレス範
囲は固定ではなく、SMBASEと称されるレジスタに
よって4Gバイト空間の任意の場所に変更することが可
能である。SMBASEレジスタは、SMM中でないと
アクセスできない。
【0032】CPU11がSMMに移行する時には、C
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAM13Aにスタック形式
でセーブされる。このSMRAM13Aには、BIOS
−ROM14のシステム管理プログラムを呼び出すため
の命令が格納されている。この命令は、CPU11がS
MMに入った時に最初に実行される命令であり、この命
令実行によってシステム管理プログラムに制御が移る。
【0033】BIOS−ROM14は、システムBIO
S(Basic I/O System)を記憶するためのものであり、
プログラム書き替えが可能なようにフラッシュメモリに
よって構成されている。システムBIOSは、このシス
テム内の各種ハードウェアをアクセスするファンクショ
ン実行ルーチンを体系化したものであり、リアルモード
で動作するように構成されている。
【0034】このシステムBIOSには、システムのパ
ワーオン時に実行されるIRTルーチンと、各種ハード
ウェア制御のためのBIOSドライバ群が含まれてい
る。各BIOSドライバは、ハードウェア制御のための
複数の機能をオペレーティングシステムやアプリケーシ
ョンプログラムに提供するためにそれら機能に対応する
複数のファンクション実行ルーチン群を含んでいる。
【0035】また、BIOS−ROM14には、SMI
ハンドラおよび前述のハイバネーションルーチンなど、
SMMの中で実行されるシステム管理プログラムも格納
されている。SMIハンドラは、SMIの発生要因に応
じて各種SMIサービスルーチンを起動するためのもの
であり、電源オフ操作に起因するSMIが発生した場合
にはハイバネーションルーチンを起動し、他の要因によ
るSMIが発生した場合にはその要因に対応するSMI
サービスルーチンを起動する。
【0036】HDD15はこのシステムの2次記憶装置
として使用されるものであり、その記憶エリアの一部に
は図示のようにハイバネーションエリアとハイバネーシ
ョン完了フラグ設定エリアが確保される。ハイバネーシ
ョンエリアとハイバネーション完了フラグ設定エリアは
IRTによるHDD15の初期化およびテスト時にシス
テムBIOSによって確保され、ハイバネーションエリ
アとハイバネーション完了フラグ設定エリアを除く他の
記憶領域がOSに解放される。
【0037】RTC16は時計モジュールであり、独自
の電池によりバックアップされたCMOSメモリ161
を有している。CMOSメモリ161には、パワーアッ
プモードとしてブートモードとレジュームモードを選択
するための情報などを含むシステムコンフィグレーショ
ン情報と、ハイバネーション完了フラグなどが設定され
る。ブートモードはシステムがパワーオンされたときに
オペレーティングシステムを立ち上げるためのブートス
トラップ処理を起動するモードであり、またレジューム
モードは電源オフ時にハイバネーション処理を実行し、
システムがパワーオンされたときにHDDにセーブされ
ている内容を元のメモリおよびCPUなどにリストアす
るモードである。
【0038】キーボードコントローラ17は、キーボー
ド171、およびポインティングスティックやマウスな
どのポインティングデバイス172を制御するためのも
のであり、押下キーに対応するキーコード、ポインティ
ングされた相対座標データ、マウスボタンのクリック操
作の状態などの情報をCPU11に通知するためのキー
バッファを有している。
【0039】電源コントローラ18は、このシステムの
電源オン/オフを制御するためのものであり、電源スイ
ッチ181がオンされたとき、またはパネル開閉スイッ
チ182によってLCDパネルユニットが開かれたこと
が検出されたときに、ACアダプタまたは内部バッテリ
からこのシステム内の各モジュールに対する動作電源を
生成してそれらに供給する。また、電源スイッチ181
がオフされたとき、またはパネル開閉スイッチ182に
よってLCDパネルユニットが閉じられたことが検出さ
れたときは、電源コントローラ18は、そのことをSM
I発生回路121に通知した後、CPU11からのパワ
ーオフコマンドの発行を待ってシステム内の各モジュー
ルに対する動作電源の供給を停止する。
【0040】VGAコントローラ19は、このシステム
のディスプレイモニタとして使用されるLCD192を
制御するためのものであり、VRAM191に描画され
た画面データをLCDパネルユニット内のLCD192
に表示する。
【0041】以下、この発明の特徴とするハイバネーシ
ョン処理について具体的に説明する。
【0042】まず、図2を参照して、SMIの発生から
ハイバネーションルーチンが起動されるまでの一連の動
作を説明する。
【0043】ユーザによって電源スイッチ181がオフ
されたり、またはユーザによってLCDパネルユニット
が閉じられたことがパネル開閉スイッチ182によって
検知されると、電源コントローラ18は電源オフ要因が
発生したことをSMI発生回路121に通知する。この
通知に応答して、SMI発生回路121からSMI信号
が発生され、それがCPU11に供給される。
【0044】CPU11にSMI信号が入力されると、
CPU11は、その時の動作モードからSMMにスイッ
チされる。SMMに入ると、CPU11は、まず、SM
RAM13Aに所定のメモリアドレスをマッピングす
る。これにより、SMRAM13Aがアクセス可能とな
る。
【0045】SMRAM13Aには、CPUステート格
納エリア、CPU以外の他のハードウェアに関するステ
ータスを格納するハードウェアステータス(HWステー
タス)格納エリアなどが設けられており、またBIOS
−ROM14のSMIハンドラを割り込み先として指定
するジャンプコードがセットされている。前述したよう
に、BIOS−ROM14には、IRTルーチン、SM
Iハンドラ、ハイバネーションルーチン、および複数の
BIOSドライバ群を含むシステムBIOSが格納され
ている。
【0046】次いで、CPU11は、SMIが入力され
た時のCPU11の各種レジスタの内容であるCPUス
テータス(または、コンテキストと称される)をSMR
AM13AのCPUステート格納エリアにスタック形式
でセーブする。そして、CPU11は、SMMのスター
トアドレスのコード、つまりSMRAM13Aにセット
されているジャンプコードをフェッチし、そのジャンプ
コードで指定されるBIOS−ROM14のSMIハン
ドラを実行する。ここまでの処理は、CPU11自体つ
まりCPU11のマイクロプログラムによって実行され
るものである。
【0047】ジャンプコードの実行によって呼び出され
たSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る。この処理では、SMIステータスレジスタ124に
セットされているSMIステータス情報が参照される。
電源オフに起因するSMIであれば、SMIハンドラ
は、BIOS−ROM14のハイバネーションルーチン
の実行をリクエストする。これにより、ハイバネーショ
ンルーチンがSMMの中で実行される。
【0048】次に、図3を参照して、ハイバネーション
ルーチンで実行されるハイバネーション処理の原理を説
明する。
【0049】ハイバネーション処理では、SMRAM1
3Aを含むメインメモリ13の内容とVRAM191の
内容とがHDD15のハイバネーションエリアにセーブ
されるが、この時、セーブ対象となる全メモリ空間は複
数のメモリブロックに分割され、それらブロック単位で
HDD15へのデータ転送が行われる。
【0050】図3においては、説明を簡単にするため
に、セーブ対象となる全メモリ空間がメモリブロック#
1からメモリブロック#7の8個のメモリブロックに分
割されている場合が示されているが、実際には、HDD
15の1トラックに相当するデータサイズ単位で全メモ
リ空間がブロック分けされる。
【0051】HDD15へのデータ転送処理は、メモリ
ブロック#1からメモリブロック#7の順番で実行され
る。1つのメモリブロックの転送が完了すると、次のメ
モリブロックのデータをHDD15に転送する処理を開
始する前に、ハードウェアステータスのチェックが行わ
れる。このハードウェアステータスのチェックは、ユー
ザから所定の入力イベントがハイバネーション処理期間
中に発生されたか否かを検出するものである。
【0052】所定の入力イベントの発生が検出されたと
きは、ハイバネーション処理はその時点で中断され、C
PU11および他のハードウェアはすべてSMI発生前
の状態に復元され、割り込みもとのプログラムに制御が
戻される。入力イベントとしては、キーボード171か
らのキー入力、ポインティングデバイス172の操作、
LCDパネルユニットの開放などを利用できる。これら
は、それぞれキーボードコントローラ17のキーバッフ
ァをリードしたり、電源コントローラ18のステータス
レジスタをリードすることなどによって検知することが
できる。
【0053】一方、入力イベントの発生が検出されるこ
となく、すべてのメモリブロックの転送が完了した場合
には、最後に、ハイバネーション完了フラグがHDD1
5のハイバネーション完了フラグ設定エリアにセットさ
れる。
【0054】このように、ハイバネーション期間中に定
期的にハードウェアステータスをチェックすることによ
りユーザからの所定の入力イベントの有無を調べ、入力
イベントの発生が検出された時点でハイバネーション処
理を中断してシステムをSMI発生前の作業状態に復元
することにより、ユーザは、一旦ハイバネーション処理
が開始された後においても、キー入力などを行うことに
より、ハイバネーション処理の完了を待つことなく即座
にそれまでの作業を継続することが可能となる。
【0055】次に、図4のフローチャートを参照して、
システムパワーオン時にIRTルーチンによって実行さ
れるハイバネーションエリア確保処理について説明す
る。
【0056】IRTルーチンは、ブートモード環境下に
おいてシステムパワーオン時にそのブートストラップ処
理に先だって、システム内のメモリおよびハードウェア
についてのテストおよび初期化を実行する(ステップS
101,S102)。これらテストおよび初期化処理に
おいては、メインメモリ13の物理サイズ、VRAM1
91の物理サイズ、およびHDD15の構成(ヘッド
数、シリンダ数、セクタ数)が調べられる。そして、メ
インメモリ13とVRAM191の合計メモリサイズに
相当するハイバネーションエリアが、HDD15上に確
保される(ステップS103)。
【0057】この場合、実際には、HDD15の全記憶
サイズ(ヘッド数、シリンダ数、セクタ数によって決定
される)の中からメインメモリ13とVRAM191の
合計メモリサイズに相当するサイズがHDD15の記憶
エリアの最後尾側にハイバネーションエリア(ハイバネ
ーション完了フラグエリアを含む)として確保され、そ
のハイバネーションエリアのサイズを差し引いた残りの
記憶エリア(ヘッド数、シリンダ数、セクタ数)がHD
D15の構成としてOSに通知される。これにより、ハ
イバネーションエリアはハイバネーションルーチンによ
って排他的に使用され、OSによって使用されることは
ない。このことは、ハイバネーション処理の実行による
システムデータおよびユーザデータの破壊、およびハイ
バネーション処理でセーブされた内容の破壊を防止でき
ることを意味する。
【0058】次に、図5のフローチャートを参照して、
電源オフに起因するSMIの発生に応答して起動される
ハイバネーションルーチンの処理手順を説明する。
【0059】ハイバネーションルーチンは、まず、CP
UステートおよびハードウェアステートをSMRAM1
3Aにセーブする(ステップS201)。この実施形態
では、前述したようにハイバネーションルーチンはSM
Mの中で実行されるので、SMI発生前のCPUステー
トはSMMへのスイッチ時にSMRAM13Aに既にセ
ーブされている。したがって、ステップS201では、
実際には、ハードウェアステートのセーブだけが行われ
る。
【0060】次に、ハイバネーションルーチンは、ハイ
バネーション処理の中断要因として予め決められている
ユーザからの入力イベント(キー入力、LCDパネルユ
ニットの開放)の発生の有無を調べるために、ポーリン
グによって該当する各ハードウェアのレジスタをリード
する(ステップS202)。そして、いずれかの入力イ
ベントが発生しているか否かを判断する(ステップS2
03)。
【0061】いずれの入力イベントも発生してない場合
には、ハイバネーションルーチンは、図3で説明したよ
うに、SMRAM13Aを含むメインメモリ13の内容
とVRAM191の内容とを含むセーブ対象の全メモリ
空間を、メモリブロック単位(HDD15のトラック単
位)でHDD15のハイバネーションエリアに転送する
(ステップS204)。1メモリブロック分の転送が完
了すると、全メモリブロック分の転送が完了したか否か
が調べられ(ステップS205)、完了してない場合に
は、完了するまでステップS202〜S204の処理が
繰り返し実行される。
【0062】ステップS203において入力イベントの
発生が検出されると、ハイバネーションルーチンはハイ
バネーション中断処理を開始し、SMRAM13AのC
PUステートおよびハードウェアステートをそれぞれC
PU11のレジスタおよび該当するハードウェアのレジ
スタにリストアする(ステップS306)。そして、復
帰命令RSMが実行され、SMIによって割り込まれた
プログラムに制御が戻される。これにより、SMI発生
前の動作環境が復元される。
【0063】一方、入力イベントが発生せずに全てのメ
モリブロックの転送が完了した場合には、ハイバネーシ
ョンルーチンは、ハイバネーション完了フラグをRTC
16のCMOS161およびHDD15にセットした後
(ステップS207,S208)、電源コントローラ1
8にパワーオフコマンドを送ってシステムをパワーオフ
させる(ステップS209)。
【0064】次に、図6のフローチャートを参照して、
ハイバネーション処理でセーブされた内容を復元するレ
ジューム処理について説明する。
【0065】システムがパワーオンされると、システム
BIOSは、RTC16のCMOS161の設定情報を
リードし(ステップS301)、現在のパワーアップモ
ードがレジュームモードとブートモードのどちらに設定
されているかを判断する(ステップS302)。レジュ
ームモードであれば、CMOS161にハイバネーショ
ン完了フラグがセットされているか否かが調べられる
(ステップS303)。パワーアップモードがブートモ
ードの場合、あるいはレジュームモードであってもCM
OS161にハイバネーション完了フラグがセットされ
ていない場合には、図3のIRTルーチンが実行された
後、0Sを起動するブートストラップ処理が実行される
(ステップS308)。
【0066】一方、CMOS161にハイバネーション
完了フラグがセットされていた場合には、HDD15の
ハイバネーション完了フラグエリアがリードされ、そこ
にハイバネーション完了フラグがセットされているか否
かが調べられる(ステップS304,S305)。HD
D15にハイバネーション完了フラグがセットされてな
いということは、そのHDD15のハイバネーションエ
リアの内容が無効であることを意味する。これは、例え
ば、ハイバネーション処理後の電源オフ中にHDD15
が別のHDDに交換されたことなどを意味する。この場
合、システムBIOSはエラーメッセージを画面表示し
た後(ステップS307)、そのメッセージに応答した
ユーザからの所定のキー入力操作などに応答してブート
ストラップ処理を起動する(ステップS308)。
【0067】HDD15にハイバネーション完了フラグ
がセットされている場合には、システムBIOSは、H
DD15のハイバネーションエリアの内容をそれぞれC
PU11、各種ハードウェア、メインメモリ13、VR
AM191にリストアしてハイバネーション処理を起動
したSMI発生前の作業状態を復元し、SMIによって
割り込まれたプログラムに制御が戻される(ステップS
306)。
【0068】なお、この実施形態においては、ハイバネ
ーション処理の中断要因としてキーボード171からの
キー入力、ポインティングデバイス172の操作、LC
Dパネルユニットの開放操作を説明したが、例えば電源
スイッチ181の再押下などをハイバネーション中断要
因とすることもできる。また、キー入力の場合には、全
てのキーをハイバネーション中断要因の入力イベントと
したり、ある特定のキーだけをハイバネーション中断要
因の入力イベントとすることなどの応用が可能である。
【0069】
【発明の効果】以上説明したように、この発明によれ
ば、ハイバネーション処理が一旦開始されてしまった後
においても必要に応じてそのハイバネーション処理を中
断できるので、ユーザによる電源オフ操作などによりハ
イバネーション処理が開始された後においても、ユーザ
は、キー入力などを行うことにより、ハイバネーション
処理の完了を待つことなく、即座に作業を再開すること
が可能となる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るコンピュータシス
テム全体の構成を示すブロック図。
【図2】同実施形態のシステムにおいてSMIの発生か
らハイバネーションルーチンが起動されるまでの一連の
動作を説明するための図。
【図3】同実施形態のシステムで使用されるハイバネー
ションルーチンによって実行されるハイバネーション処
理の原理を説明するための図。
【図4】同実施形態のシステムにおけるハイバネーショ
ンエリア確保処理の手順を示すフローチャート。
【図5】同実施形態のシステムにおけるハイバネーショ
ン処理の手順を示すフローチャート。
【図6】同実施形態のシステムにおいてハイバネーショ
ン処理でセーブされた内容を復元するレジューム処理の
手順を示すフローチャート。
【符号の説明】
11…CPU、12…SMI制御回路、13…メインメ
モリ、13A…SMRAM、14…BIOS−ROM、
15…HDD、16…RTC、17…キーボードコント
ローラ、18…電源コントローラ、19…VGAコント
ローラ、161…CMOSメモリ、191…VRAM。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 電源オフ時にコンピュータシステムの主
    メモリの内容をそのシステムの2次記憶装置にセーブす
    るハイバネーション機能を有するコンピュータシステム
    において、 前記主メモリの内容を前記2次記憶装置にセーブする手
    段と、 前記主メモリの内容を前記2次記憶装置にセーブしてい
    る期間中、ユーザからの入力イベントの有無を検出する
    入力イベント検出手段と、 この入力イベント検出手段によって所定の入力イベント
    が検出されたとき、前記主メモリの内容を前記2次記憶
    装置にセーブする処理を中断して前記コンピュータシス
    テムをその電源オフ前の作業状態に復元する手段とを具
    備することを特徴とするコンピュータシステム。
  2. 【請求項2】 前記主メモリの内容を前記2次記憶装置
    にセーブする手段は、前記主メモリを複数のブロックに
    分割し、ブロック単位で前記主メモリの内容を前記2次
    記憶装置に転送する手段を含み、 前記入力イベント検出手段は、前記主メモリから前記2
    次記憶装置に1ブロック分の転送が完了する度、ユーザ
    からの入力イベントの有無をチェックすることを特徴と
    する請求項1記載のコンピュータシステム。
  3. 【請求項3】 前記入力イベント検出手段は、前記主メ
    モリの内容を前記2次記憶装置にセーブしている期間
    中、ユーザからのキー入力の有無を前記入力イベントと
    して検出することを特徴とする請求項1記載のコンピュ
    ータシステム。
  4. 【請求項4】 前記入力イベント検出手段は、前記主メ
    モリの内容を前記2次記憶装置にセーブしている期間
    中、ユーザによるポインティングデバイスの操作の有無
    を前記入力イベントとして検出することを特徴とする請
    求項1記載のコンピュータシステム。
  5. 【請求項5】 前記入力イベント検出手段は、前記主メ
    モリの内容を前記2次記憶装置にセーブしている期間
    中、コンピュータ本体に開閉自在に設けられた表示パネ
    ルの開閉操作の有無を前記入力イベントとして検出する
    ことを特徴とする請求項1記載のコンピュータシステ
    ム。
  6. 【請求項6】 電源オフ時にコンピュータシステムの主
    メモリの内容をそのシステムの2次記憶装置にセーブす
    るハイバネーション機能を有するコンピュータシステム
    において、 前記コンピュータシステムのCPUのステータスを前記
    主メモリにセーブする手段と、 前記主メモリを複数のブロックに分割し、ブロック単位
    で前記主メモリの内容を前記2次記憶装置に転送するこ
    とにより、前記主メモリの内容を前記2次記憶装置にセ
    ーブする手段と、 前記主メモリから前記2次記憶装置に1ブロック分の転
    送が完了する度、ユーザからの入力イベントの有無をチ
    ェックする入力イベント検出手段と、 この入力イベント検出手段によって所定の入力イベント
    が検出されたとき、前記主メモリの内容を前記2次記憶
    装置にセーブする処理を中断して前記コンピュータシス
    テムをその電源オフ前の作業状態に復元するハイバネー
    ション中断手段とを具備することを特徴とするコンピュ
    ータシステム。
  7. 【請求項7】 前記ハイバネーション中断手段は、前記
    主メモリにセーブされているCPUステータスを前記C
    PUのレジスタにリストアする手段を含むことを特徴と
    する請求項6記載のコンピュータシステム。
  8. 【請求項8】 コンピュータシステムの電源オフ時にそ
    のコンピュータシステムの主メモリの内容をそのシステ
    ムの2次記憶装置にセーブするハイバネーション制御方
    法において、 前記主メモリの内容を前記2次記憶装置にセーブしてい
    る期間中、ユーザからの入力イベントの有無を検出し、 所定の入力イベントが検出されたとき、前記主メモリの
    内容を前記2次記憶装置にセーブする処理を中断して、
    前記コンピュータシステムをその電源オフ前の作業状態
    に復元することを特徴とするハイバネーション制御方
    法。
  9. 【請求項9】 電源オフ時にコンピュータシステムの主
    メモリの内容をそのシステムの2次記憶装置にセーブす
    るハイバネーション制御方法において、 前記コンピュータシステムのCPUのステータスを前記
    主メモリにセーブし、 前記主メモリを複数のブロックに分割し、ブロック単位
    で前記主メモリの内容を前記2次記憶装置に転送し、 前記主メモリから前記2次記憶装置に1ブロック分の転
    送が完了する度、ユーザからの入力イベントの有無をチ
    ェックし、 所定の入力イベントが検出されたとき、前記主メモリの
    内容を前記2次記憶装置に転送する処理を中断して前記
    コンピュータシステムをその電源オフ前の作業状態に復
    元することを特徴とするハイバネーション制御方法。
JP00022197A 1997-01-06 1997-01-06 コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法 Expired - Fee Related JP3253881B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00022197A JP3253881B2 (ja) 1997-01-06 1997-01-06 コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法
US08/943,124 US6154846A (en) 1997-01-06 1997-10-03 System for controlling a power saving mode in a computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00022197A JP3253881B2 (ja) 1997-01-06 1997-01-06 コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法

Publications (2)

Publication Number Publication Date
JPH10198469A true JPH10198469A (ja) 1998-07-31
JP3253881B2 JP3253881B2 (ja) 2002-02-04

Family

ID=11467918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00022197A Expired - Fee Related JP3253881B2 (ja) 1997-01-06 1997-01-06 コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法

Country Status (2)

Country Link
US (1) US6154846A (ja)
JP (1) JP3253881B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216264A (ja) * 2002-01-10 2003-07-31 Internatl Business Mach Corp <Ibm> コンピュータ、制御方法、及びプログラム
JP2010165130A (ja) * 2009-01-14 2010-07-29 Kyocera Corp 端末装置、その制御方法およびプログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3266560B2 (ja) * 1998-01-07 2002-03-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理システム及びその制御方法
JP4371466B2 (ja) * 1999-04-15 2009-11-25 株式会社東芝 コンピュータシステム及びそのi/o装置の制御方法
US20030191973A1 (en) * 2002-04-04 2003-10-09 Johnson Carolynn Rae Temporary user suspension of automatic shutdown
US20040103345A1 (en) * 2002-11-21 2004-05-27 Dunstan Robert A. Method, apparatus and system for ensuring reliable power down of a personal computer
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US20060143485A1 (en) * 2004-12-28 2006-06-29 Alon Naveh Techniques to manage power for a mobile device
JP4585249B2 (ja) * 2004-07-28 2010-11-24 株式会社東芝 情報処理装置
JP4436219B2 (ja) 2004-09-10 2010-03-24 富士通株式会社 情報処理装置及び電源制御方法
CN100383687C (zh) * 2005-02-23 2008-04-23 冠捷科技(北京)有限公司 节电控制器
US20060200691A1 (en) * 2005-03-05 2006-09-07 Takashi Yomo Cancellation of initiation of hibernation process
JP2008071066A (ja) * 2006-09-13 2008-03-27 Toshiba Corp 情報処理装置及び復帰制御方法
JP5446439B2 (ja) * 2008-07-24 2014-03-19 富士通株式会社 通信制御装置、データ保全システム、通信制御方法、およびプログラム
TW201009581A (en) * 2008-08-26 2010-03-01 Asustek Comp Inc Method and system for protecting data
JP5899878B2 (ja) * 2011-12-02 2016-04-06 株式会社リコー 情報処理装置、制御方法およびプログラム
JP6201298B2 (ja) * 2012-11-14 2017-09-27 オムロン株式会社 コントローラおよびプログラム
US9702910B2 (en) 2013-08-26 2017-07-11 Micropac Industries, Inc. Power controller

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01279312A (ja) * 1988-04-30 1989-11-09 Toshiba Corp コンピュータシステム
JP2779813B2 (ja) * 1988-09-06 1998-07-23 セイコーエプソン株式会社 コンピューター
JP2986048B2 (ja) * 1994-04-26 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システムに装着可能な拡張デバイス、拡張デバイスの制御方法及び拡張デバイスを有するコンピュータ・システムの制御方法
US5551043A (en) * 1994-09-07 1996-08-27 International Business Machines Corporation Standby checkpoint to prevent data loss
KR0174483B1 (ko) * 1994-12-22 1999-04-01 윤종용 키신호 입력에 의한 작업 복구가 가능한 컴퓨터 시스템 및 그 제어방법
JP2988866B2 (ja) * 1996-02-29 1999-12-13 株式会社東芝 コンピュータシステム
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216264A (ja) * 2002-01-10 2003-07-31 Internatl Business Mach Corp <Ibm> コンピュータ、制御方法、及びプログラム
JP2010165130A (ja) * 2009-01-14 2010-07-29 Kyocera Corp 端末装置、その制御方法およびプログラム

Also Published As

Publication number Publication date
JP3253881B2 (ja) 2002-02-04
US6154846A (en) 2000-11-28

Similar Documents

Publication Publication Date Title
JP3253881B2 (ja) コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法
US5754798A (en) Computer system with function for controlling system configuration and power supply status data
US5845134A (en) Suspend/resume control method and system
US6393584B1 (en) Method and system for efficiently saving the operating state of a data processing system
US6243831B1 (en) Computer system with power loss protection mechanism
EP1137987B1 (en) Initializing and restarting operating systems
US6832311B2 (en) Information processing system and resume processing method used in the system
EP0636981A1 (en) Information processing system
JPH04362717A (ja) システム再起動装置
US7360045B2 (en) System and method for backing up data from a quiesced storage device
PL193918B1 (pl) Sposób sterowania systemem obsługi informacji i system obsługi informacji
JPH07200112A (ja) 情報処理システム
US6681336B1 (en) System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process
JPH11194846A (ja) コンピュータシステムおよびそのシステムステート制御方法
EP0636979B1 (en) Information processing system
JP3102455B2 (ja) 情報処理システム
JP2974577B2 (ja) コンピュータシステム
US20040199697A1 (en) Mobile computer and base station
JP3238097B2 (ja) コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法
JPH0944418A (ja) 情報処理システム及びその制御方法
US6282645B1 (en) Computer system for reading/writing system configuration using I/O instruction
JP2001005661A (ja) コンピュータシステムおよびそのcpu性能制御方法
JPH06180668A (ja) コンピュータシステム
US6766461B1 (en) Status switching method of an information apparatus to ensure an operating status when the apparatus is liable to receive vibration or shock
JP3961669B2 (ja) コンピュータシステムおよびデータ転送制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees