到对等可编程硬件设备的自动固件恢复制造技术

技术编号:4550188 阅读:267 留言:0更新日期:2012-04-11 18:40
提供了一种用于恢复固件的技术。第一可编程硬件设备确定第二可编程硬件设备需要有效固件映像;从外部存储器检索所述有效固件映像的副本;以及经由专用通信链路向所述第二可编程硬件设备发送所述有效固件映像,其中所述专用通信链路允许在所述第一可编程硬件设备和所述第二可编程硬件设备之间进行专用通信。所述第二可编程硬件设备使用所述有效固件映像恢复现有固件。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的实施例涉及到对等可编程硬件设备的自动固件恢复
技术介绍
许多不同类型的系统中存在可编程硬件设备(例如在存储服务器中的小型计算机系统接口 ( SCSI)附件服务(SES )处理器或用于USB设备的通用串行总线(USB)控制器)。在一些情况下,可编程硬件设备的目的在于提供可靠性、可用性或可服务性(RAS)特征。然而,有时候可编程硬件设备可需要更新正在驱动其运行的固件。固件可祐:描述成作为设备的永久部分(例如通过插入可编程只读存储器(PROM)中)的程序。固件还可被描述成正在可编程硬件设备上运行的程序,然而固件映像可被描述成包括加载到可编程硬件设备上的固件的数据集。在许多情况下,写入到可编程硬件{殳备的固件将覆盖先前运行的固件。因此,如果向可编程硬件设备写入损坏固件(即以固件映像的形式),可编程硬件设备将不能运行,因此不再能提供正常的功能。具有损坏固件(例如具有损坏固件映像)的可编程硬件设备可称为损坏的可编程硬件设备。被损坏的固件可,皮描述成损坏的固件或无效固件。有时可能发生的另一情形是在正常运行期间(例如当没有发生固件映像下载时或在运行时)固件遇到错误,并且错误损坏固件映像,因此也阻止了可编程硬件设备提供正常功能。通常,出现故障的系统i殳备以某种方式负面地影响系统的总体性能,这在大部分客户环境中是不可接受的。通常,解决该问题的传统手段是更换可编程硬件设备,或者如果可能,重新安装固件映像。然而,这些修复6需要来自某些类型的外部支持的干预,并且这种类型的干预不是自动的。如果客户具有受到任何延迟负面影响的重要操作,则呼叫和等待支持的现有解决方案是不令人满意的。因此,本领域中需要实现可编程硬件设备的固件问题的自动自我校正。
技术实现思路
提供了 一种用于恢复固件的方法和计算机程序产品。第一可编程硬件设备确定第二可编程硬件设备需要有效固件映像;从外部存储器检索所述有效固件映像的副本;以及经由专用通信链路向所述第二可编程硬件设备发送所述有效固件映像,其中所述专用通信链路允许在所述第 一可编程硬件设备和所述第二可编程硬件设备之间进行专用通信。所述笫二可编程硬件设^f吏用所述有效固件映像恢复现有固件。附图说明现在参照附图,在附图中类似的标号代表相应的部分,其中图l示出根据本专利技术某些实施例的两个冗余4殳备的细节;图2示出根据本专利技术某些实施例的两个不是冗余的可编程硬件设备的细节;图3示出根据某些实施例的由每个可编程硬件设备响应于接收固件映像而执行的逻辑;图4示出根据某些实施例的由出现故障的可编程硬件设备执行的逻辑;图5示出根据某些实施例的在伙伴出现故障时由可编程硬件设^M亍的逻辑;图6示出可根据某些实施例使用的系统架构。具体实施例方式在以下描述中,参照形成本专利技术一部分并示出本专利技术的若干实施例的附图。可理解,可使用其他实施例,并且可以在不脱离本专利技术范围的情况下做出结构和操作上的改变。实施例提供了到可编程硬件设备的自动固件恢复,其中所述可编程硬件设备具有冗余的同伴,具有与另一处理器共享的外部存储器,或链接至维护可编程硬件设备的有效固件映像的副本的另一处理器。在某些实施例中,存在两个冗余设备,并且可由另一设备校正其中一个设备上的任何固件更新,假设出现故障的设备能够接收更新并且通信接口在两个设备之间能够工作的话。可将固件更新描述为固件映像的更新。在某些实施例中,存在两个并非冗余的处理器,但是已损坏处理器具有到另一处理器的运行通信接口 ,并且所述另一处理器或者可访问已损坏处理器的外部存储器(其包含已损坏处理器的固件映像的副本),或在某些存储装置中维护已损坏处理器的固件映像的副本(例如在固件更新期间向处理器发送固件映像,以用于存储目的)。实施例还适用于不同于固件更新的情况,即处理器在正常操作期间遇到破坏固件映像的某些类型的错误,并且处理器在正常操作期间或者在重新引导时检测到故障。仅为了加强理解,提供适用于固件更新的实施例的解释。然而,实施例也适用于在正常操作期间破坏固件映像的情况。图1示出根据本专利技术某些实施例的两个冗余4殳备的细节。在图1中,管理模块(MM) 100是启动设备,并经由外部设备通信介质150连接至服务器110。服务器110包括活动M管理控制器(BMC) 120和待机基板管理控制器(BMC) 130。活动和待机BMC 120、 130向本地资源提供管理能力以及向共享资源提供冗余管理能力。活动BMC 120包括处理器122和内部存储器124。待机BMC包括处理器132和内部存储器134。在图1中,活动和待机120、 130是冗余的可编程硬件设备。活动BMC120和待机BMC 130还可分别称为第一和第二目标设备,或称为伙伴BMC。活动和待机BMC120、 130可被描述为用于冗余目的的双BMC,以提高总体服务器110可靠性,然而,存在每个BMC120、 130独立控制且未受冗余保护的本地部件(例如, 一个BMC 120、 130无法向直接由伙 伴BMC 120、 130控制的部件供电)。BMC 120、 130在其间具有内部专 用通信链路142,以及专用于每个BMC120、 130的外部存储器128、 138。 使用这些部件142、 128、 138,实施例能够实现自动固件校正。活动BMC 120和待机BMC 130能够在专用通信链路142上通信。专 用通信链路142可描述为能够在活动和待机BMC 120、 130之间实现专用 通信的专用i殳备通信^h质。管理模块100不能直接在专用通信链路142上 发送通信。内部设备通信介质140耦合至外部设备通信介质150。在某些 实施例中,外部设备通信介质150可以是总线(例如RS485串行总线、集 成电路间(I2C)总线、双端口 RAM (DPRAM)、或其他基于总线的介 质),内部设备通信介质140可以是连接至外部设备通信介质150的总线(例如内部RS485串行总线、集成电路间(I2C)总线、双端口 RAM(DPRAM)、或其他基于总线的介质)。在正常操作中,管理模块100通过在单个外部设备通信介质150上发 出固件映像来向活动和待机BMC 120、 130两者发送单个固件映像(通过 多个分组)。在正常更新处理中,每个BMC120、 130直接向内部存储器 124、 134 (例如内部快闪区)写入固件映像,所述内部存储器存储用于驱 动处理器122、 132的BMC指令集。在固件映像被破坏的情况下,每个 BMC 120、 130具有通过一组减少的功能等待新固件更新的有限能力,所 述一组减少的功能在固件更新处理中没有被更新的代码(即在被称为引导 块中存储的代码)中提供。然而,当固件映傳4皮破坏时,不再提供BMC 120、 130的正常功能。在服务器110中,由于每个BMC 120、 130控制服务器 110中的系统电源,所以这可能是一个问题。因此,如果服务器110因固 件更新而关闭电源并且更新失败(即固件映像被破坏),则服务器110无 法接通电源,直到提供有效固件更新为止,这意味着客户将失去刀片服务 器的可用性。"有效"固件更新可描述为没有被破坏并且使得BMC 120、 130能够开始正确执行其功能的更新。破坏的固件的实例结果是这样的情 形固件更新成功完成,并且BM本文档来自技高网
...

【技术保护点】
一种用于恢复固件的计算机实现的方法,包括: 在第一可编程硬件设备的控制下, 确定第二可编程硬件设备需要有效固件映像; 从外部存储器检索所述有效固件映像的副本;以及 经由专用通信链路向所述第二可编程硬件设备发送所述有效 固件映像,其中所述专用通信链路允许在所述第一可编程硬件设备和所述第二可编程硬件设备之间进行专用通信;以及 在所述第二可编程硬件设备的控制下, 使用所述有效固件映像恢复现有固件。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:JJ格拉韦斯DM莫顿NT源IR奥尔京二世E埃尔斯沃思K霍尔达维LM吉
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1