CN110109682A - 电子计算机装置及方法 - Google Patents

电子计算机装置及方法 Download PDF

Info

Publication number
CN110109682A
CN110109682A CN201810670971.5A CN201810670971A CN110109682A CN 110109682 A CN110109682 A CN 110109682A CN 201810670971 A CN201810670971 A CN 201810670971A CN 110109682 A CN110109682 A CN 110109682A
Authority
CN
China
Prior art keywords
firmware image
shadow
control circuit
image
memory
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
CN201810670971.5A
Other languages
English (en)
Inventor
张英哲
蔡坤龙
骆文华
蔡俊宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
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 Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN110109682A publication Critical patent/CN110109682A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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
    • 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/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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/1441Resetting or repowering

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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明揭示一种电子计算机装置及方法,用于自动恢复固件映像。该方法包含从非易失性存储器中的固件映像建立在存储装置中影子固件映像。判断是否发生异常事件影响固件映像。影子固件映像从存储装置中恢复。影子固件映像被复制到非易失性存储器。

Description

电子计算机装置及方法
技术领域
本揭示内容涉及一种固件恢复的方法,且特别涉及一种在计算机装置中固件映像的自动恢复系统。
背景技术
典型的计算机包含各种硬件电路模块,例如处理器、基板记忆控制器、接口组件、存储器等。计算机编写让计算机执行不同功能的程序指令。固件是专门的程序指令可提供低阶控制给装置里的特别硬件。固件通常存储在非易失性存储器等装置里,例如只读存储器(Read-only memory)、电子抹除式可复写只读存储器(EEPROM)或快闪存储器(Flashmemory)。固件通常由主芯片执行工作,例如中央处理单元或基板管理控制器(BaseboardManagement Controller)。为了提升工作效率,在永久存储器(Permanent Memory)里的固件让主芯片(如处理器)可准备好(ready)及快速读取重要操作指令去控制计算机里的组件。
通过硬件布线电路实现(hardwired circuit)体现固件的优点是可以快速读取及执行。传统上,硬件布线电路的装置的固件不宜频繁地更换。举例说明,传统的固件存储器装置,如只读存储器(ROM),安装了永久电路,且在生产制造后无法进行更换。最近,固件已经被存储在可抹除式非易失性存储器(Erasable non-volatile memory),如电子抹除式可复写只读存储器(EEPROM)。此类的存储器保留了先前的存储器装置的硬件特性,从而允许快速读取及执行固件。然而,具有抹除式特性的存储器可以允许在不需要替换整个存储器装置而进行固件的更新或更正错误。
在计算机系统里,如中央处理单元(CPU)、基板管理控制器(BMC)或微控制器单元(MCU)的主芯片执行固件去控制整个系统。固件的设计是用于确保计算机系统的正常工作。“固件映像(firmware image)”这个术语被定义为存储在非易失性存储器里的固件程序代码的复本。在异常事件中,如通电时序中断,主芯片将记录这异常事件并通知使用者潜在之故障。在某些情况下,异常事件可能导致固件映像崩溃。例如,当固件映像加载到主芯片时,若发生电力损失的情况,因而导致更新的固件映像无法正确加载或加载到不确定的固件映像。在此情况下,主芯片因为不能读取固件映像而无法成功地启动,所以不能执行系统操作。
因此,在电力损失的情况下,需要一个允许自动恢复固件映像的系统。还需要一种系统,此系统允许固件映像存储在其他存储器中为了自动恢复固件映像。还需要另一种系统,其允许更新固件映像时自动存储备份固件映像。
发明内容
一个揭示例是一种恢复计算机装置的固件映像的方法。影子固件映像是将非易失性存储器中的固件映像建立在存储装置。影子固件映像用以判断是否发生可影响固件映像的异常事件。影子映像从存储装置中恢复。影子映像复制到非易失性存储器。
另一个揭示例是一个电子计算机装置。这个装置包含存储固件映像的非易失性存储器。这个装置包含执行固件映像的主芯片。这个装置包含存储影子固件映像的存储装置。这个装置包含控制电路可从非易失性存储器的固件映像建立在存储装置中的影子固件映像。控制电路可操作于判断是否发生可影响固件映像的异常事件。控制电路可操作于从存储装置中恢复影子固件映像。控制电路可操作于复制影子固件映像到非易失性存储器。
以上概述不只在表示公开每个实施例或本公开文的每个方面。相反地,前面概述仅提供了本文阐述的一些新颖性方面和技术特征的示例。当结合附图和所附权利请求项时,从以下对用于实施本发明的代表性实施例和模式详细描述,本发明的上述特征和优点以及其他特征和优点将变得显而易见。
附图说明
从以下描述的示例性实施例结合附图,本公开文将较易于了解,如附图中:
图1是具有自动恢复固件映像系统的计算机装置示例的方块图。
图2描述在图1中的系统的电源启动过程的流程图。
图3是计算机装置执行恢复影子固件映像的流程图。
图4是计算机装置执行恢复固件映像的流程图。
图5是图1中的控制电路执行建立影子固件映像程序的流程图。
图6是图1中的控制电路执行更新固件映像程序的流程图,以及
图7是图1中的控制电路从存储装置中恢复固件映像程序的流程图。
【符号说明】
100:计算机装置
110:中央处理单元
112:基板管理控制器
120:控制电路
130:电子抹除式可复写只读存储器
132:多工器
134:存储装置
136:平台控制器中心
140:内部存储器
142:电源确认位
144:芯片异常位
146:映像异常位
148:映像同步位
150:固件更新位
200~210:步骤
300~326:步骤
400~428:步骤
500~514:步骤
600~612:步骤
700~714:步骤
本揭示文容许各种修改和替代形式,并且一些具代表性实施例已经藉由附图中的示例公开并将在本文中详细描述。然而,应该理解的是,本发明并非意在限制所公开的特定形式。相反地,本揭示文将涵盖由所附的请求项限定的精神和范围内的所有修改,等同物和替代方案。
具体实施方式
本发明可被实施在各种不同的形式。具代表性的实施例皆被附图所展示,并且将被详细描述。本公开文为一本发明的原理的示例或说明,但不旨在限制本公开文其他方面说明的实施例。就此情形,如在摘要,概要和详细描述部分中公开的元素和限制(但是在权利要求中未明确阐述)不应该通过单独地或集体地暗示、推断或其他方式合并请求项。为了详细描述的目的,除非明确否认,否则单数包括多个,反之亦然;并且词语“包括”意味着“包括但不限于”。此外,近似词语诸如“大约”、“几乎”、“基本上”、“近似”等可以在本文中用于表示“接近或接近”或“在3-5%之内”或“在可接受的制造公差内”或其任何逻辑组合。
图1是包含固件映像自动恢复系统的示例计算机装置100的方块图。计算机装置100包含中央处理单元(CPU)110及基板管理控制器(BMC)112。在此示例中,自动恢复系统由控制集成电路120所操作。系统总线(System Bus)允许在装置组件及如中央处理单元110、基板管理控制器112及控制集成电路120等主芯片之间交换数据及命令。固件映像(firmware image)可被存储于永久或非易失性存储器,如电子抹除式可复写只读存储器(EEPROM)130。控制电路120可控制多工器(MUX)132选择在电子抹除式可复写只读存储器(EEPROM)130及中央处理单元(CPU)110之间发送信号。控制电路120耦合存储装置134。存储装置134可以是永久性存储装置如快闪存储器(Flash Memory)或硬磁盘驱动机(Hard DiskDrive)。在此示例中,存储装置134可存储原本存储在EEPROM 130固件映像复本。存储的复本被称为影子固件映像(shadow firmware image)。在此示例中,一种平台控制器中心(PCH,Platform Controller Hub)136为中央处理单元110的组件。或者,平台控制器中心136也可为独立于中央处理单元110的独立电路。
控制电路120包含内部存储器(internal memory)140。内部存储器140完全包含在控制电路120内。内部存储器140允许快速读取有利于控制电路120的操作的数据。内部存储器140包含一系列的状态位(status bits),这些状态位可允许控制电路120判断装置100的状态。存储在内部存储器140的状态位包含电源确认位142、芯片异常位144、映像异常位146、映像同步位148及固件更新位150。如中央处理单元110或控制电路120的主芯片设定电源确认位142以通知控制电路120装置100是否开机通电(power on)正常。芯片异常位144指示存储在电子抹除式可复写只读存储器130的固件映像正确,但主芯片没有正常开机通电。映像异常位146指示因为主芯片不能正常开机通电导致存储在电子抹除式可复写只读存储器130的固件映像不正确。映像同步位148指示在电子抹除式可复写只读存储器130里的固件映像与在存储装置134中的影子固件映像是否相同。在此示例中,映像同步位148中的“1”指示在存储装置134中的影子固件映像与在电子抹除式可复写只读存储器130里的固件映像相同。映像同步位148中的“0”表示在存储装置134中的影子固件映像与在电子抹除式可复写只读存储器130里的固件映像不同。举例说明,因为存储在电子抹除式可复写只读存储器130里的固件映像被更新,所以固件更新将导致映像同步位148被设定为『“0”。固件映像更新位150中的“1”表示有可用的更新,然而“0”表示没有可用的更新。
自动恢复系统的功能性组件包含控制电路120、电子抹除式可复写只读存储器130、中央处理单元110、基板管理控制器112、存储装置134、平台控制器中心136及内部存储器140。在此示例中,控制电路120监控整个自动恢复功能。
固件映像的自动恢复过程的操作方式包含四个程序(routine)。第一,控制电路120进行开机通电检查程序。开机通电检查程序确认装置100的电源是否正常运作。第二,控制电路然后进行映像影子程序。映像影子程序将电子抹除式可复写只读存储器130中的固件映像作为影子固件映像备份到存储装置134。控制电路120然后执行电子抹除式可复写只读存储器130映像更新程序。第三,控制电路120检测电子抹除式可复写只读存储器130的固件是否被更新。最后,控制电路120进行映像恢复程序,复制影子固件映像至电子抹除式可复写只读存储器130,如此可恢复任何在电子抹除式可复写只读存储器130中毁损的固件映像。或者,中央处理单元110进行自动恢复处理的功能。其他主芯片如基板管理控制器112可执行自动恢复过程的功能。
图2为图1中装置100的开机功能的流程图。当装置100被开机通电后,通电状态表示交流电源稳定。控制电路120启动通电时序及看门狗定时器程序(watch dog timerroutine)200。看门狗定时器程序与中央处理单元110的基本输出输入系统(BIOS)协调计时。看门狗计时器程序触发时间值。如以下所述,当看门狗定时器的电源值表示电源已经预备好时;对平台控制器中心136的电源的启动计数逻辑已经准备好;并且成功地从电子抹除可复写只读存储器130读取固件映像,平台控制器中心136将电源确认位142写入“1”到控制电路120。当系统电源被激活时,看门狗定时器程序启动计时器计数。如果计时器计数小于看门狗定时器值,且电源确认位142检查电源确认位142显示为“1”,这指示平台控制器中心的电源是正常运作,影子固件映像被建立。假如电源确认位142为“0”,这指示平台控制器中心的电源是异常。然后,系统恢复固件映像。
因此,控制电路120检查内部存储器140中的电源确认位142(202)。“0”在电源确认位142中表示中央处理单元110通电失败。这表示中央处理单元110已经失效,或者电子抹除可复写只读存储器130中的固件映像已经被损毁。然后,控制电路120继续检查映像同步位148是否为““1””(204)。如果在步骤202中电源确认位142是“1”,则控制电路120确认中央处理单元110已经通电。控制电路120继续激活固件映像影子的处理(206)。下面将参照图4更详细地讨论固件映像影子处理。因此,如果中央处理单元110的电源正常操作并且所读取的固件映像完成,则控制电路120将装置100设置于待机模式并且执行映像影子检查处理,如以下所述。
如果检查映像同步位148不是“1”(204),表明电子抹除式可复写只读存储器130中的固件映像受到损害,则控制电路120将映像异常位146(在图1中)设置为“1”。控制电路120然后启动图4中详述的映像恢复流程。在映像恢复流程处理完成之后,控制电路120循环返回地检查电源确认位142(202)。如果检查映像同步位148是“1”,表示中央处理单元110发生故障,则控制电路120将芯片异常位144设置为“1”(210)。在这个例子中,装置100将通知使用者主芯片故障。
图3是由中央处理单元110,基板管理控制器112和控制电路120(在图1中)执行过程的流程图,为了建立影子固件映像,请参阅如图2中的步骤206。当装置100开机通电时,通电状态表示交流电源稳定(300)。控制电路120启动通电时序和看门狗定时器功能(302)。如果中央处理单元110通电成功意即电源及通电时序成功,则从电子抹除式可复写只读存储器130取出固件映像。如果固件映像取得成功,则中央处理单元110将设置在内部存储器140中(在图1中)的电源确认位142为“1”(304)。中央处理单元110通过总线向控制电路120发送命令来设定电源确认位142。
控制电路120运行看门狗定时器程序和执行计时(time-out)。控制电路120检查电源确认位142是否被设置为“1”。然后,控制电路120持续等待直到装置100处于待机模式以启动映像影子程序(306)。在装置100处于待机模式之后,控制电路120通知基板管理控制器112:控制电路120正在启动映像检查过程(308)。基板管理控制器112向平台控制器中心(PCH)136发送命令禁能(disable)基板管理控制器112(310)的恢复功能。
控制电路120然后将电子抹除式可复写只读存储器的拥有者切换到控制电路120(312)。控制电路120然后将存储在电子抹除式可复写只读存储器130中的固件映像的校验和(Checksum)与存储在存储装置134中的固件映像的校验和(Checksum)进行比较(314)。控制电路120还判断映像同步位148(在图1中)是否被设置为“0”,“0”指示映像之间没有同步。如果校验和不同,或者映像同步位148被设置为“0”,则需要建立影子映像。在任一情况下,控制电路120启动影子映像程序(316)。影子映像程序将电子抹除式可复写只读存储器130中的固件映像复制到存储装置134。影子映像程序在图5中进一步详述。当影子映像程序完成时,控制电路120通知基板管理控制器112映像更新完成(318)。控制电路120然后将电子抹除式可复写只读存储器130的拥有者切换到中央处理单元110(320)。基板管理控制器112向平台控制器中心136发送命令启用基板管理控制器112的恢复功能(322)。控制电路120然后启动电源时序(324)。基板管理控制器112动态设置电子抹除式可复写只读存储器130准备将检索到的固件映像存回电子抹除式可复写只读存储器130(326)。通过确认电子抹除式可复写只读存储器130中的固件映像已被复制到存储装置134,存储装置134中的影子固件映像由此被更新及反映。
图4是由中央处理单元110,基板管理控制器112和控制电路120(在图1中)恢复固件映像过程的流程图。当装置100(在图1中)开机通电时,通电状态指示交流电源稳定(400)。控制电路120开始通电时序及看门狗定时器程序(402)。中央处理单元110尝试从电子抹除式可复写只读存储器130取出固件映像(404)。如果尝试取回失败,则由控制电路120运行的看门狗定时器程序使得基本输出输入系统(BIOS)计时取消。控制电路120检查判断电源确认位142是否为“0”,如果为“0”,指示电源不处于正常状态。控制电路120等待装置100被设置于待机模式以便启动恢复映像流程(406)。
一旦装置100处于待机模式,控制电路120通知基板管理控制器112:控制电路120正在启动映像检查流程(408)。基板管理控制器112发送命令禁能基板管理控制器112的恢复功能的命令(410)。
控制电路120然后将电子抹除式可复写只读存储器130的拥有者切换到控制电路120(412)。控制电路120启动恢复映像程序(414)。恢复映像程序从存储装置134的固件映像复制到电子抹除式可复写只读存储器130。恢复映像程序的详细描述于图7中。当映像恢复程序完成时,控制电路120通知基板管理控制器112映像恢复程序完成(416)。控制电路120然后将电子抹除式可复写只读存储器130的拥有者切换到中央处理单元110(418)。基板管理控制器112发送启用恢复功能的命令(420)。控制电路120然后启动电源时序和看门狗定时器程序(422)。基板管理控制器112动态设置电子抹除式可复写只读存储器,指示电子抹除式可复写只读存储器130存储固件映像(424)。
平台控制器中心136然后开始开机通电程序并启动看门狗定时器程序。平台控制器中心136指示电源对中央处理单元110通电,并成功地从电子抹除式可复写只读存储器130的取回映像。中央处理单元110然后将电源确认位142(在图1中)写入“1”(426)。控制电路120检查电源确认位142被设置为“1”。控制电路120然后将映像同步位148设置为“1”(428)。
图5是由控制电路120(在图1中)执行建立影子固件映像程序的流程图。控制电路120首先通过启用看门狗定时器程序的功能来开启通电时序(500)。控制电路120然后检查在内部存储器140(在图1)中的第一次启动系统位是否被设置为“1”(502)。如果第一次启动系统位未被设置为“1”,则控制电路120检查映像同步位148是否被设置为“1”(504)。如果映像同步位148未被设置为“1”,则控制电路120启动如图6详述的自动恢复程序(506)。
如果在步骤502中,控制电路120判断第一次启动系统的位被设置为“1”,则控制电路120检查装置100是否处于待机电源模式(508)。如果装置100不处于待机电源模式(508),则控制电路120继续检查装置100是否处于待机电源。在控制电路120判断装置100已经进入待机电源模式之后,控制电路120通过多工器132(在第1图中)发送信号为了保持电源时序(510)。如果在步骤504中映像同步位148被设置为“1”,则控制电路120还是通过多工器132发送信号保持电源时序(510)。控制电路120然后建立存储在电子抹除式可复写只读存储器130中的固件映像的影子复本。固件映像的影子复本被存储在存储装置134中(512)。一旦固件映像的影子复本被建立完成,控制电路120将映像同步位148设置为“1”。控制电路120还通过多工器132发送信号将从控制电路120释放电子抹除式可复写只读存储器130的拥有者。控制电路120亦释放电源时序(514)。
图6是控制电路120(在图1中)执行更新存储在EEPROM 130中的固件映像的程序流程图。当更改固件映像或更新固件映像时,此程序就被执行。中央处理单元110通过控制电路120将内部存储器140中的固件更新位150设置为“1”,固件更新位150为“1”指示有可用的更新(600)。控制电路120还将内部存储器140中的映像同步位148设置为“0”。控制电路120然后开始更新存储在电子抹除式可复写只读存储器130中的固件映像(602)。因此,更新后的固件映像被复制到电子抹除式可复写只读存储器130中。当固件映像的更新完成时,中央处理单元110设置控制电路120的位为了释放电源时序(604)。
中央处理单元110检查是否在内部存储器140中设置了通电位(606)。如果通电位未被设置,则中央处理单元110将电源确认位142设置为“0”,为了向控制电路120指示电源时序还未被更新的固件映像启用(608)。如果通电位被设置,则中央处理单元110将电源确认位142(在图1中)设置为“1”,为了指示利用电子抹除式可复写只读存储器130中的更新固件映像成功通电(610)。控制电路120然后检查映像同步位148判断是否执行如上面图5描述的影子映像处理(512)。如果映像同步位148被设置为“0”,则控制电路120等待系统直流电源被关闭为了执行影子映像处理,如上图5所述。
图7是允许控制电路120(在图1中)从存储装置134自动恢复固件映像的过程。因此,如果固件映像在电子抹除式可复写只读存储器130上毁损,则系统可以自动从存储装置134中恢复固件映像。中央处理单元110(在图1中)判断交流电源是否打开(700)。在系统判断交流电源是否接通之后,系统检查判断电源是否接通控制电路120(702)。如果电源未接通控制电路120,则中央处理单元110循环并继续判断电源是否接通控制电路120(702)。如果电源接通控制电路120,则CPU110通过总线将电源确认位142设置为“1”(704)。在所有其他情况下,电源确认位142被设置为“0”。控制电路120然后检查电源确认位142是否被设置为“1”(706)。如果电源确认位142被设置为“0”,则发生通电失败并且控制电路120循环并继续检查电源确认位142。如果电源确认位142被设置为“1”,则控制电路120检查映像同步位148是否被设置为“0”(708)。如果映像同步位148被设置为“1”,则控制电路120将芯片异常位144设置为“1”(710)。
如果在步骤708中映像同步位是“0”,则控制电路120向多工器132发送信号并选择读取/写入轨迹,并保持通电时序(712)。控制电路120然后从存储装置134恢复固件映像并将恢复的固件映像复制到电子抹除式可复写只读存储器130(714)。一旦固件映像的恢复在电子抹除式可复写只读存储器130上完成,控制电路120将映像同步位148设置为“1”(716)。控制电路120然后发信号给多工器132以释放电子抹除式可复写只读存储器拥有者,并释放电源时序。
在这个例子中,图5、图6和图7中程序的可读取指令计算机包含可执行的算法的计算机:(a)处理器,(b)控制器,和/或(c)一个或多个其他合适的处理装置。这个算法可以体现在存储在有形介质的软件中,有形介质如快闪存储器,CD-ROM,软性磁盘(Floppy Disk),硬盘驱动器,数字视频(通用)光盘(DVD)或其他存储装置。然而,本领域或其他技术人员将容易理解,整个算法和/或其他部分可替换的执行算法装置除处理器之外的装置执行和/或以众所周知的方式实现在固件或以已知硬件中(例如它可以通过专用集成电路(ASIC),可编程逻辑器件(PLD),现场可编程逻辑器件(FPLD),现场可编程门阵列(FPGA),离散逻辑等)来实现。举例说明,接口的任何或全部组件可以通过软件、硬件和/或固体来实现。而且,由图5、图6和图7的流程图表示的一些或全部计算机可读指令也是可手动实现。此外,虽然参考图5、图6和图7所示的流程图描述了示例中的算法,本领域或其他技术人员将容易理解可以利用许多其他方法实现示例中计算机可读指令。例如,可以改变方块的执行顺序,和/或可以改变、消除或组合所描述的一些方块。
如在本发明申请中所使用的专业术语“组件”,“组件”,“模块”,“系统”等通常是指与计算机相关的实体,或者硬件(如电路),硬件和软件的组合,软件或与具有一个或多个特定功能的操作计算机相关的实体。举例说明,组件可以是但不限于处理器(如数字信号处理器)、物件、可执行硬件、执行线、程序和/或计算机。作为说明,在控制器上运行的应用程序以及控制器都可以是组件。一个或多个组件可以留在进程和/或执行线程内,并且组件可以位于一台计算机上和/或分布在两台或多台计算机之间。此外,“装置”可以是特别设计硬件的形式;通过在其上执行可使硬件执行特定功能的软件而专门制造的通用硬件;软件可存储在计算机可读取接口或其组合。
计算装置通常包括各种介质,其可以包括可读取计算机存储介质和/或通信介质,其中这两个术语在如下使用中彼此不同。可读取计算机存储介质可以是由计算机读取的任何存储介质;通常是非暂时性的;并且可以包括易失性和非易失性介质,可移除介质和不可移除介质。这些仅作为示例而并非用以限制本申请,可读取计算机存储介质可以连接任何存储信息的方法或技术来实现,例如计算机可读指令,程序模块,结构化数据或非结构化数据。可读取计算机存储介质可以包括但不限于RAM,ROM,EEPROM,快闪存储器或其它存储技术,CD-ROM,数字多功能光盘(DVD)或其他存储光盘,磁带盒,磁带,磁盘存储器或其他磁性存储设备或可用于存储所需信息的其他有形和/或非暂时性介质。可读取计算机存储介质可以由一个或多个本地或远程计算装置读取,例如,经由读取请求,查询或其他数据检索协议,用于关于介质存储的信息的各种操作。
在本文中,除非内文中对于冠词有所特别限定,否则“一”与“该”可泛指单一个或多个。将进一步理解的是,本文中所使用的“包含”、“包括”、“具有”及相似词汇,指明其所记载的特征、区域、整数、步骤、操作、组件和/或组件,但不排除其所述或额外的其中一个或多个其它特征、区域、整数、步骤、操作、组件、组件,和/或其中的群组。
除非另有定义,本文所使用的所有词汇(包括技术和科学术语)具有其通常的含义,其含义能够被本领域技术人员所理解。更进一步地说,上述的词汇在普遍常用的字典中的定义,在本说明书的内容中应被解读为与本发明相关领域一致的含义。除非有特别明确定义,这些词汇将不被解释为理想化的或过于正式的含义。
尽管以上已经描述了本发明的各种实施例,但应该理解的是,它们仅作为示例呈现,而并不用以限制本发明。在不脱离本发明的精神或范围的情况下,可以根据本文所公开的实施例进行各种改变。因此,本发明的广度和范围不应该受到任何上述实施例的限制。相反地,本发明的范围应根据以下权利要求及其等同物来限定。
虽然本发明已经说明和描述关于一个或多个实施方式进行了,但是在阅读和理解本说明书和附图后,本领域的其他技术人员将会想到等同的改变和修改。另外,虽然本发明的特定特征可能仅仅一个被公开,但是关于若干实施例中的仅仅一个被公开,但是这样的特征可以与其他实施方式的一个或多个其他特征组合,这对于任何给定的或特定的应用可能是期望和有利的。

