CN103221919B - 在操作系统(os)缺席的服务环境中供应固件的方法 - Google Patents

在操作系统(os)缺席的服务环境中供应固件的方法 Download PDF

Info

Publication number
CN103221919B
CN103221919B CN201180055215.8A CN201180055215A CN103221919B CN 103221919 B CN103221919 B CN 103221919B CN 201180055215 A CN201180055215 A CN 201180055215A CN 103221919 B CN103221919 B CN 103221919B
Authority
CN
China
Prior art keywords
firmware
computing device
volume
environment
module
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.)
Active
Application number
CN201180055215.8A
Other languages
English (en)
Other versions
CN103221919A (zh
Inventor
V·齐默
A·M·贝利
J·W·爱德华兹
R·康纳
Y·F·李
D·唐
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN103221919A publication Critical patent/CN103221919A/zh
Application granted granted Critical
Publication of CN103221919B publication Critical patent/CN103221919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

一种方法和装置,用于当计算设备从第一高功耗状态向第二低功耗状态转换时,重新实例化包括在预引导时可用的一个或多个固件功能的固件环境。固件环境确定在固件卷上的密码签名是否被验证;由固件卷的清单所请求的计算设备的硬件资源是否可用;以及固件卷的固件模块是否与固件环境的安装固件兼容。如果是,则固件环境保留存储器中的空间以容纳固件模块所使用的资源,并且执行固件模块,而计算设备在第二低功耗状态。

Description

在操作系统(OS)缺席的服务环境中供应固件的方法
技术领域
本公开一般地涉及计算设备的管理,并且更具体地,涉及独立于计算设备的操作系统在计算设备的固件环境中供应固件,同时计算设备保持在低功耗状态中。
背景技术
存在用于减少计算设备能耗的各种机制。在版本4.0的高级配置和功率接口(ACPI)中定义了用于功率管理的标准技术,其可以在公共互联网上的URL:www-acpi-info(注意使用短线替换了句点来避免在这个文档中有无意的超链接)中找到。ACPI是大多数计算机系统目前用于功率管理的标准,并且描述了计算系统如何照看操作系统(OS)。功率管理能力使得计算设备能够在部件和系统级别将其操作状态在高功耗状态和低功耗状态之间转换。操作的这些模式经常对应地称为唤醒和睡眠状态或模式。ACPI规范定义了计算设备典型可以处于的七种状态。例如,状态S3(“S3”),可以典型地称为待机、睡眠(本文中也称为“睡眠模式”),或挂起到RAM。状态S5(“S5”)可以称为关机或“关闭”。
多个事件可以致使计算设备在睡眠模式和唤醒模式之间转换,即,醒来或睡去。例如,触发计算设备转换到睡眠的睡眠事件可能包括用户休止或用户选择。当计算设备转换到睡眠时,许多计算设备部件(例如,诸如中央处理单元(CPU)的主处理器、易失性存储器、用于大容量存储的磁盘驱动器等)也可能进入睡眠。一旦睡眠,计算设备可以在发生唤醒事件时唤醒。唤醒事件可以包括,例如,通过计算设备接收来自鼠标或键盘的输入、电子邮件消息、来自远程系统管理员的查询。
在处理了唤醒事件之后,并且在OS再次运行之前,对于计算设备的固件而言有机会执行有用的工作而不用OS的参与。
附图说明
将通过在附图中示出的但非限制性的示例性实施例来描述本发明的实施例,在附图中类似的附图标记表示相似的元件,并且在其中:
图1是示出根据各个实施例的计算设备从唤醒模式向睡眠模式转换的时间线;
图2是示出根据各个实施例的独立于操作系统(OS)由固件处理唤醒事件的示例性方法的流程图;
图3是示出根据各个实施例的计算设备中的引导和唤醒周期的框图;
图4是示出根据各个实施例的示例性计算设备的框图;
图5是根据各个实施例的在硬件部件上的软件堆栈的图;
图6是根据本发明的实施例的固件卷的图;以及
图7是根据各个实施例的供应过程的流程图。
具体实施方式
本发明的说明性实施例包括,但不限于,当计算设备保持在低能耗睡眠状态时,独立于计算设备的操作系统,用于在计算设备的固件环境中供应固件模块的方法和装置。
说明性实施例的各个方面将使用本领域的技术人员所常用的术语来进行描述以向本领域的其他技术人员传递其工作实质。然而,对那些本领域技术人员显而易见的是可以仅使用所描述方面中的一些来实施可替换的实施例。出于解释目的,提出特定的数字、材料和配置以便提供对说明性实施例的彻底理解。但是,对本领域的技术人员显而易见的是没有特定细节也可以实施可替换的实施例。在其他的实例中,将忽略或简化公知的特征以便不会模糊说明性的实施例。
此外,各个操作将以最有助于理解说明性实施例的方式依次描述为多个分离的操作;但是,描述的顺序不应解释为暗示着这些操作必须是依赖于顺序的。具体地,这些操作不需要按照呈现的顺序来执行。短语“在一个实施例中”被重复地使用。该短语通常不是指同一实施例;但是,也可能是。术语“包含”、“具有”和“包括”是同义的,除非上下文另作要求。
图1是示出了根据各个实施例的计算设备从唤醒模式向睡眠模式转换 的时间线。如本文中描述的,在各个实施例中,计算设备的固件能在计算设备处于睡眠模式的同时完成工作。固件能独立于操作系统来完成这个工作,这导致功能的增加及减少用于计算设备的总体能耗。在实施例中,计算设备或系统可以是台式计算机、膝上型计算机、移动计算设备、网络服务器、瘦客户端,或配置来使用固件的其他计算设备。在实施例中,固件可以是传统基本输入/输出系统(BIOS)、可兼容的统一可扩展固件接口(例如,2006年的UEFI规范版本2.0)、可兼容的可扩展固件接口(例如,2004年的EFI规范版本1.10)或其他固件。注意,EFI是描述在计算设备固件和操作系统或其他应用环境之间的抽象可编程接口的公共产业规范。例如,EFI使得能够从各种不同的资源下载固件模块形式的固件,所述资源包括闪存设备、随选光盘(只读存储器)、各种持久性存储设备(例如,硬盘、CD-ROM(压缩盘-只读存储器)等),或者计算机网络上的一个或多个计算机系统。更多关于统一EFI(UEFI)架构的信息可以在公共互联网上的www-uefi-org(注意使用短线替换了句点来避免在这个文档中有无意的超链接)中找到。因此,如在本文中描述的,在各个实施例中,在转换到睡眠模式时,计算设备可以重新实例化包括在重引导时可用的一个或多个固件功能的UEFI或其他固件环境。在实施例中,重新实例化的固件环境可以使得固件环境能够执行通常由计算设备的OS所执行的功率管理功能。在实施例中,重新实例化的固件环境可以提供新固件模块的供应或更新现有的固件模块而不牵扯操作系统。在实施例中,可以执行新安装的或新更新的固件模块来执行用于计算系统的操作。
现在参考图1,在示出的实施例中,在111处,可以在预引导期间通过固件环境(也称为固件)初始化计算设备。在各个实施例中,并将在下文中详细讨论的,在这个预引导时间期间,在112处,固件可以保留一部分存储器或邮箱,固件随后可以从中收集数据。一旦完成预引导初始化,可将控制传递给计算设备的操作系统(OS)以继续在113处的引导过程。在OS或系统引导之后,OS可以接着在115处以功能或唤醒模式来运行或操作计算设备,这包括典型地与正常操作相关联的高能耗状态。计算设备可以继续以唤醒模式操作直到117,其中睡眠事件致使计算设备转换到睡眠模式S3,这包括低能耗状态。如在上文指出的,睡眠事件可以包括各种事件, 例如,用户选择或用户休止。
在一段时间之后,在各个实施例中,计算设备可以接收唤醒事件。在一些实施例中,唤醒事件可以包括网络事件,例如电子邮件、配置指示,或其他网络传输。在其他的实施例中,唤醒事件可以是感知输入设备的输入,触摸计算设备的键盘、接收某类型的网络分组等。可以通过系统管理中断(SMI)、控制线路改变、注册标记,或其他结构来启动唤醒事件的处理。在其他的情况中,可以通过计算设备的芯片组来启动唤醒事件的处理。此外,一些唤醒事件可以触发计算设备的加电来用于OS的处理。其他的唤醒事件(如将联系本公开的实施例在下文描述的)可以由固件来处理同时使计算设备保持在睡眠状态。
因此,在各个实施例中,独立于计算设备的OS行动的固件可以确定是否能处理唤醒事件而不将整个计算设备返回到第一高能耗状态。如果固件不能处理唤醒事件并且OS将处理唤醒事件,则在121处可以加速旋转磁盘、开启监视器,并且将计算设备恢复到完全唤醒模式。处理流程可以接着返回到115,在那里OS以唤醒模式运行或操作计算设备。但是,如果固件确定能够独立于OS来处理唤醒事件,并且不用将整个计算设备返回到第一高能耗状态,则固件能致使唤醒事件被处理。因而计算设备在119处可以继续睡眠。在一些实施例中,取决于唤醒事件并且不唤醒整个计算设备,固件可以唤醒一个或多个硬件部件或设备来服务或完成与唤醒事件相关联的任务。此外,在完成事件处理之后,固件可以将硬件部件返回到包括第二低能耗状态的睡眠模式。
注意,在实施例中,在123处,以与OS将一个或多个硬件部件转换到睡眠模型的方式相关联地,例如过滤驱动器的固件部件可以开始监视或收集数据。在各个实施例中,过滤驱动器可以将收集到的数据保存到在112处的预引导时间期间固件所保留的邮箱或一部分存储器中。固件随后可以独立地使用收集到的数据来将需要服务唤醒事件的一个或多个硬件部件转换到睡眠模式或从睡眠模式转换。在实施例中,唤醒事件可以导致执行在交运到终端用户后供应到计算设备的固件模块。
接下来,图2A和2B示出了根据本公开的各个实施例的独立于OS用于处理唤醒事件的示例性方法的流程图。在实施例中,可以由固件执行图 2A中示出的块。在实施例中,可以由OS执行图2B中示出的块。对本领域的一个技术人员显而易见的是,术语“由固件执行”是更复杂计算设备互动的速记。在单处理器系统中,例如,可以由主处理器或中央处理单元(CPU)来执行指令执行。注意,“由固件执行”可以意味着非操作系统指令可以从非易失性存储器储存器(固件)中获取,与处理器相耦合并且接着由处理器执行。处理器在加载OS之前可以访问固件。因此,引导指令可以典型地存储在固件引导块中。此外,在一些实施例中,完全引导块可以远程地驻留,并且本地引导块可以包含到完全引导块的驻留位置的指针。
在图2的实施例中,计算设备或系统可以在块201加电。计算平台可以由引导块固件在块203初步启动。驻留在引导块的外部的固件其他部分可以在初步初始化中发挥作用。注意,引导块典型地响应初始化的早期方案,例如早期存储器初始化和中央处理器初始化。初步初始化还可以包括识别和重置存储器,识别与计算设备相耦合的设备和部件等。
在示出的实施例中,作为初步初始化的一部分或其后不久,固件可以启动多个策略问题来确定计算设备的状态。在块204,固件可以确定是否能够进行睡眠启动行为。如果可以,过程继续进行到块206。如果不行,过程继续进行到块230。在实施例中,固件可以在块206问询,计算设备是否因为唤醒事件(例如,在至少一个实施例中的网络唤醒事件)被唤醒或从睡眠状态转换出来。在各个实施例中,其中计算设备没有因为网络唤醒事件而被唤醒,但是已简单地完成加电,则预引导过程可以继续进行到块208。在块208,固件可以进行高速缓存在稍后时间需要的图像。例如,可以高速缓存用于睡眠模式(例如,S3)的数据。接下来,在块210,固件在该预引导时间可以保留在计算设备的有形计算机可读存储介质中的一部分存储器。在实施例中,该部分的存储器可以用作固件的邮箱。注意,典型地计算设备资源在OS的控制之下,除非固件主动地为其自身保留这些资源。此外,在将在下文讨论的各个实施例中,涉及OS可以将一个或多个硬件部件转换为睡眠的方式的输入/输出(I/O)数据可以保存(例如,通过OS的监视部件)到邮箱中以供固件在稍后时间访问。在实施例中,还可以保留足够的存储器来允许固件重新初始化以前高速缓存的图像。
在示出的实施例中,在下一块212,固件可以继续正常的引导过程并且 OS可以进行控制并被启动。在图2B上的块214中,OS可以安装部件,例如,过滤器驱动器。如将在下文所见的,过滤器驱动器可以用作监视部件以收集涉及将硬件部件转换为睡眠模式的I/O数据。正常的OS操作可以在块216继续。在决策块218处,如果一段时间内还没有接收到输入或其他计算设备策略指示,OS可以将计算设备转换为睡眠模式。如果例如策略没有指示将计算设备转换为睡眠模式,则OS操作可以在块216继续。可替换地,返回到决策块218,如果计算设备将进入睡眠模式,则OS可以从决策块218向下继续到块220。在实施例中,OS可以接着发送消息来通知所有的或几乎所有硬件部件或硬件设备驱动器:硬件部件将转换到睡眠模式。过滤器驱动器可以在块222接收或检测这个通知,并且开始监视涉及将转换到睡眠模式的一个或多个硬件设备或部件的方式的输入/输出(I/O)数据,例如,在硬件设备接口和硬件设备驱动器之间的I/O信号。在块224,过滤器驱动器可以接着收集I/O数据并将其保存在由固件环境在预引导时间(在块210所描述的)保留的邮箱中。最后,在块226,OS已完成将计算设备转换到睡眠模式。
注意如更早提到的,在块224保存在邮箱中的I/O数据可以在稍后时间用于使固件能够在处理唤醒事件期间和/或之后使用该I/O数据。因此,例如,返回到决策块206,如果计算设备因为唤醒事件(例如,网络唤醒事件)而被唤醒,则可以跟随“是”箭头。在块228,在OS保持在睡眠模式的同时,固件可以确定网络事件是否能由固件进行处理,独立于OS并且不用唤醒或不用将整个计算设备返回到高能耗状态。如果应答是“否”,则计算设备通过正常的S3代码路径在块230恢复并且最终在块212继续正常的引导过程。但是如果应答是“是”,则固件可以致使独立于OS来处理网络事件。在一些实施例中,在块232,固件可以仅将一个或多个(但不是全部)硬件部件唤醒或转换为高能耗状态和/或启动软件以用于处理网络事件。在块235,固件可以使用高速缓存的设备I/O来将计算设备放回到S3状态,并且如果必要,将命令写入适当端口以致使发生向S3的转换。
因此,在各个实施例中,一旦计算设备转换到睡眠模式,计算设备的固件环境是重新实例化的。在实施例中,使固件环境能够执行功率管理或通常由计算设备的OS所执行的其他功能。在一些实施例中,不仅计算设备具 有将特定硬件部件(例如,那些与由计算设备在睡眠模式期间所接收到的网络传输相关联的那些部件)转换到睡眠的能力,而且固件环境能够启动多个另外的硬件或计算设备的其他部件转换到唤醒模式。在各个实施例中,固件环境能够获取涉及将任意多个硬件设备转换为睡眠模式的方式的I/O数据。可以从由固件在预引导时间期间保留的邮箱中获取这种I/O数据。在各个实施例中,固件环境能够将硬件部件转换为睡眠模式,典型地仅由OS执行功率管理功能。在各个实施例中,固件环境能够供应新的或更新的固件模块。
现在参考图3,实施例可以结合例如用于可扩展固件接口(EFI)的平台创新框架的模块S3恢复架构(草案审议,版本0.9,2003年9月16日),其在www-intel-com/technology/framework(注意句点已用短线替换来避免不必要的超链接)处可获得。典型地,例如,根据2009年5月8日公布的UFEI平台初始化(PI)规范版本2.3,可以在从S5模式(“关闭”)的引导期间调用完全实现的PI pre-EFI(PEI)模块和PI驱动器执行环境(DEX)驱动器。结果是,可以创建由pre-OS应用使用的UEFI环境,所述pre-OS应用例如为UEFI壳、第三方UEFI驱动器/随选ROM,和UEFI OS加载器。但是在S3期间,因为S3恢复时间限制,计算设备可以运行标准PI恢复流,其可以典型地仅包括PEI的子集而不包括DXE。同样地,在S3恢复模式期间,富UEFI驱动器特征可能是不可得的。但是,本公开的各个实施例可以提供,在S3期间计算设备可以实现DXE 330。因此,如在图3中所示的,S3可以包括DXE来在一些pre-OS的隔离(或OS驱动器的固定)页面中重新创建UEFI环境来用于在OS处于睡眠模式的同时运行UEFI引导服务应用。
现在参考图3,在实施例中示出,框图300示出了根据UEFI架构实现的引导和唤醒周期。在实施例中,在在加电或重置之后正常的引导301期间,可以开始预先存储器初始化安全(SEC)阶段302(“SEC 302”)。SEC 302可以支持将在计算设备上执行的初始操作代码的安全检查。接下来,在实施例中,SEC 302可以转换到CPU/存储器初始化的pre-EFI(PEI)阶段304(“PEI 304”)。例如,PEI 304可以提供用于处理器、芯片组和主板的加载和调用具体初始化(INIT)配置程序的方法。PEI 304可以发现存储器并 且准备资源图,该资源图可以切换到后来初始化的驱动器执行环境(DXE)阶段306(“DXE 306”)。DXE 306可以包括调用负责初始化处理器、芯片组和平台部件的DXE驱动器,以及提供用于控制台和引导设备的软件抽象。如在310示出的,DXE 306可以保存I/O控制器设置作为在保留存储器(例如非易失性储存器(NVS))中的引导脚本表的一部分。引导脚本可以包括在S3重新启动时重放的一组动作,以将计算设备带回到其转换到睡眠状态之前的状态。典型的引导脚本将恢复I/O设备和CPU状态信息。
如在319处看到的,在S3恢复引导时,可以实现SEC 320。接下来,在325处,S3 PEI模块可以从在310中NVS恢复PEI阶段配置,例如,芯片组(CS)、硬件(HW)和视频设置的基本恢复。因此,在实施例中,可以在OS处于睡眠中的同时在S3期间实现更新的DXE 330。可以通过若干部件或阶段来促进DXE 330,包括S3 DXE初始化程序加载(IPL)335、S3 DEX核心340、S3 DEX固件卷(FV)345、S3引导设备选择(BDS)350、S3 DXE网络代理动作355,和S3 DXE终止器360。如在上文提出的,可以用包括S3中的DXE 330的结果来实现基本上完全形成的UEFI接口的实例。典型地,在预引导阶段期间仅可以加入少量UEFI驱动器。但是在实施例中,OS驱动器可以将另外的UEFI驱动器加入到UEFI环境中。在各个实施例中,可以从交替源收集UEFI驱动器。在一些实施例中,可以在UEFI系统分区上或经由其他方法来供应这些另外的驱动器,以增加在DEX 330期间可用的UEFI驱动器的数量。
图4示出了其中驻留本公开的实施例的示例性计算设备400。在各个实施例中,计算设备400包括经由总线420耦合的各个元件。如所示的,元件可以包括处理器401、存储器410、芯片组403、硬件设备460、非易失性储存器430(例如闪速存储器)和通信接口415。可以向芯片组403赋予之前描述的固件。存储器410可以包括OS 422、之前描述的邮箱435,和设备驱动器480。处理器401可以是能够执行软件的任意类型的处理器,例如微处理器、数字信号处理器、微控制器等。虽然图4仅示出了一个这样的处理器401,但是在计算设备400中可以有一个或多个处理器并且一个或多个处理器可以包括多线程、多核心等。在各个实施例中,通过监视在一个或多个硬件设备406的硬件接口和设备驱动器480之间进行通信的总线420上的I/O信号,BIOS 433的固件模块可以确定或收集信息,所述信息涉及一个或多个硬件设备460在第一高功耗状态和第二低功耗状态之间的转换。虽然在睡眠状态中,但是固件可以如之前描述的那样处理一个或多个网络或唤醒事件。
通信接口415可以包括例如网络接口卡(NIC)等的网络接口。NIC可以经由例如局域网(LAN)的串行接口来可通信地耦合到包括一个或多个远程服务器482的互联网/网络475。通信接口可以支持传输控制协议/互联网协议(TCP/IP)、超文本传输协议(HTTP),或简单对象访问协议(SOAP),或其他通信协议。NIC可以使用其他方式来通过网络进行通信,例如,集成驱动电路(IDE)重定向(未示出)或其他方式。注意在实施例中,处理唤醒事件可以包括但不限于,响应特定分组类型、使动态主机配置协议(DHCP)保持租赁活跃、低功率后台活动,例如,为存储器进行病毒扫描,和远程文件备份/恢复等。在示出的实施例中,芯片组403还可以包括用于基本输入输出系统(BIOS)409的软件接口。
图5是根据各个实施例的在硬件部件上的软件堆栈的图。在实施例中,在用户OS可见的环境中,低功率更新/下载(LPUD)应用500和相关联的LPUD服务应用程序接口(API)502可以插置在独立软件供应商(ISV)应用程序504、506、508和存储软件堆栈510(其与串行高级传输架构(SATA)控制器512进行通信)之间。SATA控制器与储存设备(在图5中未示出)进行通信。LPUD应用在OS缺席状态执行各种行动;这些行动能够包括用于病毒签名(例如,反病毒客户端)的磁盘扫描、将磁盘内容远程备份到云计算备份服务器(例如,备份客户端),或作为文件服务器(例如,将MP3或MP4用于车内娱乐PC,同时膝上电脑的主OS是挂起的并且膝上电脑处于LPUD状态)。LPUD服务API以不破坏文件系统的方式(例如读操作)提供对磁盘的访问,使得当主OS唤醒时,其不会发现磁盘处于损坏的状态。LPUD服务API还提供套接字库来执行发送和接收操作,以便支持备份(例如,发送来自客户端的数据)和防病毒(AV)扫描(例如,接收签名文件)。一旦主OS唤醒,用户OS端可以从LPUD接收状态信息,或当用户OS不忙时,用户OS可以启动到LPUD状态的转移。还有,用户OS将提供用于LPUD应用的带内行动的控制台,包括但不限于,选择参加 (opting-in)以及决定隔绝多少存储器用于LPUD(因为该物理存储器不再属于用户OS并且影响性能)。
在实施例中,在固件环境中,EFI BIOS 514(存储在NVS 430中作为图4的BIOS433)包括至少若干个部件。新技术文件系统(NTFS)驱动器516与硬驱动器518通信以读和写数据。网络接口控制器(NIC)驱动器520与NIC 522通信以在与计算设备耦合的网络上读和写数据。如在UEFI 2.3规范的附录E.2命令和数据块(CDB)所定义的,WiFi分隔片(shim)提供UEFI UNDI接口,其向计算平台中的无线Nic(W-NIC)提供原始数据报读和写;这能够包括第三方W-NIC或基于管理引擎(ME)的W-INC,其中UNDI CDB通过芯片组(可从Intel公司商业获取)的主机扩展命令接口(HECI)进行代理。可以包括可管理引擎(ME)526来提供带外芯片组面向网络管理能力。EFI LPUD代理528调整供应新固件模块和/或更新现存的固件模块,与此同时计算设备处于睡眠状态。可以包括超文本传输协议(HTTP)/HTTP安全(HTTPS)插件530来影响LibSocket,并且可以包括Lib C包装器532来提取类POSIX编程API。固件模块534包括新的或更新的固件模块,该固件模块可以从ISV获得并且安装到如本文所公开的计算设备中。在实施例中,EFI BIOS 514还可以包括S3 DXE使能标志536和公共验证密钥538(在一个实施例中称为Kpub_s3extention_verification)。
在实施例中,计算设备具有在工厂制造过程期间安装在系统板上的EFI BIOS固件和至少一个S3 DX IPL固件模块。在EFI BIOS中的S3 DXE使能标志536可以在制造时设置为“假”。随后可以将计算设备运送给用户。虽然由用户进行操作,但是计算设备可以经由S4状态(休眠)或S5状态(全功率周期)引导到OS中。用户可以经由OS和传统的网络浏览器访问所选的网站来下载S3 DXE固件卷。
图6是根据本发明的实施例的S3 DXE固件卷600的图。固件卷600包括二进制文件,该二进制文件具有固件卷卷头608和覆盖固件卷内容的密码签名606。固件卷600还包括一个或多个固件模块602。在实施例中,固件模块具有“.efi”文件扩展名。在实施例中,固件模块包括驱动器。固件模块602包括用于一个或多个S3 DXE IPL固件模块的固件二进制代码。在本发明的实施例中,如本文中进一步所述地,固件模块可以从固件卷中读 取、安装在非易失性储存器430中,并且可以在低功耗状态期间执行。固件卷还包括清单604。清单604声明了当执行S3 DXE固件卷时将消耗或使用什么样的计算设备硬件资源(I/O设备、存储器等)。S3 DXE固件卷之前由第三方(例如,独立软件供应商(ISV)、原来的设备制造商(OEM),或独立的BIOS供应商(IBV))使用具有相关联的私钥(Kpir_s3extension_verification)的签名服务器进行签名。
OS在场应用程序可以接着提示用户查询用户是否希望安装S3 DXE扩展固件模块。如果用户确实想要安装固件模块,则在一个实施例中OS在场应用以到存储在非易失性储存器中的S3 DXE固件卷的指针调用UpdateCapsule UEFI运行时服务。当重新启动(热启动或S3状态,取决于EFI BIOS固件如何实现UpdateCapsule运行时服务,其应当对用户是不透明的)时,EFI BIOS固件在非易失性储存器中检测S3 DXE固件卷的存在。
图7是根据各个实施例的供应过程的流程图。在实施例中,在计算设备处于如图3所示的睡眠状态中的同时可以执行这个过程。在块700,EFI BIOS固件确定在S3 DXE固件卷上的密码签名606是否使用公共验证密钥(Kpub_s3extension_verification)进行验证。如果验证,则在块702,EFI BIOS固件检查以确定固件卷清单所请求的硬件资源是否可用。如果可用,则在块704,EFI BIOS确定在固件卷中的固件模块是否与现有的已安装固件(例如,已满足其独立性,是目前正确的指令集架构等)兼容。如果兼容,则在块706,EFI BIOS在非易失性存储器中保留足够大的存储器空间来支持将被来自固件卷的新的或更新的固件模块所使用的资源。在块708,EFI BIOS设置S3 DXE使能标志为“真”。如果在块700、702和704,有任何检查失败,则过程继续到块710。在块710,EFI BIOS创建系统表条目。系统表具有如UEFI 2.3规范的4.6节所描述的EFI配置表。其允许安装由供应商GUID所命名的一系列额外的表。在这种情况下,EFI BIOS将创建具有布尔值的表,布尔值“真”用于成功而布尔值“假”用于失败。系统表条目包括响应于UpdateCapsule运行时服务调用来将涉及固件模块的执行的状态值返回到OS的状态结构。这是在离开S3并唤醒系统之后完成的,以便将来自嵌入式S3处理环境的状态信息传递回主要的主机OS。在块712,如果S3 DXE使能标志是“真”,则在块714返回成功状态,并且可以执行 固件模块。否则,在块716可以返回失败状态。
在实施例中,为所使用的硬件资源提供存储器的可替换方法是:为OS“固定(pin)”或保留S3 DXE固件模块将使用的OS页,并将(可能是分散的)页列表传递到UpdateCapsule运行时服务调用。因此,固件不会从OS存储器映射窃取存储器,而是相反地将从OS取得分散的页列表,并且使得这些页在其后是“固件保留的”,并且使用它们用于启动S3 DXE固件模块。
在实施例中,OS安装器能将S3 DXE固件卷放入到在UEFI服务分区的目录中,并且经由UpdateCapsule调用来传递固件卷的位置。在另一实施例中,EFI BIOS可以探测用于固件卷的UEFI系统分区。在任一情况下,EFI BIOS在将固件卷的内容拷贝到连续的S3 DXE激活所使用的存储器之前,用密码来验证固件卷的内容。
在实施例中,在连续的S3恢复时,如果S3 DXE使能标志是“真”,则EFI BIOS可以在返回到睡眠和/或将控制传递到OS恢复矢量之前,启动S3 DXE IPL和来自S3 DXE固件卷的相关联固件模块。
因此,已描述了单触供应模式,在其中OS作主机的安装器能在低功耗状态下激活固件模块下载能力。这种能力可以在计算设备已交运到用户之后激活。这允许实体提供S3DXE IPL代码和验证密钥基础设施到第三方作为EFI BIOS中的小“钩子”,但是在交运之后,能够将固件卷加入到计算设备以用于在OS挂起的S3 DXE环境中执行。
本文中描述的技术并不限制于任何特定的硬件或软件配置;其可以在任何计算、消费性电子产品或处理环境中找到适用性。该技术可以用硬件、软件,或二者组合来完成。该技术可以用在可编程机器上执行的程序来实现,所述可编程机器例如为移动的或静止的计算机、个人数字助理、机顶盒、蜂窝电话和寻呼机、消费性电子设备(包括DVD播放器、个人视频录像机、个人视频播放器、卫星接收器、立体声接收器、有线TV接收器),和其他电子设备,其可以包括处理器、处理器可访问的存储介质(包括易失性的和非易失性的存储器和/或储存元件),至少一个输入设备,和一个或多个输出设备。本领域的一个普通技术人员可以理解,本公开能够用各种系统配置来实施,包括多处理器系统、迷你计算机、大型机计算机、独立 的消费电子设备等。本发明还能在分布式计算环境中实施,其中任务或其部分可以由通过通信网络链接的远程处理设备来执行。
程序指令可用于致使使用指令编程的通用或专用处理系统来执行本文中描述的一些操作。可替换地,可以由包含用于执行操作的硬线逻辑的特定硬件部件,或通过编程的计算机部件和定制硬件部件的任意组合,来执行操作。本文中描述的方法可以作为计算机程序产品来提供,其可以包括具有存储在其上的指令的机器可访问介质,所述指令可用于编程处理系统或其他电子设备来执行所述方法。本文中使用的术语“计算机可读介质”应包括能够存储或编码一系列指令的任意介质,所述指令由计算设备执行且致使计算设备执行本文中描述方法中的任意一个。术语“计算机可读介质”应相应地包括但不限于,固态存储器和光盘和磁盘。此外,在本领域中因采取行动或引起结果以一种形式或另一种形式(例如,编程、程序、过程、应用、模块、逻辑等)提及软件是常见的。这样的表达仅是陈述由处理系统执行软件来致使处理器执行行动或产生结果的简短方式。

Claims (20)

1.一种用于将固件模块供应到计算设备的方法,所述方法包括:
当所述计算设备在第一高功耗状态时,将包括至少一个固件模块的固件卷下载到所述计算设备,所述固件卷包括声明在第二低功耗状态期间将由所述至少一个固件模块所使用的所述计算设备的硬件资源的清单;
当将所述计算设备从所述第一高功耗状态向所述第二低功耗状态转换时,重新实例化包括在预引导时可用的一个或多个固件功能的固件环境;
通过所述固件环境确定在所述固件卷上的密码签名是否被验证;
通过所述固件环境确定由所述固件卷的清单所请求的所述计算设备的硬件资源是否可用;
通过所述固件环境确定所述固件卷的至少一个固件模块是否与所述固件环境的安装固件兼容;
保留存储器中的空间以容纳所述至少一个固件模块所使用的资源;以及
使用处于所述第二低功耗状态的计算设备执行所述至少一个固件模块。
2.根据权利要求1所述的方法,其中,所述固件卷包括卷头、覆盖所述固件卷的内容的密码签名、以及所述至少一个固件模块。
3.根据权利要求2所述的方法,其中,所述至少一个固件模块包括用于一个或多个EFIS3 DXE IPL固件驱动器的二进制代码。
4.根据权利要求3所述的方法,其中,所述固件环境包括在制造所述计算设备时被设置为“假”的S3 DXE使能标志,并且还包括当所述密码签名已被验证、所述硬件资源可用,并且所述至少一个固件模块是兼容的时,将所述S3 DXE使能标志设置为“真”。
5.根据权利要求4所述的方法,还包括:在连续的ACPI S3恢复时,如果S3 DXE使能标志为“真”,则在将控制传递到操作系统恢复矢量之前,启动所述S3 DXE和来自所述固件卷的相关联的固件模块。
6.根据权利要求1所述的方法,其中,由不是所述计算设备的制造商的一方提供所述固件卷并对其进行签名,并且所述固件卷在交运给用户之后安装到所述计算设备。
7.根据权利要求1所述的方法,还包括:创建具有状态结构的系统表条目,以用于将关于所述至少一个固件模块执行的状态值返回到所述计算设备的操作系统。
8.一种计算设备,包括:
处理器;
被配置为由所述处理器操作的固件环境;
其中,所述固件环境包括多个用于将所述计算设备引导到消耗第一功率级别的操作状态的固件功能;
其中,当所述计算设备在所述操作状态时,所述处理器将包括至少一个固件模块的固件卷下载到所述计算设备,所述固件卷包括声明在比所述第一功率级别更低的第二功率级别期间将由所述至少一个固件模块所使用的所述计算设备的硬件资源的清单;
其中,所述固件环境还被配置为重新实例化以包括用于当所述计算设备从所述操作状态转换到消耗所述第二功率级别的睡眠状态时,引导所述计算设备的所述固件功能的至少一个子集,以使得所述固件环境能够
通过所述固件环境确定在所述固件卷上的密码签名是否被验证;
通过所述固件环境确定由所述固件卷的清单所请求的所述计算设备的硬件资源是否可用;
通过所述固件环境确定所述固件卷的至少一个固件模块是否与所述固件环境的安装固件兼容;
保留存储器中的空间以容纳所述至少一个固件模块所使用的资源;以及
使用处于所述睡眠状态的计算设备执行所述至少一个固件模块。
9.根据权利要求8所述的计算设备,其中,所述固件卷包括卷头、覆盖所述固件卷的内容的密码签名、以及所述至少一个固件模块。
10.根据权利要求9所述的计算设备,其中,所述至少一个固件模块包括用于一个或多个EFI S3 DXE IPL固件驱动器的二进制代码。
11.根据权利要求10所述的计算设备,其中,所述固件环境包括在制造所述计算设备时被设置为“假”的S3 DXE使能标志,并且其中当所述密码签名已被验证、所述硬件资源可用,并且所述至少一个固件模块是兼容的时,所述固件环境将S3 DXE使能标志设置为“真”。
12.根据权利要求11所述的计算设备,其中,在连续的ACPI S3恢复时,如果S3 DXE使能标志为“真”,则在将控制传递到操作系统恢复矢量之前,所述固件环境启动所述S3 DXE和来自所述固件卷的相关联的固件模块。
13.根据权利要求8所述的计算设备,其中,由不是所述计算设备的制造商的一方提供所述固件卷并对其进行签名,并且所述固件卷在交运给用户之后安装到所述计算设备。
14.根据权利要求8所述的计算设备,其中,所述固件环境创建具有状态结构的系统表条目,以用于将关于所述至少一个固件模块执行的状态值返回到所述计算设备的操作系统。
15.一种向计算设备供应固件模块的装置,所述装置包括:
用于当将所述计算设备从第一高功耗状态向第二低功耗状态转换时,重新实例化包括在预引导时可用的一个或多个固件功能的固件环境的单元;
用于当所述计算设备在所述第一高功耗状态时,将包括至少一个固件模块的固件卷下载到所述计算设备的单元,所述固件卷包括声明在所述第二低功耗状态期间将由所述至少一个固件模块所使用的所述计算设备的硬件资源的清单;
用于通过所述固件环境确定在所述固件卷上的密码签名是否被验证的单元;
用于通过所述固件环境确定由所述固件卷的清单所请求的所述计算设备的硬件资源是否可用的单元;
用于通过所述固件环境确定所述固件卷的至少一个固件模块是否与所述固件环境的安装固件兼容的单元;
用于保留存储器中的空间以容纳所述至少一个固件模块所使用的资源的单元;以及
用于使用处于所述第二低功耗状态的计算设备执行所述至少一个固件模块的单元。
16.根据权利要求15所述的装置,其中,所述固件卷包括卷头、覆盖所述固件卷内容的密码签名、以及所述至少一个固件模块。
17.根据权利要求16所述的装置,其中,所述至少一个固件模块包括用于一个或多个EFI S3 DXE IPL固件驱动器的二进制代码。
18.根据权利要求17所述的装置,其中,所述固件环境包括在制造所述计算设备时被设置为“假”的S3 DXE使能标志;并且还包括用于当所述密码签名已被验证、所述硬件资源可用、并且所述至少一个固件模块是兼容的时,设置所述S3 DXE使能标志为“真”的单元。
19.根据权利要求18所述的装置,还包括用于执行以下的单元:在连续的ACPI S3恢复时,如果S3 DXE使能标志为“真”,则在将控制传递到操作系统恢复矢量之前,启动所述S3DXE和来自所述固件卷的相关联的固件模块。
20.根据权利要求15所述的装置,还包括用于执行以下的单元:创建具有状态结构的系统表条目,以用于将关于所述至少一个固件模块执行的状态值返回到所述计算设备的操作系统。
CN201180055215.8A 2010-11-16 2011-11-07 在操作系统(os)缺席的服务环境中供应固件的方法 Active CN103221919B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/947,485 2010-11-16
US12/947,485 US8607040B2 (en) 2010-11-16 2010-11-16 Method of provisioning firmware in an operating system (OS) absent services environment
PCT/US2011/059615 WO2012067882A2 (en) 2010-11-16 2011-11-07 Method of provisioning firmware in an operating system (os) absent services environment

Publications (2)

Publication Number Publication Date
CN103221919A CN103221919A (zh) 2013-07-24
CN103221919B true CN103221919B (zh) 2017-04-12

Family

ID=46048900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180055215.8A Active CN103221919B (zh) 2010-11-16 2011-11-07 在操作系统(os)缺席的服务环境中供应固件的方法

Country Status (8)

Country Link
US (1) US8607040B2 (zh)
EP (1) EP2641168B1 (zh)
JP (1) JP5606633B2 (zh)
KR (1) KR101512252B1 (zh)
CN (1) CN103221919B (zh)
AU (1) AU2011329330B2 (zh)
TW (1) TWI524205B (zh)
WO (1) WO2012067882A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069280A (zh) * 2018-01-23 2019-07-30 纬创资通股份有限公司 电子装置与其固件更新方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9721101B2 (en) 2013-06-24 2017-08-01 Red Hat, Inc. System wide root of trust chaining via signed applications
US8607040B2 (en) 2010-11-16 2013-12-10 Intel Corporation Method of provisioning firmware in an operating system (OS) absent services environment
EP2656169A4 (en) 2010-12-21 2016-11-09 Intel Corp SYSTEM AND METHOD FOR PERFORMANCE MANAGEMENT
EP2690828B1 (en) * 2011-03-23 2017-08-30 Panasonic Corporation Station, target apparatus, initiator apparatus, communication system, and communication method
US8843915B2 (en) * 2011-07-28 2014-09-23 Hewlett-Packard Development Company, L.P. Signature-based update management
US20130042231A1 (en) * 2011-08-10 2013-02-14 Ford Global Technologies, Llc Methods and Apparatus for Software Updating
TW201337760A (zh) * 2012-03-09 2013-09-16 Phoenix Tech Ltd 呼叫基本輸入輸出系統之韌體執行時間服務之方法
US9031712B2 (en) * 2012-06-30 2015-05-12 Intel Corporation Remote management and control of vehicular functions via multiple networks
DE112012006333T5 (de) * 2012-07-26 2015-01-22 Hewlett-Packard Development Company, L.P. Periodischer Zugriff auf eine Hardwareressource
US9189225B2 (en) 2012-10-16 2015-11-17 Imprivata, Inc. Secure, non-disruptive firmware updating
US20140208133A1 (en) * 2013-01-23 2014-07-24 Dell Products L.P. Systems and methods for out-of-band management of an information handling system
US9535488B2 (en) 2013-08-28 2017-01-03 Via Technologies, Inc. Multi-core microprocessor that dynamically designates one of its processing cores as the bootstrap processor
US9792112B2 (en) 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
US9465432B2 (en) 2013-08-28 2016-10-11 Via Technologies, Inc. Multi-core synchronization mechanism
US9881162B2 (en) * 2013-09-12 2018-01-30 Insyde Software Corp. System and method for auto-enrolling option ROMS in a UEFI secure boot database
KR101861724B1 (ko) * 2013-10-31 2018-05-29 인텔 코포레이션 사전 부팅 펌웨어 갱신을 위한 선택적인 전력 관리
DE102014008479A1 (de) * 2014-06-07 2015-12-17 Audi Ag Kraftfahrzeug-Steuergerät mit Stromsparmodus für eine Parkphase
EP3161657B1 (en) 2014-06-24 2020-07-22 Intel Corporation Firmware sensor layer
US9785801B2 (en) * 2014-06-27 2017-10-10 Intel Corporation Management of authenticated variables
US20160092877A1 (en) * 2014-09-25 2016-03-31 Yen Hsiang Chew Secure user authentication interface technologies
CN106293898A (zh) * 2015-05-20 2017-01-04 张远虎 多线程设计方法
US9965270B2 (en) * 2015-07-01 2018-05-08 Quanta Computer Inc. Updating computer firmware
CN108351923B (zh) * 2016-01-28 2021-10-01 惠普发展公司,有限责任合伙企业 与统一可扩展固件接口系统可执行的脚本有关的阈值
US10228930B2 (en) * 2016-01-28 2019-03-12 Microsoft Technology Licensing, Llc Offloading network connectivity and execution tasks to an assistant device
CN107533441B (zh) * 2016-02-12 2020-12-25 慧与发展有限责任合伙企业 创建操作系统卷
CN111488048B (zh) * 2016-02-14 2023-05-16 华为技术有限公司 一种电源管理方法以及系统
JP2017162283A (ja) * 2016-03-10 2017-09-14 富士通株式会社 スマート装置、スワップ方法及びスワッププログラム
US10171452B2 (en) * 2016-03-31 2019-01-01 International Business Machines Corporation Server authentication using multiple authentication chains
US10146606B2 (en) * 2016-04-06 2018-12-04 Dell Products, Lp Method for system debug and firmware update of a headless server
US11243782B2 (en) 2016-12-14 2022-02-08 Microsoft Technology Licensing, Llc Kernel soft reset using non-volatile RAM
US10262158B1 (en) 2017-07-27 2019-04-16 American Megatrends, Inc. Restricting the use of a firmware tool to a specific platform
CA3073751C (en) 2017-09-06 2023-08-15 Absolute Software Corporation Secure firmware interface
US11269606B2 (en) * 2017-12-13 2022-03-08 Absolute Software Corporation Firmware publication of multiple binary images
US11379214B2 (en) * 2019-03-29 2022-07-05 Intel Corporation Runtime firmware activation for memory devices
US11068035B2 (en) * 2019-09-12 2021-07-20 Dell Products L.P. Dynamic secure ACPI power resource enumeration objects for embedded devices
US20230030973A1 (en) * 2020-01-10 2023-02-02 Hewlett-Packard Development Company, L.P. Change of firmware settings
US11126518B1 (en) * 2020-03-16 2021-09-21 Quanta Computer Inc. Method and system for optimal boot path for a network device
US11392365B2 (en) * 2020-12-14 2022-07-19 International Business Machines Corporation Optimizing device update scheduling
US11960389B2 (en) 2021-10-29 2024-04-16 International Business Machines Corporation Compatibility testing of a component with an unknown software and/or firmware version in a multi-component system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992611A (zh) * 2005-12-30 2007-07-04 联想(北京)有限公司 移动计算装置及其接收数据包的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691234B1 (en) * 2000-06-16 2004-02-10 Intel Corporation Method and apparatus for executing instructions loaded into a reserved portion of system memory for transitioning a computer system from a first power state to a second power state
US7017040B2 (en) 2003-12-04 2006-03-21 Intel Corporation BIOS update file
US7185190B2 (en) * 2003-12-29 2007-02-27 Intel Corporation Pushing capabilities into firmware by an operating system
US7818614B2 (en) * 2004-10-25 2010-10-19 Hewlett-Packard Development Company, L.P. System and method for reintroducing a processor module to an operating system after lockstep recovery
US7383450B2 (en) 2004-12-22 2008-06-03 Intel Corporation Low power firmware
US20060149713A1 (en) * 2005-01-06 2006-07-06 Sabre Inc. System, method, and computer program product for improving accuracy of cache-based searches
US7373537B2 (en) * 2005-06-28 2008-05-13 Intel Corporation Response to wake event while a system is in reduced power consumption state
US7506144B2 (en) * 2005-11-21 2009-03-17 Intel Corporation Dynamic pre-operating system billboard service
US20090132839A1 (en) 2007-11-15 2009-05-21 Rothman Michael A Method and device to handle denial of service attacks on wake events
US8230237B2 (en) 2007-12-06 2012-07-24 Intel Corporation Pre-boot environment power management
US8327174B2 (en) 2009-03-20 2012-12-04 Hewlett-Packard Development Company, L.P. Loading operating systems using memory segmentation and ACPI based context switch
US8806231B2 (en) * 2009-12-22 2014-08-12 Intel Corporation Operating system independent network event handling
US8607040B2 (en) 2010-11-16 2013-12-10 Intel Corporation Method of provisioning firmware in an operating system (OS) absent services environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992611A (zh) * 2005-12-30 2007-07-04 联想(北京)有限公司 移动计算装置及其接收数据包的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069280A (zh) * 2018-01-23 2019-07-30 纬创资通股份有限公司 电子装置与其固件更新方法

Also Published As

Publication number Publication date
WO2012067882A3 (en) 2012-07-05
AU2011329330A1 (en) 2013-07-04
US8607040B2 (en) 2013-12-10
JP2013543627A (ja) 2013-12-05
WO2012067882A2 (en) 2012-05-24
CN103221919A (zh) 2013-07-24
KR101512252B1 (ko) 2015-04-14
EP2641168A4 (en) 2015-01-21
JP5606633B2 (ja) 2014-10-15
US20120124357A1 (en) 2012-05-17
TW201234209A (en) 2012-08-16
TWI524205B (zh) 2016-03-01
EP2641168B1 (en) 2019-08-21
KR20130107313A (ko) 2013-10-01
AU2011329330B2 (en) 2016-05-19
EP2641168A2 (en) 2013-09-25

Similar Documents

Publication Publication Date Title
CN103221919B (zh) 在操作系统(os)缺席的服务环境中供应固件的方法
KR101245442B1 (ko) 오퍼레이팅 시스템에 독립적인 네트워크 이벤트 핸들링
US20200012492A1 (en) Secure iot device update
CN105677431B (zh) 将后台工作和前台工作解耦合
EP2442205B1 (en) Method and apparatus for managing power from a sequestered partition of a processing system
US10061596B2 (en) Systems and methods for loading firmware modules
US7584374B2 (en) Driver/variable cache and batch reading system and method for fast resume
WO2016028988A1 (en) Managing applications for power conservation
WO2019028854A1 (zh) 一种虚拟机的状态管理方法、装置和智能终端
CN101268442A (zh) 远程数据处理系统的配置
WO2022199335A1 (zh) 服务器部件固件升级的控制方法、装置、设备及存储介质
US20220012150A1 (en) Methods and apparatus to manage endpoint performance
US11354259B1 (en) Computer system configurations based on accessing data elements presented by baseboard management controllers
WO2022036670A1 (en) Methods and apparatus to perform an enhanced s3 protocol to update firmware with a boot script update
WO2022040911A1 (en) Methods and apparatus to perform pseudo-s3 protocol to update firmware and/or activate new firmware with warm reset
US11500449B1 (en) Adaptive remediation for modern standby
CN104142832A (zh) 电脑装置及其重开机方法
US11928528B2 (en) Container in container method to confine privileged mode execution during host data exchange in a containerized environment
US20230350756A1 (en) Out of band method to change boot firmware configuration
US20210286629A1 (en) Dynamically determined bios profiles
WO2023196028A1 (en) Secure wipe of data processing unit using firmware capsule

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant