Computer system having resume function and method therefor

Abstract: A computer system having a hibernation-type resume function which is performed by using an HDD. Provided on the hard disk of the HDD are storage area for storing ordinary data. Also provided on the hard disk is a resume storage area which is large enough to save resume data required to perform a resume operation. The resume storage area is controlled by a BIOS provided for performing the resume operation, not by the operating system (OS) of the computer system. The BIOS accesses the resume storage area when the power supply to the system is switched off, thereby saving the resume data in a resume data memory.

Description: The present invention relates to a computer, such as a personal computer, which has resume function of hibernation type. Battery-driven, portable personal computers have resume function. When a personal computer of this type is switched off, or more precisely when its power switch is turned off, the data items representing the conditions the display panel, the computer and the application program assume immediately before the power switch is turned off are saved in a memory which is driven by the battery. When the power switch is turned on, the display panel, the computer and the application program resumes the conditions represented by the data items saved in the battery-driven memory. Thus, the personal computer can be operated again in exactly the same conditions it assumed when the power switch was turned off. Saving these data items in the memory when the computer is turned off is known as "suspend operation." Thanks to the resume function, the information and the status data respectively stored in the main memory and the CPU internal register can be saved when the power switch is turned off and can be restored when the power switch is turned on. The backup power supply for the memory required to achieve the resume function is a rechargeable battery one or an auxiliary dry cell. If the power remaining in the chargeable battery or auxiliary dry cell is not enough to complete the resume function, the data items to be saved in the memory will be erased when the resume function is performed. To prevent such erasure of data items, new type of resume function called "hibernation" has been developed. Hibernation-type resume function saves the data items the computer requires to resume its operating conditions, on the hard disk incorporated in the hard disk drive (HDD) of the personal computer. The hibernation-type resume function can be performed with no backup power supply for a memory. Hence, the power supply to the computer is completely stopped when the power switch is turned off. Portable computers recently developed and known as "notebook type" incorporate a small, large-capacity HDD. A notebook-type portable computer is provided with hibernation-type resume function, so that the data items representing the operating conditions of the computer and application program may be saved on the hard disk incorporated in the HDD. The HDD requires no backup power supply, because it is a nonvolatile memory. The HDD stores data almost eternally after the power supply to the computer is completely stopped. Therefore, it can serve to accomplish a reliable resume function. A computer having hibernation-type resume function has some problems, as will be explained below. First, for the following reason, the computer may fail to resume the last operating conditions when it is switched on again. A great amount of data is stored exclusively in the HDD, unlike in a computer having normal-type resume function achieved by the use of a memory and a backup battery. In some cases, the HDD which is designed as an external memory device for storing a large amount of data may have no empty storage areas or insufficient empty storage areas when it is necessary to perform the resume function. Assume that the computer is turned off in this condition, whereby the resume function is performed. Then, the data items representing the operating conditions of the computer cannot be saved in the HDD, disabling the computer to resume the operating conditions when it is turned on again. Since the HDD is controlled on the basis of the file-control scheme of the operating system (OS) installed in the computer (e.g., the FAT control of MS-DOS), the storage area of the HDD, provided for the resume function, is controlled as a resume-function file. Hence, the resume function cannot work if set by any other operating system. Second, since the access speed of the HDD is lower than that of an IC memory or the like, some time is required to write the data items stored in the main memory, onto the hard disk when the computer is turned off, and to read the data items from the hard disk when the computer is turned on. A considerably long time inevitably lapses until the data items saved on the hard disk is written back into the main memory, particularly when the power switch is turned on immediately after it is turned off to write the contents of the main memory onto the hard disk by virtue of the resume (suspend) operation. Hence, if the hibernation-type resume function is applied to a portable personal computer (e.g., a notebook-type computer), it will impair the operability of the portable personal computer. Third, the data items stored in the HDD by the resume operation will be erased if the HDD is detachable one and removed from the personal computer to be replaced with an HDD having a larger storage capacity. If the HDD is set in the computer of another user, the data items saved in the HDD can be accessed by the other user. Here arises a so-called security problem. Fourth, hibernation-type resume operation consumes far more power than normal-type resume operation. This is because much power is required to drive the HDD in the hibernation-type resume operation, whereas a small amount of power is sufficient to save the data items in a battery-driven memory in the normal-type resume operation. The battery loaded in a portable personal computer has but a small capacity. The amount of power it accumulates by a single recharging is much limited. The power remaining in the battery may not be sufficient to drive the HDD when the computer is turned off. In this case, the data items which the computer needs to resume its last operating conditions cannot be saved in the HDD. In other words, the hibernation-type resume function cannot work at all. Fifth, the data items cannot be saved on the hard disk, making it possible to carry out the hibernation-type resume operation, when the discontinuous empty storage areas found on the hard disk fail to provide a storage area large enough to store the data items. Even if the discontinuous empty storage areas constitute a sufficient storage area, it takes much time to access all these empty storage areas, inevitably lengthening the time for performing the hibernation-type resume function. In this regards, it should be noted that the storage areas on the hard disk, allocated to the hibernation-type resume function, are controlled by, for example, FAT (File Allocation Table) scheme. Additionally, EP-A-0658843 discloses hibernation and wake-up of multiple environments which are performed while password security is maintained. When the hibernation mode is entered, a hibernation file is determined in which hibernation data is to be saved, based on an identifier assigned to the current opertating environment. After save operation is finished, the validity information of the hibernation file is updated, and in some cases, a hibernation signature is set. For wake-up operation, a list of hibernation files being saved, and the user is prompted to select an operating environment to be regenerated. When a corresponding password has been specified, the user is requested to input the password for the corresponding operating environment. US-A 5 339 437 discloses a computer system according to the pre-characterizing part of claim 1 and a method as defined in the preamble of claim 4. At least one storage parameter table is initialized to reserve an area of permanent storage for saving a system image. The reserved area is not formatted by the operating system for general use storage. Additionally, a system management mode (SMM), a dedicated system management memory (SMRAM), a system management interrupt (SMI), an SMI service routine, a Resume instruction (RSM), various mechanism for triggering an SMI, and various mechanisms for triggering an RSM event are provided. Together, these elements allow system management functions to be performed in a manner that is transparent to the operating system and applications. Furthermore, a suspend mode, various suspend levels including a zero volt suspend, a suspend handler, various suspend request delay timers, various mechanisms for triggering a suspend request and various mechanisms for triggering a resume event while in suspend mode are also provided. The suspend handler is provided as part of the SMI service routine. In particular, the suspend handler saves a system image onto the reserved area before shutting off the power from all of the components, excluding the real time clock and the logic, for resuming execution when processing a zero volt suspend request. As a result, a system image may be saved onto permanent storage in a manner that is operating system independent. A first object of the present invention is to provide a computer system in which a storage area is provided in an HDD and a hibernation-type resume function works, whichever type is the file-control scheme of the OS installed in the computer system. A second object of the invention is to provide a computer system which can fast restore the data required to resume the last operating conditions, within a short time after the system is switched on. A third object of this invention is to provide a computer system which can reliably protect the data saved in an HDD by a resume function, even after the HDD is removed from the system. A fourth object of the invention is to provide a computer system which incorporates a battery of a relatively small capacity and which can yet perform a reliable resume function whenever necessary. A fifth object of the present invention is to provide a computer system which has an HDD having a storage area for saving data by a resume function, and can access that storage area at high speed. According to the present invention the above objects are achieved by a computer system according to claim 1 and by a method according to claim 4. The dependent claims are related to further advantegous aspects of the present invention. According to a first aspect there is provided a computer system which has resume means and in which a storage area is permanently provided on a hard disk set in an HDD, for saving data by a resume function. The storage area is distinguished from the other storage areas which are provided on the hard disk to store user data and the like. It is free from the file-control scheme of the OS used and is accessed by the resume means. According to a second aspect there is provided a computer system which has standby means for keep supplying power to the system for a designated time after the power switch of the system is turned off. Hence, data in the main memory can be saved in an HDD for some time after the power switch is turned off. Data is read from a memory driven by a backup battery when the power switch is turned on within the designated period of time after the power switch is turned off. Thus, the last operating conditions of the computer system can be resumed within a short time after the system is switched on, without the necessity of accessing the HDD immediately after the system is switched off. According to a third aspect, there is provided a computer system which comprises a HDD, storage-area defining means, a main memory, and nonvolatile memory. The HDD incorporating a hard disk can be replaced with another. The storage-area defining means is designed to define a storage area on the hard disk, in which data can be saved by a resume function. The storage area is defined in accordance with, for example, the time at which the contents of the main memory are to be written into the HDD. The nonvolatile memory stores an address designating the storage area. When the computer system is switched on, the address is read from the nonvolatile memory. In accordance with the address, the storage-area defining means defines a storage area on the hard disk. The contents of the main memory are saved in the storage area this defined. Hence, if the HDD is removed from the computer system and incorporated into another computer system, the data saved in the storage area on the hard disk is protected since the address designating the storage area is not available in the other computer system. According to a fourth aspect there is provided a computer system which incorporates a battery. In the computer system, the amount of power remaining in the battery and the rate at which the system consumes power are calculated. A minimal amount power which should remain in the battery to perform a resume function is estimated from the amount of remaining power and the power-consumption rate. The minimal amount of power is compared with the amount of power remaining in the battery. When the power in the battery decreases to the minimal amount, the resume function is automatically performed. According to a fifth there is provided a computer system which comprises a main memory and an HDD. The storage capacity of the main memory is detected when the computer system is activated. On the hard disk of the HDD, continuous storage areas the total storage capacity of which is equal to the detected storage capacity of the main memory, for saving data items by a resume function. Needless to say, other storage areas are provided on the hard disk, for storing user data or the like. Since the storage area for saving data items by the resume function are continuous (e.g., storage areas in the consecutive tracks), they can be accessed at high speed when the computer system is switched on. This invention can be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which: FIG. 1 is a block diagram of a computer system according to a first embodiment of the invention; FIGS. 2A and 2B are diagrams explaining a method defining a hibernation area on a hard disk in the computer system shown in FIG. 1; FIG. 3 is a flow chart explaining how a hibernation-type resume operation is performed in the computer system shown in FIG. 1; FIG. 4 is the first part of a flow chart explaining how a hibernation-type resume operation is performed in a computer system according to a second embodiment of the invention; FIG. 5 is the second part of the flow chart explaining how a hibernation-type resume operation is performed in a computer system according to a second embodiment; FIGS. 6A and 6B are diagrams explaining the basic concept of a computer system according to a third embodiment of the invention; FIG. 7A and 7B are flow charts explaining a hibernation-type resume operation is performed in the computer system according to the third embodiment; FIG. 8 is the first part of a flow chart explaining a hibernation-type resume operation and a normal-type resume operation are performed in the computer system according to a fourth embodiment of the present invention; FIG. 9 is the second part of the flow chart explaining a hibernation-type resume operation and a normal-type resume operation are performed in the computer system according to the fourth embodiment; FIGS. 10A and 10B are flow charts explaining how a hibernation-type resume operation is performed in a computer system according to a fifth embodiment of the invention; and FIG. 11 is a flow chart explaining how a normal-type resume operation and a hibernation-type resume operation are performed in a modification of the fourth embodiment. Embodiments of the present invention will now be descried, with reference to the accompanying drawings. (Structure of the System) The computer system according to the invention is a portable personal computer such as a notebook-type computer. As shown in FIG. 1, it comprises a power supply 10 and an external memory 5. The power supply 10 is a rechargeable battery, and the external memory 5 is a hard disk drive (HDD). The computer system further comprises a CPU (Central Processing Unit) 1, a main memory (DRAM) 2, a backup power-supply circuit (BS) 3, a ROM (Read-Only Memory) 4, a display (LCD) 6, a VRAM (video RAM) 7, a power-supply controller (microcomputer) 8, a power switch 9, an SMI (System Management Interrupt) con-roller 11, a nonvolatile memory (EEPROM) 12, and a real-time counter (RTC) 13. The ROM 4 stores BIOS (Basic Input/Output System). The main memory 2 has an SM area 2A, i.e., a work memory area for storing the BIOS exclusively. If the computer system incorporates an expansion memory, the main memory 2 will have an expansion memory area 2B. The VRAM 7 is provided to store data which the display 6 is to display. The BIOS 4 is basic software which impart a hibernation-type resume function and a normal-type resume function to the computer system; it executes the boot mode of the computer system. The power-supply controller 8 monitors the on/off operation of the power switch 9 and switches the power supply 10 on and off. The controller 8 monitors the amount of power remaining in the power supply 10 (i.e., the rechargeable battery), as will be described later. The backup power-supply circuit 3 supplies backup power to the main memory 2 under the control of the power-supply controller 8. The SMI (System Management Interrupt) controller 11 is an interruption controller for executing an SM interruption to the CPU 1. In standby mode, for example, the controller 11 executes an SM interruption (SMI) in response to a signal which is supplied from the power-supply controller 8 and which indicates that the power switch 9 is turned on. The nonvolatiLe memory 12 is an EEPROM incorporated in the housing of the computer system. The memory 12 stores an address designating a storage area 5A for hibernation-type resume operation (see FIG. 6B). (The storage area 5A may be used as an H area in some cases.) The power supply 10 is switched on and off not only when the power switch 9 is turned on and off, but also when the display panel of the display 6 is opened and closed. Furthermore, the power supply 10 is switched off when the computer system is automatically switched off. For brevity, it is assumed here that the power supply 10 is switched on and off only when the power switch 9 is operated. (First Embodiment) The first embodiment of the invention is a computer system in which storage area 5A for hibernation-type resume operation (H area) 5A is permanently provided on the hard disk of the HDD 5 as shown in FIG. 2A. To be more specific, the HDD 5 has a storage capacity of 500 MB (megabytes), and the H area 5A is a continuous storage area in which 22 MB of data can be stored. When the hibernation-type resume function is performed, all data stored in the main memory 2 and all data stored in the VRAM 7 are saved in the H area 5A before the computer system is switched off. Assume that the main memory 2 and the VRAM 7 have a storage capacity of 20 MB (a standard 8MB-memory and an extended 12MB-memory) and a storage capacity of 1 MB, respectively, and that a 1-MB auxiliary memory is provided to compensate for a defect which may occur in the main memory 2 and the VRAM 7. As shown in FIG. 2B, the H area 5A consists of consecutive inner tracks formed on the hard disk 50. The HDD 5 has a user area 5B. The user area 5B is controlled by the OS (Operating System) installed in the computer system. For example, the user area 5B is controlled by FAT (File Allocation Table) scheme. On the other hand, the H area 5A is controlled by the BIOS 4. The OS cannot use the H area 5A at all. Thus, even if the OS is changed to another, the BIOS 4 accesses the H area 5A. The data stored in the main memory 2 and VRAM 7 can thereby be saved in the H area 5A and then read from the H area 5A back into the main memory 2 and the VRAM 7 or restored, provided that the resume conditions are satisfied. This is hibernation-type resume operation. How the hibernation-type resume operation is effected in the first embodiment will be explained, with reference to the flow chart of FIG. 3. First, the power switch 9 is turned on, and the power-supply controller 8 supplies power from the power supply 10 to the other components of the computer system. In other words, the computer system is activated. (More precisely, the CPU 1 starts processing data and controlling the other components of the computer system.) When the user turns off the power switch 9 (Step S1), the BIOS 4 starts performing a suspend operation in response to an SMI signal supplied from the power-supply controller 8 (Step S2). The contents of the internal register of the CPU 1 and the other hardware registers are saved in the SM-RAM 2A of the main memory 2 which is still driven by the power supply 10 (battery). The H area 5A of the HDD 5 is accessed (Step S3). The data stored in the main memory 2 and VRAM 7 is thereby saved in the H area 5A (Step S4). It is determined whether the data stored in the main memory 2 and VRAM 7 is completely saved in the H area 5A (Step S5). If the data is completely saved in the H area 5A, the power-supply controller 8 stops the power supply from the power supply 10 (battery) in response to an instruction which the BIOS 4 issues (Step S6). As a result, the computer system is set into non-operating state; the display 6 and the HDD 5 stop operating. At this time, the data the system requires to resume its last operating conditions is stored in the H area 5A of the HDD 5. It is then determined whether the user turns on the power switch 9 thereafter (Step S7). If Yes, the power-supply controller 8 supplies an SMI signal to the BIOS 4. In response to the SMI signal the BIOS 4 starts performing a resume operation. More specifically, the BIOS 4 accesses the H area 5A of the HDD 5, reading all data saved in the H area 5A (Step S8). The BIOS 4 writes the data back into the main memory 2 and the VRAM 7 (Steps S9 and S10), thus restoring the data. The computer system therefore resumes the operating conditions it assumed immediately before it was switched off. Thus, the display 6 displays the data which was stored in the VRAM 7 immediately before the system was switched off. The CPU 1 processes data in accordance with the status data which was stored in the internal register when immediately before the system was switched off. (Second Embodiment) The second embodiment of the invention is a computer system which perform a hibernation-type resume operation in which the system is set into a standby mode when it is switched on and remains in the standby mode until it is switched off. In the standby mode, the backup power-supply circuit 3 remains on for a specified period after the power switch 9 is turned off. During this time the normal-type resume operation and the hibernation-type resume operation are performed in parallel during the specified period. The specified period is input by selecting a value for the period, on the set-up screen of the display 6. How the hibernation-type resume operation is effected in the standby mode in the second embodiment will be explained, with reference to the flow chart of FIGS. 4 and 5. First, the power switch 9 is turned on, and the power-supply controller 8 supplies power from the power supply 10 to the other components of the computer system. Thus the computer system is activated. When the user turns off the power switch 9 (Step S20), the BIOS 4 starts performing a suspend operation in response to an SMI signal supplied from the power-supply controller 8 (Step S21). The contents of the internal register of the CPU 1 and the other hardware registers are saved in the SM-RAM 2A of the main memory 2 which is still driven by the power supply 10. The data displayed immediately before the power switch 9 was turned off (i.e., the data stored in the VRAM 7) is also saved in the SM-RAM 2A. The display 6 can therefore display the data when an instant-on function is effected as will be explained later. Then, the H area 5A of the HDD 5 is accessed, whereby the data stored in the main memory 2 and VRAM 7 is thereby saved in the H area 5A (Step S22). It is determined whether the data is completely saved in the H area 5A (Step S23). If No, the operation returns to Step S22. If Yes, it is determined whether the computer system is set in the standby mode (Step S24). If Yes in Step S24, the backup power-supply circuit 3 is maintained on and the system is maintained in non-operating state (power-saving state), for the specified period after the power switch 9 is turned off (Step S25). That is, a clock signal is no longer supplied to the CPU 1, and the display 6 and the HDD 5 remains not operating during the specified period. As indicated above, power is supplied to only the main memory 2 from the backup power-supply circuit 3 in the standby mode. The contents of the main memory 2 is therefore saved. Next, it is determined whether or not the specified period has elapsed (Step S26). If No, it is determined whether the power switch 9 is turned on (Step S27). If Yes in Step S27, the standby mode is canceled by a command supplied from the power-supply controller 8 and indicating the switching on of the computer system (Step 28). More precisely, the standby mode is canceled by the interruption signal (i.e., SMI signal) which the SMI controller 11 generates when the user turns on the power switch 9. Then, it is determined whether or not the power switch 9 is turned off (Step S29). If Yes, the operation returns to Step S21. If No, the operation returns to Step S28. If No in Step S24, that is, if the system is not set in the standby mode, the operation goes to Step S30. In Step S30, all power supplies of the computer system are turned off. If Yes in Step S26, that is, the specified period has elapsed, the operation goes to Step S30, in which all power supplies of the computer system are turned off. If Yes in Step S27, that is, if the power switch 9 is turned on before the specified period elapses, the BIOS 4 cancels the standby mode in response to the command supplied from the power-supply controller 8 (Step S28). The computer system is thereby brought into operating state. That is, the BIOS 4 restore the data stored in the main memory 2, thereby setting the computer system into the same operating condition the system assumed before the power switch 9 was turned off. The data which the register of the display unit stored before the switch 9 was turned off is therefore read from the SM-RAM 2A and is displayed on the screen of the display 6. Thus, the computer system resumes the operating conditions within a short time when the power switch 9 is turned on. The function of enabling the system to resume the operating conditions will be referred to as "instant-on function" hereinafter. Further, it is determined whether or not the power switch 9 is turned on after the system is automatically switched off upon lapse of the specified period (Step S31). If No, the operation returns to Step S30. If Yes, the BIOS 4 is activated in the same way as the power supply 10 is turned on in ordinary manner. The BIOS 4 performs a resume function in response to the SMI signal supplied from the power-supply controller 8 (Steps S32) To be more specific, BIOS 4 accesses the H areas 5A of the HDD 5, reads the data stored in the main memory 2 and VRAM 7 from the H area 5A and writes it back into the main memory 2 and the VRAM 7, thus restoring the data. The computer system thereby resumes the operating conditions it assumed immediately before the power switch 9 was turned off. Then, it is determined whether or not the data has been restored (Step S33). If No, the operation returns to Step 32. If Yes, the hibernation-type resume operation completes. In the second embodiment which has a hibernation resume function, the instant-on function is performed if the user turns on the power switch 9 within the short specified period before the power supply L0 is turned off. Thus, the computer system can quickly resume its last operating conditions since the contents of the main memory 2 are restored in the standby mode. In other words, this is possible because the data items representing the operating conditions are read form the main memory 2 which has a high access speed, not from the HDD 5 which has a relatively low access speed. The power supply 10 remains on in the standby mode. Nonetheless, power is not wasted since the computer system is maintained in non-operating state, i.e., power-saving state. Should the contents of the main memory 2 be erased because of, for example, a power supply failure, the contents of the main memory 2 can be reliably restored. This is because the contents of the memory 2 have been saved in the HDD 5. (Third Embodiment) The third embodiment of the present invention is a computer system of the type shown in FIG. 1, in which the HDD 5 can be replaced with another HDD. The third embodiment performs a hibernation-type resume operation to protect the data saved in the H area 5A of the HDD 5, i.e., the contents of the main memory 2 and VRAM 7. To state it another way, the third embodiment is designed to solve data-security problems. How the third embodiment performs the hibernation-type resume operation will be explained, with reference to FIGS. 6A and 6B and the flow chart of FIGS. 7A and 7B. As seen from FIGS. 6A and 6B, a plurality of hibernation areas, or H areas, are provided on the hard disk of the HDD5. The H area are consecutive, assigned with consecutive logic addresses 0, 1, 2, .... The H areas are accesed in accordance with the address data stored in the nonvolatile memory (EEPROM) 12 incorporated in the computer system. The address data represents the first logic address 0 of the first H area provided on the hard disk. The address data is set when the data stored in the main memory 2 and VRAM 7 are to be saved in the HDD 5. The address data is ultimately altered every time the contents of the main memory 2 and VRAM 7 are actually saved in the H area 5A of the HDD 5. First, the power switch 9 is turned on, and the power-supply controller 8 supplies power from the power supply 10 to the other components of the computer system. Thus the computer system is activated. When the user turns off the power switch 9 thereafter (Step S40), it is determined whether or not the computer system is set in the hibernation mode (Step S41). If Yes, the BIOS 4 starts performing a suspend operation in response to an SMI signal supplied from the power-supply controller 8. If No in Step S41, the operation goes to Step S47, in which the computer system is switched off. If Yes in Step S41, the BIOS 4 generates data representing the present time measured by the real-time counter (RTC) 13 and writes the data into the nonvolatile memory (EEPROM) 12 (Step S42). Then, the BIOS 4 sets an hibernation (H area) 5A on the hard disk of the HDD 5 (Step S43). The BIOS 4 determines the first address of the H area 5A in which to save the data stored in the main memory 2 and VRAM 7, so that the data may be in the H area 5A. The BIOS 4 alters the first address (i.e., the cylinder address at which the data saving is started), every time the contents of the main memory 2 and VRAM 7 are written into the H area 5A. The first address is "0" when the first data item is written into the H area 5A. It is altered to "1" when the second data item is written into the H area 5A. The BIOS 4 saves the data stored in the main memory 2 and VRAM 7, at the first address et seq. of the H area 5A (Step S44). It is determined whether or not the data has been completely saved (Step S45). If No, the operation returns to Step S44. If Yes, the operation goes to Step S46. In Step S46, the data representing the first address of the H area 5A is set in the nonvolatile memory 12. When the data is completely saved in the H area 5A, the power-supply controller 8 switches off the computer system in accordance with the instruction supplied from the BIOS 4 (Step S47). The contents of the main memory 2 and VRAM 7, which the system requires to resume the operating conditions it assumed before it was switched off, are saved in the H area 5A which consists of consecutive addresses, the first of which is represented by the address data stored in the nonvolatile memory 12. Next, it is determined whether or not the power switch 9 is turned on (Step S48). If No, the operation returns to Step S47. If Yes, that is, if the user turns on the power switch 9, the BIOS 4 starts performing a resume operation in response to an SMI signal supplied from the power-supply controller 8. Then, it is determined whether the address data is stored in the nonvolatile memory 12 (Step S49). If Yes, the address data is read from the nonvolatile memory 12. Then, the BIOS 4 access the H area 5A consisting of consecutive addresses, the first of which is represented by the address data read from the nonvolatile memory 12. The data saved in the H area 5A is thereby restored in the main memory 2 and the VRAM 7 (Step S50). If No in Step S49, that is, the address data is not stored in the memory 12, the operation goes to Step S52, in which the BIOS 4 executes the boot mode, activating the computer system. After the data saved ir the H area 5A is restored in the main memory 2 and the VRAM 7, it is determined whether the data has been completely restored in the main memory 2 and the VRAM 7 (Step S51). If Yes, the hibernation-type resume operation completes. In the third embodiment, the BIOS 4 alters the first address of the H area 5A every time the contents of the main memory 2 and VRAM 7 are written into the H area 5A during the hibernation-type resume operation. This means that the H area 5A (i.e., some consecutive addresses) is changed every time contents of the main memory 2 and VRAM 7 are saved in the HDD 5. Since the first address of the H area 5A is stored in the nonvolatile memory 12 incorporated in the computer system, the BIOS 4 can restore the contents of the main memory 2 and VRAM 7 in accordance with the first address when the computer system is switched on. Assume that the HDD 5 storing the contents of the main memory 2 and VRAM 7 is removed from the computer system and set into another computer system. Even if the HDD 5 in the other system is accessed, the contents of the main memory 2 and VRAM 7 cannot be read from the HDD 5. This is because the other computer stores the address data required for accessing the H area 5A of the HDD 5. Namely, the data saved in the HDD 5, which is specific to the computer system, cannot be accessed in any other computer system. Thus, the data is reliably protected by virtue of the hibernation-type resume function, thereby solving the security problem. In the third embodiment, the address data representing the first address of the H area 5A is stored in the nonvolatile memory 12 provided in the computer system. The first address is altered every time the contents of the main memory 2 and VRAM 7 are saved in the H area 5A. Instead, the first address may be changed by any other method, for example by using a random-number generator, making it impossible for the BIOS provided in the other computer system to access the H area 5A to read the data saved in the H area 5A. (Fourth Embodiment) The fourth embodiment of the invention is a personal computer of the type shown in FIG. 1, in which the power supply 10 is a rechargeable battery having a relatively small capacity. The fourth embodiment is characterized in two respects. First, the power remaining in the power supply 10 is monitored to determine whether or not the amount of power remaining in the power supply 10 has decreased to a minimal amount of power required to perform a hibernation-type resume operation. Second, either a hibernation-type resume function and a normal-type resume function can be selected and effected. The normal-type resume function is to back up the main memory 2 by using the backup power-supply circuit 3 so as to save the contents of the main memory 2. The normal-type resume function requires more power than the hibernation-type resume function since the main memory 2 consumes power to keep its contents, but not so much power to initiate itself. By contrast, the hibernation-type resume function requires power to initiate itself because it cannot be initiated without driving the HDD 5, but requires no power to save the contents of the main memory 2. The operation of the fourth embodiment will be explained, with reference to the flow chart of FIGS. 8 and 9. First, the BIOS 4 identifies the type of the resume function which the user has selected by designating the corresponding icon displayed on the set-up screen of the display 6 (Step S60). It is determined whether the resume function selected is hibernation-type resume function (Step S61). If Yes, the BIOS 4 calculates an amount of power required to effect a hibernation-type resume operation (Step S62). Of the amount of power calculated, a greater part will be consumed to drive the HDD 5. The BIOS 4 further calculates the amount of power remaining at present in the power supply 10, from the rate at which the system is consuming power (Step S63). The present rate of power consumption is detected by the power-suppLy controller 8. Next, the BIOS 4 estimates a minimal amount of power required to perform the hibernation-type resume operation, on the basis of the amount of power calculated in Step S62 and the amount of power calcuLated in Step S63 (Step S64). Further, the BIOS 4 determine whether the power remaining in the power supply 10 has decreased to the minimal amount (or low-battery value 1) estimated in Step S64 (Step S65). If No, the operation returns to Step S63. If Yes, the operation goes to Step S66. In Step S66, the BIOS 4 executes the hibernation-type resume operation which has been explained with reference to the flow chart of FIG. 3. If No in Step S61, that is, if the normal-type resume function is selected, the operation goes to Step S70. In Step S70, the BIOS 4 calculates an amount of power required to accomplish a normal-type resume operation. Of the amount of power calculated in Step S70, a greater part will be consumed to save the contents of the main memory 2 and VRAM 7. Then, the BIOS 4 calculates the amount of power remaining at present in the power supply 10, from the rate at which the system is consuming power (Step S71). Next, the BIOS 4 estimates a minimal amount of power required to perform the normal-type resume operation, on the basis of the amount of power calculated in Step S70 and the amount of power calculated in Step S71 (Step S72). The BIOS 4 determine whether the power remaining in the power supply 10 has decreased to the minimal amount (or low-battery value 2) estimated in Step S72 (Step S73). If No, the operation returns to Step S71. If Yes, the operation goes to Step S74. In Step S74, the BIOS 4 executes the normal-type resume operation which has been explained with reference to the flow chart of FIG. 3. As mentioned above, the fourth embodiment is a personal computer. The power supply 10 is proportionally small and has a limited capacity. Once the power remaining in the power supply 10 becomes Less than the low-battery value 1 or 2, a resume function can no longer be effected. The data the computer system requires to resume the operating conditions it assumed before the power switch 9 is turned off will inevitably erased. This would not happen in the fourth embodiment, because a resume function is automatically performed before the power remaining in the power supply 10 becomes less than either low-battery value. More specifically, the amount of power remaining in the power supply 10 (i.e., rechargeable battery) is monitored. When the remaining power decreases to the low-battery value 1, the hibernation-type resume operation is performed automatically. The contents of the main memory 2 and VRAM 7 are reliably saved in the HDD 5. When the decreasing remaining power approaches the low-battery value 1, the power-supply controller 8 generates an alarm signal. In response to the alarm signal the BIOS 4 displays an alarm message on the screen of the display 6. The user can therefore learns that it is necessary to recharge the power supply 10 or replace it with a new one. When the remaining power decreases to the low-battery level 2, the normal-type resume operation is effected automatically. The contents of memories (which ones) are saved in the main memory 2, and the computer system is set into non-operating state. The power in the power supply 10 is thereby saved. A modification of the fourth embodiment will be described, with reference to the flow chart of FIG. 11. The modified computer system is characterized in that a normal-type resume operation is carried out upon lapse of a predetermined time from the last key operation. To be more specific, it is determined whether the predetermined time has elapsed from the last key operation of the user (Step S100). If No, Step S100 is repeated. If Yes, the normal-type resume operation is performed (Step S101). Then, the power remaining in the power supply 10 is monitored (Step S102). It is determined whether the remaining power decreases to a prescribed low-battery value (Step S103). If No, Step S102 is repeated. If Yes, a hibernation-type resume operation is carried out (Step S104). (Fifth Embodiment) The fifth embodiment of the present invention is a computer system of the type shown in FIG. L, in which the HDD 5 has an H area 5A as large as the total storage capacity of the memories provided, a hibernation-type resume function, and the H area 5A can be accessed at high speed to perform a hibernation-type resume function. Generally, the total storage capacity of the memories are the sum of the storage capacity of the main memory 2 and the storage capacity of the VRAM 7. As shown in FIG. 1, the main memory 2 has an SM-RAM 2A and an expansion memory area 2B. (The SM-RAM 2A is provided to store the contents of the internal register of the CPU 1.) In the conventional hibernation-type resume function, the H area 5A of the HDD 5, as well as the user area 5B, is controlled by FAT scheme. The H area 5A consists of, in most cases, discontinuous empty storage areas provided on the hard disk and retrieved by the BIOS 4, excluding the user area 5B. The H area may not be so large as the total storage capacity of the memories provided when the computer system operates in specific conditions. Since the H area 5A consists of discontinuous empty areas, not consecutive ones, a considerably long time is required to access the H area 5A in order to restore all contents of the memories. In the fifth embodiment, the H area 5A has as large as the total storage capacity of the memories provided and consists of consecutive empty areas, so as to be accessed at high speed. The operation of the fifth embodiment will be explained, with reference to the flow chart of FIGS. 10A and 10B. The BIOS 4 initializes the computer system right after the user turned on the power switch 9 (Step S80). The total storage capacity of the memories provided in the system is detected (Step S81). The total storage capacity detected is, for example, 21 MB (= 20 MB of the main memory 2 and 1 MB of the VRAM 7). Next, the BIOS 4 reserves consecutive empty storage areas on the hard disk of the HDD 5, e.g., tens of inner tracks, which constitute the H area 5A as large as the total storage capacity of the main memory 2 and the VRAM 7 (Step S82). The BIOS 4 revises the parameter table for the HDD 5, excluding the H area 5A from the storage areas on the disk which the ordinary OS controls. Thus, the BIOS 4 controls the H area 5A as storage areas for resume operations only. Thereafter, it is determined whether or not the user has turned off the power switch 9 (Step S83). If Yes, the BIOS 4 starts performing a suspend operation (Step S84). The BIOS 4 makes an access to the H area 5A of the HDD 5 (Step S85). The contents of the main memory 2 and VRAM 7 are thereby saved in the H area 5A (Step S86). Then it is determined whether or not the stored in the main memory 2 and VRAM 7 is completely saved in the H area 5A (Step S87). If No, Step S86 is repeated. If Yes, the power-supply controller 8 stops the power supply from the power supply 10 (Step S88). Then it is determined whether or not the user has turned on the power switch 9 (Step S89). If No, the step S88 is repeated. If Yes, the BIOS 4 starts performing a resume operation in response to an SMI signal supplied from the power-supply controller 8. More precisely, the BIOS 4 accesses the H areas 5A of the HDD 5 (Step S90). The data saved in the H area 5A is thereby read and written back into the memory 2 and the VRAM 7 (Step S91). Thus, the contents of the main memory 2 and VRAM 7 is restored. Further, it is determined whether or not the contents of the main memory 2 and VRAM 7 have been completely restored (Step S92). If No, Step S91 is repeated. If Yes, the operation of the computer system goes to the next step. The computer system thereby resumes the operating conditions it assumed immediately before the power switch 9 was turned off. As indicated above, when the computer system is activated, the BIOS 4 reserves consecutive empty storage areas on the hard disk of the HDD 5, which constitute the H area 5A as large as the total storage capacity of the main memory 2 and the VRAM 7. This makes it possible to save all the data required later in the H area 5A by performing the hibernation-type resume operation. In addition, since the H area 5A consists of, for example, tens of consecutive inner tracks, it can be accessed at high speed, whereby the data can be restored within a relatively short time. The computer system can therefore quickly resume the operating conditions it assumed when it was switched off. As has been described in detail, the computer system according to the first embodiment of the invention can perform a hibernation-type resume function works, whichever type is the file-control scheme of the OS installed in the computer system. The computer system according to the second embodiment of this invention can restore the data it needs to resume the last operating conditions, within a short time after the system is switched on. The computer system according to the third embodiment of the invention which can reliably protect the data saved in an HDD by a resume function, even after the HDD is removed from the system. The computer system according to the fourth embodiment of the present invention incorporates a battery of a relatively small capacity and can yet perform a reliable resume function whenever necessary. The computer system according to the fifth embodiment of the invention has an HDD having a storage area for saving data by a resume function, and can access that storage area at high speed.

Claims: A computer system having resume function which executes a resume operation when a power switch (9) is switched off or on, said system comprising: a first power supply (10); a volatile memory (2, 7) for storing resume data representing operating conditions the system assumed before the power supply (10) is switched off; nonvolatile storage means (5) having a resume storage area for holding resume data stored in said volatile memory (2, 7) even after the first power supply (10) is switched off; suspend means (4) for saving the resume data in the resume storage area of said storage means (5) when the first power supply is switched off; and means (4) for restoring the resume data from said nonvolatile storage means (5) into the volatile memory (2, 7) when first power supply is switched on, so that the computer system resumes the operating conditions; characterized by comprising standby means (3, 4, 8) for supplying power to said volatile memory (2, 7) for a specified period after the first power supply is switched off, so that the computer system resumes the operating conditions in accordance with data stored in the volatile memory (2, 7) when the first power supply is turned on before the end of the specified period. The computer system according to claim 1, characterized in that said standby means (3,4,8) includes means (3, 8) for stopping said first power supply (10) to said volatile memory (2, 7) when said first power supply remains off throughout the specified period, so as to stop the power supply to said volatile memory (2, 7) upon lapse of the specified period. The computer system according to claim 1, characterized in that said standby means (3,4,8) includes a second power supply (3) and saves the resume data in a backup memory supplied with power from said second power supply (3) and also in the resume storage area, when said first power supply is switched off, and restores the operating conditions of the system from the resume data saved in the backup memory when said first power supply is switched on. A method of performing a resume operation in a computer system, comprising the steps of: performing suspend operation (S21) for saving data representing operating conditions of the computer system in a storage area of the nonvolatile storage (5) from a volatile memory (2) when a first power supply (10) is switched off through a power switch (9), and storing the data again into the volatile memory (2) when the power switch (9) is turned on, so that the computer system resumes the operating conditions, said method characterized by comprising the step of: performing a standby mode (S25) for supplying power to the volatile memory (2) for a specified period after the first power supply (10) is switched off, so that the computer system resumes the operating conditions in accordance with the data stored in the volatile memory (2) when the power switch (9) is turned on before the end of the specified period. The method according to claim 4, characterized by comprising the step of: performing a cancel operation of the standby mode (S27, S28) when the power switch (9) is turned on during the specified period.

Inventors: ARAI MAKOTO, KATO KEIICHI, MURAYA HIDEAKI, SATO SHIGENOBU, TSUKADA HIROYUKI, ARAI, MAKOTO, KATO, KEIICHI, MURAYA, HIDEAKI, SATO, SHIGENOBU, TSUKADA, HIROYUKI
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1997
Main classification: G06F11
IPC codes: G06F11, G06F9