Claims (10)

1.一种在计算机装置中恢复固件映像的方法,该方法包含:
从非易失性存储器的固件映像建立存储装置的影子固件映像;
判断是否存在异常事件已影响固件映像;
从该存储装置恢复该影子固件映像;以及
复制该影子固件映像到非易失性存储器。
2.如权利要求1所述的方法,还包含:
更新该非易失性存储器中的该固件映像;
判断该影子固件映像是否与该固件映像相同;以及
用该非易失性存储器中更新后的该固件映像取代该存储装置中的该影子固件映像。
3.如权利要求2所述的方法,其中在判断该影子固件映像是否与该固件映像相同时,判断该影子固件映像的校验和以及该固件映像的校验和。
4.如权利要求1所述的方法,还包含:
依时序通电主芯片;以及
通过该主芯片获取该固件映像以操作该计算机装置。
5.如权利要求4所述的方法,其中该主芯片为中央处理单元、基板管理控制器、或微控制器单元。
6.如权利要求4所述的方法,其中该异常事件为该主芯片的电源不足。
7.如权利要求1所述的方法,其中该非易失性存储器为电子抹除式可复写只读存储器。
8.如权利要求1所述的方法,其中由控制电路执行恢复该影子固件映像以及复制该非易失性存储器中的该影子固件映像。
9.如权利要求8所述的方法,其中该控制电路包含内部存储器,该内部存储器包含指示异常事件的内部位及指示该影子固件映像与该固件映像不同的内部位。
10.一种电子计算机装置,包含:
非易失性存储器,用以存储固件映像;
主芯片,用以执行该固件映像;
存储装置,用以存储影子固件映像;以及
控制电路用以进行以下操作:
从该非易失性存储器的该固件映像建立该存储装置中的该影子固件映像;
判断是否发生已影响固件映像的异常事件;
从该存储装置恢复该影子固件映像;以及
复制该影子固件映像至该非易失性存储器。
CN201810670971.5A 2018-02-01 2018-06-26 电子计算机装置及方法 Pending CN110109682A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/886,425 2018-02-01
US15/886,425 US10395038B2 (en) 2018-02-01 2018-02-01 System and method for automatic recovery of firmware image

Publications (1)

Publication Number Publication Date
CN110109682A true CN110109682A (zh) 2019-08-09

Family

ID=63787693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810670971.5A Pending CN110109682A (zh) 2018-02-01 2018-06-26 电子计算机装置及方法

Country Status (5)

Country Link
US (1) US10395038B2 (zh)
EP (1) EP3522021A1 (zh)
JP (1) JP2019133633A (zh)
CN (1) CN110109682A (zh)
TW (1) TW201935251A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020121109A1 (de) * 2019-09-20 2021-03-25 Samsung Electronics Co., Ltd. Speicher-controller, speichervorrichtungen und betriebsverfahren der speichervorrichtungen
EP4097593A4 (en) * 2020-01-27 2023-10-04 Hewlett-Packard Development Company, L.P. FIRMWARE CORRUPTION RECOVERY
US11099838B1 (en) * 2020-02-26 2021-08-24 Quanta Computer Inc. Method and system for recovery for custom integrated circuit
US20200226260A1 (en) * 2020-03-27 2020-07-16 Intel Corporation Firmware resiliency mechanism
KR20230068824A (ko) * 2021-11-11 2023-05-18 삼성전자주식회사 스토리지 장치, 이에 대한 동작 방법 및 메모리 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063046A (ja) * 2000-08-22 2002-02-28 Digital Electronics Corp 制御装置、および、そのプログラムが記録された記録媒体
JP2004054616A (ja) * 2002-07-19 2004-02-19 Hitachi Ltd ファームウェア自動修復機能を有する情報処理装置
US20130036300A1 (en) * 2010-02-26 2013-02-07 Samsung Electronics Co., Ltd Method of fixing error of boot image for fast booting and image forming apparatus for performing the method
KR20160050707A (ko) * 2014-10-30 2016-05-11 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US20170109235A1 (en) * 2015-10-16 2017-04-20 Quanta Computer Inc. Baseboard management controller recovery
CN106814968A (zh) * 2015-11-27 2017-06-09 群联电子股份有限公司 存储器管理方法与系统及其存储器存储装置

Family Cites Families (19)

* 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
JPH04340150A (ja) * 1991-05-16 1992-11-26 Hitachi Ltd データ通信システムにおけるプログラムのダウンロード方式
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
US6337954B1 (en) * 1993-01-28 2002-01-08 Nikon Corporation Camera having a display unit including multiple display areas and a connector mounted parallel to said multiple display areas
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
US7055148B2 (en) * 2000-12-07 2006-05-30 Hewlett-Packard Development Company, L.P. System and method for updating firmware
US6904457B2 (en) * 2001-01-05 2005-06-07 International Business Machines Corporation Automatic firmware update of processor nodes
JP2006127252A (ja) * 2004-10-29 2006-05-18 Fujitsu Component Ltd 切替機、切替方法及びプログラム
US7318151B1 (en) * 2004-11-04 2008-01-08 Network Appliance, Inc. Method and system for firmware management
JP4644569B2 (ja) * 2005-09-02 2011-03-02 富士通セミコンダクター株式会社 複数チップの起動方法
US7996829B2 (en) * 2006-07-31 2011-08-09 Hewlett-Packard Development Company, L.P. Managing software revisions for servers in an infrastructure
US8887144B1 (en) * 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US8214653B1 (en) * 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US8601170B1 (en) * 2009-09-08 2013-12-03 Amazon Technologies, Inc. Managing firmware update attempts
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
CN102455945A (zh) 2010-10-27 2012-05-16 鸿富锦精密工业(深圳)有限公司 基板管理控制器恢复系统及其使用方法
US8881308B2 (en) * 2012-09-12 2014-11-04 GM Global Technology Operations LLC Method to enable development mode of a secure electronic control unit
US10101928B2 (en) * 2016-02-19 2018-10-16 Dell Products L.P. System and method for enhanced security and update of SMM to prevent malware injection
US10097563B2 (en) * 2016-05-04 2018-10-09 Gbs Laboratories, Llc Reliable and secure firmware update with a dynamic validation for internet of things (IoT) devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063046A (ja) * 2000-08-22 2002-02-28 Digital Electronics Corp 制御装置、および、そのプログラムが記録された記録媒体
JP2004054616A (ja) * 2002-07-19 2004-02-19 Hitachi Ltd ファームウェア自動修復機能を有する情報処理装置
US20130036300A1 (en) * 2010-02-26 2013-02-07 Samsung Electronics Co., Ltd Method of fixing error of boot image for fast booting and image forming apparatus for performing the method
KR20160050707A (ko) * 2014-10-30 2016-05-11 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US20170109235A1 (en) * 2015-10-16 2017-04-20 Quanta Computer Inc. Baseboard management controller recovery
CN106814968A (zh) * 2015-11-27 2017-06-09 群联电子股份有限公司 存储器管理方法与系统及其存储器存储装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
科伦等, 北京:国防工业出版社 *

Also Published As

Publication number Publication date
TW201935251A (zh) 2019-09-01
EP3522021A1 (en) 2019-08-07
US20190236277A1 (en) 2019-08-01
US10395038B2 (en) 2019-08-27
JP2019133633A (ja) 2019-08-08

Similar Documents

Publication Publication Date Title
CN110109682A (zh) 电子计算机装置及方法
JP5909264B2 (ja) セキュア・リカバリ装置及び方法
US8341386B2 (en) Method for updating basic input/output system and method for repairing thereof
KR101375992B1 (ko) 불휘발성 메모리로부터의 디바이스 부트업 동안 에러들의 핸들링
US7480819B1 (en) Method for boot recovery
US8028158B1 (en) Method and apparatus for creating a self booting operating system image backup on an external USB hard disk drive that is capable of performing a complete restore to an internal system disk
CN101667128B (zh) 更新与修复基本输入输出系统的方法
CN111666111B (zh) 多节点储存系统及其固件的更新方法
CN111506454A (zh) 基本输入/输出系统的恢复及更新的方法及系统
EP0886211B1 (en) Initial program load
CN109375953B (zh) 一种操作系统启动方法及装置
CN102308287B (zh) 电子设备的复制文件系统
US20070028136A1 (en) Parity update footprints kept on disk
CN101425028A (zh) 计算机系统与计算机系统的韧体修复方法
CN110502367A (zh) 一种控制方法及电子设备
US11250929B2 (en) System for detecting computer startup and method of system
JP2023119785A (ja) コンピュータ及びデータ不整合判定方法
CN113590153A (zh) 一种cpld的固件升级方法、系统、设备以及介质
CN118276753A (zh) 一种数据存储方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190809