用于快速改变数据处理系统的功率状态的方法和设备的制作方法

文档序号:6466325阅读:172来源:国知局

专利名称::用于快速改变数据处理系统的功率状态的方法和设备的制作方法用于快il^数据处理系统的功^态的方法^i更备絲领域^/>开-^殳涉及数据处理领域,特别是涉及用于'fci将处理系统从睡眠状态恢复的方法和相关设备。背景絲高細己置和电源接口(ACPI)是一开放的工业规范,它描述用于对处理系统例如膝上计^4几,台式才7l^服务器计算才Aii行配置和功率管理的工业-标准接口。日期为2004年9月2日的ACPI规范的^i丁版3.0可以从www.acpi.info/spec.html上获得。ACPI少见范描述了各种睡目M夫态以及全局功率状态。然而,本发明不限于符合ACPI的系统,而是可有利地用于^f可适当的处理系统中。对4^Hf来说,处理系统可以处于四种功率状态之一活动状态,加电的睡目M犬态,不加电的睡眠狀态或断开状态。睡目M犬态也可以称为睡目財莫式。在断开状态,系统断电,且系统不包括用于从早先的活动状态'ltt处理的系统上下文。/人断电状态转变(transition)到活动状态,启动固件必须初始^^更件并启动OS。在活动状态,系统分派并^Vf亍^^呈。通常,受可归因于例如处理系统的有效负荷和性能限制等因素的延迟影响,系Mj^上实时响应夕卜部^f牛。然而,系统的^ft性能和功率特性可以在活动状态范围内动态地调整。例如,当处理系统处于活动状态时系统内的*装置的功率状态可动态地改变。活动状态也可以称为活动一莫式。对^^开来说,当处理系统处于睡目W大态时,该处理系统不扭j亍用户才莫式线程,而且与处于活动状态相比系统消耗4交少功率。系统可能出现断开状态,因为各种外围设备或指示器(例如,显示器,某些发it^及管(LED),等)可被断电。在一些情况下,处理系统可以不消耗功率或在睡B眺态中基本上不消耗功率。特别地,当处理系统处于加电睡B緣态时,向处理系统的随^u4^ft器(RAM)提供功率,以便防止数据丟失。但是,可以不向处理器和/或其它组件(component)R供功率。相反,当处理系统处于非加电睡眠状态时,不向处理系统的RAM提供功率。因此,当从活动状态向非加电睡眠状态转变时,处理系统可以使用硬盘驱动器来保存与活动状态中执行的处理有关的数据(即,保存系统上下文)。对于本公开,非加电睡眠状态也可以称为休眠状态或休目財莫式。通常,与从断电状态开始转变相比,处理系统可以更十fet的从睡眠状态转变成活动状态。例如,在一些实施例中,处理系统可以从睡眠状态转变到活动状态而不必重新启动才喿怍系统(OS)。恢:1A从睡眠状态转变到活动的状态。通常处理系统可能花费60秒以上来'fel。例如,具有3.4千兆字节的随一;t4ip^^诸器(RAM)的处理系统可負fe^花费大约150秒来从睡目財莫式转变到活动模式。该时间的大部分可能用于将系统上下文/A^更盘驱动器恢复到RAM。随着平均处理系统中的,器量的增加,恢复平均处理系统所需的时间*#尤可能也会增力口。如果一个人希望佳月处理系统,对于这个A^说等待处理系统恢复通常既没有趣,又没有产能。本发明认识到,减少恢复处理系统所需的时间量是有利的。
发明内容根据本发明的第一方面,提供了一种用于在数据处理系统中^^]闪存来才對^兹盘务賭器的方法,所述方法包4舌由数据处理系统的平台软件对数据处理系统的#^系统(OS)读取所述数据处理系统的磁盘驱动器的存储位置的尝试进行拉截;响应对OS读取^兹盘驱动器的尝试的拦截,自动地确定用于所述读取的^f诸位置是否对应于为功率状态转变数^f呆留的磁盘区域;以及响应确定所述存储位置对应于为功率状态转变数据保留的所述磁盘区域,自动从数据处理系统的闪存而不是磁盘驱动器读Wt据,并且作为对OS读取所述磁盘驱动器的尝试的响应,将所述数据/A^斤述平台软件传递到所述OS。冲艮据本发明的第二方面,提供了一种数据处理系统,包括处理器;对所舰理H^出响应的随才/u4^H^器(RAM);对所i^h理l^t出响应的闪存;对所皿理||#出响应的石兹盘驱动器;才辦系统(OS),从RAM执行;以及平台软件,从RAM执行,所述平台软件执行的才辦包拾M所述OS读取^f述磁盘驱动器的^^诸位置的尝试;响应对所述OS读取所述磁盘驱动器的尝试的拦截,自动地确定用于所述读取的^#位置是否对应于为功率状态转变数寺刷呆留的磁盘区域;以及响应确定所述^f诸位置对应于为功率状态转变数拾床留的所述磁盘区域,自动;4A^斤述闪存而不是所述磁盘驱动器读取数据,以及作为对所述OS读取所述磁盘驱动器的尝试的响应,将所述数据传递到所述OS。才艮据本发明的第三方面,提供了一种设备,包括机器可访问介质;以及所述机器可访问介质中的平台软件,所述平台软件包括指令,所述指令在由具有磁盘驱动器和闪存的数据处理系统中的处理H^行时,进行的才辨包括对#辦系统(OS)读取所述磁盘马区动器的^t位置的尝试进行^l;响应对所述OS读取所述磁盘驱动器的尝试的拦截,自动地/角定用于所述读取的^H诸位置是否对应于为功率状态转变数^f呆留的磁盘区域;以及响应确定所述##位置对应于为功率状态转变数拾沐留的所述磁盘区域,自动地从所述闪存而不是所述磁盘驱动器读取数据,以及作为对所述OS读取所述磁盘驱动器的尝试的响应,将所述数据传递到所述OS。才財居本发明的第四方面,提供了一种数据处理系统,包括处理器;对所皿理l^t出响应的随才;L4:^Ht器(ram);对所i^h理^ft出响应的闪存;对所述处理器作出响应的^兹盘驱动器;才辨系统(os),从ram执4t;以及虚扣对几监控器(vmm),从ram才W亍,vmm才;M亍的操作包括管S^户虚扣对几(vm)来为所述os提供^ft环嫂;在将所述数据处理系统从非活动(inactive)才莫式转变到活动才莫式的过程中,对所述os读取所述磁盘驱动器的存储位置的尝试进行拦截;p向应对所述os读取所述》兹盘驱动器的尝试的拦截,自动地确定用于所述读取的^f诸位置是否对应于为功率状态转变数t别呆留的磁盘区域;以及响应确定所述^#位置对应于为功率状态转变数才刷呆留的所述磁盘区域,自动^A;斤述闪存而不是所述磁盘驱动器读取数据,以及作为对所述os读取所述磁盘驱动器的尝试的响应,将所述数据传递到客户vm中的所述os。根据所附的权利要求书、一个或多个示例实施例的以下详细描述以及对应的附图,本发明的特^財口优点将变得显而易见,其中图1^^匡图,描述示例的数据处理环境;图2描述了说明用于快速'fel数据处理系统的各种操作的示例时间线(timeline)。图3是框图,描述可用于支持处理系统的快速功率状态转变的^ft数据构造;图4、5和6是描述用于支持快速功率状态4争变的示例it禾呈的各个方面的流程图7是描述具有备选的软件配置的根据图1的数据处理系统的框图;图8描述了说明在fct恢复数据处理系统的备选过程中的树才辨的示例的时间线;图9是描述具有另一备选的软件配置的根据图1的数据处理系统的框图;以及图10描述了说明在fet'fel数据处理系统的另一个备选过程中的^t才乘作的示例的时间线。图1是描述示例的数据处理环境12的框图。数据处理环凌12包括^i也数据处理系统20,该系统包括^t硬件组件80和软件组件82。硬件组件可包括例如^it信上经由一条或多条系统总线24或其它的通信^f至或介质耦合到各种其它组件的一个或多个处理器或中央处理器(CPU)22。如本文所使用的,术语"总线"包括可以由两个以上装置共享的通信路径,如点到点樹圣。CPU22可以包括两个或更多处理单元,例如处理单元21和处理单元23。作为名^选的方案,处理系统可包括具有一个处理单元的CPU或多个处理器,M有至少一个处理单元。处理单元可^皮实现为处理核心,超线程(HT)技术,或者用于同时或14Ui同时地执行多个线程的任何其它合适的技术。如本文中^j]的,术语"处理系统"和"数据处理系统"旨在广XJi包括单个机器,或者^it信J^給的机器或^^工作的装置的系统。示例处理系统包括^^限于,分布式计算系统,巨型计算机,高性能计算系统,计算群集(computingcluster),大型计算机,微型计算机,客户-服务器系统,个人计算机(PC),工作站,服务器,便携式计算机,膝上型计算机,平板电脑(tabletcomputer),个人数字助理(PDA),电话,手持装置,娱乐装置例如"tM和/或视频装置,以及其它用于处理或者发送信息的装置。处理系统20可以至少部分iM过来自例如键盘、如鼠标的指示设M的传统输入装置的输A^L控制。处理系统20也可以响应从其它处理系统或者其它输入源或信号接收的指4^(directive)。处理系统20可以利用对一个或多个远程数据处理系统70的一个或多个连接,例如通过网络接口控制器(NIC)32,调制解调器或者其它通信端口或i^器(coupling)。处理系统可经由物理和/或逻辑网络72,例如局域网(LAN),广域网(WAN),内联网,因特网,等相互连接。涉及网络72的通4tT以利用各种有线的和/或无线的近程或者远程的载^(carrier)和协议,包括射频(RF),卫星,微波。电气和电子工程师学会(正EE)802.11,802.16,802.20,蓝牙,光学,红外线,电缆,^Lit等。用于802.11的协议也可以称为无线逼真度(WiFi)协议。用于802.16的协议也可以称为WiMAX或者无线i勤或网协议。有关WiMAX协"i义的信息当1tT在grouper.ieee.org/groups/802/16/published.html上得到。在处理系统20中,处理器22可在通信J^^^到一个或多个易失性数据賴装置,例如随一聘M储器(R_AM)26,以及一个或多个非易失性数据^^者装置。在该示例实施例中,非易失性数据,装置包括闪存27和硬盘驱动器28。在备选实施例中,多种非易失'^^ft装置和/或多种;腫驱动器可用于非易失'^^^者器。适合的非易失'^^诸装置和/或介质可包括但不限于,电子集^m动器(IDE)和小型计算机系统接口(SCSI)硬盘驱动器,^储器,磁带,软盘,只读存储器(ROM),记忆棒,数字^f见频光盘(DVD),生物^fit器,聚^/^i者器等。如本文中^^的,术语"非易失l^fi者器"指磁盘驱动器,闪存,以及能在处理系统断电时保持(retain)数悟的^f可其它的存储组件。更^^地说,术语"非易失'^^#器"指不^^]旋转介质(rotatingmediay旦是仍能在处理器断电时保持数据的,装置(例如闪存)。术语"闪存"和"ROM"在本文中用于在广义上指非易失性存储装置,例如可擦可编程序只读务賭器(EPROM),电可擦可编程序只读务賭器(EEPROM),闪存ROM等。处理器22也可^it信Ji^^到附加组件,例如NIC32,祸JM控制器,IDE控制器,SCSI控制器,通用串行总线(USB)控制器,输A/输出(I/O)端口,输X^置(例如4纽,鼠标,相机等),输出装置(例如,显示器)等。处理系统20也可以包括具有一个或多个桥接H(bridge)或集线器(hub)的芯片组34,例如控制器集线器,1/0控制器集线器,PCI才W(rootbridge)等,用于^it信J^給系乡^i且件。如NIC32的某些组件,例如,可被实现为具有用于与总线通信的接口(例如PCI连接器)的适酉己器^i牛(adaptercard)。作为备选的方案,MC32和/或其它设备可以被实现为^/v式控制器,例如可编程或者不可编程逻辑器件或阵列,专用集成电路(ASIC),^AiC计^^几,智能卡等组件。本文中参考或者结^H列如指令、功能、过程、数据结构、应用禾踏、配置i纹等数据来描ii^发明。当所述数据被机器访问时,机器可以通过执行任务、定义抽象数据类型或者底层的硬件上下文和/或执行其它操作来响应,这在下面进行更详细的描述。数据可以,在易失性和/或非易失性数据,器中。如本文中使用的,术语"程序"涵盖了广义范围的软件组件和构造,包括应用程序,框,驱动器,例程,子程序,方法,过程以及其它类型软件组件。同时,术语"程序"可用于指完整的编译单元(即一组能被独立编译的指令),编译单元集^(collection),或者编译单元的"~^分。因此,术语"程序"可以用于指指令的任何集合,所述指令的任何集合在被处理系统执行时,完成一个预期才M或者多个才^t。处理系统20中的程序可以被认为是软件环境84的组件,例如,数据存储装置28和/或闪存27可包括各种指令集合,所述指令集合在被执行时完成M^f乍。这样的指令集^t常可以被称为软件。如图l中所示,在本示例实施例中,程序或者软件组件82可包括系统固件40和OS50。系统固件40也可以称为J^4lT入/输出系统(BIOS)40。系统固件40可以包括一个或多个例程,例如启动固件48,用于管理启动过程。系统固件40还可以包括在OS启动编码被调用^^执行的指令。例如,系统固件40可包括用于为OS提供运行时服务的代码。用于^是4^运行时月良务的^i马以及系统固件40的其它部分,一般以低于OS的逻辑Mi^f3刺乍。例如,系统固件40内的框例如恢复管理器42可以用作OS和硬件之间的中^"(intermediaiy)。系统固件40和操怍系统50可包括各自的功率状态转变管理例程42和52,用于^狄理系统20能够^^亍例如fel从睡目眺态'fcl到活动状态的操作。功率状态转变管理例程42和52还可以简称为恢复管理例程或者'fel管理器。图2描述示例时间线,说明了用于快速恢复数据处理系统的^ft操作。还参照图1,图2的时间线可以从处理系统20处于活动状态的时间t0开始。在时间tl,OS50可确定处理系统20应转变到睡目財莫式。可以响应例々,定的非活动周期、用户输Ai4择睡目財莫式等^f牛^ii行这样的确定。在时间t2,OS50将当前系统上下文^#到非易失'^1器中并且创建^4在非易失'^4^器中并用于^的'fci恢复处理系统20的才辨的恢复描述符。如下面更详细描述的,系统环境可以j絲在两个或更多部分中,而EI智4法W4t^T4斗OC《fVt智力l、T显玄々右,nFtvW击151^"士fr,1*智也可包括'fel管理器42在'fel处理系统20时使用的数据。例如,OS50可采用标识'ltt过程中的不同阶段的不同内容集合的数据来填充(populate)所述恢复描述符。那些阶l殳可以包4舌用于^5^于在时间tl活动的过程的子集来恢复系统上下文的第一阶段,以及用于对在时间tl活动的其余过程来恢复系统上下文的第二阶段(或者多个二M(secondary)阶段)。图3^_框图,描述各种数据构造,所述数据构it,用于支持处理系统的'fei功率状态转变。具体地说,图3描述处理系统20的硬盘28,具有包含(例如系统环境)用于恢复处理系统20的婆:据的多个分区(例如分区pl和p2)。该内容可以被称为恢复(resume)文件98,或者被称为睡目R(sleep)文件或者休目R(hibemate)文件。在一个示例实施例中,'t^l文件98包括第一阶段内容94和笫二阶段内容96,这些内容在处理系统20的功率状态转变期间,分别在连续的第一和第二阶對。载步骤中;l^。载。如下面更详细描述的,在另一个实施例中,第一阶段内^f口笫二阶段内容可^^者在不同的^#装置中。然而,为了简洁M,本文中^^]的术语"恢复文件"包括用于从睡目M夫态恢复的恢复数据的^f可集合,即i^更集合的所有部分不驻留在同一个的物理文件中,或甚至不驻留在同一个,装置中。硬盘28也可以包括分区表46,该表具有指向例如pl,p2等分区的指针以及其它数据。图3还描述驻留在闪存27中的系统固件40,其中恢复描述符92以及其它固件变量90(例如标识用于用户接口的语言的固件变量,指定主和辅启动设备的固件变量等)作为固件变量4錄在闪存中。在一些实施例中,处理系统20的系统固件遵循日期为2003年11月26日的可扩展固件4妄口(EFI)规范1.10版本(以下称为"EFI规范")。EF1规范可以从www.intel.com/technology/efi获得。在这样的实施例中,恢复描述符92可能勒以于例如EFI配錄等固件构造。在一些实施例中,恢复描述符的结构由系统固件预先定义。在其它的实施例中,OS使用系统固件来创建恢复描述符。除固件变量^卜,其它数据可肯^ft在闪存27中,例如用于系统固件40的^fV马图像44。在备选的实施例中,恢复描述符可^##在<封可适合的预定非易失性位置(例如,在石嫂驱动器的系统分区上驻留的文件中)。同样,根据本发明,'fel描述符不限于本文中说明的特定结构,而是在备选实施例中可以使用j转在^f可适合的非易失'^^#装置或者多个装置中的任何适合的数据结构或者数据结构的组合。备选实施例也可以使用单个数据结构^4^(hold)'fel描述符和第一阶段内容两者。5U^回在图2所示的时间线,在该示例实施例中,在已经创建恢复描述符92^,OS5(H狄理系统20在时间t3刷新(flush)RAM26,以便确保当前上下文^^£确#^。然后,在时间t4,OS50部分地或者完全^M夸处理系统20断电。从而,在时间t4,处理系统20ii/v睡目W犬态。然后^/人/U少到几个月或者几年的不确定的时间段中,处理系统20可以停留在睡S^犬态中。在时间t5,处理系统20例如响应用户按下处理系统20的功率^4丑^^企测开始事件。然后,至少部分M^于OS5(H^4在恢复描述符92中的信息,恢复管理器42获i^retrieve)')^l描述符92并确定如何响应开始事件。例如,恢复描述符92可包括指示系统固件40跳过一个或多个指定装置的初始化的数据,以便仅仅初始化RAM26的特定部分等。恢复描述符92中指示哪些恢复操作应该由OS执行的数据可以被称为恢复描述符信号交换(handshake)。在^Mt实施例中,恢复描述务(言号交换可以分@踏OS不必在^M亍第一阶對。载之前执行的任何操怍或者操怍的组合。恢复管理器42然后可按照'fcl描述符92中的数据来初始化处理系统20,而且^系统固件40可将控制^^多交给OS50启动4V马。处理系统20可以因jltif^l(abbreviate)固件-控制的初始化过程,以便执行到OS上下文的'tfel返回。初始化操怍可以经由通过预定管it(conduit)、例如固件变量或者某个其它通信路径传送的信号交换或者契约(contract)来/人系统固件40卸载到OS50。在时间t6,OS50可以获取'fel描述符92并且开始用于4前的有效状态恢复一些上下文的第一阶IW口载过程。在该示例实施例中,在笫一阶段加载过程中,OS50将第一阶段内容94乂A^更盘驱动器28加载到RAM26中,并且第一阶段内容94包^f又仅用于过程子集的上下文,所述过程在处理系统最辨last)处于活动状态时存在于处理系统20中。例如,第一阶段内容94可包括仅仅用于絲一个活动用户程序的上下文数据(例如,接收用户输入或者具有系统聚焦(focus)的f^一^K呈序)。第一阶段数据可包括用于^一个活动用户程序的所有分页和非分页数据,或者仅仅包括非分页数据。在另一个实施例中,笫一阶段内容可包括用于所有程序上下文数据94,所述程序在处理系统20最近活动时iMMHt器中分页出去(pageout)。在备选实施例中,本系统上下文的其它子集可以^4在第阶段内容中并#第一阶IW口载中恢复。例如,除^^可上述子集"卜第一阶段数据可包含所有非分页OS数据。非分页OS数据也可以称为非分页核心数据...作为备选的方案,第一阶段内容94可能已经##在闪存27中。OS50可以因此将第一阶段内容94从闪存27'1"嫂到RAM26中。jtb^卜,OS50可以采用数据来填充恢复描述符92,所述数据表示系统固件40应跳itit常被4丸行以便支持与硬盘28的通信的初始化步骤。在第一阶段加载完成之后,OS50可以执行那些初始化步骤。如在时间t7显示的,一旦第一阶l^r口载处理完成,处理系统便产生用户接口并且准备接^li^自用户的输入并"^f亍用户模式^f呈。例如,处理系统20可以提示该用户输入证书,并iL^那些证书的接收并l^i正后,处理系统20可为在处理系统20^睡目財莫式之前用户使用的M—个应用程序提供用户4妻口。在图2中,t5和t7之间的时间被标记为持续时间(duration)dl。因此,在该示例实施例中,持续时间dl是处理系统20从不加电睡目財莫式恢复所花费的时间量。OS50然后可以例如作为后台任务开始平台上下文的第二阶對口载。在该示例实施例,第一阶段内容少于第二阶段内容,与第二阶對口勤目比较,第一阶^i口歉范费更少时间。在时间t8,处理系统20可以完成第二阶段加载,然后可完成功率状态转变过程。在t7和t8之间的时间被标记为持续时间d2,而在t5和t8之间的时间被标记为持续时间d3。因此,持续时间d3等于持续时间dl力口持续时间d2。在该示例实施例中,在持续时间dl^处理系统20准^^躺。相反,根据通常的功率状态转变过程,持续时间d3(即,t5和t8之间的总时间)可能类似于处理系MA睡目財莫式转变到活动模式需要的时间量。然而,运用常M^r法恢复的处理系乡脉所有系统上下文已M^口载之前不可^^!。相反,根据该示例实施例,因为上下文是在多个阶段中恢复的,而且处理系统不会等到所有那些阶段都完^^后才产生用户接口,所以使用处理系统20的人在4械她能够开始^^处理系统20进行有产能的工作^^前不必等待太长时间。图4、5和6是描述根据本发明的示例实施例支持快速功率状态转变的过程的M方面的流程图。图4中描述的过程以处理系统20检测开始事件开始,例如以上针对图2和时间t5所描述的。如框110所示,响应该开始事件,启动固件48开始初始化处理系统20。作为初始化过程的-~^分,如框112所示,启动固件48确定处理系统20是否从睡眠状态恢复。如果处理系统20没有从睡眠状态恢复,则启动固件48佳月硬启动或者冷启动过程(即用于Mil^开状态转变到活动状态的过程)来完成处理系统20的初始化,如框114所示。如框144所述,然后系统固件40可以将控制^5^多交给OS50以^f更i^f亍余下的启动it禾呈。然而,如果处理系统20从睡目狄态恢复,则恢复管理器42接下来确定处理系统是否来自加电或不加电睡眠状态,如框120所述。如果处理系统20/A^口电睡眠状态恢复,则恢复管理器42可以^^I近乎常规的方法,用于从加电睡眠'ltt以^^^^刀始化处理系统20,如框122所示。恢复管理器42然后可以将控制权寿封多给OS50以便进行余下的启动过程,如框144所述。然而,如框130所示,如^t理系统20来自于不加电的睡目緣态,贝'J恢复管理器42然后可以确定在准备ii^睡目民状态时OS50是否^^'fel描述符。如果恢复管理器42未找到恢复描述符,恢复管理器42可以引发异常和/或可以执行4射吴处理,如框132描述的。例如,恢复管理器42可以扭^f亍一些净辦,例如提4^lr出以通知用户或者远程的管理员有关该4射吴,<转标识该错误的日志条目,回复到硬启动或者冷启动过程,或者这些或者其它的才^t的^f^f可适合的纟且合。如果'fel描述符确实存在,则'1^1管理器42读取1^1描述符(例如,恢复描述符92),如框140所述。如框142所示和上面描述的内容,恢复管理器42接着可以按照由OS50併存在恢复描述符92中的信息完成它的部分初始化过程。例如,如果'fel描述符92指示OS50将初始化某""i殳备或者部分存储器,则系统固件40可以通过不初始化那个装置或者那部分4#器来节省时间。在一个实施例中,恢复描述符92列出要由除了系统固件40外的组件执行的初始^#作。在其它实施例中,恢复描述符92运用其它技术来指示哪些初始^^ft将由系统固件40"^f亍。在任一情况下,恢复描述符92可以描述平台初始化的最小44至来支持对第一阶段内容的快速恢复。如框144所示,在执行4封可要求的初始^#^^^,系统固件40则可以将控制权移交给OS50的启动代/马。在系统固件40检测到开始事件之后,开始图5中描述的过程。在框210,系统固件40可以根据图4中描述的过程来执行系统初始化。在框212,OS50可以从系统固件40接收控制权,按照图4的框144说明的操怍。在框214,OS50可以从非易失'1^W器中获拟苗述符92。例如,在示例实施例中,OS50从持久性固件变量(即,系统固件"R供的,而且即使处理系统在保存变量的时间和获取变量的时间之间断电也可以接着从系统固件获取的变量)获取'随描述符92。如在框220所述,OS50可接着确定处理系统20是否从睡目M犬态'随。如果处理系统20不从睡眠状态恢复,则OS50可才Aft硬启动或者冷启动,如框222所示。如框222所述,如果处理系统20从睡目緣态恢复,则OS50可以确定处理系统20是否/A^口电睡目民状态或者不加电睡目民状态恢复,如框230所述。如果处理系统20从加电睡眠状态恢复,则OS50可"^f亍近乎传统的加电恢复,如框232所示。然而,如果处理系统20从不加电的睡目^R态'tt,则处理可以/人冲匡230ii7v框234,框234描述OS50使处理系统20执行第一阶段上下文加载。在一些实施例中,数据处理系统可以响应检测fel描述符而决定执行二阶段(或者多阶段)加载过程。再参照图3,在该示例实施例中,当执行第一阶段加载时,OS50可以将第一阶段内容94从非易失性^^诸器例如石腫28加载到RAM26中。如前所述,第一阶段内容94可包括用于接收用户输入的最后一个程序、系统聚焦的M—个程序、没有从^ft器分页出去的所有程序或者其它在处理系统20ii/v睡B^莫式之前存在于处理系统20中的程序的某个其它子集的系统上下文。如/人框234出去的两^^4圣所示,在加载第一阶l殳内^^,OS50可以开始笫二阶^^口载#^,同时还提供用户接口以^Ai午处理系统20在笫二阶l^i口载完成之前被"ft^]。例如,如框236所示,徊口载第一阶段内容94之后,OS50可以开始执行用户模式銜f呈,例如向该用户"l是^^妄口。如果第一阶段内容包括用于接收用户输入的^一个程序的上下文,则在恢复用于那个程序的上下文之后,OS50可以将控制^a^卩个程序,从而就象处理系统20从未转变到睡1財莫式一样允许用户恢复那个程序的#^。另外,如框238所示,处理系统20然后可接收输入,例如用户输入。因此,在二级加载完成之前处理系统20提供用户交互。从而,在整个系MJi下文(即,在处理系统20i^/v睡目財莫式之前已经存在的所有处理或者程序的上下文数据)已经'fel之前,一个人可以佳月处理系统20。如框240和242所示,同时或者J^^上同时提供用户接口并且接受用户交互,OS50可以扭行所要求的4封可其它初始^^ft并且可以加栽第二阶段内容96。那些初始4U辨可以是由'l^l描述符92分酉逸OS的任务。例如,'l^l描述符92可包括指示OS50应初始化指定一^分或者多个部分的RAM26的数据。指示哪些ifeljf辨应该由OS执行以及哪些由系统固件4Mt的恢复描述符92中的数据可以称为'l^l描述^f言号交换。在各种实施例中,恢复描述符信号交换可分^i^OS不必在l^亍第一阶^^载之前^^亍的^j可操作或者操作的集合。这样的操作的其它示例可包括^^限于,初始^t旨定一恒备或多恒备等。第二加载过程可以#^些或者所有剩余系统上下文(例如来自'随文件98的第二阶段内容96)恢复到RAM26中。一S^斤有第二阶段内容已经恢复,恢复处理可以结束。在备选实施例中,在第一阶IM口载之后,多个二级或者补充的(supplemental)阶段可用于加载附加的上下文。一旦系统已经完^更启动或者完成AU卩电睡目^)大态唤醒,或者完成从不加电睡目眺态唤醒,过程就可以从图5通过页连接器进行到图6的框250。然后处理系统20可以确U否存在加电状态转变请求以便ii^不加电的睡百M犬态。例如,可以响应用户选择睡目腿项,或者响应没有用户输入而经过的预定时间量来进行这样的确疋。当处理系统20确^ii^不加电睡目財莫式时,OS50可以使处理系统将核心数据的分页;tk^新到非易失性^fi者器,例如硬盘28,如框252所示。刷新操作可以保证4^的回写磁盘高速緩存已被刷新。如框254所示,OS50还可以将非分页数据(或者当前上下文的4封可其它适合的子集)复制到相同或者不同的非易失性装置中。在一个实施例中,OS50可以认为所有分页数据^二阶段内容,而且OS50可以将该数t别絲到硬盘28。另一方面,所有非分页数据,可以认为B—阶段内容,而且OS50可以将该数才刷絲到闪存27。在其它的实施例中,处理系统可包括三个或更多不同的非易失'fi^^装置,而且例如恢复描述符、第一阶段内^^第二阶段内容等项目均可^^在不同的设备上。任何适合的方法可^JI]来g第二阶段内容。例如,OS50可以创絲二阶段内容96中的日志来标识分页数据的存在位置,或者OS50可以将分页内容合并到第二阶段内容96中。在示例实施例中,如框256所示,OS50填充^HM具有用于恢复处理系统20的信息的回复描述符。例如,OS50可以^^恢复描述符92中的信息,例如下列项目中的一个或多个描述OS50将l^ft^刀始^^ft的数据,可能包括在常规系统中启动OS之前启动固件一般执行的操作(例如,,器初始化),描述笫一阶^>载内容的属性的数据,例如那个内容的位置,内容的尺寸,包括那个内容的装置的类型等。当在恢复才辨期刚寻控制^Uf多交给OS50时,系统固件40<M的信息,例如图5的框212中描述的。在一些实施例中,OS可以使用系统固件提供的工^Kfacility)将'l^l描述^^錄在非易失:W^诸器中。例如,如上所述,恢复描述符数据可以j錄在固件变量中(例如,如图3所述变量92中)。一些实施例可以使用在下面代妈段中描述的那样的结构来实现恢复描述符typedefstruct(UINT64DevicePathActive:1;UINT64FlashContainsMemoiy:1;UINT64MemoiyFragments:8;}INIT—MASK;typedefstruct^UINT32Type)UESTB2Pad;EFI—PHYSICAL—ADDRPhysicalStart;//LBAorMemorybasedonTypeUINT64NumberOfPages;//IfLBA==#ofsectorsUINT64Bank;}RESOURCE—DESCRIPTOR;typedefstruct{丽一MASKInitMask;//DEVICE—PATHDevicePath;//UINT32DescriptorCount,//RESOURCEDESCRIPTORReso薦Descriptor[DescriptoiCount];}EFI—RESUME—DESCRIPTOR;这样的恢复描述符可具有用于定位第一阶段内容的INTT—MASK部分。例如,IMT一MASK部分可以,标识一下^J贞的数据(a)第一阶段内容是否i錄在闪存中;(b)包含第一阶段内容的设备的设备^4圣(例如,断开总线,夕H殳部件互连(PCI)设备7,功能O,分区0);(c)要恢复的不同存储器范围(range)/片l^(segment);等。ARESOURCE—DESCRIPTOR部分可用于^(诸标识以下各项的数据(a)包含第一阶段内容的装置的类型(例如,石植,闪存等);(b)该设备上的第一阶段内容的赵台位置(例如,闪存装置的字节偏移量(byteoffset)或者硬盘的有关扇区的LBA);(c)第一阶段内容的大小等。恢复描述符中的其它信息可包括标识要恢复的数据的不同区域(例如,从l:22MB的^i者器范围,从40:42MB的^#器范围等)的数据。在其它的实施例中,可以侦月具有不同结构的恢复描述符。当从睡目財莫式转变到活动模式时,在启动OS50之前,恢复管理器42可以l顿恢复描述符中的信息,该信息指出哪些賴区将被'随以便确定哪些务賭区将由系统固件40初始化。例如,系统固件40可以初始化要恢复的,区,并且可以淵Mt其它,区的初始化。因为系统固件40可以仅仅初始化RAM26的子集,启动固件可以更决地完成它的初始化过程。'fel描述符92可包括附加的结构^ft信息,该信息标识哪些初始化才辦将被系统固件40浪近并且由OS504W亍。例如,MT—MASK结构可以包括一个或多个位来指出系统固件40是否将初始化^P,器或者,器的子集,包括数据来指出某些设备是否将由系统固件40或者OS50初始化等。在"^选实施例中,备选机构可用于指出哪些初始化^fN夸被系统固件跳过并且由OS执行。在框258,OS50使RAM26的内^^L^新到恢复文件98。这一刷新保证易失'^i且件(例如,賴器,高速緩存,OPU状态)的^^者内容已经完全^^新到非易失性^t器。在该示例实施例中,根据框252,第一阶段内容94(参见图3)包括刷新到磁盘的核心数据,以及根据框258,第二阶段内容96包括刷新到恢复文件98的数据。同时,在框254引用(reference)的一些非分页数据可以保存到第一阶段内容94中,而其余的可^f缺到第二阶段内容96中。例如,第一阶段内容94可以获得来自OS和已经聚焦的应用的有关非分页数据,而其余的非分页数据可以转到第二阶段内容96去。然后如框260指出的,OS50可以使处理系统50对自己断电。然后根据需要可以重复图4-6的过程,例如在处理系统20开始它的下一个初始化过程时从框110开始。因此,-.按照以上描述,与4賴常规功率状态转变技术的处理系乡W目比,本发明的实施例可以佳处理系统能够从非加电的睡目歐态更fe地再启动。例如,同样参考图2,在持续时间dl^根据^^开的系统可以i^v活动模式并且开始才W亍用户模式^^呈,相比之下,常,见系统^l^持续时间d3^才可i^/v活动模式。已纟錄达出,例如,基于具有每秒的数据吞吐量(throughput)16兆字节(MB)的闪存,包含54.5MB第一阶段内容,包括用于最近的活动应用程序的22.4MB上下文数据和用于非分页核心内容的32MB上下文数据的闪存,在不到4秒时间里随着完成第一阶口载可以将具有3.4GB的RAM的处理系统恢复到可用状态。更决速的闪存可以允许甚至更短的恢复时间。例如,如^J:理系统具有每秒600MB数据吞吐量的闪存,则处理系统能够在不到1秒内完成笫一阶對口载。jtb^卜,才財居^^开,因为处理系统可以从非加电睡f^夫态如此l";feil:lM争变到活动状态,所以在常规系统中可^^求加电睡目^莫式的环境中,用户,供应商,或者系统管理员可以配置处理系统来使用非加电睡目財莫式。处理系统甚至可被设计成仅支持(或者配置成仅使用)不力口电的睡目財莫式。例如,本发明实施例使处理系统能够像^U。电睡目民模式一样快速的从不加电睡眠模式恢复。当然,不加电睡目財莫式需要极少或不需要功率来^#状态,而加电睡目財莫式需要大量的功率来##状态。因此,相对于传统系统,4狄不加电睡目M莫式代替一个或多个加电睡B財莫式的处理系统可以取得大量的功率节省。这样的功率节省可以转化为额外利益,例如为电池加电的系统增加有-丈的备用(standby)功,续时间。另夕卜,因为信号交换才;i^J允许OS与系统固^M^过不加电睡BM犬态进行通信,所以OS可以动态地在固件和OS之间调整或者重新分配角色和任务,以便实现改进的性能。例如,OS可以接受初始化一些系统务賭器,某些系统装置等任务。.图7是描述根据图1具有备选软件配置的数据处理系Mi匡图。具体地说,图7属于处理系统20中的软件配置的示例实施例,该配置使处理系统20能够才對以(emulate)磁盘驱动器才^t,而事实上利用更快的和/或更高負巨效的^fi者技术,例如闪存27。JW^地说,处理系统20以比OS低的逻辑MJM對W兹盘操作(例如,以通常在OS和硬件之间的级)。从而,OS不需要特别地设计来^JU闪存以恢复数据,而4_可以只^^传统的石兹盘#^来^#并获取'随数据。在图7的实施例中,软件组件82包括系统固件40,系统管理才莫式(SMM)丰欠件310,以及管理程序或者虚寺財几监控器(VMM)320。除了下面描述的特征,系统固件40可以支持所有上面描述的特征。在^^选实施例中,处理系统可能已具有仅支持一些本文描述的特征的系统固件。如本文中使用的,术语"平台软件"指通常以比OS低的逻辑^i^刊喿作的控制逻辑,可能充当OS和硬件之间的中介。在图7的实施例中,系统固件40、SMVHV马310和VMM320是平台软件。如本文中^Jf]的,术语'MWl件"指文件,文件集合,或者驻留在代理^#装置中的4封可其它合适的数据集合。代理,装置是平台软件用来响应更高级软件、例如OS的读和写而才勤以不同,装置的存储装置。在图7中,在VMM320中处理系统20酉沐休眠管理器322。对于恢复数据,休目民管理器322可以处理佳月闪存27来才穷W兹盘驱动器28所必需的一些或者所有才沐图8描述了说明例^^图7配置的用于1链恢复处理系统20的备选过程中的各种才喿怍的示例的时间线。所说明的过程开始于时间tO,例如响应功^#|丑按下,由处理系统20开始从断电状态开始转变为活动状态。在时间tl,在执行4封可必需的硬件才辦^,BIOS40初始化芯片组34并启动SMM。在时间仏BIOS40起动(launch)VMM320。在时间t3,VMM320起动VM350作为用于OS50的M独立的软件环嫂。在时间t4,OS50将预定休目ML件的尺寸和位置规范传i^BIOS40。例如,在处理系统20首先安装U,OS50可能已发现用于賴睡目W恢复数悟的磁盘驱动器28上的合适大小和位置的连续的空闲空间块,而且OS50可能已分酉喊者保留了作为休目ML件330的空间。在随后的启动中,OS50可以佳月驱动器来传送有关休0ML件330的尺寸和位置的细节给BIOS40。例如,平台特有的OS驱动器(例如,休目ML件驱动器61)可以安装到OS50的上下文中,使得驱动器61传送休BML件330的位置和大小信息给VMM350。休目M:件驱动器61可以由OS的开发者,VMM的开发者,平台厂家,或者任何其它的合适实体来开发。休BML件驱动器61可以表示启动OS50来M切作的虛拟化。作为备选的方案,当VMM无需来自OS的切作虚拟化就能进4甜辨时,通过充分了解文件系统和休目Ml件数据的J^出构成,可设计或者配置VMM使得VMM可通iti4历硬盘上的文件系统数据来确定休目Ml件数据的扇区位置和大小。再一次参考图8,在时间t5,BlOS40至少部分;tt于来自OS50有关休目ML件330的信息,在闪存27中分酉喊者保留代^L件340以;SJI]于磁盘才勤以的BIOS50禾J^数据路由(routing)。例如,BIOS40可以4顿VMM320中的休眠管理器322来产生转变表324,或者其它合适的数据结构,用于将休B^iL件330内的逻辑块;W止(LBA)映射到用于才對以休目Ml件330的闪存27中的^fH位置(storagelocation)。处理系统20然后可用于^^r合适时间賴jMi行有用的工作。然后,在时间t6,OS50可以接4域者检测睡目賊者休眠事件。例如,休眠事件可以表示用户已经选择休目財莫式,或者已经超过预定的非活动阈值。在时间t7,响应休眠事件,OS50扭/f讨刺乍来把恢复数l^f呆存到磁盘驱^j哭7S卜frW大服矛^f^"0咖然而,VMM320可以^l(intercept)/人OS50到;兹盘驱动器28的写入。线t7的上部是虛线,表示这样一个M。响应对那些写入的^,^木眠管理器322可以将数据写入到闪存27中的代理文件340,如在时间t8所示。例如,VMM320可以监控从OS50到石兹盘驱动器28的所有写入,并且如果任一写入包括休目Ml件330内的i4ii,则休眠管理器322可以那些写入重定向到代SiL件340中的对应位置。.在^J]VMMi^勤以或者管理所有硬件交互的实施例中,VMM可以使用芯片组控制寄存H(例如如下所述的那些)来捕"^(trap)OS.访问磁盘驱动器的每次尝i备选实施例可以使用协作的虚拟化,利用OS上下文内操怍的驱动器来来辅助虚拟化功能。这样的驱动器,可以称为启发(enlightened)驱动器,它可以更高效地允许VMM提供磁盘才對以(例如',利用很少的上下文切换)。这样的马区动器可以由OS的开发者,VMM的开^^者,平台厂家或者^f可其它合适的才;i^j来开发。再一次参考图8,根据要存储的恢复数据的量,OS50和休眠管理器322事实上可以执行大量写入/^#操怍。线t8较低的部分是虛线,表示一旦恢复数据已经保存,休眠管理器322就可以通知OS50关于磁盘写入才喿作已经成功完成。然后,在时间t9,可能通过使用SMM程序310,OS50将处理系统20转变到休B財莫式。因此,在图8的底部,标记"休眠"的波形4巧限定从活动状态转变到休眠状态所需的时间段。处理系统20然后可以在^f^合适的时段中处于休目碟式。然后,在时间t10,OS50例如响应用户按压处理系统20的功率^&il者休目M^丑而接收唤醒(wake)事件。响应唤醒事件,OS50才;W封辨/A^it驱动器28读取恢复数据,如在时间tll所示。然而,VMM320可以拦截那些读取并改为从^fW^件340中的对应位置读取必要的数据,如在时间tl2所示。休眠管理器322可以再一次偵月转变表324来确定哪些读取应被M禾耐對以,以及实际上需要的数据驻留在哪里。线tl2较低的部分M线,表示一旦已经读取饺cl数据,休眠管理器322就可以通知OS50有关磁盘读取梯作已经成功地完成。在时间t13,OS50然后可以完成'feli^ft并JU^上返回处理系统20iiA^休0財莫式之前存在的状态。例如,OS50可以使处理系统20显示在转变到休目財莫式之前显示的相同的用户接口。因此,标记"恢复"的波形括号标定(demarcate)从休目民状态转变到活动状态所需的时间段。图9是描述根据图1的数据处理系统具有另一个备选软件配置的框图。如同图7中的配置一样,图9中的配置使用平台软件^^對以OS50的磁盘操作。然而,代^^^基于VMM的配置,在图9中,处理系统20^i己置成^iI基于SMM的嫂Jbf對以。如上,OS不需^#别设计成使用用于'1^1数据的闪存,而是可以改为仅使用传统磁盘^^来^^并获取恢复数据。在图9的实施例中,软件组件82包括系统固件40和SMM软件360。..除了如下所述特名"卜,系统固件40可以支持所有上面描述的所有特征。在^^选实施例中,处理系统可以具有本文中描述的仅仅支持一些特征的系统固件。在图9的实施例中,SMVHV马360包括休眠管理器362。对于恢复数据,休眠管理器362可以处理佳月闪存27来才穷W兹盘驱动器28所必需的一些或者所有操怍。在图9的实施例中,系统固件40和SMM程亭360是平台软件。图IO描述示例的时间线,说明在另一个备选过程中用于快速'fel处理系统20的^ft才乘作,例如,如图9配置的。例如响应功率4^4对皮按下,所说明的过程从时间t0由处理系统20开始从断开状态转变到活动状态开始。在时间tl,执行任何必需的硬件才^ft之后,BIOS40初始化芯片组34并启动SMM。在时间t2,BIOS40启动OS50。在时间t3,OS504沐目Ml件330的尺寸和位Ji见范传iiiSlJBIOS40。如同上面描述的一才羊,OS50可以估JU休BK^件驱动器61来传送有关休眠区域的数据给BIOS40。在时间t4,至少部分基于来自OS50的有关休目ML件330的信息,BIOS40在闪存27中分酉試者保留代理文件340以及BIOS50对数据路由进^^扁程^ii行磁盘才對以。例如,BIOS40可以^J]SMM4V马360中的休眠管理器362来产生转变表364,或者其它的合适数据结构,用于纟沐目ML件330内的逻辑块i4i止(LBA)映射到用于才對以休目ML件330的闪存27中的^^者位置。另夕卜,作为对数据路由进^i扁程的""^分,BIOS50可以配置捕捉机构^it成(issue)对尝试的磁盘访问的捕净线者中断。例如,BIOS50可以在芯片组34中设置配置寄存器334(或者多个配置寄存器)以使乂口、要在SMM^1S青,i^兹盘I/0就产生系统管理中断(SM)。在一个i施例中,将配置寄存器334实现为一个或多个高级电源管理(APM)捕捉控制寄存器(ATC)。有关ATC的附加信息能够在Inte應的I/0控制器集线器6(IGH6)系列数据表中找到,当前可,人www.intel.com/design/chipsets/datashts/301473.htm得到该信息。处理系统20然后可以用于^f^可合适时间賴^i行有用的工作。然后,在时间t5,OS50可以接4线者检测睡目^者休眠事件。例如,休眠事件可以表示用户已经选择休B^莫式,或者已经超过预定的非活动阔值。在时间t6,响应休眠^f牛,OS50才ivf封辨来把'fel数氺别转到磁盘马区动器28上的休BML件330中。然而,当写入才^ft使芯片组34产生SM时,休眠管理器362可以M从OS50到磁盘驱动器28的写入。线t6M线,表明事实上数据没有4絲^J兹盘驱动器28上。如在时间t7所示,只狄理器22试图访问磁盘驱动器28,芯片组34就可以产生SM。响应每个SM,休眠管理器362可以确定读Wl者写AA否包括休目ML件330内的地址。如果写入包^it才—个^iil:,则休眠管理器362可以将该数据重定向到代^^f牛340中的对应位置,如所示在时间t8所示。如果读取包括这样一个:l4ii11,休眠管理器362可以从代理文件340中的对应位置获取该数据。线t8的上部M线,表明一旦'RMt据已经{转,休眠管理器362可以通知OS50有关磁盘写入4辦已经成功完成。根据要务賭的恢复数据的量,OS50和休眠管理器362事实上可以执行大量的写入/^#操作。因此,响应对从OS50到休目ML件330的写入的M,休眠管理器362事实上可以将'fel数^fM到闪存27中的代逸文件340中。然后,在时间t9,OS50可通过^J]SMM程序360来把处理系统20转变到休目財莫式。因此,在图10的底部,标注"休眠"的波形^"^标定从活动状态转变到休BM犬态所需的时间I爻。然后处理系统20可以在^f可合适的时间l^t于休0財莫式。然后,在时间t10,OS50例如响应用户按压处理系统20的功率^4iL^者休目K^4丑而接收唤醒事件。响应唤醒f^f牛,OS50才;W封辦^M人石^:驱动器28读取恢复数据,如在时间tll所示。然而,如在时间tl2所示,读取操作可能使芯片组342产生SMI。休眠管理器362可以处理那些SMI,拦#/兹盘读取,并改为从代理文件340中的对应位置读取必要的数据,如在时间t13所示。休眠管理器362可以再一次使用转变表364来确定哪些读取应被4^1禾4莫拟,以及实际上需要的数据驻留在哪里。线tl3上部是虚线,表明一旦已经读取恢复数据,休眠管理器362就可以通知OS50有关磁盘读取操作已经成功地完成。在时间t14,OS50然后可以完成恢复才^t并ili^上返回处理系统20ii/v休目財莫式之前存在的状态。例如,OS50可以4狄理系统20显示在转变到休H財莫式之前显示的相同的用户接口。因此,标记"恢复"的波形括号标定从休,犬态转变到活动状态所需的时间段。因此,如已经描述的,处理系统可以包括独立于os的装置来自动地重新3各由用于功率4争变的'^l^i居。如上iL^斤指出的,具有3.4GBRAM的传统的系M/人睡EI財莫式转变到活动模式可^^费大约150秒。相反,如果具有相同的数量RAM的处理系统还包括用于自动地A^兹盘到闪存重新路由恢复数据的装置,则那个处理系统在不到10秒时间内就f&人休眠'1^1。另夕卜,处理系统可配置成例如通过BIOS装置接口,VMM配置接口,或者任何其它合适的装置来对恢复数据的重新路由进行激活和去活(deactivate)。这样的处理系统被认为支持恢复数据有条件的重新路由。如上所述,在^4t实施例中,处理系统可以使用上述特征的4封可合适的组合。例如,处理系统可以^^闪存^^勤W兹盘^I器,同时还提供多阶段恢复过程,a—步缩短处理系统准^4妻收用户输M者执行其它任务之前需要的时间。根据本文描ii^说明的原理和示例实施例,^i人识到,在不背离这样的原理的前提下,所述实施例可在布置和细节上进行修改。例如,虽然前面将一个实^4笛述为^^石嫂和闪耕为非易失'f^^者器,但是备选实施例可以只<賴硬盘,只4M闪存,只^^]其它种类的非易失'li^器,或者非易失性德器技术的飾合iii且合。同时,虽然上述讨论集中在特定实施例上,但是也可以想到其它的配置。即时本文中<錢例如"在一个实施例中,"在另一个实施例中"等表述,但是这些樹司"^fe意味着参考实施例的可能性,而且不#发明限于特定实施例配置。如本文中^i^的,这些术语可以参考可结合到其它实施例中的相同的或者不同的实施例。同样,虽然已经针对以特定顺序执行的特定#^描述了示例过程,但是可以将很多修改应用那些过程来派生出本发明的大量备选实施例。例如,备选实施例可以包括4錢少于所有公开的才辦的过程,4頓附力口才辨的过程,使用不同顺序的相同操作的过程,以及其中本文中公开的名^"操作背组合,细分,或以其它方式ii4亍改变的过程。本发明的备选实施例还包4封几器可访问的介质,对指令进行编码以执行本发明的操怍。这样的实施例也可以称为程序产品。这样的机器可访问介质可包括^i^R艮于,,介质例如M,石纽,CD-ROM,ROM和RAM;由机器或设备制造或形成的产品的其它可检测的布置。指令还可以用于分布式环境中,而且可以在本ii^f口/或远程^^供单个或者多个处理器机器访问。还应该理解本文中描述的硬件和软件组件表示适当独立的功負U/f牛,使#^~个^^上老^]"以独立于其它的被设计,构造或者更新。在^^选实施例中,许多组件可以实现为硬件、软件或者硬件和软件的结合来提供本文中描ii^i兌明的功能性。用于4A/f亍本发明的才辨的硬件、软件或者硬件和软件的结^L可以被称为逻辑或控制逻辑。考虑到通过本文描述的示例实施例可以容易地获得多种有用的改变(permutation),这个详细描述仅仅认为是解释性的,而不应该认为限定了本发明的范围,因此,本发明所要求的范围是落入下列权利要求的范围和精神之内的所有实现以及这样的实现的所有等同内容。权利要求1.一种用于在数据处理系统中使用闪存来模拟磁盘存储器的方法,所述方法包括由数据处理系统的平台软件对数据处理系统的操作系统(OS)读取所述数据处理系统的磁盘驱动器的存储位置的尝试进行拦截;响应对OS读取磁盘驱动器的尝试的拦截,自动地确定用于所述读取的存储位置是否对应于为功率状态转变数据保留的磁盘区域;以及响应确定所述存储位置对应于为功率状态转变数据保留的所述磁盘区域,自动从数据处理系统的闪存而不是磁盘驱动器读取数据,并且作为对OS读取所述磁盘驱动器的尝试的响应,将所述数据从所述平台软件传递到所述OS。2.根据权利要求l的方法,其中,与数据处理系i^人非活动状态到活动状态的转变有关,当所述OS正试图将状态数据/A;斤述磁盘驱动器加载到随才/1^^##器(RAM)时,絲所述OS读^U兹盘驱动器的尝试的才辨由所述平台软件来执行。3.根据权利要求2的方法,其中,在将所述数据处理系M/人休目財莫式恢复的过程中,拦截所述OS读取所述磁盘驱动器的尝试的操作由所述平台软件来执行。4.才艮据权利要求1的方法,还包括由所述平台软件对所述OS将数据写入所述磁盘驱动器的指定位置的尝响应对所述OS写入磁盘驱动器的尝试的拄截,自动地确定用于所述写入的指定位置是否对应于为功率状态转变数t刷呆留的所述磁盘区域;以及响应确定所述^fi者位置对应于为功率状态转变数据保留的所述磁盘区域,自动地将数据写入所述闪存而不是所述磁盘驱动器。5.根据权利要求1的方法,还包括由所述平台软件来创建数据结构,以便将位置从为功率状态转变数才剔呆留的所迷磁盘区域#到所述闪存中的对应位置。6.才財居权利要求1的方法,还包括配置所述数据处理系统的芯片组来响应读取所述磁盘驱动器的尝试而产生中断。7.根据权利要求l的方法,其中,織所述OS读i^斤述磁盘驱动器的尝试的,包4舌处理所述数据处理系统的芯片组响应所述OS读f^斤述磁盘驱动器的尝试而产生的中断。8.根据权利要求1的方法,其中,所述平台软件包括虛拟机监控器(VMM),以及自动从闪存而不是所述磁盘驱动器读Mt据并将所述数据传递到所述OS的操作由VMM来执行。9.根据权利要求1的方法,其中,与启动所述数据处理系M^关,当OS正尝i划寻应用数据/A;斤述磁盘驱动器加载到随才踏fl^i者器(RAM)时,M所述OS读iMt述磁盘马区动器的尝试的才^t由所述平台软件来才W亍。10.—种数据处理系统,包拾处理器;对所#理||#出响应的随才;1#^^1##器(RAM);对所i^t理H^出响应的闪存;对所i^t理贿出响应的磁盘马区动器;才辦系统(OS),从RAM执行;以及平台软件,从RAM执行,所述平台软件执行的才辦包括拦截所述OS读i^斤述磁盘驱动器的存储位置的尝试;响应对所述OS读取所述磁盘驱动器的尝试的拦截,自动地确定月于所述读取的^f诸位置是否对应于为功率状态转变数^f呆留的磁盘区域;以及响应确定所述^ft位置对应于为功率状态转变数据保留的所述磁盘区域,自动地从所述闪存而不是所述磁盘驱动器读取数椐,以及作为对所述OS读取所述磁盘驱动器的尝试的响应,将所述lt据传递到所述OS。11.根据权利要求10的数据处理系统,还包括与所述数据处理系统从非活动模式到活动模式的转变相关,当所述OS正尝淵夺状态数据/A;斤i^兹盘驱动器加载到RAM时,所述平台软件可才辨来M所述OS读取所述;兹盘驱动器的尝试。12.才財居权利要求10的数据处理系统,还包拾在将所述数据处理系^A休目M莫式恢复的过程中,当所述OS正尝淵夺状态数据>^斤^^兹盘驱动器加载到RAM时,所述平台软件可#^来拉截所述OS读^^斤述磁盘驱动器的尝试。13.根据权利要求10的数据处理系统,还包拾所述平台软件可才軿来拟亍的才軿包括对所述OS将数据写A/斤述磁盘驱动器的指定位置的尝试进行拦截;响应对所述OS写/^斤述磁盘驱动器的尝试的M,自动地确定用于所述写入的指定位置是否对应于为功率状态转变数t刷呆留的磁盘区域;以及响应确定所述^^位M"应于为功率状态转变数拾床留的磁盘区域,自动:^M寻l^居写/^斤述闪存而不;l所i^f兹盘马区动器。14.根据权利要求10的数据处理系统,还包括所述平台软件可才^t来创建数据结构,以便将位置从为功率状态转变数拾床留的所述磁盘区域映射到所述闪存中的对应位置。15.根据权利要求10的数悟处理系统,还包括对所#理|14出响应的芯片组;以及所述平台软件可操作来配置所述芯片组以便响应读取所述磁盘驱动器的尝试而产生中断。16.根据权利要求15的数据处理系统,其中,所述平台l^f牛包括中断处理机,处理由所述芯片组响应所述OS读:^^斤述磁盘驱动器的尝试而产生的中断。17.根据权利要求10的数据处理系统,其中,所述平台專欠件包括虚才甜几监控器(VMM),从闪存而不是所述磁盘驱动器读取数据并且将所述数据传递到OS。18.根据权利要求10的数据处理系统,其中,所述平台软件包括虚扣对几监控器(VMM),|^亍的#^包括管i户虚扣:^(VM)来为所述OS提供,环嫂;从闪存而不是所述磁盘驱动器读f^斤述数据;以及将所述数据^it到客户VM中的所述OS。19.根据权利要求10的数据处理系统,还包括与启动所述#_据处理系乡錄关,当所述OS正尝^1夺应用数据^^斤述磁盘驱动器加载到RAM时,所述平台软件可"所述OS读斤述磁盘驱动器的尝于M。20.—种设备,包括才几器可访问质;以及所述机器可访问介质中的平台软件,所述平台软件包括指令,所述指令在由具有磁盘驱动器和闪存的数据处理系统中的处理器执行时,进行的才辨包括)^辦系统(OS)读取所述磁盘驱动器的^^位置的尝试进行絲;响应对所述OS读取所述;兹盘驱动器的尝试的拄截,自动地确定用于所述读取的^^位置是否对应于为功率状态转变数才剧呆留的磁盘区域;以及响应确定所述##位置对应于为功率状态转变数据保留的所述磁盘区域,自动地从所述闪存而不是所述磁盘驱动器读取数据,以及作为对所述OS读ip^斤述,兹盘驱动器的尝试的响应,将所述数据传递到所述OS。21.根据权利要求20的设备,还包括与所述数据处理系乡非活动模式到活动模式的转变有关,当所述OS正尝试将状态数据从所述磁盘马区动器加载到随才踏^##器(RAM)时,所述平台软件可来拦截所述OS读取所述不兹盘驱动器的尝试。22.根据权利要求20的设备,还包括在将所述数据处理系休S^莫式恢复的过程中,当所述OS正尝试将状态数据从所述磁盘驱动器加载到随才4旨賭器(RAM)时,所述平台软件可^ft来拦截所述OS读取所述磁盘驱动器的尝试。23.根据权利要求20的设备,还包括所述平台软件可才辨来执行的才^ft包括对所述OS将数据写A^斤述磁盘驱动器的指定位置的尝试进行拦截;响应对所述OS写/^斤i^兹盘驱动器的尝试的拦截,自动地确^]于所述写入的指定位置是否对应于为功率状态转变数寺刷果留的所述磁盘区域;以及响应确定所述^*位3^"应于为功率状态转变数拾沐留的所述磁盘区域,自动地将数据写/^斤述闪存而不是所述磁盘驱动器。24.根据权利要求20的设备,还包括所述平台软件可才^ft来创^:据结构,以便将位置从为功率状态转变数振床留的所述磁盘区域映射到所述闪存中的对应位置。25.根据权利要求20的设备,还包括所述平台软件可操作来配置所述数梧处理系统的芯片组,以便响应读取所述磁盘驱动器的尝试而产生中断。26.根据权利要求25的设备,其中,所述平台软件包括中断处理机,处理由所述芯片组响应所述OS读^^斤述磁盘驱动器的尝试而产生的中断。27.根据权利要求20的设备,其中,所述平台软件包括虚才財几监控器(VMM),从闪存而不是所述磁盘驱动器读取数据并且将所述数据传递到所述OS。28.根据权利要求20的设备,其中,所述平台软件包括虚杏对几监控器(VMM),#^亍的#^包括管^户虚才財几(VM)来为所述OS提供才辨环嫂;从闪存而不是所述磁盘驱动器读取所述数据;以及将所述数据传递到客户VM中的所述OS。29.根据权利要求20的设备,还包括与启动所述l^据处理系乡^f关,当所述OS正尝试将应用数据/A^斤述磁盘驱动器加鬆ijRAM时,所述平台软件可^4t知十所述OS读取所述磁盘驱动器的尝试i^f亍"^截。30.—种数据处理系统,包括处理器;对所^h理M出响应的随才;L4f^器(RAM);对所^理M出响应的闪存;对所i^理l^ft出响应的^兹盘驱动器;*#系统(OS),从RAM执行;以及虚扣对几监控器(VMM),从R/dVI才;W亍,VMM^Vf亍的才^ft包括管^^户虚扣对几(VM)来为所述OS提供^^环嫂;在将所述数据处理系MA非活动模式转变到活动模式的过程中,对所述OS读^^斤述磁盘驱动器的^ft位置的尝试进行^Jl;响应对所述OS读取所述》兹盘驱动器的尝试的拦截,自动地确定用于所述读取的^^位置是否对应于为功率状态转变数^f呆留的磁盘区域;以及响应确定所述存储位置对应于为功率状态转变数据保留的所述磁盘区域,自动地从所述闪存而不是所述磁盘驱动器读取数据,以及作为对所述OS读取J斤述磁盘驱动器的尝试的响应,将所述数据传递到客户VM中的所述os。31.根据权利要求30的数据处理系统,还包括在将所述数据处理系乡W人休目M莫式恢复的过程中,当所述OS正尝试将状态数据/A^斤述磁盘驱动器加载到RAM时,VMM可才^t知于所述OS读取所述磁盘驱动器的尝^ii行^^1。32.根据权利要求30的数据处理系统,还包括在启动所述数据处理系统的过程中,当所述OS正尝试将应用数据从所述磁盘驱动器加载到RAM时,VMM可操作^^十所述OS读取所述磁盘驱动器的尝试^i^于拦截。全文摘要本发明的名称是“用于快速改变数据处理系统的功率状态的方法和设备”。数据处理系统的特征是具有处理器,随机存取存储器(RAM),闪存,磁盘驱动器,操作系统(OS)以及平台软件。在将数据处理系统从非活动模式转变到活动模式的过程中,平台软件能够对OS读取磁盘驱动器的存储位置的尝试进行拦截。响应对OS读取磁盘驱动器的尝试的拦截,平台软件可以自动地确定用于所述读取的存储位置是否对应于为功率状态转变数据保留的磁盘区域。如果存储位置对应于为功率状态转变数据保留的区域,则平台软件可以自动从闪存而不是磁盘驱动器读取数据,并且将该数据传递到OS。描述并要求了其它实施例。文档编号G06F1/32GK101320314SQ200810144638公开日2008年12月10日申请日期2008年3月7日优先权日2007年3月8日发明者A·J·菲什,G·J·欣顿,M·A·罗思曼,M·D·金尼,M·S·多兰,V·J·齐默申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1