





技术领域technical field
本发明涉及引导计算机系统或其它数字处理设备,特别涉及包括移动计算设备的个人计算机和桌上型计算机系统。The present invention relates to booting computer systems or other digital processing devices, and more particularly to personal computers and desktop computer systems including mobile computing devices.
背景技术Background technique
自冷或硬引导,个人计算机通常运行的第一个程序是装入只读存储器(ROM)或电可擦除只读存储器(EEPROM)的一组指令,其包括初始化系统硬件和使机器能够激活硬盘驱动器来找到引导装载程序(boot-straploader)所需要的信息。Since cooling or hard booting, the first program a personal computer usually runs is a set of instructions loaded into read-only memory (ROM) or electrically erasable read-only memory (EEPROM), which includes initializing the system hardware and enabling the machine to activate hard drive to find the information needed by the boot-straploader.
因此,目前,操作系统从本地硬盘驱动器将引导信息和文件装入工作存储器或系统存储器,通常称为随机存取存储器(RAM)。此信息通常包括文件系统驱动、操作系统内核、要剖析为有用信息的配置和设备信息和一般的外观用户定制。Currently, therefore, operating systems load boot information and files into working or system memory, commonly referred to as random access memory (RAM), from a local hard drive. This information typically includes file system drivers, operating system kernel, configuration and device information to be parsed into useful information, and general appearance user customizations.
由于这些文件的大量的数目和大小,计算机通常用几分钟的时间来引导,即达到可使用的状态,终端用户为此经常觉得很沮丧。Due to the sheer number and size of these files, end users often find it frustrating that computers typically take several minutes to boot up to a usable state.
用于引导计算机的时间能够对工作者的生产率产生重大影响。个人计算机广泛用于工作场合,特别是办公室环境。在大的办公室里,用于等待计算机引导的时间能够导致大量的无产出时间。如果人员正使用可移动的个人计算机,其在整个工作日都被带至会议上,那么问题就被扩大了。而且,由于计算机的使用而轻易引发的操作系统的错误,而必须重新引导计算机是并不罕见的。The time spent booting a computer can have a significant impact on worker productivity. Personal computers are widely used in workplaces, especially office environments. In large offices, the time spent waiting for a computer to boot can result in a great deal of unproductive time. The problem is magnified if personnel are using mobile personal computers that are brought to meetings throughout the workday. Also, it is not uncommon for the computer to have to be rebooted due to errors in the operating system that are easily induced by the use of the computer.
此外,在一些环境中,计算机系统或其它数字处理设备的连续的功能性是非常重要的,如生产过程或通信系统的控制。因此,由系统故障或“崩溃”导致的停机时间必须保持到最小值。Furthermore, in some environments the continued functionality of computer systems or other digital processing devices is very important, such as the control of production processes or communication systems. Therefore, downtime due to system failures or "crashes" must be kept to a minimum.
高级配置与电源接口规范使引导时间降低,但即使是应用了此规范的系统通常也要求用户在他们能够使用计算机之前等待至少30秒。The Advanced Configuration and Power Interface specification keeps boot times down, but even systems that employ this specification typically require users to wait at least 30 seconds before they can use the computer.
为达到这一目的,已知提供已引导的计算机存储器的“映像(imagc)”并将此存储在硬盘或存储器中,如在US 6446203中。这一专利规范还要求操作系统被充分引导以识别盘上要读的区域,而且其不为映像提供安全措施,即没有用于改变映像的任何规定,也没有任何涉及除工作存储器之外的存储。For this purpose it is known to provide an "image (imagc)" of the booted computer memory and to store this on the hard disk or memory, as in US 6446203. This patented specification also requires the operating system to be sufficiently bootable to recognize the area on the disk to be read, and it provides no security measures for the image, i.e. there are no provisions for changing the image, nor any reference to storage other than working memory .
美国申请2002/0078338在辅助存储器中存储引导映像,且如果被检测到则从此中引导,然而其没有安全性且不能检测配置的变化。US application 2002/0078338 stores a boot image in secondary storage and boots from it if detected, however it has no security and cannot detect configuration changes.
美国申请2002/0039612在电源关闭时提供存储器中的引导映像,但没有用于映像安全措施的规定,看上去也不要求比工作存储器更多的存储。US application 2002/0039612 provides a boot image in memory when the power is off, but does not provide for image security measures, nor does it appear to require more storage than working memory.
美国申请20002/0169950提供初始引导过程的引导映像和中间部分的压缩的引导映像,也提供关于初始引导映像的版权检查,但没有其它明显的安全性或硬件检查。US application 20002/0169950 provides a boot image for the initial boot process and a compressed boot image for the intermediate portion, also copyright checks on the initial boot image, but no other obvious security or hardware checks.
WO 01/13221使用ROM来存储引导映像,包括用户程序但没有明显的安全性,虽然其确实在盘上存储了压缩的OS。WO 01/13221 uses ROM to store a boot image, including user programs but with no apparent security, although it does store a compressed OS on disk.
美国专利71673417提供以压缩的状态存储于硬盘的引导映像,但对配置的改变而更新。其没有明显的安全性或硬件检查。US Patent 71673417 provides a boot image stored in a compressed state on the hard disk, but updated for configuration changes. It has no apparent security or hardware checks.
因此,对于存储加电时引导的映像的计算机有另一个问题,在计算机中,引导的计算机存储数据的不安全版本被保持,其可以包括在其它地方安全地保持的数据。因此,这将允许存储器映像的取出成为绕开在正常的引导过程中所涉及的任何安全措施的一种方式。Thus, there is another problem with computers that store images that boot at power-up, in which an unsecured version of the booted computer-stored data is maintained, which may include data held securely elsewhere. Thus, this would allow the fetching of the memory image as a way of bypassing any security measures involved in the normal boot process.
此外,有可能当计算机关掉时计算机上的硬件改变了。在这种情况下。或者计算机识别出硬件已经改变并放弃用于完整引导的引导映像,或者未能识别改变已经发生而试图正常地引导。这两个过程都将导致延长的引导期。Additionally, it is possible that hardware on the computer changed while the computer was turned off. in this case. Either the computer recognizes that the hardware has changed and discards the boot image for a full boot, or fails to recognize that a change has occurred and attempts to boot normally. Both processes will result in an extended induction period.
发明目标invention goal
本发明的一个目标是提供用于引导计算机系统的方法和装置,其将减少引导现有系统所需要的时间,同时为在计算机存储器中存储的数据提供安全的环境。It is an object of the present invention to provide methods and apparatus for booting computer systems which will reduce the time required to boot existing systems while providing a secure environment for data stored in computer memory.
本发明的另一个目标是提供方法,此方法可以允许在计算机系统的配置中的变化,但不会由于这些变化导致对快速引导程序的整个的放弃。Another object of the present invention is to provide a method which allows changes in the configuration of the computer system without resulting in a total abandonment of the fast boot program due to these changes.
本发明的这些目标将至少对克服先前技术的缺点有一些用处,或可以为公众提供有用的选择。These objects of the present invention will go at least some way towards overcoming the disadvantages of the prior art, or may provide the public with a useful choice.
发明内容Contents of the invention
一种引导计算机系统的方法,所述计算机系统具有达到操作系统被完全装入的水平的系统工作存储器,所述方法包括步骤:提供系统工作存储器所期望内容的存储器映像,将存储器映像装入非易失性的可重复编程存储器,并在系统需要引导时,从非易失性的可重复编程存储器将存储器映像装入系统工作存储器,其特征在于,当再装入存储器映像时,装载程序识别与存储器映像部分不兼容的在计算机系统中的改变了的硬件,并且在继续进行存储器映像未受影响部分之前对此改变了的硬件进行初始化。A method of booting a computer system having system working memory to the extent that an operating system is fully loaded, the method comprising the steps of: providing a memory image of the desired contents of the system working memory, loading the memory image into a non- Volatile reprogrammable memory, and when the system needs to boot, load the memory image into the system working memory from the non-volatile reprogrammable memory, characterized in that when reloading the memory image, the loader recognizes Altered hardware in a computer system that is incompatible with a portion of the memory image and initializes this altered hardware before proceeding to the unaffected portion of the memory image.
优选地,本方法包括步骤:加密和压缩存储器映像并将经过加密和压缩的存储器映像装入非易失性的可重复编程存储器,且在再装入时,解压缩和解密被压缩的存储器映像,以使解压缩的存储器映像被装入工作存储器。Preferably, the method comprises the steps of encrypting and compressing the memory image and loading the encrypted and compressed memory image into the non-volatile reprogrammable memory, and upon reloading, decompressing and decrypting the compressed memory image , so that the decompressed memory image is loaded into working memory.
优选地,提供系统工作存储器所期望内容的存储器映像的步骤包括提供系统工作存储器的引导后内容、CPU寄存器内容以及其它芯片组设备内容的存储器映像的步骤。Preferably, the step of providing a memory image of the desired contents of the system working memory includes the step of providing a memory image of the post-boot contents of the system working memory, the contents of CPU registers and the contents of other chipset devices.
优选地,提供系统工作存储器所期望内容的存储器映像的步骤包括提供下述存储器映像的步骤,所述存储器映像是在计算机系统最近的关闭之前存储在系统工作存储器和其它硬件设备寄存器中的所有数据的映像。Preferably, the step of providing a memory image of the desired contents of the system working memory comprises the step of providing a memory image of all data stored in the system working memory and other hardware device registers prior to a recent shutdown of the computer system of the image.
优选地,存储器映像包括来自虚拟存储器或易失页文件的页。Preferably, the memory image includes pages from virtual memory or a volatile page file.
优选地,其包括在操作系统设置过程期间生成存储器映像的步骤。Preferably, it includes the step of generating the memory image during the operating system setup process.
优选地,其包括更新存储器映像以响应系统配置的显著变化的步骤。Preferably, it includes the step of updating the memory map in response to significant changes in system configuration.
优选地,更新步骤包括归档最近的、已知的、好的存储器映像的步骤。Preferably, the step of updating includes the step of archiving the most recent, known, good memory image.
优选地,非易失性的可重复编程存储器是闪速存储器(flash memory),而本方法包括修改操作系统源代码以支持闪速文件系统(flash file system)和/或闪速转换层(Flash Translation Layer:FTL)。Preferably, the non-volatile reprogrammable memory is a flash memory (flash memory), and the method includes modifying the operating system source code to support a flash file system (flash file system) and/or a flash translation layer (Flash memory). Translation Layer: FTL).
优选地,其包括修改固件(firmware)或BIOS以从非易失性的可重复编程存储器引导的步骤。Preferably, it includes the step of modifying firmware or BIOS to boot from the non-volatile reprogrammable memory.
优选地,对于固件要求口令以从存储器映像引导。Preferably, a password is required for the firmware to boot from the memory image.
优选地,不能提供正确口令会删除任何和所有存储的存储器映像。Preferably, failure to provide the correct password deletes any and all stored memory images.
优选地,存储器映像是包括所有与登录了的用户相关的存储器内容和系统设置的映像。Preferably, the memory image is an image including all memory contents and system settings relevant to a logged-in user.
可选择地,本发明涉及计算机系统,其包括:Optionally, the invention relates to a computer system comprising:
数字处理装置,digital processing device,
用于数字处理装置的工作存储器,working memory for digital processing devices,
非易失性的可重复编程存储器,其包括系统工作存储器和存储器的其它部分的所期望内容的存储器映像,非易失性的可重复编程存储器能够将存储器映像传送至系统工作存储器以引导计算机系统,其特征为存储器映像包括硬件配置和硬件关联(hardwarecontext)信息。Non-volatile reprogrammable memory, which includes a memory image of the desired contents of system working memory and other portions of memory, non-volatile reprogrammable memory capable of transferring the memory image to system working memory to boot the computer system , characterized in that the memory image includes hardware configuration and hardware context information.
优选地,在计算机硬件配置对于存储器映像中的有所改变的情况下,与改变了的硬件相关的映像的那些部分不被装入,而在存储器映像的余下部分被处理之前,改变了的硬件被识别并被初始化。Preferably, in the case of computer hardware configuration changes to those in the memory image, those portions of the image associated with the changed hardware are not loaded, and the changed hardware is loaded until the remainder of the memory image is processed. recognized and initialized.
优选地,系统包括包含了存储器映像的至少一个存档复制的磁盘驱动器或其它存储器存储设备。Preferably, the system includes a disk drive or other memory storage device containing at least one archived copy of the memory image.
优选地,存储器映像是现有的工作存储器、CPU寄存器、其它芯片组寄存器和任何临时存储的存储器页的所期望的引导后内容的映像。Preferably, the memory image is an image of the expected post-boot contents of existing working memory, CPU registers, other chipset registers and any temporarily stored memory pages.
优选地,存储器映像是在计算机系统关闭之前存储在工作存储器中的所有数据的映像。Preferably, the memory image is an image of all data stored in the working memory before the computer system was shut down.
优选地,在计算机系统的操作系统设置过程中,生成存储器映像。Preferably, the memory image is generated during operating system setup of the computer system.
优选地,系统包括包含了存储器映像的至少一个“最近的、已知的、好的(last known good)”的复制的磁盘驱动器或其它存储器存储设备。Preferably, the system includes a disk drive or other memory storage device that contains at least one "last known good" copy of the memory image.
优选地,非易失性的可重复编程存储器使用闪速存储器。Preferably, the non-volatile reprogrammable memory uses flash memory.
可选择地,本发明涉及关闭计算机系统的方法,所述计算机系统包括系统工作存储器,所述方法包括的步骤为:Optionally, the present invention relates to a method of shutting down a computer system, said computer system comprising a system working memory, said method comprising the steps of:
生成系统工作存储器、硬件配置及关联、CPU寄存器、芯片组寄存器和易失性的页文件存储器的内容的存储器映像,Generate a memory image of the contents of system working memory, hardware configuration and associations, CPU registers, chipset registers, and volatile page file memory,
以压缩的形式将存储器映像装入非易失性的可重复编程存储器,和load the memory image into non-volatile reprogrammable memory in compressed form, and
关闭计算机系统。Shut down the computer system.
优选地,存储器映像被另外加密。Preferably, the memory image is additionally encrypted.
可选择地,本发明涉及一种用于引导计算机系统的方法,所述计算机系统具有至少一个中央处理单元、可装入的操作系统,以及系统工作存储器,所述系统工作存储器被配置为接纳工作的操作系统达到所述可装入的操作系统被完全装入的水平,所述方法包括的步骤为:提供所述系统工作存储器的所期望内容的存储器映像,将所述存储器映像存储在非易失性的可重复编程存储器中,和在所述计算机系统被要求引导时,利用装载程序将所述存储器映像从所述非易失性的可重复编程存储器装入所述系统工作存储器中,在所述装入期间所述装载程序Optionally, the present invention relates to a method for booting a computer system having at least one central processing unit, a loadable operating system, and a system working memory configured to receive a working operating system to a level where the loadable operating system is fully loaded, the method comprising the steps of: providing a memory image of the desired content of the system working memory, storing the memory image in a non-volatile volatile reprogrammable memory, and when said computer system is required to boot, load said memory image from said nonvolatile reprogrammable memory into said system working memory using a loader, at The loader during the load
(i)识别在所述计算机系统中的与所述存储器映像的部分不兼容的变化了的硬件,所述存储器映像的所述部分是与变化了的硬件相关的,(i) identifying changed hardware in said computer system that is incompatible with a portion of said memory image that is associated with changed hardware,
(ii)进行所述变化了的硬件的初始化,以及(ii) performing initialization of said changed hardware, and
(iii)继续装入所述存储器映像的剩余的未受影响的部分,以将所述计算机系统引导到可操作的状态。(iii) continuing to load the remaining unaffected portion of the memory image to boot the computer system to an operational state.
可选择地,本发明涉及一种计算机系统,其包括:Optionally, the present invention relates to a computer system comprising:
中央处理单元,central processing unit,
用于所述中央处理单元的系统工作存储器,system working memory for said central processing unit,
非易失性的可重复编程存储器,其包括至少所述系统工作存储器的所期望内容的存储器映像,其中所述存储器映像包括系统硬件配置和系统硬件关联信息,并且其中所述存储器映像被传送到所述系统工作存储器以便引导所述计算机系统,并当系统引导时装载程序被配置为:a non-volatile reprogrammable memory comprising a memory image of at least the desired contents of said system working memory, wherein said memory image includes system hardware configuration and system hardware associated information, and wherein said memory image is transferred to The system works memory to boot the computer system, and when the system boots a loader is configured to:
(i)将所述存储器映像从所述非易失性的可重复编程存储器传送到所述系统工作存储器,(i) transferring said memory image from said non-volatile reprogrammable memory to said system working memory,
(ii)在所述传送到所述系统工作存储器期间,识别在所述计算机系统中的与所述存储器映像的部分不兼容的变化了的硬件,所述存储器映像的所述部分是与变化了的硬件相关的,以便不装入所述部分,(ii) during said transfer to said system working memory, identifying changed hardware in said computer system that is incompatible with the portion of said memory image that was changed hardware dependent so that the section is not loaded,
(iii)进行所述变化了的硬件的初始化,(iii) performing initialization of said changed hardware,
(iv)装入所述存储器映像的余下部分以引导所述计算机系统到可操作的状态。(iv) loading the remainder of the memory image to boot the computer system to an operational state.
可选择地,本发明涉及一种引导计算机系统的方法,所述计算机系统具有可装入的操作系统和被配置为接纳工作的操作系统的系统工作存储器,所述方法包括以下步骤:将存储器映像从非易失性的可重复编程存储器装入所述系统工作存储器中,在所述装入之前所述存储器映像已经被存储到所述非易失性的可重复编程存储器中,其中所存储的所述存储器映像包括包含了工作操作系统的所述系统工作存储器的内容,并且其中在装入期间:Alternatively, the invention relates to a method of booting a computer system having a loadable operating system and a system working memory configured to receive the working operating system, the method comprising the steps of: mapping the memory Loading into the system working memory from a non-volatile reprogrammable memory into which the memory image has been stored prior to the loading, wherein the stored The memory image includes the contents of the system working memory including a working operating system, and wherein during loading:
(i)识别自从所述存储器映像被存储以来改变了的硬件项目,(i) identifying hardware items that have changed since said memory image was stored,
(ii)确定与所述改变了的硬件项目不兼容的所述存储器映像的部分,以便不被装入,(ii) determining portions of said memory image that are incompatible with said changed hardware item so as not to be loaded,
(iii)初始化所述改变了的硬件项目,以及(iii) initializing said changed hardware item, and
(iv)装入与所述改变了的硬件项目兼容的所述存储器映像的剩余部分。(iv) loading the remainder of said memory image compatible with said changed hardware item.
可选择地,本发明涉及一种关闭和重复地重引导计算机的方法,所述方法包括:Optionally, the invention relates to a method of shutting down and repeatedly rebooting a computer, the method comprising:
提供一种计算机,所述计算机具有至少一个中央处理单元CPU、被装入的操作系统、系统工作存储器和非易失性的可重复编程存储器,在所述非易失性的可重复编程存储器中保存所存储的存储器映像,所存储的所述存储器映像为至少当前的所述系统工作存储器、所述计算机的硬件配置、所述计算机的关联信息、以及所述中央处理单元CPU的寄存器内容的映像,当至少硬件信息或关联变化时改变所存储的所述存储器映像;应关闭请求,关闭所有打开的文件并立即关闭所述计算机;在重引导时重复地利用所存储的所述存储器映像将所述计算机返回到关闭时的系统状态。Provided is a computer having at least one central processing unit CPU, a loaded operating system, a system working memory and a non-volatile reprogrammable memory in which saving the stored memory image, the stored memory image is at least the image of the current system working memory, the hardware configuration of the computer, the associated information of the computer, and the register content of the central processing unit CPU , change the stored memory image when at least hardware information or associations change; upon a shutdown request, close all open files and shut down the computer immediately; repeatedly utilize the stored memory image on reboot The computer returns to the system state it was in when it was turned off.
可选择地,本发明涉及一种具有硬件配置和关联信息的且能够提供简化的关闭的计算机系统,其包括:Optionally, the invention relates to a computer system having hardware configuration and associated information capable of providing simplified shutdown, comprising:
具有寄存器内容的中央处理单元CPU,a central processing unit CPU with register contents,
用于所述中央处理单元的系统工作存储器,system working memory for said central processing unit,
非易失性的可重复编程存储器,nonvolatile reprogrammable memory,
存储在所述非易失性的可重复编程存储器中的、至少所述系统工作存储器的所期望的内容的存储器映像,所述存储器映像在关闭之前创建并足以将所述计算机重引导到工作状态,所述存储器映像包括在最后请求关闭之前保存的至少当前的所述系统工作存储器、所述计算机的硬件配置、所述计算机的关联信息、以及所述中央处理单元CPU的寄存器内容的映像,所述映像被改变以包括硬件配置中的任何变化。a memory image of at least the desired contents of the system working memory stored in the non-volatile reprogrammable memory, the memory image created prior to shutdown and sufficient to reboot the computer into a working state , the memory image includes at least the current image of the system working memory, the hardware configuration of the computer, the associated information of the computer, and the register contents of the central processing unit CPU saved before the last request to shut down, The above image is changed to include any changes in the hardware configuration.
可选择地,本发明涉及一种关闭和重复地重引导计算机的方法,所述方法包括:Optionally, the invention relates to a method of shutting down and repeatedly rebooting a computer, the method comprising:
提供具有至少一个中央处理单元CPU、装入的操作系统、系统工作存储器以及非易失性的可重复编程存储器的计算机,在所述非易失性的可重复编程存储器中保存所存储的映像,所存储的所述映像为至少当前的所述系统工作存储器、所述计算机的硬件配置、所述计算机的关联信息、以及所述中央处理单元CPU的寄存器内容的映像,当至少硬件信息或关联变化时改变所存储的所述映像;应关闭请求,关闭所有打开的文件并立即关闭所述计算机;在重引导时重复地利用所存储的所述映像以使用装载程序将所述计算机返回到关闭时的系统状态,在装入所存储的所述映像期间,所述装载程序providing a computer having at least one central processing unit CPU, a loaded operating system, a system working memory and a non-volatile reprogrammable memory in which to save a stored image, The stored image is at least the image of the current system working memory, the hardware configuration of the computer, the associated information of the computer, and the register content of the central processing unit CPU. When at least the hardware information or association changes changes the stored image when a shutdown is requested, closes all open files and immediately shuts down the computer; repeatedly utilizes the stored image on reboot to use the loader to return the computer to when it was shut down system state, during loading of the stored image, the loader
(i)识别在所述计算机中的与所存储的所述映像的部分不兼容的变化了的硬件,所存储的所述映像的所述部分是与变化了的硬件相关的,(i) identifying changed hardware in said computer that is incompatible with the portion of said image stored that is associated with changed hardware,
(ii)进行所述变化了的硬件的初始化,以及(ii) performing initialization of said changed hardware, and
(iii)继续装入所存储的所述映像的剩余的未受影响的部分,以将所述计算机系统引导到可操作的状态。(iii) continuing to load the stored remaining unaffected portion of the image to boot the computer system to an operational state.
附图说明Description of drawings
图1是按照本发明用于操作系统驱动的计算机的计算机引导或启动过程的流程图;FIG. 1 is a flowchart of the computer boot or start-up process for an operating system-driven computer in accordance with the present invention;
图2是按照本发明用于固件驱动的计算机的计算机引导或启动过程的流程图;Figure 2 is a flowchart of a computer boot or start-up process for a firmware-driven computer in accordance with the present invention;
图3是按照本发明的关闭过程的流程图;Figure 3 is a flow chart of the shutdown process according to the present invention;
图4是按照本发明用于固件驱动的计算机的关闭过程的流程图;Figure 4 is a flowchart of a shutdown process for a firmware-driven computer in accordance with the present invention;
图5是压缩的存储器映像文件的内容的图示;Figure 5 is an illustration of the contents of a compressed memory image file;
图6是在不同存储器或虚拟存储单元之间调页数据(paging data)中所涉及的交换操作的流程图;Figure 6 is a flowchart of the swapping operations involved in paging data between different memories or virtual storage units;
图7是计算机内数据流的图示。Figure 7 is an illustration of data flow within a computer.
具体实施方式Detailed ways
下面提到的例子涉及本发明的使用以引导个人计算机,同时涉及拥有配置以影响引导计算机的非易失性的可重复编程存储器的个人计算机。然而,本发明也适用于其它数字处理设备,如计算机游戏机、商用机器和电信设备,所述设备要求装入操作系统供使用。The examples mentioned below relate to the use of the present invention to boot a personal computer, as well as to a personal computer having non-volatile reprogrammable memory configured to affect the booting of the computer. However, the invention is also applicable to other digital processing devices, such as computer game machines, business machines and telecommunications equipment, which require an operating system to be loaded for use.
参照图1,说明了按照本发明用于计算机系统的引导或启动过程的流程图。Referring to FIG. 1, there is illustrated a flow diagram of a boot or start-up process for a computer system in accordance with the present invention.
参照图1描述的方法假定正在进行“冷”或“硬”引导。本领域技术人员应了解本方法也适用于进行“热”或“软”引导的情况。The method described with reference to Figure 1 assumes that a "cold" or "hard" boot is in progress. Those skilled in the art will appreciate that the method is also applicable where "hot" or "soft" guidance is performed.
参照图1,例如在步骤1,用户启动系统电源开关。这对系统应用了电源,且在通常方式下,固件软件启动引导序列。因此在步骤2,启动固件,执行其通常的POST(通电自检)初始化序列,并随即做两件事之一。固件执行:a)在系统的硬盘驱动器寻找操作系统引导装载程序,如发生于现有的引导序列中的;或b)可选择地,固件在计算机系统中提供的非易失性的可重复编程存储器寻找。即使固件起初在硬盘驱动器寻找操作系统引导装载程序,引导装载程序仍指示系统从非易失性的可重复编程存储器中下载存储器映像,如下面进一步将描述的,虽然这可能以用户输入存储在固件中的口令为条件。Referring to FIG. 1 , for example, in step 1, the user activates a system power switch. This applies power to the system, and in the usual way, the firmware software initiates the boot sequence. So at step 2, the firmware boots up, goes through its usual POST (power-on self-test) initialization sequence, and then does one of two things. The firmware executes: a) looking for the operating system boot loader on the system's hard drive, as occurs during an existing boot sequence; or b) optionally, the firmware provides non-volatile reprogrammability in the computer system memory seek. Even though the firmware initially looks for the operating system bootloader on the hard drive, the bootloader instructs the system to download the memory image from non-volatile reprogrammable memory, as described further below, although this may be stored as user input in the firmware The password in is conditional.
非易失性的可重复编程存储器作为集成电路来提供,例如在个人计算机的母板上提供,其对于计算机系统是可访问。可选择地,将其作为PCI附加卡提供以对现有机器改进。也可以用其它方式提供非易失性的可重复编程存储器,只要其满足可被系统访问的要求,从而使其内容能够被系统充分快速地访问以实现本发明的引导方法的价值。The non-volatile reprogrammable memory is provided as an integrated circuit, for example on the motherboard of a personal computer, which is accessible to the computer system. Optionally, it is available as a PCI add-in card for retrofitting existing machines. The non-volatile reprogrammable memory can also be provided in other ways, as long as it meets the requirements of being accessible by the system so that its contents can be accessed by the system quickly enough to realize the value of the boot method of the present invention.
现在转至步骤3,操作系统引导装载程序因此启动引导过程,其或直接来自非易失性的可重复编程存储器的内容或来自系统的硬盘驱动器。Turning now to step 3, the operating system boot loader thus initiates the boot process, either directly from the contents of the non-volatile reprogrammable memory or from the system's hard drive.
非易失性的可重复编程存储器包括RAM内容的存储器映像,当被装入系统存储器时,其足以能够将计算机系统以可用的状态提供给用户,即引导计算机系统。Non-volatile reprogrammable memory includes a memory image of the contents of RAM sufficient to provide the computer system in a usable state to the user, ie, to boot the computer system, when loaded into system memory.
根据用户的需要,在非易失性的可重复编程存储器中捕获和提供的存储器映像可以采用多种形式。例如,非易失性的可重复编程存储器可以包括引导后系统工作存储器(即RAM)内容的存储器映像。The memory image captured and presented in non-volatile reprogrammable memory can take many forms depending on the needs of the user. For example, non-volatile reprogrammable memory may include a memory image of the contents of system working memory (ie, RAM) after boot.
例如,另一个选择是以当前存储在RAM中的所有数据的优选的压缩的存储器映像装入非易失性的可重复编程存储器。在优选方式中,此压缩的存储器映像存储自类似于当前ACPI 2.0a规范中的State S4关闭程序的先前的关闭程序。这包括了处于做好了用户使用的准备的状态的计算机系统的计算机和/或操作系统设置,并且优选地提供给用户以使用户重新开始系统的使用,其中,其处于的状况与用户开始关机时相同或基本相同。For example, another option is to load a non-volatile reprogrammable memory with a preferably compressed memory image of all data currently stored in RAM. In a preferred manner, this compressed memory image is stored from a previous shutdown procedure similar to the State S4 shutdown procedure in the current ACPI 2.0a specification. This includes the computer and/or operating system settings of the computer system in a state that is ready for use by the user, and is preferably provided to the user to enable the user to resume use of the system in a state that is not the same as when the user initiates a shutdown the same or substantially the same.
标准的ACPI S4关机的细节可以从当前的ACPI规范版本2.0中找到,其可以在统一资源定位地址(URL)http://www.acpi.info得到。Details of the standard ACPI S4 shutdown can be found in the current ACPI specification version 2.0, which is available at the Uniform Resource Locator (URL) http://www.acpi.info.
存储器映像可以仅是系统存储器的部分映像。因此,映像可以包括例如涉及操作系统整体的数据,而建立或设立系统工作存储器所必须的信息的其余部分可从如系统硬盘的另一个存储器存储设备装入工作存储器中。在例如由于成本限制,需要限制非易失性的可重复编程存储器的大小的情况下,此方案可能是更优越的,但本发明仍然是值得的,因为执行引导过程所需要的总的时间与已知的引导过程相比仍是大大减少的。A memory image may only be a partial image of system memory. Thus, the image may include, for example, data pertaining to the operating system as a whole, while the remainder of the information necessary to create or set up the system working memory may be loaded into the working memory from another memory storage device, such as the system hard disk. This solution may be preferable in cases 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 total time required to perform the boot process is comparable to It is still greatly reduced compared to the known boot process.
在操作系统的设置过程中,可以最初生成存储器映像,或者每当用户对计算机配置进行重大改变时,可以选择地替换其。同样,每当用户启动关闭序列时,存储器映像可被捕获。这些选择将参考图2进一步讨论。The memory image can be generated initially during the setup of the operating system, or optionally replaced whenever the user makes significant changes to the computer configuration. Likewise, a memory image can be captured whenever a user initiates a shutdown sequence. These options are discussed further with reference to FIG. 2 .
存储器映像优选地被压缩,从而压缩了的存储器映像(CMI)存储在非易失性的可重复编程存储器中,且当需要时从非易失性的可重复编程存储器中检索。压缩可以节省大量的存储空间,而没有显著增加由本发明提供的减少了的引导时间的解压缩过程。可以使用如在开放源zlib库中可得到的压缩算法。The memory image is preferably compressed so that the compressed memory image (CMI) is stored in the non-volatile reprogrammable memory and retrieved from the non-volatile reprogrammable memory when needed. Compression can save significant storage space without adding significantly to the reduced boot time decompression process provided by the present invention. Compression algorithms as available in the open source zlib library can be used.
除了压缩,存储器映像还可以被与硬盘驱动器一样的标准加密,以在携带同样数据的硬盘驱动器被保密的情况下,防止从所述存储器恢复信息的企图。In addition to compression, the memory image can also be encrypted by the same standard as hard drives to prevent attempts to recover information from the memory if the hard drive carrying the same data is kept secret.
在图1中,在已确定压缩了的存储器映像存在(步骤6)的情况下,如果有多重文件(例如用于多重用户或不同的操作系统),要求用户在CMI文件中选择(步骤7),且提示以口令(步骤8)。如果提供了不正确的口令(步骤9),可再次尝试登录(步骤11),但如果最终失败(步骤12),计算机删除已压缩的存储器映像(步骤13)和在易失性页文件中的任何数据(硬盘上的临时存储)并关机(步骤15)。这些防范使破坏快速引导系统变得很难。如果CMI被删除,下一次引导将是正常引导(步骤4-5,36-39)。In Figure 1, after having determined that a compressed memory image exists (step 6), if there are multiple files (for example for multiple users or different operating systems), the user is asked to select in the CMI file (step 7) , and prompts for a password (step 8). If an incorrect password is provided (step 9), the login can be attempted again (step 11), but if it ultimately fails (step 12), the computer deletes the compressed memory image (step 13) and the any data (temporary storage on hard drive) and shutdown (step 15). These precautions make it difficult to destroy the fast boot system. If the CMI is deleted, the next boot will be a normal boot (steps 4-5, 36-39).
当提供了口令并且其正确,引导装载程序检查硬件中对于压缩存储器映像中的任何明显变化(步骤17)。如果没有,位于非易失性的可重复编程存储器中的CMI被解压缩,且计算机系统设置和所有存储器内容从解压缩的CMI装入RAM(步骤21),因而提供了所有的应用、服务和设备驱动。When the password is provided and it is correct, the bootloader checks the hardware for any significant changes in the compressed memory image (step 17). If not, the CMI located in non-volatile reprogrammable memory is decompressed, and the computer system settings and all memory contents are loaded into RAM from the decompressed CMI (step 21), thus providing all applications, services and device driver.
然后,从以前的存储的状态,操作系统接管,清除易失页文件(步骤23)并检查在可带电插拔硬件配置中的任何变化。如果其发现任何变化,其将修改标志设置为FALSE(步骤25),使得在停机时制作新的映像。Then, from the previous stored state, the operating system takes over, clears the volatile page file (step 23) and checks for any changes in the hot-pluggable hardware configuration. If it finds any changes, it sets the modify flag to FALSE (step 25), causing a new image to be made on shutdown.
现在更快的引导过程就已完成了。The faster boot process is now complete.
如果在硬件检查时发现改变了的硬件配置(步骤17),引导装载程序清除所有的临时数据而处理存储器映像至硬件的改变需要维护的点(步骤30)。随即,装入任何改变了的设备驱动(步骤31),且然后继续存储器映像的解压缩和装入,越过不适用的部分(步骤32)。这样,如以前一样,OS实例化(instantiate)且PC完全引导,然而要设置修改标志以便在关机时保存新的存储器映像。If a changed hardware configuration is found during the hardware check (step 17), the bootloader clears all temporary data and handles the memory image to the point where hardware changes require maintenance (step 30). Immediately, any changed device drivers are loaded (step 31), and then the decompression and loading of the memory image continues, past the non-applicable parts (step 32). Thus, as before, the OS instantiates and the PC fully boots, however the modify flag is set to save the new memory image at shutdown.
因为存储器内容从非易失性的可重复编程存储器很快地装入RAM中,而不是自系统硬盘搜索并传送,引导过程所需要的时间大大减少了。The time required for the boot process is greatly reduced because memory contents are quickly loaded into RAM from non-volatile reprogrammable memory, rather than being sought and transferred from the system's hard disk.
在引导使用Microsoft WindowsTM操作系统的个人计算机(PC)的一个例子中,固件首先为引导信息检查非易失性的可重复编程存储器,并将Windows引导文件和内核装入存储器。如果存储空间允许,可以生成注册表储备(registry hive)并将其存储于非易失性的可重复编程存储器,或者可以生成注册表储备并将其存储于本地硬盘驱动器,如现有系统的情况。当Windows被装入时,设备驱动从非易失性的可重复编程存储器装入RAM。服务和第三方启动应用程序将从本地硬驱动器预载。通过提供加至机器母板的64兆或以上字节的非易失性的可重复编程存储器芯片,可以物理地修改典型的个人计算机以实施这一过程。使用内装的对闪速文件系统(FFS)和闪速转换层(FTL)的支持,修改PC上的固件以允许从非易失性的可重复编程存储器引导。如Windows XP的Microsoft WindowsTM可以被修改,以通过内部驱动(如FAT16/32,NTFS和FFS/FTL)或第三方驱动支持FFS/FTL。可以通过附加的基于PCI的产品提供硬件支持。Windows引导文件和设备驱动被加至非易失性的可重复编程存储器,而第三方启动程序物理上移至硬盘驱动器的起始。In one example of booting a personal computer (PC) using the Microsoft Windows(TM) operating system, the firmware first checks non-volatile reprogrammable memory for boot information and loads the Windows boot files and kernel into memory. If storage space permits, a registry hive can be generated and stored in non-volatile reprogrammable memory, or a registry hive can be generated and stored on a local hard drive, as is the case with existing systems . When Windows is loaded, device drivers are loaded into RAM from nonvolatile reprogrammable memory. Services and third-party startup applications will be preloaded from the local hard drive. A typical personal computer can be physically modified to implement this process by providing 64 megabytes or more of non-volatile reprogrammable memory chips attached to the machine's motherboard. Using built-in support for Flash File System (FFS) and Flash Translation Layer (FTL), the firmware on the PC is modified to allow booting from non-volatile reprogrammable memory. Microsoft Windows™ like Windows XP can be modified to support FFS/FTL through internal drivers (eg FAT16/32, NTFS and FFS/FTL) or third party drivers. Hardware support can be provided through add-on PCI-based products. Windows boot files and device drivers are added to non-volatile reprogrammable memory, while third-party boot programs are physically moved to the beginning of the hard drive.
在使用Windows操作系统的另一个例子中,固件从非易失性的可重复编程存储器引导,并将存储器映像装入并解压缩至RAM中。在存储器映像在RAM中之后,从硬盘驱动器的起始生成或装入较小的环境变化。这些包括(但不限于)以下内容:In another example using the Windows operating system, the firmware boots from non-volatile reprogrammable memory and loads and decompresses the memory image into RAM. After the memory image is in RAM, minor environment changes are generated or loaded from the start on the hard drive. These include (but are not limited to) the following:
应用程序安装application installation
非临界(non-critical)的启动应用程序Non-critical startup applications
注册表储备registry reserve
页文件(虚拟存储器)page file (virtual memory)
对于运行Microsoft Windows操作系统的典型个人计算机的物理修改与上述例子中所提到的类似,然而用户定制的压缩的Windows存储器映像在Windows设置过程中生成,并存储于非易失性的可重复编程存储器。在硬盘驱动器的开始存储更多的定制的设置。Physical modifications to a typical personal computer running the Microsoft Windows operating system are similar to those mentioned in the examples above, however a user-customized compressed Windows memory image is generated during Windows setup and stored in a non-volatile reprogrammable memory. More customized settings are stored at the beginning of the hard drive.
图2显示了用于下述计算机的可选择的序列,所述计算机使用检查部件变化的固件。此序列与图1的不同,只因为ZBIOS执行硬件配置检查而不是使用提供检查的操作系统。Figure 2 shows an alternative sequence for a computer using firmware that checks for component changes. This sequence differs from that of Figure 1 only because ZBIOS performs a hardware configuration check instead of using the operating system that provides the check.
现转至图3,按照本发明的计算机的关闭过程以图表来说明。过程在步骤1以用户从操作系统中选择关闭命令而开始。作为关闭过程的部分,操作系统随即在步骤3检查修改标志。修改标志是每当对计算机配置进行显著改变时由操作系统设置的一个标志。显著的改变可包括(非限制)以下内容:Turning now to FIG. 3, the shutdown process of a computer according to the present invention is illustrated diagrammatically. The process begins at step 1 with the user selecting the shutdown command from the operating system. As part of the shutdown process, the operating system then checks the modification flag in step 3. The modification flag is a flag that is set by the operating system whenever a significant change is made to the configuration of the computer. Notable changes may include (without limitation) the following:
a)新应用程序安装a) New application installation
i)当操作系统引导时需要装入部件的应用程序安装i) Installation of applications that require loading components when the operating system boots
b)对于注册表储备的改变b) Changes to registry reserves
c)设备驱动升级c) Device driver upgrade
d)服务组件(service pack)/热修复(hotfix)安装d) Service pack/hotfix installation
e)服务修改e) Service modification
f)用户环境定制:f) User environment customization:
(i)桌面(i) desktop
(ii)墙纸(ii) wallpaper
(iii)主题(themes)(iii) Themes
(iv)声音(iv) sound
(v)图标(v) icon
(vi)颜色方案(vi) Color scheme
因此,对自引导的每个新的用户对话期(session),修改标志设为假(false)。然后,当发生显著变化时,例如如上文列出的变化,标志设为真(true)。为说明,上文提供的显著变化的列表不是排他性的。而且,用户可以希望从上面提供的列表中排除一些动作。Therefore, the modify flag is set to false for each new user session bootstrapped. Then, when a significant change occurs, such as the changes listed above, the flag is set to true. For illustration, the list of notable variations provided above is not exclusive. Also, a user may wish to exclude some actions from the list provided above.
回到图3,如步骤5所示,如果修改标志是假,如步骤14所示,由于在这一区域内没发生改变,则操作系统关闭所有的打开的文件、设备和服务但不保存任何系统配置数据。随即,在步骤15,操作系统继续其正常的关闭过程,如当前在ACPI 2.0a规范中实施为State S5关闭(Statc S5Shutdown)。随后,计算机处于的状态是自关闭或重引导。Get back to Fig. 3, as shown in step 5, if revise sign is false, as shown in step 14, because do not change in this area, then operating system closes all opened files, equipment and service but does not preserve any System configuration data. Then, at step 15, the operating system continues its normal shutdown process, as currently implemented as State S5 shutdown (Statc S5Shutdown) in the ACPI 2.0a specification. Subsequently, the computer is in a state of self-shutdown or reboot.
如图3中的步骤4所示,如果修改标志是真,则“最近的、已知的、良好的”(LKG)的压缩存储器映像存档至合适的存储装置,如系统的本地硬盘驱动器。其发生于步骤6。As shown in step 4 in Figure 3, if the modified flag is true, the "last known good" (LKG) compressed memory image is archived to a suitable storage device, such as the system's local hard drive. It happens in step 6.
然后,在步骤7,用来最近引导系统的、活跃状态的CMI此时被用作LKG CMI。Then, in step 7, the active CMI used to boot the system most recently is now used as the LKG CMI.
随即,以步骤8开始,操作系统启动修改了的关闭程序。Immediately, beginning with step 8, the operating system initiates a modified shutdown procedure.
在步骤8,生成新密钥并将其存储于新的CMI中。在此之后在步骤9,当前的硬件信息被写入新文件,然后在步骤10,当前存储在RAM中的所有数据使用合适的压缩算法而被压缩和加密并存储。接下来,在步骤11,易失页文件中的任何调页数据(paging data)被装入新CMI文件的调页数据子部分,然后在步骤12,装入当前硬件关联。在步骤13,装入过程随即完成,非易失性RAM中的最终文件被标记为新的活跃的CMI。如上面参考步骤15所述,操作系统随即完成修改了的关闭过程。At step 8, a new key is generated and stored in the new CMI. After this at step 9, the current hardware information is written into a new file, and then at step 10, all data currently stored in RAM is compressed and encrypted using a suitable compression algorithm and stored. Next, at step 11, any paging data in the volatile paging file is loaded into the paging data subsection of the new CMI file, and then at step 12, the current hardware associations are loaded. At step 13, the loading process is then complete and the final file in non-volatile RAM is marked as the new active CMI. The operating system then completes the modified shutdown process as described above with reference to step 15.
从图3所示的方法可以看到,可以用来引导系统的压缩的存储器映像的存档被保留。在此方式中,如果用户进行了对机器的操作是有害的、即非期望的、显著的改变,或者如果系统崩溃,用户始终有至少一个压缩的存储器映像,从所述压缩的存储器映像计算机可以被重引导。As can be seen from the method shown in Figure 3, an archive of compressed memory images that can be used to boot the system is preserved. In this way the user always has at least one compressed memory image from which the computer can is redirected.
图4显示了类似的关闭序列,但这一次是对固件控制的计算机,其中,修改了的关闭程序的开始和最后部分是在固件的控制之下。Figure 4 shows a similar shutdown sequence, but this time for a firmware-controlled computer, where the beginning and the end of the modified shutdown procedure are under firmware control.
图5显示了通常的压缩的存储器映像(CMI)文件的布局,其中首先存储密钥和验证信息,随后是硬件配置信息,然后是RAM内容、来自虚拟存储文件的调页数据(或易失性页内容),最后是当前硬件的硬件关联。如果自上次关闭以来没有对其配置进行改变,压缩和加密信息的再装入足以使计算机返回完全工作状态。Figure 5 shows the layout of a typical Compressed Memory Image (CMI) file, where keys and authentication information are stored first, followed by hardware configuration information, followed by RAM contents, paging data (or volatile page content), and finally the hardware associations for the current hardware. If no changes have been made to its configuration since it was last shut down, reloading the compressed and encrypted information is sufficient to return the computer to a fully working state.
图6显示了与调页文件(易失性页文件或虚拟存储文件)的存储相关的三个操作,其中,其可已存储在压缩了的存储器映像中。第一次时系统请求一页(步骤1),所述页应在易失性页文件中,在步骤2,输出至RAM之前,其自CMI调页数据被检索、解压缩和解密。在步骤3和4,如果所述页在RAM中达到一定期限,因为必须存储具有更高优先级的页,其会被换出至易失性页文件。随后,如步骤5和6所示,如同在正常的操作中一样,系统再次请求存储页,其将从易失性页文件中被换入。Figure 6 shows three operations related to the storage of a paging file (volatile paging file or virtual storage file), which may have been stored in a compressed memory image. The first time the system requests a page (step 1), the page should be in the volatile page file, which is retrieved, decompressed, and decrypted from the CMI paging data before being output to RAM in step 2. In steps 3 and 4, if the page reaches a certain age in RAM, it is swapped out to the volatile page file because a higher priority page must be stored. Then, as shown in steps 5 and 6, as in normal operation, the system requests the memory page again, which will be swapped in from the volatile page file.
现转至图7,显示了按照本发明的计算机系统的一个例子的基本的处理器和存储器部件。对于那些本发明相关领域的技术人员,用于存储器设备的其它装置和通信路径是可能的。系统有一个中央处理单元(CPU)701,其中设置有一控制单元702。以随机访问存储器(RAM)703形式提供了工作存储器,其为非易失性的可重复编程存储器704。数据总线705允许数据在控制单元702的控制下,通过地址数据控制总线706,在RAM 703和CPU 701之间交换。类似地,数据总线707允许数据在控制单元702的控制下,通过地址数据控制总线708,在非易失性的可重复编程存储器703和CPU之间交换。因此总线707允许包含所有存储器内容的RAM中的信息传送至非易失性的可重复编程存储器704。总线705和707可以包含系统总线。此外,RAM 703的内容可以被压缩,由此,压缩了的映像可以通过总线707被传输以存储在非易失性的可重复编程存储器704中。然后,当需要时,存储在非易失性的可重复编程存储器704中的存储器映像可以被直接传输至RAM 703或可以先被压缩然后装在RAM 703中。Turning now to FIG. 7, there is shown the basic processor and memory components of an example of a computer system in accordance with the present invention. Other arrangements and communication paths for the memory device are possible to those skilled in the art to which the invention relates. The system has a central processing unit (CPU) 701 in which a
非易失性的可重复编程存储器704有其优势,其本质上是非易失性的固态设备,因此当电源从计算机系统移去时,非易失性的可重复编程存储器的内容被保持。然而,本领域技术人员应可理解,本文件中提及的非易失性的可重复编程存储器包括闪速RAM的使用,所述闪速RAM即为需要诸如电池的外部源以维持存储器内容的非易失性的可重复编程存储器的形式。The non-volatile
按照本发明的非易失性的可重复编程存储器设备可以提供为例如系统母板上的集成电路,或在分立的板或卡上。特别是,如果需要,非易失性的可重复编程存储器可以提供在如那些被提及的商标为SmartMedia或CompactFlash的卡上。A non-volatile reprogrammable memory device according to the present invention may be provided, for example, as an integrated circuit on a system motherboard, or on a separate board or card. In particular, non-volatile reprogrammable memory can be provided on cards such as those mentioned under the trademark SmartMedia or CompactFlash, if desired.
一些当前可用的非易失性的可重复编程存储器产品具有比硬盘驱动器快的装载时间数量级,因此可以看到,按照本发明的方法和系统在引导时间方面与现有技术的系统相比提供了明显的优势。Some currently available non-volatile reprogrammable memory products have load times orders of magnitude faster than hard drives, so it can be seen that the method and system according to the present invention provides improved boot time compared to prior art systems obvious advantage.
其它类型的非易失性存储器和固态盘可以与闪速存储器一起使用或代替闪速存储器,如磁性RAM(MRAM),在读和写两个操作中其拥有比闪速存储器快了指数级的传输速度。MRAM有望在2005年大批量生产。Other types of non-volatile memory and solid-state disks can be used with or instead of flash memory, such as magnetic RAM (MRAM), which has exponentially faster transfers than flash memory in both read and write operations speed. MRAM is expected to be mass-produced in 2005.
优选地,对所期望操作系统的设置应用程序额外地生成压缩的存储器映像(CMI),其包括当前存储在RAM中的所有数据的压缩映像,如当前在ACPI 2.0a规范中实施为State S4系统关联文件。此文件存储在非易失性的可重复编程存储器中,但设置应用程序不关闭计算机,如在当前ACPI 2.0a规范中State S4系统关联文件的生成的情况一样,相反,其允许程序化的关闭程序。Preferably, the setup application for the desired operating system additionally generates a compressed memory image (CMI) that includes a compressed image of all data currently stored in RAM, as currently implemented in the ACPI 2.0a specification for State S4 systems Associated files. This file is stored in non-volatile reprogrammable memory, but the Setup application does not shut down the computer, as is the case with the generation of State S4 system-associated files in the current ACPI 2.0a specification, instead it allows a programmatic shutdown program.
优选地,修改操作系统源代码以通过闪速转换层(FTL)内部支持闪速文件系统(FFS),如Intel自己的FTL规范(http://www.intel.com/design/flcomp/applnots/297816.htm)。Preferably, the operating system source code is modified to internally support the Flash File System (FFS) via a Flash Translation Layer (FTL), such as Intel's own FTL specification (http://www.intel.com/design/flcomp/applnots/ 297816.htm).
方便地,压缩的存储器映像(CMI)具有由之前的关闭程序产生的当前存储在RAM中的所有数据的压缩版本,与在当前ACPI2.0a规范中的State S4关闭程序类似。Conveniently, the Compressed Memory Image (CMI) has a compressed version of all data currently stored in RAM produced by a previous shutdown procedure, similar to the State S4 shutdown procedure in the current ACPI2.0a specification.
在大部分优选实施方式中,将之前的CMI存档至安装的和非易失性的可重复编程存储器以作为“最近的、已知的、良好的”的CMI使用。In most preferred embodiments, the previous CMI is archived to installed and non-volatile reprogrammable memory for use as the "last known good" CMI.
在本文件中提及的计算机系统通常包括数字数据处理系统。References in this document to computer systems generally include digital data processing systems.
贯穿本说明书的描述和权利要求,词语“包括(comprise)”及其变化如“comprises”和“comprising”不意味着排除其它的添加物、部件、完整物或步骤。Throughout the description and claims of this specification, the word "comprise" and its variations such as "comprises" and "comprising" do not imply the exclusion of other additives, components, integrals or steps.
工业适用性Industrial applicability
本发明提供了一种方法,所述方法允许计算机比标准硬盘引导快很多地引导,即使自最近的良好的引导以来计算机配置有所变化,因此减少了在浪费的用户时间方面的消耗水平,所述浪费的用户时间是用于等待计算机装入软件至用户能在其上执行有用的工作的指定位置其上。此外,本发明提供用于以安全的方式执行上述操作。The present invention provides a method that allows a computer to boot much faster than a standard hard disk boot, even if the computer configuration has changed since the last good boot, thus reducing the level of consumption in terms of wasted user time, so This wasted user time is spent waiting for the computer to load the software into a designated location where the user can perform useful work on it. Furthermore, the present invention provides for performing the operations described above in a secure manner.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/NZ2004/000122WO2005124540A1 (en) | 2004-06-15 | 2004-06-15 | Method and apparatus for booting a computer system |
| Publication Number | Publication Date |
|---|---|
| CN1997961A CN1997961A (en) | 2007-07-11 |
| CN100489768Ctrue CN100489768C (en) | 2009-05-20 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB2004800433515AExpired - Fee RelatedCN100489768C (en) | 2004-06-15 | 2004-06-15 | Method and device for booting computer system |
| Country | Link |
|---|---|
| EP (1) | EP1759284A4 (en) |
| JP (1) | JP2008502988A (en) |
| CN (1) | CN100489768C (en) |
| IL (1) | IL179954A0 (en) |
| WO (1) | WO2005124540A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8560760B2 (en)* | 2007-01-31 | 2013-10-15 | Microsoft Corporation | Extending flash drive lifespan |
| JP5494134B2 (en)* | 2010-03-31 | 2014-05-14 | 株式会社リコー | Control apparatus and control method |
| JP5773773B2 (en)* | 2011-06-22 | 2015-09-02 | キヤノン株式会社 | Image forming apparatus, start control method of image forming apparatus, program, and storage medium |
| US20150032945A1 (en)* | 2012-01-29 | 2015-01-29 | Thomson Licensing | Method for flash compressed instruction caching for limited ram/flash device architectures |
| WO2013165383A1 (en) | 2012-04-30 | 2013-11-07 | Hewlett-Packard Development Company, L.P. | Configurable computer memory |
| KR101987144B1 (en) | 2012-10-10 | 2019-06-11 | 삼성전자주식회사 | Main memory system storing Operating System program and computer system including the same |
| CN113569277B (en)* | 2021-06-25 | 2024-01-26 | 北京鼎普科技股份有限公司 | Method and device for checking security document data and electronic equipment |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6379120A (en)* | 1986-09-22 | 1988-04-09 | Nec Corp | Quick start-up system |
| JP3102455B2 (en)* | 1993-07-26 | 2000-10-23 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | Information processing system |
| US5802365A (en)* | 1995-05-05 | 1998-09-01 | Apple Computer, Inc. | Dynamic device matching using driver candidate lists |
| US5710930A (en)* | 1995-08-04 | 1998-01-20 | Intel Corporation | Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle |
| US6134616A (en)* | 1996-10-28 | 2000-10-17 | International Business Machines Corporation | Method and apparatus for dynamic re-enumeration and reconfiguration of computer devices after system hibernation |
| US6173417B1 (en)* | 1998-04-30 | 2001-01-09 | Intel Corporation | Initializing and restarting operating systems |
| US6209088B1 (en)* | 1998-09-21 | 2001-03-27 | Microsoft Corporation | Computer hibernation implemented by a computer operating system |
| US6636963B1 (en)* | 1999-12-30 | 2003-10-21 | Cardiac Pacemakers, Inc. | Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium |
| JP2004038546A (en)* | 2002-07-03 | 2004-02-05 | Fuji Xerox Co Ltd | Start control method, start control system, and image processor |
| Publication number | Publication date |
|---|---|
| JP2008502988A (en) | 2008-01-31 |
| EP1759284A4 (en) | 2007-07-25 |
| IL179954A0 (en) | 2007-05-15 |
| EP1759284A1 (en) | 2007-03-07 |
| WO2005124540A1 (en) | 2005-12-29 |
| CN1997961A (en) | 2007-07-11 |
| Publication | Publication Date | Title |
|---|---|---|
| US7313684B2 (en) | Method and apparatus for booting a computer system | |
| US20080059785A1 (en) | Method and apparatus for shutting down a computer system | |
| US7934209B2 (en) | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan | |
| WO2005029325A1 (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 | |
| US7136994B2 (en) | Recovery images in an operational firmware environment | |
| JP6054908B2 (en) | Method for repairing variable sets, computer program and computer | |
| TWI480803B (en) | Shared file system management between independent operating systems | |
| CN101091163B (en) | Manageable extension method, device and system for system firmware | |
| KR101856284B1 (en) | Backing up firmware during initialization of device | |
| CN104679540B (en) | Computer system and computer system starting method | |
| US20140115316A1 (en) | Boot loading of secure operating system from external device | |
| US20070112899A1 (en) | Method and apparatus for fast boot of an operating system | |
| CN101430642B (en) | Method and system for implementing operation interface used for UEFI | |
| JP2010134941A (en) | Method and system for creating operating system image on target medium, and recovery medium | |
| CN100580627C (en) | Method and apparatus for starting a computer system | |
| CN100489768C (en) | Method and device for booting computer system | |
| US9202058B1 (en) | Root volume encryption mechanism in para-virtualized virtual machine | |
| KR20070041515A (en) | Method and device for booting a computer system | |
| NZ533549A (en) | Method and apparatus for booting a computer system | |
| Tuli et al. | Compatibility study of installation of an operating system with boot modes and partitioning styles configuration | |
| US20220108017A1 (en) | Firmware to restore configurable option |
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | Granted publication date:20090520 Termination date:20150615 | |
| EXPY | Termination of patent right or utility model |