CN118170422A - Bmc固件架构设计方法、装置、电子设备及存储介质 - Google Patents
Bmc固件架构设计方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118170422A CN118170422A CN202410245511.3A CN202410245511A CN118170422A CN 118170422 A CN118170422 A CN 118170422A CN 202410245511 A CN202410245511 A CN 202410245511A CN 118170422 A CN118170422 A CN 118170422A
- Authority
- CN
- China
- Prior art keywords
- pcie
- configuration table
- configuration
- board card
- bmc firmware
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013461 design Methods 0.000 title claims abstract description 40
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 238000011161 development Methods 0.000 claims abstract description 47
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000001514 detection method Methods 0.000 claims description 13
- 230000009286 beneficial effect Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 24
- 238000007726 management method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请适用于服务器技术领域,提供了BMC固件架构设计方法、装置、电子设备及存储介质,包括:确定PCIe配置表;根据所述PCIe配置表,建立关于板卡的配置描述文件库;所述板卡与所述计算机系统中的主板连接;根据所述配置描述文件库,确定所述BMC固件的开发配置信息,以基于所述开发配置信息进行所述BMC固件的架构开发;本申请利于提高BMC固件的架构开发效率。
Description
技术领域
本申请属于服务器技术领域,尤其涉及BMC固件架构设计方法、装置、电子设备及存储介质。
背景技术
BMC(Baseboard Management Controller,基板管理控制器)系统是服务器带外管理系统,已成为服务器系统必不可缺的一部分,用于对服务器设备进行集中管理运行监控,具有故障报警分析、远程部署配置、电源能耗管理和设备配置管理等能力。
BMC系统包括BMC硬件和BMC固件。其中BMC硬件平台提供了对服务器电源、显卡、网卡、风扇等关键硬件的管理接口,以及计算模块、视频压缩模块等硬件模块,具有独立供电、独立I/O物理接口等功能,可直接接入宿主服务器主板。
BMC固件用于控制BMC系统实现相关服务器集中管理运行的监控功能,包括服务器设备运行状态监视、重新启动、重装系统、通过远程KVM功能监视系统屏幕等功能。BMC固件具有嵌入式操作系统内核,内置了网络服务器,管理员可以远程登录BMC实现对服务器的电源管理、日志查看等操作。同时,BMC支持IPMI(Intelligent Platform ManagementInterface,智能型平台管理接口)、SNMP(Simple Network Management Protocol,简单网络管理协议)、MCTP(Management Component Transport Protocol,管理组件传输协议)等工业协议,实现了对服务器电压、温度、风扇转速等硬件状态和操作系统状态的全面监控。
BMC系统独立于服务器带内组件(如CPU、操作系统等),无论服务器是否安装操作系统、是否开机、无论处理器、BIOS或操作系统的类型或运行状态如何,BMC系统都能提供服务器设备管理和监测功能;甚至在操作系统其余部分不能使用时,仍能执行恢复操作。
一般服务器整机接入有多种板卡。而不同板卡所携带的传感器数量和性质、硬件线路连线、电子标签等配置信息均存在一定的差异,导致在BMC固件的开发设计过程中,往往随着板卡硬件和配置的不同,BMC固件的架构设计也需要随之调整;也就造成BMC开发过程中大量的适配工作,机型众多的情况下此问题显得更加严重。上述这些问题导致BMC固件的架构开发效率低下。
发明内容
本申请实施例提供了BMC固件架构设计方法、装置、电子设备及存储介质,利于提高BMC固件的架构开发效率。
第一方面,本申请实施例提供了一种BMC固件架构设计方法,应用于计算机系统中,包括:
确定PCIe配置表;
根据所述PCIe配置表,建立关于板卡的配置描述文件库;所述板卡与所述计算机系统中的主板连接;
根据所述配置描述文件库,确定所述BMC固件的开发配置信息,以基于所述开发配置信息进行所述BMC固件的架构开发。
在第一方面的一种可能的实现方式中,所述确定PCIe配置表,包括:
获取预设PCIe拆分判据表以及各个板卡的装置识别码;
根据所述预设PCIe拆分判据表和所述装置识别码,确定各个板卡在所述PCIe的插槽上的插槽号分配信息;所述PCIe配置表包括所述插槽号分配信息。
在第一方面的一种可能的实现方式中,在所述根据所述PCIe配置表,建立关于板卡的配置描述文件库之前,还包括步骤:
确定关于所述计算机系统中的部件状态的监控项需求和部件配置信息;
所述根据所述PCIe配置表,建立关于板卡的配置描述文件库,包括:
根据所述监控项需求、所述部件配置信息以及所述PCIe配置表,建立关于板卡的配置描述文件库。
在第一方面的一种可能的实现方式中,所述方法还包括步骤:
BMC将所述PCIe配置表写入至复杂可编程逻辑器件;
BIOS从所述复杂可编程逻辑器件中获取所述PCIe配置表,并根据所述PCIe配置表,对PCIe进行拆分。
在第一方面的一种可能的实现方式中,所述方法还包括步骤:
获取计算机上一次开机操作对应的上一PCIe配置表;
判断当前的所述PCIe配置表与所述上一PCIe配置表是否相同;
若不同,则依据当前的所述PCIe配置表,完成所述计算机的开机操作。
在第一方面的一种可能的实现方式中,所述方法还包括步骤:
当检测到与主板连接的板卡中,存在不位于所述PCIe配置表中的板卡时,将所述PCIe配置表确定为无效配置表,且禁止BIOS上电启动。
在第一方面的一种可能的实现方式中,所述方法还包括步骤:
根据所述配置描述文件库,确定所述板卡上的传感器的探测信号和查询命令;
根据所述探测信号或者所述查询命令,识别所述板卡上的传感器;
确定所述传感器的连接关系;
根据所述传感器的连接关系,构建传感器的拓扑结构并进行管理。
第二方面,本申请实施例提供了一种BMC固件架构设计装置,应用于计算机系统中,包括:
配置表确定模块,确定PCIe配置表;
配置描述文件库建立模块,根据所述PCIe配置表,建立关于板卡的配置描述文件库;所述板卡与所述计算机系统中的主板连接;
开发配置信息确定模块,根据所述配置描述文件库,确定所述BMC固件的开发配置信息,以基于所述开发配置信息进行所述BMC固件的架构开发。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的BMC固件架构设计方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的BMC固件架构设计方法。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例在计算机系统的主板插槽需要进行PCIe拆分的场景下,先确定PCIe配置表,然后建立关于板卡的配置描述文件库,基于该配置描述文件库确定BMC固件的开发配置信息,以实现开发架构设计,从而实现在BMC固件开发过程中,大部分关于板卡的定制和主板差异内容可以通过配置开发去实现,实现BMC固件主体架构设计代码不需要进行改动,利于提高BMC固件的架构开发效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的BMC固件架构设计方法的流程示意图;
图2是本申请另一实施例提供的BMC固件架构设计方法的流程示意图;
图3是本申请另一实施例提供的BMC固件架构设计方法的流程示意图;
图4是本申请另一实施例提供的BMC固件架构设计方法的流程示意图;
图5是本申请实施例提供的BMC固件架构设计装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请一实施例公开了一种BMC固件架构设计方法。该架构设计方法应用于计算机系统中。该计算机系统可以为服务器系统。
在一种可能的实现方式中,BMC系统的架构设计中可以包括:物理层(PhysicalLayer)、驱动层(Driver Layer)、调用库(Library)、通信总线层(Communication BusLayer)、核心功能模块(Core Function Modules)和接口层(Interface Layer)。
其中,物理层是计算机网络中的最底层,负责传输数据的实际物理媒介上的比特流,传输媒介比如可以为I2C(Inter-Integrated Circuit,一种同步半双工串行通信总线)总线。物理层的作用是将比特流转换为可以在传输媒介上传输的信号。
驱动层是位于操作系统和硬件之间的软件层。它提供了操作系统与硬件设备之间的接口,使得操作系统可以控制和操作硬件设备。驱动层的作用是将操作系统的请求转换为硬件设备所需的操作指令,同时将硬件设备的状态信息传递给操作系统。
调用库是一组预先编写好的函数和过程的集合,提供了一些常用的功能和工具,以便开发人员能够更方便地编写应用程序。它的作用是提供了一种标准化的接口,使得开发人员能够重用已经编写好的代码,从而减少开发时间和工作量。
通信总线层是BMC系统中负责数据传输的通信协议。它提供了一种标准化的数据传输方式,以便各个组件间能够进行数据交换和通信。通信总线层的作用是建立组件之间的通信连接,使得数据能够在不同组件之间传输。
核心功能模块是一个软件系统中的关键部分,包含了系统的主要功能和业务逻辑。它根据系统的需求,实现了系统的核心功能,例如日志管理、用户认证、数据处理等。核心功能模块的作用是提供系统的基本功能,为上层应用程序提供服务。
接口层是交互的接口,如SNMP、IPMI。它定义接口数据格式、通信协议和交互方式,以确保与外部应用之间能够有效地进行数据交换和协作。接口层的作用是提供了系统集成开发的连接桥梁,使得外部应用可以调用和交互,实现系统的整体功能扩展。
上述这些各个部分之间的连接关系和数据交互流程可以描述为以下几个步骤:
1)数据从上层的应用程序通过接口层传递给核心功能模块。
2)核心功能模块根据接收到的数据进行处理,并可能需要调用驱动层的接口与硬件设备进行交互。
3)驱动层将核心功能模块的请求转换为硬件设备所需的操作指令,并通过物理层传输到硬件设备。
4)硬件设备执行操作指令,并将处理结果通过物理层传输给驱动层。
5)驱动层将硬件设备的状态信息和处理结果传递给核心功能模块。
6)核心功能模块根据处理结果和硬件设备的状态信息,生成相应的数据,并通过接口层传递给上层的应用程序。
这样,数据在各个层级之间进行传递和转换,实现了系统的功能和数据交互。
如图1所示,本实施例中,上述提供的BMC固件架构设计方法包括步骤:
S110,确定PCIe配置表。其中PCIe是Peripheral Component InterconnectExpress的简写,它是一种高速串行计算机扩展总线标准,该标准允许外围设备连接到主板。
具体来说,该PCIe配置表中记录有板卡和计算机系统的主板上PCIe插槽之间的映射关系。本实施例中,上述计算机系统为服务器系统,上述PCIe插槽即位于服务器系统的主板上。在一些情况下,一个PCIe插槽上可以插接有多个板卡,或者一些情况下一个板卡需要和多个PCIe插槽插接。因此,基于上述PCIe配置表即可以确定这些信息。也即,PCIe插槽可以根据板卡的连接需要进行拆分或者合并,这样可以提供更好的灵活性和资源利用率。
S120,根据上述PCIe配置表,建立关于板卡的配置描述文件库。上述板卡与上述计算机系统中的主板连接。其中,本实施例中,板卡、BMC硬件均与服务器系统中的主板连接。上述配置描述文件库记录有板卡名称、板卡识别码以及板卡和主板的PCIe插槽之间的连接关系,在一种可能的实现方式中,配置描述文件库还记录有板卡在硬件设计上的总线关系、从机地址和板卡所携带的传感器名称等信息,并进行格式化表达,比如以JSON格式表达。
S130,根据上述配置描述文件库,确定上述BMC固件的开发配置信息,以基于上述开发配置信息进行BMC固件的架构开发。也即,本实施例在BMC固件架构开发过程中,通过上述配置描述文件库对板卡资源进行管理,这样不需要把关于板卡资源的管理代码写入具体架构代码中,通过配置描述文件库可以去发现板卡,将各个板卡差异性的东西配置化处理,有利于提升BMC固件的适配效率和架构开发效率。
本申请实施例在计算机系统的主板插槽需要进行PCIe拆分的场景下,先确定PCIe配置表,然后建立关于板卡的配置描述文件库,基于该配置描述文件库确定BMC固件的开发配置信息,以实现开发架构设计,从而实现在BMC固件开发过程中,大部分关于板卡的定制和主板差异内容可以通过配置开发去实现,实现BMC固件主体架构设计代码不需要进行改动,利于提高BMC固件的架构开发效率。
在一些实施例中,PCIe配置表还可以记录有PCIe插槽上插槽号分配给板卡的分配信息、PCIe外设及NVMe硬盘在位信息,后续计算机系统中的BIOS(Basic Input OutputSystem,基本输入输出系统)可以根据这些分配信息对插槽号进行分配。
在一些实施例中,需要根据板卡的不同配置,自动对服务器系统主板的PCIe插槽进行拆分以及对插槽号(slot号)进行分配,同时将每个PCIe端口的热插拔属性及外设在位信息识别出来。拆分之后,一个PCIe插槽分割为多个逻辑通道,每一个逻辑通道可以连接一个设备。如图2所示,该实施例中,计算机系统、BMC、BIOS和CPLD(Complex ProgrammableLogic Device,复杂可编程逻辑器件)四者的交互逻辑包括以下步骤:
S210,BMC启动完成。
S220,BMC启动完成后,通过I2C总线从计算机系统读取各板卡的Board ID(装置识别码)。
S230,形成PCIe配置表。该配置表包括:PCIe拆分信息,slot号分配,PCIe外设以及NVMe硬盘在位信息。
S240,将PCIe配置表中的PCIe拆分信息写入CPLD寄存器。这样可以便于CPU端管理PCIe热插拔中断信号。
S250,BIOS启动。
S260,BIOS读取PCIe拆分信息。该步骤中,BIOS可以从BMC读取到PCIe拆分信息,也可以从CPLD寄存器获取PCIe拆分信息,这样可以保证BMC固件架构设计的可靠性。
S270,BIOS根据PCIe拆分信息,对PCIe进行拆分及进行插槽号分配。
在一些可选实施例中,可以读取BMC中关于PCIe插槽号的寄存器中预设比特位信息,获取不支持热插拔PCIe设备的在位信息,以作为关闭对应的PCIe寄存器依据,也即关闭对应位置的PCIe插槽,这样可以实现节能的目的。
在一些可选实施例中,在上述图1对应的实施例的基础上,如图3所示,上述步骤S110包括:
S111,获取预设PCIe拆分判据表以及各个板卡的装置识别码。
S112,根据上述预设PCIe拆分判据表,确定PCIe配置表。
S113,根据上述PCIe配置表和上述装置识别码,确定各个板卡在上述PCIe的插槽上的插槽号分配信息。上述PCIe配置表包括上述插槽号分配信息。
其中,上述预设PCIe拆分判据表可以记录有板卡的带宽需求信息、PCIe插槽的带宽信息等,基于该预设PCIe拆分判据表,可以确定PCIe配置表。再结合各个板卡的装置识别码,那么就可以在PCIe配置表中生成各个板卡的插槽号分配信息,从而完成对PCIe插槽的拆分或者合并,这样可以提供更好的灵活性和资源利用率,实现对服务器系统主板上PCIe插槽的更好利用。
在一些可选实施例中,在上述图1对应的实施例的基础上,在上述步骤S120之前,上述方法还包括:
S140,确定关于上述计算机系统中的部件状态的监控项需求和部件配置信息。该步骤可以位于步骤S110和步骤S120之间,也可以位于步骤S110之前。
上述步骤S120替换为步骤S121:
根据上述监控项需求、上述部件配置信息以及上述PCIe配置表,建立关于板卡的配置描述文件库。
这样可以实现从更多维度生成配置文件资源池,更好地对板卡资源进行管理,更好地实现不同板卡中差异性的东西配置化处理,有利于提升BMC固件的适配效率和架构开发效率。
本实施例中,可以对计算机系统中的各个板卡部件(例如硬件设备、传感器等)进行管理和监控,以更好地实现系统中板卡的设备识别、状态监控和配置管理。
具体来说,根据配置描述文件,识别系统中连接的各个部件和设备,并为其分配唯一的标识符。根据配置描述文件中监控项需求,监测各个部件的状态信息,例如温度、电压、工作状态等,并及时报警或采取相应的措施。根据配置描述文件,管理各个部件的配置信息,例如设备的参数设置、工作模式等;从而能够更好地管理板卡资源。
在一些可选实施例中,在上述图1对应的实施例的基础上,还包括步骤:
BMC将上述PCIe配置表写入至复杂可编程逻辑器件(即CPLD)。
BIOS从上述复杂可编程逻辑器件中获取上述PCIe配置表,并根据上述PCIe配置表,对PCIe进行拆分。
在一些可选实施例中,在上述图1对应的实施例的基础上,还包括步骤:
获取计算机上一次开机操作对应的上一PCIe配置表。
判断当前的上述PCIe配置表与上述上一PCIe配置表是否相同。
若不同,则依据当前的上述PCIe配置表,完成上述计算机的开机操作。也即,当BMC重启后识别与前次配置不同时,输出日志,并以当前配置开机。
若相同,则依据当前的上述PCIe配置表开机。
这样可以实现以更好的时效性管理板卡资源,利于提高BMC固件架构设计的可靠性和灵活性。
在一些可选实施例中,在上述图1对应的实施例的基础上,还包括步骤:
当检测到与主板连接的板卡中,存在不位于上述PCIe配置表中的板卡时,将上述PCIe配置表确定为无效配置表,且禁止BIOS上电启动。
这样可以避免服务器系统中的CPU被烧坏,利于提高BMC固件架构设计的可靠性。
在一些可选实施例中,上述PCIe配置表可以手动修改PCIe的拆分及slot号分配信息方法,在BMC重启后可生效,这样利于提高BMC固件架构设计的灵活性。
在一些可选实施例中,在上述图1对应的实施例的基础上,如图4所示,还包括步骤:
S150,根据上述配置描述文件库,确定板卡上的传感器的探测信号和查询命令。
S160,根据上述探测信号或者上述查询命令,识别所述板卡上的传感器。
S170,确定上述传感器的连接关系。
S180,根据上述传感器的连接关系,构建传感器的拓扑结构并进行管理。
具体实施时,可以基于上述探测信号和查询命令,与板卡中的传感器进行通信,以便发现其存在和识别。根据板卡中传感器之间的连接关系和通信交互,构建传感器的拓扑结构,例如树状结构、网状结构等。还管理传感器的拓扑结构,包括增加、删除、修改传感器的连接关系等。
这样可以实现以更灵活地管理板卡资源,利于提高BMC固件架构设计的灵活性。
本申请上述实施例可以在BMC软件设计过程中仅关注对格式化的配置解析和加载,通过后期生产配置导入,将BMC、板卡硬件以及预设配置关联起来,做到对服务器产品的柔性管理。在架构设计上灵活兼容,实现设备自发现和属性节点自生成能力,极大地提升BMC架构统一性和开发效率,将定制化开发从架构开发中分离出去,实现定制开发柔性化,板卡的差异内容通过配置开发去实现。
应理解,上述实施例中各步骤的序号并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
需要说明的是,本申请公开的上述各个方法实施例可以进行自由组合,且自由组合后得到的技术方案也在本申请的保护范围之内。
对应于上文实施例所述的BMC固件架构设计方法,图5示出了本申请实施例提供的BMC固件架构设计装置的结构框图,该装置应用于计算机系统中,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该BMC固件架构设计装置包括:
配置表确定模块51,确定PCIe配置表。
配置描述文件库建立模块52,根据上述PCIe配置表,建立关于板卡的配置描述文件库。上述板卡与上述计算机系统中的主板连接。
开发配置信息确定模块53,根据上述配置描述文件库,确定上述BMC固件的开发配置信息。
在一些可选实施例中,在上述图5对应的实施例的基础上,配置表确定模块51包括:
拆分判据表获取单元,获取预设PCIe拆分判据表以及各个板卡的装置识别码。
插槽号分配确定单元,获根据上述预设PCIe拆分判据表和上述装置识别码,确定各个板卡在上述PCIe的插槽上的插槽号分配信息。上述PCIe配置表包括上述插槽号分配信息。
在一些可选实施例中,在上述图5对应的实施例的基础上,上述装置还包括:
监控项需求确定模块,确定关于上述计算机系统中的部件状态的监控项需求和部件配置信息。
上述开发配置信息确定模块53还用于根据上述监控项需求、上述部件配置信息以及上述PCIe配置表,建立关于板卡的配置描述文件库。
在一些可选实施例中,在上述图5对应的实施例的基础上,上述装置还包括:
CPLD写入模块,BMC将上述PCIe配置表写入至复杂可编程逻辑器件。
PCIe拆分模块,BIOS从上述复杂可编程逻辑器件中获取上述PCIe配置表,并根据上述PCIe配置表,对PCIe进行拆分。
在一些可选实施例中,在上述图5对应的实施例的基础上,上述装置还包括:
上一PCIe配置表获取模块,获取计算机上一次开机操作对应的上一PCIe配置表。
配置表比对模块,判断当前的上述PCIe配置表与上述上一PCIe配置表是否相同。
若不同,则执行开机操作执行模块:依据当前的上述PCIe配置表,完成上述计算机的开机操作。
在一些可选实施例中,在上述图5对应的实施例的基础上,上述装置还包括:
无效板卡处理模块,当检测到与主板连接的板卡中,存在不位于上述PCIe配置表中的板卡时,将上述PCIe配置表确定为无效配置表,且禁止BIOS上电启动。
在一些可选实施例中,在上述图5对应的实施例的基础上,上述装置还包括:
传感器探测模块,根据上述配置描述文件库,确定板卡上的传感器的探测信号和查询命令。
传感器识别模块,根据上述探测信号或者上述查询命令,识别所述板卡上的传感器。
传感器连接关系确定模块,确定上述传感器的连接关系。
传感器拓扑结构构建模块,根据上述传感器的连接关系,构建传感器的拓扑结构并进行管理。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种电子设备,如图6所示,该电子设备60包括:至少一个处理器601、存储器602以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序603,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种BMC固件架构设计方法,其特征在于,应用于计算机系统中,包括:
确定PCIe配置表;
根据所述PCIe配置表,建立关于板卡的配置描述文件库;所述板卡与所述计算机系统中的主板连接;
根据所述配置描述文件库,确定所述BMC固件的开发配置信息,以基于所述开发配置信息进行所述BMC固件的架构开发。
2.如权利要求1所述的BMC固件架构设计方法,其特征在于,所述确定PCIe配置表,包括:
获取预设PCIe拆分判据表以及各个板卡的装置识别码;
根据所述预设PCIe拆分判据表和所述装置识别码,确定各个板卡在所述PCIe的插槽上的插槽号分配信息;所述PCIe配置表包括所述插槽号分配信息。
3.如权利要求1所述的BMC固件架构设计方法,其特征在于,在所述根据所述PCIe配置表,建立关于板卡的配置描述文件库之前,还包括步骤:
确定关于所述计算机系统中的部件状态的监控项需求和部件配置信息;
所述根据所述PCIe配置表,建立关于板卡的配置描述文件库,包括:
根据所述监控项需求、所述部件配置信息以及所述PCIe配置表,建立关于板卡的配置描述文件库。
4.如权利要求1所述的BMC固件架构设计方法,其特征在于,所述方法还包括步骤:
BMC将所述PCIe配置表写入至复杂可编程逻辑器件;
BIOS从所述复杂可编程逻辑器件中获取所述PCIe配置表,并根据所述PCIe配置表,对PCIe进行拆分。
5.如权利要求1所述的BMC固件架构设计方法,其特征在于,所述方法还包括步骤:
获取计算机上一次开机操作对应的上一PCIe配置表;
判断当前的所述PCIe配置表与所述上一PCIe配置表是否相同;
若不同,则依据当前的所述PCIe配置表,完成所述计算机的开机操作。
6.如权利要求1所述的BMC固件架构设计方法,其特征在于,所述方法还包括步骤:
当检测到与主板连接的板卡中,存在不位于所述PCIe配置表中的板卡时,将所述PCIe配置表确定为无效配置表,且禁止BIOS上电启动。
7.如权利要求1所述的BMC固件架构设计方法,其特征在于,所述方法还包括步骤:
根据所述配置描述文件库,确定所述板卡上的传感器的探测信号和查询命令;
根据所述探测信号或者所述查询命令,识别所述板卡上的传感器;
确定所述传感器的连接关系;
根据所述传感器的连接关系,构建传感器的拓扑结构并进行管理。
8.一种BMC固件架构设计装置,其特征在于,应用于计算机系统中,包括:
配置表确定模块,确定PCIe配置表;
配置描述文件库建立模块,根据所述PCIe配置表,建立关于板卡的配置描述文件库;所述板卡与所述计算机系统中的主板连接;
开发配置信息确定模块,根据所述配置描述文件库,确定所述BMC固件的开发配置信息,以基于所述开发配置信息进行所述BMC固件的架构开发。
9.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410245511.3A CN118170422A (zh) | 2024-02-29 | 2024-02-29 | Bmc固件架构设计方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410245511.3A CN118170422A (zh) | 2024-02-29 | 2024-02-29 | Bmc固件架构设计方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118170422A true CN118170422A (zh) | 2024-06-11 |
Family
ID=91355492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410245511.3A Pending CN118170422A (zh) | 2024-02-29 | 2024-02-29 | Bmc固件架构设计方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118170422A (zh) |
-
2024
- 2024-02-29 CN CN202410245511.3A patent/CN118170422A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103412769B (zh) | 外接卡参数配置方法、设备以及系统 | |
US10127170B2 (en) | High density serial over LAN management system | |
US10515043B2 (en) | Smart interface card control method and apparatus through a virtualized management interface | |
US8397053B2 (en) | Multi-motherboard server system | |
CN109324991B (zh) | 一种pcie设备的热插拔装置、方法、介质及系统 | |
WO2016082522A1 (zh) | 管理路径确定方法及装置 | |
CN103955441A (zh) | 一种设备管理系统、方法及一种io扩展接口 | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN116723198A (zh) | 一种多节点服务器主机控制方法、装置、设备、存储介质 | |
CN111459632A (zh) | 一种供终端应用程序调用的串口代理及实现方法 | |
CN113658351B (zh) | 一种产品生产的方法、装置、电子设备及存储介质 | |
CN110795369A (zh) | 基于gpio管脚实现mido从机功能的方法及终端 | |
WO2023016379A1 (zh) | 计算机系统、基于PCIe设备的控制方法及相关设备 | |
CN116126613A (zh) | 一种PCIe设备的位置检测方法、装置、电子设备及存储介质 | |
CN118170422A (zh) | Bmc固件架构设计方法、装置、电子设备及存储介质 | |
CN116009785A (zh) | 一种硬盘管理的方法及计算设备 | |
CN211044232U (zh) | 一种基于iic扩展方式的服务器数据监控装置及服务器 | |
CN113452538B (zh) | 控制设备、执行设备、设备管理方法和设备管理系统 | |
CN111092765B (zh) | 智能驱动方法、系统、电子设备及可读存储介质 | |
CN111835539B (zh) | 设备通信方法、装置及系统和存储介质 | |
WO2023160699A1 (zh) | 一种单板管理系统、方法、装置及设备 | |
CN118689398A (zh) | 一种服务器中硬盘拓扑信息获取方法及服务器 | |
CN117319255A (zh) | 网卡带外管理功能的测试方法、装置、介质以及终端 | |
CN118467426A (zh) | 一种服务器部件的通信方法、服务器及可编程逻辑器件 | |
CN116860545A (zh) | 网卡监控方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |