CN106445576B - 主机板及其计算机实现方法及非暂态计算机可读储存装置 - Google Patents

主机板及其计算机实现方法及非暂态计算机可读储存装置 Download PDF

Info

Publication number
CN106445576B
CN106445576B CN201510688350.6A CN201510688350A CN106445576B CN 106445576 B CN106445576 B CN 106445576B CN 201510688350 A CN201510688350 A CN 201510688350A CN 106445576 B CN106445576 B CN 106445576B
Authority
CN
China
Prior art keywords
storage device
firmware
preset configuration
additional
computer
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.)
Active
Application number
CN201510688350.6A
Other languages
English (en)
Other versions
CN106445576A (zh
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 CN106445576A publication Critical patent/CN106445576A/zh
Application granted granted Critical
Publication of CN106445576B publication Critical patent/CN106445576B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

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

Abstract

本发明涉及一种用于提升计算机主机板上的固件如基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)的预设配置的管理与安装的系统、方法及其计算机可读取装置。此处所揭示的系统包括连接至系统南桥的一附加的储存装置,其可储存附加的预设固件配置设定的群组。附加的储存装置可直接由固件以及基板管理控制器(BMC)来进行存取,使得远端实体可以经由频外网络连线来更新固件,而无需使用一本机操作系统,也无需启动一本机固件更新工具。于一实施例中,附加的储存装置仍可经由一本机操作系统分别存取。由此方式,可使配置过程更有弹性且方便于管理多个计算机装置,例如用于在数据中心管理伺服器机架。

Description

