[go: up one dir, main page]

CN1111375A - information processing system - Google Patents

information processing system Download PDF

Info

Publication number
CN1111375A
CN1111375A CN94106571A CN94106571A CN1111375A CN 1111375 A CN1111375 A CN 1111375A CN 94106571 A CN94106571 A CN 94106571A CN 94106571 A CN94106571 A CN 94106571A CN 1111375 A CN1111375 A CN 1111375A
Authority
CN
China
Prior art keywords
information
external memory
memory equipment
file
hibernation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN94106571A
Other languages
Chinese (zh)
Other versions
CN1097228C (en
Inventor
下远野享
萩原干雄
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.)
Lenovo Singapore Pte Ltd
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1111375A publication Critical patent/CN1111375A/en
Application granted granted Critical
Publication of CN1097228C publication Critical patent/CN1097228C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/22Microcontrol or microprogram arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种系统旨在从一个可拆卸的外部存储设备中 唤醒恢复和唤醒重新开始一个任务所必需的信息,而 不管系统是否已经冬眠。历史信息表示系统执行冬 眠操作,只要外部存储设备在以前已经安装在它的一 个预定区域中。唤醒系统检验执行唤醒操作的历史 信息。外部存储设备存储包括任务暂停时的系统配 置信息。唤醒系统比较存储的系统配置信息和系统 本身的配置信息。当二者不一致时,拒绝将信息从外 部存储设备恢复到主存储器中。

Figure 94106571

A system designed to wake up from a removable external storage device information necessary to resume and resume a task, regardless of whether the system has been hibernated or not. The history information indicates that the system performs the hibernation operation as long as the external storage device has been installed in one of its predetermined areas before. The wake-up system checks history information for wake-up operations performed. The external storage device stores system configuration information including when the task is suspended. Wake up the system and compare the stored system configuration information with the configuration information of the system itself. Refuse to restore information from the external storage device to main memory when the two are inconsistent.

Figure 94106571

Description

本发明涉及以低功耗操作的信息处理系统,更具体地说涉及诸如笔记本计算机那样的便携式信息处理系统。The present invention relates to information processing systems operating with low power consumption, and more particularly to portable information processing systems such as notebook computers.

作为最新技术的成果,小型轻便的便携式计算机已经变得很普遍了。当这种便携式计算机用于户外时,就用电池对它们供电。然而安装在便携式计算机上的电池只限于小型电池。这样,电池每充一次电,个人计算机仅能工作很短的一段时间。因此在许多便携式计算机中,提供了各种设备来降低功耗。As a result of the latest technology, small and lightweight portable computers have become commonplace. When such portable computers are used outdoors, they are powered by batteries. However, batteries mounted on portable computers are limited to small batteries. Thus, each time the battery is charged, the personal computer can only be operated for a short period of time. Therefore, in many portable computers, various devices are provided to reduce power consumption.

暂停/恢复便是其中之一种设备的功能。当暂停/恢复功能动作时,如果在一段时间没有检测到I/O设备工作,则对此做出响应,计算机进入暂停模式。在暂停模式下,所有的任务都暂停,并且主存储器存储以后恢复任务所需的数据。在暂停模式下,主存储器和视频存储器(VRAM)的电源接通,而CPU等断电。然而,便携式计算机有一个缺点,即暂停模式持续很长一段的时间内,仅支持暂停/恢复功能,电池的能量也要被消耗,这将导致存储器和VRAM的内容丢失。Suspend/resume is one of these device functions. When the suspend/resume function is activated, if no I/O device activity is detected for a period of time, in response to this, the computer enters suspend mode. In suspend mode, all tasks are suspended and main memory stores the data needed to resume tasks later. In suspend mode, the main memory and video memory (VRAM) are powered on, while the CPU, etc. is powered off. However, a portable computer has a disadvantage that the suspend mode lasts for a long period of time, only suspend/resume function is supported, and the power of the battery is also consumed, which will cause the contents of the memory and VRAM to be lost.

因此,Compaq公司制造的由冬眠模式支持的便携式计算机如LTE Lite/25已经投放市场了(Compaq和LTE都是Compaq计算机公司的注册商标)。当启动冬眠模式时,计算机进入电池低电压状态。另外当暂停模式持续了一段时间,所有的以后恢复任务所需的数据存储在硬盘上之后,计算机进入冬眠状态。在冬眠模式下,包括存储器和VRAM在内的整个系统都断电。当后来用户对系统加电时,硬盘中存储的数据在存储器和VRAM中得到恢复,并且自动恢复已经暂停的任务。伴随着加电开始的一系列操作也称之为唤醒。Therefore, portable computers such as the LTE Lite/25 manufactured by Compaq Corporation supported by hibernation mode have been put on the market (Compaq and LTE are both registered trademarks of Compaq Computer Corporation). When hibernation is initiated, the computer enters a low-battery state. In addition, when the suspend mode lasts for a period of time, after all the data required for future recovery tasks are stored on the hard disk, the computer enters the hibernation state. In hibernation mode, the entire system, including memory and VRAM, is powered down. When the user powers up the system later, the data stored in the hard disk is restored in the memory and VRAM, and the suspended tasks are automatically resumed. A series of operations starting with power-on is also called wake-up.

近些年来,可拆卸的硬盘设备开始装在计算机上。然而,还没有见到有这样的技术使得能够携带任务冻结的可拆卸的硬盘设备,并使得能够将这种设备安装在任务解冻(恢复)的不同系统中。In recent years, removable hard disk devices have begun to be installed on computers. However, there has not been seen such a technology that enables carrying a task-freeze removable hard disk device and enabling such a device to be installed in a different system where the task is unfreezed (recovered).

因此,本发明旨在从一个可拆卸的外部存储设备中恢复重新开始一个任务所必需的信息,而不管将要唤醒的系统是否是已经冬眠的系统。Therefore, the present invention aims at recovering information necessary to restart a task from a removable external storage device, regardless of whether the system to be awakened is a hibernated system or not.

此外,本发明旨在提供一个具有可拆卸的外部存储设备的信息处理系统,该系统能够在系统加电时确定系统是执行从冬眠到唤醒的操作还是执行从冬眠到正常引导的操作。Furthermore, the present invention aims to provide an information processing system having a detachable external storage device capable of determining whether the system performs an operation from hibernation to wakeup or an operation from hibernation to normal boot when the system is powered on.

此外,本发明旨在提供一个具有可拆卸的外部存储设备的信息处理系统,该系统能够确定系统配置是否合适和环境能否唤醒。Furthermore, the present invention aims to provide an information processing system having a detachable external storage device capable of determining whether the system configuration is appropriate and whether the environment can wake up.

PUPA 5-6233公开了一种技术,其中保持恢复所必需的信息的部分构成一个照原样保持内容的、可从计算机的主体上拆卸下来的盒式结构。然而在这种技术中,主存储器本身被设定以成为非易失性的,并且可以从个人计算机的主体上拆卸下来。本发明旨在将信息存储在可以从易失性主存储器上拆卸下来的外部存储设备中,并将这些信息恢复。因此上述常规技术不能提供能解决本发明打算解决的问题的手段。PUPA 5-6233 discloses a technique in which the part holding information necessary for restoration constitutes a detachable cartridge structure holding the content as it is from the main body of the computer. In this technique, however, the main memory itself is set to be nonvolatile and detachable from the main body of the personal computer. The present invention is intended to store information in an external storage device that can be detached from a volatile main memory, and to restore such information. The conventional techniques described above therefore cannot provide a means for solving the problems that the present invention intends to solve.

为了达到以上目的,本发明的第一方面提供了一种信息处理系统,该系统包括CPU、易失性主存储器和可拆卸的非易失性外部存储设备,并且该系统支持唤醒功能,利用该功能已经在所述系统中暂停的任务得到了恢复,所述外部存储设备响应系统上电而已经安装在该系统中,所述任务将必要的信息存储在所述外部存储设备中,其特征在于:In order to achieve the above object, the first aspect of the present invention provides an information processing system, the system includes a CPU, a volatile main memory and a detachable non-volatile external storage device, and the system supports a wake-up function, using the A task whose function has been suspended in the system is resumed, the external storage device has been installed in the system in response to powering on the system, the task stores necessary information in the external storage device, characterized in that :

在所述外部存储设备的预定区域中存储表示在所述系统中已经执行冬眠操作的历史信息,所述外部存储设备此前已经安装在所述系统中;以及storing history information indicating that a hibernation operation has been performed in the system in a predetermined area of the external storage device, the external storage device having previously been installed in the system; and

所述系统包括检验所述历史信息和执行唤醒操作的装置。The system includes means for checking the historical information and performing a wake-up operation.

此外,本发明的第二方面包括一种信息处理系统,该系统包括CPU、易失性主存储器和可拆卸的非易失性外部存储设备,并且该系统支持唤醒功能,利用该功能已经在所述系统中暂停的任务得到了恢复,对系统电源接通作出响应,所述外部存储设备已经安装在该系统中,所述任务将必要的信息存储在所述外部存储设备中,其特征在于:Furthermore, a second aspect of the present invention includes an information processing system including a CPU, a volatile main memory, and a detachable nonvolatile external storage device, and the system supports a wake-up function by which the The task suspended in the system is resumed, and the system power is turned on in response, the external storage device has been installed in the system, and the task stores necessary information in the external storage device, which is characterized in that:

所述外部存储设备存储包括所述任务暂停时的系统配置信息的控制信息,The external storage device stores control information including system configuration information when the task is suspended,

所述系统包括:The system includes:

(a)用于将存储在所述外部存储设备中的系统配置信息与系统本身的系统配置信息进行比较的装置,(a) means for comparing system configuration information stored in said external storage device with system configuration information of the system itself,

(b)根据所述配置信息的一致性,将用于恢复所述任务所必需的信息从所述外部存储设备恢复到所述主存储器中的装置,以及(b) means for restoring information necessary for restoring the task from the external storage device into the main memory according to the consistency of the configuration information, and

(c)根据所述配置信息的非一致性,拒绝将信息从所述外部存储设备恢复到所述主存储器中的装置。(c) means for refusing to restore information from the external storage device to the main memory based on the inconsistency of the configuration information.

图1表示采用本发明的信息系统的一个实施例中的硬件结构;Fig. 1 represents and adopts the hardware structure in an embodiment of the information system of the present invention;

图2表示硬件结构;Fig. 2 shows hardware structure;

图3表示冬眠文件的结构;Figure 3 shows the structure of the hibernation file;

图4表示能被OS文件系统或PM码访问的驱动器;Fig. 4 represents the drive that can be accessed by OS file system or PM code;

图5表示执行POST步骤的流程图;Figure 5 represents a flow chart for performing the POST steps;

图6表示文件准备实用程序的运行过程的流程图;Figure 6 shows a flowchart of the operation of the file preparation utility;

图7表示一般的冬眠/唤醒序列的流程图;Figure 7 shows a flow chart of a general hibernation/wake sequence;

图8表示存储冬眠文件的运行过程的流程图;Fig. 8 represents the flowchart of the operation process of storing hibernation file;

图9表示硬盘上的文件分配表;Fig. 9 represents the file allocation table on the hard disk;

图10表示变换后的文件分配信息;Figure 10 represents the transformed file allocation information;

图11表示从冬眠文件的恢复运行过程的流程图;Fig. 11 represents the flowchart of the recovery operation process from the hibernation file;

图12表示与冬眠图符显示有关的运行过程的流程图;Fig. 12 represents the flow chart of the operation process related to the hibernation icon display;

图13表示包括冬眠图符的屏幕;Figure 13 shows a screen including hibernation icons;

图14表示包括冬眠图符的屏幕;Figure 14 shows a screen including hibernation icons;

图15表示冬眠图符显示操作的详细过程的流程图;Fig. 15 is a flow chart showing the detailed procedure of the hibernation icon display operation;

图16表示与FDD变更线仿真有关的硬件;Figure 16 shows the hardware associated with FDD change line emulation;

图17表示包括在FDD变更线仿真的第一种方法中的步骤的流程图;Figure 17 shows a flowchart of the steps involved in the first method of FDD change line simulation;

图18表示在第一种方法中I/O访问的陷阱;Fig. 18 shows the trap of I/O access in the first method;

图19表示BIOS/驱动器中代码和陷阱之间的关系;Figure 19 represents the relationship between codes and traps in the BIOS/driver;

图20表示实现FDD变更线仿真的第二种方法的硬件;Fig. 20 represents the hardware realizing the second method of FDD change line emulation;

图21表示包括在第二种方法中的流程图;以及Fig. 21 represents the flow diagram that is included in the second method; And

图22表示与第二种方法有关的波形图。Fig. 22 shows waveform diagrams related to the second method.

[实施例][Example]

A.整个系统的配置A. The configuration of the whole system

图1以简要的形式表示采用本发明的笔记本式计算机(以下简称为系统)的主要硬件的构成部件。参考号10表示主CPU。在本实施例中,它是包括存储器控制器的Intel 80486SL。CPU10通过存储器通路11与主存储器12和PM存储器13通信。主存储器12装入BIOS、驱动器程序、OS和应用程序。另一方面,PM存储器13存储进行包括冬眠模式及其工作数据的电源管理的PM码(PMC)。PM存储器进一步分成一个存储PMC的区域和一个存储工作数据的区域。在POR(电源接通/复位)时,PMC被从ROM装入。FIG. 1 schematically shows the main hardware components of a notebook computer (hereinafter simply referred to as a system) to which the present invention is applied. Reference numeral 10 denotes a main CPU. In this embodiment, it is an Intel 80486SL including a memory controller. The CPU 10 communicates with the main memory 12 and the PM memory 13 through the memory path 11 . The main memory 12 is loaded with BIOS, drivers, OS and application programs. On the other hand, the PM memory 13 stores a PM code (PMC) for performing power management including the hibernation mode and its operation data. The PM memory is further divided into an area for storing PMC and an area for storing work data. At POR (power on/reset), the PMC is loaded from ROM.

可以为PM存储器和主存储器分配不同的芯片,例如用SRAM作为PM存储器,用DRAM作为主存储器。本实施例用80486SL的体系结构将每块DRAM芯片的一个特定区域分配给主存储器12和PM存储器13。Different chips can be allocated for PM memory and main memory, for example, SRAM is used as PM memory and DRAM is used as main memory. In this embodiment, the architecture of 80486SL is used to allocate a specific area of each DRAM chip to the main memory 12 and the PM memory 13 .

PMC能够访问主存储器12和PM存储器13。另一方面,OS和驱动器不能够访问PM存储器13。存储器控制器可以切换CPU10的通信,以便CPU10或者与主存储器12通信,或者与PM存储器13通信。The PMC can access the main memory 12 and the PM memory 13 . On the other hand, the OS and drivers cannot access the PM memory 13 . The memory controller can switch the communication of the CPU 10 so that the CPU 10 communicates with either the main memory 12 or the PM memory 13 .

CPU10通过地址/数据总线14与陷阱逻辑电路16、DMAC(直接存储器存取控制器)18、PIC(可编程中断控制器)20、PIT(可编程间隔计时器)22、串行口24、并行口26、RTC(实时时钟)28、CMOS30和ROM32相连。CPU10 communicates with trap logic circuit 16, DMAC (direct memory access controller) 18, PIC (programmable interrupt controller) 20, PIT (programmable interval timer) 22, serial port 24, parallel through address/data bus 14 and trap logic circuit 16, Port 26, RTC (real time clock) 28, CMOS30 and ROM32 are connected.

陷阱逻辑电路16的输出端通过系统中断线52与CPU10的一个特定的引线端相连。陷阱逻辑电路16持续不断地监视总线14。当陷阱逻辑电路16检测到对设置在存储的寄存器中的地址进行访问的信号时,系统中断线52变得有效。当输入外部输入端的信号50变得有效时,陷阱逻辑电路16也启动系统中断线52。The output of trap logic circuit 16 is connected to a specific terminal of CPU 10 via system interrupt line 52 . Trap logic circuit 16 continuously monitors bus 14 . The system interrupt line 52 becomes asserted when the trap logic circuit 16 detects a signal that an access is made to the address set in the stored register. Trap logic circuit 16 also activates system interrupt line 52 when signal 50 input to the external input becomes active.

本实施例采用Intel I/O芯片组82360SL,它包括陷阱逻辑电路16、DMAC18、PIC20、PIT22、串行口24、RTC28和CMOS30。在82360SL中,系统中断称之为SMI(系统管理中断)。当出现SMI时,存储器控制器使CPU10和PM存储器13中间发生通信,从而开始执行作为SMI处理程序的PMC。SMI处理程序(PMC)检测SMI的原因,并根据其原因转移到一个处理的例程。Present embodiment adopts Intel I/O chipset 82360SL, and it comprises trap logic circuit 16, DMAC18, PIC20, PIT22, serial port 24, RTC28 and CMOS30. In 82360SL, the system interrupt is called SMI (System Management Interrupt). When an SMI occurs, the memory controller causes communication between the CPU 10 and the PM memory 13 to start execution of the PMC as an SMI processing program. The SMI handler (PMC) detects the cause of the SMI and, depending on the cause, branches to a handling routine.

串行口24通过串行口缓冲器34与一个或多个I/O驱动器相连。这些I/O驱动器可以自动地为分配给口24的I/O空间的基地址设置两个数中的任一个(例如3F8(H)或2F8(H))。Serial port 24 is connected to one or more I/O drivers through serial port buffer 34 . These I/O drivers can automatically set either of two numbers (eg, 3F8(H) or 2F8(H)) for the base address of the I/O space assigned to port 24.

RTC28和CMOS30装在一块芯片上。备用电池36在即使系统断电的情况下也能给芯片供电。备用电池36可以是钮扣(coin)电池。RTC28 and CMOS30 are installed on one chip. A backup battery 36 can power the chip even if the system is powered off. Backup battery 36 may be a coin battery.

ROM32除了储存BIOS码外,也储存PMC。在系统的POR时运行的POST(加电自测试)将PMC从ROM32装入PM存储器13。In addition to storing the BIOS code, the ROM 32 also stores the PMC. POST (Power On Self Test), which runs at the system's POR, loads the PMC from ROM 32 into PM memory 13 .

CPU10通过KMC(键盘/鼠标控制器)38从鼠标42和键盘44接收信号。在本实施例中,监视键盘44的一个矩阵的处理器(子CPU40)也作为电源管理功能的一部分。子CPU40监视键盘44的一个矩阵、LED46和主电池48。当子CPU40检测到发生预定的情况时,即例如按下一个正在工作的键、LED关闭或主电池48处于低电压状态,则信号线50变成有效。子CPU40通过总线41与总线14相连。于是子CPU通过总线41利用CPU10交换关于电源管理的指令和数据(包括冬眠)。CPU 10 receives signals from mouse 42 and keyboard 44 via KMC (keyboard/mouse controller) 38 . In this embodiment, a matrix of processors (sub-CPUs 40) monitoring keyboard 44 is also included as part of the power management function. Sub CPU 40 monitors a matrix of keyboard 44 , LED 46 and main battery 48 . Signal line 50 becomes active when sub-CPU 40 detects that a predetermined condition has occurred, such as pressing an active key, LED turning off, or main battery 48 being in a low voltage state. The sub CPU 40 is connected to the bus 14 via the bus 41 . Then the sub-CPUs exchange instructions and data (including hibernation) related to power management with the CPU 10 via the bus 41 .

子CPU40向电源控制寄存器54输出一个信号,指示每个部件断电,或整个系统断电。详细情况将在下面结合图2给出。The sub-CPU 40 outputs a signal to the power control register 54 instructing each component to be powered off, or the entire system to be powered off. Details will be given below in conjunction with FIG. 2 .

CPU10通过总线14与VGA芯片56相连。VGA芯片是一个显示控制器,它通过LCDC(LCD控制器)60控制LCD板62,因此根据VRAM58的内容显示信息。否则可以安装包括CRT66和DAC(数模转换器)64的显示单元作为系统的一种选择方案。在这种情况下,VGA芯片56控制CRT66上的信息显示。The CPU 10 is connected to the VGA chip 56 through the bus 14 . The VGA chip is a display controller which controls the LCD panel 62 through the LCDC (LCD Controller) 60 and thus displays information according to the contents of the VRAM 58 . Otherwise a display unit including a CRT 66 and a DAC (Digital to Analog Converter) 64 can be installed as an option for the system. In this case, the VGA chip 56 controls the display of information on the CRT 66 .

系统安装一个硬盘设备68和FDC(软盘控制器)70/FDD(软盘驱动器)72作为外部存储设备。硬盘设备68从本身的概念来看包括硬盘驱动器和安装在硬盘驱动器中的硬盘。硬盘设备68以下将称之为硬文件。当系统进入冬眠模式时,在硬文件上准备存储数据的文件(冬眠文件)。根据本发明,即使当硬文件是可拆卸的,冬眠/唤醒也能够得到支持。The system installs a hard disk device 68 and FDC (floppy disk controller) 70/FDD (floppy disk drive) 72 as external storage devices. The hard disk device 68 includes a hard disk drive and a hard disk installed in the hard disk drive in concept itself. The hard disk device 68 will hereinafter be referred to as a hard file. When the system enters hibernation mode, a file (hibernation file) for storing data is prepared on the hard file. According to the present invention, hibernation/wakeup can be supported even when the hard file is detachable.

除了上述硬件部件之外,系统中实际上还有许多I/F(接口)(例如在硬文件68和总线14之间设置了总线收发机)。这些部件对本领域的一般技术人员来说已经是已知的。为了简单起见,在附图中没有将它们画出。In addition to the above-mentioned hardware components, there are actually many I/Fs (interfaces) in the system (for example, a bus transceiver is set between the hard file 68 and the bus 14). These components are already known to those of ordinary skill in the art. For simplicity, they are not drawn in the drawings.

下面将结合图2描述通电/断电机构。主电池的输出被输入至FET开关76,它能使整个系统一次断电。FET开关76的输出直接送至主存储器和VRAM。另一方面,FET开关76的输出分别通过FET开关80送至LCD背后照明电源的输入端,通过FET开关81送至直接与串行口24相连的集成的调制解调器,以及通过开关78送至主CPU10和其它外设。The power on/off mechanism will be described below with reference to FIG. 2 . The output of the main battery is input to a FET switch 76 which enables the entire system to be powered down at once. The output of FET switch 76 goes directly to main memory and VRAM. On the other hand, the output of the FET switch 76 is sent to the input terminal of the LCD backlight power supply through the FET switch 80, to the integrated modem directly connected to the serial port 24 through the FET switch 81, and to the main CPU 10 through the switch 78. and other peripherals.

每个FET开关与对应于电源控制寄存器54的一个位单元电连接。于是,子CPU40给寄存器54设置的值控制FET开关76、78、80和81的通电/断电。当系统进入冬眠模式时,当接收到PMC指令时,子CPU40给相应的位设置一个使FET开关76断电的值,由此使包括主存储器和VRAM的整个系统断电。当系统进入暂停模式时,当接收到PMC指令时,子CPU40使FET开关76通电,并设置一个使寄存器54中的FET开关78、80、81断电的值,由此使除主存储器和VRAM以外的系统断电。Each FET switch is electrically connected to a bit cell corresponding to the power control register 54 . Thus, the value set by the sub-CPU 40 to the register 54 controls the energization/de-energization of the FET switches 76 , 78 , 80 and 81 . When the system enters the hibernation mode, when receiving a PMC command, the sub-CPU 40 sets a corresponding bit to a value that powers off the FET switch 76, thereby powering off the entire system including the main memory and VRAM. When the system enters the suspend mode, when receiving the PMC command, the sub-CPU 40 enables the FET switch 76 to be energized, and sets a value that causes the FET switches 78, 80, 81 in the register 54 to be de-energized, thereby making all but the main memory and the VRAM Other systems are powered off.

电源控制寄存器54的清零端与系统的电源开关82电连接。于是当用户为系统接通电源时产生的信号对寄存器54的一个值复位,从而接通所有的FET开关,使整个系统通电。The reset terminal of the power control register 54 is electrically connected to the power switch 82 of the system. A signal generated when the user applies power to the system then resets a value in register 54, thereby turning on all of the FET switches and energizing the entire system.

