高速外围组件设备的固件程序升级方法及服务器与流程

未命名 08-26 阅读:110 评论:0


1.本技术实施例涉及计算机技术领域,具体而言,涉及一种高速外围组件设备的固件程序升级方法及服务器。


背景技术:

2.随着服务器技术的不断发展,服务器的配置也越来越复杂,其中,pcie(peripheral component interconnect-express,高速外围组件)插槽是服务器设备扩展的一种重要方式,通过pcie插槽,用户可自由搭配不同的外插卡,如网卡、raid(redundant arrays of independent disks,磁盘阵列)卡、gpu(graphics processing unit,图形处理器)卡等。这些pcie设备的固件程序option rom有的被存在板卡的扩展rom(option read-only memory只读存储器)中,有的则存在bios(basic input output system,基本输入输出系统)的二进制文件binary里面,主要完成pcie设备的初始化和系统引导功能。bios在post(power-on self test,上电自检)阶段,会扫描pcie设备是否有option rom,有的话则将其拷贝到内存中执行。
3.option rom通常有不同的版本。针对传统bios和uefi(unified extensible firmware interface,统一可扩展固件接口)bios,有传统的option rom和uefi option rom两种;为了兼容arm、x86等不同的cpu(central processing unit,核心处理器)体系架构,option rom又分为不同版本。pcie设备的扩展rom中不会包含所有版本的option rom,当用户对服务器中的pcie设备进行升级时,如果option rom版本与当前架构不兼容,就会涉及给pcie设备升级option rom的问题。
4.当pcie设备有扩展rom时,可通过厂商提供的工具在os(operating system,操作系统)下升级option rom,但对用户来说,操作难度较大,而且有时候用户会因害怕带来新的问题而不愿意采取这种方式升级;当pcie设备没有扩展rom时,则只能由开发人员修改bios中的option rom,然后刷新bios,人工成本较高。如何方便地升级pcie设备的option rom是一个亟待解决的问题。
5.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本技术实施例提供了一种高速外围组件设备的固件程序升级方法及服务器,以至少解决相关技术中针对高速外围组件设备的固件程序升级过程相对复杂的技术问题。
7.根据本技术的一个实施例,提供了一种高速外围组件设备的固件程序升级方法,应用于服务器的核心处理器,该方法包括:在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息;从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;将目标固件程序升级文件复制至内存中执行,以对高速外围
组件设备进行初始化。
8.在一个示例性实施例中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息,包括:在识别到有高速外围组件设备通过服务器的高速外围组件接口接入服务器时,从高速外围组件设备的设备配置空间获取高速外围组件设备的目标标识信息,其中,目标标识信息中至少包括:高速外围组件设备对应的第一厂商标识和第一设备标识。
9.在一个示例性实施例中,在从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件之前,基板管理控制器获取目标对象传输的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中;基板管理控制器调用管理模块依据转换闪存卡中的固件程序升级文件生成虚拟通用串行总线设备。
10.在一个示例性实施例中,基板管理控制器获取目标对象传输的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中,包括:基板管理控制器调用管理模块获取目标对象在基板管理控制器对应的交互界面中上传的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中;或,基板管理控制器接收目标对象通过终端设备复制的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中;或,基板管理控制器调用管理模块从服务器所在机房的管理节点服务器中下载固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中,其中,管理节点服务器中存储有目标对象上传的固件程序升级文件。
11.在一个示例性实施例中,从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,包括:通过平台控制集线器的通用串行总线接口从基板管理控制器的虚拟通用串行总线设备中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
12.在一个示例性实施例中,从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,包括:对于基板管理控制器中的任一固件程序升级文件,依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型,其中,节点类型用于表示固件程序升级文件支持的核心处理器类型;在第一厂商标识和第二厂商标识匹配、第一设备标识和第二设备标识匹配、核心处理器的类型与节点类型匹配时,确定固件程序升级文件为目标固件程序升级文件;从基板管理控制器中获取目标固件程序升级文件。
13.在一个示例性实施例中,在依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型之前,检测固件程序升级文件的扩展只读存储器头部信息中是否存在目标标识符;若扩展只读存储器头部信息中存在目标标识符,确定固件程序升级文件合法,依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型;若扩展只读存储器头部信息中不存在目标标识符,确定固件程序升级文件不合法,固件程序升级文件不是目标固件程序升级文件。
14.在一个示例性实施例中,在基板管理控制器中不存在与目标标识信息和核心处理器的类型对应的目标固件程序升级文件时,从与高速外围组件设备对应的扩展只读存储器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
15.根据本技术的另一个实施例,提供了一种服务器,包括:主板和核心处理器,主板中包括:基板管理控制器,基本输入输出系统芯片和高速外围组件接口,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;基本输入输出系统芯片中存储有基本输入输出系统程序;高速外围组件接口用于外接高速外围组件设备;核心处理器用于在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息;从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件;将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。
16.在一个示例性实施例中,核心处理器用于在识别到有高速外围组件设备通过高速外围组件接口接入服务器时,从高速外围组件设备的设备配置空间获取高速外围组件设备的目标标识信息,其中,目标标识信息中至少包括:高速外围组件设备对应的第一厂商标识和第一设备标识。
17.在一个示例性实施例中,基板管理控制器中还包括管理模块,其中,基板管理控制器用于获取目标对象传输的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中;调用管理模块依据转换闪存卡中的固件程序升级文件生成虚拟通用串行总线设备。
18.在一个示例性实施例中,基板管理控制器用于调用管理模块获取目标对象在基板管理控制器对应的交互界面中上传的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中;或,基板管理控制器用于接收目标对象通过终端设备复制的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中;或,基板管理控制器用于调用管理模块从服务器所在机房的管理节点服务器中下载固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中,其中,管理节点服务器中存储有目标对象上传的固件程序升级文件。
19.在一个示例性实施例中,主板中还包括平台控制集线器,其中,核心处理器用于通过平台控制集线器的通用串行总线接口从基板管理控制器的虚拟通用串行总线设备中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
20.在一个示例性实施例中,对于基板管理控制器中的任一固件程序升级文件,核心处理器用于依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型,其中,节点类型用于表示固件程序升级文件支持的核心处理器类型;在第一厂商标识和第二厂商标识匹配、第一设备标识和第二设备标识匹配、核心处理器的类型与节点类型匹配时,确定固件程序升级文件为目标固件程序升级文件;从基板管理控制器中获取目标固件程序升级文件。
21.在一个示例性实施例中,核心处理器还用于在依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型之前,检测固件程序升级文件的扩展只读存储器头部信息中是否存在目标标识符;若扩展只读存储器头部信息中存在目标标识符,确定固件程序升级文件合法,依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型;若扩展只读存储器头部信息中不存在目标标识符,确定固件程序升级文件不合法,固件程序升级文件不是目标固件程序升级文件。
22.在一个示例性实施例中,核心处理器还用于在基板管理控制器中不存在与目标标识信息和核心处理器的类型对应的目标固件程序升级文件时,从与高速外围组件设备对应
的扩展只读存储器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
23.根据本技术的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述高速外围组件设备的固件程序升级方法中的步骤。
24.在本技术实施例中,当服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取该高速外围组件设备的目标标识信息;然后从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;再将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。其中,通过预先将固件程序升级文件存储至基板管理控制器中的转换闪存卡中,服务器上电自检时,可以直接依据接入的高速外围组件设备的标识信息和核心处理器的类型从中加载对应版本的目标固件程序升级文件对高速外围组件设备进行初始化,该固件程序升级方式简单高效,无需复杂的人工操作,有效解决了相关技术中针对高速外围组件设备的固件程序升级过程相对复杂的技术问题。
附图说明
25.图1是根据本技术实施例的一种服务器的结构示意图;
26.图2是根据本技术实施例的另一种服务器的结构示意图;
27.图3是根据本技术实施例的一种高速外围组件设备的固件程序升级方法的流程示意图;
28.图4是根据本技术实施例的一种高速外围组件设备的固件程序升级过程的示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
30.需要说明的是,本技术的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
31.为了更好地理解本技术实施例,首先对本技术实施例描述过程中出现的部分名词或术语翻译解释如下:
32.pcie:一种高速串行计算机扩展总线标准,属于点对点双通道高带宽传输,其传输速率比传统的并行总线技术要快得多,并且具有更好的可靠性和扩展性。pcie设备即通过pcie接口连接到计算机主板的各种外部设备,如显卡、声卡、网卡等,由于pcie高带宽和低延迟的特点,pcie设备已经成为现代计算机系统中必不可少的组成部分。
33.option rom:bios术语,在pci规范中又称为expansion rom,是一种集成在计算机硬件设备中的固件程序,它可以在设备启动时被执行,通常用于初始化和管理硬件设备,并提供额外的功能或驱动程序。例如,显卡、网卡、raid控制器等都可能有自己的option rom,当计算机启动时,bios会检测这些设备并加载其对应的option rom,以正确地配置和使用它们。尽管option rom是“可选”的,但许多硬件设备需要它们才能正常工作,如果没有正确加载option rom,则可能会导致系统不稳定或无法识别某些硬件设备。
34.bmc(baseboard management controller,基板管理控制器):是一种嵌入式芯片,用于远程管理服务器或其他计算设备。它通常集成在主板上,可以通过网络连接进行访问和控制,主要负责监视系统硬件状态、远程开关机、重启等功能,并提供诸如ipmi(intelligent platform management interface,智能平台管理接口)等接口以实现对服务器的远程管理和维护。
35.tf(trans flash,转换闪存)卡:也被称为microsd卡或者microsdhc卡,是一种小型的闪存卡,可以通过适配器与其他设备兼容,通常用于移动设备中的存储扩展,如手机、相机等。
36.pch(platform controller hub,平台控制集线器):又称南桥芯片,是intel架构中主板芯片组的一部分,位于cpu和其他主要系统组件之间,主要负责管理许多i/o接口、总线、存储和网络功能等,并提供支持处理器功率管理和安全性能。
37.post阶段:是指计算机开机自检时,bios程序对硬件进行识别和初始化的过程。在post阶段,bios会按照固定顺序执行自我测试,包括ram(random access memory,随机存取存储器)、cpu、显示适配器等关键硬件组件,并确保它们能够正常工作。如果有任何故障或错误发现,系统将停止并显示相应的错误代码或信息。只有当所有测试都通过后,才会启动操作系统加载进程。这个过程通常只需要几秒钟就可以完成。
38.pci expansion rom header(pci扩展只读存储器头部信息):是一种用于定义pci设备的扩展rom映像文件格式的数据结构。它包含了该rom映像文件的大小、起始地址、校验和等信息,并且可以通过bios或操作系统来加载和执行这个rom映像文件,以实现对设备功能的扩展或升级。pci expansion rom header通常由硬件厂商提供,并与设备驱动程序一同发布。
39.pci data structure(pci数据结构信息):是一种用于描述计算机系统中pci总线上的设备和资源分配情况的数据格式。它包含了每个pci设备的配置空间、irq(interrupt request,中断请求)、dma(direct memory access,直接内存访问)通道等信息,以及用于访问这些信息的寄存器地址和控制命令。通过读取和修改pci数据结构,操作系统可以管理计算机与外部设备之间的通信,并为应用程序提供对硬件资源的访问接口。
40.下面结合优选的实施例对本技术方案进行说明。
41.针对相关技术中高速外围组件设备的固件程序升级过程相对复杂的技术问题,本技术实施例首先提出了一种服务器结构,图1是根据本技术实施例的一种可选的服务器的
结构示意图,如图1所示,该服务器中至少包括:主板11和核心处理器12,该主板11中包括:基板管理控制器111,基本输入输出系统芯片112和高速外围组件接口113,其中:
42.基板管理控制器111中包括转换闪存卡1111,该转换闪存卡1111中存储有目标对象传输的多个固件程序升级文件;
43.基本输入输出系统芯片112中存储有基本输入输出系统程序;
44.高速外围组件接口113用于外接高速外围组件设备13;
45.核心处理器12用于在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备13接入服务器,获取该高速外围组件设备13的目标标识信息;从基板管理控制器111中获取与目标标识信息和核心处理器12的类型对应的目标固件程序升级文件;将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备13进行初始化。
46.其中,通过预先将固件程序升级文件存储至基板管理控制器中的转换闪存卡中,服务器上电自检时,可以直接依据接入的高速外围组件设备的标识信息和核心处理器的类型从中加载对应版本的目标固件程序升级文件对高速外围组件设备进行初始化,该固件程序升级方式简单高效,无需复杂的人工操作,有效解决了相关技术中针对高速外围组件设备的固件程序升级过程相对复杂的技术问题。
47.图2是根据本技术实施例的另一种更加具体的服务器的结构示意图,该服务器中至少包括:主板21和核心处理器22,该主板21中包括:基板管理控制器211,平台控制集线器212,基本输入输出系统芯片213和高速外围组件接口214,以下结合图2对服务器中各模块的功能进行具体说明。
48.作为一种可选的实施方式,基板管理控制器211中包括闪存卡2111和管理模块2112,基板管理控制器211在获取目标对象传输的固件程序升级文件后,将固件程序升级文件存储至转换闪存卡2111中;然后调用管理模块2112依据转换闪存卡2111中的固件程序升级文件生成虚拟通用串行总线设备2113。
49.可选地,基板管理控制器211在获取目标对象传输的固件程序升级文件时,可以通过以下三种方式进行:第一种方式中,基板管理控制器211可以调用管理模块2112获取目标对象在基板管理控制器211对应的交互界面中上传的固件程序升级文件,并将该固件程序升级文件存储至转换闪存卡2111中,其中,交互界面可以是web管理界面;第二种方式中,基板管理控制器211可以接收目标对象通过终端设备复制的固件程序升级文件,并将该固件程序升级文件存储至转换闪存卡2111中,其中,该终端设备可以是私人电脑、平板等终端;第三种方式中,基板管理控制器211可以调用管理模块2112从本服务器所在机房的管理节点服务器中下载固件程序升级文件,并将该固件程序升级文件存储至转换闪存卡2111中,其中,管理节点服务器中存储有目标对象上传的固件程序升级文件。
50.可以理解地,为了提升固件程序升级文件的传输效率,用户可以通过web管理界面将固件程序升级文件上传至基板管理控制器,也可以直接通过私人电脑等终端将固件程序升级文件复制至基板管理控制器,这两种方式适用于对单个服务器的高速外围组件设备的固件程序进行升级;可选地,用户也可以将固件程序升级文件上传至服务器所在机房的管理节点服务器,由基板管理控制器自行下载固件程序升级文件,该方式可有效减少人工传输次数,适用于对批量服务器的高速外围组件设备的固件程序进行升级。
51.作为一种可选的实施方式,在服务器开机时,核心处理器22执行基本输入输出系统芯片213中存储的基本输入输出系统程序进行上电自检;在自检过程中,当核心处理器22识别到有高速外围组件设备23通过高速外围组件接口214接入服务器时,从高速外围组件设备23的设备配置空间获取高速外围组件设备的目标标识信息,其中,目标标识信息中至少包括:高速外围组件设备对应的第一厂商标识和第一设备标识。
52.为保证最终获取的目标固件程序升级文件的版本与本核心处理器匹配,核心处理器22还可以在获取高速外围组件设备23的目标标识信息之后,确定核心处理器22的类型;然后从基板管理控制器211中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
53.作为一种可选的实施方式,在获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件时,核心处理器22可以通过平台控制集线器212的通用串行总线接口2121从基板管理控制器211的虚拟通用串行总线设备2113中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
54.可选地,对于基板管理控制器211中的任一固件程序升级文件,核心处理器22可以依据固件程序升级文件的数据结构信息pci data structure确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型,其中,该节点类型用于表示固件程序升级文件支持的核心处理器类型;在第一厂商标识和第二厂商标识匹配、第一设备标识和第二设备标识匹配、核心处理器的类型与节点类型匹配时,确定该固件程序升级文件为目标固件程序升级文件;核心处理器22从基板管理控制器211中获取该目标固件程序升级文件。
55.可选地,在依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型之前,核心处理器22还可以检测固件程序升级文件的扩展只读存储器头部信息pci expansion rom header中是否存在目标标识符,该目标标识符通常为0xaa55标识;若扩展只读存储器头部信息中存在目标标识符,则确定固件程序升级文件合法,继续依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型;若扩展只读存储器头部信息中不存在目标标识符,则确定固件程序升级文件不合法,即该固件程序升级文件不是目标固件程序升级文件,无需执行后续的匹配过程,提升检测效率。
56.在某些应用场景中,基板管理控制器211中可能不存在与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,此时,核心处理器22可以从与高速外围组件设备23对应的扩展只读存储器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
57.进一步地,在某些极端场景下,高速外围组件设备23对应的扩展只读存储器中也不存在与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,此时,核心处理器22可以控制告警设备向用户发出告警提示信息,提示用户基板管理控制器以及高速外围组件设备23对应的扩展只读存储器中均无可用的目标固件程序升级文件,需要用户手动上传。此时,用户可以重新通过交互界面、终端设备、管理节点服务器三种方式将固件程序升级文件传输至基板管理控制器。
58.在获取目标固件程序升级文件之后,核心处理器22可以将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化,从而实现固件程序升级。
59.在本技术实施例的服务器中,主板包括:基板管理控制器,基本输入输出系统芯片和高速外围组件接口,其中,基板管理控制器中包括转换闪存卡,该转换闪存卡中存储有目标对象传输的固件程序升级文件;基本输入输出系统芯片中存储有基本输入输出系统程序;高速外围组件接口用于外接高速外围组件设备;核心处理器用于在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息;从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件;将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。其中,通过预先将固件程序升级文件存储至基板管理控制器中的转换闪存卡中,服务器上电自检时,可以直接依据接入的高速外围组件设备的标识信息和核心处理器的类型从中加载对应版本的目标固件程序升级文件对高速外围组件设备进行初始化,该固件程序升级方式简单高效,无需复杂的人工操作,有效解决了相关技术中针对高速外围组件设备的固件程序升级过程相对复杂的技术问题。
60.在上述服务器的运行基础上,本技术实施例还提供了一种由核心处理器执行的高速外围组件设备的固件程序升级方法,
61.图3是根据本技术实施例的一种可选的高速外围组件设备的固件程序升级方法的流程示意图,如图3所示,该流程包括如下步骤:
62.步骤s302,在服务器开机时,执行基本输入输出系统程序进行自检;
63.步骤s304,自检过程中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息;
64.步骤s306,从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;
65.步骤s308,将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。
66.以下结合具体的实施过程对上述高速外围组件设备的固件程序升级方法的各步骤进行说明。
67.在服务器上电自检之前,用户可以预先通过以下方式将固件程序升级文件传输至基板管理控制器的转换闪存卡中:
68.第一种方式中,用户可以将固件程序升级文件上传至与基板管理控制器对应的交互界面中,该交互界面可以是为基板管理控制器配置的web管理界面;基板管理控制器可以调用管理模块从交互界面中获取固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中。
69.第二种方式中,用户可以直接通过终端设备将固件程序升级文件复制至基板管理控制器的转换闪存卡中,其中,终端设备可以是私人电脑、平板等终端。
70.第三种方式中,用户可以将固件程序升级文件上传至服务器所在机房的管理节点服务器;基板管理控制器可以调用管理模块从该管理节点服务器中下载固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中。
71.以上三种方式中,前两种方式可以提升固件程序升级文件的传输效率,适用于对单个服务器的高速外围组件设备的固件程序进行升级;第三种方式可有效减少人工传输次
数,适用于对批量服务器的高速外围组件设备的固件程序进行升级。
72.可选地,在获取目标对象传输的固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中之后,基板管理控制器可以调用管理模块依据转换闪存卡中的固件程序升级文件生成虚拟通用串行总线设备。
73.作为一种可选的实施方式,在服务器开机时,核心处理器执行基本输入输出系统芯片中存储的基本输入输出系统程序进行上电自检;在自检过程中,当核心处理器识别到有高速外围组件设备通过服务器的高速外围组件接口接入服务器时,从高速外围组件设备的设备配置空间获取高速外围组件设备的目标标识信息,其中,目标标识信息中至少包括:高速外围组件设备对应的第一厂商标识和第一设备标识。
74.为保证最终获取的目标固件程序升级文件的版本与本核心处理器匹配,核心处理器还可以在获取高速外围组件设备的目标标识信息之后,确定核心处理器的类型;然后从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
75.作为一种可选的实施方式,在获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件时,核心处理器可以通过平台控制集线器的通用串行总线接口从基板管理控制器的虚拟通用串行总线设备中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
76.可选地,核心处理器在从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件时,可以通过以下方式进行:对于基板管理控制器中的任一固件程序升级文件,该依据固件程序升级文件的数据结构信息pci data structure确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型,其中,节点类型用于表示固件程序升级文件支持的核心处理器类型;在第一厂商标识和第二厂商标识匹配、第一设备标识和第二设备标识匹配、核心处理器的类型与节点类型匹配时,确定该固件程序升级文件为目标固件程序升级文件;从基板管理控制器中获取该目标固件程序升级文件。
77.可选地,在依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型之前,核心处理器还可以检测固件程序升级文件的扩展只读存储器头部信息pci expansion rom header中是否存在目标标识符,该目标标识符通常为0xaa55标识;若扩展只读存储器头部信息中存在目标标识符,则确定固件程序升级文件合法,继续依据固件程序升级文件的数据结构信息确定固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型;若扩展只读存储器头部信息中不存在目标标识符,则确定固件程序升级文件不合法,即该固件程序升级文件不是目标固件程序升级文件,无需执行后续的匹配过程,提升检测效率。
78.在某些应用场景中,基板管理控制器中可能不存在与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,此时,核心处理器可以从与高速外围组件设备对应的扩展只读存储器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件。
79.进一步地,在某些极端场景下,高速外围组件设备对应的扩展只读存储器中也不存在与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,此时,核心处理器可以控制告警设备向用户发出告警提示信息,提示用户基板管理控制器以及高速外围组
件设备对应的扩展只读存储器中均无可用的目标固件程序升级文件,需要用户手动上传。此时,用户可以重新通过交互界面、终端设备、管理节点服务器三种方式将固件程序升级文件传输至基板管理控制器。
80.在获取目标固件程序升级文件之后,核心处理器可以将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化,从而实现固件程序升级。
81.图4示出了一种完整的高速外围组件设备的固件程序升级过程,具体包括如下步骤:
82.s1,用户将固件程序升级文件传输至基板管理控制器的转换闪存卡中,包括:s11,用户通过终端设备将固件程序升级文件复制至基板管理控制器的转换闪存卡中;或,s12,用户通过web管理界面上传固件程序升级文件,并执行s14;或,s13,用户将固件程序升级文件上传至服务器所在机房的管理节点服务器,并执行s14;s14,基板管理控制器调用管理模块从web管理界面或管理节点服务器中下载固件程序升级文件,并将固件程序升级文件存储至转换闪存卡中;
83.s2,基板管理控制器调用管理模块依据转换闪存卡中的固件程序升级文件生成虚拟通用串行总线设备;
84.s3,服务器开机时,核心处理器执行基本输入输出系统程序进行上电自检;
85.s4,自检过程中,当识别到有高速外围组件设备接入服务器时,从高速外围组件设备的设备配置空间获取高速外围组件设备的目标标识信息,该目标标识信息中至少包括:高速外围组件设备对应的第一厂商标识和第一设备标识;
86.s5,确定核心处理器的类型,并将第一厂商标识、第一设备标识和核心处理器类型作为识别码;
87.s6,确定基板管理控制器的虚拟通用串行总线设备中是否存在与识别码相匹配的目标固件程序升级文件,若存在,执行s7,若不存在,执行s8;
88.s7,从基板管理控制器的虚拟通用串行总线设备中获取目标固件程序升级文件;
89.s8,依据识别码从与高速外围组件设备对应的扩展只读存储器中获取目标固件程序升级文件;
90.s9,将目标固件程序升级文件加载至内存中执行,以对高速外围组件设备进行初始化。
91.在本技术实施例中,当服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取该高速外围组件设备的目标标识信息;然后从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;再将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。其中,通过预先将固件程序升级文件存储至基板管理控制器中的转换闪存卡中,服务器上电自检时,可以直接依据接入的高速外围组件设备的标识信息和核心处理器的类型从中加载对应版本的目标固件程序升级文件对高速外围组件设备进行初始化,该固件程序升级方式简单高效,无需复杂的人工操作,有效解决了相关技术中针对高速外围组件设备的固件程序升级过程相对复杂的技术问题。
92.可选地,本技术的实施例还提供了一种计算机可读存储介质,该计算机可读存储
介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
93.具体地,计算机程序运行时执行实现以下步骤:在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息;从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。
94.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器、随机存取存储器、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
95.本技术的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
96.具体地,处理器被配置为通过计算机程序执行实现以下步骤:在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息;从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。
97.在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
98.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
99.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
100.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例方案的目的。
101.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
102.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备
(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器、随机存取存储器、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
103.以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:
1.一种高速外围组件设备的固件程序升级方法,应用于服务器的核心处理器,其特征在于,包括:在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入所述服务器,获取所述高速外围组件设备的目标标识信息;从基板管理控制器中获取与所述目标标识信息和所述核心处理器的类型对应的目标固件程序升级文件,其中,所述基板管理控制器中包括转换闪存卡,所述转换闪存卡中存储有目标对象传输的固件程序升级文件;将所述目标固件程序升级文件复制至内存中执行,以对所述高速外围组件设备进行初始化。2.根据权利要求1所述的方法,其特征在于,若识别到有高速外围组件设备接入所述服务器,获取所述高速外围组件设备的目标标识信息,包括:在识别到有高速外围组件设备通过所述服务器的高速外围组件接口接入所述服务器时,从所述高速外围组件设备的设备配置空间获取所述高速外围组件设备的所述目标标识信息,其中,所述目标标识信息中至少包括:所述高速外围组件设备对应的第一厂商标识和第一设备标识。3.根据权利要求2所述的方法,其特征在于,在从基板管理控制器中获取与所述目标标识信息和所述核心处理器的类型对应的目标固件程序升级文件之前,所述方法还包括:所述基板管理控制器获取所述目标对象传输的固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中;所述基板管理控制器调用管理模块依据所述转换闪存卡中的所述固件程序升级文件生成虚拟通用串行总线设备。4.根据权利要求3所述的方法,其特征在于,所述基板管理控制器获取所述目标对象传输的固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中,包括:所述基板管理控制器调用所述管理模块获取所述目标对象在所述基板管理控制器对应的交互界面中上传的所述固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中;或,所述基板管理控制器接收所述目标对象通过终端设备复制的所述固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中;或,所述基板管理控制器调用所述管理模块从所述服务器所在机房的管理节点服务器中下载所述固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中,其中,所述管理节点服务器中存储有所述目标对象上传的所述固件程序升级文件。5.根据权利要求3所述的方法,其特征在于,从基板管理控制器中获取与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件,包括:通过平台控制集线器的通用串行总线接口从所述基板管理控制器的所述虚拟通用串行总线设备中获取与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件。6.根据权利要求2所述的方法,其特征在于,从基板管理控制器中获取与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件,包括:
对于所述基板管理控制器中的任一所述固件程序升级文件,依据所述固件程序升级文件的数据结构信息确定所述固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型,其中,所述节点类型用于表示所述固件程序升级文件支持的核心处理器类型;在所述第一厂商标识和所述第二厂商标识匹配、所述第一设备标识和所述第二设备标识匹配、所述核心处理器的类型与所述节点类型匹配时,确定所述固件程序升级文件为所述目标固件程序升级文件;从所述基板管理控制器中获取所述目标固件程序升级文件。7.根据权利要求6所述的方法,其特征在于,在依据所述固件程序升级文件的数据结构信息确定所述固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型之前,所述方法还包括:检测所述固件程序升级文件的扩展只读存储器头部信息中是否存在目标标识符;若所述扩展只读存储器头部信息中存在所述目标标识符,确定所述固件程序升级文件合法,依据所述固件程序升级文件的数据结构信息确定所述固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型;若所述扩展只读存储器头部信息中不存在所述目标标识符,确定所述固件程序升级文件不合法,所述固件程序升级文件不是所述目标固件程序升级文件。8.根据权利要求6所述的方法,其特征在于,所述方法还包括:在所述基板管理控制器中不存在与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件时,从与所述高速外围组件设备对应的扩展只读存储器中获取与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件。9.一种服务器,其特征在于,包括:主板和核心处理器,所述主板中包括:基板管理控制器,基本输入输出系统芯片和高速外围组件接口,其中,所述基板管理控制器中包括转换闪存卡,所述转换闪存卡中存储有目标对象传输的固件程序升级文件;所述基本输入输出系统芯片中存储有基本输入输出系统程序;所述高速外围组件接口用于外接高速外围组件设备;所述核心处理器用于在所述服务器开机时,执行所述基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入所述服务器,获取所述高速外围组件设备的目标标识信息;从所述基板管理控制器中获取与所述目标标识信息和所述核心处理器的类型对应的目标固件程序升级文件;将所述目标固件程序升级文件复制至内存中执行,以对所述高速外围组件设备进行初始化。10.根据权利要求9所述的服务器,其特征在于,所述核心处理器用于在识别到有高速外围组件设备通过所述高速外围组件接口接入所述服务器时,从所述高速外围组件设备的设备配置空间获取所述高速外围组件设备的所述目标标识信息,其中,所述目标标识信息中至少包括:所述高速外围组件设备对应的第一厂商标识和第一设备标识。11.根据权利要求10所述的服务器,其特征在于,所述基板管理控制器中还包括管理模块,其中,所述基板管理控制器用于获取所述目标对象传输的固件程序升级文件,并将所述固件
程序升级文件存储至所述转换闪存卡中;调用所述管理模块依据所述转换闪存卡中的所述固件程序升级文件生成虚拟通用串行总线设备。12.根据权利要求11所述的服务器,其特征在于,所述基板管理控制器用于调用所述管理模块获取所述目标对象在所述基板管理控制器对应的交互界面中上传的所述固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中;或,所述基板管理控制器用于接收所述目标对象通过终端设备复制的所述固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中;或,所述基板管理控制器用于调用所述管理模块从所述服务器所在机房的管理节点服务器中下载所述固件程序升级文件,并将所述固件程序升级文件存储至所述转换闪存卡中,其中,所述管理节点服务器中存储有所述目标对象上传的所述固件程序升级文件。13.根据权利要求11所述的服务器,其特征在于,所述主板中还包括平台控制集线器,其中,所述核心处理器用于通过所述平台控制集线器的通用串行总线接口从所述基板管理控制器的所述虚拟通用串行总线设备中获取与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件。14.根据权利要求10所述的服务器,其特征在于,对于所述基板管理控制器中的任一所述固件程序升级文件,所述核心处理器用于依据所述固件程序升级文件的数据结构信息确定所述固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型,其中,所述节点类型用于表示所述固件程序升级文件支持的核心处理器类型;在所述第一厂商标识和所述第二厂商标识匹配、所述第一设备标识和所述第二设备标识匹配、所述核心处理器的类型与所述节点类型匹配时,确定所述固件程序升级文件为所述目标固件程序升级文件;从所述基板管理控制器中获取所述目标固件程序升级文件。15.根据权利要求14所述的服务器,其特征在于,所述核心处理器还用于在依据所述固件程序升级文件的数据结构信息确定所述固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型之前,检测所述固件程序升级文件的扩展只读存储器头部信息中是否存在目标标识符;若所述扩展只读存储器头部信息中存在所述目标标识符,确定所述固件程序升级文件合法,依据所述固件程序升级文件的数据结构信息确定所述固件程序升级文件对应的第二厂商标识、第二设备标识和节点类型;若所述扩展只读存储器头部信息中不存在所述目标标识符,确定所述固件程序升级文件不合法,所述固件程序升级文件不是所述目标固件程序升级文件。16.根据权利要求14所述的服务器,其特征在于,所述核心处理器还用于在所述基板管理控制器中不存在与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件时,从与所述高速外围组件设备对应的扩展只读存储器中获取与所述目标标识信息和所述核心处理器的类型对应的所述目标固件程序升级文件。17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至8中任意一项所述的高
速外围组件设备的固件程序升级方法的步骤。

技术总结
本申请实施例提供了一种高速外围组件设备的固件程序升级方法及服务器,其中,该方法包括:在服务器开机时,执行基本输入输出系统程序进行自检;自检过程中,若识别到有高速外围组件设备接入服务器,获取高速外围组件设备的目标标识信息;从基板管理控制器中获取与目标标识信息和核心处理器的类型对应的目标固件程序升级文件,其中,基板管理控制器中包括转换闪存卡,转换闪存卡中存储有目标对象传输的固件程序升级文件;将目标固件程序升级文件复制至内存中执行,以对高速外围组件设备进行初始化。通过本申请,解决了相关技术中针对高速外围组件设备的固件程序升级过程相对复杂的技术问题。的技术问题。的技术问题。


技术研发人员:于明 王兴隆 翟庆伟
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.06.29
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