主机板及其计算机实现方法及非暂态计算机可读储存装置
技术领域
本发明涉及固件的存取与管理,特别是涉及动态地加入与储存器组的预设固件设定值。
背景技术
计算机主机板一般包括固件以及一个相应的固件接口,诸如基本输入/输出系统(basic input/output system,以下简称BIOS)或统一可扩展固件接口(unifiedextensible firmware interface,以下简称UEFI)。使用者可以在购买后将固件设置为预设值之外的设定值。固件也可以自定义各种配置或用途。举例来说,一个机架伺服器可出售给不同的客户且不同的客户可能有他们喜爱的配置设定。供应商可以事先预载并在固件中储存不同配置给不同的客户。然而,供应商只能在每个固件上预先配置一个预设值(default setting)给一个客户。
如果此预设值并不是客户想要的,客户必须通过多台机器上执行多个步骤来重新配置固件。举例来说,客户必须寻找或创造一配置更新档案并搭配固件操作或更新工具使用。接着,再执行该主机板和/或固件安装配置更新档案所需的特定程序例如一固件更新以更新BIOS。如此一来,将会有成本与时间部署上的困难,以及一种存在该程序无法正确完成而使得固件不能使用的风险。当客户希望在多个装置上更新或配置新的预设固件设定时,将会使这些风险更加剧。
发明内容
依据本发明的各种实施例提供一种主机板,包括:一连接总线,其连接一固件、一储存装置以及一基板管理控制器,其中固件具有一第一预设配置,其中基板管理控制器还包括一网络接口,其中储存装置可经由固件以及基板管理控制器中的至少一个来进行存取,以修改储存在储存装置中的一附加的预设配置,且其中储存装置设置在固件的外部。
附图说明
为使本发明的上述和其他目的、特征和优点能更明显易懂,下文特举出一个或多个优选实施例,并配合附图,作详细说明如下,其中:
图1显示依据本发明一实施例的用于储存多个BIOS预设值的示范储存装置的示意方块图。
图2显示依据本发明实施例的一BIOS设定接口示意图,其具有储存装置中附加的预设值的选项。
图3显示依据本发明一实施例的用以将目前设定储存至一储存装置的示范方法的流程图。
图4显示依据本发明一实施例的用以从一储存装置中还原BIOS预设值的示范方法的流程图。
图5显示依据本发明一实施例的用以借助检查一储存装置中的数据来载入储存装置中的预设值的BIOS自我开机测试方法的流程图。
图6显示依据本发明一实施例的示范系统的示意图。
附图符号说明
100~装置;
102~主机板;
104~网络;
106~南桥;
108~集合;
110~基本输入/输出系统;
112~储存装置;
114~集合;
115~预设值;
116~基板管理控制器;
118~目前设定值;
120~第2个预设值;
122~第3个预设值;
200~屏幕截图;
202~用户界面;
204~选项;
300~方法流程图;
300、302、304、306、308、310~执行步骤;
400~方法流程图;
402、404、406、408、410、412~执行步骤;
500~方法流程图;
502、504、506、508、510、512~执行步骤;
600~系统;
610~系统总线;
620~处理器;
622~快取存储器;
630~存储器;
640~ROM;
650~RAM;
660~储存装置;
662~模块1;
664~模块2;
666~模块3;
670~输出装置;
680~通讯接口;
690~输入装置。
具体实施方式
本发明实施例提供一种用以提升固件的预设配置或设定的管理与安装的相关系统、方法与计算机可读取储存装置。本说明书中,术语固件和BIOS可互换使用,指的是一硬件装置及常驻在该硬件装置上的计算机指令的组合,例如在计算机的主机板上的BIOS或UEFI。此处所揭示的系统包括连接到系统南桥的一个附加的储存装置,其可储存附加的预设固件配置设定的群组。此附加的储存装置可直接由固件和基板管理控制器(BMC)来存取,以使远端实体可以经由频外的网络连线来更新固件,而无需使用一个本机操作系统,也不会启动到一个本机固件更新工具。于一实施例中,附加的储存装置仍可经由一本机操作系统分开存取。由此,可使配置过程更加具有灵活弹性且方便用于管理多个计算机装置,诸如可用于管理在数据中心的伺服器机架。
图1显示一示范的装置100,具有一主机板102,主机板102具有一附加的储存装置112,其用以储存包括一BIOS 110的主要预设值115与多个附加的预设值120、122的集合114。附加的储存装置112可为一可移除式储存装置,例如记忆储存卡或USB快闪驱动盘,或者也可为固定的储存装置,例如集成在主机板102上的一存储器芯片。虽然此处只有描述单个附加的储存装置112,南桥106可支持多个附加的储存装置。另外,一连接总线可连接至各种元件106、110、112以及116。连接总线的例子可包括使用内部集成电路(Inter-Integrated Circuit,简称I2C)协议的I2C总线及其他类似此类功能的总线,如多主、多从,单端、串行计算机总线等。其他已存在的连接总线或将来开发中的其他类型的连接总线也可适用于本发明的连接总线。主机板102包括连接至BIOS 110的南桥106、附加的储存装置112以及BMC 116。BMC 116包括一个到网络104的接口,如经由以太网络端或无线网络调节器。BIOS 110包括一组设定值的集合108,这些设定值包括BIOS 110的预设值115,以及目前设定118。
在一实施例中,BIOS 110于生产制造时只有一个预设值115。使用者或制造商可以修改预设值115或者加入其他的预设值。如前所述,一种方式是使用在装置100上的一操作系统中运行的BIOS更新或管理工具,另一种方式是启动进入至一BIOS更新或管理工具,如用软盘,开机光盘(CD),或可开机快闪驱动盘。然而,以此方式进行更新时,若以不正确的参数更新整个BIOS 110可能会造成装置100的损坏。
使用本发明此处所述的原理,将可不需要有操作系统环境和/或本机BIOS更新或管理工具。经由附加的储存装置112,可提供一个或多个附加的预设值给BIOS 110。除了原有的预设值115之外,使用者可以在正常执行时建立其他的预设值120、122,而无需用到ROM工具的操作,也不用更新BIOS 110本身。在一实施例中,附加储存装置112中的预设值120与122可以取得高于在BIOS 110中的预设值115的优先权。另一方面,远端使用者可以无需使用本机操作系统、本机的BIOS刷新工具、或进入本机BIOS用户界面,经由网络104与BMC 116存取一接口,以储存、载入、删除、设定优先权、复制、修改(modify)、和/或以其他方式管理所需的附加的储存装置112中的预设值120与122。
BMC 116可以从网络104接收指令,并直接更新储存装置112,而不涉及BIOS 110。在这种情况下,BIOS 110可包括逻辑或功能,以在特定时间例如:在开机自我测试(POST)期间时检测储存装置112中的变化,并决定如何或是否处理在这个时间的变化。在一实施例中,BIOS 110自动处理在储存装置112中的任何变化,这可能代表新的预设值。另外,BIOS110可提示使用者来手动选择要使用的预设值,或提供其他有效预设的一些指示以供使用者选择,并允许使用者在继续现有的BIOS配置之前的一段有限时间内选择不同的预设值。
然而,附加的预设值120、122仍可以分别经由本机BIOS用户界面进行管理。图2显示依据本发明实施例的一BIOS用户界面202的屏幕截图200,其具有附加的选项204,用以管理储存装置中的附加的预设值。用户界面202显示将BIOS的目前配置储存为各种附加的预设值的方式。用户界面202可以表示各种附加的预设值被储存在附加的储存装置112上或储存在BIOS110本身。本实施例的屏幕截图200不表示预设值储存在哪里。
举例来说,使用者可能希望改变CPU的一些设定,如启用或禁用CPU是否识别执行禁用位或是否启用此CPU的虚拟指令。使用者可以开机进入BIOS,修改所需的设定,然后选择“另存为使用者第n个预设值”(“Save asUser nth Defaults”)。BIOS的用户界面可以显示一个确认视窗或提示。如果使用者选择“是”,则当前设置将被保存到附加的储存装置中作为第n个预设值。如果使用者选择“否”,则系统不会对附加的储存装置做任何处理,并返回到上一画面。图3摘要总结出此一过程300。使用者首先对BIOS 302进行所希望的变化。使用者导航至“另存为使用者第n个预设值”的选项304。BIOS用户界面显示一确认提示306。如果经过使用者确认,则系统保存当前的设定至附加的储存装置308,并返回到BIOS的用户界面310。如果使用者未确认时,系统不保存当前的设定,并返回到BIOS的用户界面310。
要从附加的储存装置中还原BIOS预设值时,使用者可以选择“还原使用者第n个预设值”。BIOS的用户界面可以显示一个确认视窗或提示。如果使用者选择“是”,则系统将以附加的储存装置中所表示的第n个预设值覆写(overwrite)目前设定。图4摘要总结出此一过程400。使用者选择“还原使用者第n个预设值”的选项402,并且BIOS的用户界面显示确认提示404。如果经过使用者确认,则系统撷取所表示的预设值,并且根据这些预设值406设置BIOS。接着,使用者可以储存变化408并且系统可以使用新的设置重新启动410。另一方面,如果使用者未确认时,系统返回到BIOS用户界面412。
BIOS以及附加的储存装置中的BIOS预设值可以通过BMC,经由一个频外网络连线来进行存取、修改、以及管理。在这种方式下,BIOS不会为使用者提供一个可视界面来载入附加的储存装置中的预设值。图5显示依据本发明一实施例的用以载入储存装置中的预设值的BIOS自我开机测试(power-on self-test,简称POST)方法的流程图。如果系统判定在附加的储存装置中的BIOS的预设值已由BMC从OOB网络连线修改时,BIOS可在POST期间从附加的储存装置中读取的数据,以检查是否附加的储存装置已被修改502。如果在附加的储存装置中的数据已被更新时,BIOS可以选择性地检查在附加的储存装置的预设值的优先权504。如果这些优先权表示在附加储存装置中的预设值的优先权比当前预设值的优先权更高时,则BIOS可从附加的储存装置中载入新的预设值以覆写目前预设值506,并且更新在储存装置中的数据以标记此数据已在POST中被载入508。在下次进行POST时,系统将不会再次重新载入附加的储存装置的预设值,除非它被例如经由OOB网络请求修改。接着,BIOS可以注册一召回(callback)来重置系统510并继续以新的预设值执行POST 512。另一方面,假设在附加储存装置中的预设值的优先权表示在附加储存装置中的预设值的优先权低于当前预设值的优先权时,BIOS就会继续进行POST 512。
在可移除式储存装置的情况下,系统可以简单地判断可移除式储存装置的状态是否已改变,例如,表示可移除式储存装置已被移除或插入。
可理解的是,此处关于图3-5的描述步骤仅用以作为例子说明,并且可以在任何组合中实现,包括排除、加入或修改某些步骤的各种组合。此处具体描述本发明的各种实施例细节。虽然具体的实施例被描述,然而应可理解,这仅用于说明的目的。任何本领域技术人员在不脱离本发明的精神和范围下,可使用其它元件与配置来加以实现。
储存在附加的储存装置的预设配置(default configurations)可以包括一个配置档案,用以更新一固件ROM、PROM或EPROM或整个的BIOS的映像档案,和/或表示固件的一个或多个个别设定的其他数据。在这种方式中,系统可以覆写固件的全部内容,或者可以只覆写固件的一部分。
图6显示依据本发明一实施例的一般用途系统或运算装置的简介描述,其可用以实现本揭露书中所描述的各种概念、方法以及技术。本发明实施例的变形于各个实施例中描述。相关技术请参考图6。
参见图6,一示例性系统和/或运算装置600包括处理单元(CPU或处理器)620以及系统总线610(使用一个协议,例如I2C协议),此系统总线610耦接各种系统元件到处理器620,各种系统元件包括系统存储器630,例如只读存储器(ROM)640和随机存取存储器(RAM)650。系统600可包括高速存储器的快取存储器622,此高速存储器直接连接、靠近、或整合为处理器620的一部分。系统600可将数据从存储器630和/或储存装置660复制到快取存储器622,用于处理器620的快速存取。以此方式快取存储器可于等待数据时提供效能增进,避免处理器620延迟。上述以及其他模块会控制或用于控制处理器620以此执行各种操作或动作。同时也可使用其他系统存储器630。存储器630可包括多个具有不同效能特性的不同类型存储器。可理解的是,本发明可以运作在具有一个以上的处理器620的计算机装置600上或运作在以网络连接在一起的运算装置的群集或群组,用以提供更多处理能力。处理器620可包括任意一般用途处理器以及硬件模块或软件模块,例如储存于储存装置660的模块1662、模块2 664、以及模块3 666,用于控制处理器620以及特殊功用处理器,其中软件指令结合入实际处理器设计。处理器620可实质上为完全自给自足的运算系统,包括多核心或处理器、总线,存储器控制器、快取存储器等等。多核处理器可为对称或非对称。处理器620可以包括多个处理器,例如一个具有多个在不同的插槽上实体上分开的处理器的系统,或具有单个实体芯片上多个处理器核心的系统。类似地,处理器620可以包括位于多个分散式处理器,这些分散式处理器位于多个个别的运算装置,但可通过如一通讯网络一起工作。多个处理器或处理器核心可以共享资源,例如存储器630或快取存储器622,或者可使用独立的资源进行操作。处理器620可以包括一个或多个状态机、特定应用集成电路(ApplicationSpecific Integrated Circuit,ASIC)或者可编程门阵列(Programmable Gate Array,PGA)包含现场可编程门阵列(FPGA)等等。
系统总线610(或连接总线)可为任何若干类型的总线结构,包括使用任何各种总线结构的存储器总线或存储器控制器、周边总线、以及局部总线。储存在ROM 640的基本输入/输出(BIOS)或其类似,可提供基本常式,以帮助在计算机装置600内的元件之间传送消息,例如在开机或启动时。运算装置600还包括储存装置660或计算机可读取储存媒体,例如硬盘机、磁盘机、光盘机、磁带机、固态驱动器、RAM驱动器、可移除式储存装置、磁盘阵列(RAID)、混合式储存装置等等。储存装置660可包括软件模块662、664、666,用于控制处理器620。系统600也包含其他硬件或软件模块。储存装置660会通过一驱动接口连接至系统总线610。驱动器及其相关的计算机可读取储存装置为运算装置600提供了计算机可读取指令、数据结构、程序模块以及其它数据的非易失性储存。于某个方面,执行特定功能的硬件模块可包括储存于有形的计算机可读取储存装置的软件元件,该储存于有形的计算机可读取储存装置的软件元件和所需硬件元件有关,该所需硬件元件可例如为用于执行功能的处理器620、总线610、输出装置670等等。在另一方面,系统可以使用一个处理器和计算机可读取储存装置来储存指令,当这些指令由处理器执行时,使处理器执行操作、方法或其他特定的动作。基本元件和适当的变化可以根据装置的类型,例如装置600是否是小型、手持计算机装置,桌上型计算机,或计算机伺服器等进行修改。当处理器620执行指令以执行“操作”时,处理器620可直接地执行操作和/或可辅助、直接或与其他装置或元件合作来执行操作。
虽然实施例中所描述的示范性实施例使用的储存装置660为例,其它类型的可用以储存可由一计算机存取的数据的计算机可读取储存装置,例如磁带、快闪存储器卡、数字光盘(digital versatile disk,DVD)、卡匣、随机存取存储器(RAM)650、只读存储器(ROM)640以及包含一位流的缆线等等,也可被用于实现本发明各种实施例的操作环境中。有形的计算机可读取储存媒体、计算机可读取储存装置或计算机可读取存储器装置中,明确地排除例如暂态波、能量、载波信号、电磁波、以及信号本身等等的媒体。
为了使用户可以和运算装置600互动,输入装置690会代表任意数量的输入机制,例如用于演讲的麦克风、用于手势或图形输入的触控屏幕、键盘、鼠标、动作输入、语音以及其他。输出装置670也可为本领域技术人员所知的一个或多个多个输出机制。在一些例子中,多模系统会对用户提供多类型的输入以此和运算装置600通讯。通讯接口680会大致上包含并管理用户输入以及系统输出。任意特定硬件设置上的各种操作没有限制,因此这里的基本特征会很容易置入发展增进中的硬件或固件设置。
为了清楚解释,在本发明一些实施例表示为包括独自的功能区块标记为“处理器”或处理器620。这些功能区块所代表的功能可以经由使用共享或专用硬件来提供,包括但不限于,可执行软件与硬件的硬件,例如处理器620,专门用于操作为等同于通用处理器上执行的软件。举例来说,图6中所示的一个或多个处理器的功能可由单个共享处理器或多个处理器来提供。(术语“处理器”的使用不应当被解释为专指能够执行软件的硬件)。说明性实施例可以包括微处理器和/或数字信号处理器(DSP)硬件,用以储存执行下述的操作的软件的只读存储器(ROM)640,以及用于储存结果的随机存取储存器(RAM)650。超大型集成电路(VLSI)硬件实施例以及与通用DSP电路相结合的定制VLSI电路也可被提供。
各种实施例的逻辑操作被实现为:(1)在通用计算机内的可编程电路上运行的一连串计算机实现步骤、操作或程序;(2)在专用可编程电路上运行的一连串计算机实现步骤、操作或程序;和/或(3)可编程电路内的互连机器模块或程序引擎。图6中所示的系统600可以实现所有或部分的所列举方法,可为所列举的系统的一部分,和/或可以根据在所列举的有形计算机可读取储存装置的指令进行操作。这些逻辑操作可被实作为模块,这些模块用以控制处理器620来根据模块的编程执行特定功能。举例来说,图6显示3个模块MOD1662、MOD2 664以及MOD3 666,这些模块用以控制处理器620。这些模块可被储存在储存装置660上并在执行时载入至RAM 650或存储器630,或者可以储存在其他的计算机可读取的存储器位置。
示例的运算装置600中的一个或多个元件,不超过以及包括整个运算装置600,可以进行虚拟化。例如,虚拟处理器可为根据一个特定的指令集执行的软件物件,即使当与虚拟处理器相同类型的实体处理器是无效时。虚拟化层或一个虚拟“主机”可以经由把虚拟化操作转换为实际的操作来启用一个或多个不同的计算机装置或装置类型的虚拟元件。最后,然而,每一种类型的虚拟化硬件经由一些底层实体硬件执行或实现。因此,一个虚拟化计算机层能够在一个实体计算机层的顶端进行操作。虚拟化计算机层可以包括一个或多个虚拟机、覆盖网络、一管理程序、虚拟交换,和任何其他虚拟化的应用程序。
处理器620可以包括本文所揭示的所有类型的处理器,包括一个虚拟处理器。然而,参照虚拟处理器时,处理器620可包括与在一个虚拟化层执行该虚拟处理器相关的软件和底层必要的硬件来执行虚拟化层。系统600可以包括实体或虚拟处理器620,其接收储存在计算机可读取储存装置的指令,使述处理器620来执行特定操作。当提到一个虚拟处理器620时,系统也包括与执行虚拟处理器620的相关实体硬件。
本发明的范围内的实施例也可包括用于携带或具有储存在其上的计算机可执行指令或数据结构的有形和/或非暂态的计算机可读取储存装置。这种有形的计算机可读取的储存装置可以是可以由通用或专用计算机,包括如上述任何专用处理器的功能设计存取的任何可用装置。举例来说,但不限于,这类的有形计算机可读取装置可以包括RAM、ROM、EEPROM、CD-ROM、或其他光盘储存、磁盘储存或任意其他用于携带或储存以计算机可读取指令、数据结构或处理器芯片设计形式的程序码的装置。当消息或指令系经由网络或其他通讯连接方式(例如:有线,无线或其组合)提供至一计算机时,计算机可适当地将该连接视为计算机可读取媒体。因此,任何这样的连接被适当地称为计算机可读取媒体。上述的组合也应包括在计算机可读取储存装置的范围之内。
计算机可执行指令包括,例如让通用计算机、特殊功能计算机、或特殊功能处理装置执行一些功能或功能群组的指令和数据。计算机可执行指令也包括由计算机在单机或网络环境中执行的程序模块。一般而言,程式模块包括专用处理器的设计中固有的常式、程序、元件、数据结构、物件和功能等,可执行特定任务或实现特定抽象数据类型。计算机可执行指令、相关数据结构以及程序模块代表程式码装置的例子,用于执行本发明所述的方法的步骤。前述可执行指令或相关数据结构的特定序列表示用于实现前述步骤中描述的功能的相应的动作例子。
本发明其它实施例可以在网络运算环境中实现,网络运算环境中具有许多类型的计算机系统配置,包括个人计算机、手持装置、多处理器系统、以微处理器为基础的或可编程的消费性电子产品、网络个人计算机、小型计算机、大型计算机等等。实施例也可以在分散式运算环境中实现,分散式运算环境中的任务被经由一通讯网络所连结(以有线连结、无线连结或其组合)的本机和远端处理装置所执行。在分散式运算环境中,程序模块可以同时设置在本机和远端储存器储存装置中。
本发明虽以优选实施例揭示如上,然其并非用以限定本发明。例如,所述原理可适用于任何具有可配置固件且其预设配置或预设值可被更新或改变的装置。任何本领域技术人员在不脱离本发明的精神和范围下,可做些许的更动与润饰,因此本发明的保护范围当以权利要求为准。另外,权利要求的一组“中的至少一个”表示满足权利要求的该组中的一个成员或该组中的多个成员。

