JPH10333997A - Computer system and method for controlling data saving in the system - Google Patents

Computer system and method for controlling data saving in the system

Info

Publication number
JPH10333997A
JPH10333997A JP9142554A JP14255497A JPH10333997A JP H10333997 A JPH10333997 A JP H10333997A JP 9142554 A JP9142554 A JP 9142554A JP 14255497 A JP14255497 A JP 14255497A JP H10333997 A JPH10333997 A JP H10333997A
Authority
JP
Japan
Prior art keywords
area
memory
computer system
hibernation
main memory
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
JP9142554A
Other languages
Japanese (ja)
Other versions
JP3238097B2 (en
Inventor
Shigeki Kizaki
茂樹 木崎
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 JP14255497A priority Critical patent/JP3238097B2/en
Publication of JPH10333997A publication Critical patent/JPH10333997A/en
Application granted granted Critical
Publication of JP3238097B2 publication Critical patent/JP3238097B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To make it possible to store only a necessary memory in a disk and to speed up hibernation processing. SOLUTION: When a suspending message is issued from an operating system 102, a high speed hibernation software driver 103 executes memory arrangement such as the movement of space areas and the disuse of disusable areas in a main memory to secure a collected space area and informs a basic input/output system(BIOS) hibernation routine 101 of the obtained space area. The routine 101 saves only an area other than the space area informed of from the driver 103 in a hibernation area of a hard disk drive(HDD). Since only the using area is saved in the HDD, data transfer volume can be reduced and the hibernation processing can be accelerated.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、電源オフ時にコ
ンピュータシステムの主メモリの内容をそのシステムの
2次記憶装置にセーブする機能を有するコンピュータシ
ステムおよびそのデータセーブ制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system having a function of saving the contents of a main memory of a computer system in a secondary storage device of the system when the power is turned off, and a data save control method thereof.

【0002】[0002]

【従来の技術】近年、携帯可能なノートブックタイプま
たはサブノートタイプのパーソナルコンピュータや、携
帯情報端末などのポケットコンピュータが種々開発され
ている。
2. Description of the Related Art In recent years, various types of portable notebook-type or sub-note-type personal computers and pocket computers such as portable information terminals have been developed.

【0003】この種のポータブルコンピュータは、バッ
テリ駆動可能な時間を延ばすために、コンピュータシス
テムの電力を節約するための種々のパワーセーブモード
が設けられている。サスペンドモードは、最も電力消費
の少ないパワーセーブモードの1つである。すなわち、
コンピュータシステムがサスペンドモードの時は、オペ
レーティングシステムやユーザプログラムなどの再スタ
ートに必要なシステムデータを記憶する主メモリを除
く、システム内の他のほとんどのデバイスはパワーダウ
ンされる。
Such a portable computer is provided with various power save modes for saving the power of the computer system in order to extend the time during which the battery can be driven. The suspend mode is one of the power save modes that consumes the least power. That is,
When the computer system is in suspend mode, most other devices in the system are powered down except for main memory, which stores system data needed for restart, such as the operating system and user programs.

【0004】主メモリにセーブされるシステムデータ
は、コンピュータシステムがサスペンドモードに設定さ
れる直前のCPUのステータスおよび各種周辺LSIの
ステータスである。また、この主メモリには、オペレー
ティングシステムおよびアプリケーションプログラムの
実行状態やそのアプリケーションプログラムによって作
成されたユーザデータも記憶されている。
The system data saved in the main memory is the status of the CPU and the status of various peripheral LSIs immediately before the computer system is set to the suspend mode. The main memory also stores the execution state of the operating system and application programs and user data created by the application programs.

【0005】システムデータのセーブは、システムBI
OS(基本入出力プログラム)に組み込まれたサスペン
ドルーチンによって実行される。システムBIOSはオ
ペレーティングシステムからの要求にしたがってシステ
ム内のハードウェアを制御するためのものであり、シス
テム内の各種ハードウェアデバイスを制御するデバイス
ドライバ群を含んでいる。システムBIOSのサスペン
ドルーチンは、システム電源オフ時に起動され、CPU
のレジスタおよび各種周辺LSIのステータスをメモリ
にセーブした後、システムをパワーオフする。
The saving of the system data is performed by the system BI
It is executed by a suspend routine incorporated in an OS (basic input / output program). The system BIOS is for controlling hardware in the system according to a request from the operating system, and includes a device driver group for controlling various hardware devices in the system. The suspend routine of the system BIOS is started when the system power is turned off, and is executed by the CPU.
After saving the registers and the status of various peripheral LSIs in the memory, the system is powered off.

【0006】主メモリへの電源供給は、システムがパワ
ーオフの期間中ずっとバッテリによって維持される。こ
のため、システムのステータスおよびユーザデータは消
失されることなく、サスペンド前の作業状態にシステム
を戻すことができる。
[0006] Power to the main memory is maintained by a battery throughout the period when the system is powered off. Therefore, the system can be returned to the work state before the suspension without losing the status and user data of the system.

【0007】ところが、もしシステムがサスペンドモー
ド状態の時にバッテリの容量が低下されると、主メモリ
内のデータは消失される。この場合、サスペンド前の状
態にシステムを戻すことができ無くなるばかりか、主メ
モリに展開されているユーザデータも消失されてしま
う。
However, if the capacity of the battery is reduced while the system is in the suspend mode, the data in the main memory is lost. In this case, not only cannot the system be returned to the state before the suspension, but also the user data developed in the main memory is lost.

【0008】そこで、最近では、サスペンドモードに代
わる新たなパワーセーブモードとして、ハイバネーショ
ンが使用され始めている。ハイバネーションは、システ
ム電源のオフ時に、主メモリとしてシステムに実装され
た全てのメモリをハードディスクにセーブした後にシス
テム内のすべてのデバイスをパワーダウンさせるモード
であり、サスペンドよりも、電力消費を低減できる。
Accordingly, hibernation has recently begun to be used as a new power save mode instead of the suspend mode. Hibernation is a mode in which, when the system power is turned off, all the memories mounted on the system as main memories are saved on a hard disk, and then all devices in the system are powered down, and the power consumption can be reduced more than in the suspend mode.

【0009】ところで、近年のオペレーティングシステ
ムおよびアプリケーションプログラムの機能向上に伴
い、コンピュータシステムに主メモリとして実装される
メモリ容量は増大する一途にある。従来では、実装メモ
リ全てをハードディスク装置に保存するという方式を採
用しているため、メモリ上には、通常、空き領域や破棄
してもよい領域があるにもかかわらずそれらを含めて全
て保存することが必要とされる。このため、主メモリの
記憶容量の増加に伴い、ハイバネーション処理に要する
時間、つまりユーザが電源スイッチをオフしてからシス
テムが実際にパワーオフされるまでの時間も増大されて
しまうことになる。
[0009] With the recent improvement in the functions of operating systems and application programs, the capacity of a memory implemented as a main memory in a computer system is ever increasing. Conventionally, a method is adopted in which all of the mounted memory is stored in the hard disk device. Therefore, although there is usually an empty area or an area that can be discarded on the memory, all of the memory including the area is saved. Is needed. Therefore, as the storage capacity of the main memory increases, the time required for the hibernation process, that is, the time from when the user turns off the power switch to when the system is actually powered off also increases.

【0010】[0010]

【発明が解決しようとする課題】上述したように、ハイ
バネーション機能を持つ従来のコンピュータシステムで
は、実装メモリ全てをハードディスク装置に保存すると
いう方式を採用しているため、メモリ上には通常、空き
領域や破棄してもよい領域があるにもかかわらずそれら
を含めて全て保存することが必要とされ、主メモリの記
憶容量の増加に伴い、ハイバネーション処理に要する時
間が増大されるという問題があった。
As described above, a conventional computer system having a hibernation function employs a system in which all the mounted memories are stored in a hard disk device. However, there is a problem that it is necessary to save all the data including the areas that may be discarded, and the time required for the hibernation process increases with an increase in the storage capacity of the main memory. .

【0011】この発明はこのような点に鑑みてなされた
ものであり、メモリの空き領域などの保存不要な領域に
ついてはハードディスクなどの2次記憶装置に転送しな
いようにし、データセーブ処理に要する時間を低減でき
るコンピュータシステムおよびそのシステムにおけるデ
ータセーブ制御方法を提供することを目的とする。
The present invention has been made in view of such a point, and an area which does not need to be stored, such as an empty area of a memory, is not transferred to a secondary storage device such as a hard disk, and a time required for a data saving process. It is an object of the present invention to provide a computer system and a data save control method in the computer system which can reduce the load.

【0012】[0012]

【課題を解決するための手段】この発明は、電源オフ時
にコンピュータシステムの主メモリの内容をそのシステ
ムの2次記憶装置にセーブする機能を有するコンピュー
タシステムにおいて、前記主メモリ上における空き領域
を検出する検出手段と、この検出手段によって検出され
た空き領域以外の他の使用中領域のみを、前記2次記憶
装置にセーブするセーブ手段とを具備することを特徴と
する。
SUMMARY OF THE INVENTION The present invention relates to a computer system having a function of saving the contents of a main memory of a computer system to a secondary storage device of the system when the power is turned off, and detects an empty area on the main memory. And a saving means for saving only the used area other than the free area detected by the detecting means in the secondary storage device.

【0013】このコンピュータシステムにおいては、主
メモリとして実装されたメモリ全てがセーブされるので
はなく、空き領域以外の他の使用中領域のみが2次記憶
装置にセーブされる。したがって、2次記憶装置に対す
るデータ転送量を低減できるようになり、電源オフ時の
データセーブ処理の高速化を図ることが可能となる。
In this computer system, not all the memory mounted as the main memory is saved, but only the in-use area other than the free area is saved in the secondary storage device. Therefore, the amount of data transferred to the secondary storage device can be reduced, and the speed of the data save process when the power is turned off can be increased.

【0014】また、通常、主メモリには空き領域のみな
らず、終了されたプログラムのコードが格納されている
廃棄可能領域なども存在するので、まず、主メモリ上で
空き領域の移動および廃棄可能領域の廃棄を行うことに
より、まとまった空き領域を確保するためのメモリ整理
を実行し、これによって確保された空き領域以外の他の
領域を前記使用中領域として2次記憶装置にセーブする
ことが好ましい。これにより、2次記憶装置に対するデ
ータ転送量をさらに低減することができる。
Since the main memory usually has not only a free area but also a discardable area in which the code of the terminated program is stored, first, the free area can be moved and discarded on the main memory. By discarding the area, it is possible to execute memory rearrangement for securing a large free area, and save another area other than the secured free area in the secondary storage device as the used area. preferable. Thus, the amount of data transferred to the secondary storage device can be further reduced.

【0015】メモリ整理は、オペレーティングシステム
に対して所定サイズのメモリ領域を要求することによっ
て容易に実現できる。すなわち、オペレーティングシス
テムはメモリ領域が新たに要求されると、要求されたサ
イズのメモリ領域を主記憶上に確保するために、主メモ
リ上の空き領域の移動、廃棄可能データの廃棄、スワッ
プ可能データのスワップといった処理を行うので、所定
サイズのメモリ領域を要求することによって、結果的に
オペレーティングシステムにメモリ整理を実行させるこ
とができる。この場合、要求したメモリ領域は実際には
使用されない領域であるので、この領域以外の領域を使
用領域として認識し、それを2次記憶装置にセーブすれ
ばよい。
Memory organization can be easily realized by requesting a memory area of a predetermined size from the operating system. That is, when a new memory area is requested, the operating system moves an empty area on the main memory, discards discardable data, and discards swappable data in order to secure a memory area of the requested size on the main memory. Therefore, by requesting a memory area of a predetermined size, it is possible to cause the operating system to execute memory consolidation. In this case, since the requested memory area is an area that is not actually used, an area other than this area may be recognized as a used area and saved in the secondary storage device.

【0016】オペレーティングシステムによるメモリ整
理処理を効率よく行うために、オペレーティングシステ
ムに対しては、現在の空き領域よりも大きいサイズを要
求することが好ましい。これにより、空き領域の移動、
廃棄可能データの廃棄、スワップ可能データのスワップ
といった処理をオペレーティングシステムに実行させる
ことができる。
In order to efficiently perform the memory organizing process by the operating system, it is preferable to request the operating system to have a size larger than the current free area. This allows you to move free space,
It is possible to cause the operating system to execute processing such as discarding discardable data and swapping swappable data.

【0017】また、通常、アプリケーションプログラム
には2GB乃至4GBの仮想記憶空間が割り当てられて
おり、その内の一部のプロセスが実メモリ上に存在さ
れ、それ以外の大半の部分は2次記憶装置にスワップさ
れている。したがって、主メモリ上に実在される全ての
プロセスのコードおよびデータの全体サイズは、実装メ
モリサイズが大きいほど大きくなるのが普通である。こ
のように、コードおよびデータによって常時占有される
メモリサイズは実装メモリサイズによってほぼ決定され
るので、実際の空き領域のサイズを検出する代わりに、
たとえば実装メモリサイズが40Mバイトであれば24
Mバイトのメモリを要求し、実装メモリサイズが32M
バイトであれば20Mバイトのメモリを要求するといっ
たように、オペレーティングシステムに要求するメモリ
サイズを実装メモリサイズを基に決定してもよい。実装
メモリサイズ全体を要求するのではなく、それよりも一
定値以下のサイズを要求するのは、メモリ常駐が必要な
システムコードなどの領域を浸食するようなメモリサイ
ズを要求すると、メモリ割り当てエラーが発生してしま
い、オペレーティングシステムにメモリ整理処理を実行
させられなくなるためである。
In general, a virtual storage space of 2 GB to 4 GB is allocated to an application program, and some of the processes exist in a real memory, and most of the other portions are in a secondary storage device. Has been swapped to. Therefore, the overall size of the code and data of all processes actually existing on the main memory generally increases as the size of the mounted memory increases. As described above, the memory size constantly occupied by the code and the data is almost determined by the mounting memory size. Therefore, instead of detecting the actual size of the free space,
For example, if the mounted memory size is 40 Mbytes, 24
Requests M bytes of memory and has a memory size of 32M
The memory size required for the operating system may be determined based on the mounted memory size, such as requesting a memory of 20 Mbytes in the case of bytes. Rather than requesting the entire implementation memory size, requesting a size smaller than a certain value is because if you request a memory size that erodes areas such as system code that requires memory resident, a memory allocation error will occur. This occurs because the operating system cannot execute the memory organizing process.

【0018】[0018]

【発明の実施の形態】以下、図面を参照してこの発明の
実施形態を説明する。図1には、この発明の一実施形態
に係わるコンピュータシステムの構成が示されている。
このコンピュータシステムは、ノートブックタイプまた
はサブノートタイプのポータブルパーソナルコンピュー
タであり、コンピュータ本体と、このコンピュータ本体
に開閉自在に取り付けられたLCDパネルユニットとか
ら構成されている。コンピュータ本体のシステムボード
上には、システムバス10、CPU11、SMI制御回
路12、メインメモリ13、BIOS−ROM14、磁
気ディスク装置(HDD)15、リアルタイムクロック
(RTC)16、キーボードコントローラ(KBC)1
7、電源コントローラ(PSC)18、VGAコントロ
ーラ19などが搭載されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of a computer system according to an embodiment of the present invention.
This computer system is a portable personal computer of a notebook type or a sub-note type, and is composed of a computer main body and an LCD panel unit which is openably and closably attached to the computer main body. A system bus 10, a CPU 11, an SMI control circuit 12, a main memory 13, a BIOS-ROM 14, a magnetic disk drive (HDD) 15, a real-time clock (RTC) 16, a keyboard controller (KBC) 1
7, a power supply controller (PSC) 18, a VGA controller 19, and the like.

【0019】CPU11は、このシステム全体の動作制
御およびデータ処理を実行する。このCPU11として
は、システム管理割り込みSMI(SMI;System
Management Interrupt)をサポートするもの、例えば、
米インテル社により製造販売されているマイクロプロセ
ッサPentium が使用される。この場合、CPU11は、
次のようなシステム管理機能を持つ。
The CPU 11 controls the operation of the entire system and executes data processing. As the CPU 11, a system management interrupt SMI (SMI; System
Management Interrupt), for example,
The microprocessor Pentium manufactured and sold by Intel Corporation is used. In this case, the CPU 11
It has the following system management functions.

【0020】すなわち、CPU11は、アプリケーショ
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想86モードを有する
他、システム管理モード(SMM;System Management
mode)と称されるシステム管理機能を実現するための動
作モードを有している。
That is, the CPU 11 has a real mode, a protect mode, a virtual 86 mode as operation modes for executing programs such as an application program and an operating system (OS), and a system management mode (SMM).
mode) for operating a system management function.

【0021】リアルモードは、最大で1Mバイトのメモ
リ空間をアクセスできるモードであり、論理アドレスか
ら物理アドレスへの変換は、セグメントレジスタで表さ
れるベースアドレスからのオフセット値で物理アドレス
を決定するアドレス計算形式によって行われる。
The real mode is a mode in which a memory space of a maximum of 1 Mbyte can be accessed. The conversion from a logical address to a physical address is performed by an address for determining a physical address by an offset value from a base address represented by a segment register. This is done according to the calculation format.

【0022】一方、プロテクトモードは1タスク当たり
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称されるアドレスマッ
ピングテーブルを用いてリニアアドレスが決定される。
このリニアアドレスは、ページングによって最終的に物
理アドレスに変換される。
On the other hand, the protect mode is a mode in which a memory space of a maximum of 4 GB can be accessed per task, and a linear address is determined using an address mapping table called a descriptor table.
This linear address is finally converted to a physical address by paging.

【0023】このように、プロテクトモードとリアルモ
ードとでは、互いに異なるメモリアドレッシングが採用
されている。システム管理モード(SMM)は疑似リア
ルモードであり、このモードにおけるアドレス計算形式
はリアルモードのアドレス計算形式と同一であり、ディ
スクプリタテーブルは参照されず、ページングも実行さ
れない。しかし、SMMでは、プロテクトモードと同様
に、1Mバイトを越えるメモリ空間をアクセスすること
ができる。
As described above, different memory addressing is adopted between the protect mode and the real mode. The system management mode (SMM) is a pseudo-real mode. The address calculation format in this mode is the same as the address calculation format in the real mode, the descriptor table is not referred to, and no paging is performed. However, the SMM can access a memory space exceeding 1 Mbyte as in the protect mode.

【0024】システム管理割込み(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において、BIOSのハイバネーションル
ーチンなどのシステム管理プログラムが実行される。こ
のハイバネーションルーチンは、後述する高速ハイバネ
ーションソフトウェアドライバと連動して、主メモリ1
3およびVRAM191の内容を、HDD15の記憶エ
リアに予め確保されているハイバネーションエリアにセ
ーブした後にシステムをパワーオフするといったハイバ
ネーション処理を行う。高速ハイバネーションソフトウ
ェアドライバは、BIOSのハイバネーションルーチン
によってHDD15にセーブすることが必要なメモリサ
イズを小さくするために設けられたものである。
System management interrupt (SMI; System Man)
agement Interrupt) is issued to CPU 11, C
The operation mode of the PU 11 is switched from the real operation mode, the protect mode, or the virtual 86 mode at that time to the SMM. SMM by SMI
, The CPU 11 saves the CPU status, which is the content of the CPU register at that time, in the SMRAM 13A. When a return instruction (RSM instruction) is executed in the SMM, the CPU 11 restores the CPU status from the SMRAM 13A to the CPU register, and
The operation mode returns to the operation mode before the occurrence of MI. In the present embodiment, the SMM executes a system management program such as a hibernation routine of the BIOS. This hibernation routine works in conjunction with a high-speed hibernation software driver to be described later, and
3 and the contents of the VRAM 191 are saved in a hibernation area secured in advance in the storage area of the HDD 15, and then a hibernation process of powering off the system is performed. The high-speed hibernation software driver is provided to reduce the memory size that needs to be saved in the HDD 15 by the hibernation routine of the BIOS.

【0025】SMIはマスク不能割込みNMIの一種で
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
The SMI is a type of non-maskable interrupt NMI, but is the highest priority interrupt having a higher priority than a normal NMI or maskable interrupt INTR. This SM
By issuing I, the system management program can be started without depending on the environment of the running application program or the operating system.

【0026】SMI制御回路12は、SMI発生制御の
ためのハードウェアであり、図示のように、ハイバネー
ション処理を起動するためのSMI発生回路121、他
の要因によるSMI発生回路122,123、SMIス
テータスレジスタ124、OR回路125を備えてい
る。
The SMI control circuit 12 is hardware for controlling SMI generation. As shown in the figure, the SMI generation circuit 121 for activating the hibernation process, the SMI generation circuits 122 and 123 due to other factors, and the SMI status A register 124 and an OR circuit 125 are provided.

【0027】SMI発生回路121は、電源コントロー
ラ18を介して電源スイッチ181の押下、またはパネ
ル開閉検出スイッチ182によってLCDパネルユニッ
トが閉じられたことが通知された時、ハイバネーション
処理を起動するためのSMI信号を発生する。他の要因
によるSMI発生回路122,123は、例えば、ソフ
トウェアSMI、グローバルスタンバイSMI、ローカ
ルスタンバイSMI、外部入力SMIなどを発生する。
The SMI generating circuit 121 starts the hibernation process when the power switch 181 is pressed down via the power controller 18 or the LCD panel unit is notified by the panel open / close detection switch 182 that the LCD panel unit is closed. Generate a signal. The SMI generation circuits 122 and 123 due to other factors generate, for example, a software SMI, a global standby SMI, a local standby SMI, an external input SMI, and the like.

【0028】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に移行する。
The OR circuit 125 includes the SMI generation circuit 12
When any of 1, 122 and 123 generates an SMI signal, the SMI signal is supplied to the CPU 11. These S
Each of the MI generation circuits 121, 122, and 123 has a CPU
Keep the SMI signal in the active state until 11 leaves the SMM. For this reason, when another SMI signal is generated during the SMI processing for a certain SMI signal, C
After leaving the SMM corresponding to the first SMI signal, the PU 11 shifts to the SMM again by the SMI signal generated during the SMI processing.

【0029】SMIステータスレジスタ124は、SM
I発生要因を示すステータスデータを保持するためのも
のであり、SMI発生回路121,122,123それ
ぞれの出力を保持する。
The SMI status register 124 stores the SM
This is for holding status data indicating the cause of I generation, and holds the output of each of the SMI generation circuits 121, 122, and 123.

【0030】メインメモリ13はこのシステムの主記憶
として使用されるものであり、オペレーティングシステ
ム、高速ハイバネーションソフトウェアドライバ、処理
対象のアプリケーションプログラム、およびアプリケー
ションプログラムによって作成されたユーザデータ等が
格納される。このメインメモリ13はDRAMなどの半
導体メモリによって実現されている。SMRAM(Syst
em Management RAM )13Aは、メインメモリ13を構
成する物理メモリの一部に割り当てられた記憶空間であ
り、SMI信号がCPU11に入力された時だけメモリ
アドレスがマッピングされてアクセス可能となる。ここ
で、SMRAMがマッピングされるアドレス範囲は固定
ではなく、SMBASEと称されるレジスタによって4
Gバイト空間の任意の場所に変更することが可能であ
る。SMBASEレジスタは、SMM中でないとアクセ
スできない。
The main memory 13 is used as a main memory of the system, and stores an operating system, a high-speed hibernation software driver, an application program to be processed, user data created by the application program, and the like. The main memory 13 is realized by a semiconductor memory such as a DRAM. SMRAM (Syst
The em management RAM 13A is a storage space allocated to a part of the physical memory constituting the main memory 13, and is accessible only when a SMI signal is input to the CPU 11 by mapping a memory address. Here, the address range to which the SMRAM is mapped is not fixed, but is set by a register called SMBASE.
It can be changed to any location in the G byte space. The SMBASE register cannot be accessed unless it is in SMM.

【0031】CPU11がSMMに移行する時には、C
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAM13Aにスタック形式
でセーブされる。このSMRAM13Aには、BIOS
−ROM14のシステム管理プログラムを呼び出すため
の命令が格納されている。この命令は、CPU11がS
MMに入った時に最初に実行される命令であり、この命
令実行によってシステム管理プログラムに制御が移る。
When the CPU 11 shifts to the SMM, C
PU status, ie the CPU when the SMI was generated
Eleven registers and the like are saved in the SMRAM 13A in a stack format. The SMRAM 13A has a BIOS
-Instructions for calling the system management program in the ROM 14 are stored. This instruction is sent by the CPU 11
This is the first instruction executed when entering the MM, and the execution of this instruction transfers control to the system management program.

【0032】BIOS−ROM14は、システムBIO
S(Basic I/O System)を記憶するためのものであり、
プログラム書き替えが可能なようにフラッシュメモリに
よって構成されている。システムBIOSは、このシス
テム内の各種ハードウェアをアクセスするファンクショ
ン実行ルーチンを体系化したものであり、リアルモード
で動作するように構成されている。
The BIOS-ROM 14 stores the system BIOS.
For storing S (Basic I / O System)
It is composed of a flash memory so that the program can be rewritten. The system BIOS systematizes a function execution routine for accessing various hardware in the system, and is configured to operate in a real mode.

【0033】このシステムBIOSには、システムのパ
ワーオン時に実行されるIRTルーチンと、各種ハード
ウェア制御のためのBIOSドライバ群が含まれてい
る。各BIOSドライバは、ハードウェア制御のための
複数の機能をオペレーティングシステムやアプリケーシ
ョンプログラムに提供するためにそれら機能に対応する
複数のファンクション実行ルーチン群を含んでいる。
The system BIOS includes an IRT routine executed when the system is powered on, and a group of BIOS drivers for controlling various hardware. Each BIOS driver includes a plurality of function execution routine groups corresponding to the functions for providing a plurality of functions for hardware control to an operating system or an application program.

【0034】また、BIOS−ROM14には、SMI
ハンドラおよび前述のハイバネーションルーチンなど、
SMMの中で実行されるシステム管理プログラムも格納
されている。SMIハンドラは、SMIの発生要因に応
じて各種SMIサービスルーチンを起動するためのもの
であり、電源オフ操作に起因するSMIが発生した場合
にはハイバネーションルーチンを起動し、他の要因によ
るSMIが発生した場合にはその要因に対応するSMI
サービスルーチンを起動する。
The BIOS-ROM 14 contains an SMI
Such as the handler and the hibernation routine described above
A system management program executed in the SMM is also stored. The SMI handler is for activating various SMI service routines according to the cause of the SMI. When the SMI due to the power-off operation occurs, the SMI handler activates the hibernation routine and the SMI due to other factors occurs. If it is, the SMI corresponding to the factor
Invoke the service routine.

【0035】BIOSのハイバネーションルーチンは、
SMIだけでなく、他のプログラムからのソフトウェア
割り込みによって起動することもできる。HDD15は
このシステムの2次記憶装置として使用されるものであ
り、その記憶エリアの一部には図示のようにハイバネー
ションエリアとハイバネーション完了フラグ設定エリア
が確保される。ハイバネーションエリアとハイバネーシ
ョン完了フラグ設定エリアはIRTによるHDD15の
初期化およびテスト時にシステムBIOSによって確保
され、ハイバネーションエリアとハイバネーション完了
フラグ設定エリアを除く他の記憶領域がOSに解放され
る。
The hibernation routine of the BIOS is as follows.
It can be activated not only by the SMI but also by a software interrupt from another program. The HDD 15 is used as a secondary storage device of the system, and a hibernation area and a hibernation completion flag setting area are secured in a part of the storage area as shown in the figure. The hibernation area and the hibernation completion flag setting area are secured by the system BIOS when the HDD 15 is initialized and tested by the IRT, and the other storage areas except the hibernation area and the hibernation completion flag setting area are released to the OS.

【0036】RTC16は時計モジュールであり、独自
の電池によりバックアップされたCMOSメモリ161
を有している。CMOSメモリ161には、パワーアッ
プモードとしてブートモードとレジュームモードを選択
するための情報などを含むシステムコンフィグレーショ
ン情報と、ハイバネーション完了フラグなどが設定され
る。ブートモードはシステムがパワーオンされたときに
オペレーティングシステムを立ち上げるためのブートス
トラップ処理を起動するモードであり、またレジューム
モードは電源オフ時にハイバネーション処理を実行し、
システムがパワーオンされたときにHDDにセーブされ
ている内容を元のメモリおよびCPUなどにリストアす
るモードである。
The RTC 16 is a clock module, and a CMOS memory 161 backed up by a unique battery.
have. In the CMOS memory 161, system configuration information including information for selecting a boot mode and a resume mode as a power-up mode, a hibernation completion flag, and the like are set. The boot mode is a mode in which a bootstrap process for starting an operating system is started when the system is powered on, and the resume mode executes a hibernation process when the power is turned off.
This mode restores the contents saved in the HDD to the original memory and CPU when the system is powered on.

【0037】キーボードコントローラ17は、キーボー
ド171、およびポインティングスティックやマウスな
どのポインティングデバイス172を制御するためのも
のであり、押下キーに対応するキーコード、ポインティ
ングされた相対座標データ、マウスボタンのクリック操
作の状態などの情報をCPU11に通知するためのキー
バッファを有している。
The keyboard controller 17 controls the keyboard 171 and a pointing device 172 such as a pointing stick or a mouse, and includes a key code corresponding to a pressed key, relative coordinate data pointed to, and a click operation of a mouse button. It has a key buffer for notifying the CPU 11 of information such as the state of the CPU 11.

【0038】電源コントローラ18は、このシステムの
電源オン/オフを制御するためのものであり、電源スイ
ッチ181がオンされたとき、またはパネル開閉スイッ
チ182によってLCDパネルユニットが開かれたこと
が検出されたときに、ACアダプタまたは内部バッテリ
からこのシステム内の各モジュールに対する動作電源を
生成してそれらに供給する。また、電源スイッチ181
がオフされたとき、またはパネル開閉スイッチ182に
よってLCDパネルユニットが閉じられたことが検出さ
れたときは、電源コントローラ18は、そのことをSM
I発生回路121に通知した後、CPU11からのパワ
ーオフコマンドの発行を待ってシステム内の各モジュー
ルに対する動作電源の供給を停止する。
The power supply controller 18 controls the power on / off of the system. When the power switch 181 is turned on, or when the panel open / close switch 182 detects that the LCD panel unit is opened. Then, operating power for each module in the system is generated from an AC adapter or an internal battery and supplied to them. Also, the power switch 181
Is turned off, or when it is detected by the panel open / close switch 182 that the LCD panel unit is closed, the power supply controller 18 notifies the SM that this is the case.
After the notification to the I generation circuit 121, the supply of the operating power to each module in the system is stopped after the power off command is issued from the CPU 11.

【0039】VGAコントローラ19は、このシステム
のディスプレイモニタとして使用されるLCD192を
制御するためのものであり、VRAM191に描画され
た画面データをLCDパネルユニット内のLCD192
に表示する。
The VGA controller 19 is for controlling the LCD 192 used as a display monitor of this system, and converts the screen data drawn on the VRAM 191 into the LCD 192 in the LCD panel unit.
To be displayed.

【0040】以下、この発明の特徴とするハイバネーシ
ョン処理について具体的に説明する。まず、図2を参照
して、SMIの発生からBIOSのハイバネーションル
ーチンが起動されるまでの一連の動作を説明する。
Hereinafter, the hibernation process which is a feature of the present invention will be specifically described. First, a series of operations from the occurrence of an SMI to the start of a hibernation routine of the BIOS will be described with reference to FIG.

【0041】ユーザによって電源スイッチ181がオフ
されたり、またはユーザによってLCDパネルユニット
が閉じられたことがパネル開閉スイッチ182によって
検知されると、電源コントローラ18は電源オフ要因が
発生したことをSMI発生回路121に通知する。この
通知に応答して、SMI発生回路121からSMI信号
が発生され、それがCPU11に供給される。
When the power switch 181 is turned off by the user or the panel open / close switch 182 detects that the LCD panel unit is closed by the user, the power controller 18 notifies the SMI generation circuit that the power-off factor has occurred. Notify 121. In response to this notification, an SMI signal is generated from the SMI generation circuit 121 and supplied to the CPU 11.

【0042】CPU11にSMI信号が入力されると、
CPU11は、その時の動作モードからSMMにスイッ
チされる。SMMに入ると、CPU11は、まず、SM
RAM13Aに所定のメモリアドレスをマッピングす
る。これにより、SMRAM13Aがアクセス可能とな
る。
When the SMI signal is input to the CPU 11,
The CPU 11 is switched from the operation mode at that time to the SMM. When entering the SMM, the CPU 11 first sets the SM
A predetermined memory address is mapped to the RAM 13A. Thereby, the SMRAM 13A becomes accessible.

【0043】SMRAM13Aには、CPUステート格
納エリア、CPU以外の他のハードウェアに関するステ
ータスを格納するハードウェアステータス(HWステー
タス)格納エリアなどが設けられており、またBIOS
−ROM14のSMIハンドラを割り込み先として指定
するジャンプコードがセットされている。前述したよう
に、BIOS−ROM14には、IRTルーチン、SM
Iハンドラ、ハイバネーションルーチン、および複数の
BIOSドライバ群を含むシステムBIOSが格納され
ている。
The SMRAM 13A is provided with a CPU state storage area, a hardware status (HW status) storage area for storing a status relating to hardware other than the CPU, and a BIOS.
-A jump code that specifies the SMI handler of the ROM 14 as an interrupt destination is set. As described above, the BIOS-ROM 14 stores the IRT routine and the SM
A system BIOS including an I handler, a hibernation routine, and a plurality of BIOS drivers is stored.

【0044】次いで、CPU11は、SMIが入力され
た時のCPU11の各種レジスタの内容であるCPUス
テータス(または、コンテキストと称される)をSMR
AM13AのCPUステート格納エリアにスタック形式
でセーブする。そして、CPU11は、SMMのスター
トアドレスのコード、つまりSMRAM13Aにセット
されているジャンプコードをフェッチし、そのジャンプ
コードで指定されるBIOS−ROM14のSMIハン
ドラを実行する。ここまでの処理は、CPU11自体つ
まりCPU11のマイクロプログラムによって実行され
るものである。
Next, the CPU 11 sends the CPU status (or context), which is the contents of various registers of the CPU 11 when the SMI is input, to the SMR.
It is saved in a stack state in the CPU state storage area of the AM 13A. Then, the CPU 11 fetches the code of the start address of the SMM, that is, the jump code set in the SMRAM 13A, and executes the SMI handler of the BIOS-ROM 14 specified by the jump code. The processing so far is executed by the CPU 11 itself, that is, by a microprogram of the CPU 11.

【0045】ジャンプコードの実行によって呼び出され
たSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る。この処理では、SMIステータスレジスタ124に
セットされているSMIステータス情報が参照される。
電源オフに起因するSMIであれば、SMIハンドラ
は、BIOS−ROM14のハイバネーションルーチン
の実行をリクエストする。これにより、ハイバネーショ
ンルーチンがSMMの中で実行される。
The SMI handler called by the execution of the jump code checks the SMI occurrence factor to determine what factor caused the SMI. In this process, the SMI status information set in the SMI status register 124 is referred to.
If the SMI is caused by power-off, the SMI handler requests execution of the hibernation routine of the BIOS-ROM 14. Thus, the hibernation routine is executed in the SMM.

【0046】次に、図3を参照して、BIOSのハイバ
ネーションルーチン、オペレーティングシステム、高速
ハイバネーションソフトウェアドライバ間の関係につい
て説明する。
Next, the relationship between the hibernation routine of the BIOS, the operating system, and the high-speed hibernation software driver will be described with reference to FIG.

【0047】電源スイッチやサスペンドボタンの操作が
行われると、BIOSのハイバネーションルーチン10
1、あるいはパワーマネージメント制御用の他のBIO
Sドライバは、サスペンド要求をオペレーティングシス
テム102に発行する。オペレーティングシステム10
2は、実行中のプログラムによる処理に影響が及ぼされ
ないようにサスペンド処理移行のための準備を行い、サ
スペンド可能状態になるとサスペンドメッセージを発行
する。このサスペンドメッセージは、高速ハイバネーシ
ョンソフトウェアドライバ103によってフックされ
る。高速ハイバネーションソフトウェアドライバ103
は、まとまった空き領域を確保するために主メモリ13
上で空き領域の移動および廃棄可能領域の廃棄といった
メモリ整理を実行し、これによって得た空き領域をBI
OSのハイバネーションルーチン101に通知する。B
IOSのハイバネーションルーチン101は、高速ハイ
バネーションソフトウェアドライバ103から通知され
た空き領域以外の他の領域のみをHDD15のハイバネ
ーションエリアにセーブする。
When the power switch or the suspend button is operated, the hibernation routine 10 of the BIOS is executed.
1, or another BIO for power management control
The S driver issues a suspend request to the operating system 102. Operating system 10
2 prepares for the transition to the suspend process so that the process by the program being executed is not affected, and issues a suspend message when the suspend-enabled state is reached. This suspend message is hooked by the high-speed hibernation software driver 103. High-speed hibernation software driver 103
The main memory 13 is used to secure a large free area.
Memory arrangement such as moving an empty area and discarding a discardable area is performed on the
It notifies the hibernation routine 101 of the OS. B
The hibernation routine 101 of the IOS saves only the area other than the free area notified from the high-speed hibernation software driver 103 in the hibernation area of the HDD 15.

【0048】次に、図4および図5を参照して、ハイバ
ネーション処理で行われるメモリ整理処理について説明
する。図4はメモリ整理処理の様子を示す原理図であ
る。ここでは、ハッチング部は空き領域を示し、またク
ロスハッチ部は、例えば終了されたプログラムのコード
部などの破棄可能領域や、プログラムのデータ部などの
スワップアウト可能領域を示している。
Next, with reference to FIG. 4 and FIG. 5, the memory organizing process performed in the hibernation process will be described. FIG. 4 is a principle diagram showing a state of the memory organizing process. Here, a hatched portion indicates an empty region, and a cross-hatched portion indicates a discardable region such as a code portion of a completed program or a swap-out possible region such as a data portion of a program.

【0049】空きメモリ領域や破棄/スワップ可能領域
を一つにまとめるメモリ整理処理では、まず、空き領域
が他の空き領域や破棄/スワップ可能領域と連続するよ
うに空き領域の移動が行われる(ステップS101)。
次いで、破棄可能データを廃棄し、そしてスワップ可能
データをHDD15のスワップ領域にスワップアウトす
る(ステップS102,S103)。以上のステップS
101〜S103の処理により、セーブする必要がない
領域が一つの連続した領域にまとめられる。
In the memory organizing process for integrating the free memory area and the discardable / swappable area into one, the free area is first moved so that the free area is continuous with another free area and the discardable / swappable area ( Step S101).
Next, the discardable data is discarded, and the swappable data is swapped out to the swap area of the HDD 15 (steps S102 and S103). Step S above
By the processes of 101 to S103, areas that do not need to be saved are collected into one continuous area.

【0050】次いで、セーブする必要がない領域を除く
他の領域(使用領域)のみがHDD15のハイバネーシ
ョンエリアにセーブされた後(ステップS105)、シ
ステムがパワーオフされる(ステップS105)。
Next, after only the other area (used area) except the area that does not need to be saved is saved in the hibernation area of the HDD 15 (step S105), the system is powered off (step S105).

【0051】電源再投入時に行われるレジューム処理で
は、図6に示されているように、システムBIOSによ
って、HDD15のハイバネーションエリアにセーブさ
れた内容が主メモリ13の元の位置にリストアされ、こ
れによって主メモリ13が電源オフ直前の状態に復元さ
れる(ステップS106)。そして、復元された主メモ
リ13の内容を元にCPU11のレジスタや他の各種ハ
ードウェアの状態が復元される(ステップS107)。
In the resume processing performed when the power is turned on again, as shown in FIG. 6, the contents saved in the hibernation area of the HDD 15 are restored to the original position of the main memory 13 by the system BIOS. The main memory 13 is restored to the state immediately before the power was turned off (step S106). Then, based on the restored contents of the main memory 13, the states of the registers of the CPU 11 and other various hardware are restored (step S107).

【0052】次に、図7を参照して、BIOSのハイバ
ネーションルーチンで実行されるデータセーブ処理の原
理を説明する。BIOSのハイバネーション処理では、
SMRAM13Aを含むメインメモリ13の使用領域と
VRAM191の内容とがHDD15のハイバネーショ
ンエリアにセーブされるが、この時、セーブ対象となる
メモリ空間は複数のメモリブロックに分割され、それら
ブロック単位でHDD15へのデータ転送が行われる。
Next, the principle of the data save process executed in the hibernation routine of the BIOS will be described with reference to FIG. In the hibernation process of the BIOS,
The used area of the main memory 13 including the SMRAM 13A and the contents of the VRAM 191 are saved in the hibernation area of the HDD 15. At this time, the memory space to be saved is divided into a plurality of memory blocks. Data transfer is performed.

【0053】図7においては、説明を簡単にするため
に、セーブ対象となるメモリ空間がメモリブロック#1
からメモリブロック#7の8個のメモリブロックに分割
されている場合が示されているが、実際には、HDD1
5の1トラックに相当するデータサイズ単位でメモリ空
間がブロック分けされる。
In FIG. 7, for the sake of simplicity, the memory space to be saved is the memory block # 1.
Is divided into eight memory blocks from memory block # 7 to memory block # 7.
5, the memory space is divided into blocks in units of data size corresponding to one track.

【0054】HDD15へのデータ転送処理は、メモリ
ブロック#1からメモリブロック#7の順番で実行され
る。1つのメモリブロックの転送が完了すると、次のメ
モリブロックのデータをHDD15に転送する処理を開
始する前に、ハードウェアステータスのチェックが行わ
れる。このハードウェアステータスのチェックは、ユー
ザから所定の入力イベントがハイバネーション処理期間
中に発生されたか否かを検出するものである。
The process of transferring data to the HDD 15 is executed in the order of the memory block # 1 to the memory block # 7. When the transfer of one memory block is completed, the hardware status is checked before the process of transferring the data of the next memory block to the HDD 15 is started. This hardware status check detects whether a predetermined input event from the user has occurred during the hibernation process.

【0055】所定の入力イベントの発生が検出されたと
きは、ハイバネーション処理はその時点で中断され、C
PU11および他のハードウェアはすべて電源オフ前の
状態に復元され、割り込みもとのプログラムに制御が戻
される。入力イベントとしては、キーボード171から
のキー入力、ポインティングデバイス172の操作、L
CDパネルユニットの開放などを利用できる。これら
は、それぞれキーボードコントローラ17のキーバッフ
ァをリードしたり、電源コントローラ18のステータス
レジスタをリードすることなどによって検知することが
できる。
When the occurrence of a predetermined input event is detected, the hibernation process is interrupted at that time, and C
The PU 11 and other hardware are all restored to the state before the power was turned off, and control is returned to the interrupting program. Input events include key input from the keyboard 171, operation of the pointing device 172, L
Opening of the CD panel unit can be used. These can be detected by reading the key buffer of the keyboard controller 17 or reading the status register of the power supply controller 18, respectively.

【0056】一方、入力イベントの発生が検出されるこ
となく、すべてのメモリブロックの転送が完了した場合
には、最後に、ハイバネーション完了フラグがHDD1
5のハイバネーション完了フラグ設定エリアにセットさ
れる。
On the other hand, if the transfer of all the memory blocks is completed without detecting the occurrence of the input event, finally, the hibernation completion flag is set to HDD1.
5 is set in the hibernation completion flag setting area.

【0057】このように、ハイバネーション期間中に定
期的にハードウェアステータスをチェックすることによ
りユーザからの所定の入力イベントの有無を調べ、入力
イベントの発生が検出された時点でハイバネーション処
理を中断してシステムをハイバネーション開始前の作業
状態に復元することにより、ユーザは、一旦ハイバネー
ション処理が開始された後においても、キー入力などを
行うことにより、ハイバネーション処理の完了を待つこ
となく即座にそれまでの作業を継続することが可能とな
る。よって、高速ハイバネーションソフトウェアドライ
バによってハイバネーション処理の高速化が図れると共
に、その中断も可能となるので、十分な操作性を提供で
きるようになる。
As described above, the presence or absence of a predetermined input event from the user is checked by periodically checking the hardware status during the hibernation period. When the occurrence of the input event is detected, the hibernation process is interrupted. By restoring the system to the working state before the start of the hibernation process, the user can perform key operations and the like immediately after the hibernation process is started without immediately waiting for the completion of the hibernation process. Can be continued. Accordingly, the hibernation process can be speeded up by the high-speed hibernation software driver, and the hibernation process can be interrupted, so that sufficient operability can be provided.

【0058】次に、図8のフローチャートを参照して、
ハイバネーション処理時におけるOS、高速ハイバネー
ションソフトウェアドライバ、BIOSハイバネーショ
ンルーチンの動作を具体的に説明する。
Next, referring to the flowchart of FIG.
The operation of the OS, the high-speed hibernation software driver, and the BIOS hibernation routine during the hibernation process will be specifically described.

【0059】ここでは、図4および図5で説明したメモ
リ整理処理をオペレーティングシステムの機能を用いて
実現する場合について説明する。すなわち、オペレーテ
ィングシステムはプログラムに対するメモリ割り当てを
管理する機能を有しており、メモリ領域が新たに要求さ
れると、要求されたサイズのメモリ領域を主メモリ13
上に確保するために、主メモリ13上の空き領域の移
動、廃棄可能データの廃棄、スワップ可能データのスワ
ップといった処理を行う。したがって、高速ハイバネー
ションソフトウェアドライバがオペレーティングシステ
ムに対して例えば実際の空き領域サイズよりも大きい所
定サイズのメモリ領域を要求することによって、結果的
にオペレーティングシステムにメモリ整理を実行させる
ことができる。この場合、要求したメモリ領域は実際に
は使用されない領域であるので、この領域以外の領域を
使用領域として認識し、それをHDD15にセーブすれ
ばよい。具体的な動作は以下の通りである。
Here, a case will be described in which the memory rearrangement processing described with reference to FIGS. 4 and 5 is realized using the function of the operating system. That is, the operating system has a function of managing the memory allocation to the program, and when a new memory area is requested, the memory area of the requested size is allocated to the main memory 13.
In order to secure the above, processing such as moving an empty area on the main memory 13, discarding discardable data, and swapping swappable data is performed. Therefore, the high-speed hibernation software driver requests the operating system for a memory area of a predetermined size larger than, for example, the actual free area size, so that the operating system can consequently perform memory organization. In this case, since the requested memory area is an area that is not actually used, an area other than this area may be recognized as a used area and saved in the HDD 15. The specific operation is as follows.

【0060】オペレーティングシステムからサスペンド
メッセージが発行されると(ステップS201)、高速
ハイバネーションソフトウェアドライバはそのサスペン
ドメッセージに応答して、まず、オペレーティングシス
テムに対して現在のメモリ管理状態を示すメモリ管理情
報(ページインフォメーション)を要求する(ステップ
S202)。ページインフォメーションは、主メモリ1
3内に実在するページに対するプログラム(プロセス)
のマッピング状態を示すものであり、仮想記憶機構を実
現するためのデマンドページングを実行するためにオペ
レーティングシステムによって管理されている。
When the suspend message is issued from the operating system (step S201), the high-speed hibernation software driver responds to the suspend message by first issuing to the operating system memory management information (page Information) (step S202). Page information is stored in main memory 1
Program (process) for pages that exist within 3
This is a mapping state, and is managed by the operating system to execute demand paging for realizing the virtual storage mechanism.

【0061】高速ハイバネーションソフトウェアドライ
バは、オペレーティングシステムからページインフォメ
ーションを受け取ると、そのページインフォメーション
が示す現在のメモリ使用状況に基づいて、オペレーティ
ングシステムに要求すべきメモリサイズを決定する(ス
テップS203,S204)。ここでは、まず、ページ
インフォメーションで管理されている全ページ数から主
メモリ13として実装されたメモリサイズが調べられ
る。ページサイズは通常4Kバイトであるので、実装さ
れたメモリサイズは、全ページ数・4Kバイトで求めら
れる。次に、空きメモリサイズが、空きページ数・4K
バイトで求められる。要求すべきメモリサイズM1は、
次の関係が成り立つ範囲で決定される。
Upon receiving the page information from the operating system, the high-speed hibernation software driver determines a memory size to be requested of the operating system based on the current memory usage status indicated by the page information (steps S203 and S204). Here, first, the size of the memory mounted as the main memory 13 is checked from the total number of pages managed by the page information. Since the page size is usually 4 Kbytes, the mounted memory size is determined by the total number of pages / 4 Kbytes. Next, the free memory size is the number of free pages / 4K
Required in bytes. The memory size M1 to be requested is
It is determined within the range where the following relationship is satisfied.

【0062】空きページ数・4Kバイト < M1 <
全ページ数・4Kバイト本実施形態では、高速ハイバ
ネーションソフトウェアドライバの中に実装メモリサイ
ズと要求すべきメモリサイズとの関係が予め定義されて
おり、実際の空きメモリサイズとは関係なく、実装メモ
リサイズから、要求すべきメモリサイズが決定されるよ
うになっている。実装メモリサイズと要求すべきメモリ
サイズとの関係は、例えば次の通りである。
Number of empty pages / 4 Kbytes <M1 <
In this embodiment, the relationship between the mounting memory size and the required memory size is defined in advance in the high-speed hibernation software driver, and the mounting memory size is independent of the actual free memory size. Therefore, the required memory size is determined. The relationship between the mounting memory size and the required memory size is, for example, as follows.

【0063】 実装メモリサイズ 要求すべきメモリサイズ 40MB 24MB 32MB 20MB 16MB 10MB 通常、アプリケーションプログラムには2GB乃至4G
Bの仮想記憶空間が割り当てられており、その内の一部
のプロセスが実メモリ上に存在され、それ以外の大半の
部分は2次記憶装置にスワップされている。したがっ
て、主メモリ13上に実在されるコードおよびデータの
全体サイズは、実装メモリサイズが大きいほど大きくな
るのが普通である。このように、コードおよびデータに
よって常時占有されるメモリサイズは実装メモリサイズ
によってほぼ決定されるので、実際の空き領域のサイズ
を検出する代わりに、オペレーティングシステムに要求
するメモリサイズを、実装メモリサイズから決定するこ
とができる。ここで、上記の数値は本発明者による実験
結果に基づいて決定されたものであるが、実装メモリサ
イズ全体を要求するのではなく、それよりも一定値以下
のサイズを要しているのは、メモリ常駐が必要なシステ
ムコードなどの領域を浸食するようなメモリサイズを要
求すると、メモリ割り当てエラーが発生してしまい、オ
ペレーティングシステムにメモリ整理処理を実行させら
れなくなるためである。
Installed memory size Required memory size 40 MB 24 MB 32 MB 20 MB 16 MB 10 MB Normally, application programs have 2 GB to 4 G
B virtual storage space has been allocated, some of which are in real memory and most of which are swapped to secondary storage. Therefore, the overall size of the code and data actually existing on the main memory 13 generally increases as the size of the mounted memory increases. As described above, the memory size constantly occupied by code and data is almost determined by the mounting memory size. Therefore, instead of detecting the actual size of the free space, the memory size required for the operating system is calculated from the mounting memory size. Can be determined. Here, the above numerical values are determined based on the experimental results by the inventor, but do not require the entire mounting memory size, but require a size smaller than a certain value. If a memory size that erodes an area such as system code that needs to be resident in memory is requested, a memory allocation error occurs, and the operating system cannot execute the memory organizing process.

【0064】このようにして、要求すべきメモリサイズ
が決定すると、高速ハイバネーションソフトウェアドラ
イバは、そのメモリサイズ分のメモリをオペレーティン
グシステムに要求する(ステップS205)。このメモ
リ要求に応じて、オペレーティングシステムは、要求さ
れたサイズのメモリ領域を確保するために、図5および
図6で説明した空き領域の移動、破棄可能領域の破棄、
スワップ可能領域のスワップによるメモリ整理(メモリ
再配置)を実行する(ステップS206)。そして、要
求されたサイズのメモリが確保できると、オペレーティ
ングシステムは、その先頭アドレスを高速ハイバネーシ
ョンソフトウェアドライバに通知する(ステップS20
7)。
When the memory size to be requested is determined in this way, the high-speed hibernation software driver requests the operating system for a memory of the memory size (step S205). In response to this memory request, the operating system moves the free area, discards the discardable area described in FIG. 5 and FIG. 6 in order to secure a memory area of the requested size,
The memory arrangement (memory relocation) is performed by swapping the swappable area (step S206). When the memory of the requested size can be secured, the operating system notifies the high-speed hibernation software driver of the start address (step S20).
7).

【0065】高速ハイバネーションソフトウェアドライ
バは、確保されたメモリ領域の先頭アドレスとサイズを
BIOSのハイバネーションルーチンに通知し、ハイバ
ネーション処理を実行させる(ステップS208)。B
IOSのハイバネーションルーチンは、通知されたメモ
リ領域を除く他のメモリ領域を、HDD15のハイバネ
ーションエリアにセーブする(ステップS209)。
The high-speed hibernation software driver notifies the hibernation routine of the BIOS of the start address and size of the secured memory area, and executes the hibernation process (step S208). B
The hibernation routine of the IOS saves a memory area other than the notified memory area in the hibernation area of the HDD 15 (step S209).

【0066】電源再投入時におけるOS、高速ハイバネ
ーションソフトウェアドライバ、BIOSの動作を図9
に示す。システムBIOSは、HDD15のハイバネー
ションエリアにセーブされた内容を主メモリ13の元に
位置にリストアして、オペレーティングシステムに制御
を渡す(ステップS301)。オペレーティングシステ
ムは電源オフ直前の状態から処理を再開するための準備
を終えると、プロセス動作を再開させるためにレジュー
ムメッセージを送信する(ステップS302)。このレ
ジュームメッセージに応答して、高速ハイバネーション
ソフトウェアドライバは、図8のステップS205で要
求したメモリ領域を解放する(ステップS303)。
FIG. 9 shows the operation of the OS, the high-speed hibernation software driver, and the BIOS when the power is turned on again.
Shown in The system BIOS restores the contents saved in the hibernation area of the HDD 15 to a location under the main memory 13 and passes control to the operating system (step S301). When the operating system completes the preparation for restarting the process from the state immediately before the power-off, the operating system transmits a resume message to restart the process operation (step S302). In response to the resume message, the high-speed hibernation software driver releases the memory area requested in step S205 of FIG. 8 (step S303).

【0067】次に、図10乃至図12を参照して、高速
ハイバネーション処理に関係するBIOSの具体的な動
作について説明する。まず、図10のフローチャートを
参照して、システムパワーオン時にBIOSのIRTル
ーチンによって実行されるハイバネーションエリア確保
処理について説明する。
Next, a specific operation of the BIOS related to the high-speed hibernation process will be described with reference to FIGS. First, the hibernation area securing process executed by the BIOS IRT routine when the system power is turned on will be described with reference to the flowchart in FIG.

【0068】IRTルーチンは、ブートモード環境下に
おいては、システムパワーオン時にそのブートストラッ
プ処理に先だって、システム内のメモリおよびハードウ
ェアについてのテストおよび初期化を実行する(ステッ
プS401,S402)。これらテストおよび初期化処
理においては、メインメモリ13の物理サイズ、VRA
M191の物理サイズ、およびHDD15の構成(ヘッ
ド数、シリンダ数、セクタ数)が調べられる。そして、
メインメモリ13とVRAM191の合計メモリサイズ
に相当するハイバネーションエリアが、HDD15上に
確保される(ステップS403)。
In the boot mode environment, the IRT routine tests and initializes the memory and hardware in the system prior to the bootstrap process when the system is powered on (steps S401, S402). In these tests and initialization processing, the physical size of the main memory 13, the VRA
The physical size of the M191 and the configuration of the HDD 15 (number of heads, number of cylinders, number of sectors) are checked. And
A hibernation area corresponding to the total memory size of the main memory 13 and the VRAM 191 is secured on the HDD 15 (step S403).