B.冬眠文件的结构B. Structure of the hibernate file

如图3所示,本实施例确保在硬盘上为控制信息提供用于块A的存储单元,为文件分配信息提供用于块B的存储单元,为PM存储器中的工作数据提供用于块C的存储单元,为VRAM的内容提供用于块D的存储单元,以及为主存储器的内容提供用于块E的存储单元。如同下面将要详细地说明的那样,系统一接通电源,就需要控制信息。这种信息包括系统配置信息和块B至D的各个开始地址。工作数据是冬眠所需的另外的数据。工作数据包括硬件内容信息(以后说明)和不同的控制标志。控制标志的一个实例是其值可以由用户变换的标志,用于当系统进入或存在于冬眠模式时选择系统是否发出嘟嘟声。As shown in Figure 3, this embodiment ensures that on the hard disk there is a storage unit for block A for control information, a storage unit for block B for file allocation information, and a storage unit for block C for working data in the PM memory The memory cells for block D are provided for the contents of the VRAM, and the memory cells for block E are provided for the contents of the main memory. As will be explained in more detail below, control information is required as soon as the system is powered on. Such information includes system configuration information and the respective start addresses of blocks B to D. Working data is additional data required for hibernation. Job data includes hardware content information (described later) and various control flags. An example of a control flag is a flag whose value can be changed by the user to select whether the system beeps when the system enters or exists in hibernation mode.

块A至E可以是一系列物理地连成一个集成电路的区域。然而,块A至少需要驻留在盘上的一个固定位置中。于是在本实施例中,只有块A安排在CE同位标磁道的开头(它被保留,但不能被用户访问),它规定在硬盘的最内部分。其要点是,上述位置是固定的,并且可以从CE同位标磁道中间的一个扇区存储控制信息。Blocks A through E may be a series of regions physically connected into an integrated circuit. However, block A needs to reside in at least one fixed location on the disk. Thus in this embodiment, only block A is arranged at the beginning of the CE parity track (it is reserved, but cannot be accessed by the user), which is defined in the innermost part of the hard disk. The gist of it is that the above locations are fixed and control information can be stored from a sector in the middle of the CE parity track.

如同在C部分将要详细地看到的那样,块B至E是OS文件系统使用的位置,为的是以与用户文件相同的大小确保硬盘的用户分区中一个文件的一个位置。文件名被保留,在本实施例中是PM-HIBER.BIN。块B至E可在长度方向上延伸。当冬眠文件实际上储存数据时,可以确定块C至E的起始地址。构成块B至E的扇区通常以分散方式物理地驻留在硬盘上。扇区连接信息以表的形式记录在硬盘上的文件分配信息区域(当DOS用作OS时是FAT)。如同在D部分将要详细地看到的那样,PMC将构成PM-HIBER.BIN的扇区连接信息交换成唯一的分配信息,并将经变换的信息存在块B中。As will be seen in detail in Section C, blocks B to E are locations used by the OS file system to secure a location for a file in the user partition of the hard disk at the same size as the user file. The file name is reserved, PM-HIBER.BIN in this embodiment. Blocks B to E may extend in the length direction. When the hibernation file actually stores data, the start addresses of blocks C to E can be determined. The sectors that make up blocks B to E typically reside physically on the hard disk in a distributed fashion. Sector connection information is recorded in the file allocation information area (FAT when DOS is used as OS) on the hard disk in the form of a table. As will be seen in detail in Section D, the PMC swaps the sector connection information making up the PM-HIBER.BIN into unique allocation information and stores the transformed information in block B.

C.冬眠文件的产生C. Hibernation file generation

以下结合图4至6详细说明根据本发明的冬眠文件的产生过程。The process of generating the hibernation file according to the present invention will be described in detail below with reference to FIGS. 4 to 6 .

根据本发明,OS文件系统用来在块设备如硬文件等的用户分区提供一个冬眠文件。为此,准备一个文件准备实用程序(例如可执行的程序(.EXE文件)),用来生成冬眠文件。然而,可用多个块设备,PMC不需要直接访问所有的设备(不通过由OS系统文件管理的驱动器/BIOS)。这是因为PMC不能直接访问某些设备,其原因恰恰在于从实用程序看上去是逻辑相同的驱动PMC的I/F(硬件)是不合适的。According to the present invention, an OS file system is used to provide a hibernation file in a user partition of a block device such as a hard file or the like. For this, prepare a file preparation utility such as an executable program (.EXE file) that will generate the hibernation file. However, multiple block devices are available and the PMC does not need to access all of them directly (not through drivers/BIOS managed by OS system files). This is because the PMC cannot directly access certain devices, and the reason is that the I/F (hardware) that drives the PMC, which looks logically the same from the utility, is not suitable.

在图4所示的实施例中,OS文件系统可以访问可拆卸的盘(光盘、SSF(固态文件)、SRAM卡等)、网络驱动器(远程文件)、RAM盘、压缩分区、作为SCSI驱动器的硬文件1、作为IDE驱动器的硬文件2的分区1、2和3。对实用程序来说,这些都是相同的逻辑驱动器。In the embodiment shown in Figure 4, the OS file system can access removable disks (CD-ROM, SSF (Solid State File), SRAM card, etc.), network drives (remote files), RAM disks, compressed partitions, Hard File 1, Partitions 1, 2 and 3 of Hard File 2 as IDE drives. To the utility, these are the same logical drive.

下面说明这些驱动器。起初,网络驱动器是用于通过一个网络连接的不同系统的驱动器。PMC不能访问网络驱动器以传送冬眠/唤醒数据。RAM盘是一个想象的驱动器,并且没有准备,PMC能够访问的I/F(由于RAM盘在本质上是易失性的,在冬眠模式期间盘不能保存数据)。These drivers are described below. Originally, network drives were drives for different systems connected by a network. PMC cannot access network drivers to send hibernation/wake data. The RAM disk is an imaginary drive, and has no I/F that the PMC can access (since the RAM disk is volatile in nature, the disk cannot hold data during hibernation mode).

压缩分区是一个用于存储压缩数据的驱动器。在压缩分区中,具有特定算法的相应的驱动器压缩将要被写入驱动器中的数据,或扩展将要读出的数据。PMC不能采用压缩/扩展算法,因为对应于压缩分区的驱动器可以在OS文件系统的管理下运行。因此,压缩分区对准备冬眠文件来说是不适合的。此外,当只有IDE驱动器准备作为硬文件的I/F时,PMC才可以直接访问,PMC不能访问硬文件1。A compressed partition is a drive used to store compressed data. In a compressed partition, a corresponding drive with a specific algorithm compresses data to be written into the drive, or expands data to be read. The PMC cannot employ compression/expansion algorithms because drives corresponding to compressed partitions can operate under the management of the OS file system. Therefore, compressed partitions are not suitable for preparing hibernation files. In addition, when only the IDE drive is prepared as the I/F of the hard file, the PMC can directly access it, and the PMC cannot access the hard file1.

在硬文件2上准备的分区4是一个隐分区。此外,分区5是一个其格式在OS文件系统上不支持的驱动器。当DOS用于OS文件系统中时,OS/2的HPFS不支持(OS/2是IBM公司的注册商标)。即使当PMC能够访问这些分区4和5,OS文件系统也不能访问这些分区4和5。Partition 4 prepared on hard file 2 is a hidden partition. Also, partition 5 is a drive whose format is not supported on the OS file system. When DOS is used in the OS file system, HPFS of OS/2 does not support (OS/2 is a registered trademark of IBM Corporation). Even when the PMC can access these partitions 4 and 5, the OS file system cannot access these partitions 4 and 5.

当实用程序是指OS文件系统时,这些驱动器中的某一些变得不适合准备冬眠文件。在图4所示实施例中,网络驱动器便是这样的一种驱动器。然而对实用程序来说,PMC是否能访问其它驱动器还不清楚。Some of these drives become unsuitable for preparing hibernation files when the utility refers to the OS file system. In the embodiment shown in FIG. 4, a network driver is such a driver. However, it is unclear whether the PMC can access other drives for utilities.

可以想象,分配给驱动器的驱动器字母可以使实用程序指定一个冬眠文件准备文件。然而,根据安装的支持驱动器的驱动程序的等级,驱动器字母是不同的。此外,当多个可以引导的驱动器驻留时,实用程序不能通过利用一个驱动器字母以固定的方式指定该驱动器。另一方面,PMC不知道驱动器和驱动器字母之间的相互关系。Conceivably, the drive letter assigned to the drive could make the utility specify a hibernation file to prepare the file for. However, the drive letter is different depending on the level of the installed driver that supports the drive. Also, when multiple bootable drives reside, the utility cannot specify the drive in a fixed manner by utilizing a drive letter. PMC, on the other hand, does not know the interrelationship between drives and drive letters.

本发明以下述方式确定一个驱动器,它能够被PMC访问,并且适用于实用程序准备冬眠文件。The present invention determines a drive, which can be accessed by the PMC, and which is suitable for the utility to prepare the hibernation file in the following manner.

首先结合图5详细说明在POR时的系统操作。当电源开关接通或当系统复位时,运行POST程序(步骤502)。当POST将PMC装入PM存储器的过程完成以后,暂时执行PMC。PMC可以访问的每个驱动器查找冬眠文件(PM-HIBER.BIN)(步骤503)。查找完成以后,再次执行POST,从而进入正常的引导过程或唤醒引导过程(步骤504、505)。Firstly, the system operation at the time of POR will be described in detail with reference to FIG. 5 . When the power switch is turned on or when the system is reset, the POST program is executed (step 502). When the process of POST loading the PMC into the PM memory is completed, the PMC is temporarily executed. Each drive that the PMC can access looks for a hibernation file (PM-HIBER.BIN) (step 503). After the search is completed, POST is executed again, so as to enter the normal boot process or wake up the boot process (steps 504, 505).

下面结合图6说明由冬眠文件准备实用程序执行的步骤。当用户通过图形用户接口输入一个命令或给出一个指令启动冬眠文件时,开始执行文件准备实用程序(步骤601)。在步骤602,实用程序调用BIOS,了解冬眠文件所需的规模(主存储器的总体大小,PM存储器和VRAM的工作数据区)。The steps performed by the hibernation file preparation utility are described below with reference to FIG. 6 . When the user inputs a command or gives an instruction to start the hibernation file through the graphical user interface, the file preparation utility starts to be executed (step 601 ). In step 602, the utility calls the BIOS to know the required size of the hibernation file (the overall size of the main memory, the PM memory and the working data area of the VRAM).

在步骤603,询问规模比需要的PMC在步骤503查找的规模大的冬眠文件(PM-HIBER.BIN)是否存在。如果这样的文件存在,则文件可被用来存储数据。于是这之后的过程结束。In step 603 , it is inquired whether there is a hibernation file (PM-HIBER.BIN) whose size is larger than the required PMC searched in step 503 . If such a file exists, the file can be used to store data. So the process after this ends.

当PMC的回答是否定的,则对每个驱动器来说执行以下步骤,实用程序可以访问除以下所述驱动器以外的驱动器,所述驱动器根据OS文件系统象网络驱动器一样是不适合的。When the PMC answers in the negative, the following steps are performed for each drive, the utility can access drives other than those described below which are not suitable as network drives according to the OS file system.

首先确定所选择的驱动器的规模是否大于上述所需的规模(步骤606)。如果判断的结果回答是肯定的,则用OS文件系统临时准备一个小的文件,其文件名保存在驱动器中,从而通知PMC这样一个事实,即文件临时准备好了(步骤607)。临时文件的名可以是PM-HIBER.BIN或其它的名称。准备它的文件的规模可以是0。It is first determined whether the size of the selected drive is larger than the above-mentioned required size (step 606). If the result of the judgment is answered in the affirmative, a small file is temporarily prepared with the OS file system, and its file name is stored in the drive, thereby notifying the PMC of such a fact that the file is temporarily ready (step 607). The name of the temporary file can be PM-HIBER.BIN or other names. The size of the file to prepare it can be 0.

已经被通知上述事实的PMC立即打算读临时文件。当PMC任务完成后,它向实用程序发出一个肯定的答复。当驱动器收到来自PMC的肯定答复后,PMC可以访问该驱动器。PMC的规模也足够大。因此,实用程序擦除起初的临时文件。这之后,通过使用OS文件系统,在驱动器上准备具有和上述必需文件相同规模并且文件名是PM-HIBER.BIN的冬眠文件(步骤609)。The PMC that has been notified of the above fact immediately intends to read the temporary file. When the PMC task is complete, it sends an affirmative reply to the utility. When the drive receives an affirmative reply from the PMC, the PMC can access the drive. The scale of PMC is also large enough. Therefore, the utility erases the initial temporary files. After that, by using the OS file system, a hibernation file having the same size as the above-mentioned necessary file and having a file name of PM-HIBER.BIN is prepared on the drive (step 609 ).

当PMC未发出确认时,则擦除临时文件(步骤611)。然后对选择的文件来说重复步骤606、607和608。当驱动器的规模不够时,跳过步骤607、608和611。当PMC对任何驱动器都不发出肯定的答复时,系统通过发出嘟嘟声或显示一条信息,通知用户不能用这种设备执行冬眠文件。这之后,操作序列完成(步骤614)。When the PMC does not issue an acknowledgment, the temporary file is erased (step 611). Steps 606, 607 and 608 are then repeated for the selected files. When the size of the driver is not enough, steps 607, 608 and 611 are skipped. When the PMC does not give an affirmative reply to any drive, the system notifies the user by beeping or displaying a message that the hibernation file cannot be executed with this device. After this, the sequence of operations is complete (step 614).

在上述实施例中,检测适于准备文件的驱动器,并且立即准备冬眠文件。作为对这一实施例的修改,检验冬眠文件的准备是否对所有的逻辑驱动器都适合之后,可以提出对用户适合的一个驱动器。在这种情况下,提示对用户适合的驱动器,以便提出在由用户所选择的驱动器上准备一个冬眠文件。In the above-described embodiment, a drive suitable for preparing a file is detected, and a hibernation file is immediately prepared. As a modification to this embodiment, after checking whether the preparation of the hibernation file is suitable for all logical drives, a drive suitable for the user may be proposed. In this case, the drive suitable for the user is prompted, so that a hibernation file is proposed to be prepared on the drive selected by the user.

D.存储/恢复序列概述D. Overview of the save/restore sequence

参照图7,说明进入或存在于冬眠模式的存储/恢复序列概况。当主CPU执行PM存储器的PMC时,进行图中所示的步骤701至708,以及步骤713至719。Referring to Figure 7, an overview of the store/restore sequence for entering or remaining in hibernation mode is illustrated. When the main CPU executes the PMC of the PM memory, steps 701 to 708 shown in the figure, and steps 713 to 719 are performed.

首先说明存储/恢复序列。如图1所示,当子CPU40检测到出现预定情况时(例如按下一个正在工作的键或系统处于低电压状态)陷阱逻辑电路16向主CPU10传送一个系统中断信号。这使得正在执行的任务暂停,并且系统操作的控制权从OS文件系统或一个应用程序转移到PMC(陷阱处理程序)。First, the store/restore sequence is explained. As shown in FIG. 1, trap logic circuit 16 transmits a system interrupt signal to main CPU 10 when sub-CPU 40 detects a predetermined condition (such as pressing a working key or the system is in a low voltage state). This causes the executing task to be suspended and the control of the system operation is transferred from the OS file system or an application to the PMC (trap handler).

当PMC分析系统中断的原因,并且确定通过信号线50加入的外部现象对系统中断负责时,PMC转移到存储操作执行例程,以便进入冬眠模式。When the PMC analyzes the cause of the system interruption and determines that an external phenomenon added through the signal line 50 is responsible for the system interruption, the PMC transfers to the storage operation execution routine to enter the hibernation mode.

开始PMC检测I/O设备中存在的活动(步骤701)。当存在活动时(例如执行DMA),经过预定时间之后(例如10秒)再次重复检测活动,一直等到检测到I/O活动。The PMC is started to detect the activity existing in the I/O device (step 701). When there is activity (for example, performing DMA), after a predetermined period of time (for example, 10 seconds), the detection activity is repeated again until the I/O activity is detected.

当没有检测到I/O活动时,PMC在PM存储器中保存硬件前后关系信息。下一步,系统将来自PMC存储器的包括硬件前后关系信息的整个工作数据保存到硬盘设备中(步骤702)。硬件前后关系信息的典型例子包括每块芯片如CPU的寄存器值,中断控制器、DMA控制器和视频控制器的寄存器值,以及计时器的计时值。When no I/O activity is detected, the PMC saves hardware context information in PM memory. Next, the system saves the entire working data including hardware context information from the PMC memory to the hard disk device (step 702 ). Typical examples of hardware context information include register values of each chip such as CPU, register values of interrupt controller, DMA controller, and video controller, and counting values of timers.

在步骤703,PMC将VRAM的原始数据传送给硬盘设备。这时为了在硬盘上进行存储,可以压缩VRAM的数据。在步骤704,表示冬眠的存储操作有效的图符图象写入VRAM,以便在显示设备中显示。In step 703, the PMC transmits the original data of the VRAM to the hard disk device. At this time, in order to store on the hard disk, the data of VRAM can be compressed. In step 704, an icon image indicating that the hibernated store operation is active is written into the VRAM for display on the display device.

在显示一个图符的同时,PMC将主存储器的原始数据传送给硬盘设备(步骤705)。这时,为了存储在硬盘上,可以压缩主存储器中的数据。在步骤706,来自CMOS的系统配置信息存储在硬盘设备中。系统配置信息的典型的例子包括与系统主体(便携式计算机)相连的任选设备的类型和数量,以及主存储器的规模。While displaying an icon, the PMC transfers the raw data of the main memory to the hard disk device (step 705). At this time, the data in the main memory may be compressed for storage on the hard disk. In step 706, the system configuration information from CMOS is stored in the hard disk device. Typical examples of system configuration information include the type and number of optional devices connected to the system main body (portable computer), and the size of the main memory.

在步骤707,PMC设置表示上述序列已经经过的冬眠标记。冬眠标记是2字节信息,它是存储在图中所示区域A中的一条控制信息。In step 707, the PMC sets a hibernation flag indicating that the above sequence has passed. The hibernation flag is 2-byte information which is a piece of control information stored in area A shown in the figure.

最后,PMC向子CPU发出一条命令,使系统断电(步骤708)。Finally, the PMC sends a command to the sub-CPU to power off the system (step 708).

接下来说明恢复序列。当系统接通电源时,主CPU执行存储在ROM中的POST(通电自检测)程序(步骤712)。POST进行以下操作。Next, the recovery sequence will be described. When the system is powered on, the main CPU executes a POST (Power On Self Test) program stored in ROM (step 712). POST performs the following operations.

(ⅰ)当系统配置修改时,例如断电期间存储器增加,或改变FDD的数量,POST检测到这种修改,通过利用建立程序,直接或间接地重写CMOS的系统配置信息。(i) When the system configuration is modified, such as increasing the memory during power-off, or changing the number of FDDs, POST detects this modification, and rewrites the system configuration information of CMOS directly or indirectly by using the establishment program.

(ⅱ)作为与FDD相关的操作,系统检测FDD/FDC是否正常运行,系统需要在冬眠唤醒前从FDD引入,并且去除FDD,安装另一单元或设备。(ii) As an operation related to FDD, the system detects whether the FDD/FDC is operating normally, and the system needs to import from FDD before waking up from hibernation, remove FDD, and install another unit or device.

(ⅲ)PMC从ROM传送至PM存储器。(iii) PMC is transferred from ROM to PM memory.

(ⅳ)检测冬眠标记。(iv) Detection of hibernation markers.

当系统需要从FDD引入,或当系统不经过步骤701至708断电时,系统进入正常引导过程,不需要将整个系统运行的控制权传送给PMC。当检测到硬件故障,如FDD/FDC不能正常运行时,系统停止。When the system needs to be imported from the FDD, or when the system is not powered off through steps 701 to 708, the system enters a normal boot process, and the control right of the entire system operation does not need to be transferred to the PMC. When a hardware failure is detected, such as FDD/FDC not operating normally, the system stops.

这样根据本发明,系统是否经过冬眠序列的个人历史信息被保存在硬盘设备中,而不是保存在系统的其它部件中。在POR时,POST利用硬盘设备中的个人历史信息确定冬眠唤醒或正常引导是否有效。因此,用可拆卸的硬盘设备起动用其它装置的任务,这些装置的功能与进行将要恢复的存储操作的装置的功能相同。换句话说,被冻结的系统环境可以自由移动。In this way, according to the present invention, the personal history information of whether the system has gone through the hibernation sequence is stored in the hard disk device, rather than stored in other components of the system. At POR, POST uses personal history information in the hard disk device to determine whether hibernation wakeup or normal boot is valid. Therefore, the detachable hard disk device starts tasks with other devices whose function is the same as that of the device performing the storage operation to be restored. In other words, the frozen system environment can be moved freely.

当确认存在冬眠标记、即冬眠前后关系时,整个系统的控制权从POST移动到PMC。开始PMC将硬盘与CMOS的系统配置信息进行比较(步骤713)。当检测到硬盘和系统配置信息不一致时,用图符等显示故障信息,提示系统允许用户选择以下任一种操作:使当前冬眠标记无效,或者在修改前通过对系统断电恢复系统设置(步骤714)。此外,当提示恢复系统配置时,提出修改前的系统配置,以便指导用户。When it is confirmed that there is a hibernation flag, that is, a hibernation context, the control right of the entire system is transferred from POST to PMC. The PMC starts to compare the hard disk with the system configuration information of the CMOS (step 713 ). When it is detected that the configuration information of the hard disk is inconsistent with that of the system, the fault information will be displayed with icons, etc., prompting the system to allow the user to choose any of the following operations: invalidate the current hibernation flag, or restore the system settings by powering off the system before modification (step 714). In addition, when prompted to restore the system configuration, the system configuration before modification is proposed so as to guide the user.

当硬盘设备是可拆卸的时,这里存在着极大的可能性即数据存储在硬盘时的环境(第一环境)不同于系统处于唤醒状态时的环境(第二环境)。例如在一些情况下,第二环境中的主存储器的规模可以较小。此外,尽管正在运行的应用程序要求I/O设备的基地址是一个具体的值,但在第二种环境却得不到该具体值。另外执行的应用程序在第一种环境下访问软盘。在第二种环境下没有软盘。在这种情况下,产生了各种缺点:唤醒本身变得不可能了,恢复的任务破坏数据等。于是检测系统配置的功能是非常重要的。When the hard disk device is detachable, there is a great possibility that the environment (first environment) when data is stored on the hard disk is different from the environment (second environment) when the system is in a wake-up state. For example, in some cases, the size of the main memory in the second environment may be smaller. Furthermore, although the running application requires a specific value for the base address of the I/O device, the specific value is not available in the second environment. Additional executing applications access the floppy disk in the first environment. There are no floppy disks in the second environment. In this case, various disadvantages arise: wakeup itself becomes impossible, resumed tasks destroy data, etc. Therefore, it is very important to detect the function of the system configuration.

当确认环境允许唤醒功能时,PMC将表示PMC正在恢复(唤醒)的图符图象写入VRAM,以便将它显示在显示设备上(步骤715)。在显示冬眠图符的同时,PMC从硬盘恢复主存储器的原始数据(步骤716)。然后擦除图符,从硬盘恢复VRAM的原始数据(步骤717)。在步骤718,包括硬件前后关系信息的工作数据在PM存储器中恢复。然后硬件被恢复到例如I/O设备和CPU寄存器的地址。在最后一步,PMC为FDD变更线仿真进行设定(步骤719)。上述序列完成以后,系统的控制权转移到OS文件系统和应用程序。中断点之后恢复执行任务。When it is confirmed that the wake-up function is allowed by the environment, the PMC writes the icon image representing that the PMC is recovering (waking up) into the VRAM, so that it is displayed on the display device (step 715). While displaying the hibernation icon, the PMC restores the original data of the main memory from the hard disk (step 716 ). Then erase the icon and recover the original data of VRAM from the hard disk (step 717). At step 718, working data including hardware context information is restored in PM memory. The hardware is then restored to addresses such as I/O devices and CPU registers. In the last step, the PMC is set up for FDD change line emulation (step 719). After the above sequence is completed, control of the system is transferred to the OS file system and applications. Resume execution of tasks after the breakpoint.

