CN1997961A - 用于引导计算机系统的方法和装置 - Google Patents

用于引导计算机系统的方法和装置 Download PDF

Info

Publication number
CN1997961A
CN1997961A CNA2004800433515A CN200480043351A CN1997961A CN 1997961 A CN1997961 A CN 1997961A CN A2004800433515 A CNA2004800433515 A CN A2004800433515A CN 200480043351 A CN200480043351 A CN 200480043351A CN 1997961 A CN1997961 A CN 1997961A
Authority
CN
China
Prior art keywords
memory
memory mapping
computer system
storer
volatile
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004800433515A
Other languages
English (en)
Other versions
CN100489768C (zh
Inventor
丹尼尔·詹姆士·奥康纳尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
T1 TECHNOLOGIES Ltd
Original Assignee
T1 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 T1 TECHNOLOGIES Ltd filed Critical T1 TECHNOLOGIES Ltd
Publication of CN1997961A publication Critical patent/CN1997961A/zh
Application granted granted Critical
Publication of CN100489768C publication Critical patent/CN100489768C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于使用非易失性的可重复编程存储器快速引导个人计算机系统的方法。当系统处于所期望的操作状态时,存储在存储器中的系统工作存储器内容、硬件配置和其它信息的压缩存储器映像被存储在非易失性的可重复编程存储器中。当重新引导时,在继续操作之前,过程检测变化了的硬件并从重新引导转向以识别硬件。

Description

用于引导计算机系统的方法和装置
技术领域
本发明涉及引导计算机系统或其它数字处理设备,特别涉及包括移动计算设备的个人计算机和桌上型计算机系统。
背景技术
自冷或硬引导,个人计算机通常运行的第一个程序是装入只读存储器(ROM)或电可擦除只读存储器(EEPROM)的一组指令,其包括初始化系统硬件和使机器能够激活硬盘驱动器来找到引导装载程序(boot-straploader)所需要的信息。
因此,目前,操作系统从本地硬盘驱动器将引导信息和文件装入工作存储器或系统存储器,通常称为随机存取存储器(RAM)。此信息通常包括文件系统驱动、操作系统内核、要剖析为有用信息的配置和设备信息和一般的外观用户定制。
由于这些文件的大量的数目和大小,计算机通常用几分钟的时间来引导,即达到可使用的状态,终端用户为此经常觉得很沮丧。
用于引导计算机的时间能够对工作者的生产率产生重大影响。个人计算机广泛用于工作场合,特别是办公室环境。在大的办公室里,用于等待计算机引导的时间能够导致大量的无产出时间。如果人员正使用可移动的个人计算机,其在整个工作日都被带至会议上,那么问题就被扩大了。而且,由于计算机的使用而轻易引发的操作系统的错误,而必须重新引导计算机是并不罕见的。
此外,在一些环境中,计算机系统或其它数字处理设备的连续的功能性是非常重要的,如生产过程或通信系统的控制。因此,由系统故障或“崩溃”导致的停机时间必须保持到最小值。
高级配置与电源接口规范使引导时间降低,但即使是应用了此规范的系统通常也要求用户在他们能够使用计算机之前等待至少30秒。
为达到这一目的,已知提供已引导的计算机存储器的“映像(image)”并将此存储在硬盘或存储器中,如在US 6446203中。这一专利规范还要求操作系统被充分引导以识别盘上要读的区域,而且其不为映像提供安全措施,即没有用于改变映像的任何规定,也没有任何涉及除工作存储器之外的存储。
美国申请2002/0078338在辅助存储器中存储引导映像,且如果被检测到则从此中引导,然而其没有安全性且不能检测配置的变化。
美国申请2002/0039612在电源关闭时提供存储器中的引导映像,但没有用于映像安全措施的规定,看上去也不要求比工作存储器更多的存储。
美国申请20002/0169950提供初始引导过程的引导映像和中间部分的压缩的引导映像,也提供关于初始引导映像的版权检查,但没有其它明显的安全性或硬件检查。
WO01/13221使用ROM来存储引导映像,包括用户程序但没有明显的安全性,虽然其确实在盘上存储了压缩的OS。
美国专利71673417提供以压缩的状态存储于硬盘的引导映像,但对配置的改变而更新。其没有明显的安全性或硬件检查。
因此,对于存储加电时引导的映像的计算机有另一个问题,在计算机中,引导的计算机存储数据的不安全版本被保持,其可以包括在其它地方安全地保持的数据。因此,这将允许存储器映像的取出成为绕开在正常的引导过程中所涉及的任何安全措施的一种方式。
此外,有可能当计算机关掉时计算机上的硬件改变了。在这种情况下,或者计算机识别出硬件已经改变并放弃用于完整引导的引导映像,或者未能识别改变已经发生而试图正常地引导。这两个过程都将导致延长的引导期。
发明目标
本发明的一个目标是提供用于引导计算机系统的方法和装置,其将减少引导现有系统所需要的时间,同时为在计算机存储器中存储的数据提供安全的环境。
本发明的另一个目标是提供方法,此方法可以允许在计算机系统的配置中的变化,但不会由于这些变化导致对快速引导程序的整个的放弃。
本发明的这些目标将至少对克服先前技术的缺点有一些用处,或可以为公众提供有用的选择。
发明内容
一种引导计算机系统的方法,所述计算机系统具有达到操作系统被完全装入的水平的系统工作存储器,所述方法包括步骤:提供系统工作存储器所期望内容的存储器映像,将存储器映像装入非易失性的可重复编程存储器,并在系统需要引导时,从非易失性的可重复编程存储器将存储器映像装入系统工作存储器,其特征在于,当再装入存储器映像时,装载程序识别与存储器映像部分不兼容的在计算机系统中的改变了的硬件,并且在继续进行存储器映像未受影响部分之前对此改变了的硬件进行初始化。
优选地,本方法包括步骤:加密和压缩存储器映像并将经过加密和压缩的存储器映像装入非易失性的可重复编程存储器,且在再装入时,解压缩和解密被压缩的存储器映像,以使解压缩的存储器映像被装入工作存储器。
优选地,提供系统工作存储器所期望内容的存储器映像的步骤包括提供系统工作存储器的引导后内容、CPU寄存器内容以及其它芯片组设备内容的存储器映像的步骤。
优选地,提供系统工作存储器所期望内容的存储器映像的步骤包括提供下述存储器映像的步骤,所述存储器映像是在计算机系统最近的关闭之前存储在系统工作存储器和其它硬件设备寄存器中的所有数据的映像。
优选地,存储器映像包括来自虚拟存储器或易失页文件的页。
优选地,其包括在操作系统设置过程期间生成存储器映像的步骤。
优选地,其包括更新存储器映像以响应系统配置的显著变化的步骤。
优选地,更新步骤包括归档最近的、已知的、好的存储器映像的步骤。
优选地,非易失性的可重复编程存储器是闪速存储器(flash memory),而本方法包括修改操作系统源代码以支持闪速文件系统(flash file system)和/或闪速转换层(Flash Translation Layer:FTL)。
优选地,其包括修改固件(firmware)或BIOS以从非易失性的可重复编程存储器引导的步骤。
优选地,对于固件要求口令以从存储器映像引导。
优选地,不能提供正确口令会删除任何和所有存储的存储器映像。
优选地,存储器映像是包括所有与登录了的用户相关的存储器内容和系统设置的映像。
可选择地,本发明涉及计算机系统,其包括:
数字处理装置,
用于数字处理装置的工作存储器,
非易失性的可重复编程存储器,其包括系统工作存储器和存储器的其它部分的所期望内容的存储器映像,非易失性的可重复编程存储器能够将存储器映像传送至系统工作存储器以引导计算机系统,其特征为存储器映像包括硬件配置和硬件关联(hardwarecontext)信息。
优选地,在计算机硬件配置对于存储器映像中的有所改变的情况下,与改变了的硬件相关的映像的那些部分不被装入,而在存储器映像的余下部分被处理之前,改变了的硬件被识别并被初始化。
优选地,系统包括包含了存储器映像的至少一个存档复制的磁盘驱动器或其它存储器存储设备。
优选地,存储器映像是现有的工作存储器、CPU寄存器、其它芯片组寄存器和任何临时存储的存储器页的所期望的引导后内容的映像。
优选地,存储器映像是在计算机系统关闭之前存储在工作存储器中的所有数据的映像。
优选地,在计算机系统的操作系统设置过程中,生成存储器映像。
优选地,系统包括包含了存储器映像的至少一个“最近的、已知的、好的(last known good)”的复制的磁盘驱动器或其它存储器存储设备。
优选地,非易失性的可重复编程存储器使用闪速存储器。
可选择地,本发明涉及关闭计算机系统的方法,所述计算机系统包括系统工作存储器,所述方法包括的步骤为:
生成系统工作存储器、硬件配置及关联、CPU寄存器、芯片组寄存器和易失性的页文件存储器的内容的存储器映像,
以压缩的形式将存储器映像装入非易失性的可重复编程存储器,和
关闭计算机系统。
优选地,存储器映像被另外加密。
附图说明
图1是按照本发明用于操作系统驱动的计算机的计算机引导或启动过程的流程图;
图2是按照本发明用于固件驱动的计算机的计算机引导或启动过程的流程图;
图3是按照本发明的关闭过程的流程图;
图4是按照本发明用于固件驱动的计算机的关闭过程的流程图;
图5是压缩的存储器映像文件的内容的图示;
图6是在不同存储器或虚拟存储单元之间调页数据(paging data)中所涉及的交换操作的流程图;
图7是计算机内数据流的图示。
具体实施方式
下面提到的例子涉及本发明的使用以引导个人计算机,同时涉及拥有配置以影响引导计算机的非易失性的可重复编程存储器的个人计算机。然而,本发明也适用于其它数字处理设备,如计算机游戏机、商用机器和电信设备,所述设备要求装入操作系统供使用。
参照图1,说明了按照本发明用于计算机系统的引导或启动过程的流程图。
参照图1描述的方法假定正在进行“冷”或“硬”引导。本领域技术人员应了解本方法也适用于进行“热”或“软”引导的情况。
参照图1,例如在步骤1,用户启动系统电源开关。这对系统应用了电源,且在通常方式下,固件软件启动引导序列。因此在步骤2,启动固件,执行其通常的POST(通电自检)初始化序列,并随即做两件事之一。固件执行:a)在系统的硬盘驱动器寻找操作系统引导装载程序,如发生于现有的引导序列中的;或b)可选择地,固件在计算机系统中提供的非易失性的可重复编程存储器寻找。即使固件起初在硬盘驱动器寻找操作系统引导装载程序,引导装载程序仍指示系统从非易失性的可重复编程存储器中下载存储器映像,如下面进一步将描述的,虽然这可能以用户输入存储在固件中的口令为条件。
非易失性的可重复编程存储器作为集成电路来提供,例如在个人计算机的母板上提供,其对于计算机系统是可访问。可选择地,将其作为PCI附加卡提供以对现有机器改进。也可以用其它方式提供非易失性的可重复编程存储器,只要其满足可被系统访问的要求,从而使其内容能够被系统充分快速地访问以实现本发明的引导方法的价值。
现在转至步骤3,操作系统引导装载程序因此启动引导过程,其或直接来自非易失性的可重复编程存储器的内容或来自系统的硬盘驱动器。
非易失性的可重复编程存储器包括RAM内容的存储器映像,当被装入系统存储器时,其足以能够将计算机系统以可用的状态提供给用户,即引导计算机系统。
根据用户的需要,在非易失性的可重复编程存储器中捕获和提供的存储器映像可以采用多种形式。例如,非易失性的可重复编程存储器可以包括引导后系统工作存储器(即RAM)内容的存储器映像。
例如,另一个选择是以当前存储在RAM中的所有数据的优选的压缩的存储器映像装入非易失性的可重复编程存储器。在优选方式中,此压缩的存储器映像存储自类似于当前ACPI 2.0a规范中的State S4关闭程序的先前的关闭程序。这包括了处于做好了用户使用的准备的状态的计算机系统的计算机和/或操作系统设置,并且优选地提供给用户以使用户重新开始系统的使用,其中,其处于的状况与用户开始关机时相同或基本相同。
标准的ACPI S4关机的细节可以从当前的ACPI规范版本2.0中找到,其可以在统一资源定位地址(URL)http://www.acpi.info得到。
存储器映像可以仅是系统存储器的部分映像。因此,映像可以包括例如涉及操作系统整体的数据,而建立或设立系统工作存储器所必须的信息的其余部分可从如系统硬盘的另一个存储器存储设备装入工作存储器中。在例如由于成本限制,需要限制非易失性的可重复编程存储器的大小的情况下,此方案可能是更优越的,但本发明仍然是值得的,因为执行引导过程所需要的总的时间与已知的引导过程相比仍是大大减少的。
在操作系统的设置过程中,可以最初生成存储器映像,或者每当用户对计算机配置进行重大改变时,可以选择地替换其。同样,每当用户启动关闭序列时,存储器映像可被捕获。这些选择将参考图2进一步讨论。
存储器映像优选地被压缩,从而压缩了的存储器映像(CMI)存储在非易失性的可重复编程存储器中,且当需要时从非易失性的可重复编程存储器中检索。压缩可以节省大量的存储空间,而没有显著增加由本发明提供的减少了的引导时间的解压缩过程。可以使用如在开放源zlib库中可得到的压缩算法。
除了压缩,存储器映像还可以被与硬盘驱动器一样的标准加密,以在携带同样数据的硬盘驱动器被保密的情况下,防止从所述存储器恢复信息的企图。
在图1中,在已确定压缩了的存储器映像存在(步骤6)的情况下,如果有多重文件(例如用于多重用户或不同的操作系统),要求用户在CMI文件中选择(步骤7),且提示以口令(步骤8)。如果提供了不正确的口令(步骤9),可再次尝试登录(步骤11),但如果最终失败(步骤12),计算机删除已压缩的存储器映像(步骤13)和在易失性页文件中的任何数据(硬盘上的临时存储)并关机(步骤15)。这些防范使破坏快速引导系统变得很难。如果CMI被删除,下一次引导将是正常引导(步骤4-5,36-39)。
当提供了口令并且其正确,引导装载程序检查硬件中对于压缩存储器映像中的任何明显变化(步骤17)。如果没有,位于非易失性的可重复编程存储器中的CMI被解压缩,且计算机系统设置和所有存储器内容从解压缩的CMI装入RAM(步骤21),因而提供了所有的应用、服务和设备驱动。
然后,从以前的存储的状态,操作系统接管,清除易失页文件(步骤23)并检查在可带电插拔硬件配置中的任何变化。如果其发现任何变化,其将修改标志设置为FALSE(步骤25),使得在停机时制作新的映像。
现在更快的引导过程就已完成了。
如果在硬件检查时发现改变了的硬件配置(步骤17),引导装载程序清除所有的临时数据而处理存储器映像至硬件的改变需要维护的点(步骤30)。随即,装入任何改变了的设备驱动(步骤31),且然后继续存储器映像的解压缩和装入,越过不适用的部分(步骤32)。这样,如以前一样,OS实例化(instantiate)且PC完全引导,然而要设置修改标志以便在关机时保存新的存储器映像。
因为存储器内容从非易失性的可重复编程存储器很快地装入RAM中,而不是自系统硬盘搜索并传送,引导过程所需要的时间大大减少了。
在引导使用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引导文件和设备驱动被加至非易失性的可重复编程存储器,而第三方启动程序物理上移至硬盘驱动器的起始。
在使用Windows操作系统的另一个例子中,固件从非易失性的可重复编程存储器引导,并将存储器映像装入并解压缩至RAM中。在存储器映像在RAM中之后,从硬盘驱动器的起始生成或装入较小的环境变化。这些包括(但不限于)以下内容:
应用程序安装
非临界(non-critical)的启动应用程序
注册表储备
页文件(虚拟存储器)
对于运行Microsoft Windows操作系统的典型个人计算机的物理修改与上述例子中所提到的类似,然而用户定制的压缩的Windows存储器映像在Windows设置过程中生成,并存储于非易失性的可重复编程存储器。在硬盘驱动器的开始存储更多的定制的设置。
图2显示了用于下述计算机的可选择的序列,所述计算机使用检查部件变化的固件。此序列与图1的不同,只因为ZBIOS执行硬件配置检查而不是使用提供检查的操作系统。
现转至图3,按照本发明的计算机的关闭过程以图表来说明。过程在步骤1以用户从操作系统中选择关闭命令而开始。作为关闭过程的部分,操作系统随即在步骤3检查修改标志。修改标志是每当对计算机配置进行显著改变时由操作系统设置的一个标志。显著的改变可包括(非限制)以下内容:
a)新应用程序安装
i)当操作系统引导时需要装入部件的应用程序安装
b)对于注册表储备的改变
c)设备驱动升级
d)服务组件(service pack)/热修复(hotfix)安装
e)服务修改
f)用户环境定制:
(i)桌面
(ii)墙纸
(iii)主题(themes)
(iv)声音
(v)图标
(vi)颜色方案
因此,对自引导的每个新的用户对话期(session),修改标志设为假(false)。然后,当发生显著变化时,例如如上文列出的变化,标志设为真(true)。为说明,上文提供的显著变化的列表不是排他性的。而且,用户可以希望从上面提供的列表中排除一些动作。
回到图3,如步骤5所示,如果修改标志是假,如步骤14所示,由于在这一区域内没发生改变,则操作系统关闭所有的打开的文件、设备和服务但不保存任何系统配置数据。随即,在步骤15,操作系统继续其正常的关闭过程,如当前在ACPI 2.0a规范中实施为State S5关闭(State S5Shutdown)。随后,计算机处于的状态是自关闭或重引导。
如图3中的步骤4所示,如果修改标志是真,则“最近的、已知的、良好的”(LKG)的压缩存储器映像存档至合适的存储装置,如系统的本地硬盘驱动器。其发生于步骤6。
然后,在步骤7,用来最近引导系统的、活跃状态的CMI此时被用作LKG CMI。
随即,以步骤8开始,操作系统启动修改了的关闭程序。
在步骤8,生成新密钥并将其存储于新的CMI中。在此之后在步骤9,当前的硬件信息被写入新文件,然后在步骤10,当前存储在RAM中的所有数据使用合适的压缩算法而被压缩和加密并存储。接下来,在步骤11,易失页文件中的任何调页数据(paging data)被装入新CMI文件的调页数据子部分,然后在步骤12,装入当前硬件关联。在步骤13,装入过程随即完成,非易失性RAM中的最终文件被标记为新的活跃的CMI。如上面参考步骤15所述,操作系统随即完成修改了的关闭过程。
从图3所示的方法可以看到,可以用来引导系统的压缩的存储器映像的存档被保留。在此方式中,如果用户进行了对机器的操作是有害的、即非期望的、显著的改变,或者如果系统崩溃,用户始终有至少一个压缩的存储器映像,从所述压缩的存储器映像计算机可以被重引导。
图4显示了类似的关闭序列,但这一次是对固件控制的计算机,其中,修改了的关闭程序的开始和最后部分是在固件的控制之下。
图5显示了通常的压缩的存储器映像(CMI)文件的布局,其中首先存储密钥和验证信息,随后是硬件配置信息,然后是RAM内容、来自虚拟存储文件的调页数据(或易失性页内容),最后是当前硬件的硬件关联。如果自上次关闭以来没有对其配置进行改变,压缩和加密信息的再装入足以使计算机返回完全工作状态。
图7显示了与调页文件(易失性页文件或虚拟存储文件)的存储相关的三个操作,其中,其可已存储在压缩了的存储器映像中。第一次时系统请求一页(步骤1),所述页应在易失性页文件中,在步骤2,输出至RAM之前,其自CMI调页数据被检索、解压缩和解密。在步骤3和4,如果所述页在RAM中达到一定期限,因为必须存储具有更高优先级的页,其会被换出至易失性页文件。随后,如步骤5和6所示,如同在正常的操作中一样,系统再次请求存储页,其将从易失性页文件中被换入。
现转至图7,显示了按照本发明的计算机系统的一个例子的基本的处理器和存储器部件。对于那些本发明相关领域的技术人员,用于存储器设备的其它装置和通信路径是可能的。系统有一个中央处理单元(CPU)701,其中设置有一控制单元702。以随机访问存储器(RAM)403形式提供了工作存储器,其为非易失性的可重复编程存储器704。数据总线705允许数据在控制单元702的控制下,通过地址数据控制总线706,在RAM 703和CPU 701之间交换。类似地,数据总线707允许数据在控制单元402的控制下,通过地址数据控制总线708,在非易失性的可重复编程存储器703和CPU之间交换。因此总线707允许包含所有存储器内容的RAM中的信息传送至非易失性的可重复编程存储器704。总线705和707可以包含系统总线。此外,RAM 703的内容可以被压缩,由此,压缩了的映像可以通过总线707被传输以存储在非易失性的可重复编程存储器704中。然后,当需要时,存储在非易失性的可重复编程存储器704中的存储器映像可以被直接传输至RAM 703或可以先被压缩然后装在RAM 703中。
非易失性的可重复编程存储器704有其优势,其本质上是非易失性的固态设备,因此当电源从计算机系统移去时,非易失性的可重复编程存储器的内容被保持。然而,本领域技术人员应可理解,本文件中提及的非易失性的可重复编程存储器包括闪速RAM的使用,所述闪速RAM即为需要诸如电池的外部源以维持存储器内容的非易失性的可重复编程存储器的形式。
按照本发明的非易失性的可重复编程存储器设备可以提供为例如系统母板上的集成电路,或在分立的板或卡上。特别是,如果需要,非易失性的可重复编程存储器可以提供在如那些被提及的商标为SmartMedia或CompactFlash的卡上。
一些当前可用的非易失性的可重复编程存储器产品具有比硬盘驱动器快的装载时间数量级,因此可以看到,按照本发明的方法和系统在引导时间方面与现有技术的系统相比提供了明显的优势。
其它类型的非易失性存储器和固态盘可以与闪速存储器一起使用或代替闪速存储器,如磁性RAM(MRAM),在读和写两个操作中其拥有比闪速存储器快了指数级的传输速度。MRAM有望在2005年大批量生产。
优选地,对所期望操作系统的设置应用程序额外地生成压缩的存储器映像(CMI),其包括当前存储在RAM中的所有数据的压缩映像,如当前在ACPI 2.0a规范中实施为State S4系统关联文件。此文件存储在非易失性的可重复编程存储器中,但设置应用程序不关闭计算机,如在当前ACPI 2.0a规范中State S4系统关联文件的生成的情况一样,相反,其允许程序化的关闭程序。
优选地,修改操作系统源代码以通过闪速转换层(FTL)内部支持闪速文件系统(FFS),如Intel自己的FTL规范(http://www.intel.com/design/flcomp/applnots/297816.htm)。
方便地,压缩的存储器映像(CMI)具有由之前的关闭程序产生的当前存储在RAM中的所有数据的压缩版本,与在当前ACPI2.0a规范中的State S4关闭程序类似。
在大部分优选实施方式中,将之前的CMI存档至安装的和非易失性的可重复编程存储器以作为“最近的、已知的、良好的”的CMI使用。
在本文件中提及的计算机系统通常包括数字数据处理系统。
贯穿本说明书的描述和权利要求,词语“包括(comprise)”及其变化如“comprises”和“comprising”不意味着排除其它的添加物、部件、完整物或步骤。
工业适用性
本发明提供了一种方法,所述方法允许计算机比标准硬盘引导快很多地引导,即使自最近的良好的引导以来计算机配置有所变化,因此减少了在浪费的用户时间方面的消耗水平,所述浪费的用户时间是用于等待计算机装入软件至用户能在其上执行有用的工作的指定位置其上。此外,本发明提供用于以安全的方式执行上述操作。

Claims (23)

1.一种用于引导计算机系统的方法,所述计算机系统具有达到操作系统被完全装入的水平的系统工作存储器,其包括的步骤为:
提供所述系统工作存储器的所期望内容的存储器映像,
将所述存储器映像装入非易失性的可重复编程存储器,和
在系统被要求引导时,将所述存储器映像从所述非易失性的可重复编程存储器装入所述系统工作存储器中,
其特征在于,再装入所述存储器映像时,所述装载程序识别在所述计算机系统中的与所述存储器映像的部分不兼容的变化了的硬件,并且在继续进行所述存储器映像的未受影响部分之前对此改变了的硬件进行初始化。
2.如权利要求1所述的方法,其特征在于其包括如下步骤:加密和压缩所述存储器映像并将所述加密的、压缩的存储器映像装入所述非易失性的可重复编程存储器,且再装入时,解压缩和解密所述压缩了的存储器映像,使得所述解压缩的存储器映像被装入所述工作存储器。
3.如权利要求1所述的方法,其特征在于,提供所述系统工作存储器的所期望内容的存储器映像的所述步骤包括:提供所述系统工作存储器的引导后内容、CPU寄存器的内容和其它芯片组设备的内容的存储器映像的步骤。
4.如权利要求1所述的引导计算机系统的方法,其特征在于,提供所述系统工作存储器的所期望内容的存储器映像的所述步骤包括提供下述的存储器映像的步骤,所述存储器映像为在所述计算机系统最近的关闭之前存储在所述系统工作存储器和其它硬件设备寄存器中的所有数据的映像。
5.如权利要求4所述的引导计算机系统的方法,其特征在于所述存储器映像包括来自易失性页文件或虚拟存储器的页。
6.如权利要求1所述的方法,其特征在于其包括在所述操作系统的设置过程期间生成所述存储器映像的步骤。
7.如权利要求1所述的方法,其特征在于其包括更新所述存储器映像以响应所述系统配置的显著变化的步骤。
8.如权利要求7所述的方法,其特征在于所述更新步骤包括将所述最近的、已知的、良好的存储器映像存档的步骤。
9.如权利要求1所述的方法,其特征在于,所述非易失性的可重复编程存储器是闪速存储器且所述方法包括修改所述操作系统源代码以支持闪速文件系统和/或闪速转换层(FTL)的步骤。
10.如权利要求1所述的方法,其特征在于其包括修改固件以从所述非易失性的可重复编程存储器引导的步骤。
11.如权利要求10所述的方法,其特征在于对于所述固件要求口令以从所述存储器映像引导。
12.如权利要求11所述的方法,其中未能提供正确口令会删除任何和所有存储的存储器映像。
13.如权利要求1所述的方法,其特征在于所述存储器映像是包括与登录了的用户相关的所有系统设置和存储器内容的映像。
14.一种计算机系统,其包括:
数字处理装置,
用于所述数字处理装置的工作存储器,
非易失性的可重复编程存储器,其包括所述系统工作存储器和其它存储器部分的所期望内容的存储器映像,所述非易失性的可重复编程存储器能够将所述存储器映像传送至所述系统工作存储器以引导所述计算机系统,其特征在于所述存储器映像包括硬件配置和硬件关联信息。
15.如权利要求14所述的计算机系统,其特征在于,在所述计算机硬件配置对于所述存储器映像中的有所改变的情况下,与变化了的硬件相关的所述映像的那些部分不被装入,且在处理所述存储器映像的余下部分之前,所述变化了的硬件被识别和初始化。
16.如权利要求14所述的计算机系统,其特征在于所述系统包括包含了所述存储器映像的至少一个存档复制的磁盘驱动器或其它存储器存储设备。
17.如权利要求14所述的计算机系统,其特征在于所述存储器映像是所述现有工作存储器、所述CPU寄存器、其它芯片组寄存器和任何临时存储的存储器页的所期望的引导后内容的映像。
18.如权利要求14所述的计算机系统,其特征在于所述存储器映像是在所述计算机系统关闭之前存储在所述工作存储器中的所有数据的映像。
19.如权利要求14所述的计算机系统,其特征在于所述存储器映像在所述计算机系统的操作系统的设置过程中生成。
20.如权利要求14所述的计算机系统,其特征在于所述系统包括包含了所述存储器映像的至少一个“最近的、已知的、良好的”的复制的磁盘驱动器或其它存储器存储设备
21.如权利要求14所述的计算机系统,其特征在于所述非易失性的可重复编程存储器使用闪速存储器。
22.一种用于关闭计算机系统的方法,所述计算机系统具有系统工作存储器,所述方法包括的步骤为
生成所述系统工作存储器、所述硬件配置及关联、CPU寄存器、芯片组寄存器和易失性页文件存储器的内容的存储器映像,
将所述存储器映像以压缩的形式装入非易失性的可重复编程存储器中,和
关闭所述计算机系统。
23.如权利要求22所述的方法,其中所述存储器映像被另外加密。
CNB2004800433515A 2004-06-15 2004-06-15 用于引导计算机系统的方法和装置 Expired - Fee Related CN100489768C (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NZ2004/000122 WO2005124540A1 (en) 2004-06-15 2004-06-15 Method and apparatus for booting a computer system

Publications (2)

Publication Number Publication Date
CN1997961A true CN1997961A (zh) 2007-07-11
CN100489768C CN100489768C (zh) 2009-05-20

Family

ID=35509886

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800433515A Expired - Fee Related CN100489768C (zh) 2004-06-15 2004-06-15 用于引导计算机系统的方法和装置

Country Status (5)

Country Link
EP (1) EP1759284A4 (zh)
JP (1) JP2008502988A (zh)
CN (1) CN100489768C (zh)
IL (1) IL179954A0 (zh)
WO (1) WO2005124540A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104094239A (zh) * 2012-01-29 2014-10-08 汤姆逊许可公司 有限随机存取存储器/闪存设备架构的闪存压缩指令缓存方法
CN104272250A (zh) * 2012-04-30 2015-01-07 惠普发展公司,有限责任合伙企业 可配置的计算机存储器
CN113569277A (zh) * 2021-06-25 2021-10-29 北京鼎普科技股份有限公司 安全文件数据检查的方法、装置和电子设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560760B2 (en) * 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
JP5494134B2 (ja) * 2010-03-31 2014-05-14 株式会社リコー 制御装置及び制御方法
JP5773773B2 (ja) * 2011-06-22 2015-09-02 キヤノン株式会社 画像形成装置、画像形成装置の起動制御方法、プログラム及び記憶媒体
KR101987144B1 (ko) 2012-10-10 2019-06-11 삼성전자주식회사 운영 체제 프로그램을 저장하는 메인 메모리 시스템 및 이를 포함하는 컴퓨터 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6379120A (ja) * 1986-09-22 1988-04-09 Nec Corp クイツク・スタ−ト・アツプ方式
JP3102455B2 (ja) * 1993-07-26 2000-10-23 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報処理システム
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 (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 起動制御方法、起動制御装置、画像処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104094239A (zh) * 2012-01-29 2014-10-08 汤姆逊许可公司 有限随机存取存储器/闪存设备架构的闪存压缩指令缓存方法
CN104272250A (zh) * 2012-04-30 2015-01-07 惠普发展公司,有限责任合伙企业 可配置的计算机存储器
US10339051B2 (en) 2012-04-30 2019-07-02 Hewlett Packard Enterprise Development Lp Configurable computer memory
US11615021B2 (en) 2012-04-30 2023-03-28 Hewlett Packard Enterprise Development Lp Configurable computer memory
US11954029B2 (en) 2012-04-30 2024-04-09 Hewlett Packard Enterprise Development Lp Configurable computer memory
CN113569277A (zh) * 2021-06-25 2021-10-29 北京鼎普科技股份有限公司 安全文件数据检查的方法、装置和电子设备
CN113569277B (zh) * 2021-06-25 2024-01-26 北京鼎普科技股份有限公司 安全文件数据检查的方法、装置和电子设备

Also Published As

Publication number Publication date
WO2005124540A1 (en) 2005-12-29
IL179954A0 (en) 2007-05-15
EP1759284A1 (en) 2007-03-07
CN100489768C (zh) 2009-05-20
JP2008502988A (ja) 2008-01-31
EP1759284A4 (en) 2007-07-25

Similar Documents

Publication Publication Date Title
US7313684B2 (en) Method and apparatus for booting a computer system
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
EP2005295B1 (en) Direct boot arrangement using a nand flash memory
US8086839B2 (en) Authentication for resume boot path
EP1634170B1 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US20140115316A1 (en) Boot loading of secure operating system from external device
US20080059785A1 (en) Method and apparatus for shutting down a computer system
US20070112899A1 (en) Method and apparatus for fast boot of an operating system
CN102193817B (zh) 简化物理和虚拟部署的管理
CN102081534A (zh) 自动模块化且安全的引导固件更新
CN105144185A (zh) 验证控制器代码和系统启动代码
CN103493011A (zh) 与库操作系统的应用兼容性
CN105122259A (zh) 从非易失性存储器检索系统引导代码
CN102439557A (zh) 混合存储设备
CN100580627C (zh) 启动计算机系统的方法和设备
TW200419447A (en) Decoupled hardware configuration manager
US11436367B2 (en) Pre-operating system environment-based sanitization of storage devices
US8510501B2 (en) Write-protection system and method thereof
US8464015B2 (en) Arithmetic processing device and data erasing method
CN100489768C (zh) 用于引导计算机系统的方法和装置
US20200250107A1 (en) Systems and methods for safely detecting indeterminate states of ranges in a self-encrypting storage resource
KR19990079740A (ko) 부팅 시퀀스를 이용한 피씨 보안 유지 방법
NZ533549A (en) Method and apparatus for booting a computer system
KR20070041515A (ko) 컴퓨터 시스템을 부팅하기 위한 방법 및 장치

Legal Events

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