Claims (14)

1.一种主机板,包括:
一连接总线,其连接一固件、一储存装置以及一基板管理控制器,
其中,该固件具有一第一预设配置,
其中,该基板管理控制器还包括一网络接口,
其中,该储存装置包含多个附加的预设配置,该多个附加的预设配置中的每一个被指定一优先权,
其中,该储存装置可经由该固件以及该基板管理控制器中的至少一个来进行存取,以修改该多个附加的预设配置中的一附加的预设配置,且
其中,该储存装置设置在该固件的外部;
其中,该固件用以检测在该储存装置中表示该附加的预设配置的一变化,依据该多个附加的预设配置的优先权选择该多个附加的预设配置的其中之一,并且以该多个附加的预设配置中具有最高优先权的一个覆写该第一预设配置。
2.如权利要求1所述的主机板,其中该连接总线为内部集成电路总线。
3.如权利要求1所述的主机板,其中该储存装置包括一可移除式储存装置或该主机板上的一集成式储存装置中的至少一个。
4.如权利要求1所述的主机板,其中该储存装置可经由该基板管理控制器来进行存取,以修改储存在该储存装置中的该附加的预设配置,而无需进入一固件配置用户界面且无需涉及一操作系统。
5.如权利要求1所述的主机板,其中该储存装置可经由该固件来进行存取,用以于该固件执行时修改储存在该储存装置中的该附加的预设配置。
6.如权利要求1所述的主机板,其中该固件包含UEFI或BIOS中的至少一个。
7.一种计算机实现的方法,包括下列步骤:
经由连接至一计算机装置的一固件的一网络接口并且没有该计算机装置的一操作系统的介入的情况下,接收一请求以修改储存在该固件外部的一储存装置上的多个附加的预设配置中的一附加的预设配置,其中该多个附加的预设配置针对该固件;
依据该请求,修改该附加的预设配置;
设定一旗标,以表示该附加的预设配置已被修改;以及
于下次开机时,于检测到该旗标被设定时,依据该多个附加的预设配置的优先权选择该多个附加的预设配置的其中之一,并且以该多个附加的预设配置中具有最高优先权的一个覆写该固件。
8.一种非暂态计算机可读取储存装置,其中包含多个储存指令,当所述指令在被一计算机装置执行时使得该计算机装置进行以下操作,包括:
于一固件执行时,经由该固件的一图形用户界面接收指令以修改该固件的多个设定,以产生多个修改过的设定;
接收一命令,以将所述修改过的设定储存在该固件外部的一储存装置上;以及
储存所述修改过的设定作为该储存装置上的一修改过的预设值;
其中,该固件具有一第一预设配置;
其中,该储存装置包含多个附加的预设配置,该多个附加的预设配置中的每一个被指定一优先权;
其中,该储存装置可经由该固件来进行存取,以修改储存在该多个附加的预设配置中的一附加的预设配置;
其中,该固件用以检测在该储存装置中表示该附加的预设配置的一变化,依据该多个附加的预设配置的优先权选择该多个附加的预设配置的其中之一,并且以该多个附加的预设配置中具有最高优先权的一个覆写该第一预设配置。
9.如权利要求8所述的非暂态计算机可读取储存装置,其中所述操作还包括:
设定该固件,以在下一次开机时从该储存装置中加载该修改过的预设值。
10.一种非暂态计算机可读取储存装置,其中包含多个储存指令,当所述指令在被一计算机装置执行时使得该计算机装置进行以下操作,包括:
于一固件执行时,经由该固件的一图形用户界面接收指令以载入该固件的一预设值,其中该预设值储存于该固件外部的一储存装置上;
自该储存装置撷取该预设值;以及
将该预设值覆写在该固件的至少一部分上;
其中,该固件具有一第一预设配置;
其中,该储存装置包含多个附加的预设配置,该多个附加的预设配置中的每一个被指定一优先权;
其中,该储存装置可经由该固件来进行存取,以修改储存在该储存装置中的一附加的预设配置;
其中,该固件用以检测在该储存装置中表示该附加的预设配置的一变化,依据该多个附加的预设配置的优先权选择该多个附加的预设配置的其中之一,并且以该多个附加的预设配置中具有最高优先权的一个覆写该第一预设配置。
11.如权利要求10所述的非暂态计算机可读取储存装置,其中该储存装置包括至少一可移除式储存装置或与固件相关联的一集成式储存装置。
12.如权利要求10所述的非暂态计算机可读取储存装置,其中该储存装置可经由一基板管理控制器来进行存取以修改储存在该储存装置中的该预设值,而无需涉及一操作系统。
13.如权利要求10所述的非暂态计算机可读取储存装置,其中该固件包含UEFI或BIOS中的至少一个。
14.如权利要求10所述的非暂态计算机可读取储存装置,其中所述操作还包括:
使该固件使用该预设值重新开机。
CN201510688350.6A 2015-08-11 2015-10-22 主机板及其计算机实现方法及非暂态计算机可读储存装置 Active CN106445576B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/823,216 2015-08-11
US14/823,216 US10055218B2 (en) 2015-08-11 2015-08-11 System and method for adding and storing groups of firmware default settings