【0069】この場合、実際には、HDD15の全記憶
サイズ(ヘッド数、シリンダ数、セクタ数によって決定
される)の中からメインメモリ13とVRAM191の
合計メモリサイズに相当するサイズがHDD15の記憶
エリアの最後尾側にハイバネーションエリア(ハイバネ
ーション完了フラグエリアを含む)として確保され、そ
のハイバネーションエリアのサイズを差し引いた残りの
記憶エリア(ヘッド数、シリンダ数、セクタ数)がHD
D15の構成としてOSに通知される。これにより、ハ
イバネーションエリアはハイバネーションルーチンによ
って排他的に使用され、OSによって使用されることは
ない。このことは、ハイバネーション処理の実行による
システムデータおよびユーザデータの破壊、およびハイ
バネーション処理でセーブされた内容の破壊を防止でき
ることを意味する。
In this case, the size corresponding to the total memory size of the main memory 13 and the VRAM 191 from the total storage size of the HDD 15 (determined by the number of heads, cylinders, and sectors) is actually the storage area of the HDD 15. A hibernation area (including a hibernation completion flag area) is secured at the end of the storage area, and the remaining storage area (the number of heads, the number of cylinders, and the number of sectors) after deducting the size of the hibernation area is HD.
The OS is notified as the configuration of D15. As a result, the hibernation area is exclusively used by the hibernation routine and is not used by the OS. This means that destruction of system data and user data due to execution of the hibernation process and destruction of contents saved in the hibernation process can be prevented.

【0070】また、本実施形態では、主メモリ13全体
の記憶領域ではなく、高速ハイバネーションソフトウェ
アドライバによって確保されたメモリ領域を除く他の領
域だけがセーブされるので、そのセーブされる領域のサ
イズ(実装メモリが40MBであれば16MB、実装メ
モリが32MBであれば12MB、実装メモリが16M
Bであれば6MB)とVRAM191のサイズとの合計
メモリサイズだけをハイバネーションエリアとして確保
するようすることも可能である。これにより、より多く
のディスクサイズをユーザに提供できるようになる。
Also, in the present embodiment, not the entire storage area of the main memory 13 but only the area other than the memory area secured by the high-speed hibernation software driver is saved. 16 MB if the mounting memory is 40 MB, 12 MB if the mounting memory is 32 MB, 16 M
It is also possible to secure only the total memory size of the size of the VRAM 191 and the size of the VRAM 191 as the hibernation area. As a result, more disk sizes can be provided to the user.

【0071】次に、図11のフローチャートを参照し
て、BIOSハイバネーションルーチンの処理手順を説
明する。ハイバネーションルーチンは、まず、CPUス
テートおよびハードウェアステートをSMRAM13A
にセーブする(ステップS501)。次に、ハイバネー
ションルーチンは、ハイバネーション処理の中断要因と
して予め決められているユーザからの入力イベント(キ
ー入力、LCDパネルユニットの開放)の発生の有無を
調べるために、ポーリングによって該当する各ハードウ
ェアのレジスタをリードする(ステップS502)。そ
して、いずれかの入力イベントが発生しているか否かを
判断する(ステップS503)。
Next, the processing procedure of the BIOS hibernation routine will be described with reference to the flowchart of FIG. In the hibernation routine, first, the CPU state and the hardware state are stored in the SMRAM 13A.
(Step S501). Next, the hibernation routine uses polling to check the occurrence of a predetermined input event (key input, opening of the LCD panel unit) from the user as a cause of the interruption of the hibernation process. The register is read (step S502). Then, it is determined whether any input event has occurred (step S503).

【0072】いずれの入力イベントも発生してない場合
には、ハイバネーションルーチンは、高速ハイバネーシ
ョンソフトウェアドライバによって確保されたメモリ領
域以外の他のメモリ領域の内容を、図7で説明したよう
にメモリブロック単位(HDD15のトラック単位)で
HDD15のハイバネーションエリアに転送する(ステ
ップS504)。1メモリブロック分の転送が完了する
と、全メモリブロック分の転送が完了したか否かが調べ
られ(ステップS505)、完了してない場合には、完
了するまでステップS502〜S504の処理が繰り返
し実行される。
If no input event has occurred, the hibernation routine stores the contents of the memory area other than the memory area secured by the high-speed hibernation software driver in memory block units as described with reference to FIG. The data is transferred to the hibernation area of the HDD 15 (in units of tracks of the HDD 15) (step S504). When the transfer for one memory block is completed, it is checked whether or not the transfer for all memory blocks has been completed (step S505). When the transfer has not been completed, the processing of steps S502 to S504 is repeatedly executed until the transfer is completed. Is done.

【0073】ステップS503において入力イベントの
発生が検出されると、ハイバネーションルーチンはハイ
バネーション中断処理を開始し、SMRAM13AのC
PUステートおよびハードウェアステートをそれぞれC
PU11のレジスタおよび該当するハードウェアのレジ
スタにリストアする(ステップS506)。そして、復
帰命令RSMが実行され、電源オフ直前に実行されてい
たプログラムに制御が戻される。
When the occurrence of an input event is detected in step S503, the hibernation routine starts a hibernation suspending process, and the C
PU state and hardware state are respectively C
The data is restored to the register of the PU 11 and the register of the corresponding hardware (step S506). Then, the return instruction RSM is executed, and the control is returned to the program executed immediately before the power is turned off.

【0074】一方、入力イベントが発生せずに全てのメ
モリブロックの転送が完了した場合には、ハイバネーシ
ョンルーチンは、ハイバネーション完了フラグをRTC
16のCMOS161およびHDD15にセットした後
(ステップS507,S508)、電源コントローラ1
8にパワーオフコマンドを送ってシステムをパワーオフ
させる(ステップS509)。
On the other hand, when the transfer of all the memory blocks is completed without the occurrence of the input event, the hibernation routine sets the hibernation completion flag to RTC.
After setting in the 16 CMOS 161 and the HDD 15 (steps S507 and S508), the power controller 1
Then, a power off command is sent to the system 8 to power off the system (step S509).

【0075】次に、図12のフローチャートを参照し
て、ハイバネーション処理でセーブされた内容を復元す
るレジューム処理におけるシステムBIOSの動作につ
いて説明する。
Next, the operation of the system BIOS in the resume process for restoring the contents saved in the hibernation process will be described with reference to the flowchart of FIG.

【0076】システムがパワーオンされると、システム
BIOSは、RTC16のCMOS161の設定情報を
リードし(ステップS601)、現在のパワーアップモ
ードがレジュームモードとブートモードのどちらに設定
されているかを判断する(ステップS602)。レジュ
ームモードであれば、CMOS161にハイバネーショ
ン完了フラグがセットされているか否かが調べられる
(ステップS603)。パワーアップモードがブートモ
ードの場合、あるいはレジュームモードであってもCM
OS161にハイバネーション完了フラグがセットされ
ていない場合には、図10のIRTルーチンが実行され
た後、OSを起動するブートストラップ処理が実行され
る(ステップS608)。
When the system is powered on, the system BIOS reads the setting information of the CMOS 161 of the RTC 16 (step S601), and determines whether the current power-up mode is set to the resume mode or the boot mode. (Step S602). In the case of the resume mode, it is checked whether or not the hibernation completion flag is set in the CMOS 161 (step S603). If the power-up mode is the boot mode or the resume mode
If the hibernation completion flag has not been set in the OS 161, the IRT routine of FIG. 10 is executed, and then a bootstrap process for starting the OS is executed (step S608).

【0077】一方、CMOS161にハイバネーション
完了フラグがセットされていた場合には、HDD15の
ハイバネーション完了フラグエリアがリードされ、そこ
にハイバネーション完了フラグがセットされているか否
かが調べられる(ステップS604,S605)。HD
D15にハイバネーション完了フラグがセットされてな
いということは、そのHDD15のハイバネーションエ
リアの内容が無効であることを意味する。これは、例え
ば、ハイバネーション処理後の電源オフ中にHDD15
が別のHDDに交換されたことなどを意味する。この場
合、システムBIOSはエラーメッセージを画面表示し
た後(ステップS607)、そのメッセージに応答した
ユーザからの所定のキー入力操作などに応答してブート
ストラップ処理を起動する(ステップS608)。
On the other hand, when the hibernation completion flag is set in the CMOS 161, the hibernation completion flag area of the HDD 15 is read, and it is checked whether the hibernation completion flag is set there (steps S 604 and S 605). . HD
The fact that the hibernation completion flag is not set in D15 means that the contents of the hibernation area of the HDD 15 are invalid. This is because, for example, while the power is turned off after the hibernation process, the HDD 15
Means that the HDD has been replaced with another HDD. In this case, after displaying the error message on the screen (step S607), the system BIOS starts the bootstrap process in response to a predetermined key input operation or the like from the user who has responded to the message (step S608).

【0078】HDD15にハイバネーション完了フラグ
がセットされている場合には、システムBIOSは、H
DD15のハイバネーションエリアの内容をそれぞれC
PU11、各種ハードウェア、メインメモリ13、VR
AM191にリストアしてハイバネーション処理を起動
し電源オフ直前の作業状態を復元し、その時のプログラ
ムに制御が戻される(ステップS606)。
When the hibernation completion flag is set in the HDD 15, the system BIOS
The content of the hibernation area of DD15 is C
PU 11, various hardware, main memory 13, VR
AM 191 is restored, the hibernation process is started, the work state immediately before the power is turned off is restored, and control is returned to the program at that time (step S606).

【0079】以上のように、この実施形態においては、
主メモリ13として実装されたメモリ全てがセーブされ
るのではなく、空き領域および破棄/スワップ可能領域
などの保存不要な領域を除く、使用中領域のみがHDD
15にセーブされる。したがって、HDD15に対する
データ転送量を低減できるようになり、ハイバネーショ
ン処理の高速化を図ることが可能となる。
As described above, in this embodiment,
Not all the memory mounted as the main memory 13 is saved, but only the in-use area except for the unnecessary area such as the free area and the discardable / swappable area is stored in the HDD.
15 is saved. Therefore, the amount of data transferred to the HDD 15 can be reduced, and the hibernation process can be speeded up.

【0080】また、オペレーティングシステムに対して
空きメモリサイズよりも大きい所定のメモリサイズを要
求することによってメモリ整理処理をオペレーティング
システムに実行させ、これによって確保されたメモリ領
域以外の領域についてのみHDD15に保存しているの
で、複雑なメモリ管理のための仕組みを新たに用意する
ことなく、保存すべきデータ量を容易に低減することが
できる。
Also, by requesting a predetermined memory size larger than the free memory size to the operating system, the operating system executes the memory organizing process, and only the area other than the secured memory area is stored in the HDD 15. Therefore, the amount of data to be stored can be easily reduced without newly preparing a complicated memory management mechanism.

【0081】次に、図13および図14を参照して、本
実施形態のハイバネーション処理の第2の例について説
明する。ここでは、BIOSのハイバネーションルーチ
ンは使用されず、高速ハイバネーションソフトウェアド
ライバによってデータのセーブが直接行われる。これ
は、ハイバネーション対応のBIOSを持たないシステ
ムにおいても、高速ハイバネーション処理を実行可能に
すると共に、専用のハイバネーションエリアを確保する
必要性をなくすためである。
Next, a second example of the hibernation process of the present embodiment will be described with reference to FIGS. Here, the hibernation routine of the BIOS is not used, and the high-speed hibernation software driver directly saves data. This is to enable high-speed hibernation processing to be performed even in a system that does not have a hibernation-compatible BIOS, and to eliminate the need to secure a dedicated hibernation area.

【0082】図13は高速ハイバネーションソフトウェ
アドライバによるデータ転送処理の様子を示している。
ハッチング部は空き領域を示し、またクロスハッチ部
は、例えば終了されたプログラムのコード部などの破棄
可能領域を示している。高速ハイバネーションソフトウ
ェアドライバは、空き領域および破棄可能領域を除く他
の領域のみを使用中メモリとして、HDD15のハイバ
ネーションエリアにセーブする。
FIG. 13 shows a state of data transfer processing by the high-speed hibernation software driver.
The hatched portion indicates an empty region, and the cross hatched portion indicates a discardable region such as a code portion of a completed program. The high-speed hibernation software driver saves only the area other than the free area and the discardable area as the used memory in the hibernation area of the HDD 15.

【0083】この場合におけるOS、高速ハイバネーシ
ョンソフトウェアドライバ、BIOSの動作を図14に
示す。オペレーティングシステムからサスペンドメッセ
ージが発行されると(ステップS701)、高速ハイバ
ネーションソフトウェアドライバはそのサスペンドメッ
セージに応答して、まず、オペレーティングシステムに
対して現在のメモリ管理状態を示すメモリ管理情報(ペ
ージインフォメーション)を要求する(ステップS70
2)。ページインフォメーションは、前述したように主
メモリ13内に実在するページに対するプログラム(プ
ロセス)のマッピング状態を示すものであり、仮想記憶
機構を実現するためのデマンドページングを実行するた
めにオペレーティングシステムによって管理されてい
る。
FIG. 14 shows the operation of the OS, the high-speed hibernation software driver, and the BIOS in this case. When the suspend message is issued from the operating system (step S701), the high-speed hibernation software driver first responds to the suspend message with memory management information (page information) indicating the current memory management state to the operating system. Request (step S70)
2). The page information indicates a mapping state of a program (process) with respect to a page actually existing in the main memory 13 as described above, and is managed by an operating system to execute demand paging for realizing a virtual storage mechanism. ing.

【0084】高速ハイバネーションソフトウェアドライ
バは、オペレーティングシステムからページインフォメ
ーションを受け取ると、そのページインフォメーション
が示す現在のメモリ使用状況に基づいて、空きページお
よび破棄可能ページ以外の他のページについてその物理
メモリアドレスを調べ、そのメモリ内容をオペレーティ
ングシステムのファイルシステムを利用してHDD15
にセーブする(ステップと704,S705)。この場
合、メモリ内容は、ハイバネーション領域ではなく、O
Sによって管理可能なHDD15の通常領域にファイル
として保存される。これにより、専用のハイバネーショ
ンエリアをHDD15上に設ける必要がなくなり、ディ
スク領域の有効利用が可能となる。
When the high-speed hibernation software driver receives the page information from the operating system, it checks the physical memory addresses of pages other than the empty page and the discardable page based on the current memory usage status indicated by the page information. The contents of the memory are stored in the HDD 15 using the file system of the operating system.
(Steps S704 and S705). In this case, the memory contents are not in the hibernation area, but in O.
The file is stored as a file in the normal area of the HDD 15 that can be managed by S. Thus, it is not necessary to provide a dedicated hibernation area on the HDD 15, and the disk area can be effectively used.

【0085】セーブ処理が完了すると、高速ハイバネー
ションソフトウェアドライバは、BIOSに対してパワ
ーオフを指示し、これに応答して電源コントローラ18
にシステム電源をオフさせるパワーオフ処理がBIOS
によって実行される(ステップS706,S707)。
When the save process is completed, the high-speed hibernation software driver instructs the BIOS to turn off the power, and responds to the power-off command by the power supply controller 18.
Power off process to turn off system power to BIOS
(Steps S706 and S707).

【0086】[0086]

【発明の効果】以上説明したように、この発明によれ
ば、実装メモリ全てをハードディスク装置に保存するの
ではなく、空き領域などの保存不要な領域を除外した残
りの領域のみを保存するようにしているので、ハイバネ
ーション処理に要する時間を大幅に低減することが可能
となる。特に、空きメモリ領域以上の所定のメモリサイ
ズをオペレーティングシステムに要求することによっ
て、空き領域をまとめるメモリ整理処理が結果的にオペ
レーティングシステムによって実行されるようにしてい
るので、複雑なメモリ管理のための仕組みを新たに用意
することなく、保存すべきデータ量を容易に低減するこ
とが可能となる。
As described above, according to the present invention, not all the mounting memory is stored in the hard disk drive, but only the remaining area excluding the unnecessary area such as a free area is stored. Therefore, the time required for the hibernation process can be significantly reduced. In particular, by requesting a predetermined memory size equal to or larger than the free memory area to the operating system, the memory organizing process for collecting the free areas is consequently executed by the operating system. It is possible to easily reduce the amount of data to be stored without preparing a new mechanism.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の一実施形態に係るコンピュータシス
テム全体の構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of an entire computer system according to an embodiment of the present invention.

【図2】同実施形態のシステムにおいてSMIの発生か
らハイバネーションルーチンが起動されるまでの一連の
動作の一例を説明するための図。
FIG. 2 is an exemplary view for explaining an example of a series of operations from generation of an SMI to activation of a hibernation routine in the system of the embodiment.

【図3】同実施形態のシステムで使用されるBIOS、
オペレーティングシステム、高速ハイバネーションソフ
トウェアドライバ間の関係について説明するための図。
FIG. 3 shows a BIOS used in the system of the embodiment;
FIG. 4 is a diagram for explaining a relationship between an operating system and a high-speed hibernation software driver.

【図4】同実施形態のシステムにおけるハイバネーショ
ン処理の原理を説明するための図。
FIG. 4 is an exemplary view for explaining the principle of hibernation processing in the system according to the embodiment.

【図5】同実施形態のシステムにおけるハイバネーショ
ン処理の手順を示すフローチャート。
FIG. 5 is an exemplary flowchart illustrating the procedure of hibernation processing in the system of the embodiment.

【図6】同実施形態のシステムにおいてハイバネーショ
ン処理でセーブされた内容を復元するレジューム処理の
手順を示すフローチャート。
FIG. 6 is an exemplary flowchart illustrating the procedure of a resume process for restoring the content saved in the hibernation process in the system of the embodiment.

【図7】同実施形態のシステムにおけるメモリからHD
Dへのデータ転送動作を示す図。
FIG. 7 is a diagram showing the operation of the system according to the embodiment from the memory to the HD;
The figure which shows the data transfer operation | movement to D.

【図8】同実施形態のシステムのハイバネーション処理
時におけるOS、高速ハイバネーションソフトウェアド
ライバ、BIOSハイバネーションルーチンの動作を具
体的に説明するフローチャート。
FIG. 8 is a flowchart for specifically explaining the operations of an OS, a high-speed hibernation software driver, and a BIOS hibernation routine during hibernation processing of the system of the embodiment.

【図9】同実施形態のシステムにおいてハイバネーショ
ン処理でセーブされた内容を復元する時に実行されるO
S、高速ハイバネーションソフトウェアドライバ、BI
OSハイバネーションルーチンの動作を具体的に説明す
るフローチャート。
FIG. 9 is a diagram illustrating an example of an operation performed when restoring contents saved in the hibernation process in the system according to the embodiment.
S, high-speed hibernation software driver, BI
9 is a flowchart specifically illustrating the operation of an OS hibernation routine.

【図10】同実施形態のシステムのBIOSによって実
行されるハイバネーションエリア確保処理の手順を示す
フローチャート。
FIG. 10 is an exemplary flowchart illustrating the procedure of a hibernation area securing process executed by the BIOS of the system of the embodiment.

【図11】同実施形態のシステムのBIOSによって実
行されるデータセーブ処理の手順を示すフローチャー
ト。
FIG. 11 is an exemplary flowchart illustrating the procedure of data save processing executed by the BIOS of the system of the embodiment.

【図12】同実施形態のシステムのBIOSによって実
行されるデータリストア処理の手順を示すフローチャー
ト。
FIG. 12 is an exemplary flowchart illustrating the procedure of data restoration processing executed by the BIOS of the system of the embodiment.

【図13】同実施形態のシステムにおけるハイバネーシ
ョン処理の第2の例を説明するための図。
FIG. 13 is an exemplary view for explaining a second example of the hibernation process in the system according to the embodiment.

【図14】同実施形態のシステムにおけるハイバネーシ
ョン処理の第2の例を実行するときのOS、高速ハイバ
ネーションソフトウェアドライバ、BIOSハイバネー
ションルーチンの動作を具体的に説明するフローチャー
ト。
FIG. 14 is a flowchart for specifically explaining the operations of an OS, a high-speed hibernation software driver, and a BIOS hibernation routine when a second example of the hibernation process in the system of the embodiment is executed.

【符号の説明】[Explanation of symbols]

11…CPU 12…SMI制御回路 13…メインメモリ 13A…SMRAM 14…BIOS−ROM 15…HDD 16…RTC 17…キーボードコントローラ 18…電源コントローラ 19…VGAコントローラ 101…BIOS 102…オペレーティングシステム 103…高速ハイバネーションソフトウェアドライバ DESCRIPTION OF SYMBOLS 11 ... CPU 12 ... SMI control circuit 13 ... Main memory 13A ... SMRAM 14 ... BIOS-ROM 15 ... HDD 16 ... RTC 17 ... Keyboard controller 18 ... Power supply controller 19 ... VGA controller 101 ... BIOS 102 ... Operating system 103 ... High-speed hibernation software driver

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 電源オフ時にコンピュータシステムの主
メモリの内容をそのシステムの2次記憶装置にセーブす
る機能を有するコンピュータシステムにおいて、 前記主メモリ上における空き領域を検出する検出手段
と、 この検出手段によって検出された空き領域以外の他の使
用中領域のみを、前記2次記憶装置にセーブするセーブ
手段とを具備することを特徴とするコンピュータシステ
ム。
1. A computer system having a function of saving the contents of a main memory of a computer system in a secondary storage device of the system when the power is turned off, a detecting means for detecting an empty area on the main memory, and the detecting means. Computer means for saving only the in-use area other than the free area detected in the secondary storage device.
【請求項2】 前記検出手段は、 前記主メモリ上で空き領域の移動および廃棄可能領域の
廃棄を行うことにより、まとまった空き領域を確保する
ためのメモリ整理を実行するメモリ整理手段を含み、 前記セーブ手段は、 前記メモリ整理手段によって確保された空き領域以外の
他の領域を前記使用中領域として前記2次記憶装置にセ
ーブすることを特徴とする請求項1記載のコンピュータ
システム。
2. The memory control device according to claim 1, wherein the detecting unit moves the free area and discards the discardable area on the main memory, thereby performing a memory rearrangement to secure a collected free area. 2. The computer system according to claim 1, wherein the saving unit saves an area other than the free area secured by the memory organizing unit as the in-use area in the secondary storage device.
【請求項3】 前記メモリ整理手段は、 前記コンピュータシステムのオペレーティングシステム
に対して所定サイズのメモリ領域を要求することによっ
て、前記オペレーティングシステムに前記メモリ整理の
ための処理を実行させる手段を含み、 前記セーブ手段は、 前記オペレーティングシステムによって前記メモリ整理
手段に割り当てられたメモリ領域以外の他の領域を、前
記使用中領域として前記2次記憶装置にセーブすること
を特徴とする請求項2記載のコンピュータシステム。
3. The memory organizing unit includes a unit for requesting an operating system of the computer system for a memory area of a predetermined size, thereby causing the operating system to execute a process for organizing the memory. 3. The computer system according to claim 2, wherein the saving means saves an area other than the memory area allocated to the memory organizing means by the operating system as the in-use area in the secondary storage device. .
【請求項4】 前記メモリ整理手段は、 前記コンピュータシステムのオペレーティングシステム
に対して現在の空き領域よりも大きいサイズのメモリ領
域を要求することを特徴とする請求項3記載のコンピュ
ータシステム。
4. The computer system according to claim 3, wherein said memory organizing unit requests a memory area having a size larger than a current free area to an operating system of said computer system.
【請求項5】 前記メモリ整理手段は、 前記コンピュータシステムに実装されている主メモリの
サイズを検出する手段と、 検出した前記主メモリサイズに応じて、前記オペレーテ
ィングシステムに対して要求するメモリ領域のサイズを
決定する手段とを含むことを特徴とする請求項3記載の
コンピュータシステム。
5. The memory organizing unit includes: a unit configured to detect a size of a main memory installed in the computer system; and a memory area requested to the operating system according to the detected main memory size. 4. The computer system according to claim 3, further comprising: means for determining a size.
【請求項6】 前記セーブ手段は、前記使用中領域の内
容を前記2次記憶装置の通常領域にファイルとして書き
込むことを特徴とする請求項1記載のコンピュータシス
テム。
6. The computer system according to claim 1, wherein the save unit writes the contents of the in-use area as a file in a normal area of the secondary storage device.
【請求項7】 電源オフ時にコンピュータシステムの主
メモリの内容をそのシステムの2次記憶装置にセーブす
る機能を有するコンピュータシステムにおいて、 電源オフ時に、前記コンピュータシステムのオペレーテ
ィングシステムに対して所定サイズのメモリ領域を要求
する手段と、 前記要求に応じて前記コンピュータシステムのオペレー
ティングシステムから割り当てられたメモリ領域を除く
前記主メモリ上の他の領域を、前記2次記憶装置にセー
ブするセーブ手段とを具備することを特徴とするコンピ
ュータシステム。
7. A computer system having a function of saving the contents of a main memory of a computer system to a secondary storage device of the computer system when the power is turned off. Means for requesting an area; and save means for saving, in the secondary storage device, another area on the main memory excluding a memory area allocated from the operating system of the computer system in response to the request. A computer system characterized by the above-mentioned.
【請求項8】 電源再投入時に前記2次記憶装置の内容
を用いて前記主メモリの状態を復元する手段と、 前記要求に応じて前記コンピュータシステムのオペレー
ティングシステムから割り当てられた前記メモリ領域を
解放する手段とをさらに具備することを特徴とする請求
項7記載のコンピュータシステム。
8. A means for restoring the state of the main memory using the contents of the secondary storage device when power is turned on again, and releasing the memory area allocated from the operating system of the computer system in response to the request. The computer system according to claim 7, further comprising:
【請求項9】 前記セーブ手段は、前記オペレーティン
グシステムから割り当てられたメモリ領域を除く前記主
メモリ上の他の領域の内容を、前記2次記憶装置の通常
領域にファイルとして書き込むことを特徴とする請求項
7記載のコンピュータシステム。
9. The saving means writes the contents of another area on the main memory other than the memory area allocated by the operating system as a file in a normal area of the secondary storage device. The computer system according to claim 7.
【請求項10】 コンピュータシステムの電源オフ時に
そのコンピュータシステムの主メモリの内容をそのシス
テムの2次記憶装置にセーブするデータセーブ制御方法
において、 前記主メモリ上における空き領域を検出し、 この検出された空き領域以外の他の使用中領域のみを、
前記2次記憶装置にセーブすることを特徴とするデータ
セーブ制御方法。
10. A data save control method for saving the contents of a main memory of a computer system to a secondary storage device of the computer system when the power of the computer system is turned off, wherein a free area on the main memory is detected. Only the used space other than the free space
A data save control method, wherein the data is saved in the secondary storage device.
【請求項11】 コンピュータシステムの電源オフ時に
そのコンピュータシステムの主メモリの内容をそのシス
テムの2次記憶装置にセーブするデータセーブ制御方法
において、 前記コンピュータシステムのオペレーティングシステム
に対して所定サイズのメモリ領域を要求し、 この要求に応じて前記コンピュータシステムのオペレー
ティングシステムから割り当てられたメモリ領域を除く
前記主メモリ上の他の領域を、前記2次記憶装置にセー
ブすることを特徴とするデータセーブ制御方法。
11. A data save control method for saving the contents of a main memory of a computer system in a secondary storage device of the computer system when the power of the computer system is turned off, wherein a memory area of a predetermined size is provided for an operating system of the computer system. And storing, in the secondary storage device, another area in the main memory excluding a memory area allocated from the operating system of the computer system in response to the request. .
【請求項12】 電源再投入時に、前記2次記憶装置の
内容を用いて前記主メモリの状態を復元し、 前記要求に応じて前記コンピュータシステムのオペレー
ティングシステムから割り当てられた前記メモリ領域を
解放することを特徴とする請求項11記載のデータセー
ブ制御方法。
12. When the power is turned on again, the state of the main memory is restored using the contents of the secondary storage device, and the memory area allocated from the operating system of the computer system is released in response to the request. 12. The data save control method according to claim 11, wherein:
JP14255497A 1997-05-30 1997-05-30 Computer system and data save control method in the system Expired - Fee Related JP3238097B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14255497A JP3238097B2 (en) 1997-05-30 1997-05-30 Computer system and data save control method in the system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14255497A JP3238097B2 (en) 1997-05-30 1997-05-30 Computer system and data save control method in the system

Publications (2)

Publication Number Publication Date
JPH10333997A true JPH10333997A (en) 1998-12-18
JP3238097B2 JP3238097B2 (en) 2001-12-10

Family

ID=15318049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14255497A Expired - Fee Related JP3238097B2 (en) 1997-05-30 1997-05-30 Computer system and data save control method in the system

Country Status (1)

Country Link
JP (1) JP3238097B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004059476A1 (en) * 2002-12-24 2004-07-15 Fujitsu Limited Generation of memory image
JP2005515517A (en) * 2001-05-10 2005-05-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド External locking mechanism for personal computer memory position
CN100339798C (en) * 2005-01-21 2007-09-26 宏碁股份有限公司 Sleep method and apparatus therefor
WO2010055937A1 (en) * 2008-11-17 2010-05-20 日本電気株式会社 Computer system, data storage method, and program
JP4498456B1 (en) * 2009-02-19 2010-07-07 株式会社東芝 Data storage control device and data storage control method
JP2011170874A (en) * 2011-04-08 2011-09-01 Toshiba Corp Information processor and method for increasing speed of data save in the information processor
JP2012037977A (en) * 2010-08-04 2012-02-23 Sony Corp Information processor, power supply controlling method, and program
JP2013114555A (en) * 2011-11-30 2013-06-10 Kyocera Document Solutions Inc Restarting device and restarting method
JP2015022494A (en) * 2013-07-18 2015-02-02 京セラドキュメントソリューションズ株式会社 Electronic apparatus and suspend control program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115259399B (en) * 2022-07-27 2023-10-03 中电建建筑集团有限公司 River ecological restoration device and restoration method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005515517A (en) * 2001-05-10 2005-05-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド External locking mechanism for personal computer memory position
WO2004059476A1 (en) * 2002-12-24 2004-07-15 Fujitsu Limited Generation of memory image
CN100339798C (en) * 2005-01-21 2007-09-26 宏碁股份有限公司 Sleep method and apparatus therefor
US8661183B2 (en) 2008-11-17 2014-02-25 Nec Corporation Computer system, data storage method, and program for reduction of stored data after hibernation
WO2010055937A1 (en) * 2008-11-17 2010-05-20 日本電気株式会社 Computer system, data storage method, and program
JP5445463B2 (en) * 2008-11-17 2014-03-19 日本電気株式会社 Computer system, data storage method and program
JP4498456B1 (en) * 2009-02-19 2010-07-07 株式会社東芝 Data storage control device and data storage control method
JP2010191789A (en) * 2009-02-19 2010-09-02 Toshiba Corp Data storage controller and data storage control method
JP2012037977A (en) * 2010-08-04 2012-02-23 Sony Corp Information processor, power supply controlling method, and program
US9075604B2 (en) 2010-08-04 2015-07-07 Sony Corporation Device and method for determining whether to hold data in a memory area before transitioning to a power saving state
JP2011170874A (en) * 2011-04-08 2011-09-01 Toshiba Corp Information processor and method for increasing speed of data save in the information processor
JP2013114555A (en) * 2011-11-30 2013-06-10 Kyocera Document Solutions Inc Restarting device and restarting method
JP2015022494A (en) * 2013-07-18 2015-02-02 京セラドキュメントソリューションズ株式会社 Electronic apparatus and suspend control program

Also Published As

Publication number Publication date
JP3238097B2 (en) 2001-12-10

Similar Documents

Publication Publication Date Title
JP3253881B2 (en) Computer system and hibernation control method in the system
JP4434482B2 (en) Method and apparatus for performing system management mode service in virtual mode
JP4580528B2 (en) Computer system and its resume processing method
US5845134A (en) Suspend/resume control method and system
US5659798A (en) Method and system for initiating and loading DMA controller registers by using user-level programs
US5276890A (en) Resume control system and method for executing resume processing while checking operation mode of CPU
JP4281421B2 (en) Information processing system, control method therefor, and computer program
US5696926A (en) Method and apparatus for transparently compressing data in a primary storage device
JPH04362717A (en) System restarting device
EP0636981A1 (en) Information processing system
JPH086681A (en) Power saving control system
EP0658843A1 (en) Method for hibernation file creation
JP4155545B2 (en) Computer system and data transfer control method
JP3238097B2 (en) Computer system and data save control method in the system
KR970011216B1 (en) Information processing system
US5963738A (en) Computer system for reading/writing system configuration using I/O instruction
EP0636983A1 (en) Information processing system
US20040199697A1 (en) Mobile computer and base station
JPH0944418A (en) Information-processing system and its control method
US6282645B1 (en) Computer system for reading/writing system configuration using I/O instruction
US6745296B2 (en) System and method for providing cacheable smram
JP3961669B2 (en) Computer system and data transfer control method
JPH11102238A (en) Computer system and suspend control method therefor
JP2000172386A (en) Computer system and method for managing memory power supply
JP3018336B2 (en) Information processing device

Legal Events

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

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081005

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091005

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees