CN1506813A - 从海量存储设备中可靠和安全地更新和恢复固件 - Google Patents

从海量存储设备中可靠和安全地更新和恢复固件 Download PDF

Info

Publication number
CN1506813A
CN1506813A CNA2003101183872A CN200310118387A CN1506813A CN 1506813 A CN1506813 A CN 1506813A CN A2003101183872 A CNA2003101183872 A CN A2003101183872A CN 200310118387 A CN200310118387 A CN 200310118387A CN 1506813 A CN1506813 A CN 1506813A
Authority
CN
China
Prior art keywords
firmware
bios
embedded controller
update
code section
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.)
Pending
Application number
CNA2003101183872A
Other languages
English (en)
Inventor
Da
D·A·波尔斯
D·B·德明
K·莱恩
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.)
Phoenix Technologies Ltd
Original Assignee
Phoenix Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phoenix Technologies Ltd filed Critical Phoenix Technologies Ltd
Publication of CN1506813A publication Critical patent/CN1506813A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

使用从一个海量存储设备的一个受保护区域中运行的一个工具更新或恢复一个计算机系统中的系统固件(BIOS)的系统、方法、以及软件。这避免了标准的操作系统环境,并且排除了损害或删除所需文件的可能性。把包含系统固件(BIOS)的拷贝和一个用于向系统EEPROM或闪速ROM写入的固件更新工具的文件传送给海量存储设备。一旦传送了文件,则例如在Host Protected Area中保护在海量存储设备上的包含这些文件的区域。在保护或锁定海量存储设备的这个区域之后,如果固件损坏了,则系统固件或引导工具以恢复模式引导标准的操作系统或者是从Host Protected Area中运行固件更新工具。这允许固件更新工具运行于在计算机系统的标准操作环境之外的并且独立于它的环境中。在一个终端用户需要更新系统固件的情况下,一个应用程序被用来向固件更新工具提供一个新的固件图像。这个应用程序然后请求系统引导在下一个引导区上的更新工具。

Description

从海量存储设备中可靠和 安全地更新和恢复固件
技术领域
本发明通常涉及计算机系统和相关方法,并且更特别地涉及从一个海量存储设备中可靠地和安全地更新和恢复系统固件的系统、方法、和软件。
背景技术
有许多能从在系统主操作系统的环境中运行的磁盘的一个未保护区域中更新一台个人计算机的系统固件的工具。该工具能够从包含DOS的软驱中运行。然而,这要求终端用户能够生成一个可引导的软驱。
“引导块(Boot Block)”是从不被更新的一块主系统固件(BIOS)。BootBlock的用途是确定系统的固件(BIOS)中的其它部分是否被损坏了。在确定系统固件是好的之后,Boot Block把控制权传递给用于剩余的POST(Power-OnSelf-Test,开机自检)初始化的主系统固件。另一方面,如果系统的固件损坏了,则Boot Block通过从某种形式的存储介质或软盘中加载所需要的工具和文件,提供一个机构以把系统固件恢复到已知的工作型式(Version)。
Protected Area Run Time Extension Services Standard(ANSI BSR NC1TS-346)提供了一个用于在硬盘驱动器上的被称作服务区域的专用区域中存储数据的机构。这个标准还提供了一种用于从一个服务区域中引导操作系统的方法。
已知的现有技术呈现出了许多缺点。例如,如果把一个系统固件编程到EEPROM或闪速ROM中的处理过程被过早地中断或终止了,则能够使该系统不能用。有许多可能事件,其能够导致所述两种事件中的一种发生。
当前的工具必须在主操作系统的环境中执行,在该环境下工具可以不必具有足够的控制权以防止任务切换。这能够妨碍为编程EEPROM或闪速ROM设备所需要的时间紧急的事件。另一个可能的问题是操作系统具有对系统电源的控制权。如果操作系统电源管理方案确定需要把系统放置到睡眠状态或是关闭系统,则它能够过早地除去电源,终止编程处理过程。
大多数的危机恢复方案要求用户预先创建一个包含所需要的恢复文件和工具的软盘。软盘设备具有相对小的空间量,并且仅仅固件图像就接近于软盘的大小。这为将来的扩展留下了很小的空间。
由于主操作系统中的文件系统在该系统被制造时可能是未知的,或者是可以在该系统发货之后被改变,所以假定危机恢复文件将在硬盘驱动器上是不可能的。即使文件系统是已知的,它的复杂性也可能要求比装载在EEPROM或闪速ROM中的Boot Block区域中的代码更多的代码。
此外,其它操作系统的文件系统可能包含这样的知识产权,即如果存取它的代码包含在Boot Block中则必须被授权。而且,把危机恢复文件置于主操作系统的文件系统中还把它们暴露给了可能改变或删除该文件的恶意软件(诸如病毒)。
因此,本发明的一个目的是提供从一个海量存储设备中可靠地和安全地更新和恢复系统固件的系统、方法、和软件。
发明内容
为了实现上述及其它目的,本发明提供了用于通过使用从一个海量存储设备或非易失性存储设备、例如象硬盘驱动器的一个受保护区域中运行一个工具、来更新或恢复一个计算机系统、诸如个人计算机的系统固件(BIOS)的系统、方法和软件。这避免了标准的操作系统环境,并且排除了损害或删除所需文件的可能性。在固件被损坏的情况下,计算机系统处于恢复模式中,并且从受保护区域中运行一个工具以恢复系统固件的一个已知的工作型式。
本发明可以象下文这样被实现。在制造计算机系统期间,把包含系统固件(BIOS)的拷贝和一个用于向系统EEPROM或闪速ROM写入的固件更新工具的文件传送给海量存储设备或硬盘驱动器。一旦该文件被传送了,就能够诸如通过使用ATA规范中的“Host Protected Area”特征设置、或其它可用的机构来保护在硬盘驱动器上包含这些文件的区域。
在保护或锁定硬盘驱动器中的这个区域之后,系统固件或引导工具引导标准的操作系统或者是从Host Protected Area(主机保护区)中运行固件更新工具。这允许固件更新工具运行于在计算机系统的标准操作环境之外的并且独立于它的环境中。
在一个终端用户需要更新系统固件的情况下,利用一个应用程序来向固件更新工具提供一个新的固件图像。然后,该应用程序请求系统引导在下一个引导区上的更新工具。
附图说明
通过参考下列结合附图给出的详细说明,本发明的各种特征和优点可以被更容易地理解,在附图中相似的参考数字表示相似的结构单元,并且其中:
图1是说明了一个示范性个人计算机系统的方框图,该个人计算机系统实现了依据本发明原理的一种从一个海量存储设备中可靠地和安全地更新和恢复系统固件的方法;以及
图2是一个说明了依据本发明原理的一种示范性方法和软件代码的流程图。
具体实施方式
参见附图,图1是说明了一个示范性计算机系统10、诸如个人计算机系统10的方框图,该系统10实现了一种从一个包含一个辅助的非易失性存储设备20的海量存储设备20中可靠地和安全地更新和恢复系统固件的方法30。计算机系统10包含一个连接到一个关键性的非易失性存储设备12的中央处理单元(CPU)11。关键性的非易失性存储设备12可以是闪速存储器(flash memory)、只读存储器(ROM)可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、或其它的CPU 11能够使用以执行初始的一一组指令的设备或技术。
CPU 11还连接到一个系统存储器13、诸如随机存取存储器13。CPU 11可以经由一条系统总线14、例如象外围组件互连(Peripheral Component Interconnect,PCI)总线14连接到辅助的非易失性存储设备20。辅助的非易失性存储设备20可以是硬盘驱动器、压缩磁盘(CD)驱动器、数字视频磁盘(DVD)驱动器、软盘驱动器、Zip驱动器、SuperDisk驱动器、磁光盘驱动器、Jazz驱动器、高密度软盘(HiFD)驱动器、闪速存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、或者任何其它能够在断电条件下保持数据的设备或技术。
关键性的非易失性存储设备12中的第一部分存储可操作用于初始化CPU 11和系统存储器13的初始化代码。关键性的非易失性存储设备12中的第二部分存储包含一个任务列表的分派管理器,其中该任务必须执行以完全地初始化计算机系统10。分派管理器可操作用于有选择地加载和重复地执行与计算机的完全初始化有关的许多任务。
在操作中,当计算机系统10被打开时,运行初始化代码以初始化CPU 11和系统存储器13。然后把分派管理器加载到系统存储器13中。分派管理器执行包含在其中的任务列表,以使所有需要的固件(BIOS模块)被加载到系统存储器13中而且必须被执行。
分派管理器确定每个需要的BIOS模块是否在系统存储器13中,并且如果不是的话,则查找、加载和执行每个需要的BIOS模块。BIOS模块可以位于关键性的非易失性存储设备12(闪速存储器)或辅助的非易失性存储设备20、包含以上标识的关键性的或辅助的非易失性存储设备20中的任何一个中。
下面参见图2,它是一个说明了依据本发明原理的一种示范性方法30和软件代码的详细的流程图。所述示范性方法30包含下列步骤。
引导计算机系统10,并且引导块接受CPU控制31。确定固件是否损坏了32。如果固件没有损坏(否),则运行正常的POST(Power-On Self-Test,开机自检)过程33。然后,请求引导一个固件更新工具34,如果固件更新工具34没有被运行(否),则引导操作系统35,并且使一个新的固件图像对更新工具可利用36。请求系统引导在计算机系统10的下一个引导程序(Boot)上的固件更新工具37。然后重置计算机系统38。
如果确定固件损坏了(是)32,则进入固件危机恢复模式41。从一个受保护区域中运行固件更新工具42。用一个先前已知的工作图像恢复固件43。然后重置计算机系统38。
如果运行了固件更新工具34(是),则从受保护区域中运行固件更新工具45。用一个新的固件图像更新固件46。然后重置计算机系统38。
因此,在制造计算机系统10的期间,把包含系统固件(BIOS)的拷贝和用于向系统EEPROM或闪速ROM写入的固件更新工具的文件传送给硬盘驱动器20。一旦该文件被传送了,就能够诸如通过使用ATA规范中的“Host ProtectedArea”特征设置、或其它机构来保护在硬盘驱动器20上的包含这些文件的区域。在保护或锁定硬盘驱动器20中的这个区域之后,系统固件或引导工具引导标准的操作系统或者是从Host Protected Area(主机保护区)中运行固件更新工具。这允许该工具运行于在个人计算机10的标准操作环境之外的并且独立于它的环境中。
在一个终端用户需要更新系统固件的情况下,一个应用程序被用来向固件更新工具提供一个新的固件图像。这个应用程序然后请求系统引导在下一个引导区上的更新工具。本发明实现了下述优点。
从一个硬盘驱动器20的一个受保护区域中更新或恢复一个系统的固件,有几个优点。
能够从硬盘驱动器20的一个受保护区域中运行的固件更新工具能够防止在更新之前损坏或者损害新的系统文件。此外,不需要预先创建和维护一个危机恢复软盘。这对于终端用户来说使得恢复处理过程更加可靠和简单。
更新系统固件的该方法提供了一个免于正常的操作系统任务切换和/或电源管理中断的操作环境,其中电源管理中断能够导致更新失败并且使系统不能用。这个受控的环境提供了对EEPROM或闪速ROM编程处理过程的关键性时序的更大的控制权。
由于硬盘中的受保护区域通常不能被终端用户和主操作系统访问,所以能够根据需要布置该文件而不必担忧删除或损害,由于能够预先确切地已知需要的文件在硬盘上的什么位置,所以这能够减小固件更新工具的复杂性。由于为Boot Block提供的相对小的EEPROM或闪速ROM的空间量而产生的减少了的容量,所以这是有用的。
本发明中的某些特征被认为是新的和新颖的。例如,本发明保护了固件更新处理过程不被操作系统中断,以及需要的文件不被终端用户或恶意软件删除或篡改。本发明还提供了一个对终端用户来说更简单的用于固件恢复的机构,是因为它们不必创建和维护一个危机恢复软盘。
本发明还允许,以一种与它们存在于主操作系统的文件系统中相比更容易被引导块存取的方式,把固件和工具文件布置在硬盘驱动器20上。这允许恢复代码更简单。现在从一个诸如NT文件系统(NTFS)的专有文件系统中从一个损坏的ROM中恢复甚至是不可能的,其中NTFS是一个由微软公司开发的用于Windows NT操作系统的文件系统。
因此,已经公开了实现嵌入式的控制器固件更新的系统、方法和软件。应当理解,以上描述的实施例仅仅是说明了表示了本发明原理的应用的许多特殊实施例中的某些。显然,能够由本领域技术人员很容易地设计出很多其它的方案,而没有背离本发明的范围。

Claims (6)

1.一个用于嵌入式控制器固件更新的系统,包含:
(1)一个中央处理单元(CPU);
(2)一个连接到CPU的系统存储器;
(3)一个关键性的非易失性存储设备,连接到CPU,存储包含了基本输入/输出系统(BIOS)和一个分派管理器的初始化代码,其中基本输入/输出系统(BIOS)可操作用于初始化CPU和系统存储器,而分派管理器包含一个执行以完全地初始化计算机系统的任务列表,而且分派管理器可操作用于有选择地加载和重复地执行与计算机的初始化有关的许多任务;
(4)一个辅助的非易失性存储设备,连接到CPU,并且在断电条件下保持数据;以及
(5)布置在关键性的非易失性存储设备上的、提供了嵌入式控制器固件更新的软件,其包含:
一个包含嵌入式控制器固件的代码部分;
一个是包含一个闪速工具的BIOS的一部分的代码部分;
一个引导计算机的代码部分;
一个在引导计算机期间运行闪速工具以把一个新的固件图像以及一个嵌入式控制器更新算法或过程写入到计算机的一个系统BIOS存储区中的代码部分;
一个重新引导计算机的代码部分;以及
一个在重新引导计算机期间使系统BIOS运行更新算法或过程的代码部分,该更新算法或过程把新的固件图像写入到计算机的一个嵌入式控制器固件存储区中。
2.如权利要求1所述的系统,其特征在于:闪速工具包含一个在Windows操作系统下运行的闪速工具。
3.一种用于和一个计算机系统一起使用的、提供嵌入式控制器固件更新的方法,其中该计算机系统具有一个基本输入/输出系统(BIOS)和一个操作系统,该方法包含以下步骤:
提供嵌入式控制器固件作为BIOS的一部分;
提供一个闪速工具作为BIOS的一部分;
引导个人计算机系统;
在引导期间,使闪速工具把一个新的固件图像以及一个嵌入式控制器更新算法写入到个人计算机系统的一个系统BIOS存储区中;
重新引导个人计算机系统;
在重新引导期间,使系统BIOS运行更新算法;以及
使更新算法把新的固件图像写入到个人计算机系统的一个嵌入式控制器固件存储区中。
4.如权利要求2所述的方法,其特征在于:操作系统是一个Windows操作系统,而且闪速工具是在Windows操作系统下运行的工具。
5.一种用于和一个计算机系统一起使用的、提供嵌入式控制器固件更新的软件,其中该计算机系统具有一个基本输入/输出系统(BIOS)和一个操作系统,该软件包含:
一个包含嵌入式控制器固件的代码部分;
一个是包含一个闪速工具的BIOS的一部分的代码部分;
一个引导计算机的代码部分;
一个在引导计算机期间运行闪速工具以把一个新的固件图像以及一个嵌入式控制器更新算法或过程写入到计算机的一个系统BIOS存储区中的代码部分;
一个重新引导计算机的代码部分;以及
一个在重新引导计算机期间使系统BIOS运行更新算法或过程的代码部分,该更新算法或过程把新的固件图像写入到计算机的一个嵌入式控制器固件存储区中。
6.如权利要求5所述的软件,其特征在于:操作系统是一个Windows操作系统,而且闪速工具是在Windows操作系统下运行的工具。
CNA2003101183872A 2002-10-21 2003-10-21 从海量存储设备中可靠和安全地更新和恢复固件 Pending CN1506813A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/274759 2002-10-21
US10/274,759 US20040076043A1 (en) 2002-10-21 2002-10-21 Reliable and secure updating and recovery of firmware from a mass storage device

Publications (1)

Publication Number Publication Date
CN1506813A true CN1506813A (zh) 2004-06-23

Family

ID=32093130

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2003101183872A Pending CN1506813A (zh) 2002-10-21 2003-10-21 从海量存储设备中可靠和安全地更新和恢复固件

Country Status (6)

Country Link
US (1) US20040076043A1 (zh)
JP (1) JP2004145886A (zh)
KR (1) KR20040034540A (zh)
CN (1) CN1506813A (zh)
TW (1) TW200428196A (zh)
WO (1) WO2004038561A2 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716462B2 (en) 2005-10-17 2010-05-11 Asustek Computer Inc. Method for initiating a display chip
CN101739262A (zh) * 2008-11-11 2010-06-16 英业达股份有限公司 固件更新方法及应用其的电子装置
CN102081534A (zh) * 2009-11-30 2011-06-01 英特尔公司 自动模块化且安全的引导固件更新
CN101093446B (zh) * 2006-06-21 2011-06-22 鸿富锦精密工业(深圳)有限公司 操作系统引导装置、方法及其应用的电脑系统
CN101047457B (zh) * 2005-10-10 2011-08-31 三星电子株式会社 数字广播处理装置及其引导装载器更新方法
CN103383656A (zh) * 2012-05-02 2013-11-06 华为终端有限公司 恢复存储系统的方法和装置
CN104573500A (zh) * 2014-09-10 2015-04-29 中电科技(北京)有限公司 一种基于uefi的软件实时保护系统和方法
CN105988887A (zh) * 2015-01-31 2016-10-05 深圳市硅格半导体有限公司 存储卡数据处理系统及方法
CN105988829A (zh) * 2015-01-30 2016-10-05 联想(北京)有限公司 一种bios管理方法、电子设备和系统
CN103383656B (zh) * 2012-05-02 2016-11-30 华为终端有限公司 恢复存储系统的方法和装置
CN106462400A (zh) * 2014-07-02 2017-02-22 惠普发展公司,有限责任合伙企业 固件更新
CN103917949B (zh) * 2011-07-02 2017-06-09 英特尔公司 使用管理引擎的部件更新方法和装置
CN107092495A (zh) * 2010-09-22 2017-08-25 英特尔公司 平台固件铠装技术
CN108604276A (zh) * 2015-12-03 2018-09-28 格里森技术有限责任公司 可通过网络更新的安全启动代码缓存
CN111079194A (zh) * 2018-10-19 2020-04-28 罗伯特·博世有限公司 计算装置和用于该计算装置的运行方法

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246266B2 (en) * 2002-11-21 2007-07-17 Chris Sneed Method and apparatus for firmware restoration in modems
CN1277211C (zh) * 2003-05-06 2006-09-27 联想(北京)有限公司 一种计算机操作系统的修复方法
US8095783B2 (en) 2003-05-12 2012-01-10 Phoenix Technologies Ltd. Media boot loader
US7080243B2 (en) * 2003-05-15 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system for comparing firmware images
US8001348B2 (en) 2003-12-24 2011-08-16 Intel Corporation Method to qualify access to a block storage device via augmentation of the device's controller and firmware flow
KR100987628B1 (ko) * 2004-02-07 2010-10-13 엘지전자 주식회사 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체
US7376870B2 (en) * 2004-09-30 2008-05-20 Intel Corporation Self-monitoring and updating of firmware over a network
US7210033B1 (en) * 2004-10-15 2007-04-24 American Megatrends, Inc. Method, system, and computer-readable medium for enabling multi-segmented recovery of basic input output system program code in a computer system
JP2006260058A (ja) * 2005-03-16 2006-09-28 Fujitsu Ltd 計算機サーバ・システムにおけるファームウェアアップデート方法
US7426633B2 (en) * 2005-05-12 2008-09-16 Hewlett-Packard Development Company, L.P. System and method for reflashing disk drive firmware
KR100729091B1 (ko) * 2005-12-01 2007-06-14 주식회사 대우일렉트로닉스 콤보 시스템의 롬 커렉션 방법
KR100729090B1 (ko) * 2005-12-01 2007-06-14 주식회사 대우일렉트로닉스 콤보 시스템의 롬 커렉션 방법
US7814479B2 (en) * 2005-12-14 2010-10-12 International Business Machines Corporation Simultaneous download to multiple targets
CN100424643C (zh) * 2005-12-20 2008-10-08 英业达股份有限公司 韧体加载装置
KR100748206B1 (ko) * 2006-01-24 2007-08-09 주식회사 렛스비전 임베디드장치의 펌웨어 업그레이드 방법
US7962736B1 (en) * 2006-10-03 2011-06-14 American Megatrends, Inc. Interactive pre-OS firmware update with repeated disabling of interrupts
US7702896B1 (en) 2006-10-03 2010-04-20 American Megatrends, Inc. Interactive firmware recovery
KR100847560B1 (ko) * 2006-12-11 2008-07-21 삼성전자주식회사 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법
US8271968B2 (en) * 2006-12-12 2012-09-18 Dell Products L.P. System and method for transparent hard disk drive update
US7761734B2 (en) * 2007-04-13 2010-07-20 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device
US7761735B2 (en) * 2007-04-13 2010-07-20 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device
KR100775887B1 (ko) * 2007-07-31 2007-11-13 주식회사 셀런 임베디드시스템에서 하드디스크를 이용한 운영체계 로딩 및업데이트 방법
KR100957095B1 (ko) * 2007-12-13 2010-05-13 현대자동차주식회사 플래시 메모리를 복구하는 임베디드 시스템 및 그 방법
US9069965B2 (en) * 2008-08-26 2015-06-30 Dell Products L.P. System and method for secure information handling system flash memory access
US8140837B2 (en) * 2008-11-05 2012-03-20 International Business Machines Corporation Automatically making selective changes to firmware or configuration settings
WO2010127679A1 (en) * 2009-05-04 2010-11-11 Nokia Siemens Networks Oy Mechanism for updating software
US8972974B2 (en) * 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US20110113420A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
US9122558B2 (en) * 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US20110113422A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Programmatic Creation Of Task Sequences From Manifests
US20110113416A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Network-Enhanced Control Of Software Updates Received Via Removable Computer-Readable Medium
US9176898B2 (en) * 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
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
US20110238572A1 (en) * 2010-03-25 2011-09-29 Bank Of America Corporation Remote Control Of Self-Service Terminal
CN102097133B (zh) * 2010-12-31 2012-11-21 中国人民解放军装备指挥技术学院 一种海量存储系统的可靠性测试系统及测试方法
GB2478505B (en) * 2011-01-17 2012-02-15 Ido Schwartzman Method and system for secure firmware updates in programmable devices
US8819330B1 (en) 2011-09-20 2014-08-26 Google Inc. System and method for updating a locally stored recovery image
JP6132009B2 (ja) 2012-03-31 2017-05-24 インテル・コーポレーション システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム
KR20140099757A (ko) * 2013-02-04 2014-08-13 삼성전자주식회사 전자장치 및 전자장치의 펌웨어 업그레이드 방법
WO2014175861A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Recovering from compromised system boot code
CN105144185B (zh) 2013-04-23 2018-06-05 惠普发展公司,有限责任合伙企业 验证控制器代码和系统启动代码
CN103399520B (zh) * 2013-07-22 2015-12-23 深圳市汇川控制技术有限公司 用于可编程逻辑控制器系统的掉电数据存取方法及装置
CN104573487B (zh) * 2014-09-10 2017-08-01 中电科技(北京)有限公司 一种基于uefi的终端实时定位系统和方法
TWI515660B (zh) * 2014-12-17 2016-01-01 緯創資通股份有限公司 韌體變量更新方法
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
CN105573877B (zh) * 2015-12-14 2019-09-24 联想(北京)有限公司 一种信息处理方法及电子设备
CN107577472B (zh) * 2017-07-28 2020-05-08 深圳市海邻科信息技术有限公司 软件安装方法、装置及计算机可读存储介质
CN109840095A (zh) * 2017-11-28 2019-06-04 比亚迪股份有限公司 储能系统的启动方法、储能设备及存储介质
CN110045971B (zh) * 2018-01-16 2023-03-24 浙江宇视科技有限公司 系统升级恢复方法及装置
US10437557B2 (en) * 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US10776493B2 (en) 2018-10-12 2020-09-15 Hewlett Packard Enterprise Development Lp Secure management and execution of computing code including firmware
WO2020159533A1 (en) 2019-02-01 2020-08-06 Hewlett-Packard Development Company, L.P. Security credential derivation
US10963592B2 (en) 2019-02-05 2021-03-30 Western Digital Technologies, Inc. Method to unlock a secure digital memory device locked in a secure digital operational mode
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
US11580226B2 (en) 2019-02-21 2023-02-14 Cisco Technology, Inc. Hybrid firmware code protection
US11232210B2 (en) 2019-03-26 2022-01-25 Western Digital Technologies, Inc. Secure firmware booting
US11169819B2 (en) * 2019-05-01 2021-11-09 Dell Products L.P. Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS
EP3742295A1 (en) * 2019-05-23 2020-11-25 NXP USA, Inc. Automatic firmware rollback
US11016755B2 (en) * 2019-07-31 2021-05-25 Dell Products L.P. System and method to secure embedded controller flashing process
US10997297B1 (en) 2019-12-06 2021-05-04 Western Digital Technologies, Inc. Validating firmware for data storage devices
US10809944B1 (en) 2020-01-22 2020-10-20 Cypress Semiconductor Corporation Memory device resilient to cyber-attacks and malfunction

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
US6282647B1 (en) * 1999-06-02 2001-08-28 Adaptec, Inc. Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code
US6658563B1 (en) * 2000-05-18 2003-12-02 International Business Machines Corporation Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
JP2002244874A (ja) * 2001-02-15 2002-08-30 Toshiba Corp 情報処理装置およびファームウェア更新方法
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US7243347B2 (en) * 2002-06-21 2007-07-10 International Business Machines Corporation Method and system for maintaining firmware versions in a data processing system
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
US20040030877A1 (en) * 2002-08-06 2004-02-12 Aleksandr Frid Using system BIOS to update embedded controller firmware

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101047457B (zh) * 2005-10-10 2011-08-31 三星电子株式会社 数字广播处理装置及其引导装载器更新方法
US7716462B2 (en) 2005-10-17 2010-05-11 Asustek Computer Inc. Method for initiating a display chip
CN101093446B (zh) * 2006-06-21 2011-06-22 鸿富锦精密工业(深圳)有限公司 操作系统引导装置、方法及其应用的电脑系统
CN101739262A (zh) * 2008-11-11 2010-06-16 英业达股份有限公司 固件更新方法及应用其的电子装置
CN102081534A (zh) * 2009-11-30 2011-06-01 英特尔公司 自动模块化且安全的引导固件更新
US8589302B2 (en) 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
US9483246B2 (en) 2009-11-30 2016-11-01 Intel Corporation Automated modular and secure boot firmware update
CN107092495A (zh) * 2010-09-22 2017-08-25 英特尔公司 平台固件铠装技术
US9747094B2 (en) 2011-07-02 2017-08-29 Intel Corporation Component update using management engine
CN103917949B (zh) * 2011-07-02 2017-06-09 英特尔公司 使用管理引擎的部件更新方法和装置
CN103383656A (zh) * 2012-05-02 2013-11-06 华为终端有限公司 恢复存储系统的方法和装置
CN103383656B (zh) * 2012-05-02 2016-11-30 华为终端有限公司 恢复存储系统的方法和装置
CN106462400A (zh) * 2014-07-02 2017-02-22 惠普发展公司,有限责任合伙企业 固件更新
CN104573500A (zh) * 2014-09-10 2015-04-29 中电科技(北京)有限公司 一种基于uefi的软件实时保护系统和方法
CN105988829A (zh) * 2015-01-30 2016-10-05 联想(北京)有限公司 一种bios管理方法、电子设备和系统
CN105988887A (zh) * 2015-01-31 2016-10-05 深圳市硅格半导体有限公司 存储卡数据处理系统及方法
CN108604276A (zh) * 2015-12-03 2018-09-28 格里森技术有限责任公司 可通过网络更新的安全启动代码缓存
CN108604276B (zh) * 2015-12-03 2022-04-29 格里森技术有限责任公司 可通过网络更新的安全启动代码缓存
CN111079194A (zh) * 2018-10-19 2020-04-28 罗伯特·博世有限公司 计算装置和用于该计算装置的运行方法

Also Published As

Publication number Publication date
WO2004038561A3 (en) 2004-12-23
KR20040034540A (ko) 2004-04-28
TW200428196A (en) 2004-12-16
JP2004145886A (ja) 2004-05-20
US20040076043A1 (en) 2004-04-22
WO2004038561A2 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
CN1506813A (zh) 从海量存储设备中可靠和安全地更新和恢复固件
CN1241120C (zh) 计算机硬盘数据备份及恢复方法
US9400886B1 (en) System and method for using snapshots for rootkit detection
US7844855B2 (en) Stored memory recovery system
US7519806B2 (en) Virtual partition for recording and restoring computer data files
US7114184B2 (en) System and method for restoring computer systems damaged by a malicious computer program
US7827376B2 (en) System and method for protecting hidden protected area of HDD during operation
US20100082962A1 (en) Flash memory device for booting a computing device including embedded general purpose operating system
CN1330324A (zh) 数据处理装置与控制非挥发性存储设备重写的方法
CN1200341C (zh) 嵌入式系统中固件程序在线升级的实现方法
NZ520786A (en) Method of booting a computer system using a memory image of the post boot content of the system RAM memory
CN102591675A (zh) 使用共享存储块管理多软件镜像的方法和系统
CN101785239B (zh) 基于密钥的隐藏分区系统
WO2003083658A2 (en) Bios shadowed hard disk drive as robust, always on, backup
US20050193195A1 (en) Method and system for protecting data of storage unit
CN1308846C (zh) 在硬盘上实现保护计算机操作系统的方法
CN1223406A (zh) 计算机硬件控制分区存储保护技术
KR100299119B1 (ko) 플래쉬롬제어장치를구비한개인용컴퓨터시스템및그제어방법
CN1818824A (zh) 一种可靠性高的个人计算机及操作系统
KR100706514B1 (ko) 하드디스크상의 운영체제 부팅 방법
KR100413195B1 (ko) 비가시화 방법을 이용한 컴퓨터 파일 시스템 복원/보호 시스템 및 그 방법
CN1403925A (zh) 保护笔记型电脑的bios数据的装置及方法
CN118860743A (zh) 一种数据恢复方法、装置、设备及介质
CN1371055A (zh) 计算机硬盘保护方法
CN1363888A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication