CN1244867C - 在数据处理系统中保持固件版本的方法和系统 - Google Patents
在数据处理系统中保持固件版本的方法和系统 Download PDFInfo
- Publication number
- CN1244867C CN1244867C CNB031373909A CN03137390A CN1244867C CN 1244867 C CN1244867 C CN 1244867C CN B031373909 A CNB031373909 A CN B031373909A CN 03137390 A CN03137390 A CN 03137390A CN 1244867 C CN1244867 C CN 1244867C
- Authority
- CN
- China
- Prior art keywords
- firmware
- peripherals
- version
- subregion
- data handling
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
本发明公开一种在数据处理系统中保持固件版本的方法和系统。在系统引导过程中,引导代码将启动一个报告该设备固件版本水平的外围设备调用,以把所有外围设备的固件版本与在服务分区中存储的存档固件版本加以比较。如果检测到不匹配,则系统引导通常将强行把该外围设备固件更新到它所知道的好的水平。任何这种固件更新都被记录在可由系统管理应用访问的日志中。对固件的任何修正可以被映像到该服务分区中,从而在接下来的下一次系统引导过程中此修正后的版本将被纳入该外围设备本身之中。
Description
技术领域
一般地说,本发明涉及数据处理系统领域,更具体地说,涉及利用分区盘的数据处理系统,该分区盘能存储固件版本以保持该系统的基于固件的部件的修正水平。
背景技术
在基于微处理器的数据处理系统领域,一个或多个处理器通常经由专有的和针对实现的系统总线与系统存储器进行通信。一个桥接器通常提供系统总线和一个或多个I/O总线(也称作外部总线)之间的接口。I/O总线通常遵循工业标准I/O总线协议,如被广泛实现的外围部件接口(PCI)总线。I/O总线使广泛多样的外围设备能与系统的处理器及系统存储器通信。在通常的数据处理系统中,能连到I/O总线上的设备包括例如硬盘控制器、图形适配器以及网络接口卡。高端系统还可以进一步包括服务处理器和RAID控制器等外围设备。
基于微处理器的系统所用外围设备的提供商们可以在他们的设备中包括固件和/或BIOS扩展,以提供扩展功能。BIOS(基本I/O系统)是一个众所周知的术语,它通常指系统加电后立即执行的代码,它使系统能控制各种I/O设备,包括键盘、显示屏、盘驱动器、串行通信等。BIOS代码通常还完成初始程序加载(IPL),它把操作系统代码(或其一些部分)从系统盘或其他外围设备复制到系统存储器中。如它的名称暗示的那样,BIOS扩展使适配器制造商定义针对设备的代码,它通常在执行加电自检(POST)之后和在IPL之前经由系统BIOS被调用。BIOS扩展可以经由外围设备上的可选的ROM设备提供。外围设备固件是指专为该适配器设计的代码。例如,固件可以包括告诉适配器卡如何执行来自设备驱动器的命令的代码。
外围设备固件、BIOS扩展以及设备驱动器都可以随时被修正、更新或者修改。当一个固件的修正水平被修改时,对这些修改必须验证其功能。如果固件修正水平、BIOS版本或设备驱动器被相继修改成不相容的水平,该系统可能不像期望的那样工作。在一个最坏的情况中,固件、BIOS和设备驱动器的组合将不显示出明显的故障,但可能在将来的某一点造成故障和/或数据丢失。
这些相容性问题在现场服务事件之后往往会显现出来,这种现场服务事件包括现场替换一个或多个外围设备,这里也称作现场可替换单元(FRU)。训练服务技术人员以保证在任何现场服务之后系统的固件、BIOS以及设备驱动器全部是相容的。不幸的是,这一水平的验证没有被严格遵守,因为有许多因素,包括在不适当的时间进行现场服务活动,在现场服务期间缺少对因特网的访问,以及在对时间很敏感的环境中处置大量系统时的人为错误。所以,特别希望实现一种方法和系统,它能在替换或更新一个或多个外围设备的现场服务之后保证各种系统软件部件之间的相容性。如果所实现的解决方案能自动操作而无需与现场服务技术人员进行任何实质性的交互作用,则更是人们所希望的。
发明内容
为此本发明提供了一种在数据处理系统中保持固件版本的方法,包含:
把与所述数据处理系统关联的至少一个外围设备的当前固件映像到可被所述数据处理系统访问的非易失存储器的一部分中;
在引导序列期间,将至少一个外围设备中的每一个上的固件版本与映像在所述数据处理系统非易失存储器中的相应版本加以比较;以及响应检测到的设备固件版本与相应映像版本之间的不匹配,更新各外围设备的固件以与映像版本一致。
本发明还提供了一个数据处理系统,包括至少一个与系统存储器连接的处理器和至少一个可由该处理器访问的外围设备,该系统进一步包含:
把与所述数据处理系统关联的至少一个外围设备的当前固件映像到可被所述数据处理系统访问的非易失存储器的一部分中的装置;
在引导序列期间,将至少一个外围设备中的每一个上的固件版本与映像在所述数据处理系统非易失存储器中的相应版本加以比较的装置;以及响应检测到的设备固件版本与相应映像版本之间的不匹配,更新各外围设备的固件以与映像版本一致的装置。
上文中指出的问题大部分可由根据本发明的数据处理方法和系统解决,其中,数据处理系统的海量存储器(DASD)被分区以包括一个服务分区。典型地,该服务分区位于DASD中不能由操作系统和应用程序访问的部分,这可以通过各种方法实现,包括由硬件接口向介质中提取或通过DASD上的单独分区,它的格式是当前运行的操作系统不能识别的格式。该服务分区通常包括外围设备固件、任何BIOS扩展以及设备驱动器等的当前版本。在系统引导过程中,引导代码将启动一个报告该设备固件版本水平的外围设备调用,以把所有外围设备的固件版本与在服务分区中存储的存档固件版本加以比较。如果检测到不匹配,则系统引导通常将强行把该外围设备固件更新到它所知道的好的水平。任何这种固件更新都被记录在可由系统管理应用访问的日志中。对固件的任何修正可以被映像到该服务分区中,从而在接下来的下一次系统引导过程中此修正后的版本将被纳入该外围设备本身之中。
附图说明
一旦阅读了下文中的详细描述并参考附图,本发明的其他目的和优点将清楚可见。这些附图是:
图1A是适于实现本发明的数据处理系统的一些选定部分的方框图;
图1B是说明图1A的数据处理系统中使用的一个外围设备的选定部件的方框图;
图2是根据本发明一个实例的直接存取存储设备的组织结构的概念表示;
图3是说明在数据处理系统中使用BIOS扩展文件的一种方法的流程图。
尽管本发明允许各种修改和替代形式,但这里将详细描述本发明的一些具体实施例,它们作为举例示于附图中。然而,应该理解,这里展现的附图和详细描述不是要把本发明限制于所公开的特定实施例,相反,本发明要覆盖落入所附权利要求定义的本发明的精神和范围的所有修改、等效物和替换物。
具体实施方式
现在转到附图中的图1A,图中显示适于实现本发明的数据处理系统100的选定特征的方框图。在所描绘的实施例中,系统100包括两个或多个主处理器102a至102n的集合(总体上或集体地称作处理器102),每个处理器都与系统总线104相连。处理器102通常由市场上发售的通用微处理器实现,例如来自IBM公司的PowerPC处理器系列或x86型处理器,如来自Intel公司的Pentium处理器系列。
含有系统BIOS代码的非易失存储器(NVM)设备103连接于系统总线104。NVM103通常是作为闪速存储器卡或其他电可擦和可编程存储器来实现的。此外,系统存储器106可由每个处理器102经由系统总线104通过中介存储器控制器105进行访问。因为每个处理器102对系统存储器106有基本相同的访问权限,使得存储器访问时间基本上与处理器无关,所描绘的系统实施例100是对称多处理器(SMP)系统的实例。然而,应该理解,本发明可以适合在具有不同体系结构的系统上实现,例如单处理系统和非均匀存储器访问(NUMA)多处理器系统。
在所描绘的系统实施例100中,总线桥108提供系统总线104和连接一个或多个外围设备的I/O总线110之间的接口。I/O总线110通常遵循若干工业标准I/O总线规程之一,包括例如由PCI特别兴趣工作组在PCI局部总线规程修订版2.2中规定的外围部件接口(PCI)总线(www.pcisig.com)。总线桥108和存储器控制器105可以由专为用于处理器102和系统总线104设计的芯片组实现。
连到I/O总线110的外围设备可以包括:例如,高速网络适配器或网络接口卡(NIC)114,系统100通过它连接到一个数据处理网络,如局域网(它本身可以与一广域网如因特网连接);DASD控制器116,DASD120与它相连;以及,通用I/O适配器112,服务处理器113与它相连。
在一个实施例中,DASD控制器116和DASD120是遵循AT嵌入式接口(ATA)的设备,一般还称作IDE设备,如ANSI信息技术标准化国家委员会(NCITS)317-1998中规定的那样。ATA硬盘包含绝大多数桌面和膝上类个人计算机中的主引导设备。在其他实施例中,DASD120可以作为由SCSI主机适配器控制的SCSI硬盘或作为廉价冗余磁盘阵列(RAID)来实现,在RAID的情况中,DASD控制器116代表一个RAID控制器。
现在参考图1B,图中显示适用于数据处理系统100中的一个普通外围设备121的选定部件的简化方框图。外围设备121拟代表系统100中使用的任何特定外围设备。这样,外围设备121的选定部件对于DASD控制器116、NIC114以及服务处理器113是共同的,包括嵌入式控制器123、可随机访问的而且通常为易失的存储器(RAM)125以及标识成固件127的非易失代码。固件127代表由控制器123执行的针对设备的指令序列,它规定外围设备127与主机系统交互作用的方式。当系统100经由特定设备的驱动器发出一个I/O命令时,该设备的固件把该设备驱动器调用翻译成可由控制器123执行的一组命令。固件127通常存储在ROM或闪速存储器卡之类的非易失存储器中。除了设备的固件外,这个非易失设备还可以进一步包括内部存储的标识(ID)信息,它可经由I/O总线110被访问以识别该外围设备。
如已经针对固件127说明的那样,本发明的一些部分可以作为一组可由计算机执行的指令(软件)来实现,这些指令存储在计算机可读介质中,如系统存储器106、处理器102的高速缓冲存储器(未画出)、NVM103、软盘、硬盘、CD ROM、DVD、磁带或其他适用的存储部件中。
参考图2,图中显示可以构成系统100一部分的选定软件模块的概念描述。在所描述的实施例中,NVM103含有BIOS代码130,每次系统100加电或复位时它被调用或执行。BIOS代码130通常被配置成为操作系统建立到硬件接口的低水平抽象层,以执行系统的POST和至少把操作系统的一部分从DASD120复制到系统存储器106。些外,BIOS代码130被配置成借助其相应的设备标识信息(图2中用参考数字128代表)识别连到I/O总线110(示于图1A)的每个外围设备。
根据本发明的一个实施例,BIOS130被配置成在成功完成POST之后确定对每个被识别出的外围设备是否存在BIOS扩展文件。如果系统BIOS130检测到对应于一个被识别出的外围设备的BIOS扩展文件,BIOS130验证该文件并把有效扩展文件的一些部分复制到系统存储器106的一部分中。BIOS扩展文件的加载可以按美国专利申请“使用存储设备的隐藏分区存储BIOS扩展文件”(序列号10/050,032,2002年1月15日申请)中描述的方式来完成,该申请被转证给本申请的共同受让人。
BIOS130通常还包括一个初始程序装入(IPL)部件,它被配置成至少把部分操作系统130提取到系统存储器106。通常,IPL提取为建立分页表、段描述符和其他存储器管理模块所需要的操作系统130的核心或内核部分。此外,IPL可以被配置成提取一个或多个外围设备驱动器(由参考数字141a至141n标识)。系统100的每个外围设备通常需要设备驱动器141使操作系统能控制该外围设备。
图2进一步显示外围设备113、114和116的选定软件部件。更具体地说,在所示系统100实施例中的外围设备包括外围设备识别代码(由参考数字128a至128c标识)和外围设备固件(由参考数字127a至127c标识)。此外,图2显示存储在DASD120的服务分区124中的固件映像129a-129c以及存储在系统存储器106中的固件更新模块142和导向器144。下文中将更详地描述这些部件。
一般地说,本发明强调一个系统和方法,用于在局部存储器中保持最后的外围设备固件的映像或拷贝,更具体地说,是在系统的DASD的专用分区中保持它们。在替换一个或多个可替换设备的现场服务事件之后,系统能自动验证任何新安装的外围设备的固件版本。如果检测到一个固件版本不匹配,则系统能采取校正行动,由本机存储的映像更新该外围设备上的固件。如果一个外围设备固件被更新,则更新后的版本被映射到该专用分区供将来验证之用。以这种方式,使保持正确固件的任务自动化,从而使现场服务技术人员减轻了为每台机器上的每个外围设备保持正确的固件水平的责任。
为便于固件版本的本机存储,图2中描绘的DASD120的实施例在逻辑上分区为至少两个分区,在图中标识为用户分区122和服务分区124。如其名字暗含的意思那样,用户分区122标识DASD120的可为操作系统和应用程序使用的那一部分。服务分区124代表DASD120的“隐藏“部分,操作系统和在操作系统下运行的任何应用程序一般是不可访问它的。服务分区124可以通过调用SET MAX ADDRESS(设置最高地址)命令来配置,该命令配置可由操作系统访问的DASD120最高逻辑块地址。使用SETMAX ADDRESS命令对DASD120进行分区的一种方法在美国国家标准化委员会(ANSI)的内部工作报告“受保护区运行时接口扩展服务”(PARTIES)及其后续报告中有更充分的描述。BIOS130可以被配置成确定用户分区122(通常从逻辑块地址0到最高地址126)和服务分区124(通常从最高地址126向上)之间的边界。本发明的一个实施例使用DASD120中的服务分区124存储与系统100连接的一个或多个外围设备的固件本机拷贝。
为实现当前固件版本的本机存储和在现场服务事件之后自动验证固件,本发明纳入一个固件更新模块(由参考数字142标识)以及询问该系统上每个外围设备当前固件版本或水平的设施或手段。在一个实施例中,BIOS130在POST期间启动一个新的系统调用,使外围设备硬件能报告固件水平,以收集该系统上实际安装的全部硬件的固件水平。然后,将提取到的这些值与DASD中存储的固件映像的版本水平加以比较。如果POST检测到一个固件水平不匹配,则BIOS130可以迫使引导程序进入服务分区,通过对任何不匹配设备的固件重新编程或更新以及在可由管理应用访问的分区内保持更新日志来校正这个不匹配。当该系统在其后被重新引导时,在每个外围设备上的固件将与相应的设备驱动器版本一致。
现在参考图3,图中显示的流程图说明根据本发明的一个实施例在数据处理系统中保持外围设备固件版本的方法。在所描绘的实施例中,通常是响应加电、硬件复位事件或软重新启动(如操作系统重新启动或输入特定的键盘组合(例如CntlAltDel)),使系统BIOS启动(块152)。作为其执行的一部分,BIOS识别(块154)与系统I/O总线(一条或多条总线)相连的每个外围设备适配器并启动(块156)POST。作为POST的一部分,系统100使用一系统调用确定(块158)识别出的每个外围设备的固件版本,该系统调用被设计成使适配器能报告它们的固件版本水平。
然后,将从硬件设备本身中提取的固件版本水平与指出每个外围设备的当前被认可或被确认的固件版本水平的存档信息加以比较(块160)。在一个实施例中,这一存档的信息存储在系统DASD的一个分区(服务分区),它是专用于保存固件版本、设备驱动器等的。因为这些软件部件与当前技术水平的盘设备所提供的大存储容量相比通常是比较小的,预计专用存储区只占据整个盘空间的一小部分。
如果所安装的固件水平和存档的水平之间的比较揭示(块162)出没有固件版本不匹配的情况,则BIOS执行初始程序装入(IPL)以提取必要的操作系统部件,于是系统呈现一种操作状态直至下一个引导事件,如果检测到不匹配,则自动采取行动使硬件的固件版本与存档版本一致。在所描述的实施例中,这一校正行动包括引导进入存档固件驻留的服务分区(块164)。然后服务分区可以针对根据存档信息所应该的水平来验证全部设备的固件水平。然后这一验证代码将迫使进行固件更新(块166)到存储在任何不匹配的设备的服务分区上的正确水平,以保证在下一次系统引导之后固件将与驱动器版本匹配。在该优选实施例中,所执行的每个更新程序被记录(块168)在服务分区日志或IBM服务器事件日志中,可由管理应用,如IBM导向器应用(以参考数字144标识)访问。在固件被更新之后,执行系统重新引导(块170)。
当发生固件修改或更新时,使用更新模块(图2中用参考数字142标识)把新修改过的固件映射到服务分区中。更新模块142可以包含BIOS在系统引导期间调用的模块,以使该模块能访问服务分区124。由更新模块142进行的任何软件更新也被记录在可由管理应用访问的服务分区日志中。对于从本公开内容受益的那些本领域技术人员,显然本发明设想了一个系统和方法用于自动保存数据处理系统中外围设备的固件版本。应该理解,在详细描述和附图中所显示和描述的本发明的形式只是作为当前的优选实施例。下列权利要求应被广义地解释为包括所公开的优选实施例的全部变化。
Claims (14)
1.一种在数据处理系统中保持固件版本的方法,包含:
把与所述数据处理系统关联的至少一个外围设备的当前固件映像到可被所述数据处理系统访问的非易失存储器的一部分中;
在引导序列期间,将至少一个外围设备中的每一个上的固件版本与映像在所述数据处理系统非易失存储器中的相应版本加以比较;以及
响应检测到的设备固件版本与相应映像版本之间的不匹配,更新各外围设备的固件以与映像版本一致。
2.权利要求1的方法,其中映像当前固件包括把所述数据处理系统存储器分区成至少一个用户分区和一个服务分区并把固件映像存储到服务分区中。
3.权利要求2的方法,其中服务分区是所述数据处理系统的操作系统和应用程序所不能访问的。
4.权利要求2的方法,其中服务分区是根据PARTIES规程实现的。
5.权利要求2的方法,其中更新固件包括引导进入服务分区使得服务分区可以验证每个外围设备的固件版本。
6.权利要求1的方法,进一步包含把固件的每次更新记录在可由管理软件访问的日志中。
7.权利要求1的方法,其中外围设备包括从网络接口设备、DASD控制器以及服务处理器中选出的至少一个设备。
8.一个数据处理系统,包括至少一个与系统存储器连接的处理器和至少一个可由该处理器访问的外围设备,该系统进一步包含:
把与所述数据处理系统关联的至少一个外围设备的当前固件映像到可被所述数据处理系统访问的非易失存储器的一部分中的装置;
在引导序列期间,将至少一个外围设备中的每一个上的固件版本与映像在所述数据处理系统非易失存储器中的相应版本加以比较的装置;以及
响应检测到的设备固件版本与相应映像版本之间的不匹配,更新各外围设备的固件以与映像版本一致的装置。
9.权利要求8的系统,其中映像当前固件的装置包括把所述数据处理系统存储器分区成至少一个用户分区和一个服务分区并把固件映像存储到服务分区的装置。
10.权利要求9的系统,其中服务分区是所述数据处理系统的操作系统和应用程序所不能访问的。
11.权利要求9的系统,其中服务分区是根据PARTIES规程实现的。
12.权利要求9的系统,其中用于更新固件的装置包括用于引导进入服务分区使得服务分区可以验证每个外围设备的固件版本的装置。
13.权利要求8的系统,进一步包含用于把固件的每次更新记录在可由管理软件访问的日志中的装置。
14.权利要求8的系统,其中外围设备包括从网络接口设备、DASD控制器以及服务处理器中选出的至少一个设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/176,699 US7243347B2 (en) | 2002-06-21 | 2002-06-21 | Method and system for maintaining firmware versions in a data processing system |
US10/176,699 | 2002-06-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1469252A CN1469252A (zh) | 2004-01-21 |
CN1244867C true CN1244867C (zh) | 2006-03-08 |
Family
ID=29734197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031373909A Expired - Lifetime CN1244867C (zh) | 2002-06-21 | 2003-06-19 | 在数据处理系统中保持固件版本的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7243347B2 (zh) |
CN (1) | CN1244867C (zh) |
TW (1) | TWI225215B (zh) |
Families Citing this family (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249247B2 (en) * | 2000-04-11 | 2007-07-24 | Microsoft Corporation | Common feature mode for microprocessors in a multiple microprocessor system |
US8458689B2 (en) * | 2001-03-30 | 2013-06-04 | Roderick A. Barman | Method and apparatus for reprogramming engine controllers |
US20030172295A1 (en) * | 2002-03-01 | 2003-09-11 | Onspec Electronics, Inc. | Device and system for allowing secure identification of an individual when accessing information and a method of use |
US20040203693A1 (en) * | 2002-09-18 | 2004-10-14 | Dell Products L.P. | Over the air firmware and policy programming |
US20040078497A1 (en) * | 2002-10-17 | 2004-04-22 | Nalawadi Rajeev K. | Method and apparatus for detecting configuration change |
US20040076043A1 (en) * | 2002-10-21 | 2004-04-22 | Phoenix Technologies Ltd. | Reliable and secure updating and recovery of firmware from a mass storage device |
KR100971320B1 (ko) * | 2003-03-25 | 2010-07-20 | 트랜스퍼시픽 소닉, 엘엘씨 | 플래시롬의 응용 프로그램 저장/실행 방법 |
US7103736B2 (en) * | 2003-08-11 | 2006-09-05 | Telairity Semiconductor, Inc. | System for repair of ROM programming errors or defects |
US7185191B2 (en) * | 2004-05-05 | 2007-02-27 | International Business Machines Corporation | Updatable firmware having boot and/or communication redundancy |
US7493627B2 (en) * | 2004-08-19 | 2009-02-17 | Lenovo (Singapore) Pte. Ltd. | System and method for configuring computer for operation |
US20060070055A1 (en) * | 2004-09-24 | 2006-03-30 | Hodder Leonard B | Method of updating printer firmware and printing device employing the method |
KR100633099B1 (ko) * | 2004-10-15 | 2006-10-11 | 삼성전자주식회사 | 데이터 버스를 이용하는 시스템 및 그의 동작제어방법 |
US20060168331A1 (en) * | 2005-01-06 | 2006-07-27 | Terevela, Inc. | Intelligent messaging application programming interface |
EP1851646A2 (en) | 2005-01-06 | 2007-11-07 | Tervela Inc. | Intelligent messaging application programming interface |
US8402109B2 (en) | 2005-02-15 | 2013-03-19 | Gytheion Networks Llc | Wireless router remote firmware upgrade |
US7904518B2 (en) | 2005-02-15 | 2011-03-08 | Gytheion Networks Llc | Apparatus and method for analyzing and filtering email and for providing web related services |
JP2006227830A (ja) * | 2005-02-16 | 2006-08-31 | Seiko Epson Corp | 情報処理機器及び情報処理機器の制御方法 |
JP2006268752A (ja) * | 2005-03-25 | 2006-10-05 | Seiko Epson Corp | 複数のバージョンに対応したモジュールの起動 |
CN100521676C (zh) * | 2005-04-14 | 2009-07-29 | 华为技术有限公司 | 在机顶盒中单独升级业务软件的实现方法和装置 |
US20060294354A1 (en) * | 2005-06-07 | 2006-12-28 | Azaleos Corporation | Image-based system maintenance |
JP4827445B2 (ja) * | 2005-06-30 | 2011-11-30 | キヤノン株式会社 | 周辺装置制御システム及びその制御方法及び情報処理装置、並びに、コンピュータプログラム |
US20070162626A1 (en) * | 2005-11-02 | 2007-07-12 | Iyer Sree M | System and method for enhancing external storage |
FI20065165L (fi) * | 2006-03-15 | 2007-09-16 | Abb Oy | Taajuusmuuttajan ohjain, oheislaite, menetelmä ja ohjelma |
US7549040B2 (en) * | 2006-04-19 | 2009-06-16 | International Business Machines Corporation | Method and system for caching peripheral component interconnect device expansion read only memory data |
US7797696B1 (en) * | 2006-06-30 | 2010-09-14 | American Megatrends, Inc. | Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure |
US9395968B1 (en) | 2006-06-30 | 2016-07-19 | American Megatrends, Inc. | Uniquely identifying and validating computer system firmware |
US7590835B1 (en) | 2006-06-30 | 2009-09-15 | American Megatrends, Inc. | Dynamically updating a computer system firmware image |
US8707297B2 (en) * | 2006-07-26 | 2014-04-22 | Dell Products L.P. | Apparatus and methods for updating firmware |
CN101135975B (zh) * | 2006-08-29 | 2011-02-23 | 中兴通讯股份有限公司 | 系统应用程序匹配检测的方法 |
US7730295B1 (en) | 2006-09-05 | 2010-06-01 | Western Digital Technologies, Inc. | Updating firmware of a peripheral device |
US20080077783A1 (en) * | 2006-09-26 | 2008-03-27 | Inventec Corporation | Method of integrating image and release note of BIOS |
US7876894B2 (en) * | 2006-11-14 | 2011-01-25 | Mcm Portfolio Llc | Method and system to provide security implementation for storage devices |
US9148422B2 (en) * | 2006-11-30 | 2015-09-29 | Mcafee, Inc. | Method and system for enhanced wireless network security |
US20080184035A1 (en) * | 2007-01-30 | 2008-07-31 | Technology Properties Limited | System and Method of Storage Device Data Encryption and Data Access |
US20090046858A1 (en) * | 2007-03-21 | 2009-02-19 | Technology Properties Limited | System and Method of Data Encryption and Data Access of a Set of Storage Devices via a Hardware Key |
US20080288782A1 (en) * | 2007-05-18 | 2008-11-20 | Technology Properties Limited | Method and Apparatus of Providing Security to an External Attachment Device |
US20080181406A1 (en) * | 2007-01-30 | 2008-07-31 | Technology Properties Limited | System and Method of Storage Device Data Encryption and Data Access Via a Hardware Key |
US20080184073A1 (en) * | 2007-01-31 | 2008-07-31 | Inventec Corporation | Power on self test method |
US20080288703A1 (en) * | 2007-05-18 | 2008-11-20 | Technology Properties Limited | Method and Apparatus of Providing Power to an External Attachment Device via a Computing Device |
JP4958692B2 (ja) * | 2007-08-31 | 2012-06-20 | キヤノン株式会社 | 配信装置、配信方法、及びコンピュータプログラム |
US8819655B1 (en) * | 2007-09-17 | 2014-08-26 | Symantec Corporation | Systems and methods for computer program update protection |
WO2009091370A1 (en) * | 2008-01-17 | 2009-07-23 | Hewlett-Packard Development Company, L.P. | Device software customization |
JP4616898B2 (ja) * | 2008-05-07 | 2011-01-19 | 株式会社日立製作所 | ストレージ装置制御方法および計算機システム |
TW201011531A (en) * | 2008-09-03 | 2010-03-16 | Asustek Comp Inc | Computer system and related method of logging BIOS update operation |
US20110099423A1 (en) * | 2009-10-27 | 2011-04-28 | Chih-Ang Chen | Unified Boot Code with Signature |
US9639347B2 (en) * | 2009-12-21 | 2017-05-02 | International Business Machines Corporation | Updating a firmware package |
GB2476931A (en) * | 2010-01-12 | 2011-07-20 | Fujitsu Serv Ltd | Firmware update system using a system monitoring chip with associated memory |
JP5564956B2 (ja) * | 2010-01-15 | 2014-08-06 | 富士通株式会社 | 情報処理装置及び情報処理装置のファームウェア更新方法 |
US8667480B1 (en) * | 2010-04-19 | 2014-03-04 | Google Inc. | Automatically updating browser extensions, and applications thereof |
JP2011238007A (ja) * | 2010-05-10 | 2011-11-24 | Canon Inc | 配信装置、プログラム配信システム、配信方法及びプログラム |
US9720675B2 (en) * | 2010-10-27 | 2017-08-01 | Hewlett Packard Enterprise Development Lp | Version mismatch delay and update for a distributed system |
US8386652B2 (en) * | 2010-11-12 | 2013-02-26 | Apple Inc. | Mobile computing device with adaptive response based on accessory firmware |
GB2501433B (en) * | 2011-01-19 | 2014-06-04 | Ibm | Ensuring the integrity of software |
US8626880B2 (en) | 2011-07-06 | 2014-01-07 | Dell Products, Lp | Embedded configuration variance detector |
US20130275769A1 (en) * | 2011-12-15 | 2013-10-17 | Hormuzd M. Khosravi | Method, device, and system for protecting and securely delivering media content |
US9497171B2 (en) | 2011-12-15 | 2016-11-15 | Intel Corporation | Method, device, and system for securely sharing media content from a source device |
US9887838B2 (en) | 2011-12-15 | 2018-02-06 | Intel Corporation | Method and device for secure communications over a network using a hardware security engine |
TWI528285B (zh) * | 2011-12-20 | 2016-04-01 | 緯創資通股份有限公司 | 製造系統及韌體燒錄方法 |
US8966466B2 (en) * | 2012-04-04 | 2015-02-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System for performing firmware updates on a number of drives in an array with minimum interruption to drive I/O operations |
TWI476594B (zh) * | 2012-08-16 | 2015-03-11 | Ind Tech Res Inst | x73-PHD系統及其韌體自動更新方法 |
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 |
KR20140099757A (ko) * | 2013-02-04 | 2014-08-13 | 삼성전자주식회사 | 전자장치 및 전자장치의 펌웨어 업그레이드 방법 |
US10466269B2 (en) | 2013-02-19 | 2019-11-05 | Calamp Corp. | Systems and methods for low latency 3-axis accelerometer calibration |
US10031761B2 (en) | 2013-10-11 | 2018-07-24 | International Business Machines Corporation | Pluggable cloud enablement boot device and method |
US9354894B2 (en) | 2013-10-11 | 2016-05-31 | International Business Machines Corporation | Pluggable cloud enablement boot device and method that determines hardware resources via firmware |
US9384006B2 (en) | 2013-10-11 | 2016-07-05 | Globalfoundries Inc. | Apparatus and methods for automatically reflecting changes to a computing solution into an image for the computing solution |
CN103617246A (zh) * | 2013-11-29 | 2014-03-05 | Tcl通讯(宁波)有限公司 | 一种固件版本更新方法及系统 |
CN103677912B (zh) * | 2013-12-06 | 2017-12-01 | 华为技术有限公司 | 芯片及其启动方法 |
US20160048389A1 (en) * | 2014-08-12 | 2016-02-18 | Deepaganesh Paulraj | System and method for supporting part replacement |
US9644977B2 (en) | 2015-05-22 | 2017-05-09 | Calamp Corp. | Systems and methods for determining vehicle operational status |
US9857975B2 (en) | 2015-06-26 | 2018-01-02 | International Business Machines Corporation | Non-volatile memory drive partitions within microcontrollers |
CN105117241A (zh) * | 2015-07-28 | 2015-12-02 | 努比亚技术有限公司 | 固件升级方法及装置 |
US10127032B2 (en) * | 2015-11-05 | 2018-11-13 | Quanta Computer Inc. | System and method for unified firmware management |
US10019580B2 (en) * | 2015-11-19 | 2018-07-10 | Federal Reserve Bank Of Philadelphia | Integrity checking for computing devices |
JP2017156937A (ja) * | 2016-03-01 | 2017-09-07 | ヤンマー株式会社 | 端末装置およびソフトウェア書き換えプログラム |
US20170357494A1 (en) * | 2016-06-08 | 2017-12-14 | International Business Machines Corporation | Code-level module verification |
US10055909B2 (en) | 2016-07-08 | 2018-08-21 | Calamp Corp. | Systems and methods for crash determination |
US10333786B2 (en) * | 2016-07-15 | 2019-06-25 | Dell Products L.P. | System and method for refreshing an information handling system using many to one peer based communication |
US10395438B2 (en) | 2016-08-19 | 2019-08-27 | Calamp Corp. | Systems and methods for crash determination with noise filtering |
US10219117B2 (en) | 2016-10-12 | 2019-02-26 | Calamp Corp. | Systems and methods for radio access interfaces |
US10275261B1 (en) * | 2016-11-29 | 2019-04-30 | Cavium, Llc | Methods and systems for message logging and retrieval in computer systems |
US10473750B2 (en) | 2016-12-08 | 2019-11-12 | Calamp Corp. | Systems and methods for tracking multiple collocated assets |
US11295286B2 (en) * | 2017-06-20 | 2022-04-05 | Hewlett-Packard Development Company, L.P. | Managing retail point of sale devices |
US10599421B2 (en) | 2017-07-14 | 2020-03-24 | Calamp Corp. | Systems and methods for failsafe firmware upgrades |
US10592232B2 (en) * | 2017-09-26 | 2020-03-17 | Quanta Computer Inc. | Preserving firmware setting during firmware update |
US20190141156A1 (en) | 2017-11-06 | 2019-05-09 | Calamp Corp. | Systems and Methods for Dynamic Telematics Messaging |
CN108681459B (zh) * | 2018-03-26 | 2022-03-01 | 深圳有电物联科技有限公司 | 一种智能硬件设备的固件更新方法、装置及系统 |
US10810017B2 (en) * | 2019-01-02 | 2020-10-20 | Dell Products L.P. | Systems and methods for handling firmware driver dependencies in host operating systems while applying updates from bootable image file |
JP7103303B2 (ja) * | 2019-05-16 | 2022-07-20 | 横河電機株式会社 | 装置、通信モジュール、アプリケーションモジュールおよび方法 |
US11301566B2 (en) * | 2019-07-03 | 2022-04-12 | Ati Technologies Ulc | Firmware anti-rollback |
TWI801730B (zh) * | 2020-04-07 | 2023-05-11 | 神雲科技股份有限公司 | 具系統設定資料同步功能的伺服器 |
US11847227B2 (en) * | 2020-11-30 | 2023-12-19 | Red Hat, Inc. | Firmware version corruption attack prevention |
US11675602B2 (en) * | 2021-07-28 | 2023-06-13 | International Business Machines Corporation | Methods and systems for creating root-of-trust for computing system components |
US20230195451A1 (en) * | 2021-12-17 | 2023-06-22 | Dell Products L.P. | Unified extensible firmware interface controlled update deployment in an information handling system |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355489A (en) * | 1989-08-25 | 1994-10-11 | International Business Machines Corp. | Bios load for a personal computer system having a removable processor card |
US5293556A (en) * | 1991-07-29 | 1994-03-08 | Storage Technology Corporation | Knowledge based field replaceable unit management |
US5566335A (en) * | 1993-03-16 | 1996-10-15 | Hewlett-Packard Company | Method and apparatus for firmware upgrades in embedded systems |
US5561760A (en) * | 1994-09-22 | 1996-10-01 | International Business Machines Corporation | System for localizing field replaceable unit failures employing automated isolation procedures and weighted fault probability encoding |
US5835760A (en) * | 1995-10-13 | 1998-11-10 | Texas Instruments Incorporated | Method and arrangement for providing BIOS to a host computer |
US6003130A (en) * | 1996-10-28 | 1999-12-14 | Micron Electronics, Inc. | Apparatus for selecting, detecting and/or reprogramming system bios in a computer system |
US5892973A (en) * | 1996-11-15 | 1999-04-06 | Digital Equipment Corporation | System and method for determining attributes and coupling characteristics of components by comparatively observing provided reference signal |
US5818343A (en) * | 1996-11-29 | 1998-10-06 | Northern Telecom Limited | Redundantly coded visual indication system |
US6360362B1 (en) * | 1998-02-20 | 2002-03-19 | Intel Corporation | Automatic update of camera firmware |
US6154728A (en) * | 1998-04-27 | 2000-11-28 | Lucent Technologies Inc. | Apparatus, method and system for distributed and automatic inventory, status and database creation and control for remote communication sites |
US6199194B1 (en) * | 1998-09-25 | 2001-03-06 | Adaptec, Inc. | Method and system for programming firmware over a computer network |
KR100284430B1 (ko) * | 1998-12-18 | 2001-04-02 | 구자홍 | 프로그램 갱신 방법 및 장치 |
US6678741B1 (en) * | 1999-04-09 | 2004-01-13 | Sun Microsystems, Inc. | Method and apparatus for synchronizing firmware |
US6262493B1 (en) * | 1999-10-08 | 2001-07-17 | Sun Microsystems, Inc. | Providing standby power to field replaceable units for electronic systems |
US6487464B1 (en) * | 2000-02-25 | 2002-11-26 | Intel Corporation | Power-on software for robust boot |
US6789215B1 (en) * | 2000-04-21 | 2004-09-07 | Sprint Communications Company, L.P. | System and method for remediating a computer |
US6633976B1 (en) * | 2000-08-10 | 2003-10-14 | Phoenix Technologies Ltd. | Method of storing BIOS modules and transferring them to memory for execution |
US7055148B2 (en) * | 2000-12-07 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | System and method for updating firmware |
WO2002084484A2 (en) * | 2001-04-18 | 2002-10-24 | Domosys Corporation | Method of remotely upgrading firmware in field-deployed devices |
US7069431B2 (en) * | 2001-07-31 | 2006-06-27 | Lenovo ( Singapore) Pte Ltd. | Recovery of a BIOS image |
US6836859B2 (en) * | 2001-08-15 | 2004-12-28 | Sun Microsystems, Inc. | Method and system for version control in a fault tolerant system |
US6725178B2 (en) * | 2002-01-15 | 2004-04-20 | International Business Machines Corporation | Use of hidden partitions in a storage device for storing BIOS extension files |
US20030172228A1 (en) * | 2002-03-07 | 2003-09-11 | International Business Machines Corporation | Method and system for extending a hardfile partition table |
-
2002
- 2002-06-21 US US10/176,699 patent/US7243347B2/en active Active
-
2003
- 2003-06-16 TW TW092116301A patent/TWI225215B/zh not_active IP Right Cessation
- 2003-06-19 CN CNB031373909A patent/CN1244867C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20030236970A1 (en) | 2003-12-25 |
TWI225215B (en) | 2004-12-11 |
US7243347B2 (en) | 2007-07-10 |
CN1469252A (zh) | 2004-01-21 |
TW200414041A (en) | 2004-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1244867C (zh) | 在数据处理系统中保持固件版本的方法和系统 | |
CN1273891C (zh) | 最小单位地更新多个文件的方法 | |
US8312259B1 (en) | System and method for booting a computer from backup | |
US7519806B2 (en) | Virtual partition for recording and restoring computer data files | |
US6308265B1 (en) | Protection of boot block code while allowing write accesses to the boot block | |
US8489552B1 (en) | Generic granular restore of application data from a volume image backup | |
US7143275B2 (en) | System firmware back-up using a BIOS-accessible pre-boot partition | |
US8572604B2 (en) | Method and apparatus to support virtualization with code patches | |
CN102216905B (zh) | 为运行在计算系统中的应用创建应用还原点的方法和系统 | |
US8645748B1 (en) | System and method for bare metal restore of a computer over a network | |
US6711660B1 (en) | System and method for performing disk drive diagnostics and restoration using a host-inaccessible hidden partition | |
US20050204186A1 (en) | System and method to implement a rollback mechanism for a data storage unit | |
US8806476B2 (en) | Implementing a software installation process | |
CN102193817B (zh) | 简化物理和虚拟部署的管理 | |
US6944867B2 (en) | Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems | |
US7487345B2 (en) | Method of comparing build capability flags of replacement BIOS with boot capability flags of current BIOS to determine compatibility between BIOS revisions and installed hardware during flash update | |
CN1212062A (zh) | 用于远程诊断与维修的扩充基本输入输出系统 | |
EP1854006A1 (en) | Method and system for preserving crash dump in a diskless system | |
CN1227594C (zh) | 管理多处理器系统中虚拟化的物理存储器的方法和系统 | |
US20040268116A1 (en) | Fault tolerant recovery block with reduced flash footprint | |
CN1334936A (zh) | 为不同的指令集结构所编写的固件之间进行通信的方法 | |
MX2008014860A (es) | Actualizacion de maquina virtual con parche o similares. | |
CN102207896A (zh) | 虚拟机崩溃文件生成技术 | |
US5822784A (en) | Mechanism supporting execute in place read only memory applications located on removable computer cards | |
US20080098381A1 (en) | Systems and methods for firmware update in a data processing device |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160303 Address after: China Hongkong No. 979 King's road, Quarry Bay Taikoo Place Lincoln building 23 floor Patentee after: Lenovo International Ltd. Address before: American New York Patentee before: International Business Machines Corp. |
|
CX01 | Expiry of patent term |
Granted publication date: 20060308 |
|
CX01 | Expiry of patent term |