CN102081534A - 自动模块化且安全的引导固件更新 - Google Patents
自动模块化且安全的引导固件更新 Download PDFInfo
- Publication number
- CN102081534A CN102081534A CN2010105726666A CN201010572666A CN102081534A CN 102081534 A CN102081534 A CN 102081534A CN 2010105726666 A CN2010105726666 A CN 2010105726666A CN 201010572666 A CN201010572666 A CN 201010572666A CN 102081534 A CN102081534 A CN 102081534A
- Authority
- CN
- China
- Prior art keywords
- boot firmware
- upgrading
- module
- firmware
- firmware code
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot device selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
一种用于自动模块化且安全的引导固件更新的方法、装置、系统和计算机程序产品。在系统的安全分区中接收经更新的引导固件代码模块,该经更新的引导固件代码模块用于代替用于该系统的一个原始引导固件代码模块。仅该一个原始引导固件代码模块自动地被该经更新的引导固件代码模块所代替。当系统下次被引导时,与用于该系统的多个引导固件代码模块一起且在无用户干预的情况下自动执行该经更新的引导固件代码模块。该经更新的引导固件代码模块可被写入固件卷的更新分区,其中当系统被引导时,固件卷的更新分区和该固件卷中包含该多个引导固件代码模块的其他分区被一并读取。
Description
版权声明
此处包含的是受版权保护的资料。版权拥有者不反对任何人如出现在专利商标局的专利文件或记录中那样复制本专利公开,但是无论如何保留版权的其他所有权利。
技术领域
本发明一般涉及维护计算机系统中的BIOS和引导固件代码。
背景技术
最初为IBM PC兼容计算机开发的基本输入/输出系统(BIOS),也称为系统BIOS,是定义固件接口的实际标准。BIOS是引导固件,设计为由PC在上电时运行的第一个代码。BIOS的初始化功能是识别、测试并初始化系统设备,例如视频显示卡、硬盘、软盘和其它硬件。这将机器准备为已知状态,因此存储在兼容介质中的软件(例如操作系统)可被加载、执行并控制PC。该过程被称为引导(booting)或启动(booting up),即自引导(bootstrapping)的简称。
BIOS程序提供基本输入/输出功能的小型库,该库可被调用以操作并控制外围设备,例如键盘、文本显示功能等。系统上电时,BIOS检查系统配置设置并将程序加载到存储器中,该程序作为硬件组件和操作系统之间的转换器。例如,当用户按下键盘上的某个键时,信号被发送到键盘中断处理程序,中断处理程序告知处理器这是什么并将其传输到操作系统。
BIOS是为IBM PC所开发的,当时处理器是以16位处理器模式起作用的并且可寻址的存储器被限于1M字节,而且代码反映了IBM PC AT硬件依赖性。随后开发的用于32位处理器的操作系统开始包括设备驱动程序以处理I/O,而不依赖于调用BIOS提供的16位的运行时接口。这些设备驱动程序通常由平台固件提供并在加载操作系统之前的BIOS初始化期间加载到存储器。可扩展固件接口(EFI)是定义操作系统和平台固件之间的软件接口的规范。EFI定义了:引导服务,包括对各种设备、总线、块和文件服务的文本和图形控制台支持;以及运行时服务,例如日期、时间和NVRAM服务。更多有关EFI规范的信息可参考URL developer-intel-com/technology/efi/main_specification.htm(其中此处描述的URL省略了http://’前缀且将‘.’字符代替为‘-’字符以避免文档内出现活跃的超链接)。
附图说明
图1是根据本发明一个实施例的配置成实现自动模块化引导固件更新的系统的框图。
图2示出了根据本发明一个实施例实现自动模块化引导固件更新的图1的系统的更多细节。
图3是示出根据本发明一个实施例在引导固件模块化更新管理器和企业引导固件模块化更新服务之间的交互以执行自动模块化引导固件更新的流程图。
图4示出了本发明实施例的组件操作期间的引导序列的各个阶段。
图5是根据本发明一个实施例在引导系统时执行模块化引导固件更新的方法的流程图。
图6是根据本发明一个实施例的在已执行自动模块化引导固件更新之后引导系统的流程图。
图7示出了根据本发明一个实施例的用于实现引导固件模块化更新管理器的虚拟机环境。
具体实施方式
本发明的实施例可提供用于执行模块化引导固件更新的方法、装置、系统和计算机程序产品。在常规情况下,通过提供BIOS/引导固件代码模块的整体镜像并请求本地用户重启系统以安装BIOS/引导固件更新来执行BIOS和平台固件更新。
在一个实施例中,一种方法包括:接收经更新的引导固件代码模块以代替用于系统的多个引导固件代码模块中的一个引导固件代码模块,并且当系统被引导时,自动使得加载该经更新的引导固件代码模块而非上述的那一个引导固件代码模块。当系统被引导时,经更新的引导固件代码模块仅代替上述的那一个引导固件代码模块而非用于该系统的所有引导固件代码模块。
自动使得加载经更新的引导固件代码模块可在无系统用户的动作的情况下执行。在一个实施例中,该方法进一步包括将该经更新的引导固件代码模块写入固件卷的更新分区,其中当系统被引导时,固件卷的更新分区和该固件卷中包含这些引导固件代码模块的其他分区被一并读取。该方法可包括在将该经更新的引导固件模块写入固件卷的更新分区之前认证该经更新的引导固件模块的完整性。
在一个实施例中,经更新的引导固件模块是由服务器通过耦合到微处理器的带外通信信道提供的。该方法可进一步包括在接收该经更新的引导固件模块之前认证该服务器的完整性。如果在加载该经更新的引导固件模块期间出现问题,则该方法可包括使得加载该一个原始引导固件模块。在一个实施例中,该方法进一步包括在系统被引导之后向从其接收该经更新的引导固件模块的服务器提供该经更新的引导固件模块的安装状态。
本发明是对传统的BIOS/平台固件整体镜像更新过程的改进,并允许BIOS和平台固件的模块化更新和安全更新。本发明使得能对特定的BIOS/平台固件代码模块/驱动程序或应用程序执行更新。随着平台固件逐步复杂化并提供重要的功能(例如安全特征),企业管理服务器现在能够立即纠正和提供BIOS和平台固件的缺陷,而无需原始设备制造商提供该系统的闪存的整个BIOS/平台固件区域的新的整体镜像。
本发明说明书中引述的“一个实施例”或“实施例”是指结合该实施例描述的特定的特征、结构或特性被包括在本发明的至少一个实施例中。因此,贯穿说明书各处出现的短语“在一个实施例中”,“根据一个实施例”或类似表达并不一定全部指同一实施例。
出于说明起见,阐述了特定的配置和细节以提供对本发明的透彻理解。但是,本领域普通技术人员将明白,本发明的实施例可在没有此处给出的特定细节的情况下实现。而且,公知的特征可被忽略或简化以免使本发明含糊。说明书中可给出各种示例。这些仅仅是本发明特定实施例的说明。本发明的范围并不限定于给出的示例。
在一个实施例中,模块化引导固件更新服务在安全分区中提供,安全分区提供了隔离且受控的环境,用于从企业平台管理服务接收引导固件代码模块更新。该安全分区确保对系统的引导固件代码的更新被验证为起源于得到授权的源。该隔离且安全的引导固件模块化更新服务环境可包括多种不同类型的分区,包括完整独立的硬件分区(例如,使用英特尔公司的管理引擎(“ME”),活动管理技术“AMT”),平台资源层(“PRL”)和/或其他相当的或类似的技术)和/或虚拟化分区(例如英特尔公司的虚拟化技术(“VT”)方案中的虚拟机)。本领域普通技术人员应明白,虚拟化主机也可用于实现ME、AMT和PRL技术(以下参见图7进一步详述)。
图1是根据本发明一个实施例的配置成实现模块化引导固件更新的系统的框图。对应于主机计算机系统的平台100包括处理器110,该处理器通过桌面管理接口(DMI)111连接到芯片组120。处理器110向平台100提供处理能力,并且可以是单核或多核处理器,且平台100中可包括一个以上处理器。处理器110可通过一个或多个系统总线、通信路径或介质(未示出)连接到平台100的其它组件。
芯片组120包括管理引擎(ME)130,其可以实现为独立于主机处理器110操作的嵌入式微处理器,用于管理平台100的配置和操作。在一个实施例中,处理器110在主机操作系统(未示出)的指导下操作,而管理引擎(ME)130提供主机操作系统无法访问的安全且隔离的环境。在一个实施例中,管理引擎(ME)130认证用户,控制对外围设备的访问,管理用于保护平台100的存储设备上存储的数据的加密密钥,并提供通过网络控制器160至企业服务170的接口。使用企业服务170,管理引擎(ME)130维持各平台(例如平台100)的配置和管理与企业范围策略的一致性,根据本发明的一个实施例,这包括提供用于引导固件模块化更新的服务。引导固件模块化更新管理器可以实现为由管理引擎(ME 130)执行的固件。
ME 130和企业服务170之间的通信经由带外(OOB)通信信道171发生。在一个实施例中,带外通信信道171是主机系统上的管理引擎(ME)130和管理主机系统的企业服务170之间的安全通信信道。在芯片组120和管理引擎(ME)130的制造期间,用于确保平台100和企业服务170之间安全通信的加密/解密密钥可存储在图1的闪存190中。
在图1所示实施例中,管理引擎(ME)130通过管理引擎控制器接口(MECI)131耦合到微控制器140。在一个实施例中,微控制器140是通用控制器,其执行存储命令解码和其它加速操作。在所示实施例中,管理引擎(ME)130控制微处理器140的行为,而微处理器140又控制存储控制器150的行为。微控制器140包括用于存储控制器150的驱动程序和与任何盘加密功能相关的逻辑。存储控制器150是存储设备(例如存储设备152)的控制器,并使微处理器140和ME 130能够访问存储设备152上所存储的数据。
平台100进一步包括存储器设备,例如动态随机存取存储器(DRAM)112、芯片组120内的静态随机存取存储器(SRAM)122、和闪存190,以及可通过存储控制器150访问的存储设备152。这些存储器设备可包括随机存取存储器(RAM)和只读存储器(ROM)。出于本公开起见,术语“ROM”通常用于指非易失性存储器设备,例如可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、快闪ROM、闪存等。存储设备152可包括海量存储设备,例如集成驱动电子(IDE)硬驱动器,和/或其它设备或介质,例如软盘、光盘、磁带、闪存、记忆棒、数字视频盘、生物学存储等。
芯片组120可通过闪存接口191访问闪存190。存储设备152上和/或存储器设备DRAM 112、SRAM 122、以及闪存190中存储的数据可被加密。
闪存190包括用于初始化平台100的固件。该初始化固件包括用于识别并初始化系统组件硬件(例如视频显示卡和硬盘)和包括管理引擎(ME)130在内的一些其它硬件设备的基本输入/输出系统(BIOS)固件192。BIOS固件192准备平台100的系统组件硬件以在已知的低能力状态中操作,因此存储在各个介质上的其它软件程序(包括操作系统)可被加载、执行并控制平台100。BIOS固件192包括BIOS/ME通信模块193,其在引导过程期间启动管理引擎(ME)130的初始配置。在一个实施例中,管理引擎(ME)130向BIOS/ME通信模块193注册以刚好在为平台100加载操作系统之前接收通知。该通知使管理引擎(ME)130能够执行为加载操作系统作准备的特定指令。
闪存190还包括用于配置网络控制器160的网络控制器固件195、和用于配置芯片组120的芯片组固件196。闪存190还包括数据区198。在一个实施例中,数据区198被加密并仅能被管理引擎(ME)130读取。ME 130用于提供BIOS/引导固件模块化更新管理服务的信息可存储在闪存190的数据区198中或存储在存储设备152上。
传统地,用于初始化平台、启动BIOS和准备该系统以加载操作系统的所有固件已被提供作为整体镜像,其被加载到非易失性存储器(例如闪存190)中。例如,闪存190可被制造商制备成包括整个BIOS固件192的整体镜像。如果仅需要更新BIOS固件192的一个代码模块以纠正引导固件的问题,则BIOS固件192的整个整体镜像均需要被下载到闪存190。
处理器110还可通信地耦合到附加组件,例如视频控制器、小型计算机系统接口(SCSI)、网络控制器、通用串行总线(USB)控制器、输入设备(例如键盘和鼠标)等。平台100还可包括一个或多个桥或中枢,例如存储器控制器中枢、输入/输出(I/O)控制器中枢、PCI根桥等,以通信地耦合各种系统组件。此处使用的术语“总线”可用于表示共享通信路径以及点对点路径。
某些组件例如网络控制器160可以实现为具有接口的适配器卡(例如PCI连接器),以与总线通信。在一个实施例中,一个或多个设备可以使用组件例如可编程或不可编程逻辑设备或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等实现为嵌入式控制器。
此处使用的术语“处理系统”和“数据处理系统”旨在广泛地包括单机、或通信地耦合的一起操作的多个机器或设备的系统。示例处理系统包括但不限于:分布式计算系统、超级计算机、高性能计算系统、计算机集群、大型计算机、迷你计算机、客户端-服务器系统、个人电脑、工作站、服务器、便携式计算机、膝上电脑、平板计算机、电话、个人数字助理(PDA)、手持设备、娱乐设备(例如音频和/或视频设备)、以及其它用于处理或传输信息的设备。
平台100可至少部分地由来自常规输入设备(例如键盘,鼠标等)的输入和/或由从其它机器、生物测定反馈或其它输入源或信号接收到的命令所控制。平台100可使用例如通过网络接口控制器(NIC)160、调制解调器、或其它通信端口或耦合与一个或多个远程数据处理系统(未示出)的一个或多个连接。
平台100可通过物理和/或逻辑网络,例如局域网(LAN)、广域网(WAN)、内联网、互联网等,与其它处理系统(未示出)互连。涉及网络的通信可使用各种有线和/或无线短程或长程载波和协议,包括射频(RF)、卫星、微波、电气电子工程师协会(IEEE)802.11、蓝牙、光纤、红外、电缆、激光等。
图2示出了根据本发明一个实施例实现自动模块化引导固件更新的图1的管理引擎(ME)130和企业服务170的更多细节。ME 130包括用于在平台100上执行自动引导固件模块化更新的逻辑,并且经由带外通信信道171与企业服务170的引导固件模块化更新服务270通信。
在芯片组120内,示出在图1的芯片组固件196已被加载之后的管理引擎130。管理引擎130包括ME内核210和ME公用服务220,ME内核210向管理引擎130提供基本操作能力,ME公用服务220提供基本服务,例如网络通信、安全、密码和定时器服务。管理引擎130还包括带外(OOB)通信模块230。OOB通信模块230通过网络控制器160促进平台100的组件与企业服务170的相应组件的通信。管理引擎230还包括引导固件模块化更新管理器240,其管理引导固件模块化更新过程并将随后详细说明。
管理引擎(ME)130还包括管理模块250、安全模块255和入侵检测模块260。这些模块与企业服务170联合使用以维护平台(例如平台100)的配置和管理与企业范围策略的一致性。OOB服务器通信模块230通过网络控制器160促进管理模块250、安全模块255和入侵检测模块260与企业服务170的相应模块(未示出)的通信。
根据本发明的一个实施例,引导固件模块化更新管理器240与引导固件模块化更新服务270联合操作以启动自动模块化引导固件更新。OOB通信模块230通过网络控制器160促进模块化引导固件更新管理器240与引导固件模块化更新服务270之间的通信。在一个实施例中,带外通信信道171用于向平台100传输经更新的引导固件代码模块。在所示实施例中,企业服务170具有企业数据储存库172以存储信息,例如安装在主机系统上的引导固件代码模块的版本、加密密钥、和引导固件模块化更新服务270使用的其它数据。引导固件模块化更新管理器240和引导固件模块化更新服务270的操作将参照图3更详细地说明。
图3是示出根据本发明一个实施例在引导固件模块化更新管理器和企业引导固件模块化更新服务之间的交互以执行自动模块化引导固件更新的流程图。
图1和图2的企业服务170作用于维护平台(例如平台100)的配置和管理与企业范围策略的一致性。在企业服务170和平台100通过OOB通信信道171进行通信期间,引导固件模块化更新管理器240与引导固件模块化更新服务270可就平台100上的引导固件代码模块进行通信。
在动作3.1,引导固件模块化更新管理器240向引导固件模块化更新服务270核实是否有引导固件更新。在动作3.2,如果已更新涉及平台100的引导固件代码模块,引导固件模块化更新服务270向引导固件模块化更新管理器240发送引导固件更新请求连同经更新的代码模块/驱动程序。虽然图3示出通信始于引导固件模块化更新管理器240,但引导固件模块化更新管理器240与引导固件模块化更新服务270之间的通信由引导固件模块化更新服务270在服务器端发起也落在本发明的范围内。
在动作3.3,引导固件模块化更新管理器240检查经更新的代码模块/驱动程序的完整性,包括验证更新请求是可信的以及确认发送者的身份是引导固件模块化更新服务270。在一个实施例中,引导固件模块化更新管理器240验证引导固件更新的完整性是通过从经更新的代码模块/驱动程序内容计算签名并将计算出的签名与由引导固件模块化更新服务270在伴随着经更新的代码模块/驱动程序的受完整性保护(加密)的清单中提供的签名作比较来实现的。该基于代码模块/驱动程序的签名的比较确认经更新的模块/驱动程序在从引导固件模块化更新服务270传输期间没有受到篡改。经更新的代码模块/驱动程序通过加密被进一步保护,且引导固件模块化更新管理器240获得解密密钥以解密经更新的代码模块/驱动程序。在一个实施例中,加密/解密密钥在芯片组120和管理引擎(ME)130的制造期间被存储在图1的闪存190的数据区198中,并由引导固件模块化更新管理器240从闪存190获取。
如果在动作3.3中确认了经更新的代码模块/驱动程序的完整性,则在动作3.4中,引导固件模块化更新管理器240用该经更新的代码模块/驱动程序来更新固件卷。在一个实施例中,经更新的代码模块/驱动程序被放入该固件卷的单独的专用分区中以促进模块化更新,而原始引导固件代码模块的整体镜像驻留在该固件卷的不同分区中。引导固件模块化更新管理器240管理对固件卷的分区,且只有引导固件模块化更新管理器240能够对固件卷的模块化更新分区进行写访问。固件卷的模块化更新分区还存储经更新的代码模块/驱动程序的标识符,其使得经更新的代码模块/驱动程序能用于代替原始代码模块/驱动程序。
在动作3.5,引导固件模块化更新管理器240通知引导固件模块化更新服务270关于引导固件更新请求的状态。一旦经更新的代码模块/驱动程序已被加载到固件经的模块化更新分区中,其将在系统引导时自动被加载。在动作3.6,引导固件模块化更新管理器240可以请求系统重启,以激活经更新的代码模块/驱动程序。系统引导序列随后参考图4更详细地说明。在由于动作3.6而执行的系统引导序列期间,引导固件模块化更新调度器被调用以确保经更新的代码模块/驱动程序替换原始代码模块/驱动程序。由引导固件模块化更新调度器在引导序列期间执行的动作随后参考图5和6进行进一步说明。
引导序列期间,如动作3.7所示,引导固件模块化更新管理器240可获得能在消息中传达给引导固件模块化更新服务270的信息。例如,驱动程序调度器(随后参考图4和6说明)可通知引导固件模块化更新管理器240关于经更新的代码模块/驱动程序的处理何时开始。在动作3.8,在各个引导固件代码模块已被加载到存储器中之后,BIOS 310尝试用经更新的代码模块/驱动程序进行引导。如果BIOS 310引导失败,则可用来自在驻留有原始整体镜像的固件卷分区中所存储的原始引导固件代码模块镜像的代码模块/驱动程序的原始版本进行再次引导BIOS 310的另一次尝试。
在动作3.9,引导固件更新管理器240从驱动程序调度器接收关于代码模块/驱动程序更新的状态的信息。例如,即使经更新的引导固件代码模块可能已被加载到存储器中,但它可能无法正确执行。在动作3.10,引导固件更新管理器240发送确认消息给引导固件模块化更新服务270,该确认消息带有在动作3.2中引导固件模块化更新服务270所请求的引导固件更新的状态。
在系统引导序列期间,从上电开始,发生一系列硬件初始化阶段,直到操作系统被加载并承担系统的控制。此处,根据在URLwww-intel-com/technology/framework处可获得的Platform Innovation Framework for EFI(Extensible Firmware Interface)Architecture Specification(version 0.9,September 16,2003)((可扩展固件接口)架构平台创新框架规范(0.9版,2003年9月16日))进行说明。该框架引导序列将一般性地参考图4进行说明以提供本发明随后讨论的上下文。本发明并不限制于所述特定框架下的操作。
参照图4,示出了本发明一个实施例的组件操作期间的引导序列的各个阶段。该框架引导序列开始于安全阶段410,其在系统上电时执行。预验证器411在安全阶段410期间执行以认证BIOS。在现有系统中,预验证器411和安全阶段410提供核心测量可信根(CRTM),也就是用于认证BIOS代码的足够代码,并且在平台支持的情况下,开始可信平台模块(TPM)。关于TPM的更多信息可参见URL www-trustedcomputinggroup-org。
在安全阶段410完成时,预EFI初始化(PEI)阶段420初始化处理器421、芯片组423和主板425。PEI阶段420初始化并描述包含用于后续阶段的代码的最小量的系统RAM和固件卷。在PEI阶段420期间,准备在驱动程序执行环境(DXE)阶段430中安全地启动EFI驱动程序调度器432和内部服务434。在DXE阶段430,EFI驱动程序调度器432作用于加载设备、总线和服务驱动程序436,以构建能支持引导管理器引导操作系统的环境。参考本发明,在DXE阶段430中使用了EFI驱动程序调度器的修改版本,此处称为引导固件模块化更新调度器。在DXE阶段430后,引导设备选择(BDS)阶段440加载引导管理器442。在BDS阶段440后,发生临时系统加载(TSL)阶段450,在此阶段期间引导操作系统。引导管理器442启动临时OS引导加载器456,其创建能够运行无OS的应用程序452的临时OS环境454。引导管理器442还启动最终OS引导管理器458,其引导操作系统。在运行时阶段460期间,系统创建能够运行有OS的应用程序462的最终OS环境464。在运行时阶段460期间,该系统在操作系统的控制下操作。在OS运行时(RT阶段460)期间有系统故障时,固件PEI阶段420和DXE阶段430流可在后生命阶段470中被重构,以允许无OS的恢复活动。
在引导固件模块化更新调度器(这是图4的EFI驱动程序调度器432的修改版本)的控制下,在驱动程序执行环境(DXE)阶段430期间发生加载根据本发明的经更新的引导固件代码模块/驱动程序,以促进根据本发明实施例的模块化引导固件更新。引导固件模块化更新调度器的操作参考图5和图6进一步详细说明。
图5是根据本发明一个实施例在引导系统时执行模块化引导固件更新的方法的流程图。在“在引导期间,BIOS模块化更新调度器检查用于经更新的驱动程序的模块化BIOS更新固件卷分区”步骤510中,引导固件模块化更新调度器检查固件卷中用于经更新的代码模块/驱动程序的模块化更新分区。控制随后进行到“引导固件模块化更新调度器从BIOS模块化更新固件卷分区加载经更新的驱动程序”步骤520,其中引导固件模块化更新调度器将经更新的代码模块/驱动程序加载到存储器中,而不是来自在固件卷的不同分区中所存储的整体BIOS镜像的原始代码模块/驱动程序。控制随后进行到“引导BIOS”步骤530,其中在图4的DXE阶段430的结束处引导BIOS。控制随后进行到“经更新的驱动程序失败?”判断点430,在此判断在BIOS引导期间,经更新的驱动程序是否失败。若经更新的驱动程序失败,则控制进行到“从原始固件卷分区加载原始驱动程序”步骤540,其中从存储在固件卷的原始分区中的整体BIOS镜像加载原始代码模块/驱动程序。控制随后进行到“继续引导OS”步骤550,其中引导序列继续引导操作系统。当引导序列继续进行时,控制进行到“向服务器提供引导固件模块化更新的状态”步骤560,其中如参照图3描述的,BIOS模块化更新管理器240向引导固件模块化更新服务270提供状态更新。控制随后进行到“服务器响应引导固件模块化更新的状态”步骤570,其中引导固件模块化更新服务270可响应接收到的关于模块化引导固件更新的状态消息。例如,如果模块化引导固件更新故障,引导固件模块化更新服务270可在后续更新请求中提供经更新的代码模块/驱动程序的另一版本。
图6是根据本发明一个实施例的在已执行自动模块化引导固件更新之后引导系统的流程图。图6的流程图示出了DXE阶段630和BDS阶段640期间发生的活动,其对应于图4的DXE阶段430和BDS阶段440。在执行DXE阶段630之前,已执行了类似于图4的SEC阶段410的安全阶段和类似于图4的PEI阶段420的PEI阶段。先前的PEI阶段将已初始化了交接块列表604,其是包含从引导序列中发生处理器、芯片组和主存储器的初始化的先前阶段传递而来的信息的数据结构。交接块列表604将包含关于在系统的初始化期间发现的固件卷的信息,包括在固件卷硬件620中发现的固件卷。例如,在引导图1所示的系统时的PEI阶段期间,将发现包含用于BIOS固件192和芯片组固件196的分区的固件卷。所发现的每个单独固件卷可分别具有其自己的由PEI阶段提供的交接块。交接块列表604详述包含固件文件的固件卷的位置并包括每个固件卷的基地址和长度。DXE初始程序加载(IPL)初始化模块可使用交接块列表604来发现DXE基础固件文件的位置。
先前的PEI阶段还将发现并启动DXE基础代码606。DXE基础代码606产生一组引导服务、运行时服务和DXE服务。DXE基础代码606使用交接块列表604来发现要执行的驱动程序。DXE基础代码606被设计为完全便携的而无处理器、芯片组或平台依赖性。DXE基础代码606仅其初始状态依赖交接块列表604。这种单一依赖性意味着DXE基础代码606不依赖于来自先前阶段的任何服务,因此一旦交接块列表604被传递到DXE基础代码606,所有先前阶段都可被卸载。DXE基础代码606包括非硬编码地址。因此,DXE基础代码606可被加载到物理存储器中的任何位置,并且无论物理存储器或固件卷位于处理器物理地址空间中何处,DXE基础代码606均能正确地起作用。DXE基础代码606不包括任何因处理器而异的、因芯片组而异的或因平台而异的信息。相反,DXE基础代码606是通过一组体系结构协议接口从系统硬件中抽象出来的。这些体系结构协议接口由被DXE调度器(此处表示为引导固件模块化更新调度器610)调用的一组DXE驱动程序产生。
DXE基础代码606产生EFI系统表及其相关联的一组EFI引导服务和EFI运行时服务。DXE基础代码606还包括引导固件模块化更新调度器610。在启动DXE基础代码606后,控制被传到DXE调度器(在该情形中是引导固件模块化更新调度器610),其负责加载和调用在交接块(例如交接块列表604)中描述的固件卷中发现的DXE驱动程序。
固件卷硬件620是包含固件代码和/或数据的永久物理储存库。固件卷硬件通常是闪存组件(例如图1的闪存190),但也可是某种其它类型的永久存储。单个物理固件设备可被分为更小片以构造多个逻辑固件设备。类似地,多个物理固件设备可被聚集成一个较大的逻辑固件设备。逻辑固件设备被称为固件卷。在EFI框架内,固件卷是数据和/或代码的基本存储库。每个固件卷被组织成文件系统。这样,文件是EFI框架固件的基本存储单元。
如果从安全(SEC)或预EFI初始化(PEI)阶段或较早地在驱动程序执行环境(DXE)阶段访问固件卷内包含的文件,则固件卷可以是映射的存储器并符合框架固件文件系统(FFS)格式,该格式在URLwww-intel-com/technology/framework处可获得的Platform InnovationFramework for EFI Firmware File System Specification(固件文件系统平台创新框架规范)中定义。SEC、PEI和DXE阶段随后按需要解析FFS和框架固件镜像格式。
引导固件模块化更新调度器610在交接块列表604中描述的固件卷中搜索驱动程序。固件卷可具有称为先验文件的相关联文件,其包括应当被首先加载和执行的DXE驱动程序的列表。一旦来自先验文件的DXE驱动程序已被加载和执行,固件卷中的剩余DXE驱动程序内的依赖性表达可被评估以确定其被加载和执行的顺序。
在一个实施例中,在先验文件中的DXE驱动程序和所有其依存性表达评估为真的DXE驱动程序被加载和执行后,控制从引导固件模块化更新调度器610传到BDS 642。BDS 642负责在BDS阶段640建立控制台设备并尝试引导操作系统。当控制台设备被创建且对引导设备的访问被创建时,可发现其它的固件卷。若BDS 642无法启动控制台设备或访问引导设备,则其再次调用引导固件模块化更新调度器610。该调用使引导固件模块化更新调度器610从自引导固件模块化更新调度器610上次被调用起已发现的固件卷加载和执行DXE驱动程序632。一旦引导固件模块化更新调度器已加载并执行它能进行的所有DXE驱动程序632,控制再次返回BDS 642以继续OS引导过程。
EFI固件卷协议允许在DXE阶段期间运行的程序访问固件卷,包括没有存储器映射的固件卷和没有实现FFS的固件卷。在所示实施例中,BIOS/模块化更新调度器610使用固件卷协议驱动程序626利用包含在EFI固件卷协议内的文件抽象来访问固件卷。
在所示的实施例中,固件卷协议由固件卷协议驱动程序626产生,固件卷协议驱动程序626用作文件系统驱动程序并使用固件卷块协议驱动程序624实现的EFI固件卷块协议来访问固件卷硬件620。固件卷块协议驱动程序624向固件卷硬件620提供块级访问。虽然驱动程序624和626(示为实现EFI固件卷块协议)提供固件卷硬件620的抽象,在固件卷块驱动程序之下的任意数量的抽象可被用于满足平台需求。EFI固件卷块协议提供字节级读/写功能和块级擦除功能。EFI固件卷块协议进一步揭露设备硬性特性,例如可被要求保护固件免受不期望的覆盖和/或擦除。文件系统驱动程序(例如固件卷协议驱动程序626)可被层叠在在固件卷块协议驱动程序之上,以实现对固件卷的文件级访问。固件卷协议抽象文件系统,该文件系统用于格式化固件卷和可能存在的设备硬性特性。更多信息(包括关于固件卷协议的信息)参见URLwww-intel-com/technology/framework处可获得的Platform Innovation Framework for EFI Firmware Volume Specification(固件卷平台创新框架规范)。
引导固件模块化更新调度器610在预引导期间操作以调度驱动程序进行执行。在一个实施例中,引导固件模块化更新调度器610提供调度服务以从固件卷加载并执行DXE驱动程序;提供调度服务以清除关于存储在固件卷中的组件的按需调度(SOR)标志;提供信任服务以将固件卷中存储的文件的状态从不信任状态改变为信任状态;以及提供处理固件卷服务以创建用于系统存储器中存在的固件卷的固件卷句柄。在一个实施例中,引导固件模块化更新调度器查找所有可用固件卷并创建将基于版本信息来加载的驱动程序/代码模块的列表。如上所述,引导固件模块化更新调度器610首先查找用于经更新的驱动程序的FV分区622以寻找经更新的驱动程序,随后查找固件卷中用于原始驱动程序的单独分区。待更新的引导固件代码模块将具有定义需要在预引导期间加载的最新EFI驱动程序/模块的版本字符串。
此处描述的引导固件模块化更新机制使各个引导固件代码模块能够被更新,而不需要下载并更新整个引导固件整体镜像。此处描述的技术提供了具有对经更新的模块/驱动程序的完整性检查的安全性,并提供了更加用户友好的更新过程,因为用户不需要重启其系统以接收模块化引导固件更新。
此处描述的技术还是容错的,因此如果新的经更新的代码模块/驱动程序出现故障,则将使用原始代码驱动创新/模块来引导系统,系统将如所尝试的更新之前那样继续起作用。关于出故障的模块的反馈可被提供给服务器,因此可在后续更新请求中提供纠正后的代码模块/驱动程序。
图7示出了根据本发明一个实施例的用于实现引导固件模块化更新管理器的虚拟机环境。若平台700被虚拟化,其可仅包括单个处理器,但是主机上的虚拟机监视器(“VMM 730”)可呈现主机的多个抽象和/或视图,因此主机的底层硬件将表现为一个或多个独立操作的虚拟机(“VM”)。VMM 730可实现在软件(例如实现为主机操作系统的独立程序和/或组件)、硬件、固件和/或其任意组合中。VMM 730管理主机上的资源分配并按需执行上下文切换以根据循环方式或其它预定义方案在不同的VM之间循环。对于本领域普通技术人员将明显的是,虽然只示出了一个处理器(“处理器705”),本发明的实施例不限于此,且也可在虚拟化环境中利用多个处理器。
虽然只示出了两个VM分区(“VM710”和“VM720”,下文统称为“VM”),但这些VM仅仅是说明性的,且其它虚拟机也可被添加到主机。VM 710和VM720可分别用作自包含平台,运行其自己的“客户操作系统”(即,由VMM 730主存的操作系统,示为“客户OS 711”和“客户OS 721”,且在下文中统称为“客户OS”)和其它软件(示为“客户软件712”和“客户软件722”,且在下文中统称为“客户软件”)。
每个客户OS和/或客户软件就像在专用计算机而非虚拟机上运行那样操作。也就是说,每个客户OS和/或客户软件可预期控制各种事件并能访问平台700上的硬件资源。在每个VM内,客户OS和/或客户软件可以就像它们实际上在平台700的物理硬件上(“主机硬件740”,其可包括网络控制器760)运行那样运转。
对于本领域普通技术人员将明显的是,具有专用处理器(例如图1的管理引擎(ME)130)的物理硬件分区可提供比虚拟分区(如图7所示)更高的安全级别,但是本发明的实施例可在这些环境中的任一环境和/或组合中实践以提供不同的安全级别。对于本领域普通技术人员还将明显的是,可在虚拟化环境中实现ME、AMT或PRL平台。例如,VM 720可专用于主机上的ME分区,而VM 710运行主机上的典型程序。在这种情况下,主机可以包括多个处理器,也可以不包括多个处理器。如果主机的确包括例如两个处理器,VM 720可被指派另一个处理器,而VM 710(和主机上的其它VM)可共享处理器705的资源。另一方面,如果主机仅包括一个处理器,则该处理器可服务两个VM,但通过和VMM 730的合作,VM 720仍可与主机上的其它VM隔离。为简单起见,本发明的实施例在管理引擎(ME)环境中进行说明,但本发明的实施例不限于此。相反,对管理引擎、ME、“分区”、“安全的分区”、“安全性分区”和/或“管理分区”的引述均包括任何物理和/或虚拟分区(如上所述)。
此处公开的机制的实施例可实现为硬件、软件、固件、或此类实现办法的组合。本发明的实施例可实现为能够在可编程系统上执行的计算机程序,该系统包括至少一个处理器、数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。
程序代码可应用于输入数据以执行此处描述的功能并生成输出信息。本发明的实施例还包括机器可访问介质,该介质包括用于执行本发明的操作的指令或包括设计数据(例如HDL),其定义了此处描述的结构、电路、装置、处理器和/或系统特征。这些实施例也可被称为程序产品。
这些机器可访问存储介质可包括但不限于由机器或设备制造或形成的有形微粒阵列,包括存储介质,例如硬盘、任何其它类型的盘,包括软盘、光盘、紧致盘只读存储器(CD-ROM)、可重写紧致盘(CD-RW)和磁光盘;半导体设备,例如只读存储器(ROM)、随机存取存储器(RAM),例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM),可擦可编程只读存储器(EPROM)、闪存可编程存储器(FLASH)、电可擦可编程只读存储器(EEPROM);磁或光卡;或任何其它类型的用于存储电子指令的介质。
输出信息可以按公知方式应用于一个或多个输出设备。出于本申请的目的,处理系统包括任何具有处理器的系统,例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器。
程序可用在高级过程或面向对象程序语言来实现以与处理系统通信。若需要,程序也可用汇编或机器语言实现。实际上,此处描述的机制的范围并不限定于任何特定编程语言。无论如何,语言可以是经编译或经解释语言。
此处给出了用于执行自动引导固件模块化更新的系统和方法的实施例。虽然已示出和描述了本发明的特定实施例,但本领域技术人员应清楚,可作出大量改变、变形和修改而不脱离所附权利要求的范围。因此,本领域技术人员能够认知到,可作出改变和修改而不脱离本发明的广义方面。所附权利要求旨在涵盖落入本发明真正范围和精神内的所有此类改变、变形和修改。
Claims (14)
1.一种计算机实现的方法,包括:
在系统的安全分区中接收经更新的引导固件代码模块,该经更新的引导固件代码模块将代替用于该系统的多个引导固件代码模块中的一个原始引导固件代码模块;
自动用该经更新的引导固件代码模块代替仅该一个原始引导固件代码模块;以及
当该系统下次被引导时,与用于该系统的所述多个引导固件代码模块一起且在无用户干预的情况下自动执行该经更新的引导固件代码模块。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
将该经更新的引导固件代码模块写入固件卷的更新分区,其中当该系统被引导时,所述固件卷的该更新分区和该固件卷中包含该多个引导固件代码模块的其他分区被一并读取。
3.根据权利要求2所述的方法,其特征在于,进一步包括:
在将该经更新的引导固件模块写入固件卷的更新分区之前,认证该经更新的引导固件模块的完整性。
4.根据权利要求1所述的方法,其特征在于:
该经更新的引导固件模块是由服务器通过耦合到所述安全分区的带外通信信道提供的。
5.根据权利要求4所述的方法,其特征在于,进一步包括:
在接收该经更新的引导固件模块之前,认证所述服务器的完整性。
6.根据权利要求1所述的方法,其特征在于,进一步包括:
如果在加载该经更新的引导固件模块期间出现问题,则使得加载该一个原始引导固件代码模块。
7.根据权利要求1所述的方法,其特征在于,进一步包括:
在该系统被引导之后,向从其接收该经更新的引导固件代码模块的服务器提供该经更新的引导固件代码模块的安装状态。
8.一种系统,包括:
至少一个处理器,执行主机操作系统和用于该系统的多个引导固件代码模块;和
耦合到所述处理器的安全分区,该安全分区与所述主机操作系统隔离;
用于在所述安全分区中接收经更新的引导固件代码模块的装置,该经更新的引导固件代码模块将代替用于该系统的多个引导固件代码模块中的一个原始引导固件代码模块;
用于自动用该经更新的引导固件代码模块代替仅该一个原始引导固件代码模块的装置;以及
用于当该系统下次被引导时,与用于该系统的所述多个引导固件代码模块一起且在无用户干预的情况下自动执行该经更新的引导固件代码模块的装置。
9.根据权利要求8所述的系统,其特征在于,进一步包括:
用于将该经更新的引导固件代码模块写入固件卷的更新分区的装置,其中当该系统被引导时,所述固件卷的该更新分区和该固件卷中包含该多个引导固件代码模块的其他分区被一并读取。
10.根据权利要求9所述的系统,其特征在于,进一步包括:
用于在将该经更新的引导固件模块写入该固件卷的更新分区之前认证该经更新的引导固件模块的完整性的装置。
11.根据权利要求8所述的系统,其特征在于:
该经更新的引导固件模块是由服务器通过耦合到所述安全分区的带外通信信道提供的。
12.根据权利要求11所述的系统,其特征在于,进一步包括:
用于在接收该经更新的引导固件模块之前认证所述服务器的完整性的装置。
13.根据权利要求8所述的系统,其特征在于,进一步包括:
用于如果在加载该经更新的引导固件模块期间出现问题则使得加载该一个原始引导固件代码模块的装置。
14.根据权利要求8所述的系统,其特征在于,进一步包括:
用于在该系统被引导之后向从其接收该经更新的引导固件代码模块的服务器提供该经更新的引导固件代码模块的安装状态的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/592,605 | 2009-11-30 | ||
US12/592,605 US8589302B2 (en) | 2009-11-30 | 2009-11-30 | Automated modular and secure boot firmware update |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102081534A true CN102081534A (zh) | 2011-06-01 |
CN102081534B CN102081534B (zh) | 2015-09-02 |
Family
ID=43587501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010572666.6A Expired - Fee Related CN102081534B (zh) | 2009-11-30 | 2010-09-26 | 自动模块化且安全的引导固件更新 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8589302B2 (zh) |
EP (1) | EP2339494A1 (zh) |
JP (1) | JP5174110B2 (zh) |
KR (1) | KR101232558B1 (zh) |
CN (1) | CN102081534B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105378663A (zh) * | 2013-07-31 | 2016-03-02 | 惠普发展公司,有限责任合伙企业 | 更新引导代码 |
CN106201438A (zh) * | 2016-07-05 | 2016-12-07 | 河北建筑工程学院 | 基于Intel平台服务器CPU对个人计算机的移植方法和系统 |
CN106354524A (zh) * | 2015-07-17 | 2017-01-25 | 飞思卡尔半导体公司 | 实时更新固件的系统和方法 |
WO2017107122A1 (en) * | 2015-12-24 | 2017-06-29 | Intel Corporation | Techniques for coordinating device boot security |
CN106909351A (zh) * | 2015-12-22 | 2017-06-30 | 中电科技(北京)有限公司 | 一种基于uefi固件的ext文件系统的实现方法 |
CN108228209A (zh) * | 2016-12-21 | 2018-06-29 | 广达电脑股份有限公司 | 自动更新服务器系统的元件的固件的系统、方法和介质 |
CN108604276A (zh) * | 2015-12-03 | 2018-09-28 | 格里森技术有限责任公司 | 可通过网络更新的安全启动代码缓存 |
WO2019047480A1 (zh) * | 2017-09-08 | 2019-03-14 | 深圳壹账通智能科技有限公司 | 程序更新方法、计算机可读存储介质、终端设备及装置 |
CN109558157A (zh) * | 2017-09-26 | 2019-04-02 | 广达电脑股份有限公司 | 于固件更新期间保存固件设置 |
TWI691836B (zh) * | 2018-11-20 | 2020-04-21 | 神雲科技股份有限公司 | 基本輸入輸出系統的開機階段辨識方法 |
CN111352580A (zh) * | 2018-12-20 | 2020-06-30 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111708652A (zh) * | 2020-05-20 | 2020-09-25 | 新华三技术有限公司 | 一种故障修复方法及装置 |
US11023220B2 (en) | 2019-09-26 | 2021-06-01 | Dell Products L.P. | Firmware update with integrated smart sequence and action engine |
CN117806721A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 故障诊断驱动加载方法、装置、电子设备及存储介质 |
Families Citing this family (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8281169B2 (en) * | 2008-08-27 | 2012-10-02 | Wireless Silicon Group, Inc. | Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM) |
US9058491B1 (en) | 2009-03-26 | 2015-06-16 | Micron Technology, Inc. | Enabling a secure boot from non-volatile memory |
US20110035540A1 (en) * | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
US8589302B2 (en) | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
US9336410B2 (en) * | 2009-12-15 | 2016-05-10 | Micron Technology, Inc. | Nonvolatile memory internal signature generation |
US9292277B2 (en) * | 2009-12-18 | 2016-03-22 | Hewlett-Packard Development Company, L.P. | Methods and devices for updating firmware of a component using a firmware update application |
JP5316432B2 (ja) * | 2010-01-19 | 2013-10-16 | 富士通株式会社 | ネットワークコントローラの制御方法、プログラム及び情報処理装置 |
US8996851B2 (en) * | 2010-08-10 | 2015-03-31 | Sandisk Il Ltd. | Host device and method for securely booting the host device with operating system code loaded from a storage device |
WO2012023050A2 (en) | 2010-08-20 | 2012-02-23 | Overtis Group Limited | Secure cloud computing system and method |
CN103329093B (zh) * | 2011-01-19 | 2017-09-12 | 国际商业机器公司 | 用于更新执行环境中的代码的方法和系统 |
US8458449B2 (en) * | 2011-01-27 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | Component drivers for a component of a device |
US8909851B2 (en) | 2011-02-08 | 2014-12-09 | SMART Storage Systems, Inc. | Storage control system with change logging mechanism and method of operation thereof |
US8935466B2 (en) | 2011-03-28 | 2015-01-13 | SMART Storage Systems, Inc. | Data storage system with non-volatile memory and method of operation thereof |
US8745614B2 (en) * | 2011-05-13 | 2014-06-03 | Lsi Corporation | Method and system for firmware upgrade of a storage subsystem hosted in a storage virtualization environment |
WO2012170521A2 (en) * | 2011-06-07 | 2012-12-13 | Lsi Corporation | Management of device firmware update effects as seen by a host |
TWI475485B (zh) * | 2011-06-13 | 2015-03-01 | Wistron Corp | 韌體更新之方法及其相關電腦系統 |
CN102833639B (zh) * | 2011-06-15 | 2016-03-30 | 上海贝尔股份有限公司 | 在新软件下载完毕后控制光网络单元重启的方法和装置 |
US8707019B2 (en) | 2011-07-02 | 2014-04-22 | Intel Corporation | Component update using management engine |
US9054886B2 (en) | 2011-07-11 | 2015-06-09 | Oracle International Corporation | System and method for using a multicast group to support a flooding mechanism in a middleware machine environment |
US9332005B2 (en) | 2011-07-11 | 2016-05-03 | Oracle International Corporation | System and method for providing switch based subnet management packet (SMP) traffic protection in a middleware machine environment |
US8782389B2 (en) | 2011-07-19 | 2014-07-15 | Sandisk Technologies Inc. | Storage device and method for updating a shadow master boot record |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9021231B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Storage control system with write amplification control mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
EP2590100A1 (en) * | 2011-11-04 | 2013-05-08 | British Telecommunications Public Limited Company | Method and apparatus for securing a computer |
US20130166893A1 (en) * | 2011-12-23 | 2013-06-27 | Sandisk Technologies Inc. | Auxiliary card initialization routine |
TW201331841A (zh) * | 2012-01-16 | 2013-08-01 | Asmedia Technology Inc | 電子裝置及其基本輸入輸出系統的更新裝置 |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
WO2013126058A1 (en) * | 2012-02-23 | 2013-08-29 | Hewlett-Packard Development Company, L.P. | Firmware package to modify active firmware |
KR101897605B1 (ko) * | 2012-02-24 | 2018-09-12 | 삼성전자 주식회사 | 휴대 단말기의 무결성 보호 방법 및 장치 |
US9298252B2 (en) | 2012-04-17 | 2016-03-29 | SMART Storage Systems, Inc. | Storage control system with power down mechanism and method of operation thereof |
JP6267191B2 (ja) | 2012-05-10 | 2018-01-24 | オラクル・インターナショナル・コーポレイション | ネットワーク環境において状態の同期をサポートするためのシステムおよび方法 |
US8972969B2 (en) * | 2012-06-08 | 2015-03-03 | Adobe Systems Incorporated | Out of band services updates |
US8949689B2 (en) | 2012-06-11 | 2015-02-03 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US8972973B2 (en) * | 2012-06-27 | 2015-03-03 | Microsoft Technology Licensing, Llc | Firmware update discovery and distribution |
US9218178B2 (en) * | 2012-08-29 | 2015-12-22 | Microsoft Technology Licensing, Llc | Secure firmware updates |
US8898654B2 (en) * | 2012-08-29 | 2014-11-25 | Microsoft Corporation | Secure firmware updates |
US8819664B2 (en) * | 2012-11-01 | 2014-08-26 | Hewlett-Packard Development Company, L.P. | Upgrade firmware with upgrade information from a tape cartridge in a wireless manner |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US9405605B1 (en) | 2013-01-21 | 2016-08-02 | Amazon Technologies, Inc. | Correction of dependency issues in network-based service remedial workflows |
US9183092B1 (en) * | 2013-01-21 | 2015-11-10 | Amazon Technologies, Inc. | Avoidance of dependency issues in network-based service startup workflows |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
WO2014120205A1 (en) * | 2013-01-31 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Replacement of a corrupt driver variable record |
KR20140099757A (ko) * | 2013-02-04 | 2014-08-13 | 삼성전자주식회사 | 전자장치 및 전자장치의 펌웨어 업그레이드 방법 |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
WO2014127536A1 (en) * | 2013-02-25 | 2014-08-28 | Intel Corporation | Method, apparatus, system, and machine readable storage medium for providing software security |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9470720B2 (en) | 2013-03-08 | 2016-10-18 | Sandisk Technologies Llc | Test system with localized heating and method of manufacture thereof |
US9043780B2 (en) | 2013-03-27 | 2015-05-26 | SMART Storage Systems, Inc. | Electronic system with system modification control mechanism and method of operation thereof |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9235710B2 (en) | 2013-05-23 | 2016-01-12 | Cisco Technology, Inc. | Out of band management of basic input/output system secure boot variables |
US9898056B2 (en) | 2013-06-19 | 2018-02-20 | Sandisk Technologies Llc | Electronic assembly with thermal channel and method of manufacture thereof |
US9313874B2 (en) | 2013-06-19 | 2016-04-12 | SMART Storage Systems, Inc. | Electronic system with heat extraction and method of manufacture thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US9411605B2 (en) * | 2013-08-29 | 2016-08-09 | Samsung Electronics Co., Ltd. | Device-less and system agnostic unified extensible firmware interface (UEFI) driver |
US8725995B1 (en) * | 2013-11-04 | 2014-05-13 | Symantec Corporation | Systems and methods for updating system-level services within read-only system images |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9256442B2 (en) * | 2014-03-03 | 2016-02-09 | International Business Machines Corporation | Network updatable user trusted device |
CN103888251B (zh) * | 2014-04-11 | 2017-09-01 | 北京工业大学 | 一种云环境中虚拟机可信保障的方法 |
US9672361B2 (en) * | 2014-04-30 | 2017-06-06 | Ncr Corporation | Self-service terminal (SST) secure boot |
US9426028B2 (en) * | 2014-06-10 | 2016-08-23 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Configuring a computing system to delay a system update |
US10558584B2 (en) * | 2014-06-23 | 2020-02-11 | Intel Corporation | Employing intermediary structures for facilitating access to secure memory |
CN104090790B (zh) * | 2014-06-30 | 2017-05-17 | 飞天诚信科技股份有限公司 | 一种安全终端的双芯片方案的固件更新方法 |
WO2016003455A1 (en) | 2014-07-02 | 2016-01-07 | Hewlett-Packard Development Company, L.P. | Firmware update |
WO2016014017A1 (en) * | 2014-07-21 | 2016-01-28 | Hewlett-Packard Development Company, L.P. | Operating system device access using a virtual machine |
US9678760B2 (en) | 2014-08-01 | 2017-06-13 | Samsung Electronics Co., Ltd. | Memory card and storage system having authentication program and method for operating thereof |
US10657262B1 (en) * | 2014-09-28 | 2020-05-19 | Red Balloon Security, Inc. | Method and apparatus for securing embedded device firmware |
US10068092B2 (en) | 2015-01-21 | 2018-09-04 | Microsoft Technology Licensing, Llc | Upgrading a secure boot policy on a virtual machine |
US10248403B2 (en) * | 2015-03-13 | 2019-04-02 | Kony, Inc. | Providing updates for natively rendered mobile applications |
JP6501595B2 (ja) * | 2015-04-06 | 2019-04-17 | キヤノン株式会社 | 画像形成装置およびその制御方法、並びにプログラム |
US20160378686A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Memory encryption exclusion method and apparatus |
US9965270B2 (en) * | 2015-07-01 | 2018-05-08 | Quanta Computer Inc. | Updating computer firmware |
US10061596B2 (en) * | 2015-07-10 | 2018-08-28 | Dell Products L.P. | Systems and methods for loading firmware modules |
US10428230B2 (en) * | 2015-07-21 | 2019-10-01 | Kolazi S. Narayanan | Synergistic mixed solvents-based compositions with improved efficiency of performance and environmental safety for removal of paint, varnish and stain |
JP2017033149A (ja) | 2015-07-30 | 2017-02-09 | 株式会社東芝 | 情報処理装置、コントローラ、及び、情報処理装置の制御方法 |
US9959125B2 (en) | 2015-08-05 | 2018-05-01 | Samsung Electronics Co., Ltd. | Field update of boot loader using regular device firmware update procedure |
US9916151B2 (en) * | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
WO2017052528A1 (en) * | 2015-09-23 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Selecting and loading firmware volumes |
US10127032B2 (en) * | 2015-11-05 | 2018-11-13 | Quanta Computer Inc. | System and method for unified firmware management |
US10242195B2 (en) | 2016-07-22 | 2019-03-26 | Hewlett Packard Enterprise Development Lp | Integrity values for beginning booting instructions |
US10740468B2 (en) * | 2016-09-30 | 2020-08-11 | Hewlett Packard Enterprise Development Lp | Multiple roots of trust to verify integrity |
JP6741236B2 (ja) * | 2016-11-21 | 2020-08-19 | 大日本印刷株式会社 | 情報処理装置 |
US10402273B2 (en) | 2016-12-14 | 2019-09-03 | Microsoft Technology Licensing, Llc | IoT device update failure recovery |
US10416991B2 (en) | 2016-12-14 | 2019-09-17 | Microsoft Technology Licensing, Llc | Secure IoT device update |
US10715526B2 (en) | 2016-12-14 | 2020-07-14 | Microsoft Technology Licensing, Llc | Multiple cores with hierarchy of trust |
JP6861739B2 (ja) * | 2017-01-25 | 2021-04-21 | 三菱電機株式会社 | 組み込み装置及びファームウェア更新方法 |
TWI646464B (zh) * | 2017-03-31 | 2019-01-01 | 神雲科技股份有限公司 | 管理引擎的韌體更新方法 |
US11409876B2 (en) | 2017-04-24 | 2022-08-09 | Hewlett-Packard Development Company, L.P. | Displaying a BIOS update progress |
US11294661B2 (en) * | 2017-04-25 | 2022-04-05 | Microsoft Technology Licensing, Llc | Updating a code file |
US10540501B2 (en) * | 2017-06-02 | 2020-01-21 | Dell Products, L.P. | Recovering an information handling system from a secure boot authentication failure |
US10459751B2 (en) | 2017-06-30 | 2019-10-29 | ATI Technologies ULC. | Varying firmware for virtualized device |
US10754955B2 (en) * | 2017-08-04 | 2020-08-25 | Dell Products, L.P. | Authenticating a boot path update |
JP7009852B2 (ja) * | 2017-09-08 | 2022-01-26 | 富士フイルムビジネスイノベーション株式会社 | 電子装置 |
EP3460700A1 (en) | 2017-09-22 | 2019-03-27 | Banco Bilbao Vizcaya Argentaria, S.A. | Authentication of software update modules using chameleon hashing. |
US10678529B1 (en) * | 2017-11-30 | 2020-06-09 | Amazon Technologies, Inc. | Secure device firmware installation |
US11269606B2 (en) | 2017-12-13 | 2022-03-08 | Absolute Software Corporation | Firmware publication of multiple binary images |
KR20190074857A (ko) * | 2017-12-20 | 2019-06-28 | 삼성전자주식회사 | 펌웨어를 업데이트하는 인터페이스 장치, 모바일 장치 및 펌웨어 업데이트 방법 |
JP6988444B2 (ja) * | 2017-12-20 | 2022-01-05 | 大日本印刷株式会社 | 初期設定方法、セキュアエレメント、デバイス及びプログラム |
WO2019119408A1 (en) * | 2017-12-22 | 2019-06-27 | Intel Corporation | Manageability engine and automatic firmware validation |
TWI722269B (zh) * | 2018-01-26 | 2021-03-21 | 和碩聯合科技股份有限公司 | 韌體更新方法及使用此方法的電子裝置 |
US10395038B2 (en) * | 2018-02-01 | 2019-08-27 | Quanta Computer Inc. | System and method for automatic recovery of firmware image |
US10409585B2 (en) * | 2018-02-14 | 2019-09-10 | Micron Technology, Inc. | Over-the-air (OTA) update for firmware of a vehicle component |
US11003537B2 (en) | 2018-05-29 | 2021-05-11 | Micron Technology, Inc. | Determining validity of data read from memory by a controller |
CN112020703A (zh) * | 2018-08-03 | 2020-12-01 | 惠普发展公司,有限责任合伙企业 | Bios个性 |
US10740084B2 (en) * | 2018-08-16 | 2020-08-11 | Intel Corporation | Soc-assisted resilient boot |
KR20210113595A (ko) | 2018-11-19 | 2021-09-16 | 선전 헤이탭 테크놀로지 코포레이션, 엘티디. | 이상 처리 방법, 단말 기기 및 저장 매체 |
EP3663957A1 (en) * | 2018-12-03 | 2020-06-10 | Nagravision S.A. | Remote enforcement of device memory |
US11580226B2 (en) | 2019-02-21 | 2023-02-14 | Cisco Technology, Inc. | Hybrid firmware code protection |
US11086769B2 (en) * | 2019-03-25 | 2021-08-10 | Aurora Labs Ltd. | Proving whether software functionality has changed following a software change |
CN109992517B (zh) * | 2019-04-03 | 2023-12-26 | 昆仑太科(北京)技术股份有限公司 | 基于uefi的固件模块调试方法和系统 |
US11436333B2 (en) | 2019-04-08 | 2022-09-06 | Cisco Technology, Inc. | Bios/bootloader protection |
WO2020231418A1 (en) | 2019-05-15 | 2020-11-19 | Hewlett-Packard Development Company, L.P. | Update signals |
KR20210046418A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법 |
JP7367471B2 (ja) * | 2019-11-07 | 2023-10-24 | 株式会社リコー | 情報処理装置、ファイル保証方法、及びファイル保証プログラム |
US11256499B2 (en) * | 2019-12-20 | 2022-02-22 | Hewlett Packard Enterprise Development Lp | Hotfix-firmware having updates to a firmware at runtime |
US11941391B2 (en) | 2020-04-06 | 2024-03-26 | Intel Corporation | Microcode(uCode) hot-upgrade method for bare metal cloud deployment |
US11321077B1 (en) * | 2020-06-05 | 2022-05-03 | Amazon Technologies, Inc. | Live updating of firmware behavior |
US11263023B1 (en) * | 2020-08-17 | 2022-03-01 | Dell Products L.P. | System and method for updating host operating system drivers from a management controller |
WO2022046105A1 (en) * | 2020-08-31 | 2022-03-03 | Hewlett-Packard Development Company, L.P. | Bios update |
US20220129259A1 (en) * | 2020-10-26 | 2022-04-28 | Micron Technology, Inc. | Endpoint Customization via Online Firmware Store |
US11507385B1 (en) | 2021-04-30 | 2022-11-22 | Cortina Access, Inc. | Embedded electronic device, boot method, and embedded electronic device readable recording medium with stored program |
CN113360914A (zh) * | 2021-05-14 | 2021-09-07 | 山东英信计算机技术有限公司 | 一种bios更新的方法、系统、设备及介质 |
CN113238778B (zh) * | 2021-05-23 | 2024-02-13 | 山东英信计算机技术有限公司 | 一种升级bios固件的方法、系统、设备及介质 |
US20220245252A1 (en) * | 2022-02-22 | 2022-08-04 | Intel Corporation | Seamless firmware update mechanism |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506813A (zh) * | 2002-10-21 | 2004-06-23 | 从海量存储设备中可靠和安全地更新和恢复固件 | |
US20050044363A1 (en) * | 2003-08-21 | 2005-02-24 | Zimmer Vincent J. | Trusted remote firmware interface |
CN1647443A (zh) * | 2002-04-18 | 2005-07-27 | 国际商业机器公司 | 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作 |
CN101031890A (zh) * | 2004-09-30 | 2007-09-05 | 英特尔公司 | 通过网络对固件的自监控和更新 |
EP1970830A2 (en) * | 2007-03-15 | 2008-09-17 | Ricoh Company, Ltd. | Information processing apparatus, software update method, and image processing apparatus |
CN101414160A (zh) * | 2007-10-16 | 2009-04-22 | 西门子公司 | 自动修改程序的方法和自动化系统 |
WO2009062965A2 (en) * | 2007-11-12 | 2009-05-22 | Gemalto Sa | System and method for secure firmware update of a secure token having a flash memory controller and a smart card |
CN101526903A (zh) * | 2008-03-07 | 2009-09-09 | 鸿富锦精密工业(深圳)有限公司 | 通讯装置及其固件更新方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210854A (en) * | 1989-06-14 | 1993-05-11 | Digital Equipment Corporation | System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version |
JPH10307726A (ja) | 1997-05-02 | 1998-11-17 | Nec Corp | 起動エラー時におけるファームウェアリカバリ方式 |
JPH10307725A (ja) | 1997-05-09 | 1998-11-17 | Toshiba Corp | コンピュータ装置 |
US6754828B1 (en) * | 1999-07-13 | 2004-06-22 | Intel Corporation | Algorithm for non-volatile memory updates |
JP3726011B2 (ja) | 2000-07-03 | 2005-12-14 | Necフィールディング株式会社 | 保守センター、保守システム、保守方法、記録媒体 |
US7043664B1 (en) * | 2002-10-31 | 2006-05-09 | Microsoft Corporation | Firmware recovery |
US7024551B2 (en) * | 2003-01-07 | 2006-04-04 | Sun Microsystems, Inc. | Method and apparatus for updating boot code using a system controller |
US7512749B2 (en) * | 2003-06-30 | 2009-03-31 | Intel Corporation | Safe software revision for embedded systems |
US7549042B2 (en) | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US20070143530A1 (en) * | 2005-12-15 | 2007-06-21 | Rudelic John C | Method and apparatus for multi-block updates with secure flash memory |
US8185886B2 (en) * | 2007-06-26 | 2012-05-22 | Intel Corporation | Method and apparatus to enable dynamically activated firmware updates |
JP2009110297A (ja) | 2007-10-30 | 2009-05-21 | Toshiba Corp | 情報処理装置および同装置におけるメンテナンス方法 |
EP2229625B1 (en) * | 2007-12-13 | 2011-08-31 | Telefonaktiebolaget LM Ericsson (publ) | Updating firmware of an electronic device |
US20100241838A1 (en) * | 2009-03-20 | 2010-09-23 | Jason Cohen | Method and system for firmware updates |
US8107945B2 (en) * | 2009-03-31 | 2012-01-31 | Cellco Partnership | Wireless device remote recovery |
US8589302B2 (en) | 2009-11-30 | 2013-11-19 | Intel Corporation | Automated modular and secure boot firmware update |
-
2009
- 2009-11-30 US US12/592,605 patent/US8589302B2/en active Active
-
2010
- 2010-09-24 JP JP2010214374A patent/JP5174110B2/ja not_active Expired - Fee Related
- 2010-09-24 KR KR1020100092955A patent/KR101232558B1/ko not_active IP Right Cessation
- 2010-09-24 EP EP10251643A patent/EP2339494A1/en not_active Ceased
- 2010-09-26 CN CN201010572666.6A patent/CN102081534B/zh not_active Expired - Fee Related
-
2013
- 2013-10-16 US US14/055,008 patent/US9483246B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1647443A (zh) * | 2002-04-18 | 2005-07-27 | 国际商业机器公司 | 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作 |
CN1506813A (zh) * | 2002-10-21 | 2004-06-23 | 从海量存储设备中可靠和安全地更新和恢复固件 | |
US20050044363A1 (en) * | 2003-08-21 | 2005-02-24 | Zimmer Vincent J. | Trusted remote firmware interface |
CN101031890A (zh) * | 2004-09-30 | 2007-09-05 | 英特尔公司 | 通过网络对固件的自监控和更新 |
EP1970830A2 (en) * | 2007-03-15 | 2008-09-17 | Ricoh Company, Ltd. | Information processing apparatus, software update method, and image processing apparatus |
CN101414160A (zh) * | 2007-10-16 | 2009-04-22 | 西门子公司 | 自动修改程序的方法和自动化系统 |
WO2009062965A2 (en) * | 2007-11-12 | 2009-05-22 | Gemalto Sa | System and method for secure firmware update of a secure token having a flash memory controller and a smart card |
CN101526903A (zh) * | 2008-03-07 | 2009-09-09 | 鸿富锦精密工业(深圳)有限公司 | 通讯装置及其固件更新方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105378663A (zh) * | 2013-07-31 | 2016-03-02 | 惠普发展公司,有限责任合伙企业 | 更新引导代码 |
CN105378663B (zh) * | 2013-07-31 | 2019-01-15 | 惠普发展公司,有限责任合伙企业 | 用于更新引导代码的系统和方法 |
CN106354524B (zh) * | 2015-07-17 | 2021-01-01 | 恩智浦美国有限公司 | 实时更新固件的系统和方法 |
CN106354524A (zh) * | 2015-07-17 | 2017-01-25 | 飞思卡尔半导体公司 | 实时更新固件的系统和方法 |
CN108604276A (zh) * | 2015-12-03 | 2018-09-28 | 格里森技术有限责任公司 | 可通过网络更新的安全启动代码缓存 |
CN108604276B (zh) * | 2015-12-03 | 2022-04-29 | 格里森技术有限责任公司 | 可通过网络更新的安全启动代码缓存 |
CN106909351A (zh) * | 2015-12-22 | 2017-06-30 | 中电科技(北京)有限公司 | 一种基于uefi固件的ext文件系统的实现方法 |
WO2017107122A1 (en) * | 2015-12-24 | 2017-06-29 | Intel Corporation | Techniques for coordinating device boot security |
CN106201438A (zh) * | 2016-07-05 | 2016-12-07 | 河北建筑工程学院 | 基于Intel平台服务器CPU对个人计算机的移植方法和系统 |
CN108228209A (zh) * | 2016-12-21 | 2018-06-29 | 广达电脑股份有限公司 | 自动更新服务器系统的元件的固件的系统、方法和介质 |
WO2019047480A1 (zh) * | 2017-09-08 | 2019-03-14 | 深圳壹账通智能科技有限公司 | 程序更新方法、计算机可读存储介质、终端设备及装置 |
CN109558157A (zh) * | 2017-09-26 | 2019-04-02 | 广达电脑股份有限公司 | 于固件更新期间保存固件设置 |
TWI691836B (zh) * | 2018-11-20 | 2020-04-21 | 神雲科技股份有限公司 | 基本輸入輸出系統的開機階段辨識方法 |
CN111352580A (zh) * | 2018-12-20 | 2020-06-30 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111352580B (zh) * | 2018-12-20 | 2023-07-21 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
US11023220B2 (en) | 2019-09-26 | 2021-06-01 | Dell Products L.P. | Firmware update with integrated smart sequence and action engine |
CN111708652A (zh) * | 2020-05-20 | 2020-09-25 | 新华三技术有限公司 | 一种故障修复方法及装置 |
CN111708652B (zh) * | 2020-05-20 | 2023-12-26 | 新华三技术有限公司 | 一种故障修复方法及装置 |
CN117806721A (zh) * | 2024-02-28 | 2024-04-02 | 苏州元脑智能科技有限公司 | 故障诊断驱动加载方法、装置、电子设备及存储介质 |
CN117806721B (zh) * | 2024-02-28 | 2024-04-26 | 苏州元脑智能科技有限公司 | 故障诊断驱动加载方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2011118873A (ja) | 2011-06-16 |
KR101232558B1 (ko) | 2013-02-12 |
CN102081534B (zh) | 2015-09-02 |
US20110131447A1 (en) | 2011-06-02 |
US9483246B2 (en) | 2016-11-01 |
EP2339494A1 (en) | 2011-06-29 |
US8589302B2 (en) | 2013-11-19 |
KR20110060791A (ko) | 2011-06-08 |
US20140047428A1 (en) | 2014-02-13 |
JP5174110B2 (ja) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102081534B (zh) | 自动模块化且安全的引导固件更新 | |
CN101154256B (zh) | 启动可信共存环境的方法和装置 | |
US10754955B2 (en) | Authenticating a boot path update | |
US10169589B2 (en) | Securely booting a computer from a user trusted device | |
KR100675518B1 (ko) | 모듈식 바이오스 업데이트 메커니즘 | |
CN109791515B (zh) | 用于安全恢复主机系统代码的系统和方法 | |
US7591018B1 (en) | Portable antivirus device with solid state memory | |
US9495535B2 (en) | Systems and methods for authenticated system partition access | |
US11579893B2 (en) | Systems and methods for separate storage and use of system BIOS components | |
US9721102B2 (en) | Boot mechanisms for bring your own management | |
US11126725B2 (en) | Secure firmware capsule update using NVMe storage and method therefor | |
CN103119560A (zh) | 用于服务处理器复合体中的数据存储的基于需求的usb代理 | |
CN103917949A (zh) | 使用管理引擎的部件更新 | |
GB2507596A (en) | A method for updating software in a device that makes payment transactions | |
CN104205045A (zh) | 针对可上网的计算节点提供不变的防病毒有效载荷 | |
EP3701411A1 (en) | Software packages policies management in a securela booted enclave | |
US11409541B2 (en) | Systems and methods for binding secondary operating system to platform basic input/output system | |
US20190339960A1 (en) | System and Method to Deploy or Update Operating System Service Capabilities | |
US11989304B2 (en) | Secure multi-BIOS-image system | |
US11907071B2 (en) | Storage failover protocol for secure and seamless extended firmware load | |
CN116361818A (zh) | 用于访问管理控制器的自动安全验证 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150902 Termination date: 20180926 |