Publications (2)

Publication Number Publication Date
CN106445576A CN106445576A (zh) 2017-02-22
CN106445576B true CN106445576B (zh) 2019-11-01

Family

ID=57995457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510688350.6A Active CN106445576B (zh) 2015-08-11 2015-10-22 主机板及其计算机实现方法及非暂态计算机可读储存装置

Country Status (3)

Country Link
US (1) US10055218B2 (zh)
CN (1) CN106445576B (zh)
TW (1) TWI560559B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471536B1 (en) * 2012-12-06 2016-10-18 Amazon Technologies, Inc. Automated firmware settings management
US10642623B1 (en) * 2016-07-07 2020-05-05 American Megatrends International, Llc Preserving firmware settings during firmware updates
US10726131B2 (en) * 2016-11-21 2020-07-28 Facebook, Inc. Systems and methods for mitigation of permanent denial of service attacks
US10740483B2 (en) * 2016-11-22 2020-08-11 Sap Se Unified instance authorization based on attributes and hierarchy assignment
US10282190B2 (en) * 2016-12-01 2019-05-07 Dell Products, L.P. System and method for updating a UEFI image in an information handling system
CN107066305B (zh) * 2017-05-11 2020-07-28 北京百度网讯科技有限公司 用于更新服务器的服务器固件的方法和装置以及服务器
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
JP7073654B2 (ja) * 2017-09-14 2022-05-24 富士通株式会社 情報処理システム、情報処理装置およびプログラム
US10592232B2 (en) 2017-09-26 2020-03-17 Quanta Computer Inc. Preserving firmware setting during firmware update
US10339082B2 (en) * 2017-11-30 2019-07-02 Intel IP Corporation Technologies for stable secure channel identifier mapping for static and dynamic devices
CN108021402B (zh) * 2017-12-21 2020-06-23 威创集团股份有限公司 开机控制方法及处理设备
WO2020003379A1 (ja) * 2018-06-26 2020-01-02 日立ジョンソンコントロールズ空調株式会社 保守システム、保守用基板およびデータ書込方法
TWI685735B (zh) * 2018-08-28 2020-02-21 神雲科技股份有限公司 在電腦系統開機自我檢測的早期階段顯示bios訊息的方法
CN109471645A (zh) * 2018-10-30 2019-03-15 郑州云海信息技术有限公司 一种BMC与BIOS的Setup交互实现方法、装置、终端及存储介质
CN109542479A (zh) * 2018-11-12 2019-03-29 郑州云海信息技术有限公司 一种多级联服务器的固件刷新方法及系统
CN109976816B (zh) * 2019-03-25 2021-06-15 联想(北京)有限公司 计算机系统配置方法及服务器
TWI724700B (zh) * 2019-12-17 2021-04-11 三泰科技股份有限公司 頻外的外接控制設備、系統與方法
CN112416681B (zh) * 2020-11-24 2023-03-17 超越科技股份有限公司 基于bmc的传感器开发调试方法
US11397593B1 (en) * 2021-03-19 2022-07-26 Quanta Computer Inc. Loadable BIOS preset configurations
CN114020340B (zh) * 2021-11-02 2024-05-24 联想(北京)信息技术有限公司 一种服务器系统及其数据处理方法
US11960372B2 (en) * 2022-03-04 2024-04-16 Dell Products L.P. Verified callback chain for bios security in an information handling system
US20240146611A1 (en) * 2022-11-01 2024-05-02 Dell Products, L.P. Firmware-based user persona discovery in a heterogeneous computing platform

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070027981A1 (en) * 2005-07-27 2007-02-01 Giovanni Coglitore Computer diagnostic system
TW200907804A (en) 2007-08-15 2009-02-16 Inventec Corp Method for updating BIOS and computer and system using the same
US7653773B2 (en) * 2007-10-03 2010-01-26 International Business Machines Corporation Dynamically balancing bus bandwidth
TW200951812A (en) * 2008-06-03 2009-12-16 Dfi Inc Method and apparatus for changing BIOS parameters via a hot key
TWI459294B (zh) 2011-03-18 2014-11-01 Phoenix Tech Ltd Bios程式的更新方法與其電腦系統
US8966236B2 (en) * 2011-05-05 2015-02-24 Microsoft Technology Licensing, Llc Dynamically redirecting boot to another operating system
TW201310232A (zh) 2011-08-17 2013-03-01 Inventec Corp Bios測試方法
TWI465072B (zh) 2011-12-21 2014-12-11 Inventec Corp 系統韌體更新方法與使用其之伺服器系統
CN103324492A (zh) * 2012-03-20 2013-09-25 鸿富锦精密工业(深圳)有限公司 基本输入输出系统固件升级方法及电子装置

Also Published As

Publication number Publication date
CN106445576A (zh) 2017-02-22
US10055218B2 (en) 2018-08-21
US20170046151A1 (en) 2017-02-16
TW201706869A (zh) 2017-02-16
TWI560559B (en) 2016-12-01

Similar Documents

Publication Publication Date Title
CN106445576B (zh) 主机板及其计算机实现方法及非暂态计算机可读储存装置
US9501289B2 (en) Method of a UEFI firmware and computer system thereof
CN105814541B (zh) 计算机设备及计算机设备内存启动的方法
US10067777B2 (en) Supporting multiple operating system environments in computing device without contents conversion
US8904159B2 (en) Methods and systems for enabling control to a hypervisor in a cloud computing environment
US20120069032A1 (en) Optimizing Virtual Graphics Processing Unit Utilization
US20170031694A1 (en) System and method for remote system configuration managment
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
US20180088932A1 (en) Multi-platform installer
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
US20200348946A1 (en) Information Handling System (IHS) And Method To Proactively Restore Firmware Components To A Computer Readable Storage Device Of An IHS
US9448807B2 (en) Automatic creation, deployment, and upgrade of disk images
US11188407B1 (en) Obtaining computer crash analysis data
US10990373B2 (en) Service managers and firmware version selections in distributed computing systems
WO2018205267A1 (zh) 输入设备实现方法及其实现装置
US20160203015A1 (en) Systems and methods for migration of virtual machines across virtual storage resources
US9672047B1 (en) Systems and methods for accessing a bootable partition on a serial peripheral interface device
KR101249735B1 (ko) 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
US11144326B2 (en) System and method of initiating multiple adaptors in parallel
US10261821B2 (en) System and method to expose remote virtual media partitions to virtual machines
CN113826072A (zh) 系统管理模式中的代码更新
KR20130068630A (ko) 임베디드 디바이스의 초기화 방법 및 장치
US9766918B2 (en) Virtual system device identification using GPU to host bridge mapping
US20120144390A1 (en) Customized computer image preparation and deployment including virtual machine mode
US11256519B2 (en) Using a single process to install a UEFI-supported OS or a non-UEFI supported OS on a hardware platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant