EP1685482A4 - Method and apparatus for booting a computer system - Google Patents

Method and apparatus for booting a computer system

Info

Publication number
EP1685482A4
EP1685482A4 EP03748814A EP03748814A EP1685482A4 EP 1685482 A4 EP1685482 A4 EP 1685482A4 EP 03748814 A EP03748814 A EP 03748814A EP 03748814 A EP03748814 A EP 03748814A EP 1685482 A4 EP1685482 A4 EP 1685482A4
Authority
EP
European Patent Office
Prior art keywords
memory
image
memory image
computer system
boot
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.)
Withdrawn
Application number
EP03748814A
Other languages
German (de)
French (fr)
Other versions
EP1685482A1 (en
Inventor
Daniel James O'connell
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.)
TI Technologies Ltd
Original Assignee
TI Technologies Ltd
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 TI Technologies Ltd filed Critical TI Technologies Ltd
Priority claimed from PCT/NZ2003/000217 external-priority patent/WO2005029325A1/en
Publication of EP1685482A1 publication Critical patent/EP1685482A1/en
Publication of EP1685482A4 publication Critical patent/EP1685482A4/en
Withdrawn legal-status Critical Current

Links

Classifications

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

Definitions

  • This invention relates to booting a computer system or other digital processing device, and has particular relevance to desktop computer systems and personal computers including mobile computing devices.
  • ROM Read Only Memory
  • EEPROM Electrically Erasable Read Only Memory
  • RAM Random Access Memory
  • ACPI Advanced Configuration and Power Interface
  • the invention provides a method of booting a digital processing device such as a computer system.
  • the system has a working memory and the method includes the steps of providing a memory image of contents of the system working memory and loading the memory image in a non-volatile reprogrammable memory.
  • the memory image from the non-volatile reprogrammable memory is loaded into the system working memory, thereby booting the system in a very short space of time.
  • the system is adapted to boot from either non-volatile reprogrammable memory or the system hard drive.
  • the system loads the memory image from non-volatile reprogrammable memory into RAM, restoring the operating system to its previous working state.
  • the set-up application for the desired operating system additionally creates a Compressed Memory Image (CMI), containing a compressed image of all data currently stored in RAM, such as is currently implemented in the ACPI 2.0a specifications as a State S4 system context file.
  • CMI Compressed Memory Image
  • This file is stored in the non-volatile reprogrammable memory, but the set-up application does not shut the computer down as is the case for a State S4 system context file creation in the current ACPI 2.0a specifications, rather it follows its programmed shut down procedure.
  • BIOS When the user restarts the computer, for example by pressing a power "on” button, the BIOS either looks to non-volatile reprogrammable memory for boot information, or alternatively looks on the hard drive.
  • the computer then proceeds through the normal Power On Self Test (POST) boot method, and modified operating system boot loaders then transfer and decompress a previously created Compressed Memory Image (CMI) from non-volatile reprogrammable memory into main memory or working memory (RAM).
  • POST Power On Self Test
  • CMS Compressed Memory Image
  • RAM main memory or working memory
  • the operating system When the user wishes to shut down the computer system, the operating system first checks as to whether any significant changes have been made to the configuration of the computer. If there are no significant changes the operating system simply shuts down the computer in a way similar to known shut down procedures, but does not save any new system configuration data. If significant changes have been made, then in a preferred embodiment the operating system saves and compresses all data currently stored in RAM to a new CMI located in non-volatile reprogrammable memory, and saves the previous memory images for recovery and troubleshooting.
  • the invention further provides a computer system including a non-volatile reprogrammable memory which contains a memory image of contents of the system working memory.
  • the memory image may be an image of the system working memory in a certain state desired by a user, including a state immediately post-boot, or a state in which certain applications are open.
  • the memory image may be an image of only the operating system, or may be a partial image.
  • the memory image is preferably a compressed memory image (CMI) which is decompressed before or as it is being loaded into the system working memory.
  • CMI compressed memory image
  • the memory image comprises a compressed memory image.
  • the system includes a disk drive or other storage device which includes at least one archived copy of the memory image or the compressed memory image.
  • the invention also provides a method of shutting down a computer system which includes the step of storing a compressed image of all data currently stored in RAM as a Compressed Memory Image (CMI) in the non- volatile reprogrammable memory, and storing one or more archive copies of the CMI on another storage device such as a local hard drive of the system.
  • CMI Compressed Memory Image
  • non- volatile reprogrammable memory is Flash memory.
  • the operating system source code is modified to internally support a flash file system (FFS) through a Flash Translation Layer (FTL), such as Intel's own FTL specification (http://www.intel.com design/flcomp/applnots/297816.htm).
  • FTL Flash Translation Layer
  • BIOS of the computer is modified to boot from non-volatile reprogrammable memory using a flash file system (FFS) and File Translation Layer (FTL).
  • FFS flash file system
  • FTL File Translation Layer
  • the compressed memory image has the compressed version of all data currently stored in RAM resulting from a previous shut down procedure, similar to a State S4 shutdown procedure in the current ACPI 2.0a specifications.
  • the previous CMI is archived to installed and non- volatile reprogrammable memory to be used as a "last known good" CMI.
  • Figure 1 is a flow diagram of a computer boot or start-up process according to the invention for an operating system driven computer
  • Figure 2 is a flow diagram of a computer boot or start-up process according to the invention for a BIOS driven computer
  • FIG. 3 is a flow diagram of a shutdown process according to the invention.
  • Figure 4 is a diagrammatic representation of a computer system including a non- volatile reprogrammable memory for use with the boot process and shut down process of the preceding Figures.
  • the examples referred to below relate to use of the invention to boot a personal computer and to a personal computer having a non- volatile reprogrammable memory configured to effect booting the computer.
  • the invention is also applicable to other digital processing devices which require an operating system to be loaded for use, for example computer game machines, business machines and telecommunication apparatus.
  • FIG. 1 a flow diagram of a boot or start up process for a computer system according to the invention is illustrated.
  • a user activates the system power button for example in step 1.
  • the BIOS either: a) looks to the hard drive of the system for the operating system boot loader, as occurs in existing boot sequences; or (b) alternatively, the BIOS looks to a non-volatile reprogrammable memory provided in the computer system.
  • BIOS Even if the BIOS initially looks to the hard drive for the operating system boot loader, the boot loader still directs the system to download a memory image from the non-volatile reprogrammable memory, as will be described further below, though this may be conditional on the user entering a password stored in BIOS.
  • the non-volatile reprogrammable memory is provided as an integrated circuit, which is accessible to the computer system, for example being provided on the motherboard of the personal computer. Alternatively, it is provided as a PCI add-in card to retrofit to an existing machine.
  • the non-volatile reprogrammable memory may also be provided in other ways, so long as it satisfies requirements of being accessible to the system to enable its contents to be accessed sufficiently quickly by the system to make the boot method of the present invention worthwhile.
  • step 3 the operating system boot loader therefore starts the boot process either directly from the contents of the non- volatile reprogrammable memory, or from the hard drive of the system.
  • the non- volatile reprogrammable memory contains a memory image of the contents of RAM which are sufficient, when loaded into system memory, to enable the computer system to be provided in a useable state for a user i.e. to boot the computer system.
  • the memory image that is captured and provided in the non-volatile reprogrammable memory may take a variety of forms.
  • the non-volatile reprogrammable memory may contain a memory image of the post-boot system working memory (i.e. RAM) contents.
  • this compressed memory image is stored from a previous shutdown procedure similar to a State S4 shutdown procedure in the current ACPI 2.0a specifications.
  • the memory image may also be only a partial image of the system memory. Therefore, the image may comprise data relating to the bulk of the operating system for example, and the remainder of the information necessary to build or establish the system working memory may be loaded into the working memory from another memory storage device such as the system hard disk.
  • This arrangement may be preferable where the size of the non- volatile reprogrammable memory needs to be limited, for example due to cost constraints, but the invention is still worthwhile because the overall time taken to perform a boot process is still significantly reduced as compared to known boot processes.
  • the memory image may be initially created during the set up process of the operating system, or may alternatively be replaced whenever a user makes a significant change to the configuration of the computer. Also, the memory image may be captured every time the user initiates a shut down sequence.
  • the memory image is preferably compressed, so that a compressed memory image (CMI) is stored in the non-volatile reprogrammable memory and retrieved from the non-volatile reprogrammable memory when required.
  • CMI compressed memory image
  • Compression can save a significant amount of memory space without the decompression process adding significantly to the reduced boot time provided by the present invention.
  • a compression algorithm such as that available in the open source zlib library may be used.
  • the memory image may also be encrypted to the same standard as the hard drive to prevent attempts to recover information from the memory where the hard drive carrying the same data is secured.
  • step 7 where it has been determined that a compressed memory image exists, the user is prompted for a password (step 7) and when this is supplied (step 9) the CMI located in the non-volatile reprogrammable memory is decompressed, and the computer system settings and full memory contents are loaded into RAM from the decompressed CMI (step 18). If an incorrect password is supplied (step 8) the logon attempt fails (step 10) and the computer shuts down (step 13), optionally deleting the compressed memory image (step 12). If the CMI is deleted the next boot will be a normal boot sequence (steps 4-6, 23-24).
  • step 14 the operating system checks to see if major changes in the hardware configuration have taken place (step 14), and if so (step 16) performs a normal boot (steps 23-24). Assuming that no major components have changed the start up (step 15) applications, services and device drivers are loaded from RAM (step 19). A check is then made for extra basic hardware and if any is encountered the fact is flagged to prompt a later save of the configuration. The quicker boot process is now completed.
  • the BIOS checks the non-volatile reprogrammable memory for boot information first, and loads the windows boot files and kernel into memoiy.
  • the registry hives may be created and stored in non- volatile reprogrammable memory if storage space permits, or they may be created and stored on the local hard drive, as with the case with existing systems.
  • Windows is loading, device drivers will be loaded into RAM from non-volatile reprogrammable memory. Services and third party start-up applications will be pre-loaded from the local hard drive.
  • a typical personal computer may be physically • modified to implement this process by providing 64 megabyte or upwards of non- volatile reprogrammable memory chip(s) added to the motherboard of the machine.
  • the BIOS on the PC is modified to allow booting from the non-volatile reprogrammable memory using built in support for a flash file system (FFS) and Flash Translation Layer (FTL).
  • FFS flash file system
  • FTL Flash Translation Layer
  • Microsoft WindowsTM for example Windows XP, may be modified to support the FFS/FTL through internal drivers (e.g. FAT16/32, NTFS, and FFS/FTL) or third party drivers.
  • Hardware support can be provided through an add-on PCI based product.
  • Windows boot files and device drivers are added to the non- volatile reprogrammable memory, and third party start up programs are physically moved to the start of the hard drive.
  • the BIOS boots from non- volatile reprogrammable memory, and loads and decompresses the memory image into RAM. Minor environmental changes are loaded or created from the beginning of the hard drive after the memory image is in RAM. These include (but are not limited to) the following:
  • Figure 2 shows an alternative sequence for those computers wbich use a BIOS which checks for component changes. This sequence differs from that of Figure 1 only in that the ZBIOS performs the hardware configuration checks rather than using an operating system which provides the checks.
  • shut down process for a computer system according to the invention is diagrammatically illustrated.
  • the process begins in step 26 with the user selecting a shut down command from the operating system.
  • the operating system as part of the shut down process, then checks for a modification flag in step 27.
  • the modification flag is one that is set by the operating system whenever a significant change is made to the configuration of the computer.
  • a significant change may include (without limitation) the following:
  • the modification flag is set to false. Then, when a significant change occurs, such as changes listed above for example, then the flag is set to true.
  • a significant change such as changes listed above for example.
  • the list of significant changes provided above is not exhaustive. Furthermore, a user may wish to exclude some of the actions from the list provided above.
  • step 28 if the modification flag is false as shown in step 28, then the operating system closes all open files, devices and services but does not save any system configuration data, since nothing in that area has changed, as shown in step 29.
  • the operating system then continues its normal shut down process, currently implemented in the ACPI 2.0a specifications as a State S5 Shutdown, in step 30.
  • the computer is then in a state where it either switches itself off in step 31, or prompts a user to switch the machine off.
  • step 32 If the modification flag is true as shown by step 32 in Figure 3, then the "last known good” (LKG) compressed memory image is archived to an appropriate storage means such as the system's local hard drive. This occurs in step 33. Then, in step 34, the CMI that was used to last boot the system, being the active CMI, is now used as the LKG CMI.
  • LKG last known good
  • the operating system then initiates a modified shut down procedure, as shown in step 35.
  • step 36 all data currently stored in RAM is compressed using an appropriate compression algorithm and loaded into the non-volatile reprogrammable memory to become the new Active CMI. Any desired encryption of the memory image may be carried out at this stage.
  • the operating system then finishes the modified shut down process as described above with reference to step 15.
  • the system has a central processing unit (CPU) 401 within which is provided a control unit 402.
  • Working memory in the form of random access memory (RAM) 403 is provided, as is non-volatile reprogrammable memory 404.
  • a data bus 405 allows data to be interchanged between RAM 403 and the CPU 401 under control of the control unit 402 via address data control bus 406.
  • a data bus 407 allows data to be interchanged between the non-volatile reprogrammable memory 403 and the CPU under control of the control unit 402 via address data control bus 408.
  • bus 407 allows information in RAM comprising the entire memory content to be transferred to non- volatile reprogrammable memory 404.
  • Buses 405 and 407 may comprise a system bus.
  • the content of RAM 403 may have been subject to compression whereby the compressed image may be transferred via bus 407 to be stored in non-volatile reprogrammable memory 404. Then, when required, the memory image stored hi non- volatile reprogrammable memory 404 may be transferred directly to RAM 403, or may firstly be compressed and then installed in RAM 403.
  • the non- volatile reprogrammable memory 404 has the advantage that it is essentially a solid state device which is non-volatile so the contents of the non-volatile reprogrammable memory are retained when the power supply is removed from the computer system.
  • references in this document to nonvolatile reprogrammable memory include the use of flash RAM i.e. the forms of non- volatile reprogrammable memory which require a source of external power such as a battery for example in order to maintain the memory content.
  • a non- volatile reprogrammable memory device may be provided as an integrated circuit on the system motherboard for example, or on a separate board or card.
  • non- volatile reprogram able memory may be provided on a card such as those referred to under the trade marks SmartMedia or CompactFlash.
  • Some non-volatile reprogrammable memory products that are currently available have load times orders of magnitude faster than hard drives, so it will be seen that the method and system according to the present invention provides significant advantages in terms of boot times compared with prior art systems.
  • Flash Memory Other types of non-volatile memory and Solid State Disks may be used with or instead of Flash Memory, such as Magnetic RAM (MRAM) which boasts transfer speeds exponentially faster in both read and write operations than Flash Memory. MRAM is expected to be mass produced in 2005.
  • MRAM Magnetic RAM
  • the invention provides a system which is relatively inexpensive, easy to install whether as a retrofit system to existing products or to new products, and does not require any change to user habits.
  • the invention provides a method of allowing a computer to boot up considerably more quickly than a standard hard disk boot, thereby providing a reduced level of expenditure on user time wasted waiting for a computer to load software to the point at which a user can carry out useful work on it. Additionally it provides for doing this in a secure manner.

Abstract

A method for quickly booting a personal computer system using a non-volatile reprogrammable memory device. A compressed memory image of the contents of the system working memory when the system is in a desired operational state is stored in the non-volatile reprogrammable memory. The image can be captured during a set-up process, or when the computer system is shut down. When the user restarts the computer, the memory image is decompressed and loaded into the working memory. This places the computer in an operational state in a very short space of time.

Description

METHOD AND APPARATUS FOR BOOTING A COMPUTER SYSTEM
FIELD OF THE INVENTION
This invention relates to booting a computer system or other digital processing device, and has particular relevance to desktop computer systems and personal computers including mobile computing devices.
BACKGROUND OF THE INVENTION
From a cold or hard boot the first program that a personal computer typically runs is a set of instructions loaded in Read Only Memory (ROM) or Electrically Erasable Read Only Memory (EEPROM) which contains the information required to initialise the system hardware and enable the machine to activate a hard disk drive to find the boot-strap loader.
Therefore, at present, operating systems load boot information and files from the local hard disk drive into the working or system memory, commonly called Random Access Memory (RAM). This information usually includes file system drivers, the operating system kernel, and configuration and device information that have to be parsed into useful information, and general cosmetic customisations.
Because of the sheer number and size of these files, computers often take several minutes to boot i.e. to get to a useable state, which end users often find very frustrating.
The time taken to boot a personal computer can have a significant impact on worker productivity. Personal computers are widely used in workplaces, particularly in office environments. In a large office the time spent waiting for computers to boot can result in a large quantity of unproductive time. If personnel are using mobile personal computers which are taken to meetings throughout the working day, then the problem is magnified. Furthermore, it is not uncommon to have to re-boot a personal computer due to an operating system error that simply occurs as a result of use of the computer. Furthermore, in some environments the continuing functionality of a computer system or other digital processing device can be very important, for example the control of a communication system or a production process. Therefore, down time resulting from a system failure or "crash" must be kept to a n_inimum.
The Advanced Configuration and Power Interface (ACPI) specification enables boot times to be reduced, but even systems that implement this specification usually require users to wait at least 30 seconds before they can use their computers.
OBJECT OF THE INVENTION
It is an object of the present invention to provide a method and apparatus for booting a computer system which will at least go some way toward overcoming disadvantages of the prior art, or which will at least provide the public with a useful choice.
Alternatively, it is an object of the present invention to provide a method or apparatus for booting a computer system which will reduce the time required for existing systems to boot.
SUMMARY OF THE INVENTION
The invention provides a method of booting a digital processing device such as a computer system. The system has a working memory and the method includes the steps of providing a memory image of contents of the system working memory and loading the memory image in a non-volatile reprogrammable memory. When the system is required to boot, the memory image from the non-volatile reprogrammable memory is loaded into the system working memory, thereby booting the system in a very short space of time.
In a preferred embodiment the system is adapted to boot from either non-volatile reprogrammable memory or the system hard drive. With either method the system loads the memory image from non-volatile reprogrammable memory into RAM, restoring the operating system to its previous working state. Preferably the set-up application for the desired operating system additionally creates a Compressed Memory Image (CMI), containing a compressed image of all data currently stored in RAM, such as is currently implemented in the ACPI 2.0a specifications as a State S4 system context file. This file is stored in the non-volatile reprogrammable memory, but the set-up application does not shut the computer down as is the case for a State S4 system context file creation in the current ACPI 2.0a specifications, rather it follows its programmed shut down procedure.
When the user restarts the computer, for example by pressing a power "on" button, the BIOS either looks to non-volatile reprogrammable memory for boot information, or alternatively looks on the hard drive. The computer then proceeds through the normal Power On Self Test (POST) boot method, and modified operating system boot loaders then transfer and decompress a previously created Compressed Memory Image (CMI) from non-volatile reprogrammable memory into main memory or working memory (RAM). This effectively restores the computer to its previous powered on state, and the user simply enters his or her password (if required) and begins using the computer as normal.
When the user wishes to shut down the computer system, the operating system first checks as to whether any significant changes have been made to the configuration of the computer. If there are no significant changes the operating system simply shuts down the computer in a way similar to known shut down procedures, but does not save any new system configuration data. If significant changes have been made, then in a preferred embodiment the operating system saves and compresses all data currently stored in RAM to a new CMI located in non-volatile reprogrammable memory, and saves the previous memory images for recovery and troubleshooting.
The invention further provides a computer system including a non-volatile reprogrammable memory which contains a memory image of contents of the system working memory.
The memory image may be an image of the system working memory in a certain state desired by a user, including a state immediately post-boot, or a state in which certain applications are open. The memory image may be an image of only the operating system, or may be a partial image. The memory image is preferably a compressed memory image (CMI) which is decompressed before or as it is being loaded into the system working memory.
In a preferred form, the memory image comprises a compressed memory image. Furthermore, the system includes a disk drive or other storage device which includes at least one archived copy of the memory image or the compressed memory image.
The invention also provides a method of shutting down a computer system which includes the step of storing a compressed image of all data currently stored in RAM as a Compressed Memory Image (CMI) in the non- volatile reprogrammable memory, and storing one or more archive copies of the CMI on another storage device such as a local hard drive of the system.
Preferably the non- volatile reprogrammable memory is Flash memory.
Preferably the operating system source code is modified to internally support a flash file system (FFS) through a Flash Translation Layer (FTL), such as Intel's own FTL specification (http://www.intel.com design/flcomp/applnots/297816.htm).
It is also preferred that the BIOS of the computer is modified to boot from non-volatile reprogrammable memory using a flash file system (FFS) and File Translation Layer (FTL).
Conveniently the compressed memory image (CMI) has the compressed version of all data currently stored in RAM resulting from a previous shut down procedure, similar to a State S4 shutdown procedure in the current ACPI 2.0a specifications.
In the most preferred embodiment the previous CMI is archived to installed and non- volatile reprogrammable memory to be used as a "last known good" CMI.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a flow diagram of a computer boot or start-up process according to the invention for an operating system driven computer Figure 2 is a flow diagram of a computer boot or start-up process according to the invention for a BIOS driven computer
Figure 3 is a flow diagram of a shutdown process according to the invention, and
Figure 4 is a diagrammatic representation of a computer system including a non- volatile reprogrammable memory for use with the boot process and shut down process of the preceding Figures.
DETAILED DESCRIPTION
The examples referred to below relate to use of the invention to boot a personal computer and to a personal computer having a non- volatile reprogrammable memory configured to effect booting the computer. However, the invention is also applicable to other digital processing devices which require an operating system to be loaded for use, for example computer game machines, business machines and telecommunication apparatus.
Referring to Figure 1, a flow diagram of a boot or start up process for a computer system according to the invention is illustrated.
The method described with reference to Figure 1 assumes that a "cold" or "hard" boot is being performed. Those skilled in the art will see that the method is also applicable to situations where a "warm" or "soft" boot is performed.
Referring to Figure 1, a user activates the system power button for example in step 1. This applies power to the system and, in the usual way, the BIOS software initiates the boot sequence. Therefore in step 2, the BIOS is activated, performs its usual POST initialisation sequence, and then does one of two things. The BIOS either: a) looks to the hard drive of the system for the operating system boot loader, as occurs in existing boot sequences; or (b) alternatively, the BIOS looks to a non-volatile reprogrammable memory provided in the computer system. Even if the BIOS initially looks to the hard drive for the operating system boot loader, the boot loader still directs the system to download a memory image from the non-volatile reprogrammable memory, as will be described further below, though this may be conditional on the user entering a password stored in BIOS.
The non-volatile reprogrammable memory is provided as an integrated circuit, which is accessible to the computer system, for example being provided on the motherboard of the personal computer. Alternatively, it is provided as a PCI add-in card to retrofit to an existing machine. The non-volatile reprogrammable memory may also be provided in other ways, so long as it satisfies requirements of being accessible to the system to enable its contents to be accessed sufficiently quickly by the system to make the boot method of the present invention worthwhile.
Turning now to step 3, the operating system boot loader therefore starts the boot process either directly from the contents of the non- volatile reprogrammable memory, or from the hard drive of the system.
The non- volatile reprogrammable memory contains a memory image of the contents of RAM which are sufficient, when loaded into system memory, to enable the computer system to be provided in a useable state for a user i.e. to boot the computer system.
Depending upon the requirements of the user, the memory image that is captured and provided in the non-volatile reprogrammable memory may take a variety of forms. For example, the non-volatile reprogrammable memory may contain a memory image of the post-boot system working memory (i.e. RAM) contents.
Another alternative, for example, is to load the non- volatile reprogrammable memory with a preferably compressed memory image of all data currently stored in RAM. In a preferred form, this compressed memory image is stored from a previous shutdown procedure similar to a State S4 shutdown procedure in the current ACPI 2.0a specifications. This includes computer and/or operating system settings of the computer system where it is in a state ready for use by a user, and is preferably provided to a user for a user to resume use of the system where it is in a condition which is the same or substantially the same as it was when the user commenced shutdown. Details of a standard ACPI S4 shutdown can be found from the current ACPI specification, Revision 2.0, which is available at url http://www.acpi.info.
The memory image may also be only a partial image of the system memory. Therefore, the image may comprise data relating to the bulk of the operating system for example, and the remainder of the information necessary to build or establish the system working memory may be loaded into the working memory from another memory storage device such as the system hard disk. This arrangement may be preferable where the size of the non- volatile reprogrammable memory needs to be limited, for example due to cost constraints, but the invention is still worthwhile because the overall time taken to perform a boot process is still significantly reduced as compared to known boot processes.
The memory image may be initially created during the set up process of the operating system, or may alternatively be replaced whenever a user makes a significant change to the configuration of the computer. Also, the memory image may be captured every time the user initiates a shut down sequence. These options are discussed further with reference to Figure 2.
The memory image is preferably compressed, so that a compressed memory image (CMI) is stored in the non-volatile reprogrammable memory and retrieved from the non-volatile reprogrammable memory when required. Compression can save a significant amount of memory space without the decompression process adding significantly to the reduced boot time provided by the present invention. A compression algorithm such as that available in the open source zlib library may be used.
In addition to compression the memory image may also be encrypted to the same standard as the hard drive to prevent attempts to recover information from the memory where the hard drive carrying the same data is secured.
In Figure 1, where it has been determined that a compressed memory image exists, the user is prompted for a password (step 7) and when this is supplied (step 9) the CMI located in the non-volatile reprogrammable memory is decompressed, and the computer system settings and full memory contents are loaded into RAM from the decompressed CMI (step 18). If an incorrect password is supplied (step 8) the logon attempt fails (step 10) and the computer shuts down (step 13), optionally deleting the compressed memory image (step 12). If the CMI is deleted the next boot will be a normal boot sequence (steps 4-6, 23-24).
Once the password is authenticated the operating system checks to see if major changes in the hardware configuration have taken place (step 14), and if so (step 16) performs a normal boot (steps 23-24). Assuming that no major components have changed the start up (step 15) applications, services and device drivers are loaded from RAM (step 19). A check is then made for extra basic hardware and if any is encountered the fact is flagged to prompt a later save of the configuration. The quicker boot process is now completed.
Because the memory contents are loaded very quickly from the non- volatile reprogrammable memory into RAM, rather than being searched for and transferred from the system hard disk, the time required for the boot process is dramatically reduced.
In one example of booting a personal computer (PC) using the Microsoft Windows™ operating system, the BIOS checks the non-volatile reprogrammable memory for boot information first, and loads the windows boot files and kernel into memoiy. The registry hives may be created and stored in non- volatile reprogrammable memory if storage space permits, or they may be created and stored on the local hard drive, as with the case with existing systems. While Windows is loading, device drivers will be loaded into RAM from non-volatile reprogrammable memory. Services and third party start-up applications will be pre-loaded from the local hard drive. A typical personal computer may be physically modified to implement this process by providing 64 megabyte or upwards of non- volatile reprogrammable memory chip(s) added to the motherboard of the machine. The BIOS on the PC is modified to allow booting from the non-volatile reprogrammable memory using built in support for a flash file system (FFS) and Flash Translation Layer (FTL). Microsoft Windows™, for example Windows XP, may be modified to support the FFS/FTL through internal drivers (e.g. FAT16/32, NTFS, and FFS/FTL) or third party drivers. Hardware support can be provided through an add-on PCI based product. Windows boot files and device drivers are added to the non- volatile reprogrammable memory, and third party start up programs are physically moved to the start of the hard drive. In another example using a Windows operating system, the BIOS boots from non- volatile reprogrammable memory, and loads and decompresses the memory image into RAM. Minor environmental changes are loaded or created from the beginning of the hard drive after the memory image is in RAM. These include (but are not limited to) the following:
Application installations
Non-critical start-up applications
Registry hives
Page file (virtual memory).
Physical modifications to a typical personal computer running Microsoft Windows operating system are similar to those referred to in the example above, however a user customised 128 megabyte (up to 1GB) compressed Windows memory image is created during Windows setup, and is stored in non-volatile reprogrammable memory. Further customised settings are stored at the beginning of the hard drive.
Figure 2 shows an alternative sequence for those computers wbich use a BIOS which checks for component changes. This sequence differs from that of Figure 1 only in that the ZBIOS performs the hardware configuration checks rather than using an operating system which provides the checks.
Turning now to Figure 3, a shut down process for a computer system according to the invention is diagrammatically illustrated. The process begins in step 26 with the user selecting a shut down command from the operating system. The operating system, as part of the shut down process, then checks for a modification flag in step 27. The modification flag is one that is set by the operating system whenever a significant change is made to the configuration of the computer. A significant change may include (without limitation) the following:
(a) new application installations
(i) application installations that require components to load once the operating system boots. ( ) changes to registry hives
(c) device driver upgrades
(Φ service ; pack/hotfix installations
(e) service ! modifications
(f) user environment customisations
(i) desktop (ϋ) wallpaper m themes (iv) sounds (v) icons (vi) colour schemes.
Therefore, with each new user session from a boot up the modification flag is set to false. Then, when a significant change occurs, such as changes listed above for example, then the flag is set to true. For purposes of clarity, the list of significant changes provided above is not exhaustive. Furthermore, a user may wish to exclude some of the actions from the list provided above.
Returning to Figure 3, if the modification flag is false as shown in step 28, then the operating system closes all open files, devices and services but does not save any system configuration data, since nothing in that area has changed, as shown in step 29. The operating system then continues its normal shut down process, currently implemented in the ACPI 2.0a specifications as a State S5 Shutdown, in step 30. The computer is then in a state where it either switches itself off in step 31, or prompts a user to switch the machine off.
If the modification flag is true as shown by step 32 in Figure 3, then the "last known good" (LKG) compressed memory image is archived to an appropriate storage means such as the system's local hard drive. This occurs in step 33. Then, in step 34, the CMI that was used to last boot the system, being the active CMI, is now used as the LKG CMI.
The operating system then initiates a modified shut down procedure, as shown in step 35.
In step 36 all data currently stored in RAM is compressed using an appropriate compression algorithm and loaded into the non-volatile reprogrammable memory to become the new Active CMI. Any desired encryption of the memory image may be carried out at this stage. The operating system then finishes the modified shut down process as described above with reference to step 15.
From the method shown in Figure 3 it can be seen that an archive of compressed memory images which may be used to boot the system is retained. In this way, if a user makes a significant change which is deleterious to the operation of the machine i.e. is undesirable, or if the system crashes, a user will always have a compressed memory image from which the machine may be rebooted.
Turning now to Figure 4, the basic processor and memory components of an example of a computer system according to the present invention are shown. To those skilled in the art to which the invention relates, other arrangements and communication paths for the memory devices are possible. The system has a central processing unit (CPU) 401 within which is provided a control unit 402. Working memory in the form of random access memory (RAM) 403 is provided, as is non-volatile reprogrammable memory 404. A data bus 405 allows data to be interchanged between RAM 403 and the CPU 401 under control of the control unit 402 via address data control bus 406. Similarly, a data bus 407 allows data to be interchanged between the non-volatile reprogrammable memory 403 and the CPU under control of the control unit 402 via address data control bus 408. Therefore, bus 407 allows information in RAM comprising the entire memory content to be transferred to non- volatile reprogrammable memory 404. Buses 405 and 407 may comprise a system bus. Furthermore, the content of RAM 403 may have been subject to compression whereby the compressed image may be transferred via bus 407 to be stored in non-volatile reprogrammable memory 404. Then, when required, the memory image stored hi non- volatile reprogrammable memory 404 may be transferred directly to RAM 403, or may firstly be compressed and then installed in RAM 403.
The non- volatile reprogrammable memory 404 has the advantage that it is essentially a solid state device which is non-volatile so the contents of the non-volatile reprogrammable memory are retained when the power supply is removed from the computer system. However, those skilled in the art will appreciate that references in this document to nonvolatile reprogrammable memory include the use of flash RAM i.e. the forms of non- volatile reprogrammable memory which require a source of external power such as a battery for example in order to maintain the memory content.
A non- volatile reprogrammable memory device according to the invention may be provided as an integrated circuit on the system motherboard for example, or on a separate board or card. In particular, if desired, non- volatile reprogram able memory may be provided on a card such as those referred to under the trade marks SmartMedia or CompactFlash.
Some non-volatile reprogrammable memory products that are currently available have load times orders of magnitude faster than hard drives, so it will be seen that the method and system according to the present invention provides significant advantages in terms of boot times compared with prior art systems.
Other types of non-volatile memory and Solid State Disks may be used with or instead of Flash Memory, such as Magnetic RAM (MRAM) which boasts transfer speeds exponentially faster in both read and write operations than Flash Memory. MRAM is expected to be mass produced in 2005.
Also, since non-volatile reprogrammable memory products are becoming available at reasonable prices it will be seen that the invention provides a system which is relatively inexpensive, easy to install whether as a retrofit system to existing products or to new products, and does not require any change to user habits.
References in this document to computer systems include digital data processing systems generally. Throughout the description and claims of this specification the word "comprise" and variations of that word, such as "comprises" and "comprising", are not intended to exclude other additives, components, integers or steps.
INDUSTRIAL APPLICABILITY
The invention provides a method of allowing a computer to boot up considerably more quickly than a standard hard disk boot, thereby providing a reduced level of expenditure on user time wasted waiting for a computer to load software to the point at which a user can carry out useful work on it. Additionally it provides for doing this in a secure manner.

Claims

CLAIMS:
1. A method of booting to a level where the operating system is fully loaded in a computer system having a system working memory, characterised in that the method includes the steps of providing a memory image of desired contents of the system working memory, loading the memory image in non-volatile reprogrammable memory, and upon the system being required to boot, loading the memory image from the nonvolatile reprogrammable memory into the system working memory.
2. A method as claimed in claim 1 characterised in that the step of providing a memory image of desired contents of the system working memory includes the step of providing a memory image of post-boot contents of the system working memory.
3. A method of booting a computer system as claimed in claim 1 characterised in that the step of providing a memory image of desired contents of the system working memory includes the step of providing a memory image which is an image of all data stored in the system working memory prior to the computer system last being shut down.
4. A method as claimed in claim 1 characterised in that it includes the step of compressing the memory image and loading the compressed memory image into the non-volatile reprogrammable memory, and upon reloading, decompressing the compressed memory image so that the decompressed memory image is loaded into the working memory.
5. A method as claimed in claim 4 wherein it includes the steps of encrypting the compressed memory image and decrypting the memory image when reloading the working memory.
6. A method as claimed in claim 1 characterised in that it includes the step of creating the memory image during the set up process of the operating system.
7. A method as claimed in claim 1 characterised in that it includes the step of updating the memory image in response to a significant change to the configuration of the system.
8. A method as claimed in claim 7 characterised in that the updating step includes the step of archiving the last known good memory image, or last known good compressed memory image.
9. A method as claimed in claim 1 characterised in that the non-volatile reprogrammable memory is flash memory and the method includes the step of modifying the operating system source code to support a flash file system and/or a Flash Translation Layer (FTL) .
10. A method as claimed in claim 1 characterised in that it includes the step of modifying the BIOS to boot from the non-volatile reprogrammable memory.
11. A method as claimed in claim 10 characterised in that a password is required for the BIOS to boot from the memory image.
12. A method as claimed in claim 11 wherein failure to supply a correct password deletes the stored memory image.
13. A method as claimed in claim 1 characterised in that the memory image is an image including all system settings and memory contents relating to a logged in user.
14. A method as claimed in claim 1, characterised in that operating system boot files or similar data is stored in non- volatile reprogrammable memory.
15. A computer system including a digital processing means, a working memory for the digital processing means, a non-volatile reprogrammable memory including a memory image of desired contents of the system working memory, the non-volatile reprogrammable memory being capable of transferring the memory image to the system working memory in order to boot the computer system characterised in that the memory image is in compressed form.
16. A computer system as claimed in claim 15 characterised in that the system includes a disk drive or other memory storage device including at least one archive copy of the memory image.
17. A computer system as claimed in claim 15 characterised in that the memory image is an image of desired post-boot contents of the existing working memory.
18. A computer system as claimed in claim 15 characterised in that the memory image is an image of all data stored in the working memory prior to the computer system being shut down.
19. A computer system as claimed in claim 15 characterised in that the memory image was created during a setup process of an operating system of the computer system.
20. A computer system as claimed in claim 15 characterised in that the system includes a disk drive or other memory storage device including at least one "last known good" copy of the memory image.
21. A computer system as claimed in claim 15 characterised in that the non- volatile reprogrammable memory uses Flash memory.
22. A method of shutting down a computer system having a system working memory, the method including the steps of creating a memory image of the contents of the system working memory, loading the memory image in a non-volatile reprogrammable memory in a compressed form, and shutting down the computer system.
23. The method as claimed in claim 22 wherein the memory image is additionally encrypted.
EP03748814A 2003-09-24 2003-09-24 Method and apparatus for booting a computer system Withdrawn EP1685482A4 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NZ2003/000217 WO2005029325A1 (en) 2003-08-21 2003-09-24 Method and apparatus for booting a computer system

Publications (2)

Publication Number Publication Date
EP1685482A1 EP1685482A1 (en) 2006-08-02
EP1685482A4 true EP1685482A4 (en) 2007-08-29

Family

ID=37584093

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03748814A Withdrawn EP1685482A4 (en) 2003-09-24 2003-09-24 Method and apparatus for booting a computer system

Country Status (2)

Country Link
EP (1) EP1685482A4 (en)
CN (1) CN100580627C (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101539732B (en) * 2008-03-19 2011-12-07 东友科技股份有限公司 Image processing device and method for starting same
US9075688B2 (en) 2010-02-09 2015-07-07 Accenture Global Services Limited Enhanced upgrade path
US8443084B2 (en) * 2010-02-09 2013-05-14 Accenture Global Services Limited Enhanced upgrade path
CN102243602B (en) * 2010-05-11 2013-03-27 西安龙飞软件有限公司 Method for saving system configuration by using flash memory in Linux system
CN102360300B (en) * 2011-09-27 2014-05-28 北京天地云箱科技有限公司 Starting method and device of operation system
JP5895609B2 (en) * 2012-03-06 2016-03-30 富士ゼロックス株式会社 Information processing apparatus, image forming apparatus, and program
CN103514013A (en) * 2013-09-11 2014-01-15 深圳市共进电子股份有限公司 Gateway product FLASH configuration loss processing method
US8990793B1 (en) * 2013-12-05 2015-03-24 Google Inc. Updating an operating system
US20150242432A1 (en) * 2014-02-21 2015-08-27 Microsoft Corporation Modified Memory Compression
CN105988831B (en) * 2015-02-09 2020-01-31 联想(上海)信息技术有限公司 System starting method and device and electronic equipment
CN105630535A (en) * 2015-05-29 2016-06-01 上海磁宇信息科技有限公司 Computer system and system starting method
CN107229536A (en) * 2017-05-27 2017-10-03 郑州云海信息技术有限公司 A kind of startup method and system for terminal device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828877A (en) * 1994-07-14 1998-10-27 Dell Usa, L.P. Circuit and method for optimizing creation of a compressed main memory image
EP1037133A1 (en) * 1999-03-15 2000-09-20 International Business Machines Corporation Method and apparatus for alternation between instances of operating systems in computer systems
WO2001050248A2 (en) * 1999-12-30 2001-07-12 Cardiac Pacemakers, Inc. Quick starting microprocessor-based system
US6502207B1 (en) * 1992-01-08 2002-12-31 Hitachi, Ltd. Information processing apparatus with resume function and information processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502207B1 (en) * 1992-01-08 2002-12-31 Hitachi, Ltd. Information processing apparatus with resume function and information processing system
US5828877A (en) * 1994-07-14 1998-10-27 Dell Usa, L.P. Circuit and method for optimizing creation of a compressed main memory image
EP1037133A1 (en) * 1999-03-15 2000-09-20 International Business Machines Corporation Method and apparatus for alternation between instances of operating systems in computer systems
WO2001050248A2 (en) * 1999-12-30 2001-07-12 Cardiac Pacemakers, Inc. Quick starting microprocessor-based system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2005029325A1 *

Also Published As

Publication number Publication date
EP1685482A1 (en) 2006-08-02
CN1886729A (en) 2006-12-27
CN100580627C (en) 2010-01-13

Similar Documents

Publication Publication Date Title
WO2005029325A1 (en) Method and apparatus for booting a computer system
US7313684B2 (en) Method and apparatus for booting a computer system
NZ520786A (en) Method of booting a computer system using a memory image of the post boot content of the system RAM memory
US20080059785A1 (en) Method and apparatus for shutting down a computer system
US7136994B2 (en) Recovery images in an operational firmware environment
EP1634170B1 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
JP5095717B2 (en) Method, system, program and computer readable medium having instructions for performing said method for installing a reduced operating system image on a target medium
US20070112899A1 (en) Method and apparatus for fast boot of an operating system
TW543002B (en) Method and apparatus for automatically installing and configuring software on a computer
CN100385386C (en) Display picture during period of leading and turn-off computer
US6098158A (en) Software-enabled fast boot
USRE40092E1 (en) Method for quickly booting a computer system
CN102193817B (en) Simplify the management of physics and virtual deployment
US20010039612A1 (en) Apparatus and method for fast booting
TW200828118A (en) Method and process for using common preinstallation environment for heterogeneous operating systems
TW200837553A (en) Master boot record management
EP1685482A1 (en) Method and apparatus for booting a computer system
US11704198B2 (en) Method and apparatus for providing recovery from a computing device boot up error
WO2005124540A1 (en) Method and apparatus for booting a computer system
NZ533549A (en) Method and apparatus for booting a computer system
KR20070041515A (en) Method and apparatus for booting a computer system
US20040039868A1 (en) Facilitating restoration of a system configuration of a data processing system
US20220108017A1 (en) Firmware to restore configurable option
Halsey Startup and Repair Troubleshooting
JPH11161484A (en) Information processor

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060422

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: TI TECHNOLOGIES LIMITED (A NEW ZEALAND COMPANY)

RIN1 Information on inventor provided before grant (corrected)

Inventor name: O'CONNELL, DANIEL JAMES

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20070801

17Q First examination report despatched

Effective date: 20080318

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20140401