CN1422404A - 模块化的bios更新机制 - Google Patents

模块化的bios更新机制 Download PDF

Info

Publication number
CN1422404A
CN1422404A CN01807937A CN01807937A CN1422404A CN 1422404 A CN1422404 A CN 1422404A CN 01807937 A CN01807937 A CN 01807937A CN 01807937 A CN01807937 A CN 01807937A CN 1422404 A CN1422404 A CN 1422404A
Authority
CN
China
Prior art keywords
bios
auxiliary
video
firmware
space
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
Application number
CN01807937A
Other languages
English (en)
Other versions
CN1222873C (zh
Inventor
T·威尔逊
M·克里斯托菲尔森
A·加夫肯
T·多德森
J·H·洛夫莱斯
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1422404A publication Critical patent/CN1422404A/zh
Application granted granted Critical
Publication of CN1222873C publication Critical patent/CN1222873C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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
    • 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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

一种模块化BIOS更新机制提供更新选项ROM的标准化方法,和提供计算机系统中视频和处理器微代码升级,不需要完全替换系统BIOS。MBU机制提供几个优点。首先,即使直接的OEM支持不可能被识别,新的特性和来自较早释放的BIOS故障可被发送到末端用户系统的一个已安装的数据库。而且,BIOS部件可被提供为被合法化的修订版集。采用合法性矩阵,可容易地管理BIOS更新。模块化BIOS更新在具有几个存储在单一固件内的独立BIOS的系统中特别有用。

Description

模块化的BIOS更新机制
背景
本发明的实施方案在模块化的基础上提供用于更新一种现代计算机系统的系统BIOS部件的技术。
因为计算机系统的功能部件被越来越多地集成到单一的集成电路中,以前可能一直存储在被隔离的选件ROM中的多个BIOS图象也可被集成到一个单一的固件系统中。这种较大规模的集成产生一种能够更新存储在单一固件中的系统BIOS或部件而不需要更换整个系统的BIOS的需要。
例如,Intel公司,本发明的受让者正在设计一种将处理器,图形控制器和存储器控制器的功能合并的单个集成电路。这样,该集成电路可以与既包括管理通过系统的输入/输出事务的系统BIOS,又可包括用于图形控制功能的视频BIOS的固件通信。可以与系统BIOS的更新无关地公开对视频BIOS的升级。因此,在系统BIOS的领域中有一种允许对存储媒体中的BIOS进行模块更新的需要。例如,更新视频BIOS而不干扰存储媒体中的整个系统的BIOS可能是有利的。
附图简述
图1示出一种依据本发明的实施方案的系统BIOS。
图2是依据本发明的一种实施方案的使用模型。
图3是用作说明一种模块化BIOS更新(“MBU”)过程的实施方案和在安装BIOS程序包期间BIOS和驱动器之间交互作用的高等级流程图。
图4示出一种依据本发明的实施方案更新固件的方法。
图5是一种用作说明各分段的存储器位置的存储器映象。
图6是一种用作说明重新组装的BIOS程序包的存储器映象。
图7示出一种依据本发明的实施方案更新视频BIOS的方法。
图8示出一种依据本发明的实施方案的样本MBU程序包。详述
本发明的实施方案提供一种MBU机制-一种更新选项ROM并提供视频和处理器微代码而不需要完全替换系统BIOS的标准化方法。MBU机制提供几个优点。首先,即使直接的OEM支持不可能被识别,新的特性和BIOS故障修理可被发送到末端用户系统已安装的数据库中。BIOS部件也可被提供为一套合法的修订版。利用对合法矩阵的再分类,可容易地管理BIOS更新。
图1示出一个存储器空间100,存储依据本发明的优选实施方案的系统BIOS 110。存储器空间100可包括第一存储器空间120和第二存储器空间130,第一存储器空间可存储核心BIOS 140和一个或多个辅助的BIOS。例如,图1示出存储在第一存储器空间120中的核心BIOS140和视频BIOS 150。第一存储器空间120可被提供在固件中。另一种方案是可被提供在通常的ROM存储器中。依据一种实施方案,第一存储器空间120不需要提供写数据到空间120。在操作期间,附加的BIOS可被写入固件100。不管什么样的附加BIOS被提供在固件100中,存储在第一存储器空间120中的那些BIOS被指望永久地留在其中。因此,第一存储器空间120此时可认为是“常驻的空间”。
第二存储器空间130可存储附加的BIOS。因此,它可允许写数据到此。第二存储器空间130可存储对常驻的系统BIOS的增强内容。因而,第二存储器空间130此时可认为是“增强的空间”。
增强的空间130可提供存储BIOS部件,以便补充或替换存储在常驻的空间120中的那些BIOS部件。举例来说,增强的空间130可存储:
·微代码更新,校正在代理器中的微代码差错,
·BIOS更新或修补,修理在常驻的BIOS空间中的故障,和
·BIOS模块,在操作期间替换常驻的空间中的BIOS,和
·可更新的视频驱动器参数数据表,提供配置相同驻动器参数表,以便通过多重硅的修订版使用。
规定在常驻的空间120中所提供的任何BIOS部件在制造以后将不再改变。然而,更新可被存储在增强空间130中。增强空间130也可存储索引表,映射增强空间130和常驻空间120,中的BIOS部件。这样,分配表130可包含指针,识别来自常驻空间120的哪个系统BIOS或系统部件已被增强空间的部件所替代。
图2是依据本发明的实施方案的一种使用模型,依据该实施方案,计算机系统可利用BIOS的增强功能自主地对自己编程。图2示出“MBU程序包”200,一个可包括一个或多个BIOS程序包(未示出)的数据目标,MBU程序包200可通过输入/输出设备,如电的,磁的或光的存储设备,或通过通信接口,如为内部网,因特网或无线计算机网(合在一起表示为210)所提供的装置输入到计算机系统。
该计算机系统可包括一个安装器220。安装器220可包括一个应用程序230和一个BIOS接口驱动器240,被设计用于依据在此所描述的实施方案处理MBU程序包200。在一种实施方案中,安装器220可与计算机网接合,如因特网,以便搜索和下载最近的MBU程序包供计算机系统使用。一旦MBU程序包200被接收到,安装器220可将MBU程序包拆成离散的BIOS程序包并调用可能对更新固件必要的任何硬件接口250。
依据一种实施方案。BIOS程序包不仅可包括对BIOS自己的更新,也可包括关联的合法性和修订版的信息。安装器220可在合法性和修订版的比较方面起作用。对于修订版,在安装以前,安装器220可以将BIOS更新的修订版信息与可能与以前存储在常驻空间110中(图1)和存储在增强空间120(图1)中的系统BIOS关联的修订版信息(如果有的话)作比较。在这个实施方案中,如果比较结果确定在程序包中所提供的BIOS更新并不比以前所存储的版本更现代时,则安装器220可以终止安装过程。
依据实施方案,安装器220可将BIOS程序包存储在系统存储器中供安装。安装器220也设置某种标志在系统存储器中以指明该系统存储器存储BIOS程序包。安装器220也可使可依附于固件,可防止在正常操作期间将数据写入固件的某种硬件保密锁不能工作。典型情况下,可以利用对系统管理中断(“SMI”)处理器250的通常调用来使硬件保密锁不能工作。SMI处理器250可使计算机操作系统不能工作并允许对BIOS更新。
一旦安装器220已将程序包存入系统存储器,安装过程终止。在安装过程结束时,安装器220可按这样一种方式使处理器复位,即处理器重新启动但系统存储器的内容被保持。例如,这可通过对许多Intel处理器断言INIT#来实现。
图3是用作说明MBU过程300的一种实施方案的高等级流程图。图3示出在几个执行阶段中的操作:操作系统(“OS”)运行时间310,OS重新启动320,POST330和OS装载340。在安装器应用程序230被启动后,过程可在START点开始。当安装器应用程序230启动时,可挂接MBU驱动器240(方框301)、作为响应,驱动器240可以确定被MBU SMI处理器支持的接口修订版(方框302)。如果修订版号码被驱动器辨认出,驱动器可以利用一个建立和返回在MBU过程300期间对所有调用使用的处理的命令挂接到SMI处理器。在初始化完成以后,驱动器240可以返回对安装应用程序230的控制。如果存在已完成的安装,该安装应用程序230可以对程序包的分段建立任何必要的指针(在此已讨论过)并可调用MBU驱动器的安装入口点(方框303)。MBU驱动器240可以保存此信息并返回安装应用程序230(方框304)。在安装过程中的这一点上,安装应用程序230可以退出,留下挂在MBU驱动器更新队列中的安装请求(方框305,306)。MBU驱动器240可以停留在空间状态中直到在断开期间OS发送关闭消息到MBU驱动器240为止。
当操作系统准备重新启动时,典型情况下,它们发送MSG_CLOSE消息到通知目录上的所有驱动器。MBU驱动器240可被包括在这个目录上。在重新启动期间,MBU驱动器240可以接收MSG_CLOSE消息并查看它的对于MBU更新的未决的更新表(方框311)。如果存在已完成的更新,MBU驱动器240可在系统存储器中建立一个物理缓存器,可以将更新的程序包从文件装载到主存储器中,并可在存储器中设置标志,通知BIOS,更新被完成(方框312)。然后MBU驱动器240可以释放它与SMI处理器250的处理并终止(方框313,314)。然后,OS可按通常方式关闭。
一旦OS已被关闭,它可产生对处理器的INIT#·INIT#未将存储器控制器复位,保持系统存储器原封不动。INIT#将处理器复位到引导向量,并将存储器的锁定方案复位到允许编程的状态。在图3中,作为POST阶段320示出。在POST阶段320期间,系统BIOS可从系统存储器检索程序包,认证程序包并将程序包写入增强空间(方框321)。一旦更新完成,系统BIOS可以发布系统复位,并开始正常的POST过程(方框322,323)。一旦系统BIOS开始装载OS,可将控制递交到图3的OS装载阶段330。
在OS装载阶段330中,OS将驱动器装入“驱动器启动”目录(方框331)。在此目录中的驱动器之一是MBU驱动器240。当MBU驱动器240装载时,可以挂接到SMI处理器250,并确定被处理器250支持的MBU-SMI接口的修订版(方框322)。如果MBU驱动器240辨认出修订版号码,可以通过建立对驱动器的处理再次尝试挂接到SMI处理器250,供将来的调用使用(方框323)。然后MBU驱动器240可以确定最近更新的状态(方框324)。MBU驱动器240可以保存此状态并留在空间状态直到被安装器应用程序230调用为止(方框335)。更新过程完成。
图4示出在依据本发明的实施方案的图3的POST阶段期间一种更新固件的方法400。在BIOS被重新启动以后(方框410),BIOS将经历启动步骤。在启动步骤期间的某个点上,最好在常驻空间中任何辅助BIOS的部件被执行以前,BIOS可以确定是否BIOS指明存在MBU程序包(主框420)。如果不是,BIOS可以退出方法400并继续启动步骤,最终使整个系统复位(方框430)。
然而,如果存储器包含BIOS程序包存在的标识符,BIOS试图认证MBU程序包(方框440)。BIOS确定是否认证是成功的和MBU程序包是有效的(方框450)。如果不是,如MBU程序包是无效的,BIOS返回MBU授权失败(方框460)并退出方法(方框430)。
如果认证合法性成功,BIOS开始将MBU程序包写入增强空间(方框470)。在写结束时,BIOS确定是否更新成功(方框480)。如果不是,BIOS返回MBU更新失败(方框490)并从BIOS清除MBU更新标志(方框500)。否则,BIOS可以设置增强标志(方框510),并返回指明成功存储的状态标志(方框520)。一旦增强表已被修正,方法可终止。
在终止方法400时,BIOS可将整个系统复位。系统复位不仅重新启动BIOS本身,而且也清除系统存储器。当系统复位时,MBU程序包可按其内容所确定的方式调用。
程序包认证
正如所指出的那样,MBU更新过程可包括程序包认证。依据实施方案,MBU程序包可以包含唯一地识别MBU程序包源的认证信息。例如,认证信息可以依据公用-私用密钥对产生。公用密钥可被BIOS存储在常驻空间110中(图1)。新接收到的MBU程序包可用私用密钥作标志。利用公用密钥,处理器可以查看MBU程序包的内容和伴随着MBU程序包的签名以便认证程序包。成功指明MBU程序包被一个真正的源颁发,失败可以指明MBU程序包并不是被一个真正的源颁发的,MBU程序包在颁发以后不知什么原因遭损坏,或发生某种其他的差错。如果认证失败,BIOS可以终止MBU更新过程。
依据实施方案,公用密钥-私用密钥可以基于众所周知的签名算法,如RSA或DSA签名系统。其他的签名算法是已知的。
在实施期间,MBU程序包的颁发者期望保持对私用密钥的控制。对照MBU程序包所包含的签名的成功认证应该表明MBU程序包来自一个授权的源。
缓存器分段表
通常在计算机系统内,存储器空间可被分配成预先确定的单元。例如,许多计算机系统的操作系统通常分配预先确定规模的“页面”,比如说4或8千字节。MBU程序包并不受这些系统页面规模的限制。依据实施方案,MBU程序包可以跨几个页面。这样,当被操作系统240的安装应用程序存储在主存储器中时(图2),MBU程序包的部分可被存储在整个系统存储器的几个不连续的页面中。
在实施方案中,安装应用程序220可与操作系统接合,用以分配页面到MBU程序包的分段上。安装应用程序220也可建立分段缓冲器表,识别可以找到每个分段的存储器位置。举例来说,以下的表1表示可以包含在一个这样的分段缓存器表中的信息:
分段基地址    缓存器号码No. 分段No. 分段规模 下一个分段的地址
  0×80_00000×12_00000×09_20000×64_60000×4C_A000     0×00×00×00×00×1     0×00×10×20×30×0   8180(0×1FF4)8180(0×1FF4)8180(0×1FF4)1583(0×62F)256(0×100)     0×12_00000×09_20000×64_60000×4C_A0000×00_0000
                              表1
如本例中所示,对于每个BIOS程序包,分段缓存器表可以跟踪多个“缓存器”。第一缓存器包含BIOS代码本身,第二缓存器包含与BIOS代码关联的数字签名。图5是一个存储器映射图600,用作说明表1中所列的分段610-650的存储器位置。
依据实施方案,缓存器分段表可以识别每个缓存器的每个分段,对于分段的缓存器和分段号码,表示在主存储器中分段位置的基地址,表示分段的规模的规模标识符和下一个分段的地址。这种信息可在INIT以前提供系统存储器中预先确定的位置。因此,当方法400被调用时,处理器可以确定是否缓存器分段表存在,如果是的,从在表(图3,方框520)中所识别的缓存器分段组装MBU程序包。图6是一个存储器映射图,用作说明被重新组装的BIOS程序包。然后,处理器可以继续MBU更新。
流后处理(Post Flow Processing)
为了支持MBU更新,通常的系统BIOS可以包括附加的功能,允许安装新处理器微代码更新,从MBU块装载已更新的视频BIOS,检查视频旁路热键,检查指明流程选项的CMOS位,和从MBU块提出选项ROM或BIOS程序包。往下描述这些特性。图7是依据本发明实施方案的这种过程800的流程图。
当准备对视频BIOS初始化时,在试图执行常驻的视频BIOS图象以前,BIOS可以为了用于系统的特定的图形设备的现有视频BIOS更新扫描MBU块。在开始扫描MBU块时,系统BIOS可以检查,肯定MBU块是有效的(方框810)。这可通过检查MBU块的头段ID迅速地完成。如果MBU块是非法的,常驻的选项ROM可被执行(方框820),另外BIOS检查预先确定的旁路热键的按压(方框830)。
如果热键被按压,它表示常驻视频BIOS不应该被执行的一个用户命令(方框820)。然而,按压旁路热键,并不使系统BIOS清除识别BIOS程序包存在的CMOS位。如果无热键被按压,系统BIOS检查CMOS位(方框840)。如果该位被使能,系统BIOS开始寻找MBU方框中的视频BIOS更新(方框850)。在这点上,视频BIOS出现在MBU块中(方框860)。
在MBU块中找到视频BIOS以后,系统BIOS可以确定,是否视频BIOS程序包括被压缩(方框870)。如果是的,系统BIOS可以为了与视频BIOS程序包关联的解压代码搜索MBU块(方框880,890)。如果无代码被找到,系统BIOS可运行常驻的视频BIOS,因为视频BIOS程序包不可能得到(方框820)。如果代码被找到,BIOS可将视频BIOS解压并执行它(方框900,910)。
虽然未必可能,固件的MBU区域可能受到损伤或成为无功能。在这样一种情况下,POST应该使系统回复到存储在系统BIOS中的视频BIOS选项ROM的常驻版本。可通过用户输入强制执行常驻视频BIOS。如果系统确定在视频适配器已被初始化以前初期的引导期间用户已经按压预先确定的旁路热键,系统BIOS可以省略MBU区域的扫描并利用常驻的集成化的系统BIOS引导。
依据实施方案,为了单一的重新启动,旁路热键使增强空间的系统BIOS不能工作。它不需要使来自试图从非挥发性存储器装载选项ROM更新的未来的引导不能工作。为了完全防止来自POST期间执行的受损的视频BIOS修补程序,在CMOS建立的例行程序中可以清除CMOS使能位。
当“使用MBU视频BIOS”CMOS选项被设置时,无旁路键被按压,BIOS可以扫描MBU块,寻找视频BIOS更新模块。如果未找到视频BIOS更新模块。BIOS可以执行作为系统BIOS的部件存储的常驻BIOS。否则,BIOS抽出视频BIOS更新模块,执行它并运行其余的系统BIOS(方框920)。
装载选项ROM
增强空间也可以存储选项ROM。依据实施方案,可以通过单独的CMOS选项位使选项ROM不能工作。
在执行任何的选项ROM以前,系统BIOS可以检查MBU块中被更新的选项ROM,并在系统BIOS图象中所存储的任何选项ROM以前执行那些选项ROM。
CMOS选项
图7示出依据本发明实施方案的一种更新视频BIOS的方法。系统BIOS可以提供一种CMOS选项,允许用户有能力使MBU块中被更新的视频BIOS不能使用。在其中,这一位被称为“使用MBU视频BIOS”CMOS位,当MBU块的成功更新被完成时,设置“使用MBU视频BIOS”CMOS位。举例来说,对于Intel处理器,系统BIOS可以从系统管理模式(“SMM”)环境设置这一位。当这个CMOS位被设置时,后继的引导可以使系统BIOS在执行常驻的视频BIOS以前搜索用于被更新的视频BIOS的MBU块。如果MBU块是空的,系统BIOS可以清除并使“使用MBU视频BIOS”CMOS位非使能。
正如以上所指出的那样,MBU程序包可以包括用于装入增强空间的几个BIOS程序包。MBU可以依据预先确定的结构构成,以便使安装器能够识别和处理MBU程序包的组成部件。
图8示出依据本发明的实施方案的一个样本MBU程序包。在MBU程序包1000内,可以存在多个BIOS程序包1010,1020,1030,其中的一些可被压缩并可改变规模。BIOS程序包1010,1020,1030可被相互邻近地放置。存储在MBU程序包1000中的每个BIOS程序包1010,1020,1030可以包括识别目标并规定它的规模的目标头段1011,1021,1031。目标数据可跟随在目标头段项目之后。
在此详细地展示和描述了本发明的几种实施方案。然而,将认识到本发明的修改和变化都被以上的讲授内容所包含并在所附权利要求的范围内,而并不偏离本发明的精神和所指定的范围。

Claims (42)

1.一种更新系统BIOS的方法,包括:
接收具有BIOS程序包和有关的签名的数据目标,
利用存储在计算机上的公用密钥和签名认证BIOS程序包,和
如果认证成功,将BIOS程序包写到计算机系统上的固件中。
2.如权利要求1的方法,其中签名是由公用密钥-私用密钥对产生的,该公用密钥被存储在计算机上。
3.如权利要求1的方法,其中该接收包括从存储设备装载数据目标。
4.如权利要求1的方法,其中该接收包括从通信网接收数据目标。
5.如权利要求1的方法,其中该接收包括从计算机网接收数据目标。
6.如权利要求1的方法,在所述写以前还包括:
通过操作系统,将接收到的数据目标分段存储到系统存储器中。
建立识别系统存储器中每个分段的位置表,和
利用此表从各分段组装BIOS程序包。
7.一种对于处理器更新系统BIOS的方法,包括在重新启动处理器时。
确定是否系统存储器包含BIOS程序包,
认证BIOS程序包,和
在成功认证时,将BIOS程序包存入固件中。
8.如权利要求7的方法,还包括:
确定是否BIOS程序包被成功地存储在固件中。
如果是的,报告识别被成功地存储的BIOS程序包的成功标志。
9.一种计算机系统,包括:
一个处理器,
电气上连到处理器的固件,该固件包括:
存储第一系统BIOS的第一存储空间,该第一存储空间是只读存储器,
存储第二系统BIOS的第二存储空间,和将第二系统BIOS的部件与第一系统BIOS的部件关联的检索表。
10.如权利要求9的计算机系统,其中第一存储空间是存储系统BIOS,和至少一个辅助的BIOS与识别BIOS的检索表。
11.一种发布对于被部署的计算机系统的系统BIOS的更新的方法,包括:
根据BIOS更新的内容,建立依据公用密钥-私用密钥对中的私用密钥的数字签名,
将BIOS更新和数字签名存储在存储媒体上,
对来自计算机的请求作出响应,将BIOS更新和数字签名传送到计算机。
12.如权利要求10的方法,其中传送包括传送来自存储设备的数据目标。
13.如权利要求10的方法,其中传送包括传送来自通信网的数据目标。
14.如权利要求10的方法,其中传送包括传送来自计算机网的数据目标。
15.如权利要求10的方法,其中公用密钥-私用密钥对被存储在计算机中。
16.一种BIOS处理方法,包括:
执行来自常驻的存储器空间的系统BIOS,
依据以下条件执行辅助的BIOS:
确定是否在可变更的存储器空间中存在辅助的BIOS,
如果在可变更的部分中不存在辅助的BIOS,执行来自常驻的存储器空间的辅助的BIOS。
17.如权利要求16的方法,还包括:
如果在可变更的部分中存在辅助BIOS,执行在该可变更部分中的辅助BIOS。
18.如权利要求16的方法,还包括,确定是否预先确定的用户命令已被输入,如果预先确定的用户命令未被输入,执行来自可变更部分的辅助的BIOS。
19.如权利要求16的方法,还包括:
将来自可变更的部分的辅助的BIOS解压,并
执行被解压的辅助的BIOS。
20.一种辅助的BIOS的处理方法,包括:
确定是否在固件的增强空间中存在辅助的BIOS程序包,
如果辅助的BIOS程序包是存在的,确定是否预先确定的用户命令已被输入,
如果预先确定的用户命令未被输入,执行来自增强空间的辅助的BIOS程序包,
否则,执行来自固件的常驻空间的辅助的BIOS。
21.如权利要求20的方法,还包括:
将来自可变更部分的辅助的BIOS解压,并
执行被解压的辅助的BIOS。
22.一种辅助的BIOS的处理方法,包括:
确定是否在固件的增强空间中存在辅助的BIOS程序包,
如果辅助的BIOS程序包是存在的,确定是否预先确定的标志已被设置在固件中,
如果预先确定的用户命令已被设置,执行来自增强空间的辅助的BIOS程序包,
否则,执行来自固件的常驻空间的辅助的BIOS。
23.如权利要求22的方法,还包括:
将来自可变更的部分的辅助的BIOS解压,并
执行被解压的辅助的BIOS。
24.一种辅助BIOS的处理方法,包括:
确定是否在固件的增强空间中存在辅助的BIOS程序包,
如果在增强空间中存在辅助的BIOS程序包,将辅助的BIOS程序包解压,并
执行辅助的BIOS程序包
25.如权利要求24的辅助BIOS处理方法,还包括搜索用于与辅助BIOS程序包有关的解压器的存储器,如果解压器未被找到。执行来自固件的常驻空间的第二辅助BIOS程序包。
26.一种视频BIOS处理方法,包括:
确定是否在存储器系统的可变更的固件部分中存在视频BIOS,
如果在可变更的部分中不存在视频BIOS,执行在存储器系统的不可变更固件部分中的视频BIOS。
27.如权利要求26的方法,其中确定和执行步骤在系统BIOS执行期间完成。
28.如权利要求26的方法,还包括,如果在可变更的部分中存在视频BIOS,执行可变更部分中的视频BIOS。
29.如权利要求26的方法,还包括,确定是否预先确定的用户命令已被输入,如果没有预先确定的用户命令已被输入,执行来自可变更部分的视频BIOS。
30.如权利要求26的方法,还包括:
将来自可变更部分的视频BIOS解压和
执行被解压的视频BIOS。
31.一种视频BIOS处理方法,包括:
确定是否视频BIOS程序包是存在于固件的增强空间中,
如果视频BIOS程序包是存在的,确定预先确定的用户命令是否已被输入,
如果预先确定的用户命令已被输入,执行来自增强空间的视频BIOS程序包,
否则,执行来自固件的常驻空间的视频BIOS。
32.如权利要求31的方法,还包括:
将来自可变更的部分的视频BIOS解压和
执行被解压的视频BIOS。
33.一种视频BIOS处理方法,包括:
确定是否视频BIOS程序包是存在于固件的增强空间中,
如果视频BIOS程序包是存在的,确定是否预先确定的标志已被设置在固件中,
如果预先确定的用户命令已被设置,执行来自增强空间的视频BIOS程序包。
否则,执行来自固件的常驻空间的视频BIOS。
34.如权利要求34的方法,还包括:
将来自可变更部分的视频BIOS解压和
执行被解压的视频BIOS。
35.一种视频BIOS处理方法,包括:
确定是否视频BIOS程序包是存在于固件的增强空间中,
如果视频BIOS程序包是存在于增强空间中,将视频BIOS程序包解压,和
执行视频BIOS程序包。
36.如权利要求35的视频BIOS处理方法,还包括搜索用于视频BIOS程序包的解压器的存储器,如果解压器未被找到,执行来自固件的常驻空间的第二视频BIOS程序包。
37.一种其上已存储程序指令的计算机可读的媒体,当被处理器执行时,使处理器:
接收具有BIOS程序包和有关的签名的数据目标,
利用存储在计算机上的公用密钥和签名来认证BIOS程序包,和
如果认证成功,将BIOS程序包写到计算机系统上的固件中。
38.如权利要求37的媒体,其中该签名由公用-私用密钥对产生,公用密钥可被计算机从存储器读出。
39.如权利要求37的媒体,其中该接收包括从存储设备装载数据目标。
40.如权利要求37的媒体,其中该接收包括从通信网接收数据目标。
41.如权利要求37的媒体,其中该接收包括从计算机网接收数据目标。
42.如权利要求37的媒体,在所述写以前还包括:
通过操作系统,将接收到的数据目标分段存入系统存储器中,
建立识别在系统存储器中每个分段位置的表,和
利用此表从各分段组装该BIOS程序包。
CNB018079377A 2000-02-14 2001-02-07 模块化的bios更新机制 Expired - Fee Related CN1222873C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/503,939 2000-02-14
US09/503,939 US7213152B1 (en) 2000-02-14 2000-02-14 Modular bios update mechanism

Publications (2)

Publication Number Publication Date
CN1422404A true CN1422404A (zh) 2003-06-04
CN1222873C CN1222873C (zh) 2005-10-12

Family

ID=24004161

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018079377A Expired - Fee Related CN1222873C (zh) 2000-02-14 2001-02-07 模块化的bios更新机制

Country Status (7)

Country Link
US (2) US7213152B1 (zh)
EP (2) EP1617328A3 (zh)
KR (1) KR100675518B1 (zh)
CN (1) CN1222873C (zh)
AU (1) AU2001234936A1 (zh)
HK (1) HK1056413A1 (zh)
WO (1) WO2001061485A2 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323354C (zh) * 2003-12-12 2007-06-27 国际商业机器公司 用通电自检基本输入输出系统检测对存储器中代码的修改
CN1331048C (zh) * 2004-07-08 2007-08-08 英业达股份有限公司 更新部分基本输入输出系统的方法
CN100367197C (zh) * 2004-05-24 2008-02-06 联发科技股份有限公司 指令撷取方法及其系统
CN100386726C (zh) * 2005-07-05 2008-05-07 英业达股份有限公司 远程操控更新计算机平台系统程序的方法及系统
CN100405321C (zh) * 2005-01-20 2008-07-23 英业达股份有限公司 防止软件写入错误的方法
CN101339513B (zh) * 2007-07-06 2010-06-09 华硕电脑股份有限公司 基本输入/输出系统数据更新方法
CN102033764A (zh) * 2010-11-30 2011-04-27 公安部第三研究所 一种tf卡cos固件更新方法
CN102667802A (zh) * 2009-12-31 2012-09-12 英特尔公司 硬件的配备、升级和/或更改
CN103513999A (zh) * 2012-06-25 2014-01-15 联想(北京)有限公司 一种更新系统固件的方法及电子设备
CN103559052A (zh) * 2006-07-26 2014-02-05 戴尔产品有限公司 固件更新的设备与方法
CN104679622A (zh) * 2013-11-29 2015-06-03 英业达科技有限公司 基本输入输出系统维护方法
CN105793816A (zh) * 2013-12-27 2016-07-20 英特尔公司 硅初始化的受控定制
CN106126264A (zh) * 2016-07-05 2016-11-16 河北建筑工程学院 基于amd平台am2接口的cpu移植方法和系统
CN108256355A (zh) * 2018-02-28 2018-07-06 郑州云海信息技术有限公司 一种带外刷新bios时验证bios完整性的方法及装置

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754895B1 (en) * 2001-04-26 2004-06-22 Palm Source, Inc. Method and system for automatic firmware updates in a portable hand-held device
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7080245B2 (en) 2002-05-23 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system of switching between two or more images of firmware on a host device
US7185086B2 (en) 2002-06-26 2007-02-27 Hewlett-Packard Development Company, L.P. Method for electronic tracking of an electronic device
US20040010643A1 (en) * 2002-07-09 2004-01-15 Thomas William John Method for providing multiple configurations in a computer system with multiple components
US7249353B2 (en) 2003-04-17 2007-07-24 Hewlett-Packard Development Company, L.P. Image-formation device firmware having modular upgrade capability
CN1584822B (zh) * 2003-08-19 2010-04-21 联想(北京)有限公司 一种升级计算机固件程序的方法
US7827339B2 (en) * 2005-01-25 2010-11-02 American Megatrends, Inc. System management interrupt interface wrapper
JP2006221354A (ja) * 2005-02-09 2006-08-24 Internatl Business Mach Corp <Ibm> 情報更新方法、プログラム、情報処理装置
US7908469B2 (en) * 2005-03-30 2011-03-15 Inventec Corporation Method for executing power on self test on a computer system and updating SMBIOS information partially
KR100678918B1 (ko) 2005-10-27 2007-02-06 삼성전자주식회사 자동 업데이트 장치 및 방법
US20070169076A1 (en) * 2005-10-28 2007-07-19 Desselle Bernard D Methods and systems for updating a BIOS image
US8065563B2 (en) * 2006-03-23 2011-11-22 Mediatek Inc. System for booting from a non-XIP memory utilizing a boot engine that does not have ECC capabilities during booting
US8019994B2 (en) * 2006-04-13 2011-09-13 Hewlett-Packard Development Company, L.P. Authentication of a request to alter at least one of a BIOS and a setting associated with the BIOS
US7660977B2 (en) 2006-06-08 2010-02-09 Intel Corporation System and method to control microcode updates after booting an operating system in a computing platform
US8010959B2 (en) * 2006-11-29 2011-08-30 Sony Ericsson Mobile Communications Ab System and method for updating device drivers
US20080307157A1 (en) * 2007-06-06 2008-12-11 Yi-Feng Jang Method and system for updating firmware of microcontroller
US8195927B2 (en) * 2007-10-31 2012-06-05 International Business Machines Corporation Expedient preparation of memory for video execution
US7949850B2 (en) 2007-12-28 2011-05-24 Intel Corporation Methods and appratus for demand-based memory mirroring
TW201009707A (en) * 2008-08-25 2010-03-01 Asustek Comp Inc Method for loading and updating central processing unit (CPU) microcode into basic input/output system (BIOS)
US20100106953A1 (en) * 2008-10-23 2010-04-29 Horizon Semiconductors Ltd. Method for patching rom boot code
US8407485B2 (en) * 2008-11-26 2013-03-26 Panasonic Corporation Information updating device and integrated circuit thereof, information updating method, and recording device and integrated circuit thereof
US20100131694A1 (en) * 2008-11-26 2010-05-27 Kelly Scott G Secure Boot ROM Emulation
KR101605875B1 (ko) * 2009-04-03 2016-03-24 삼성전자주식회사 메모리 장치 및 메모리 장치의 펌웨어 업데이트 방법
CN101576826B (zh) * 2009-06-12 2012-05-30 成都市华为赛门铁克科技有限公司 接口卡加载方法和系统、接口卡及控制板
US8090977B2 (en) 2009-12-21 2012-01-03 Intel Corporation Performing redundant memory hopping
CN102034041A (zh) * 2010-12-07 2011-04-27 华为终端有限公司 一种验证绑定数据卡和移动主机的方法、装置及系统
WO2013058766A1 (en) 2011-10-21 2013-04-25 Hewlett-Packard Development Company, L.P. Providing a function of a basic input/output system (bios) in a privileged domain
DE112011105752T5 (de) * 2011-10-21 2014-10-02 Hewlett-Packard Development Company, L.P. Webbasierte Schnittstelle zum Zugriff auf eine Funktion eines Basic Input/Output-Systems
US8874922B2 (en) * 2012-01-17 2014-10-28 Dell Products L.P. Systems and methods for multi-layered authentication/verification of trusted platform updates
US8898797B2 (en) * 2012-04-12 2014-11-25 Dell Products L.P. Secure option ROM firmware updates
US8904162B2 (en) * 2012-08-01 2014-12-02 Intel Corporation Methods and apparatus for performing secure BIOS upgrade
TWI475487B (zh) * 2012-10-03 2015-03-01 Wistron Corp 開機方法與電子裝置
US9261932B2 (en) * 2013-03-15 2016-02-16 Microchip Technology Incorporated Minimizing switchover time in a hot swappable program memory
EP2854066B1 (en) * 2013-08-21 2018-02-28 Nxp B.V. System and method for firmware integrity verification using multiple keys and OTP memory
US9367399B2 (en) * 2014-01-24 2016-06-14 Nvidia Corporation Graphics processing subsystem and method for recovering a video basic input/output system
US9672362B2 (en) * 2014-07-11 2017-06-06 Dell Products L.P. Systems and methods for secure delivery of public keys for operating system drivers
US9507581B2 (en) * 2015-01-14 2016-11-29 Dell Products Lp Systems and methods of device firmware delivery for pre-boot updates
US9930050B2 (en) 2015-04-01 2018-03-27 Hand Held Products, Inc. Device management proxy for secure devices
US10089105B2 (en) * 2015-11-23 2018-10-02 Dell Products L.P. Systems and methods for bios update optimization
CN105468964B (zh) * 2015-12-04 2018-09-14 上海兆芯集成电路有限公司 计算机系统以及计算机系统操作方法
US11409876B2 (en) 2017-04-24 2022-08-09 Hewlett-Packard Development Company, L.P. Displaying a BIOS update progress
US11099831B2 (en) * 2018-02-08 2021-08-24 Micron Technology, Inc. Firmware update in a storage backed memory system
US10635428B2 (en) * 2018-03-30 2020-04-28 Arista Networks, Inc. System and method for in-service update of software
US10846179B2 (en) 2018-11-05 2020-11-24 Arista Networks, Inc. Hitless repair for network device components
US11243757B2 (en) * 2018-12-03 2022-02-08 Dell Products L.P. Systems and methods for efficient firmware update of memory devices in BIOS/UEFI environment
US11301231B2 (en) 2019-04-05 2022-04-12 Arista Networks, Inc. Dynamic run time programming of hardware tables
US10936300B1 (en) * 2019-06-06 2021-03-02 Amazon Technologies, Inc. Live system updates
US11281472B2 (en) * 2020-02-03 2022-03-22 Dell Products L.P. System and method for securing compromised information handling systems
CN111949332A (zh) * 2020-08-27 2020-11-17 英业达科技有限公司 基本输入输出系统选项修改方法、系统及装置
CN112114851B (zh) * 2020-09-17 2024-06-18 深圳市亿道数码技术有限公司 一种通过热键进入Recovery更新BIOS的方法
TWI758026B (zh) * 2020-12-23 2022-03-11 神雲科技股份有限公司 基本輸入輸出系統功能的設定方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868877A (en) 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5230052A (en) * 1990-10-01 1993-07-20 International Business Machines Corp. Apparatus and method for loading bios into a computer system from a remote storage location
IT1254937B (it) * 1991-05-06 1995-10-11 Aggiornamento dinamico di memoria non volatile in un sistema informatico
US5244378A (en) * 1991-12-13 1993-09-14 International Business Machines Corporation Apparatus for dynamic gating of polymers for producing molded articles with isotropic properties
US5369707A (en) * 1993-01-27 1994-11-29 Tecsec Incorporated Secure network method and apparatus
US6091430A (en) * 1993-03-31 2000-07-18 International Business Machines Corporation Simultaneous high resolution display within multiple virtual DOS applications in a data processing system
US5481713A (en) 1993-05-06 1996-01-02 Apple Computer, Inc. Method and apparatus for patching code residing on a read only memory device
GB2290890B (en) 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
US5564020A (en) * 1994-06-30 1996-10-08 Compaq Computer Corporation Apparatus for reducing interference between a computer device and a radio transceiver utilizing separated units with an infrared link
US5671413A (en) * 1994-10-31 1997-09-23 Intel Corporation Method and apparatus for providing basic input/output services in a computer
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
US5802592A (en) * 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US5805882A (en) * 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US5794054A (en) * 1996-07-19 1998-08-11 Compaq Computer Corporation Flash ROM sharing between a processor and a controller
JPH1042542A (ja) * 1996-07-26 1998-02-13 Nippon Seiki Co Ltd ステッピングモータ
US5793943A (en) * 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5938764A (en) * 1996-10-23 1999-08-17 Micron Electronics, Inc. Apparatus for improved storage of computer system configuration information
US5930830A (en) 1997-01-13 1999-07-27 International Business Machines Corporation System and method for concatenating discontiguous memory pages
FR2758281B1 (fr) * 1997-01-14 1999-04-02 Robolix Sa Machine a cintrer des tubes de faible diametre, notamment inferieurs a 10mm, predecoupes et presentant des systemes de raccord a chacune de leurs extremites, et tete de cintrage pour une telle machine
US5905888A (en) * 1997-02-19 1999-05-18 On Spec Electronic, Inc. Bootable redundant hard disk attached to a PC's parallel port with rom-address auto-detect and configure during BIOS scan
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6108420A (en) 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6823435B1 (en) * 1997-11-20 2004-11-23 Advanced Micro Devices, Inc. Non-volatile memory system having a programmably selectable boot code section size
US6009520A (en) * 1997-12-10 1999-12-28 Phoenix Technologies, Ltd Method and apparatus standardizing use of non-volatile memory within a BIOS-ROM
US6307527B1 (en) * 1998-07-27 2001-10-23 John S. Youngquist LED display assembly

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323354C (zh) * 2003-12-12 2007-06-27 国际商业机器公司 用通电自检基本输入输出系统检测对存储器中代码的修改
CN100367197C (zh) * 2004-05-24 2008-02-06 联发科技股份有限公司 指令撷取方法及其系统
CN1331048C (zh) * 2004-07-08 2007-08-08 英业达股份有限公司 更新部分基本输入输出系统的方法
CN100405321C (zh) * 2005-01-20 2008-07-23 英业达股份有限公司 防止软件写入错误的方法
CN100386726C (zh) * 2005-07-05 2008-05-07 英业达股份有限公司 远程操控更新计算机平台系统程序的方法及系统
CN103559052A (zh) * 2006-07-26 2014-02-05 戴尔产品有限公司 固件更新的设备与方法
CN101339513B (zh) * 2007-07-06 2010-06-09 华硕电脑股份有限公司 基本输入/输出系统数据更新方法
US8966657B2 (en) 2009-12-31 2015-02-24 Intel Corporation Provisioning, upgrading, and/or changing of hardware
CN102667802A (zh) * 2009-12-31 2012-09-12 英特尔公司 硬件的配备、升级和/或更改
CN102033764A (zh) * 2010-11-30 2011-04-27 公安部第三研究所 一种tf卡cos固件更新方法
CN102033764B (zh) * 2010-11-30 2014-08-20 公安部第三研究所 一种tf卡cos固件更新方法
CN103513999A (zh) * 2012-06-25 2014-01-15 联想(北京)有限公司 一种更新系统固件的方法及电子设备
CN104679622A (zh) * 2013-11-29 2015-06-03 英业达科技有限公司 基本输入输出系统维护方法
CN105793816A (zh) * 2013-12-27 2016-07-20 英特尔公司 硅初始化的受控定制
CN106126264A (zh) * 2016-07-05 2016-11-16 河北建筑工程学院 基于amd平台am2接口的cpu移植方法和系统
CN106126264B (zh) * 2016-07-05 2020-04-21 河北建筑工程学院 基于amd平台am2接口的cpu移植方法和系统
CN108256355A (zh) * 2018-02-28 2018-07-06 郑州云海信息技术有限公司 一种带外刷新bios时验证bios完整性的方法及装置

Also Published As

Publication number Publication date
US20070204144A1 (en) 2007-08-30
EP1617328A2 (en) 2006-01-18
US7765409B2 (en) 2010-07-27
US7213152B1 (en) 2007-05-01
WO2001061485A3 (en) 2002-03-07
EP1617328A3 (en) 2006-05-03
HK1056413A1 (en) 2004-02-13
CN1222873C (zh) 2005-10-12
WO2001061485A2 (en) 2001-08-23
EP1256057A2 (en) 2002-11-13
KR100675518B1 (ko) 2007-01-29
KR20030015198A (ko) 2003-02-20
AU2001234936A1 (en) 2001-08-27

Similar Documents

Publication Publication Date Title
CN1222873C (zh) 模块化的bios更新机制
CN1273891C (zh) 最小单位地更新多个文件的方法
US20170255459A1 (en) Embedded device and program updating method
CN1211734C (zh) 计算机上自动安装和配置软件的方法和设备
US6314567B1 (en) Apparatus and method for transferring state data when performing on-line replacement of a running program code and data
CN1157654C (zh) 在应用程序模块不工作时自动卸载的方法和装置
US7844810B2 (en) Computer system and booting method therefor and server used for streaming on-demand a remaining part of a boot-up main memory image that includes an operating system
US6269442B1 (en) Apparatus and method for on-line replacement of a running program code and data using checkpoints
WO2013078951A1 (zh) 软件升级方法和系统
CN1282016A (zh) 在引导和关机期间显示图象
US20060258344A1 (en) Mobile handset update package generator that employs nodes technique
CN1834915A (zh) 在计算机服务器系统中更新固件的方法
EP3076292B1 (en) System and method of controlling access of a native image of a machine code to operating system resources
CN1352769A (zh) 在分离的存储区域中存储数据组的不同版本的装置和更新存储器中数据组的方法
US20090210871A1 (en) System and method for software application migration
CN1695118A (zh) 支持安全更新和多处理器类型的固件体系结构
CN103493028A (zh) 虚拟盘存储技术
CN1977243A (zh) 模拟实模式内存访问时访问扩展内存的系统和方法
CN1825283A (zh) 嵌入式操作系统硬件镜像启动优化的实现方法
US8327111B2 (en) Method, system and computer program product for batched virtual memory remapping for efficient garbage collection of large object areas
US20200026658A1 (en) Method, apparatus and computer program product for managing address in storage system
CN1728097A (zh) 切换在系统复位异常时锁定页表项的锁定位组合的方法
EP3121750A1 (en) System and method for antivirus checking of native images of software assemblies
US20060129520A1 (en) System and method for automatically updating a program in a computer
CN1269044C (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

Granted publication date: 20051012

Termination date: 20170207

CF01 Termination of patent right due to non-payment of annual fee