E.冬眠文件的保存/恢复操作的细节E. Details of save/restore operations for hibernation files

下面结合图8将更具体更详细地说明在冬眠文件(PM-HIBER.BIN)(步骤702、703、704、705、706和707)中保存数据的操作。The operation of saving data in the hibernation file (PM-HIBER.BIN) (steps 702 , 703 , 704 , 705 , 706 and 707 ) will be described in more detail below in conjunction with FIG. 8 .

一开始,PMC在存储器的PMC区域中存储硬件前后关系信息(步骤801)。于是如果硬件前后关系信息在开始就存储了,则可以修改硬件前后关系信息,以便于后来的存储操作。Initially, the PMC stores hardware context information in the PMC area of the memory (step 801 ). Therefore, if the hardware context information is stored at the beginning, the hardware context information can be modified to facilitate subsequent storage operations.

在步骤802,访问硬盘的基本引导记录(MBR),以便得到硬盘设备的分区信息(起始地址和每个分区的大小)。MBR是一个同位标磁道,它位于硬盘的最外区域。同位标磁道被保留,但不能被用户访问。In step 802, the basic boot record (MBR) of the hard disk is accessed to obtain partition information (start address and size of each partition) of the hard disk device. MBR is a parity track, which is located in the outermost area of the hard disk. Pared tracks are reserved but cannot be accessed by users.

在步骤803,PMC得到除比预定值小的分区以外的每个分区的路线目录的一个地址。由于地址计算方法是公知的,所以这里不再赘述。例如,当一种DOS作为OS文件系统时,位于分区前面的BIOS参数块(BPB)用来计算分区的路线目录的一个地址。In step 803, the PMC obtains an address of the route directory of each partition except the partition smaller than the predetermined value. Since the address calculation method is known, it will not be repeated here. For example, when a DOS is used as the OS file system, the BIOS parameter block (BPB) located in front of the partition is used to calculate an address of the route directory of the partition.

在步骤804,顺序访问计算地址的目录,查找文件名(PM-HIBER.BIN)。如果在任何目录中都没有检测到PM-HIBER.BIN,则不执行冬眠文件,并且通过发出嘟嘟声或显示不执行的信息将此通知用户。In step 804, sequentially access the directory of the calculated address, and search for the file name (PM-HIBER.BIN). If no PM-HIBER.BIN is detected in any directory, the hibernation file is not executed and the user is notified of this by beeping or displaying a message that does not execute.

当检测到PM-HIBER.BIN时,跟踪文件分配表(步骤805)。图9表示一个实例,其中给出DOS作为OS文件系统,当四个扇区定义为一个群集时给出的文件分配被分成从群集100开始直到群集149结束的一个扇区块,从群集500开始直到群集549结束的一个扇区块,以及从群集300开始直到群集349结束的一个扇区块。路线目录中的PM-HIBER.BIN的入口表示第一群集的号100。如同已经知道的那样,根据1∶1的比例在每个群集中形成FAT(文件分配表)。FAT描述连续的群集号(即FAT号)或表示文件最后的一个特定的号。在步骤805,PMC访问硬盘一次或多次,从而跟踪200FAT的列表。When PM-HIBER.BIN is detected, the file allocation table is tracked (step 805). Figure 9 shows an example in which given DOS as the OS file system, the file allocation given when four sectors are defined as a cluster is divided into one sector block starting from cluster 100 until the end of cluster 149, starting from cluster 500 One sector block until the end of cluster 549, and one sector block from the beginning of cluster 300 until the end of cluster 349. The entry of PM-HIBER.BIN in the route directory indicates the number 100 of the first cluster. As already known, a FAT (File Allocation Table) is formed in each cluster according to a ratio of 1:1. FAT describes a continuous cluster number (ie FAT number) or a specific number representing the end of the file. At step 805, the PMC accesses the hard disk one or more times to track the list of 200FAT.

这样得到的文件分配信息在步骤806被变换成适于存储/恢复的唯一的分配信息。图10表示上述变换之后形成的信息。所示实例对应于图9。PMC产生8字节长的数据,其中记录前扇区地址(来自实际上在地址前面的扇区地址的相对地址)和长度(扇区号)。变换之后的分配信息在PMC存储器的工作数据区中得到暂时的缓冲。The file allocation information thus obtained is transformed in step 806 into unique allocation information suitable for storage/retrieval. Fig. 10 shows the information formed after the above transformation. The example shown corresponds to FIG. 9 . The PMC produces 8-byte long data in which the previous sector address (relative address from the sector address actually preceding the address) and length (sector number) are recorded. The allocation information after conversion is temporarily buffered in the working data area of the PMC memory.

再看图8,在步骤807,PMC检测PM-HIBER.BIN的文件大小是否可以支持当前安装的VRAM、主存储器和PM存储器的工作数据的整体规模。例如,当冬眠文件产生后主存储器增加时,不是所有的数据都能保存的。然而当文件规模不够时,系统拒绝执行冬眠操作。这一事实是通过发出嘟嘟声等通知的。Referring to Fig. 8 again, in step 807, the PMC detects whether the file size of PM-HIBER.BIN can support the overall size of the working data of the currently installed VRAM, main memory and PM memory. For example, when the main memory increases after the hibernation file is generated, not all data can be saved. However, when the file size is not enough, the system refuses to perform the hibernation operation. This fact is notified by beeping, etc.

当文件足够大,用在步骤806产生的分配信息本身将来自PMC的分配信息存在冬眠文件中(步骤808)。然后工作数据、VRAM的内容和主存储器的内容分别存在冬眠文件中(步骤809至811)。当向硬盘转移数据时,是指PMC存储器中的文件分配信息。When the file is large enough, the allocation information from the PMC is stored in the hibernation file using the allocation information generated in step 806 itself (step 808). Then the working data, the content of the VRAM and the content of the main memory are respectively stored in the hibernation file (steps 809 to 811). When transferring data to the hard disk, it refers to the file allocation information in the PMC memory.

最后,准备控制信息,以便将它存储在控制信息区(图3中的区域A)(步骤812和813)。控制信息项分别包括图3所示的块B、C和D的起始地址,位于CMOS的当前系统配置信息和冬眠标记。其中系统配置信息包括设备的基本I/O地址、主存储器的大小,以及设备配置(设备的类型和数量)。基本I/O地址根据与串行口连接的每个设备,表示两个基地址的哪一个是例如3F8(H)或2F8(H)。Finally, control information is prepared so that it is stored in the control information area (area A in FIG. 3) (steps 812 and 813). The control information items respectively include the start addresses of blocks B, C and D shown in FIG. 3 , the current system configuration information in CMOS and the hibernation flag. The system configuration information includes the basic I/O address of the device, the size of the main memory, and the device configuration (type and quantity of the device). The base I/O address indicates which of the two base addresses is, for example, 3F8(H) or 2F8(H) according to each device connected to the serial port.

接下来参照图11,下面将从冬眠文件(PM-HIBER.BIN)更具体地说明数据恢复操作(步骤713、716和717)。Referring next to FIG. 11 , the data recovery operation (steps 713 , 716 and 717 ) will be described in more detail below from the hibernation file (PM-HIBER.BIN).

一开始,PMC访问CE同位标磁道的控制信息区,读那里的控制信息,以便了解硬盘上的冬眠文件的位置(步骤1101)。由于控制信息区中的地址是固定的,所以可以立即访问地址。在步骤1102,包括在控制信息中的系统配置信息与唤醒机构的CMOS中的系统配置信息进行比较。At first, the PMC accesses the control information area of the CE parity track, and reads the control information there, so as to know the position of the hibernation file on the hard disk (step 1101). Since the addresses in the control information area are fixed, the addresses can be accessed immediately. In step 1102, the system configuration information included in the control information is compared with the system configuration information in the CMOS of the wakeup mechanism.

在步骤1103,PMC用包括在控制信息中的起始地址访问硬盘上的文件分配信息块,以便在PMC中恢复文件分配信息。PMC起初用文件分配信息恢复主存储器的内容,然后恢复VRAM的内容(步骤1104和1105)。在这些步骤中,利用包括在控制信息区中的主存储器块和VRAM块的起始地址。最后,使硬盘上的控制信息无效,从而完成恢复操作(步骤1106)。由于冬眠标记也是无效的,所以只要系统不进入冬眠模式就能通过正常过程用加电操作引导系统。In step 1103, the PMC uses the start address included in the control information to access the file allocation information block on the hard disk, so as to restore the file allocation information in the PMC. The PMC initially restores the contents of main memory with the file allocation information, and then restores the contents of VRAM (steps 1104 and 1105). In these steps, the start addresses of the main memory block and the VRAM block included in the control information area are used. Finally, the control information on the hard disk is invalidated, thereby completing the recovery operation (step 1106). Since the hibernation flag is also inactive, the system can be booted with power-on operation through the normal process as long as the system does not enter hibernation mode.

此外,虽然说明省略了,但在实际上还有这样一步,它是在图8的步骤810和811之间以及图11的步骤1103和1104之间显示一个冬眠图符的步骤。应注意这一事实,即在图11的步骤1105和1106之间还有恢复H/W前后关系信息的步骤。In addition, although the description is omitted, there is actually a step of displaying a hibernation icon between steps 810 and 811 in FIG. 8 and between steps 1103 and 1104 in FIG. 11 . Attention should be paid to the fact that between steps 1105 and 1106 in FIG. 11 there is also a step of restoring the H/W context information.

构成硬盘上的冬眠文件的扇区位置信息以复杂表形式由OS文件系统管理。因此根据本发明,在开始向冬眠文件转移数据之前,访问由OS文件系统管理的复杂表或驱动程序,以便得到这些扇区的位置信息,从而将位置信息转变成独立的分配信息,并将该信息输入至缓冲器(PM存储器)。然后当数据从VRAM和存储器转移到硬盘设备时,其独立的信息专门用来了解文件的扇区位置。因此,当数据被转移到硬盘时,可以不访问硬盘上的如FAT区的文件位置信息区,以便能够加速存储操作。The sector position information constituting the hibernation file on the hard disk is managed by the OS file system in the form of a complex table. Therefore according to the present invention, before starting to transfer data to the hibernation file, a complex table or driver managed by the OS file system is accessed to obtain the location information of these sectors, thereby converting the location information into independent allocation information, and using the Information is input to the buffer (PM memory). Then when the data is transferred from VRAM and memory to the hard disk device, its separate information is dedicated to know the sector position of the file. Therefore, when data is transferred to the hard disk, the file location information area such as the FAT area on the hard disk may not be accessed, so that the storage operation can be accelerated.

此外根据本发明,在执行存储操作中准备的独立冬眠文件上的分配信息被写入冬眠文件的部分。同时,其起始地址写在位于硬盘的固定地址上的一个块中。当数据从硬盘设备转移到VRAM和存储器时,存储在文件中的分配信息用来了解构成文件的扇区的位置。因此,当数据从硬盘设备转移时,不需要访问硬盘上的如FAT区域那样的文件空间分配信息区。于是当唤醒操作时,为了得到冬眠文件的分配信息而访问硬盘的频率可以最大限度地减小,以便能够加速恢复操作。Also according to the present invention, allocation information on an independent hibernation file prepared in performing a store operation is written into a portion of the hibernation file. At the same time, its start address is written in a block located at a fixed address on the hard disk. When data is transferred from the hard disk device to VRAM and memory, the allocation information stored in the file is used to know the location of the sectors that make up the file. Therefore, when data is transferred from the hard disk device, there is no need to access the file space allocation information area such as the FAT area on the hard disk. Therefore, when the wake-up operation is performed, the frequency of accessing the hard disk to obtain the allocation information of the hibernation file can be minimized, so that the recovery operation can be accelerated.

F.图符显示操作F. Icon display operation

参照图12,下面将更具体地说明与图符显示有关的操作(步骤703至705和步骤715至717)。Referring to FIG. 12 , operations related to icon display (steps 703 to 705 and steps 715 to 717 ) will be described more specifically below.

根据本发明,为了进行管理而将主存储器的内容和VRAM的内容分开。当系统进入冬眠模式时,PMC在冬眠文件上存储VRAM的内容(步骤1201)。当存储原始数据之后,设置VGA芯片(视频控制器)为图形模式,并在VRAM上写入图符图象,以便在与系统主体相连的显示设备上显示图象(步骤1203和1204)。在数据从主存储器转移到硬盘上的同时,一直显示图符。According to the present invention, the contents of the main memory and the contents of the VRAM are separated for management purposes. When the system enters the hibernation mode, the PMC stores the contents of the VRAM on the hibernation file (step 1201). After storing the original data, set the VGA chip (video controller) to the graphics mode, and write the icon image on the VRAM, so as to display the image on the display device connected to the system main body (steps 1203 and 1204). The icon remains displayed while data is being transferred from main memory to hard disk.

当唤醒操作时,设置VGA芯片为图形模式,并在VRAM上写入图符图象,以便在显示设备上显示图象(步骤1205和1206)。在数据从硬盘转移到主存储器的同时,一直显示图符(步骤1207)。之后恢复VRAM的原始数据(步骤1208)。When waking up the operation, set the VGA chip to the graphics mode, and write the icon image on the VRAM, so as to display the image on the display device (steps 1205 and 1206). While the data is being transferred from the hard disk to the main memory, the icon is displayed (step 1207). Then restore the original data of the VRAM (step 1208).

在访问VRAM的同时(步骤1203至1208),不显示图符。然而,访问VRAM的时间比访问主存储器的时间要短许多(步骤1204和1208)。在步骤1203和1208,只是这一时刻不显示图符,这在实际上没有任何缺点。While accessing the VRAM (steps 1203 to 1208), icons are not displayed. However, the time to access VRAM is much shorter than the time to access main memory (steps 1204 and 1208). In steps 1203 and 1208, only the icon is not displayed at this moment, which does not have any disadvantages in practice.

图13表示步骤1203所示屏幕的一个实例。图符101表示系统,102表示硬盘设备,103表示数据转移的方向。这些图符被图符框104和105包围。图符框104内的区域106的颜色和区域107的颜色不同于背景108的颜色。FIG. 13 shows an example of the screen shown in step 1203. The icon 101 represents the system, 102 represents the hard disk device, and 103 represents the direction of data transfer. These icons are surrounded by icon frames 104 and 105 . The color of the area 106 and the color of the area 107 within the icon frame 104 is different from the color of the background 108 .

图14表示图12的步骤1208所示屏幕的一个实例。除了图符101和102的位置改变之外,本例与图13的对应部分相同。FIG. 14 shows an example of the screen shown in step 1208 of FIG. 12 . This example is the same as the corresponding part of FIG. 13 except that the positions of the icons 101 and 102 are changed.

参照图15,具体说明图12的步骤1203和1206中共同的图符绘制步骤。一开始,PMC设置整个VRAM上的背景色数据,以便用背景色遮盖屏幕(步骤1501)。然后PMC用不同于背景的颜色涂图符框内的区域106和107(步骤1502)。如图13、14所示,区域106和107是矩形,因此程序(PMC)可以非常方便地在屏幕上指定其位置,对其内部上色。在步骤1503和1504,从PM存储器读出图符101、102和103的图象数据,以便将它们设置在VRAM上。由于图符图象的数据量很小,所以图象预先存在ROM中,以便在POR时将它们写在PM存储器上。Referring to FIG. 15 , the common icon drawing steps in steps 1203 and 1206 in FIG. 12 will be described in detail. Initially, the PMC sets the background color data on the entire VRAM so as to cover the screen with the background color (step 1501). The PMC then paints the areas 106 and 107 within the icon box with a different color than the background (step 1502). As shown in Figures 13 and 14, the areas 106 and 107 are rectangles, so the program (PMC) can very conveniently specify their positions on the screen and color their interiors. In steps 1503 and 1504, the image data of icons 101, 102 and 103 are read from the PM memory to set them on the VRAM. Since the amount of data of icon images is small, the images are pre-stored in ROM so that they are written on PM memory at POR.

冬眠图符可以是静止图象。然而,当数据在硬盘和主存储器之间转移时,有规律地访问VRAM,重写内容,从而随着时间改变冬眠图符。例如,闪烁箭头图符103或在系统图符101中增加表示保存/恢复数据量的图象。The hibernation icon may be a still image. However, as data is transferred between the hard disk and main memory, VRAM is accessed regularly, rewriting the contents, thus changing the hibernation icon over time. For example, flashing the arrow icon 103 or adding an image representing the amount of saved/restored data in the system icon 101 .

根据本发明用这种方式将主存储器块和VRAM数据块分开,以便管理。当系统进入冬眠模式时,首先存储VRAM的原始数据。然后存储主存储器的原始数据。此外,当系统处于唤醒状态时,在VRAM的原始数据恢复之前恢复主存储器的原始数据。即不管是保存操作还是恢复操作,对VRAM的访问过程和对主存储器的访问过程都是不同的。In this way the main memory blocks and the VRAM data blocks are separated for management according to the present invention. When the system enters hibernation mode, the original data of VRAM is stored first. The raw data of the main memory is then stored. In addition, when the system is in the wake-up state, the original data of the main memory is restored before the original data of the VRAM is restored. That is, no matter whether it is a save operation or a restore operation, the access process to the VRAM is different from the access process to the main memory.

假定为了管理不将主存储器块和VRAM数据块分开。当主存储器的内容保存之前保存VRAM的内容时,VRAM的内容必须在主存储器的内容之前得到恢复。因此当系统进入冬眠模式时,在唤醒时即使图符是显示的,这时图符也不能显示。相反,如果首先保存主存储器的内容,然后保存VRAM的内容,在进入冬眠模式时不能显示图符。It is assumed that main memory blocks and VRAM data blocks are not separated for management. When the contents of VRAM are saved before the contents of main memory are saved, the contents of VRAM must be restored before the contents of main memory. Therefore, when the system enters hibernation mode, even if the icon is displayed when the system wakes up, the icon cannot be displayed at this time. Conversely, if the contents of main memory are saved first, and then the contents of VRAM are saved, icons cannot be displayed when entering hibernation mode.

因此为了在进入冬眠模式时和唤醒时在不损坏VRAM中的原始数据的情况下显示图符,如同本发明的说明书中所提出的那样,必须通过将主存储器数据块和VRAM的块分开,从保存操作的时间到恢复操作的时间改变对VRAM和主存储器的访问顺序。Therefore, in order to display icons without damaging the original data in VRAM when entering hibernation mode and waking up, as proposed in the specification of the present invention, it is necessary to separate the main memory data block from the block of VRAM, from The order of access to VRAM and main memory is changed from the time of the save operation to the time of the restore operation.

G.FDD变更线仿真G. FDD change line simulation

下面参照图16和22说明由PMC支持的FDD变更线仿真。The FDD change line emulation supported by the PMC will be described below with reference to FIGS. 16 and 22 .

图16表示从图1中分离出来的与FFD变更线仿真有关的硬件部件。图1所示的部件包括安装在FDD中的FD(软盘)94,FDD和FDC之间的变更线92,FDC中的变更线状态寄存器90,和存储将在陷阱逻辑电路中监视地址的陷阱逻辑电路96。FIG. 16 shows the hardware components related to FFD change line simulation separated from FIG. 1 . The parts shown in Fig. 1 include FD (floppy disk) 94 installed in FDD, change line 92 between FDD and FDC, change line status register 90 in FDC, and trap logic storing addresses to be monitored in trap logic circuit Circuit 96.

访问FD的方法一般根据以前是否已经访问过FD而不同。当以前已经访问过(读/写)FD,则那时读出的文件分配信息(当DOS作为OS文件系统时)被保存在由OS文件系统管理的一个预定的存储器地址中。因此,不再需要从FD中读分配信息。这样加速了第二次对FD的访问。The method of accessing the FD generally differs depending on whether the FD has been accessed before. When the FD has been accessed (read/written) before, the file allocation information read at that time (when DOS serves as the OS file system) is stored in a predetermined memory address managed by the OS file system. Therefore, it is no longer necessary to read allocation information from FD. This speeds up the second visit to the FD.

下面的机构通常用来确定主存储器中FD上的分配信息是否有效。连接FDD与FDC的变更线是一根信号线,专门用来监视FDD上的FD的连接和拆卸。当系统接通电源时,变更线自动启动。然后POST通过FDC访问FDD,检测FD的存在,并且变更线自动变成不起作用。当没有检测到FD时,变更线保持起作用。此外,当插入FD时,变更线变为起作用。当实际上访问插入的FD时,变更线自动变成不起作用。当取出FD时,变更线重新变为起作用。在本实施例中,高状态对应于起作用状态,低状态对应于不起作用状态。The following mechanism is generally used to determine whether the allocation information on the FD in the main memory is valid. The change line connecting FDD and FDC is a signal line specially used to monitor the connection and removal of FD on FDD. The change line is automatically activated when the system is powered on. Then POST accesses FDD through FDC, detects the presence of FD, and the change line automatically becomes inactive. When no FD is detected, the change line remains active. Also, when inserting FD, the change line becomes active. When actually accessing the inserted FD, the change line automatically becomes inactive. When the FD is removed, the change line becomes active again. In this embodiment, the high state corresponds to the active state and the low state corresponds to the inactive state.

标志反映变更线的状态。I/O地址3F7(H)所分配的变更线状态寄存器(图16中的寄存器90)的位7是那时的一个标志(变更线标志)。位7表示假定值为1时变更线起作用,而假定值为0时变更线不起作用。The flag reflects the state of the change line. Bit 7 of the change line status register (register 90 in Fig. 16) assigned to I/O address 3F7(H) is a flag (change line flag) at that time. Bit 7 indicates that the change line is active when the assumed value is 1, and that the change line is not active when the assumed value is 0.

BIOS或驱动程序直接访问FDC(例如,当DOS作为OS文件系统时是BIOS,而当OS/2作为OS文件系统时是驱动程序)。BIOS/驱动程序读变更线状态寄存器的内容,当位线7假定为1时,使主寄存器中FD上的分配信息无效,并且读FD上的新的文件分配信息。The BIOS or drivers access the FDC directly (e.g. BIOS when DOS is used as the OS file system, and drivers when OS/2 is used as the OS file system). The BIOS/driver reads the content of the change line status register, when bit line 7 is assumed to be 1, invalidates the allocation information on the FD in the main register, and reads the new file allocation information on the FD.

所以当系统进入冬眠模式时,FD插入FDD中。此外当已经访问过FD时,将FD的文件分配信息保存在硬盘上,并且当系统唤醒时在存储器中恢复。So when the system enters hibernation mode, FD is inserted into FDD. In addition, when the FD has been accessed, the file allocation information of the FD is saved on the hard disk, and restored in the memory when the system wakes up.

然后在冬眠模式FD交换时,POST检测FD驻留在FDD中。当完成唤醒序列时,变更线信号变为不起作用。因此,BIOS/驱动程序有其不足之处,它确定将变为有效的旧的FD上被存储的文件分配信息,并且用该信息访问当前插入FDD中的FD,并读出错误数据,从而破坏FD上的数据。在暂停之后的恢复情况下,也存在引起类似问题的可能性。Then in hibernate mode FD swap, POST detects FD resides in FDD. When the wakeup sequence is complete, the change line signal becomes inactive. Therefore, the BIOS/driver has its disadvantage that it determines the file allocation information stored on the old FD that will become valid, and uses this information to access the FD currently inserted in the FDD, and reads out wrong data, thereby destroying the Data on the FD. There is also the possibility of causing similar problems in the case of resuming after a pause.

与暂停或冬眠的媒体转换有关的问题也存在于卡式存储器媒体中(如SSF)。然而在这种媒体的情况下,已经准备了完善的软件。换句话说,当卡安装在系统上时,系统进入低耗电模式。当系统离开该模式时,软件使系统误认为似乎在进入低耗电模式时卡已经拆除了。另一方面,当软件恢复或唤醒时,它使系统误认为似乎卡已经安装了。当接收这种虚构信息时,系统使主存储器中的卡上的文件分配信息无效,并得到新的分配信息。这样当进入并存在于低耗电模式时,软件对带有该软件的系统进行虚构操作,以便停止向卡供电。Issues related to suspending or hibernating media transitions also exist for stick memory media (such as SSF). In the case of this medium, however, well-established software has been prepared. In other words, when the card is installed on the system, the system goes into low power mode. When the system leaves this mode, software tricks the system into thinking the card appears to have been removed when entering low power mode. On the other hand, when the software resumes or wakes up, it tricks the system into thinking that the card appears to be installed. When receiving such falsified information, the system invalidates the file allocation information on the card in the main memory and obtains new allocation information. Thus, when entering and remaining in low power mode, the software does a fake operation of the system with the software in order to stop power to the card.

然而,在FD的情况下,使用这样的方法,其中状态变更线信号的状态根据硬件随着预定时间变化,状态由CPU读出。当调整所形成的方法以便解决上述由交换FD引起的问题时,这一切都是在低耗电模式下进行的,必须采用的装置不同于卡式存储器媒体。However, in the case of FD, a method is used in which the state of the state change line signal changes with a predetermined time according to hardware, and the state is read out by the CPU. When adapting the method formed so as to solve the above-mentioned problems caused by exchanging FDs, all this is done in a low power consumption mode, a device other than a card-type memory medium must be used.

因此,本发明这样来虚构它的状态,即当唤醒操作以后或完成其序列以后,BIOS/驱动程序第一次检测变更线状态插头。于是即使FD插入FDD,软件也使系统误认为似乎FD已经从FDD中移去,从而在FD上闪烁文件分配信息。具体地说可以用两种方法。Therefore, the present invention fakes its state in such a way that the BIOS/driver detects the change line state plug for the first time after a wake-up operation or after completing its sequence. Then even if the FD is inserted into the FDD, the software makes the system think that it seems that the FD has been removed from the FDD, thereby flashing the file allocation information on the FD. Specifically, two methods can be used.

(1)对访问变更线状态设置陷阱,以便暂时虚构一个变更线状态标志的值。(1) Set a trap for accessing the changeline state in order to temporarily falsify the value of a changeline state flag.

(2)准备一块板,它允许通过硬件进行变更线信号操作。(2) Prepare a board that allows change line signal operation by hardware.

上述每一种方法都将根据从冬眠模式产生的唤醒模式予以说明。然而请注意,本发明可以用于从暂停模式产生的恢复操作。Each of the above methods will be described in terms of wake-up patterns from hibernate mode. Note, however, that the present invention can be used for resume operations from suspend mode.

(1)最新的便携式计算机提供了对I/O访问设置陷阱的机构。这种机构可以通过将Intel 80486SL(CPU)和82360SL(陷阱逻辑电路)结合起来实现。当在82360SL的寄存器(图16中的寄存器96)中设置I/O地址时,80486SL发出访问I/O地址的指令,这时82360SL向系统发出系统中断指令。对系统中断作出响应,启动处理程序(PMC)。当分析中断的原因以后,已经确定系统中断是由对一个预定的I/O地址访问引起的,这时系统转移到陷阱例程。(1) The latest laptops provide mechanisms for trapping I/O accesses. This mechanism can be realized by combining Intel 80486SL (CPU) and 82360SL (trap logic circuit). When the I/O address is set in the 82360SL register (register 96 in Figure 16), the 80486SL issues an instruction to access the I/O address, and at this time the 82360SL issues a system interrupt instruction to the system. In response to a system interrupt, start the handler (PMC). After analyzing the cause of the interruption, it has been determined that the system interruption is caused by accessing a predetermined I/O address, and the system transfers to the trap routine.

一般地当访问设备之前发出一条访问设备的命令时,已经用陷阱机构对断电的设备通电。虚构变更线状态的第一种方法采用陷阱机构。Typically the trap mechanism has been used to power up a powered off device when a command to access the device was issued prior to accessing the device. The first method of fictitiously changing the state of the line employs a trap mechanism.

参照图17,下面详细说明与虚构操作有关的步骤流程。如上所述,一旦加电之后运行的POST确认冬眠标记,系统就进入唤醒序列(步骤171、172)。接通电源时变更线为起作用状态。然而,当POST检测到FD仍然插在FDD中,则系统变为不起作用。Referring to Fig. 17, the steps related to the imaginary operation will be described in detail below. As described above, once the hibernation flag is asserted by the POST running after power up, the system enters a wakeup sequence (steps 171, 172). The change line becomes active when the power is turned on. However, when POST detects that the FD is still inserted in the FDD, the system becomes inoperative.

在步骤173,PMC设置系统处于准备变更线仿真的状态。具体地说,陷阱逻辑电路16(见图16)的寄存器96的值设置为3F7(H)。这之后,系统的控制权返回OS/应用程序。At step 173, the PMC sets the system in a state ready to change line emulation. Specifically, the value of the register 96 of the trap logic circuit 16 (see FIG. 16 ) is set to 3F7 (H). After this, control of the system returns to the OS/application.

当恢复执行OS/应用程序之后第一次访问FD时,完成对变更线状态的虚构(步骤174)。下面将结合图18和19进一步说明步骤174。When the FD is accessed for the first time after resuming execution of the OS/application, the fabrication of the state of the change line is done (step 174). Step 174 will be further described below in conjunction with FIGS. 18 and 19 .

图19表示BIOS/驱动程序的代码部分。当执行指令MOV DX,3F7(H)时,CPU的DX寄存器装入3F7(H)。然后当执行指令IN AL,DX时,访问I/O地址3F7(H),以便使CPU中的AL寄存器能够存储变更线状态寄存器的内容。这时执行系统中断,从而执行陷阱处理程序(PMC)。处理程序分析系统中断的原因,从而转移到执行访问I/O地址3F7(H)的陷阱的例程。例程设置AL寄存器中的位7的值为1,并将它返回到BIOS/驱动程序。因此下面的指令TEST AL,80H将位7的值设置为1的信息传送给BIOS/驱动程序。根据这一点,OS/驱动程序使FD中的文件分配信息在存储器中闪烁。然后为了访问FD上的所需文件,系统读出FD中的分配信息。Figure 19 shows the code portion of the BIOS/driver. When the instruction MOV DX, 3F7(H) is executed, the DX register of the CPU is loaded into 3F7(H). Then when the instruction IN AL, DX is executed, the I/O address 3F7 (H) is accessed so that the AL register in the CPU can store the content of the change line status register. At this time, a system interrupt is executed, thereby executing the trap handler (PMC). The handler analyzes the cause of the system interrupt and thus transfers to the routine that executes the trap that accesses I/O address 3F7(H). The routine sets the value of bit 7 in the AL register to 1 and returns it to the BIOS/driver. Therefore, the following command TEST AL, 80H sends the information that the value of bit 7 is set to 1 to the BIOS/driver. According to this, the OS/driver flashes the file allocation information in the FD in the memory. Then in order to access the desired file on the FD, the system reads the allocation information in the FD.

顺便说明一下,在返回BIOS/驱动程序之前,PMC清除在陷阱寄存器中设置的值(图17的步骤175)。因此,在第一次之后访问FD期间不虚构变更线状态。Incidentally, before returning to the BIOS/driver, the PMC clears the value set in the trap register (step 175 of FIG. 17). Therefore, the state of the line is not faked during access to the FD after the first time.

(2)第二种方法是通过向板增加硬件部件实现的,如图20所示。所增加的部件是包括寄存器112的I/O口110、I/O地址译码器114、或门116和信号线118和120。一个特定的I/O地址(1500(H))被分配给寄存器112。表示寄存器112的一个特定位值(位0)经信号线118输入至或门116的一个输入端。变更线信号从FDD92输入至或门116的另一输入端。或门116的输出端与变更线状态寄存器90的位7相连。或门116的输出变成了寄存器90的位7的值。I/O地址译码器114监视地址总线14,对地址信号3F7(H)译码,从而向I/O口110输出一个脉冲信号。译码器110的输出端与寄存器112的清零端相连。(2) The second method is realized by adding hardware components to the board, as shown in Figure 20. The added components are I/O port 110 including register 112 , I/O address decoder 114 , OR gate 116 and signal lines 118 and 120 . A specific I/O address (1500(H)) is assigned to the register 112 . A specific bit value (bit 0) representing register 112 is input to an input of OR gate 116 via signal line 118 . The change line signal is input from FDD92 to the other input terminal of OR gate 116 . The output of OR gate 116 is connected to bit 7 of change line status register 90 . The output of OR gate 116 becomes the value of bit 7 of register 90 . The I/O address decoder 114 monitors the address bus 14 and decodes the address signal 3F7 (H), thereby outputting a pulse signal to the I/O port 110 . The output terminal of the decoder 110 is connected with the clearing terminal of the register 112 .

参照图21说明第二种方法的步骤流程。步骤211和212与图17的步骤171和172相同,故省略对它们的说明。在步骤213,为了设置FDD变更线仿真,指明了PMC命令I/O地址1500(H),从而设定位0的值为1。结果如图22所示,变更线状态保持不起作用,以便用POST访问FDC。然而,由于信号线118变为起作用,信号线120的状态变为起作用。因此变更线状态寄存器90的位7设置为1。Referring to FIG. 21, the flow of steps of the second method will be described. Steps 211 and 212 are the same as steps 171 and 172 in FIG. 17, so their descriptions are omitted. In step 213, to set the FDD change line emulation, the PMC command I/O address 1500 (H) is specified, thereby setting the value of bit 0 to 1. As a result, as shown in Figure 22, changing the line state remains inactive for accessing the FDC with POST. However, since signal line 118 becomes active, the state of signal line 120 becomes active. Bit 7 of the change line status register 90 is therefore set to one.

步骤213之后,系统的控制权返回OS/应用程序。当执行OS/应用程序时,寄存器90中的位7的值保持为1,并且继续虚构变更线状态。After step 213, control of the system returns to the OS/application. While the OS/application program is executing, the value of bit 7 in register 90 remains at 1, and the virtual change line state continues.

当恢复OS/应用程序之后BIOS/驱动程序开始读地址3F(H)以便访问FD时,位7的值变为1。于是OS/驱动程序闪烁FD的文件分配信息。The value of bit 7 becomes 1 when the BIOS/driver starts to read address 3F (H) in order to access the FD after restoring the OS/application. The OS/driver then flashes the file allocation information of the FD.

在对地址3F7(H)访问期间,从译码器114产生一个脉冲,它对寄存器112清零。于是,或门116的输入都变得不起作用。变更线寄存器90的位7的状态不变。FDD变更线仿真复位(步骤214)是以这种与第一种方法不同的方法完成的。During an access to address 3F7(H), slave decoder 114 generates a pulse which clears register 112. Thus, none of the inputs to OR gate 116 becomes active. The state of bit 7 of the change line register 90 is unchanged. FDD change line emulation reset (step 214) is accomplished in this way which is different from the first method.

一些系统没有陷阱机构。在某些情况下,即使一些系统有陷阱机构,陷阱机构的运行也是受限制的。在这种情况下,第二种方法是有效的。Some systems do not have a trap mechanism. In some cases, even if some systems have a trap mechanism, the operation of the trap mechanism is limited. In this case, the second method works.

根据本发明,有可能恢复和唤醒从可拆卸的外部存储设备恢复一个任务所必需的信息,而不管打算唤醒的系统是否已经执行了冬眠操作。According to the present invention, it is possible to restore and wake up information necessary for resuming a task from a removable external storage device, regardless of whether a system to be woken up has performed a hibernation operation.

Claims (18)

1, a kind of information handling system, this system comprises CPU, volatile main memory and non-volatile External memory equipment, and support hibernation function, utilize this function when predetermined condition occurring, task suspension, and the content of described primary memory is stored in the described External memory equipment before described storer outage, it is characterized in that described External memory equipment is dismountable, and the historical information of expression outage only exists in the described External memory equipment by a series of storage operations that enter hibernate mode.
2,, it is characterized in that described historical information is stored in the presumptive area of described External memory equipment according to the information handling system of claim 1.
3, a kind of information handling system, this system comprises CPU, volatile main memory and non-volatile External memory equipment, and support hibernation function, utilize this function when predetermined condition occurring, task suspension, and the content of described primary memory is stored in the described External memory equipment before described storer outage, it is characterized in that described External memory equipment is dismountable, and described system comprises the device of the configuration information that is used for storing the described system that has described External memory equipment.
4,, it is characterized in that described historical information is stored in the presumptive area of described External memory equipment according to the information handling system of claim 3.
5, according to the information handling system of claim 3, the configuration information that it is characterized in that described system is the size of primary memory.
6, according to the information handling system of claim 3, the configuration information that it is characterized in that described system is the kind and the quantity thereof of I/O equipment.
7, according to the information handling system of claim 3, the configuration information that it is characterized in that described system is the I/O base address of I/O equipment.
8, a kind of information handling system, this system comprises CPU, volatile main memory and dismountable non-volatile External memory equipment, and this system supports arousal function, utilize the task that this function has been interrupted in described system to obtain recovery, connection responds to system power supply, described External memory equipment has been installed in this system, and described task in described External memory equipment, is characterized in that the information stores of necessity:
Storage representation has been carried out the historical information of hibernation operation in described system in the presumptive area of described External memory equipment, and described External memory equipment is former to be installed in the described system; And
Described system comprises the described historical information of check and carries out the device of wake operation.
9, information handling system according to Claim 8 is characterized in that described system comprises that the final step that is used in a series of wake up process makes the invalid device of described historical information.
10, a kind of information handling system, this system comprises CPU, volatile main memory and dismountable non-volatile External memory equipment of independently supporting arousal function, according to progress, the task that arousal function restarts to be placed in the system and inquired in system, described External memory equipment is former to be installed in this system, data necessary has existed in the described External memory equipment, the control information that comprises system's preparation of described tasks interrupt time is included in the described External memory equipment
Described system is characterised in that and comprises:
(a) device that compares of the system configuration information that is used for being stored in the system configuration information of described External memory equipment and system itself,
(b) according to the consistance of described configuration information, will be used for recovering described task information necessary and return to the device of described primary memory from described External memory equipment, and
(c) according to the nonuniformity of described configuration information, refusal returns to device the described primary memory with information from described External memory equipment.
11,, it is characterized in that by system cut-off prompting user being changed the configuration of system itself according to the information handling system of claim 10.
12,, it is characterized in that described suggestion device shows the system configuration information that is stored in the described External memory equipment to the user according to the information handling system of claim 10.
13, according to the information handling system of claim 10, the configuration information that it is characterized in that described system is the size of primary memory.
14, according to the information handling system of claim 10, the configuration information that it is characterized in that described system is the kind or the quantity of I/O equipment.
15, according to the information handling system of claim 10, the configuration information that it is characterized in that described system is the I/O base address of I/O equipment.
16, according to the information handling system of claim 10, it is characterized in that described control information comprises the historical information that hibernation is worked in the system of being illustrated in, described external memory is former to be installed in this system.
17,, it is characterized in that described device (c) comprises the suggestion device that makes described historical information invalid according to the information handling system of claim 16.
18,, it is characterized in that described system comprises that the final step that is used in a series of wake up process makes the invalid device of described control information according to the information handling system of claim 10.
CN94106571A 1993-07-26 1994-06-27 Information processing system Expired - Lifetime CN1097228C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP183980/93 1993-07-26
JP05183980A JP3106401B2 (en) 1993-07-26 1993-07-26 Information processing system

Publications (2)

Publication Number Publication Date
CN1111375A true CN1111375A (en) 1995-11-08
CN1097228C CN1097228C (en) 2002-12-25

Family

ID=16145211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN94106571A Expired - Lifetime CN1097228C (en) 1993-07-26 1994-06-27 Information processing system

Country Status (6)

Country Link
US (1) US5666540A (en)
EP (1) EP0636981A1 (en)
JP (1) JP3106401B2 (en)
KR (1) KR950003976A (en)
CN (1) CN1097228C (en)
CA (1) CA2117393A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207716B (en) * 2006-12-21 2010-09-29 佳能株式会社 Image pickup apparatus,its control method, and image management device
CN102411342A (en) * 2010-09-26 2012-04-11 比亚迪股份有限公司 Automobile constant-current module power supply system and control method
CN104133640A (en) * 2013-03-14 2014-11-05 希捷科技有限公司 Quick recovery from dormancy
CN108292132A (en) * 2015-08-31 2018-07-17 马波斯S.P.A.公司 Data processing and Transmission system and its method
CN109074527A (en) * 2016-04-05 2018-12-21 三菱电机大楼技术服务株式会社 Control data rewriting system
CN113138569A (en) * 2020-01-17 2021-07-20 Aptiv技术有限公司 Electronic control unit

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401222B1 (en) 1996-10-11 2002-06-04 Phillip M. Adams Defective floppy diskette controller detection apparatus and method
US5983002A (en) * 1996-10-11 1999-11-09 Phillip M. Adams & Associates, L.L.C. Defective floppy diskette controller detection apparatus and method
US5905901A (en) * 1996-10-29 1999-05-18 Micron Electronics Method for adaptive power management of a computer system
US5996078A (en) * 1997-01-17 1999-11-30 Dell Usa, L.P. Method and apparatus for preventing inadvertent power management time-outs
US6131167A (en) * 1997-12-31 2000-10-10 Intel Corporation Method and apparatus to reduce power consumption on a bus
JP3266560B2 (en) * 1998-01-07 2002-03-18 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing system and control method thereof
GB9812836D0 (en) * 1998-06-16 1998-08-12 Ncr Int Inc Data security arrangement
CN1088218C (en) * 1999-11-14 2002-07-24 邓国顺 Electronic flash storage method and device for data processing system
US6883037B2 (en) 2001-03-21 2005-04-19 Microsoft Corporation Fast data decoder that operates with reduced output buffer bounds checking
US7000102B2 (en) * 2001-06-29 2006-02-14 Intel Corporation Platform and method for supporting hibernate operations
KR100724833B1 (en) * 2001-09-04 2007-06-04 엘지전자 주식회사 How to save data according to the remaining battery capacity
TW591393B (en) * 2003-01-22 2004-06-11 Fujitsu Ltd Memory controller
JP2004295867A (en) * 2003-03-07 2004-10-21 Ricoh Co Ltd Information processor, image forming apparatus, and information processing method
US7120789B2 (en) * 2003-08-14 2006-10-10 International Business Machines Corporation System and method for portable on-demand central processing unit
US10705549B2 (en) 2003-12-02 2020-07-07 Ademco Inc. Controller interface with menu schedule override
CN100375034C (en) * 2005-01-05 2008-03-12 联想(新加坡)私人有限公司 Method and system for implementing thread sleep in computer system
US7640440B2 (en) * 2006-04-25 2009-12-29 Apple Inc. Method and apparatus for facilitating device hibernation
JP2007334383A (en) * 2006-06-12 2007-12-27 Sony Corp Information processor, method of starting it, and program
EP2097148B1 (en) 2006-12-22 2010-06-30 GEA Process Engineering A/S A method of controlling a spray dryer apparatus by regulating an inlet air flow rate, and a spray dryer apparatus
US8086885B2 (en) * 2007-12-14 2011-12-27 Nokia Corporation Runtime control of system performance
US8949508B2 (en) * 2011-07-18 2015-02-03 Apple Inc. Non-volatile temporary data handling
JP6029350B2 (en) * 2012-06-27 2016-11-24 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, and program
JP6001020B2 (en) * 2014-07-16 2016-10-05 京セラドキュメントソリューションズ株式会社 Image forming apparatus
CN110413230B (en) * 2019-07-12 2023-01-06 湖南建工集团有限公司 Embedded system construction method and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69125567T2 (en) * 1990-10-18 1997-08-21 Seiko Epson Corp Information processing device for backing up and restoring data
EP0487900A1 (en) * 1990-11-27 1992-06-03 Kabushiki Kaisha Toshiba Portable computer resetting resume error caused from HDD loaded condition being changed and starting OS
JPH0527860A (en) * 1990-11-27 1993-02-05 Toshiba Corp Portable computer
AU634114B2 (en) * 1991-02-08 1993-02-11 Kabushiki Kaisha Toshiba Computer having function of resume process
JPH077317B2 (en) * 1991-06-10 1995-01-30 松下電器産業株式会社 System restart device
JPH06236284A (en) * 1991-10-21 1994-08-23 Intel Corp Method for preservation and restoration of computer-system processing state and computer system
DE4309532C2 (en) * 1992-03-25 1996-10-31 Intel Corp Method for backing up a system image of a computer system on a permanent storage device and a computer system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207716B (en) * 2006-12-21 2010-09-29 佳能株式会社 Image pickup apparatus,its control method, and image management device
CN102411342A (en) * 2010-09-26 2012-04-11 比亚迪股份有限公司 Automobile constant-current module power supply system and control method
CN102411342B (en) * 2010-09-26 2013-12-18 比亚迪股份有限公司 Power supply system for vehicle constant power module and control method
CN104133640A (en) * 2013-03-14 2014-11-05 希捷科技有限公司 Quick recovery from dormancy
CN108292132A (en) * 2015-08-31 2018-07-17 马波斯S.P.A.公司 Data processing and Transmission system and its method
CN109074527A (en) * 2016-04-05 2018-12-21 三菱电机大楼技术服务株式会社 Control data rewriting system
CN109074527B (en) * 2016-04-05 2021-10-22 三菱电机大楼技术服务株式会社 Control data rewriting system
CN113138569A (en) * 2020-01-17 2021-07-20 Aptiv技术有限公司 Electronic control unit
CN113138569B (en) * 2020-01-17 2024-03-22 Aptiv制造管理服务公司 Electronic control unit

Also Published As

Publication number Publication date
KR950003976A (en) 1995-02-17
US5666540A (en) 1997-09-09
EP0636981A1 (en) 1995-02-01
CN1097228C (en) 2002-12-25
CA2117393A1 (en) 1995-01-27
JP3106401B2 (en) 2000-11-06
JPH0744437A (en) 1995-02-14

Similar Documents

Publication Publication Date Title
CN1097228C (en) Information processing system
CN1097237C (en) Information processing system
TWI436199B (en) Method and controller for power management
TWI528284B (en) Method for switching operating system and electronic apparatus using thereof
JP3266560B2 (en) Information processing system and control method thereof
EP1351146A1 (en) Power management system and method with recovery after power failure
CN101634884B (en) Power management controller and method
CN1740949A (en) Information processor, starting method thereof
JPH07200112A (en) Information processing system
US5680540A (en) Suspend-to-disk system for removable hard drive
CN1707399A (en) Portable electronic apparatus having an openable lid, program product and method of controlling portable electronic apparatus
JP3102455B2 (en) Information processing system
JP2015102889A (en) Method for updating firmware, electronic device, computer and computer program
JP2003296042A (en) Computer device, data dead copying method and program, and method for operating computer device
EP1037133A1 (en) Method and apparatus for alternation between instances of operating systems in computer systems
US20040103345A1 (en) Method, apparatus and system for ensuring reliable power down of a personal computer
US7225352B2 (en) Method of terminating a screen saver and re-creating image data of a display memory upon power restoration from an idle state
JP3961669B2 (en) Computer system and data transfer control method
JP3227628B2 (en) Information processing system
JPH0744438A (en) Apparatus and method for creation of hibernation file
JP2003345474A (en) Computer system and data transfer control method
JP2001318744A (en) Information processor and data saving control method therefor
JP2004005106A (en) Information processing device, control method and control program

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: LIAN XIANG(SINGAPORE)PRIVATE LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20061117

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20061117

Address after: Singapore Changi

Patentee after: Lenovo (Singapore) Pte. Ltd.

Address before: New York, USA

Patentee before: International Business Machines Corp.

C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20140627

Granted publication date: 20021225