JPH06236284A - コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム - Google Patents

コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム

Info

Publication number
JPH06236284A
JPH06236284A JP4305865A JP30586592A JPH06236284A JP H06236284 A JPH06236284 A JP H06236284A JP 4305865 A JP4305865 A JP 4305865A JP 30586592 A JP30586592 A JP 30586592A JP H06236284 A JPH06236284 A JP H06236284A
Authority
JP
Japan
Prior art keywords
storage device
state
processing
interrupt
module
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.)
Pending
Application number
JP4305865A
Other languages
English (en)
Inventor
John I Garney
ジョン・アイ・ガーニイ
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH06236284A publication Critical patent/JPH06236284A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Abstract

(57)【要約】 【目的】 コンピュータシステムの状態を保存しなけれ
ばならない状態が生じたとき自動的に保存し、後に復元
する。 【構成】 本発明のコンピュータシステムはプロセッサ
および各種記憶装置およびシステム資源から構成されて
いる。主記憶装置は主記憶装置内部の隔離ランダムアク
セス記憶装置の一区画から成るシステム管理区域を含む
幾つかの区域を備えている。システム管理区域にはプロ
セッサがシステム管理割込み状態にあるときだけアクセ
スすることができる。主記憶装置の残りの部分には割込
みまたは非割込み処理論理がすべて自由にアクセスする
ことができる(すなわち、非隔離である)。コンピュー
タシステムの処理状態を不揮発性記憶装置に保存する本
発明の基本的方法は(1)保存システム状態トリガ事象
を検出し、(2)システムレジスタおよび記憶装置の内
容を不揮発性大容量記憶装置に書込み、(3)停止状態
に入って再開トリガ事象を待つかまたはコンピュータシ
ステムの電源を完全に遮断するかすることである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
の分野に関する。特に、本発明は、不揮発形態の記憶装
置またはレジスタまたはこの両者を備えているコンピュ
ータシステムの処理状態を保存する分野に関する。
【0002】
【従来の技術】コンピュータシステムは、幾つかのレベ
ルのシステム状態を保存することが必要な多くの状況に
置かれる。このような状況は、例えば基本的割込み処
理、文脈切替え、および低パワー動作などがある。基本
的割込み処理は、或る割込み事象が発生すると第1の場
所での処理を中断し、処理を第2の場所に移すことを必
要とする。第2の場所に移す前に、幾つかのシステムパ
ラメータ、プロセッサパラメータ、およびレジスタ(こ
れらは集合的に、プロセッサ状態として知られている)
を通常ランダムアクセス記憶装置(RAM)に設けられ
ているスタックに格納することにより保存する。割込み
から戻ると、プロセッサ状態はスタックから取り出さ
れ、処理制御は割込みが発生した場所に続く次の位置に
戻ることができる。基本的割込みモデルでは、処理状態
情報は保存され復元される。しかし、記憶装置の内容お
よびシステム資源や周辺装置の状態を含む全システム状
態を保存することはできない。その上、基本的割込み中
プロセッサ状態を保存するのにRAMのスタックを使用
すると、ランダムアクセス記憶装置サブシステムのパワ
ーの損失に対する保護が行われない。
【0003】マルチタスクシステムおよびマルチユーザ
システムの多くは処理制御を一つのタスクまたはユーザ
(集合的に、プロセスとして知られている)から異なる
プロセスに移す文脈切替えと呼ばれる方法を利用してい
る。各プロセスは、多数のパラメータ、レジスタ、およ
び/またはそのプロセスに関連するランダムアクセス記
憶装置の領域により規定される処理環境または文脈の中
で動作する。第1のプロセスから第2のプロセスに切替
わる前に、第1のプロセスに関連する文脈が保存され、
第2のプロセスに関連する文脈が復元される。文脈情報
は一般にランダムアクセス記憶装置のスタックに格納さ
れる。基本的割込み処理の場合と同様に、切替えられた
文脈のシステム状態の保存にコンピュータシステムの全
状態を不揮発形態で保存するということはしない。
【0004】割込み不能電源(UPS)を有するコンピ
ュータシステムの中にはシステム状態保存手法を使用し
てコンピュータシステムが低パワー状態または停電を乗
り切ることができるようにしているものがある。UPS
用途でのこれら状態保存手法は、コンピュータシステム
の処理状態を特定の瞬間に凍結しようとするのではなく
コンピュータシステムの上手な遮断を含んでいる。した
がって、UPS指向の状態保存手法ではユーザがパワー
が失われる直前に割込まれたところからコンピュータシ
ステムの動作を続けることができない。
【0005】更に他のコンピュータシステムはコンピュ
ータシステム状態を保存する目的で別のハードウェアま
たは外部ハードウェアを利用している。このようなシス
テムは状態保存機能を行う目的で記憶装置の一部を確保
しておくか、または一組のプロセッサレジスタをそのた
めの専用にしている。他のシステムは状態保存動作中だ
け使用する専用のハードウェアチャンネル、インターフ
ェース、またはシステム資源を備えている。
【0006】
【発明が解決しようとする課題】コンピュータシステム
の状態を保存するのがそのように困難な理由の一つは、
記憶装置、プロセッサ、または大容量記憶装置のような
コンピュータシステム資源を使用するコンピュータシス
テム状態を保存するプロセスが以前から動作していた文
脈または環境を破壊せずにそれら資源を使用しなければ
ならないということである。したがって、状態保存プロ
セスはシステム資源をそれらの状態を永久に変えずに共
有しなければならない。この制約は、パーソナルコンピ
ュータ、ラップトップコンピュータまたはノートブック
形コンピュータのような小形コンピュータシステムでは
満足するのが特に困難である。パーソナルコンピュータ
システムは典型的に広く多様な種々のソフトウェアアプ
リケーションプログラムで動作する。これらアプリケー
ションプログラムは、利用可能なコンピュータシステム
資源の全部とは言わぬまでも多数を制御し、操作し、ま
たは修正することが多い。アプリケーションプログラム
の動作を特定の予め決められた資源領域に閉じ込めるこ
とや事前に対処することはできない。それ故、状態保存
プロセスのためにシステム資源を確保しておくことは実
行不能である。その上、パーソナルコンピュータの性格
が低価格および競争的であるため状態保存機能に専用さ
れる別のハードウェアを追加することは正しいと言えな
いことが多い。
【0007】状態保存プロセスの動作は、最近のパーソ
ナルコンピュータシステムにおいてハードウェアの複雑
の程度が増していることにより一層困難になっている。
過去においては、コンピュータシステムの状態全体を記
憶装置を小数のプロセッサレジスタの内容により完全に
規定することができた。しかし、現在ではコンピュータ
システムの状態はシステムの各種資源を通じて一層広く
分布している。その他に、コンピュータシステムの記憶
装置は現在では、プロセッサが常に直接アドレスできる
とは限らない二つ以上の部分に分割されている。それ故
処理状態をこれら複雑なコンピュータシステムに有効に
保存し、復元することは益々困難になってきている。し
たがって、コンピュータシステムの処理状態を保存し、
復元する更に良いプロセスおよび手段が必要である。
【0008】それ故本発明の目的は、トリガ事象が発生
するとコンピュータシステムの状態を保存する方法を提
供することである。本発明の他の目的は、システム状態
を大容量記憶装置に保存する方法を提供することであ
る。本発明の更に他の目的は、隔離記憶装置および非隔
離記憶装置の双方が存在するにかかわらず動作する状態
保存方法を提供することである。本発明の更に他の目的
は、主記憶装置、拡張記憶装置、および拡大記憶装置を
含むコンピュータシステム記憶装置すべての状態を保存
する状態保存方法を提供することである。本発明の更に
他の目的は、ソフトウェアアプリケーションプログラム
を特定の動作環境に閉じ込めない状態保存方法を提供す
ることである。本発明の更に他の目的は、コンピュータ
システムの正常動作中に使用されるシステム資源を共有
する状態保存方法を提供することである。本発明の更に
他の目的は、停止したときアプリケーションの状態を保
存するだけの代わりにバッテリ駆動コンピュータシステ
ムのバッテリ寿命を延長する手段としての状態保存方法
を提供することである。本発明の更に他の目的は、ユー
ザが、システム状態保存プロセスが最初に開始されたと
き使用されていたアプリケーションを使用して継続また
は再開することができる状態保存方法を提供することで
ある。
【0009】
【課題を解決するための手段】本発明は、システムの処
理状態を、トリガ事象が発生に基づいて大容量記憶装置
に保存し、それから復元するコンピュータシステムであ
る。本発明のコンピュータシステムは、プロセッサおよ
び各種記憶域およびシステム資源から構成されている。
これら各種記憶域には主記憶装置、不揮発性記憶装置ま
たはブートROM、拡張記憶装置、拡大記憶装置、およ
びバッテリ後援ランダムアクセス記憶装置(典型的には
相補性金属酸化物半導体装置すなわちCMOS装置とし
て実施される)がある。
【0010】主記憶装置はアプリケーションおよびシス
テムソフトウェアの両者により使用される通常のランダ
ムアクセス記憶域である。主記憶装置には幾つかの区域
がある。このような区域の一つは主記憶装置内部の隔離
ランダムアクセス記憶装置の一区画から構成されている
システム管理区域である。システム管理区域にはプロセ
ッサがシステム管理割込み状態にある間だけアクセスす
ることができる。システム管理割込みが発生してシステ
ム管理割込み状態に入る。主記憶装置の残りの部分には
割込みまたは非割込みの処理論理により自由に入ること
ができる(すなわち非隔離である)。
【0011】本発明に使用しているもののようなコンピ
ュータシステムは、その各記憶区域に格納されているソ
フトウェアおよびデータ、各種プロセッサレジスタ、お
よび各種システム資源またはI/O装置のレジスタおよ
び状態パラメータに従って動作する。或る瞬間における
この記憶装置の内容およびこれらレジスタはコンピュー
タシステムの処理状態を規定する。本発明は、コンピュ
ータシステムの処理状態を不揮発性形態で保存する手段
および方法、およびその後にパワーがコンピュータシス
テムに戻ったときまたはコンピュータユーザが不活動の
期間後に活動を開始させたとき処理状態を復元する手段
および方法を提供する。
【0012】コンピュータシステムの処理状態を不揮発
性記憶装置に保存する本発明の基本的方法は、(1)保
存システム状態トリガ事象を検出し、(2)システムレ
ジスタおよび記憶装置の内容を不揮発性大容量記憶装置
に書込み、(3)中断状態に入ってトリガ事象の再開を
待つかまたはコンピュータシステムのパワーを完全に遮
断することである。コンピュータシステムの処理状態を
不揮発性記憶装置から復元する本発明の一般的方法は
(1)処理またはコンピュータシステムへのパワーの印
加の再開を検出し、(2)先に保存した処理状態の内容
を不揮発性大容量記憶装置から読出し、記憶装置および
コンピュータシステムレジスタの内容を復元し、(3)
制御を先に実行していたアプリケーションプログラムに
戻すことである。
【0013】本発明は、コンピュータシステムの状態を
保存し、復元する従来技術の方法に存在する幾つかの問
題を克服している。第1に、拡張記憶装置または他のコ
ンピュータシステムの記憶装置の他の区画には、異なる
動作モードに切替えないではプロセッサがアクセスする
ことはできない。第2に、割込みモードにある間は、プ
ロセッサは不揮発性大容量記憶装置のような外部装置か
らの他の割込みを処理することができない。それ故、保
存システム状態動作の少なくとも一部は非割込みモード
で動作しなければならない。これらの問題を克服するた
めに、本発明の処理論理は二つの主区画すなわちモジュ
ールに分割されている。第1の区画は、システム管理区
域内に存在して非保護モードすなわち通常モードで動作
する割込みハンドラモジュールである。システム管理区
域は隔離記憶装置であり、したがって、この第1のモジ
ュールは隔離記憶装置の中に設置されている。本発明の
保存システム処理論理の第2の区画は、システム管理区
域の中には設置されていず(したがって、非隔離記憶装
置内にある)、割込みハンドラルーチンではない。この
第2のモジュールは保護モードで動作する。処理論理の
これら二つのモジュールを使用することにより、記憶装
置の全区域およびコンピュータシステムの全システム資
源に少なくとも一つのモジュールがアクセスすることが
できる。
【0014】本発明の処理論理はトリガ事象が発生する
と始動する。トリガ事象は、システム処理状態を不揮発
性大容量記憶装置に保存する動作を開始する或るシステ
ム状態の発生である。幾つかの状態がトリガ事象を発生
することができる。たとえば、携帯型またはラップトッ
プコンピュータでは、トリガ事象はコンピュータユーザ
がコンピュータの蓋を閉じ、これによりハードウェアス
イッチを作動させることにより発生することができる。
このような動作は計算期間の終り、および処理状態を不
揮発性大容量記憶装置に保存したいことを示している。
トリガ事象は不活動タイマの時間が経過したとき発生す
ることもできる。この場合には、コンピュータユーザは
所定期間不活動であることにより計算期間の終りを示し
ている。第3に、トリガ事象は、コンピュータユーザが
所定の特定の命令連鎖を使用することにより明白にまた
は明確に指定することができる。最後に、保存システム
状態動作を生ずるトリガ事象は低パワーまたは低バッテ
リ状態を検出すれば発生することができる。当業者には
トリガ事象を発生して保存システム状態動作を開始する
他の多数の方法があることが明らかであろう。
【0015】トリガ事象が発生すると、システム管理割
込みが発生し、処理制御は一般割込みサービスルーチン
に移り、その後本発明の第1の処理モジュールに移る。
第1の処理モジュールはシステム管理区域内に設けられ
ており且つ非保護モードすなわち通常モードで動作する
割込みハンドラモジュールである。第1の処理モジュー
ルはバッテリ後援ランダムアクセス記憶装置から状態、
大きさ、および場所の情報を読出す。状態、大きさ、お
よび場所の情報はシステム状態情報を格納するため予め
割当てられた不揮発性大容量記憶装置の中の区域を規定
する。次に、不揮発性大容量記憶装置に関連する装置レ
ジスタおよび状態パラメータ、および保存システム状態
動作に必要な他の装置または他のシステム資源の装置レ
ジスタおよび状態パラメータを読出し、保存しなければ
ならない。大容量記憶装置の装置レジスタおよび状態パ
ラメータはシステム管理区域の一部に格納される。シス
テム状態を保存するのに必要な各システム資源の状態が
システム管理区域に書込まれてしまうと、主記憶装置内
の作業空間を保存システム状態処理論理の動作のため設
けなければならない。ランダムアクセス記憶装置(RA
M)区域の作業空間の内容を主記憶装置から読出し、シ
ステム管理区域に格納する。主記憶装置のRAM区域作
業空間はその後クリアしてスタックまたはパラメータブ
ロックとして使用するためまたは他の目的のため保存シ
ステム状態処理論理に利用可能にされる。
【0016】保存システム状態動作のこの点で、RAM
区域作業空間の内容および不揮発性大容量記憶装置の装
置レジスタおよび状態パラメータ(および他の所要シス
テム資源の状態)がシステム管理区域に保存されてい
る。今度はRAM区域作業空間をスタックすなわちパラ
メータブロック区域として使用して記憶ブロックを不揮
発性大容量記憶装置へ書込むことを始めるのが望ましい
が、本発明の第1のモジュールは二つの理由でこの動作
を行うことができない。第1に、第1のモジュールは割
込みハンドラであるから、このモジュールは不揮発性大
容量記憶装置から割込みを受取ることができない。第2
に、第1のモジュールは第1のモジュールが保護モード
で動作しないので、拡張記憶装置にアクセスすることが
できない。これらの理由で、第1のモジュールは処理制
御を第2のモジュールに移さなければならない。
【0017】第2のモジュールは非割込み保護モード処
理モジュールである。制御を第2のモジュールに移すた
め、プロセッサ状態を修正する。しかし、修正の前に、
現在のプロセッサ状態をシステム管理区域の領域に保存
する。システム管理区域に保存したこのプロセッサ状態
は保存システム状態トリガ事象が発生したとき実行する
アプリケーションプログラムの割込みアドレスからの返
答に応答する。プロセッサ状態はシステム管理区域に保
存されているのであるから、処理制御の第2のモジュー
ルへの移行に対応するプロセッサ状態はシステム管理区
域のプロセッサ状態部分に書込むことができる。今度は
RETURN_FROM_INTERRUPT 指令を、処理制御の第2のモジ
ュールへの移行を行った第1のモジュールによって実行
することができる。一旦この移行が行われれば、処理は
第2のモジュールにより非割込み保護処理モードで継続
する。第2のモジュールはあらかじめ割当てられた大容
量記憶装置保存区域の状態、大きさ、および場所をバッ
テリ後援ランダムアクセス記憶装置から読出し、主記憶
装置、拡張記憶装置、拡大記憶装置、ビデオ記憶装置映
像の内容を大容量記憶装置の保存区域に書込む。非本質
I/O装置の装置レジスタおよび状態パラメータも大容
量記憶装置の保存区域に書込まれる。バッテリ後援ラン
ダムアクセス記憶装置のイメージも復元され、大容量記
憶装置の大容量記憶保存区域に書込まれる。
【0018】この点で、コンピュータシステムの記憶区
域がすべてシステム管理区域を除いて大容量記憶装置に
書込まれてしまっている。システム管理区域は、第2の
処理モジュールはシステム管理区域へのアクセスを持っ
ていないので、不揮発性大容量記憶装置に移されていな
い。それ故、第2のモジュールはシステム管理割込み
(SMI)を発生する。これは第1の処理モジュールの
割込み論理を再作動させる。第1の処理モジュールはシ
ステム管理区域の内容全体をシステム管理区域それ自身
の内部にない主記憶装置の区域に書込む。システム管理
区域が主記憶装置の区域に写し取られると、割込み指令
の応答が実行され、制御は第2の処理モジュールに戻さ
れる。第2のモジュールの非割込み保護モード論理がこ
のようにして再作動される。制御が第2のモジュールに
戻ると、システム管理区域のイメージブロック、が不揮
発性大容量記憶装置に書込まれる。保存システム状態動
作が首尾よく完了したことがバッテリ後援ランダムアク
セス記憶装置の状態区域に示され、不揮発性大容量記憶
装置に記録されているシステム状態イメージの見出し部
分に記録される。
【0019】コンピュータシステムの状態を不揮発性大
容量記憶装置に完全に保存して、保存システム状態動作
は他のシステム管理割込みの発生を続け、コンピュータ
システム低パワーモードに入れる。実行制御は所定の時
間だけ低パワーモードで停止したままになっている。こ
の期間はコンピュータユーザがコンピュータシステムの
動作を低パワーモードから再開することができるように
する。しかし、ユーザが所定期間が満了してから動作を
再開しなければ、他のシステム管理割込みが発生してシ
ステムへのパワーを完全に遮断する。したがって、本発
明に好適実施例の保存システム状態動作が完了する。
【0020】本発明は、復元システム状態動作を行う手
段および方法を備えている。好適実施例では、好適実施
例のコンピュータシステムの処理状態を不揮発性大容量
記憶装置にあらかじめ保存されている映像から二つの方
法の中の一つで復元することができる。第1に、コンピ
ュータシステムのパワーを上げることができ、またはシ
ステムのハードウェアのリセットを始めることができ
る。第2に、なおパワーを上げられるが、現在は低パワ
ー状態または停止状態にあるコンピュータシステムにつ
いて、再開動作事象を二つの方法の中の一つで始めるこ
とができる。動作を再開する第1の方法は再開ボタンの
作動である。このような再開ボタンは、たとえば、ラッ
プトップまたは携帯用パーソナルコンピュータの蓋を開
くと直ちに作動することができる。再開動作の他の方法
は、コンピュータシステムに結合しているキーボード上
のキーを作動させるかまたはコンピュータシステムに結
合しているマウス装置を作動させることである。コンピ
ュータシステムと結合している入力装置をこの方法で作
動させると不活動期間の後コンピュータユーザによる活
動が再開される。
【0021】リセットまたはパワーアップ事象または再
開事象で開始される復元システム状態動作では、処理制
御は一般割込みサービス処理論理に、その後第1の復元
モジュールに移る。最初に行われる動作はバッテリ後援
ランダムアクセス記憶装置をチェックしてバッテリ後援
ランダムアクセス記憶装置の内容が有効であるか判定す
ることである。バッテリ後援ランダムアクセス記憶装置
が有効であれば、その一部に格納されている大容量記憶
装置保存区域の状態、大きさ、および場所をバッテリ後
援ランダムアクセス記憶装置から読出す。バッテリ後援
ランダムアクセス記憶装置から読出した状態情報から保
存イメージが不揮発性大容量記憶装置に存在しているこ
とがわかれば、大容量記憶装置のシステム状態保存区域
の見出しを読出す。見出しから検索したチェックサムを
チェックして判断されるように、大容量記憶装置にある
システム状態イメージが有効であれば、復元システム状
態動作の作動を示すようにデータ項目を設定する。次
に、保護モードプロセッサ状態イメージをシステム管理
区域のプロセッサ状態区域に移し、割込み指令からの戻
りを実行する。割込み指令からの戻りにより処理制御は
第2の復元モジュールに移る。第2の復元モジュールは
非隔離記憶装置にある非割込み保護モード処理モジュー
ルである。
【0022】作動されると、第2のモジュールは現在の
動作が復元システム状態動作であるか再開動作であるか
を判断する。復元システム状態動作が活動していれば、
第2のモジュールは不揮発性大容量記憶装置に先に保存
した保存システム状態イメージから見出しを読取る。保
存イメージが現在のコンピュータシステムの構成に適合
することができれば、システム管理イメージ区域を大容
量記憶装置から検索し、第1の復元システム状態モジュ
ールにアクセスし得る主記憶装置の区域に書込む。保存
システム状態動作の説明で先に述べたように、システム
管理区域(すなわち、隔離記憶装置)は、第2の復元モ
ジュールでは直接検索することができない。第2の復元
モジュールは割込み処理モジュールではないからであ
る。この理由で、システム管理割込み(SMI)を発生
して制御を第1の復元モジュールに移さなければならな
い。システム管理割込み(SMI)が発生すると、処理
制御は第1の復元モジュールに移る。第1のモジュール
は非保護モードで動作する割込みハンドラモジュールで
ある。作動すると、先に主記憶装置のアクセス可能区域
に書込まれたシステム管理保存区域イメージを検索し、
システム管理区域に書込む。第1の復元モジュールに対
する処理は割込みからの戻りで終る。割込み指令からの
戻りが実行されると、制御は第2の復元モジュールに戻
る。
【0023】第2の処理モジュールを作動させることに
より、バッテリ後援ランダムアクセス記憶装置のイメー
ジが大容量記憶装置から読出され、バッテリ後援ランダ
ムアクセス記憶装置に書込まれる。次に、復元システム
状態動作では必要がないI/O装置の装置レジスタおよ
び状態パラメータ、およびシステム資源が大容量記憶装
置から復元される。他のI/O装置の状態およびシステ
ム資源を復元して、不揮発性大容量記憶装置に格納され
ている記憶ブロックのイメージの残りを復元し、コンピ
ュータシステム記憶装置のその対応する場所に書込む。
特に、主記憶装置、拡張記憶装置、拡大記憶装置、およ
びビデオ記憶装置を大容量記憶装置の保存イメージから
復元する。最後に、不揮発性大容量記憶装置の保存区域
の見出しにマークを付けて保存イメージが現在有効であ
ることを示す。
【0024】上述の記憶区域を復元したので、今度は不
揮発性大容量記憶装置の状態およびランダムアクセス記
憶装置の作業空間区域の内容を復元することが必要にな
る。これらの区域は割込み非保護モード処理モジュール
を使用して復元しなければならない。このようなモジュ
ールを作動させるために、他のシステム管理割込み(S
MI)を使用して第1の復元モジュールの割込み論理を
再作動させる。第1の復元モジュールは隔離記憶装置に
設けられている。第1の復元モジュールが作動すると、
ランダムアクセス記憶装置(RAM)の区域の作業空間
がシステム管理保存RAM区域から復元される。同様
に、不揮発性大容量記憶装置の装置レジスタおよび状態
パラメータがシステム管理区域に保存された大容量記憶
装置の状態から復元される。最後に、システム管理区域
のプロセッサ状態が保存プロセッサ状態から復元され
る。保存プロセッサ状態は保存システム状態トリガ事象
が発生し、これによりコンピュータシステム状態を不揮
発性大容量記憶装置に保存させるとき実行するアプリケ
ーションプログラムまたは他のプログラムのプロセッサ
状態を表している。コンピュータシステム状態全体の復
元を完了したので、今度は割込み指令からの戻りを実行
する。割込み指令からの戻りを実行すると、プロセッサ
状態がアクセスされて、保存システム状態トリガ事象が
発生すると動作するアプリケーションプログラムまたは
他のプログラムに制御を戻し、復元システム状態動作を
完了する。
【0025】本発明は再開動作をも行う。再開動作は、
再開ボタンの作動(すなわち、ラップトップコンピュー
タの蓋の開放)、コンピュータシステムに取付けられて
いるキーボードのキーの作動、またはコンピュータシス
テムに結合されている他の入力装置の作動、のような再
開事象の発生で行われる。再開動作が行われると、先に
停止していたまたは低パワーモードに置かれていたコン
ピュータシステムが作動する。コンピュータシステムの
動作は低パワーモードまたは先に停止していた状態から
再開されるので、記憶装置の内容、I/O装置およびシ
ステム資源の状態の大部分はなお有効である。停止状態
または低パワーモードはシステム記憶装置およびレジス
タを破壊から保護する。したがって、この場合には、記
憶装置またはレジスタの完全な内容を不揮発性大容量記
憶装置に先に保存したシステム状態イメージから復元す
る必要はない。このため、大容量記憶装置に保存されて
いるシステム状態イメージはもはや不必要である。この
場合には、ランダムアクセス記憶装置(RAM)の作業
空間にあるデータ項目は再開モードの作動を示すように
設定されている。RAMの作業空間区域が再開動作につ
いてマークが付されると、保護モードプロセッサ状態イ
メージはシステム管理区域のプロセッサ状態区域に移さ
れ、割込み指令からの戻りが実行される。この動作によ
り処理制御が第2の再開モジュールと記したモジュール
に移る。第2の再開モジュールは非割込み保護モード処
理モジュールである。作動すると、第2のモジュールは
現在の動作が復元システム状態動作であるか再開動作で
あるか判定する。この場合、RAM作業空間区域のデー
タ項目が再開動作を示すようあらかじめ設定されている
ので、再開動作が活動する。不揮発性大容量記憶装置の
保存区域の見出には保存イメージが現在有効であること
を示すマークが付けられる。今度は不揮発性大容量記憶
装置の状態およびランダムアクセス記憶装置の作業空間
区域の内容を復元することが必要になる。これらの区域
は第1の再開モジュールにある割込み非保護モード処理
論理を使用して復元しなければならない。このようなモ
ジュールを作動させるためには、他のシステム管理割込
み(SMI)を使用して第1のモジュールを再作動させ
る。作動すると、第1の再開モジュールは保存されたラ
ンダムアクセス記憶装置(RAM)の作業空間区域をシ
ステム管理保存RAM区域から復元する。同様に、不揮
発性大容量記憶装置の装置レジスタおよび状態パラメー
タをシステム管理区域にある保存大容量記憶装置状態か
ら復元する。最後に、システム管理区域のプロセッサ状
態をこれもシステム管理区域にある保存プロセッサ状態
から復元する。保存プロセッサ状態は、保存システム状
態トリガ事象が発生してコンピュータシステム状態を不
揮発性大容量記憶装置に保存させるとき実行するアプリ
ケーションプログラムまたは他のプログラムのプロセッ
サ状態を表している。
【0026】再開動作が完了したので、今度は割込み指
令からの戻りを実行して、保存システム状態トリガ事象
が発生すると動作するアプリケーションプログラムまた
は他のプログラムに制御を移し戻し、再開システム状態
動作を完了する。
【0027】
【実施例】本発明は、トリガ事象が発生すると処理状態
を大容量記憶装置に保存するコンピュータシステムであ
る。以下の説明では、本発明の完全な理解に資するため
多数の特定の細目を示してある。しかし、当業者には本
発明を実用化するのにこれら特定の細目が不必要である
ことは明らかである。他の場合には、本発明を不必要に
不明瞭にしないために周知の構造、回路、およびインタ
ーフェースは図示してない。
【0028】図1を参照すると、本発明のコンピュータ
システムの構成のブロック図が示されている。一般に、
このようなコンピュータシステムは情報を交換する母線
10、母線により結合され情報を処理するプロセッサ11、
母線10に結合され、プロセッサ11に対する情報および指
令をランダムアクセス記憶装置(RAM)の形態に格納
する主記憶装置および拡張記憶装置要素12、母線10に結
合され、ランダムアクセス記憶装置の利用可能な大きさ
を拡大するもので、情報および指令を格納するのに使用
される拡大記憶装置(EMS)要素13、母線10により結
合され、低レベルプロセッサ指令および装置ドライバ処
理論理を不揮発形態で格納する不揮発性読出専用記憶装
置(ブートROM)要素14、母線10に結合され、構成情
報およびコンピュータシステム特有データを格納するバ
ッテリ後援ランダムアクセス記憶装置(典型的には相補
型金属酸化物半導体装置すなわちCMOS装置として実
施されている)要素15、および母線10に結合され、典型
的にハードディスク装置と共に利用することができるも
ののような大型直接アクセスデータ格納媒体となる不揮
発大容量記憶装置16、から構成されている。当業者には
図1に示したコンピュータシステムの構成は表示装置、
入力装置、または他のシステム資源(図示せず)をも備
えることができることが明らかであろう。図1に示した
ものと同じコンピュータシステム構成の一例は、ニュー
ヨークのIBMコーポレーション・オブ・アメリカから
入手できるIBM PC(商標)のパーソナルコンピュ
ータである。本発明の好適実施例に使用されているプロ
セッサ11は本発明の譲受人が製造している80386 SLTM商
標のマイクロプロセッサである。当業者にはシステム母
線の無い構成のような他のコンピュータシステム構成が
本発明の特徴から便利であることが明らかであろう。
【0029】次の図2を参照すると、本発明のコンピュ
ータシステムに利用することができる種々の記憶区域が
示されている。これら種々の記憶区域には主記憶装置 1
10、不揮発性記憶装置(ブートROM)120、拡張記憶
装置109、拡大記憶装置 108、およびバッテリ後援ラン
ダムアクセス記憶装置115がある。主記憶装置110はアプ
リケーションおよびシステムソフトウェアの両者が使用
する通常ランダムアクセス記憶区域である。好適実施例
では、主記憶装置 110は利用可能なアドレス空間の最低
位のまたは低位の1メガバイトを占有する。不揮発性記
憶装置 120は低レベルのシステムソフトウェア、装置ド
ライバ、および永続構成データの格納に使用される読出
専用記憶装置(ブートROM)である。不揮発性記憶装
置(ブートROM) 120は、典型的にはコンピュータシ
ステムの低レベル資源を制御するのに使用される処理論
理から構成される基本入出力システム(BIOM)を備
えている。不揮発性記憶装置 120のようなブートROM
の使用は当業者には周知である。拡張記憶装置 109は記
憶装置のアドレス空間の更に高位のすなわち上位領域を
占有する別のランダムアクセス記憶装置の区域である。
拡大記憶装置 108は典型的には入出力コールを使用して
コンピュータシステムにアクセスすることができるよう
になるプラグイン記憶装置ボードとして実施されている
拡大記憶システム(EMS)である。バッテリ後援ラン
ダムアクセス記憶装置 115は、典型的にはCMOS記憶
装置として実施されるが、バッテリのパワーを利用し得
る限り保存される構成データを保持するために設けられ
ている。バッテリ後援ランダムアクセス記憶装置 115に
パワーを供給するバッテリが故障すると、バッテリ後援
ランダムアクセス記憶装置 115の内容は喪失する。最後
に、不揮発性大容量記憶装置 117は大量のデータを永久
に格納するために設けられている。典型的には、不揮発
性大容量記憶装置 117はハードディスクドライブまたは
同等の磁気記憶媒体である。不揮発性大容量記憶装置 1
17はフラッシュ記憶装置のようなハードディスクドライ
ブ以外の装置として実施することもできる。フラッシュ
記憶装置は当業者には周知である。しかし、当業者には
大容量記憶装置 117を多様な不容量記憶直接アクセスデ
ータ格納の技術を利用して実現することができることが
明らかである。
【0030】なおも図2を参照すると、主記憶装置 110
は幾つかの区域を備えている。このような区域の一つは
システム管理区域122である。システム管理区域122は主
記憶装置 110の内部にある隔離ランダムアクセス記憶装
置の一区画である。システム管理区域 122にはプロセッ
サ11がシステム管理割込み状態にあるときだけアクセス
することができる。システム管理割込みが発生するとシ
ステム管理割込み状態に入る。システム管理区域の使用
およびシステム管理割込みは当業者には周知である。区
域 101および区域 102のような、主記憶装置 110の残り
の部分には割込みまたは非割込み処理論理により自由に
アクセスすることができる(すなわち、隔離されていな
い)。
【0031】図1および図2に示したもののようなコン
ピュータシステムは、各記憶装置(すなわち、記憶区域
115、108、109、120、および110 )、各種プロセッサレ
ジスタ(図示せず)、および各種システム資源またはI
/O装置レジスタに格納されているソフトウェアおよび
データ、および状態パラメータ(たとえば、装置レジス
タおよび状態パラメータ118および124)に従って動作す
る。この記憶装置およびこれらレジスタの或る一つの瞬
間における内容はコンピュータシステムの処理状態を規
定する。コンピュータシステムにパワーが供給されてい
る限り、処理状態は継続する。しかし、パワーが一旦失
われると、プロセッサレジスタ、パワーレジスタ、およ
びランダムアクセス記憶装置の内容は失われる。レジス
タおよび記憶装置の損失と共に、コンピュータシステム
の処理状態も失われる。コンピュータの処理状態を不揮
発性の形で保存し、後の或る時刻にコンピュータシステ
ムへのパワーが回復したとき回収することができれば、
コンピュータシステムの効用は大幅に増大するであろ
う。
【0032】処理状態を不揮発性の形で保存するこのよ
うな能力は形態型コンピュータには特に有用である。携
帯型コンピュータは典型的に多くとも数時間コンピュー
タの動作を支持することができるバッテリで動作する。
その上、携帯型コンピュータの動作は、携帯型コンピュ
ータが場所から場所へ移動するにつれて頻繁に中断する
のが一般である。現在の携帯型コンピュータシステム
は、パワーの損失を処理するのに典型的には二つの一般
的方法を取っている。第1に、或る携帯型コンピュータ
システムは、パワーが完全に涸渇すれば使用することが
できなくなるという危険を抱えながらアプリケーション
ソフトウェアを低パワーモードで活動し続けさせること
である。この方法はコンピュータの処理状態を保存しな
いが、パワーが最終的に失われるまでコンピュータを縮
小パワーモードで動作させる。第2の方法は低パワーま
たは低バッテリ状態を検出するようになっている。低パ
ワー状態を検出すると、ユーザはアプリケーションソフ
トウェアを明確に遮断し、システムへのパワーを切る。
コンピュータシステムへのパワーが回復すると、ユーザ
はコンピュータシステムを再始動し、前に動作していた
アプリケーションを再作動させなければならない。アプ
リケーションを遮断し再始動するという要件はコンピュ
ータシステムの連続利用を中断する働きをする。したが
って、これら従来技術の二つの方法はコンピュータシス
テムおよび特に携帯型コンピュータの容易且つ確実な使
用を制限する。
【0033】本発明は、コンピュータシステムの処理状
態を不揮発性記憶装置から復元する手段を用いてコンピ
ュータシステムの処理状態を不揮発性の形で保存する手
段および方法を提供する。コンピュータシステムの処理
状態を不揮発性記憶装置に保存する本発明の基本的方法
は、(1)保存システム状態のトリガ事象を検出し、
(2)システムレジスタおよび記憶装置の内容を図2に
示す不揮発性大容量記憶装置 117に書込み、(3)停止
状態に入り、再開トリガ事象を待つかまたはコンピュー
タシステムのパワーを完全に遮断するかすることであ
る。コンピュータシステムの処理状態を不揮発性記憶装
置から復元する本発明の一般的方法は、(1)コンピュ
ータシステムの処理またはパワーの印加の再開を検知
し、(2)先に保存した処理状態の内容を不揮発性大容
量記憶装置 117から読出し、記憶装置およびコンピュー
タシステムレジスタの内容を復元し、(3)制御を先に
実行していたアプリケーションプログラムに戻すことで
ある。
【0034】本発明で使用した方法を実施するためには
幾つかの問題を克服しなければならない。第1に、拡大
記憶装置 109または他のコンピュータシステムの記憶装
置の他の区画に、異なる動作モードに切替えずにプロセ
ッサ11がアクセスすることができない。特に、本発明に
使用されるプロセッサ11は少なくとも二つの動作モード
を備えている。第1の動作モード(すなわち、通常モー
ド)は、主記憶装置 110、不揮発性記憶装置ブートRO
M 120、拡大記憶装置 108、およびバッテリ後援ランダ
ムアクセス記憶措置 115にアクセスしている間に使用さ
れる。保護モードと言われるプロセッサ11の第2のモー
ドは拡大記憶装置 109にアクセスする前に使用可能でな
ければならない。プロセッサで通常モードおよび保護モ
ードを使用することは当業者には周知である。
【0035】処理状態を不揮発性大容量記憶装置に保存
する動作を困難にしている他の問題は、保存システム動
作の制御を失わずに割込み駆動大容量記憶装置を使用す
ることである。保存システム状態動作を開始させるトリ
ガ事象はプロセッサ11を割込みモードにする割込みであ
る。割込みモードである間は、しかし、プロセッサは不
揮発性大容量記憶装置 117のような外部装置からの他の
割込みを処理することができない。それ故、保存システ
ム状態動作の少なくとも一部は非割込みモードで動作し
なければならない。代わりの実施例では、不揮発性大容
量記憶装置 117にアクセスする割込みの使用をポール式
装置ハンドラを使用することにより回避することができ
る。しかしポール式装置ハンドラを使用する方法の動作
は更に幾らかのろい。したがって、これらの問題は記憶
イメージを単に大容量記憶装置に書込むより保存システ
ム状態動作をはるかに複雑にする。本発明の以下の説明
で本発明がこれらの問題をどう克服しているかを明らか
にする。
【0036】図2を再び参照すると、保存システム状態
動作中のコンピュータシステムの記憶装置およびシステ
ム資源の内部でのデータおよび処理指令の構成が示され
ている。本発明の処理論理は二つの主区画すなわちモジ
ュールに分割されている。第1の区画はSAVE_SYSTEM_ST
ATE_Aと名付けられ図2の記憶ブロック125に示されてい
る。SAVE_SYSTEM_STATE_A モジュールは非保護モードす
なわち通常モードで動作するシステム管理区域 122の内
部にある割込みハンドラである。システム管理区域122
は隔離記憶装置であり、したがって、SAVE_SYSTEM_STAT
E_Aモジュールは隔離記憶装置内に設けられている。本
発明の保存システム状態処理論理の第2のモジュール
は、SAVE_SYSTEM_STATE_Bと名付けられ図2の記憶ブロ
ック 101に描かれている。SAVE_SYSTEM_STATE_Bモジュ
ールはシステム管理区域 122の内部に設置されておらず
(したがって、非隔離記憶装置にあり)、割込みハンド
ラルーチンではない。SAVE_SYSTEM_STATE_B モジュール
は保護モードで動作する。
【0037】保存システム状態処理論理の二つのモジュ
ールを構成する実際の処理論理は不揮発性記憶装置 120
に格納することができ、ブートストラップ初期設定プロ
セス中主記憶装置 110に移すことができる。したがっ
て、図2に示すとおり、SAVE_SYSTEM_STATE_A処理論理
のイメージ 112をブートROM120に格納することがで
きる。同様に、SAVE_SYSTEM_STATE_Bモジュールのコー
ドイメージ113もブートROM 120に格納することがで
きる。システム資源または装置ハンドラも基本入出力動
作システム(BIOS)の一部としてブートROM 120
に格納することができる。このようなハンドラの一つは
不揮発性大容量記憶装置 117を制御する処理論理を備え
ている大容量記憶装置ハンドラ 111である。実施例で
は、大容量記憶装置ハンドラ 111は割込み駆動装置ハン
ドラである。図2に示す残りの要素を図5乃至図11の流
れ図に示す保存システム状態の機能の流れに関連して説
明する。図3および図4を本発明の機能の流れに関連し
て説明する。
【0038】実施例の動作 今度は図5〜図20を参照する。本発明の処理論理の動作
が示されている。本発明の処理論理はトリガ事象が発生
すると始動する。トリガ事象は、システム処理状態を不
揮発性大容量記憶装置 117に保存する動作を開始させる
或るシステム状態が発生することである。幾つかの条件
の発生でトリガ事象を発生させることができる。たとえ
ば、携帯型またはラップトップコンピュータでは、コン
ピュータユーザがコンピュータの蓋を閉じてハードウェ
アスイッチを作動させてトリガ事象を発生させることが
できる。このような動作は計算期間の終りおよび処理状
態を不揮発性記憶装置に保存したいことを示す。不活動
タイマの時間が経過したときにもトリガ事象を発生させ
ることがある。この場合には、コンピュータユーザは所
定の期間活動しないことにより計算期間の終りを示して
いる。第3に、トリガ事象はコンピュータユーザが所定
の特定の命令連鎖を使用することにより明白にまたは明
確に指定することができる。最後に、保存システム状態
動作を生ずるトリガ事象は、低パワー状態または低バッ
テリ状態が検出されれば発生することができる。当業者
にはトリガ事象に保存システム状態動作を開始させる他
の多数のシステム状態が生じ得ることが明かであろう。
【0039】トリガ事象が発生すると、システム管理割
込みが発生し、処理制御が図5に示す「割込みサービ
ス」 200と記した区画に移る。トリガ事象の発生はまた
図2に矢印 126によって示してある。割込みサービスへ
の入口点 200はシステム管理割込み用汎用割込みサービ
スルーチンである。割込みが割込サービス区画 200に移
るのに続いて、プロセッサ状態は主記憶装置110のスタ
ック(処理ブロック200)に格納される。プロセッサ状
態には、プロセッサの動作に関連するレジスタの内容、
ポインタ、および他のパラメータがある。これらプロセ
ッサ状態のパラメータはシステム管理区域122の区域103
(スタック)に格納されている。図5に示すように、プ
ロセッサ状態がスタックに保存されると、発生したシス
テム管理割込みの形式が処理ブロック 204で検索され、
処理制御が図6に示したAと記した区画で続けられる。
【0040】次に図6を参照すると、判断ブロック 205
を実行して、発生した割込みが保存システム状態割込み
であるか判定している。否であれば、別の条件を試験す
る判断ブロック209への処理径路208を取る。これら条件
については本発明のこの説明の後の章で試験し、説明す
る。発生した割込みが保存システム割込みであれば、処
理制御を本発明の処理論理の第1のモジュール(すなわ
ち、SAVE_SYSTEM_STATE_A)に移す処理ブロックへの処
理径路 206を取る。SAVE_SYSTEM_STATE_A処理論理への
入口点は図9の区画 300で示してある。
【0041】次に図9に本発明のSAVE_SYSTEM_STATE_A
処理論理が示されている。図9の区画300で始まる処理
論理は図2に矢印121で描いた保存システム状態割込み
が発生すると実行される。再び図9を参照して、SAVE_S
YSTEM_STATE_A 処理論理により行われる最初の動作は現
在の動作が保存システム状態動作であるか復元システム
状態動作であるか判定することである(判断ブロック 3
18)。本発明の或る構成では、保存動作、復元動作、ま
たは再開動作に同じ入口点を使用することができる。動
作形式パラメータはランダムアクセス記憶装置に格納し
て現在活動している動作の形式を指定するのに使用する
ことができる。復元システム状態動作が活動していれ
ば、図5に示すHと記した区画への処理径路 319が取ら
れる。保存システム状態動作が活動していれば、SAVE_S
YSTEM_STATE_A 処理論理がバッテリ後援ランダムアクセ
ス記憶装置 115から状態、大きさ、および場所の情報を
読出す処理ブロック301への処理径路320が取られる。状
態、大きさ、および場所の情報は図2に示したブロック
116に示してある。状態、大きさ、および場所の情報は
システム状態情報の格納用にあらかじめ割当てられた不
揮発性大容量記憶装置117 の区域を指定する。状態、大
きさ、および場所の情報は記憶構成時にバッテリ後援ラ
ンダムアクセス記憶装置 115に格納することができる。
【0042】図9を再び参照すると、不揮発性大容量記
憶装置 117の区域がバッテリ後援ランダムアクセス記憶
装置 115に格納されている情報により指示されるように
割当てられていなければ(判断ブロック 302)、図8に
示したCと記された区画への処理径路 303が取られる。
この場合、大容量記憶装置に格納区域が割当てられてい
ないので、保存システム状態動作に対するこれ以上の処
理は行われない。それ故、割込み指令 222からの戻りが
実行されて制御がトリガ事象により発生した割込みから
戻る。図9を再び参照すると、不揮発性大容量記憶装置
の保存区域が割当てられていれば、判断ブロック 315へ
の処理径路304が取られる。判断ブロック315で、接続指
向コンピュータシステムハードウェアがトリガ事象が発
生した時刻に発生した活動についてチェックされる。接
続指向ハードウェアにはモデム、ネットワークリンク、
または他の、保存システム状態動作を無効にし、または
制限使用のものにするデータリンクの形態がある。接続
指向ハードウェアが保存システム状態トリガ事象の時刻
に使用されていると、システム状態を不揮発性大容量記
憶装置に格納することができるが、システム状態を確実
に回収することはできない。接続指向ハードウェアによ
る確実な復元は、それが接続装置の状態を保存し、格納
することができないので、困難である。このような場合
には、割込み指令 222からの戻りを実行して保存システ
ム状態動作を終結する図8にCと記した区画への処理径
路 316が取られる。
【0043】再び図9を参照して、接続指向ハードウェ
アが使用されていなければ、処理ブロック 305への処理
径路317が取られる。処理ブロック305で、不揮発性大容
量記憶装置 117に関連する装置レジスタおよび状態パラ
メータが読出される。これら装置レジスタおよび状態パ
ラメータは図2にブロック 118で示されている。不揮発
性大容量記憶装置 117は共有装置である。この装置は保
存システム状態トリガ事象中またはその直前に使用され
ていることがある。それ故、システム復元を確実に行う
ためには、不揮発性大容量記憶装置 117の装置レジスタ
および状態パラメータを、不揮発性大容量記憶装置 117
の状態を保存システム状態トリガ事象が発生したとき存
在しているその状態に効果的に復元するため保存しなけ
ればならない。同様に、保存システム状態動作に必要な
他の装置または他のシステム資源の装置レジスタおよび
状態パラメータを読出し、保存しなければならない。大
容量記憶装置 117の装置レジスタおよび状態パラメータ
118はシステム管理区域122の一部106に格納される。記
憶区域106は保存大容量記憶装置の状態および他の必要
な装置またはシステム資源の保存状態として役立つ。
【0044】図9を再び参照する。システム状態を保存
するのに必要な各システム資源の状態がシステム管理区
域122に書込まれてしまうと(処理ブロック306)、主記
憶装置110の作業空間102を保存システム状態処理論理の
動作のために設けなければならない。コンピュータシス
テム記憶装置の部分には有効コードまたはデータが入っ
ているから、保存システム状態処理論理によって記憶の
どんな部をも破壊することはできない。このため、主記
憶装置110のRAM区域作業空間102を保存システム状態
処理論理に使用できる作業空間にするため保存しなけれ
ばならない。このRAM区域作業空間102はSAVE_SYSTEM
_STATE_A処理論理にアクセスできる記憶装置内部の不変
の場所および大きさの区域である。RAM区域作業空間
102の内容を主記憶装置110から読出し(処理ブロック3
07)、システム管理区域 122の保存RAM区域105に格
納する。主記憶装置110のRAM区域作業空間 102はそ
の後クリアして、スタックまたはパラメータブロックと
して使用するためまたは他の何らかの目的のため保存シ
ステム状態処理論理に利用できるようにする。図9を再
び参照する。RAM区域作業空間102の内容が処理ブロ
ック307で読出され、保存RAM区域105に書込まれてし
まうと(処理ブロック308)、RAM区域作業空間102を
処理ブロック309でクリアすることができる。処理は図1
0にDと記した区画で続けられる。
【0045】今度は図10を参照する。SAVE_SYSTEM_STAT
E_A モジュールの処理が処理ブロック 400で続いてい
る。保存システム状態動作のこの点で、RAM区域作業
空間の内容が記憶ブロック105に保存されている。不揮
発性大容量記憶装置117の装置レジスタおよび状態パラ
メータ(および他の必要なシステム資源の状態)が主記
憶装置110の内部の記憶ブロック106に保存されている。
今度はRAM区域作業空間102をスタックまたはパラメ
ータブロックの区域として使用して記憶ブロックを不揮
発性大容量記憶装置117に書込み始めるのが望ましい
が、SAVE_SYSTEM_STATE_Aモジュールは二つの理由でこ
の動作を行うのに使用することができない。第1は、SA
VE_SYSTEM_STATE_A モジュールは割込みハンドラである
から、このモジュールは不揮発性大容量記憶装置 117か
ら割込みを受けることができない。第2に、SAVE_SYSTE
M_STATE_A モジュールは、保護モードで動作しないか
ら、拡張記憶装置109にアクセスすることができない。
これらの理由から、SAVE_SYSTEM_STATE_Aモジュールは
処理制御を、SAVE_SYSTEM_STATE_B モジュールに移さな
ければならない。
【0046】SAVE_SYSTEM_STATE_B モジュールは、非割
込み保護モード処理モジュールである。制御をSAVE_SYS
TEM_STATE_Bモジュールに移すためには、プロセッサ状
態103を一部修正しなければならない。しかし、修正す
る前に、現在のプロセッサ状態103をシステム管理区域1
22の領域に保存しなければならない。したがって、図10
に示した処理ブロック400を実行してプロセッサ状態を
記憶ブロック103から読出す。記憶ブロック 103に格納
されているプロセッサ状態を保存プロセッサ状態記憶ブ
ロック 104に移す(処理ブロック401)。記憶ブロック1
04に今保存したこのプロセッサ状態は保存システム状態
トリガ事象が発生したとき実行していたアプリケーショ
ンプログラムの割込みアドレスからの戻りに対応する。
記憶ブロック103にある処理状態が保存されているか
ら、SAVE_SYSTEM_STATE_Bモジュールへの処理制御の移
行に対応するプロセッサ状態をプロセッサ状態記憶ブロ
ック 103に書込むことができる。SAVE_SYSTEM_STATE_B
モジュールへの移行に対応するプロセッサ状態(保護モ
ードプロセッサ状態とも言う)は不揮発性記憶装置 120
の記憶ブロック 114に入っている。保護モードプロセッ
サ状態のイメージを処理ブロック 402の記憶ブロック11
4から読出し、処理ブロック403の処理状態記憶ブロック
103に移す。これでRETURN_FROM_INTERRUPT 指令をSAVE_
SYSTEM_STATE_Aモジュールが実行することができ、これ
により処理制御がSAVE_SYSTEM_STATE_B モジュールに移
される。この制御の移行を図2に矢印119でおよび図10
に処理区画404に示してある。一旦この移行が発生する
と、処理は図11に開始を示したようにSAVE_SYSTEM_STAT
E_B モジュールにより非割込み保護処理モードで続けら
れる。
【0047】不揮発性記憶装置120に入っている保護モ
ードプロセッサ状態イメージ114は、SAVE_SYSTEM_STATE
_A割込みモジュールとSAVE_SYSTEM_SYATE_B保護モード
モジュールとの間の移行を成功させる鍵である。保護モ
ードプロセッサ状態イメージ114 は幾つかの方法の一つ
により発生することができる。第1に、所要プロセッサ
状態イメージをプロセッサ状態イメージを構成する各種
データ項目の各々を組立てることにより動的に構成する
ことができる。これらデータ項目にはRETURN_FROM_INTE
RRUPT 移行アドレス、レジスタの内容、および他のプロ
セッサの内容情報がある。しかし、保護モードプロセッ
サ状態イメージを構成するこの動的方法はプロセッサ状
態イメージのデータ構造を知っている必要がある。この
プロセッサ状態イメージのデータ構造は常に利用できる
とは限らないから、保護モードプロセッサ状態イメージ
114を発生するのにプロセッサ状態イメージのデータ構
造を知る必要のない代わりの方法を使用することができ
る。この代わりの方法はSAVE_SYSTEM_STATE_Bモジュー
ルの孤立疑似変種を使用する。この疑似変種のSAVE_SYS
TEM_STATE_Bモジュールは簡単にシステム管理割込みを
発生する。プロセッサの自然な割込み動作により、SAVE
_SYSTEM_STATE_B モジュールへの応答に関連する所要の
保護モードプロセッサ状態イメージを発生し、システム
管理区域 122の領域に、典型的にはスタックに、格納す
る。このプロセッサ状態イメージは後に不揮発性記憶装
置 120の保護モードプロセッサ状態イメージ区域に格納
するため取出して保存することができる。
【0048】再び図11を参照すると、非割込み保護モー
ドSAVE_SYSTEM_STATE_B モジュールの処理が区画500で
開始されるよう示されている。最初に、処理ブロック50
5で、あらかじめ割当てられる大容量記憶装置の保存区
域の状態、大きさ、および場所116をバッテリ後援ラン
ダムアクセス記憶装置115から読出す。バッテリ後援ラ
ンダムアクセス記憶装置 115から読出した情報をシステ
ム状態イメージの大きさおよびコンピュータシステムの
現在の構成と矛盾していないかについて確認する。状
態、大きさおよび場所の情報116により指示された大容
量記憶装置117の場所で、先にバッテリ後援ランダムア
クセス記憶装置構成時に大容量記憶装置に書込まれた見
出しが保存区域のイメージおよびその状態を識別する
処理ブロック 508で主記憶装置110、拡張記憶装置109、
拡大記憶装置 108、およびビデオ記憶装置イメージの内
容を大容量記憶装置に書込む。他の入出力(I/O)装
置または他のシステム資源(すなわち、保存システム状
態動作に必要のない装置および資源)の装置レジスタお
よび状態パラメータを読出し、保存システム状態動作の
一部として保持しなければならない。I/O装置 123に
関連する装置レジスタおよび状態パラメータを図2にブ
ロック124に示してある 処理ブロック512でI/O装置
の装置レジスタおよび状態パラメータ 124を大容量記憶
装置の保存区域に書込む。処理ブロック507でバッテリ
後援ランダムアクセス記憶装置115のイメージを取出し
て大容量記憶装置117の大容量格納保存区域に書込む。
【0049】処理ブロック 507を実行した後では、コン
ピュータシステムの記憶区域の全部がシステム管理区域
122を除き大容量記憶装置117に書込まれてしまってい
る。システム管理区域 122は、SAVE_SYSTEM_STATE_Bモ
ジュールがシステム管理区域122へのアクセスを有して
いないので、不揮発性大容量記憶装置 117に移されてい
ない。システム管理区域 122にはプロセッサがシステム
管理割込み(SMI)モードで動作しているときにアク
セスできるだけである。それ故、処理ブロック 509で行
われる次の動作は、処理径路 514を経由してシステム管
理割込み(SMI)を発生することであり、これにより
制御を図5〜図8に示す汎用割込みサービスハンドラに
移し、その後図12に示すSAVE_SYSTEM_STATE_COMPLETEと
呼ばれる割込みモードハンドラに移すことにより本発明
の割込み論理を作動させる。汎用割込みサービスハンド
ラへの制御の移行を図3に線 190で示してある。割込み
ハンドラSAVE_SYSTEM_STATE_COMPLETE への制御の移行
を図3に線191で示してある。
【0050】処理ブロック 509でシステム管理割込みが
発生すると、制御は図5に開始を示してある汎用割込み
サービスハンドラに移る。先に説明したように、基本的
割込みサービス処理は処理ブロック 202でプロセッサ状
態をスタックに格納することにより開始される。割込み
の形式は処理ブロック 204で得られ、処理は図6にAと
記した区画で続く。判断ブロック 205を開始することに
より、システム管理割込みの形式が決まる(判断ブロッ
ク209)。この場合には、処理ブロック211への処理径路
が取られ、処理制御は図12に示すSAVE_SYSTEM_STATE_CO
MPLETEモジュールに移される。
【0051】今度は図12を参照すると、SAVE_SYSTEM_ST
ATE_COMPLETEモジュールが区画 600から出発するよう示
してある。SAVE_SYSTEM_STATE_COMPLETEモジュールが行
う主な任務はシステム管理区域122の内容全体をシステ
ム管理区域122それ自身の中に無い主記憶装置の区域に
書込むことである。システム管理区域のイメージに対す
る記憶ブロック193を図3に示してある。記憶ブロック1
93はSAVE_SYSTEM?_STATE_Bモジュールにアクセスし得る
区域である。システム管理区域 122は、図12に示す処理
ブロック601でシステム管理区域イメージブロック193に
書込まれる。システム管理区域122が記憶区域193に写し
取られると、割込み指令からの戻りが区画602で実行さ
れ、制御が図11に示した処理径路516を経由してSAVE_SY
STEM_STATE_Bモジュールに戻される。制御のSAVE_SYSTE
M_STATE_Bモジュールへの返還は図3の線 193によって
も示されている。本発明の非割込み保護モード論理はこ
のようにして再作動される。
【0052】制御がSAVE_SYSTEM_STATE_B モジュールに
戻ると、処理は図11に示す処理ブロック510で続き、シ
ステム管理区域イメージブロック193が不揮発性大容量
記憶装置 117に書込まれる。保存システム状態動作が成
功裡に終了したことはバッテリ後援ランダムアクセス記
憶装置115のブロック116の状態区域に示される。保存シ
ステム状態動作の順調な終了は不揮発性大容量記憶装置
117に記録されているシステム状態イメージの見出し部
分にも記録される(処理ブロック 511)。次に処理は図
13にEと記した区画で続く。
【0053】次に図13を参照すると、保存システム状態
動作は他のシステム管理割込みの発生により継続し、コ
ンピュータシステムを低パワーモードに入れる。このシ
ステム管理割込みが発生すると、制御は処理径路 707を
経由して図5〜図8に示す汎用割込みハンドラに移る。
再び図5を参照すると、このとき図6に示すような低パ
ワーモードを開始する処理ブロックへの処理径路 239を
取ることの他は先に示したように一般割込みサービスが
行われる。低パワーモードを作動させることは当業者に
は周知の手法である。一旦低パワーモードが開始される
と処理は図8にCと記した区画で続き、割込み指令から
の戻りが実行される(処理区画 222)。処理区画222で
割込み指令からの戻りが実行されると、制御は処理径路
709を経由して図13の処理ブロック 707に戻り、タイム
アウトカウンタを始動させる。実行制御は所定の時間だ
け処理ブロック701と判断ブロック702との間で停止した
ままになっている。この期間によりコンピュータユーザ
はコンピュータシステムの動作を低パワーモードから再
開することができる。しかし、所定の期間が過ぎてから
ユーザが動作を再開しなければ、処理ブロック704への
処理径路703を取り、他のシステム管理割込みを処理径
路 711を経由して発生し、システムへのパワーを完全に
遮断する。
【0054】処理ブロック 704でシステム管理割込みが
発生すると、制御は再び図5〜図8に示す一般割込みサ
ービスルーチンに移り、その後図6に示す判断ブロック
235に移る。周知の技法によりコンピュータシステムの
パワーを遮断する処理ブロック237への処理径路236を取
る。保存システム状態動作を完了すると、コンピュータ
システム処理状態のイメージが今度は不揮発性大容量記
憶装置117に存在する。大容量記憶装置117にあるシステ
ム状態イメージは図20に示すように組織されている。し
たがって、ヘッダ1801に続いて記憶装置の各区画のイメ
ージ1803、続いて他のI/O装置の保存装置レジスタお
よび状態パラメータのイメージ1805、続いてバッテリ後
援ランダムアクセス記憶装置 115のイメージ1802、続い
てシステム管理区域のイメージ1804が不揮発性大容量記
憶装置 117に書込まれる。以上が本発明の好適実施例の
保存システム状態動作の説明である。
【0055】本発明の別の実施例では、処理論理の一部
を保護モードで実行する必要性が回避されている。上述
の好適実施例で考えられた制約は拡張記憶装置区域 109
には非保護モジュールSAVE_SYSTEM_STATE_A モジュール
が直接アクセスできないということであった。しかし従
来技術には拡大記憶装置 108に割当てられたアドレス用
空間を再写像する手段があるので拡張記憶装置109の全
体が拡大記憶装置108に関連するアドレス空間の内部に
入る。この構成では、SAVE_SYSTEM_STATE_A モジュール
は拡張記憶装置109にアクセスすることができる。した
がって、SAVE_SYSTEM_STATE_Bモジュールの保護モード
での実行は不必要になる。
【0056】次に図7、図8、および図14乃至図19を参
照すると、保存システム状態動作を行う本発明の好適実
施例の処理論理が示されている。その他、図4は保存シ
ステム状態動作の処理論理が使用する各種記憶区域を示
している。好適実施例では、好適実施例のコンピュータ
システムの処理を先に不揮発性大容量記憶装置に保存さ
れたイメージから二つの方法の一つで復元することがで
きる。第1は、コンピュータシステムのパワーを上げる
かまたはシステムのハードウェアリセットを開始する。
第2は、なおパワーを上げられるが現在は低パワー状態
または停止状態にあるコンピュータシステムについて、
再開動作事象を二つの方法の一つで開始することができ
る。動作を再開する第1の方法は再開ボタンを作動させ
ることである。このような再開ボタンは、例えば、ラッ
プトップまたは携帯型パーソナルコンピュータの蓋を開
くと作動させることができる。再開動作の他の方法は、
コンピュータシステムに結合されているキーボードのキ
ーを作動させるか、またはコンピュータシステムに結合
されているマウス装置を作動させるかすることである。
コンピュータシステムに結合されている入力装置をこの
方法で作動させると不活動期間の後、コンピュータユー
ザにより活動の再開が指示される。
【0057】リセットまたはパワーアップ事象または再
開事象で開始された復元システム状態動作の場合には、
処理制御は図5〜図8に示す一般割込サービス処理論理
に、その後図7に示す判断ブロック 249に移る。そのよ
うに発生された割込みがリセット割込みまたはパワーア
ップ割込みであれば、処理ブロック251への処理径路250
が取られ、処理制御はRESET_HANDLERと名付けられたモ
ジュールに移る。RESET_HANDLERモジュールを図14に示
す。次に図14および図4を参照すると、リセット事象ま
たはパワーアップ事象に関する処理論理が示されてい
る。RESET_HANDLER 1401と記した区画から開始して、判
断ブロック1402で行われる第1の動作はバッテリ後援ラ
ンダムアクセス記憶装置115をチェックしてバッテリ後
援ランダムアクセス記憶装置115の内容が有効であるか
確認する。このような確認はバッテリ後援ランダムアク
セス記憶装置 115にあるチェックサム値(図示せず)を
あらかじめ計算してある既知のチェックサム値と比較す
ることにより行うことができる。バッテリ後援ランダム
アクセス記憶装置 115が有効であれば(処理径路140
3)、(図4に示してある)バッテリ後援ランダムアク
セス記憶装置115の記憶ブロック166に格納されている大
容量記憶装置の保存区域の状態、大きさ、および場所が
バッテリ後援ランダムアクセス記憶装置 115から読出さ
れる(処理ブロック1412)。判断ブロック1413で、バッ
テリ後援ランダムアクセス記憶装置 115から読出された
状態情報が保存イメージが不揮発性大容量記憶装置 167
に存在していることを示せば、処理ブロック1411への処
理径路1414が取られる。しかし、状態情報が保存イメー
ジが存在しないことを示せば、処理径路1415は、あらか
じめ保存されているシステムイメージを使用せずに通常
システムブートアップが生ずる処理ブロック1408へ取ら
れる。再び判断ブロック1402を参照して、バッテリ後援
ランダムアクセス記憶装置 115が有効でなければ(処理
径路1404)、コンピュータユーザは不揮発性大容量記憶
装置167のシステム状態保存区域の場所について質問さ
れ(処理ブロック1405)、 制御は処理ブロック1411に
伝えられる。
【0058】大容量記憶装置 167のシステム状態保存区
域の場所および状態がバッテリ後援ランダムアクセス記
憶装置 115からまたはコンピュータユーザから決まる
と、大容量記憶装置167のシステム状態保存区域の見出
しが読出される(処理ブロック1411)。 見出しから検
索されたチェックサムをチェックして確認されたよう
に、大容量記憶装置 167のシステム状態イメージが有効
であれば(判断ブロック1406)、処理径路1409は、デー
タ項目を設定して(処理ブロック1401)復元システム状
態動作の作動を示す処理ブロック1401へ取られる。この
データ項目はランダムアクセス記憶装置の作業空間区域
152に格納することができる。次に、記憶区域164に格納
されている保護モードプロセッサ状態イメージをプロセ
ッサ状態区域103に移し、割込み指令からの戻りを実行
する(処理ブロック1406)。 保護モードプロセッサ状
態イメージ164を予備発生し、記憶装置構成時間中に、
保存システム状態動作について上に述べた保護モードプ
ロセッサ状態イメージ 114と同じ仕方で、バッテリ後援
ランダムアクセス記憶装置115に格納する。処理ブロッ
ク1416で行う動作により処理制御が図15にRESTORE_SYST
EM_STATE_A と記したモジュールに移る。この制御の移
行を図4に線 151で示してある。
【0059】次に図15を参照すると、区画 880で開始さ
れるRESTORE_SYSTEM_STATE_Aモジュールが示されてい
る。RESTORE_SYSTEM_STATE_Aモジュールは非隔離記憶装
置に存在している非割込み保護モード処理モジュールで
ある。RESTORE_SYSTEM_STATE_Aモジュールは図4に記憶
ブロック 182の内部に設けられているようにも図示され
ている。RESTORE_SYSTEM_STATE_Aモジュールの作動は矢
印151で示してある。作動すると、RESTORE_SYSTEM_STAT
E_Aモジュールは現在の動作が復元システム状態動作で
あるか再開動作であるか判定する(処理ブロック 80
1)。動作形式パラメータをランダムアクセス記憶装置
に格納し、現在活動中の動作の形式を指定するのに使用
することができる。再開動作が活動していれば、図17に
Iと記した区画への処理径路 803が取られる。復元シス
テム状態動作が活動していれば、処理径路 802は、REST
ORE_SYSTEM_STATE_A処理論理が見出しを不揮発性大容量
記憶装置にあらかじめ格納してある保存システム状態イ
メージから読出す処理ブロック806に取られる(図15の
処理ブロック806)。大容量記憶装置の保存区域に保存
されている記憶区域の構成をコンピュータシステムに現
在存在している記憶区域の構成と比較する(判断ブロッ
ク 809)。保存イメージが現在のコンピュータシステム
の構成に適合しなければ、図14にKと記した区画への処
理径路 810が取られ、復元システムイメージなしの通常
ブートアップが行われる。保存イメージが現在のコンピ
ュータシステムの構成に適合すれば、処理ブロック 807
への処理径路811が取られ、システム管理保存イメージ
区域が大容量記憶装置167から取出され、RESTORE_SYSTE
M_MANAGEMENT_AREAと記したモジュールにアクセスし得
る主記憶装置160の区域(図示せず)に書込まれる(処
理ブロック807)。保存システム状態動作の説明で先に
述べたように、システム管理区域 172(隔離記憶装置)
は、RESTORE_SYSTEM_STATE_Aモジュールが割込み処理モ
ジュールではないので、直接RESTORE_SYSTEM_STATE_Aモ
ジュールにより復元されることはできない。この理由か
ら、システム管理割込み(SMI)を発生して制御をRE
STORE_SYSTEM_MANAGEMENT_AREAと名付けた割込みハンド
ラに移さなければならない(処理ブロック808)。処理
ブロック808でシステム管理割込み(SMI)が発生す
ると、処理制御は処理径路 815を経由して図5〜図8に
図示してある上に説明した一般割込みハンドラに移る。
その後、制御は図8に示す判断ブロック 213に移る。処
理ブロック808で発生したシステム管理割込みに応答し
て、制御は処理径路815および処理径路214を経由して図
16にRESTORE_SYSTEM_MANAGEMENT_AREA と記した割込み
ハンドラに移る。
【0060】今度は図16を参照すると、RESTORE_SYSTEM
_MANAGEMENT_AREAと名付けられた割込みハンドラが区画
900から始まって示してある。作動すると、処理ブロッ
ク901で、主記憶装置 160のアクセス可能区域にあらか
じめ書込まれているシステム管理保存区域のイメージが
取出され、システム管理区域172に書込まれる。RESTORE
_SYSTEM_STATE_MANAGEMENTO_AREA割込みハンドラに対す
る処理は区画 902で終了し、割込みから戻る。区画 902
で割込み指令からの戻りが実行されると、制御は図15に
示す処理径路816を経由して、処理ブロック808の直後の
場所に移り、そこで制御が図17にFと記した区画に移さ
れる。
【0061】次に図17を参照すると、判断ブロック1002
で始まるRESTORE_SYSTEM_STATE_Aと記した非割込み保護
モード処理ルーチンに対する処理の継続または再作動が
示されている。バッテリ後援ランダムアクセス記憶装置
115が有効でなければ(処理ブロック1004)、処理ブロ
ック1005でバッテリ後援ランダムアクセス記憶装置115
のイメージを大容量記憶装置167から読出し、バッテリ
後援ランダムアクセス記憶装置115に書込む。バッテリ
後援ランダムアクセス記憶装置115が有効であれば(処
理径路1003)、バッテリ後援記憶装置115の内容を大容
量記憶装置167から復元することなく処理ブロック1006
に伝える。次に、処理ブロック1006で、復元システム状
態動作に必要ないI/O装置およびシステム資源の装置
レジスタおよび状態パラメータを大容量記憶装置 167か
ら復元する。他のI/O装置およびシステム資源の状態
を復元したら、不揮発性大容量記憶装置 167に格納され
ている記憶ブロックのイメージの残りを取出し、コンピ
ュータシステム記憶装置のその対応する場所に書込む
(処理ブロック1000)。特に、主記憶装置 160、拡張記
憶装置159、拡大記憶装置158、およびビデオ記憶装置
(図示せず)を大容量記憶装置167にある保存イメージ
から復元する。最後に、不揮発性大容量記憶装置167の
保存区域の見出しにマークを付けて保存イメージが現在
有効であることを示す(処理ブロック1007)。
【0062】上述の記憶区域を復元し終ったら、不揮発
性大容量記憶装置 167の状態およびランダムアクセス記
憶装置の作業空間区域 152の内容を復元することが必要
になる。これら区域は割込み非保護モード処理モジュー
ルを使用し復元しなければならない。このようなモジュ
ールを作動させるためには、他のシステム管理割込み
(SMI)を使用して、制御をRESTORE_SYSTEM_STATE_B
と名付けた割込みハンドラ非保護モードモジュールに移
すことにより本発明の割込み論理を再作動させる(処理
ブロック1001)のに使用される。RESTORE_SYSTEM_STATE
_Bモジュールは隔離記憶装置の中にある。処理ブロック
1001でシステム管理割込みが作動すると、処理制御は処
理径路1010を経由して図5〜図8に示す一般割込みハン
ドらに再び移り、その後図8に示す判断ブロック 217に
移る。処理ブロック1001で発生したシステム管理割込み
に応答して、図18に示すように処理径路1010および処理
径路218はRESTORE_SYSTEM_STATE_Bと名付けられた割込
みハンドラモジュールに取られる。処理ブロック1001で
発生したシステム管理割込みおよび続く制御の一般割込
みハンドラへの移行を図4に線 169で描いてある。一般
割込みサービスハンドラからRESTORE_SYSTEM_STATE_B処
理モジュールへの制御の移行を図4に線 171で描いてあ
る。
【0063】次に図18を参照すると、RESTORE_SYSTEM_S
TATE_B処理モジュールに対する処理論理が示されてい
る。RESTORE_SYSTEM_STATE_Bモジュールはシステム管理
区域172(隔離記憶装置)172の内部で非保護モードで動
作する割込みハンドラである。RESTORE_SYSTEM_STATE_B
モジュールが行う第1の任務は保存ランダムアクセス記
憶装置(RAM)の区域作業空間 152を図4に示すよう
にシステム管理保存RAM区域155から復元することで
ある。RAM区域作業空間152を図18に示す処理ブロッ
ク1101および1103で復元する。同様に、不揮発性大容量
記憶装置 167の装置レジスタおよび状態パラメータ168
を図4に示すようにシステム管理区域172にある保存大
容量記憶装置状態 156から復元する。大容量記憶装置状
態を図18の処理ブロック1104および1105で復元する。最
後に、システム管理区域 172のプロセッサ状態153を図
4に示すようにやはりシステム管理区域172にある保存
プロセッサ状態154から復元する。保存プロセッサ状態1
54は、保存システム状態トリガ事象が発生し、これによ
りコンピュータシステム状態を不揮発性大容量記憶装置
167に保存させるとき実行するアプリケーションプログ
ラムまたは他のプログラムの処理状態を表している。図
18の処理ブロック1106および1107でプロセッサ状態153
を復元する。
【0064】コンピュータシステム状態全体の復元を完
了したら、今度は図18に示す処理ブロック1108でRETUN_
FROM_INTERRUPTを実行する。このRETUN_FROM_INTERRUPT
の動作は線 170により図4にも示してある。処理ブロッ
ク1108で割込み指令からの戻りを実行すると、プロセッ
サ状態 153がアクセスされて制御を、保存システム状態
トリガ事象が発生すると動作するアプリケーションまた
は他のプログラムに戻し、復元システム状態動作を完了
する。
【0065】次に図19を参照すると、再開動作に関連す
る処理論理が示されている。再開動作は、再開ボタンの
作動(すなわち、ラップトップコンピュータの蓋の開
放)、コンピュータシステムに取付けられているキーボ
ード上のキーの作動、またはコンピュータシステムに結
合されている他の入力装置の作動のような再開事象が発
生すると行われる。再開動作は先に停止されているかま
たは低パワーモードになっているコンピュータシステム
を再作動するように行われる。再開事象が作動すると、
割込みが生じ、処理制御は図5〜図8に示す一般割込み
サービスハンドラに移され、その後、図7に示す判断ブ
ロック 253に移される。再開ボタン事象またはキーボー
ド事象(または他の入力装置事象または再開事象)が発
生すれば、(再開ボタン事象に対する)処理径路 254ま
たは(キーボードまたはマウス事象に対する)処理径路
258は、処理径路をRESUME_HANDLERと名付けられている
再開ハンドラ割込みモジュールに移す処理ブロック 259
へ取られる。RESUME_HANDLERモジュールを図19に示す。
【0066】図19を再び参照すると、RESUME_HANDLERモ
ジュールが区画1701で始まるよう示されている。コンピ
ュータシステムの動作は低パワーモードまたは先に停止
された状態から再開されるから、記憶装置の内容および
I/O装置およびシステム資源の状態のほとんどはなお
も有効である。停止状態または低パワーモードはシステ
ム記憶装置およびレジスタを破壊から保護する。したが
って、この場合には、記憶装置またはレジスタの完全な
内容を不揮発性大容量記憶装置 167に先に保存したシス
テム状態イメージから復元する必要はない。この理由
で、大容量記憶装置 167に保存してあるシステム状態イ
メージはもはや必要ない。この場合、処理ブロック1702
でランダムアクセス記憶装置内のデータ項目を再開モー
ドの作動を示すように設定する。このデータ項目はラン
ダムアクセス記憶装置の作業空間区域152に格納するこ
とができる。RAMの作業空間区域152に再開動作のマ
ークが付けられると、処理制御は図14にJと記した区域
に移る。
【0067】図14にJと記した区画(処理ブロック141
6)で、記憶区域 164に格納されている保護モードプロ
セッサ状態イメージがプロセッサ状態区域 103に移さ
れ、割込み指令からの戻りが実行される(処理ブロック
1416)。保護モードプロセッサ状態イメージ 164を予備
発生し、記憶装置構成時間中に、保存システム状態動作
および復元システム状態動作について上に述べた保護モ
ードプロセッサ状態イメージ114と同様の仕方でバッテ
リ後援ランダムアクセス記憶装置115に格納する。処理
ブロック1416で行われる動作により処理制御は図15に示
すRESTORE_SYSTEM_STATE_Aと記したモジュールに移され
る。この制御の移行を図4に線 151で示してある。今度
は図15を参照すると、RESTORE_SYSTEM_STATE_Aモジュー
ルが区画 800で始まるように示されている。RESTORE_SY
STEM_STATE_Aモジュールは非割込み保護モード処理モジ
ュールである。RESTORE_SYSTEM_STATE_Aモジュールは図
4にも記憶ブロック 182の内部に存在するように示して
ある。RESTORE_SYSTEM_STATE_Aモジュールの作動を矢印
151で示してある。作動すると、RESTORE_SYSTEM_STATE_
Aモジュールは現在の動作が保存システム状態であるか
再開動作であるか判定する(処理ブロック 801)。この
場合には、RAM作業空間区域 152にあるデータ項目が
再開動作を示すようあらかじめ設定されているので、活
動している。したがって、処理径路は図17にIと記した
区画へ取られる。
【0068】図17にIと記した区画を参照すると、不揮
発性記憶装置 167の保存区域の見出しに保存イメージが
現在無効であることを示すマークが付けられている(処
理ブロック1007)。これは古いシステム状態の復元を阻
止するよう行われる。再開動作を完成させるために今度
は、不揮発性記憶装置 167の状態およびランダムアクセ
ス記憶装置作業空間区域 152の内容を復元する必要があ
る。これらの区域は割込み非保護モード処理モジュール
を使用して復元しなければならない。このようなモジュ
ールを作動させるためには、他のシステム管理割込み
(SMI)を使用し、制御をRESTORE_SYSTEM_STATE_Bと
名付けられている割込みハンドラ非保護モードモジュー
ルに移すことにより本発明の割込み論理を作動させる
(処理ブロック1001)。処理ブロック1001でシステム管
理割込みが作動すると、処理制御は処理径路1010を経由
して図5〜図8に示す一般割込みハンドラに再び移り、
その後図8に示す判断ブロック 217に移る。処理ブロッ
ク1001で発生されたシステム管理割込みに応答して、処
理径路1010および処理径路218は、図18に示すRESTORE_S
YSTEM_STATE_B と名付けられた割込みハンドラモジュー
ルへ取られる。処理ブロック1001で発生されたシステム
管理割込みおよび続く一般割込みハンドラへの制御の移
行を図4に線169で描いている。一般割込みサービスハ
ンドラからRESTORE_SYSTEM_STATE_B処理モジュールへの
制御の移行は図4に線171で示してある。
【0069】次に図18を参照すると、RESTORE_SYSTEM_S
TATE_Bに対する処理論理が再開動作に使用するため再び
示されている。RESTORE_SYSTEM_STATE_Bモジュールはシ
ステム管理区域172の内部で非保護モードで動作する割
込みハンドラである。RESTORE_SYSTEM_STATE_B モジュ
ールが行う第1の任務は保存ランダムアクセス記憶装置
(RAM)区域作業空間152を図4に示すシステム管理
保存RAM区域155から復元することである。RAM区
域作業空間 152を図18に示す処理ブロック1101および11
03で復元する。同様に、不揮発性大容量記憶装置 167の
装置レジスタおよび状態パラメータを図4に示すシステ
ム管理区域172の保存大容量記憶装置状態156から復元す
る。大容量記憶装置を図18の処理ブロック1104および11
05で復元する。最後に、システム管理区域172のプロセ
ッサ状態153を図4に示すシステム管理区域172の内部に
ある保存プロセッサ状態154から復元する。保存プロセ
ッサ状態154は、保存システム状態トリガ事象が生じ、
これによりコンピュータシステム状態を不揮発性大容量
記憶装置 167に保存させるとき実行するアプリケーショ
ンまたは他のプログラムのプロセッサ状態を示す。プロ
セッサ状態は図18の処理ブロック1106および1107で復元
される。
【0070】コンピュータシステム状態全体の復元を完
了して、今度は図18に示す処理ブロック1108で割込み指
令からの戻りを実行する。この割込み指定からの戻りの
動作は図4に線 170によっても示してある。処理ブロッ
ク1180で割込み指令からの戻りを実行すると、プロセッ
サ状態 153にアクセスして、保存システム状態トリガ事
象が発生すると動作するアプリケーションまたは他のプ
ログラムに制御を移して再開システム状態動作を完了す
る。以上ように、システムの処理状態を、トリガ事象が
発生すると大容量記憶装置に保存し、復元することがで
きるコンピュータシステムについて説明した。本発明に
ついてここに特定の実施例を参照して説明してきたが、
当業者はこれに多数の修正および変更を容易に施すこと
ができる。したがって、このような変更および修正はす
べて特許請求の範囲に規定する本発明の意図する範囲内
に含める。
【図面の簡単な説明】
【図1】本発明のコンピュータシステムの典型的な構成
の図である。
【図2】保存システム状態動作中に本発明により操作さ
れる記憶区域およびシステム資源を示す。
【図3】保存システム状態動作中に本発明により操作さ
れる記憶区域およびシステム資源を示す。
【図4】復元システム状態動作中に本発明により操作さ
れる記憶区域およびシステム資源を示す。
【図5】本発明の処理論理を図解する流れ図である。
【図6】本発明の処理論理を図解する流れ図である。
【図7】本発明の処理論理を図解する流れ図である。
【図8】本発明の処理論理を図解する流れ図である。
【図9】本発明の処理論理を図解する流れ図である。
【図10】本発明の処理論理を図解する流れ図である。
【図11】本発明の処理論理を図解する流れ図である。
【図12】本発明の処理論理を図解する流れ図である。
【図13】本発明の処理論理を図解する流れ図である。
【図14】本発明の処理論理を図解する流れ図である。
【図15】本発明の処理論理を図解する流れ図である。
【図16】本発明の処理論理を図解する流れ図である。
【図17】本発明の処理論理を図解する流れ図である。
【図18】本発明の処理論理を図解する流れ図である。
【図19】本発明の処理論理を図解する流れ図である。
【図20】本発明の処理論理を図解する流れ図である。
【符号の説明】
10 母線 11 プロセッサ 13 拡大記憶装置 14 不揮発性読出専用記憶装置(ブ−トROM)
要素 16 不揮発性大容量記憶装置

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ、記憶装置、および不揮発性
    大容量記憶装置を備え、前記記憶装置は隔離記憶装置と
    非隔離記憶装置とに分割されているコンピュータシステ
    ムの処理状態を保存する方法において、 トリガ事象が発生すると前記プロセッサの実行を中断す
    る過程と、 前記隔離記憶装置および前記非隔離記憶装置へアクセス
    して、前記隔離記憶装置からの情報を前記非隔離記憶装
    置に書込む第1の保存システム状態モジュールを作動さ
    せる過程と、 前記記憶装置の前記非隔離部分へアクセスして、前記非
    隔離記憶装置からの情報を前記不揮発性大容量記憶装置
    の所定の場所に書込む第2の保存システム状態モジュー
    ルを作動させる過程とを備えていることを特徴とするコ
    ンピュータシステムの処理状態を保存する方法。
  2. 【請求項2】 プロセッサ、記憶装置、および不揮発性
    大容量記憶装置を備え、前記記憶装置は隔離記憶装置と
    非隔離記憶装置とに分割されているコンピュータシステ
    ムの処理状態を復元する方法において、 前記プロセッサをリセットする過程と、 前記隔離記憶装置および前記非隔離記憶装置へのアクセ
    スして、前記非隔離記憶装置からの情報を前記隔離記憶
    装置に書込む第1の復元システム状態モジュールを作動
    させる過程と、 記憶装置の前記非隔離部分へのアクセスして、前記不揮
    発性大容量記憶装置の所定の場所からの情報を前記非隔
    離記憶装置に書込む第2の復元システム状態モジュール
    を作動させる過程とを備えていることを特徴とするコン
    ピュータシステムの処理状態を復元する方法。
  3. 【請求項3】 プロセッサ、隔離記憶装置と非隔離記憶
    装置とに分割されている記憶装置、不揮発性大容量記憶
    装置およびコンピュータシステムの処理状態を保存する
    手段を備えているコンピュータシステムにおいて、 トリガ事象が発生すると前記プロセッサの実行を中断す
    る手段と、 前記隔離記憶装置および前記非隔離記憶装置へアクセス
    して、前記隔離記憶装置からの情報を前記非隔離記憶装
    置に書込む手段を有する第1の保存システム状態モジュ
    ールを作動させる手段と、 前記記憶装置の前記非隔離部分へアクセスして、前記非
    隔離記憶装置からの情報を前記不揮発性大容量記憶装置
    の所定の場所に書込む手段を有する第2の保存システム
    状態モジュールを作動させる手段とを備えていることを
    特徴とするコンピュータシステム。
  4. 【請求項4】 プロセッサ、隔離記憶装置と非隔離記憶
    装置とに分割されている記憶装置、不揮発性大容量記憶
    装置およびコンピュータシステムの処理状態を復元する
    手段を備えているコンピュータシステムにおいて、 前記プロセッサをリセットする手段と、 前記隔離記憶装置および前記非隔離記憶装置へのアクセ
    スして、前記非隔離記憶装置からの情報を前記隔離記憶
    装置に書込む手段を有する第1の復元システム状態モジ
    ュールを作動させる手段と、 記憶装置の前記非隔離部分へのアクセスして、前記不揮
    発性大容量記憶装置の所定の場所からの情報を前記非隔
    離記憶装置に書込む手段を有する第2の復元システム状
    態モジュールを作動させる手段とを備えていることを特
    徴とするコンピュータシステム。
JP4305865A 1991-10-21 1992-10-21 コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム Pending JPH06236284A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US77964291A 1991-10-21 1991-10-21
US779642 1991-10-21

Publications (1)

Publication Number Publication Date
JPH06236284A true JPH06236284A (ja) 1994-08-23

Family

ID=25117050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4305865A Pending JPH06236284A (ja) 1991-10-21 1992-10-21 コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム

Country Status (2)

Country Link
US (1) US5386552A (ja)
JP (1) JPH06236284A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0709763A3 (en) * 1994-10-25 2000-09-20 Samsung Electronics Co., Ltd. Network hibernation system

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2779813B2 (ja) * 1988-09-06 1998-07-23 セイコーエプソン株式会社 コンピューター
JP3305737B2 (ja) * 1991-11-27 2002-07-24 富士通株式会社 情報処理装置の機密情報管理方式
US5592675A (en) * 1992-01-08 1997-01-07 Hitachi, Ltd. Computer controlled method and system capable of preserving information representing plural work states and recovering the work states
JP3106401B2 (ja) * 1993-07-26 2000-11-06 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報処理システム
US5530891A (en) * 1994-05-31 1996-06-25 Advanced Micro Devices System management interrupt mechanism within a symmetrical multiprocessing system
DE4429969A1 (de) * 1994-08-24 1996-02-29 Sel Alcatel Ag Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
US5560023A (en) * 1994-09-07 1996-09-24 International Business Machines Corporation Automatic backup system for advanced power management
US5603038A (en) * 1994-09-07 1997-02-11 International Business Machines Corporation Automatic restoration of user options after power loss
US5551043A (en) * 1994-09-07 1996-08-27 International Business Machines Corporation Standby checkpoint to prevent data loss
AU3313795A (en) * 1994-10-14 1996-04-26 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles
US5551044A (en) * 1994-12-01 1996-08-27 Intel Corporation Method and apparatus for interrupt/SMI# ordering
US5638532A (en) * 1994-12-06 1997-06-10 Digital Equipment Corporation Apparatus and method for accessing SMRAM in a computer based upon a processor employing system management mode
US5778443A (en) * 1994-12-14 1998-07-07 International Business Machines Corp. Method and apparatus for conserving power and system resources in a computer system employing a virtual memory
US5600840A (en) * 1995-01-10 1997-02-04 Dell Usa, L.P. Automatic adjustment of disk space required for suspend-to-disk operation
JPH08314794A (ja) * 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
US6393584B1 (en) 1995-04-26 2002-05-21 International Business Machines Corporation Method and system for efficiently saving the operating state of a data processing system
US5758174A (en) * 1995-06-07 1998-05-26 International Business Machines Corporation Computer system having a plurality of stored system capability states from which to resume
US5682550A (en) * 1995-06-07 1997-10-28 International Business Machines Corporation System for restricting user access to default work area settings upon restoration from nonvolatile memory where the settings are independent of the restored state information
US5710930A (en) * 1995-08-04 1998-01-20 Intel Corporation Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle
US5745391A (en) * 1995-09-13 1998-04-28 Topor; Yakov Apparatus for and method of turning on and shutting off a computing device
US6347335B1 (en) * 1995-09-22 2002-02-12 Emc Corporation System using a common and local event logs for logging event information generated by plurality of devices for determining problem in storage access operations
US5708819A (en) * 1995-10-10 1998-01-13 Standard Microsystems Corporation Process and apparatus for generating power management events in a computer system
US6327653B1 (en) 1995-11-07 2001-12-04 Samsung Electronics Co., Ltd. Technique for easily changing operating systems of a digital computer system using at least two pushbuttons
KR0156802B1 (ko) * 1995-11-07 1998-11-16 김광호 네트워크 하이버네이션 시스템 및 그 제어 방법
US5754853A (en) * 1995-12-15 1998-05-19 Dell Usa, Lp System for executing utility programs while preserving the state of a native operating system
US5974552A (en) * 1995-12-29 1999-10-26 Samsung Electronics Co., Ltd. Method and apparatus for executing a scheduled operation after wake up from power off state
US5751950A (en) * 1996-04-16 1998-05-12 Compaq Computer Corporation Secure power supply for protecting the shutdown of a computer system
US5748972A (en) * 1996-04-29 1998-05-05 International Business Machines Corporation Computer system which is operative to change from a normal operating state to a suspend state when a power supply thereof detects that an external source is no longer providing power to said power supply at a predetermined level
US5765001A (en) * 1996-04-29 1998-06-09 International Business Machines Corporation Computer system which is operative to change from a normal operating state to a suspend state when a power supply thereof detects that an external source is no longer providing power to said power supply at a predetermined level
US5983355A (en) * 1996-05-20 1999-11-09 National Semiconductor Corporation Power conservation method and apparatus activated by detecting specific fixed interrupt signals indicative of system inactivity and excluding prefetched signals
US5983356A (en) * 1996-06-18 1999-11-09 National Semiconductor Corporation Power conservation method and apparatus activated by detecting shadowed interrupt signals indicative of system inactivity and excluding prefetched signals
US5822600A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Dynamic hibernation time in a computer system
US5848281A (en) * 1996-07-23 1998-12-08 Smalley; Kenneth George Method and apparatus for powder management in a multifunction controller with an embedded microprocessor
US6173376B1 (en) 1996-10-03 2001-01-09 International Business Machines Corp. Data backup and restore method and system in a multisystem environment
US6134616A (en) * 1996-10-28 2000-10-17 International Business Machines Corporation Method and apparatus for dynamic re-enumeration and reconfiguration of computer devices after system hibernation
US5897658A (en) * 1996-11-26 1999-04-27 International Business Machines Corporation Method and apparatus for protecting portions of memory by providing access requests to a communications area for processing by a hidden server
US6125383A (en) * 1997-06-11 2000-09-26 Netgenics Corp. Research system using multi-platform object oriented program language for providing objects at runtime for creating and manipulating biological or chemical data
US5920726A (en) * 1997-06-12 1999-07-06 Apple Computer, Inc. System and method for managing power conditions within a digital camera device
US6212609B1 (en) * 1997-06-30 2001-04-03 Intel Corporation Alternate access mechanism for saving and restoring state of read-only register
JP3593241B2 (ja) 1997-07-02 2004-11-24 株式会社日立製作所 計算機の再起動方法
US5973734A (en) 1997-07-09 1999-10-26 Flashpoint Technology, Inc. Method and apparatus for correcting aspect ratio in a camera graphical user interface
US5983292A (en) * 1997-10-15 1999-11-09 International Business Machines Corporation Message transport mechanisms and methods
US6108707A (en) * 1998-05-08 2000-08-22 Apple Computer, Inc. Enhanced file transfer operations in a computer system
US6795966B1 (en) 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6256714B1 (en) 1998-09-02 2001-07-03 Sharp Laboratories Of America, Inc. Computer system with efficient memory usage for managing multiple application programs
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US7516453B1 (en) * 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US6317141B1 (en) 1998-12-31 2001-11-13 Flashpoint Technology, Inc. Method and apparatus for editing heterogeneous media objects in a digital imaging device
US7194634B2 (en) 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6934817B2 (en) 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US6795905B1 (en) * 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6678825B1 (en) 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
JP2001331351A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム、及びその障害回復方法並びにダンプ取得方法
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7522965B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7522966B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7890741B2 (en) * 2000-12-01 2011-02-15 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7818443B2 (en) * 2000-12-01 2010-10-19 O2Micro International Ltd. Low power digital audio decoding/playing system for computing devices
US7522964B2 (en) * 2000-12-01 2009-04-21 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7526349B2 (en) * 2000-12-01 2009-04-28 O2Micro International Limited Low power digital audio decoding/playing system for computing devices
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US6907600B2 (en) * 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7225441B2 (en) 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7818808B1 (en) * 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US7350156B2 (en) * 2001-09-21 2008-03-25 Yamaha Corporation Audio signal editing apparatus and control method therefor
US20030061436A1 (en) * 2001-09-25 2003-03-27 Intel Corporation Transportation of main memory and intermediate memory contents
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7080250B2 (en) * 2002-03-29 2006-07-18 International Business Machines Corporation System, method and program product for automatically collecting state information for computer system intrusion analysis
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US7124327B2 (en) 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6996748B2 (en) 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
WO2004046916A2 (en) * 2002-11-18 2004-06-03 Arm Limited Exception types within a secure processing system
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
JP4347582B2 (ja) * 2003-02-04 2009-10-21 パナソニック株式会社 情報処理装置
TW591372B (en) * 2003-05-15 2004-06-11 High Tech Comp Corp Power control method of portable electronic device, portable electronic device and electronic system
US20040250147A1 (en) * 2003-06-03 2004-12-09 Christopher Chang Uninterrupted system operation
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
CN1327344C (zh) * 2003-08-19 2007-07-18 英特尔公司 无交流电源时保存和恢复工作状态的基本输入/输出系统
US8250406B2 (en) * 2003-08-19 2012-08-21 Intel Corporation Operational state preservation in the absence of AC power
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7254744B2 (en) * 2003-08-19 2007-08-07 Intel Corporation BIOS for saving and restoring operational state in the absence of AC power
US20050144528A1 (en) * 2003-08-29 2005-06-30 Tim Bucher Computing device configuration manager
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7386607B2 (en) * 2003-12-31 2008-06-10 Intel Corporation System using state change requests received over a network to change current state of a network device to a desired state at a particular time
US7529897B1 (en) 2003-12-31 2009-05-05 Vmware, Inc. Generating and using checkpoints in a virtual computer system
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7484220B2 (en) * 2004-05-26 2009-01-27 Qualcomm Incorporated Method, software and apparatus for using application state history information when re-launching applications
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US20060143485A1 (en) * 2004-12-28 2006-06-29 Alon Naveh Techniques to manage power for a mobile device
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7987158B2 (en) * 2005-02-09 2011-07-26 International Business Machines Corporation Method, system and article of manufacture for metadata replication and restoration
CA2504070C (en) * 2005-04-14 2006-11-14 Computer Training Canada Ltd. Method for preserving access to deleted and overwritten documents
US8812781B2 (en) * 2005-04-19 2014-08-19 Hewlett-Packard Development Company, L.P. External state cache for computer processor
DE602005015689D1 (de) * 2005-06-10 2009-09-10 Sony Ericsson Mobile Comm Ab Prozessorgesteuertes Gerät mit verschiedenen Betriebsarten
US7647474B2 (en) * 2005-09-27 2010-01-12 Intel Corporation Saving system context in the event of power loss
TWI279726B (en) * 2005-09-28 2007-04-21 Lite On Technology Corp Method and computer system for securing backup data from damage by virus and hacker program
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US20070076478A1 (en) * 2005-09-30 2007-04-05 Sigmatel, Inc. System and method of memory block management
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US7725750B2 (en) * 2006-05-01 2010-05-25 Freescale Semiconductor, Inc. Method of transitioning between active mode and power-down mode in processor based system
US20080052026A1 (en) * 2006-08-23 2008-02-28 Qurio Holdings, Inc. Configuring a content capture device for one or more service providers
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability
US8381209B2 (en) 2007-01-03 2013-02-19 International Business Machines Corporation Moveable access control list (ACL) mechanisms for hypervisors and virtual machines and virtual port firewalls
TW200837548A (en) * 2007-03-09 2008-09-16 Acer Inc Method for reducing NB battery change operation time and the battery detector thereof
CN101796468B (zh) * 2007-10-09 2012-11-07 三菱电机株式会社 微机控制装置
US8327173B2 (en) * 2007-12-17 2012-12-04 Nvidia Corporation Integrated circuit device core power down independent of peripheral device operation
US9088176B2 (en) * 2007-12-17 2015-07-21 Nvidia Corporation Power management efficiency using DC-DC and linear regulators in conjunction
US20090204837A1 (en) * 2008-02-11 2009-08-13 Udaykumar Raval Power control system and method
US8762759B2 (en) * 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
US9423846B2 (en) 2008-04-10 2016-08-23 Nvidia Corporation Powered ring to maintain IO state independent of the core of an integrated circuit device
US7958398B2 (en) * 2008-07-16 2011-06-07 International Business Machines Corporation Reference state information generation
US8713241B2 (en) * 2008-08-27 2014-04-29 Wireless Silicon Group, Llc Method and apparatus for an active low power mode of a portable computing device
US11182175B2 (en) * 2008-09-18 2021-11-23 International Business Machines Corporation Apparatus and methods for workflow capture and display
US7907003B2 (en) * 2009-01-14 2011-03-15 Standard Microsystems Corporation Method for improving power-supply rejection
US20100250830A1 (en) * 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8090905B2 (en) * 2009-03-27 2012-01-03 Sandforce, Inc. System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US9792074B2 (en) * 2009-07-06 2017-10-17 Seagate Technology Llc System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips
US8769338B1 (en) * 2010-03-24 2014-07-01 Qualcomm Incorporated Saving and restoring states through low power mode
JP5833347B2 (ja) * 2011-06-08 2015-12-16 ローム株式会社 データ処理装置
US8850557B2 (en) 2012-02-29 2014-09-30 International Business Machines Corporation Processor and data processing method with non-hierarchical computer security enhancements for context states
US9773344B2 (en) 2012-01-11 2017-09-26 Nvidia Corporation Graphics processor clock scaling based on idle time
US9009457B2 (en) 2012-07-27 2015-04-14 Advanced Micro Devices, Inc. Integrated circuit boot code and fuse storage implemented on interposer-mounted non-volatile memory
US9811874B2 (en) 2012-12-31 2017-11-07 Nvidia Corporation Frame times by dynamically adjusting frame buffer resolution
WO2016105345A1 (en) * 2014-12-22 2016-06-30 Hewlett Packard Enterprise Development Lp Status for generated data image

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
US4763333A (en) * 1986-08-08 1988-08-09 Universal Vectors Corporation Work-saving system for preventing loss in a computer due to power interruption
US5123098A (en) * 1989-02-28 1992-06-16 Hewlett-Packard Company Method for executing programs within expanded memory of a computer system using MS or PC DOS
US5204840A (en) * 1989-08-08 1993-04-20 Mazur Jeffrey G Means and methods for preserving microprocessor memory
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5303378A (en) * 1991-05-21 1994-04-12 Compaq Computer Corporation Reentrant protected mode kernel using virtual 8086 mode interrupt service routines
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5291604A (en) * 1991-08-30 1994-03-01 Intel Corporation Transparent system interrupts with automated halt state restart

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0709763A3 (en) * 1994-10-25 2000-09-20 Samsung Electronics Co., Ltd. Network hibernation system
EP1280044A3 (en) * 1994-10-25 2006-02-01 Samsung Electronics Co., Ltd. Network hibernation system

Also Published As

Publication number Publication date
US5386552A (en) 1995-01-31

Similar Documents

Publication Publication Date Title
JPH06236284A (ja) コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
JP3442100B2 (ja) コンピュータシステムのシステムイメージをセーブする方法及びこの方法を実施するコンピュータシステム
US6243831B1 (en) Computer system with power loss protection mechanism
US6336161B1 (en) Computer configuration system and method with state and restoration from non-volatile semiconductor memory
EP1828901B1 (en) Prevention of data loss due to power failure
US5175853A (en) Transparent system interrupt
US7373537B2 (en) Response to wake event while a system is in reduced power consumption state
JP3845639B2 (ja) マルチスレッド・プロセッサを単一スレッド・モード及び同時マルチスレッド・モードの間で動的に切り替える装置及び方法
US6393560B1 (en) Initializing and restarting operating systems
US5931951A (en) Computer system for preventing cache malfunction by invalidating the cache during a period of switching to normal operation mode from power saving mode
US5867703A (en) Common reset ROM
EP0662652B1 (en) Method and apparatus for reducing power consumption in a computer system
US6732280B1 (en) Computer system performing machine specific tasks before going to a low power state
US6158000A (en) Shared memory initialization method for system having multiple processor capability
US6438708B1 (en) Information processing apparatus that can hold internal information
US6405320B1 (en) Computer system performing machine specific tasks before going to a low power state
KR20070108060A (ko) 빠른 부팅 웨이크-업을 실행하는 시스템
EP0658843A1 (en) Method for hibernation file creation
CN104850435A (zh) 电源管理控制器与方法
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
US5671422A (en) Method and apparatus for switching between the modes of a processor
US6154846A (en) System for controlling a power saving mode in a computer system
US20060136756A1 (en) Low power firmware
JP3961669B2 (ja) コンピュータシステムおよびデータ転送制御方法
JPH11102238A (ja) コンピュータシステムおよびそのシステムにおけるサスペンド制御方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040323