掌桥专利:专业的专利平台
掌桥专利
首页

PCIE设备的检测方法及装置、BIOS及存储介质

文献发布时间:2024-04-18 19:58:30


PCIE设备的检测方法及装置、BIOS及存储介质

技术领域

本申请实施例涉及计算机领域,具体而言,涉及一种PCIE设备的检测方法及装置、BIOS及存储介质。

背景技术

现如今,技术发展对服务器运行稳定性的要求越来越高,在实际应用场景中,服务器往往需要被配置和多个PCIE、SATA等设备相连接,相应的出现了需要实现对设备状态的监控、告警、定位的功能需求。

相关技术中,大多通过服务器固件的资产信息功能来实现上述目的。服务器固件的资产信息功能,是通过基本输入输出系统BIOS收集中央处理器CPU、图形处理器GPU、网卡、机械硬盘HDD(NVME、SATA、M.2、U.2、E3.S等)等主要部件,及PCIE、串口硬盘SATA等设备的相关信息,发送给基板管理控制器BMC,然后由BMC显示到WebUI界面的功能,这个功能中的一项重要信息就是设备的位置信息,通过位置信息,用户可以把具体的设备,与机器中板卡上的丝印标识的物理位置对应起来,从而对应到机器上的具体位置,便于机器检修、故障件定位、更换配件。

相关技术中,PICE设备的设备信息通常是BIOS通过资产信息功能获取的。这种依赖于BIOS的PICE设备信息收集方式单一,而且对目的机器的配置和相关软硬件的连接关系要求精准,并且其中任何一个环节出现故障都可能会导致获取的PICE设备信息出现差错。

发明内容

本申请实施例提供了一种PCIE设备的检测方法及装置、BIOS及存储介质,以至少解决相关技术中对PCIE设备信息的检测较容易出错的问题。

根据本申请的一个实施例,提供了一种PCIE设备的检测方法,包括:采集第一信息集,其中,所述第一信息集中包括目标机器的第一PCIE设备集中包括的各个PCIE设备的设备信息;接收基板管理控制器BMC发送的第二信息集,其中,所述第二信息集中包括所述BMC采集的所述目标机器的第二PCIE设备集中包括的各个PCIE设备的设备信息;将所述第一信息集与所述第二信息集进行匹配,并在确定所述第一信息集与所述第二信息集不匹配的情况下,确定出现异常的PCIE设备。

在一个示例性实施例中,采集第一信息集,包括以下至少之一:通过资产信息功能获取所述第一信息集;通过系统管理基本输入输出系统SMBIOS Type9功能获取第一信息集;通过资产信息功能获取第三信息集,其中,所述第三信息集包括所述目标机器的第三PCIE设备集中包括的各个PCIE设备的设备信息,以及通过系统管理基本输入输出系统SMBIOS Type9功能获取第四信息集,其中,所述第四信息集包括所述目标机器的第四PCIE设备集中包括的各个PCIE设备的设备信息,在确定所述第三信息集和所述第四信息集匹配的情况下,将所述第三信息集确定为所述第一信息集。

在一个示例性实施例中,在通过资产信息功能获取所述目标机器的第三PCIE设备集中包括的各个PCIE设备的设备信息,以及通过系统管理基本输入输出系统SMBIOS Type9功能获取目标机器的第四PCIE设备集中包括的各个PCIE设备的设备信息之后,所述方法还包括:在确定所述第三PCIE设备集中包括的各个PCIE设备的设备信息与所述第四PCIE设备集中包括的各个PCIE设备的设备信息不匹配的情况下,输出第一告警信息。

在一个示例性实施例中,在将所述第三信息集确定为所述第一信息集之前,所述方法还包括通过以下方式至少之一对所述第三信息集和所述第四信息集进行匹配:基于所述第三信息集确定所述第三PCIE设备集中的所包括的第三PCIE设备的第三数量,以及,基于所述第四信息集确定所述第四PCIE设备集中所包括的PCIE设备的第四数量,将所述第三数量与所述第四数量进行比对;将所述第三信息集中包括的所述第三PCIE设备集中包括的各个PCIE设备的属性信息与所述第四信息集中包括的所述第四PCIE设备集中包括的各个PCIE设备的属性信息进行比对。

在一个示例性实施例中,将所述第一信息集与所述第二信息集进行匹配,包括以下至少之一:基于所述第一信息集确定所述第一PCIE设备集中的所包括的第一PCIE设备的第一数量,以及,基于所述第二信息集确定所述第二PCIE设备集中所包括的PCIE设备的第二数量,将所述第一数量与所述第二数量进行比对;将所述第一信息集中包括的所述第一PCIE设备集中包括的各个PCIE设备的属性信息与所述第二信息集中包括的所述第二PCIE设备集中包括的各个PCIE设备的属性信息进行比对。

在一个示例性实施例中,在接收基板管理控制器BMC发送的第二信息集之前,所述方法还包括:所述BMC通过如下方式至少之一获取所述第二信息集:获取由所述第二PCIE设备集中包括的各个PCIE设备对应发送的所述设备信息;获取基于预先配置的与所述第二PCIE设备集中包括的各个PCIE设备对应的发送方式所发送的所述设备信息。

在一个示例性实施例中,在确定出现异常的PCIE设备之后,所述方法还包括:通知所述BMC生成告警信息。

根据本申请的另一个实施例,提供了一种PCIE设备的检测装置,包括:采集模块,用于采集第一信息集,其中,所述第一信息集中包括目标机器的第一PCIE设备集中包括的各个PCIE设备的设备信息;接收模块,用于接收基板管理控制器BMC发送的第二信息集,其中,所述第二信息集中包括所述BMC采集的所述目标机器的第二PCIE设备集中包括的各个PCIE设备的设备信息;确定模块,用于将所述第一信息集与所述第二信息集进行匹配,并在确定所述第一信息集与所述第二信息集不匹配的情况下,确定出现异常的PCIE设备。

根据本申请的另一个实施例,提供了一种基本输入输出系统BIOS,其中,所述基本输入输出系统BIOS被设置为运行时执行上述任一项方法实施例中的步骤。

根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本申请,由于将BIOS主动获取的各个PCIE设备的设备信息与BMC发送的各个PCIE设备的设备信息进行匹配,确定出现异常的PCIE设备,因此,可以解决相关技术中对PCIE设备信息的检测较容易出错的问题,达到更准确的检测PCIE设备的效果。

附图说明

图1是本申请实施例的一种数据传输方法的服务器设备的硬件结构框图;

图2是本申请实施例的PCIE设备的检测方法的流程图一;

图3是本申请实施例的PCIE设备的检测方法的流程图二;

图4是本申请实施例的PCIE设备信息处理示意图一;

图5是本申请实施例的PCIE设备的检测装置的结构框图;

图6是本申请实施例的系统结构图;

图7是本申请实施例的PCIE设备信息处理示意图二。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请的实施例。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在服务器设备或者类似的运算装置中执行。以运行在服务器设备上为例,图1是本申请实施例的一种PCIE设备的检测方法的服务器设备的硬件结构框图。如图1所示,服务器设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述服务器设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器设备的结构造成限定。例如,服务器设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的PCIE设备的检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应方提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种PCIE设备的检测方法,图2是本申请实施例的PCIE设备的检测方法的流程图,如图2所示,该流程包括如下步骤:

步骤S202,采集第一信息集,其中,所述第一信息集中包括目标机器的第一PCIE设备集中包括的各个PCIE设备的设备信息;

步骤S204,接收基板管理控制器BMC发送的第二信息集,其中,所述第二信息集中包括所述BMC采集的所述目标机器的第二PCIE设备集中包括的各个PCIE设备的设备信息;

步骤S206,将所述第一信息集与所述第二信息集进行匹配,并在确定所述第一信息集与所述第二信息集不匹配的情况下,确定出现异常的PCIE设备。

在上述实施例中,所述方法的执行主体包括但不限于BIOS、操作系统OS等,此外,还可以是其他的与BIOS具备关联关系或者能够对BIOS进行控制的设备或系统,或者还可以是其他的具备类似处理能力的设备。下面以BIOS设备执行上述方法为例进行说明:

在上述实施例中,第一信息集中包括BIOS主动获取到的当前处于在位状态的PCIE设备的设备信息,所述第二信息集中包括BMC获取到的当前处于在位状态的PCIE设备的设备信息。但是由于一些PCIE设备本身结构的问题,或者与目标机器连接的方式的问题,或者其他原因会导致PCIE本身出现故障,所以,可能会存在BIOS所检测到的PCIE设备和BMC所检测到的PCIE设备可能是不完全相同,因此,会存在所述第一PCIE设备集与所述第二PCIE设备集中所包括的PCIE设备不完全相同的情况,这样,就可以基于这两个设备集来确定出存在故障的PCIE设备。此外,BIOS和BMS可根据PCIE设备的标识ID、PCIE设备的Bus、Device、Function Number(总线号、设备号、功能号)组合信息等至少之一来唯一确定获取到的PCIE设备的身份,但唯一确定PCIE设备身份的方式不限于此。当一个PCIE设备发生了故障报错,BMC会获取该设备的Bus、Device、Function Number,并利用这个数据组合的唯一性,与BIOS发送给BMC的资产信息设备属性中的Bus、Device、Function Number数据组合相匹配,并获取PCIE设备的插槽丝印位置信息,BIOS向BMS发送故障信息,由BMC对故障信息进行显示,以向设备维护人员表明这个位置信息,设备维护人员就能够直观地知道哪个PCIE设备发生了故障,并准确定位到故障设备。所述第一信息集与所述第二信息集不匹配包括但不限于:所述第一信息集与所述第二信息集中包含的PCIE设备身份不匹配、同一身份的PCIE设备的同一属性信息参数不同。

在上述实施例中,BIOS执行上述匹配操作的匹配时机可以是随机的,也可以是按照一定的周期来执行的,此外该匹配时机还可以基于实际需求进行灵活调整。

通过上述步骤,由于将BIOS主动获取的各个PCIE设备的设备信息与BMC发送的各个PCIE设备的设备信息进行匹配,确定出现异常的PCIE设备,因此,可以解决相关技术中对PCIE设备信息的检测较容易出错的问题,达到更准确的检测PCIE设备信息的效果。

其中,上述步骤S202和步骤S204的执行顺序是可以互换的,即可以先执行步骤S204,然后再执行S202,此外,还可以同时执行步骤S202和S204。

在一个可选的实施例中,采集第一信息集,包括以下至少之一:通过资产信息功能获取所述第一信息集;通过系统管理基本输入输出系统SMBIOS Type9功能获取第一信息集;通过资产信息功能获取第三信息集,其中,所述第三信息集包括所述目标机器的第三PCIE设备集中包括的各个PCIE设备的设备信息,以及通过系统管理基本输入输出系统SMBIOS Type9功能获取第四信息集,其中,所述第四信息集包括所述目标机器的第四PCIE设备集中包括的各个PCIE设备的设备信息,在确定所述第三信息集和所述第四信息集匹配的情况下,将所述第三信息集确定为所述第一信息集。

在上述实施例中,BIOS中能实现采集PCIE设备的设备信息的功能包括但不限于资产信息功能、SMBIOS Type9功能,BIOS通过不同功能所采集到的与同一目标机器连接的PCIE设备的数量或者设备信息种类可能相同或不同,这里的匹配针对的是两个功能获取的PCIE设备的数量是否一致的匹配和对PCIE设备的具体参数信息是否一致的匹配。

其中,资产信息功能和Type9功能对PICE设备的检测在BIOS等服务系统中可以是分别实现的,其中,PICE设备的插槽丝印信息、ID、Bus、Device、Function number等信息是两个功能中都有的信息,并且可以用Current Usage(当前使用状态)来判断设备是否在位,在位是In Use状态,不在位时Available状态。

通过上述步骤,提供了多种BIOS获取PCIE设备的设备信息的采集方式,此外,通过内部自检的方式,可以保证BIOS获取的PCIE设备的信息更为准确,有效提高了PCIE设备检测的准确性和可靠性。

在一个可选的实施例中,在通过资产信息功能获取所述目标机器的第三PCIE设备集中包括的各个PCIE设备的设备信息,以及通过系统管理基本输入输出系统SMBIOS Type9功能获取目标机器的第四PCIE设备集中包括的各个PCIE设备的设备信息之后,所述方法还包括:在确定所述第三PCIE设备集中包括的各个PCIE设备的设备信息与所述第四PCIE设备集中包括的各个PCIE设备的设备信息不匹配的情况下,输出第一告警信息。

在上述实施例中,当所述第三信息集和所述第四信息集不匹配时,例如,基于两个信息集所确定出来的在位PCIE设备数量和/或两个信息集中所包括的对应PCIE设备的属性信息存在差异时,BIOS会触发告警,其中,BIOS触发告警的方式可以为多种,例如,BIOS可以向BMS发送告警信息,或者由BIOS自身发送告警信息,或者由BIOS通知其他设备执行告警操作等等。其中,在向BMS发送告警信息的情况下,还可以由BMS将告警信息显示在显示装置上,根据包括但不限于设备的插槽丝印信息与唯一身份信息的对应关系,工作人员可以把PCIE设备与目标机器中板卡上的插槽丝印标识的物理位置对应起来,从而定位故障的PCIE设备,便于实现进行机器检修、故障件定位、更换配件等目的。

通过上述步骤,当BIOS内部不同功能对PCIE设备的在位情况和设备信息存在差异时,输出告警信息,可以实现帮助工作人员发现可能存在故障的PCIE设备。

在一个可选的实施例中,在将所述第三信息集确定为所述第一信息集之前,所述方法还包括通过以下方式至少之一对所述第三信息集和所述第四信息集进行匹配:

基于所述第三信息集确定所述第三PCIE设备集中的所包括的第三PCIE设备的第三数量,以及,基于所述第四信息集确定所述第四PCIE设备集中所包括的PCIE设备的第四数量,将所述第三数量与所述第四数量进行比对;

将所述第三信息集中包括的所述第三PCIE设备集中包括的各个PCIE设备的属性信息与所述第四信息集中包括的所述第四PCIE设备集中包括的各个PCIE设备的属性信息进行比对。

在上述实施例中,通过对设备集中包含的设备数量进行比对或对对应的PCIE设备的设备属性信息进行比对,可以确定出可能出现异常的PCIE设备,所述第三信息集中包括BIOS主动获取到的当前处于在位状态的PCIE设备的设备信息,所述第四信息集中包括BMC获取到的当前处于在位状态的PCIE设备的设备信息。但是,由于获取方式的差异,可能会出现所述第三PCIE设备集与所述第四PCIE设备集中的PCIE设备实际上可以相同或不同的情况。因此,可以通过上述方式实现BIOS内部获取信息的自检处理,从而保证获取到的信息的准确性。其中,各个PCIE设备的属性信息包括但不限于各个PCIE设备的插槽丝印信息、ID、Bus/Device/Function number组合信息等。所述第三信息集与所述第四信息集不匹配包括但不限于:所述第三信息集与所述第四信息集中包含的PCIE设备身份不匹配、同一身份的PCIE设备的同一设备属性信息参数不同。所述资产信息功能和所述系统管理基本输入输出系统SMBIOS Type9功能可以用Current Usage状态来判断设备是否在位,在位是In Use状态,不在位时Available状态。在本发明中,两个功能中的各PCIE设备的上述信息可以在BIOS内部做核对,用来检查两个功能各自收集到的信息、实现的功能是否正确,当数据核对有偏差时,可以作为BIOS内部的功能自检结果。

通过上述步骤,将BIOS不同功能获取到的PCIE设备的设备信息进行比对,可以实现在BIOS内部对PCIE设备的在位情况和设备信息进行多次核对,当数据比对有偏差时,既可以作为BIOS内部的功能自检结果,给开发人员提供问题功能的具体信息,同时也可以整体提高方案对PCIE设备检测的准确性和可靠性。

在一个可选的实施例中,将所述第一信息集与所述第二信息集进行匹配,包括以下至少之一:基于所述第一信息集确定所述第一PCIE设备集中的所包括的第一PCIE设备的第一数量,以及,基于所述第二信息集确定所述第二PCIE设备集中所包括的PCIE设备的第二数量,将所述第一数量与所述第二数量进行比对;将所述第一信息集中包括的所述第一PCIE设备集中包括的各个PCIE设备的属性信息与所述第二信息集中包括的所述第二PCIE设备集中包括的各个PCIE设备的属性信息进行比对。

在上述步骤中,各个PCIE设备的属性信息包括但不限于各个PCIE设备的插槽丝印信息、ID、Bus/Device/Function number组合信息等。所述第一信息集和所述第二信息集的同一PCIE设备的属性信息的种类可能相同或不同,这里的比对针对的是对同一PCIE设备的同一种属性信息的参数是否一致的比对。

通过上述步骤,当所述第一信息集和所述第二信息集中在位PCIE设备数量及各PCIE设备属性信息存在差异时,根据包括但不限于设备的插槽丝印信息与唯一身份信息的对应关系,能够较为精准的确定可能存在故障的PCIE设备的插槽位置,便于工作人员进行进一步的检查和设备维护。

在一个可选的实施例中,在接收基板管理控制器BMC发送的第二信息集之前,所述方法还包括:所述BMC通过如下方式至少之一获取所述第二信息集:获取由所述第二PCIE设备集中包括的各个PCIE设备对应发送的所述设备信息;获取基于预先配置的与所述第二PCIE设备集中包括的各个PCIE设备对应的发送方式所发送的所述设备信息。

在上述实施例中,BMC获取PCIE设备的设备信息方式有多种。在实际应用场景中,部分PCIE设备本身可以向BMC发送设备信息。还有一些PCIE设备本身不能向BMC发送设备信息,但硬件设计人员通过对软硬件资源的设计,令其他设备按照规则向BMC发送PCIE设备的设备信息。硬件设计人员,可通过PCIE设备金手指引脚设计、PCIE插槽设计、主板、Riser卡、系统芯片(CPU、PCH等)、复杂可编程逻辑器件CPLD等软硬件资源,设计出各种PCIE等设备的在位信号,该信号可以由BMC通过,包括但不限于I2C等途径获取;当有些PCIE设备本身可以提供给BMC在位感知方案的,也可以采用设备提供的方案,来探测设备的在位情况。

通过上述步骤,拓宽了BMC获取PCIE设备的设备信息的途径,这样获取到的设备信息更加准确,同时也可以整体提高方案对PCIE设备检测的准确性和可靠性。

在一个可选的实施例中,在确定出现异常的PCIE设备之后,所述方法还包括:通知所述BMC生成告警信息。

在上述实施例中,确定出现异常的PCIE设备之后,BIOS通知BMC生成警告信息日志并显示到显示界面。此外,在实际应用中,在BIOS支持生成告警信息的情况下,也可以由BIOS自身来生成告警信息,另外,还可以通知其他设备来生成上述告警信息。

通过上述步骤,技术人员可以通过查看显示界面上警告信息日志中具体的告警信息,便于技术人员快速识别问题。

下面结合具体实施例,对本发明如何进行PCIE设备检测进行整体说明:

图3是本发明具体实施例的PCIE设备的检测方法流程图,包括:

步骤S302,BIOS通过资产信息功能获取第五信息集(对应于前述的第三信息集),其中,所述第五信息集包含获取到的目标机器的第五PCIE设备集中包括的各个PCIE设备的设备信息;

步骤S304,BIOS通过系统管理基本输入输出系统SMBIOS Type9功能获取第六信息集(对应于前述的第四信息集),其中,所述第六信息集包含获取到的目标机器的第六PCIE设备集中包括的各个PCIE设备的设备信息;

步骤S306,BIOS判断所述第五信息集和所述第六信息集中PCIE设备的数量是否一致;若不一致,跳转到步骤S320;若一致,进入步骤S308;

步骤S308,BIOS判断所述第五信息集和所述第六信息集中各PCIE设备的属性信息是否一致;若不一致,跳转到步骤S320;若一致,进入步骤S310;

步骤S310,BIOS将所述第五信息集确定为第七信息集(对应于前述的第一信息集);

步骤S312,BIOS接收基板管理控制器BMC发送的第八信息集,其中,所述第八信息集(对应于前述的第二信息集)中包括所述BMC采集的所述目标机器的第八PCIE设备集中包括的各个PCIE设备的设备信息;

步骤S314,BIOS判断所述第七信息集和所述第八信息集中PCIE设备的数量是否一致;若不一致,跳转到步骤S318;若一致,进入步骤S316;

步骤S316,BIOS判断所述第七信息集和所述第八信息集中各PCIE设备的属性信息是否一致;若一致,程序结束;若不一致,进入步骤S318;

步骤S318,确定出现异常的PCIE设备;

步骤S320,输出告警。

在上述实施例中,SMBIOS Type9功能,在Spec中的定义如表1所示。

表1

在本申请实施例中,Type9功能是指在BIOS(例如,UEFI BIOS)中定义的一种设备信息报告机制。Type9是一种BIOS的扩展标准,它定义了一组数据结构和API。SMBIOS Type9功能具有包括但不限于描述和报告系统中设备的多种信息的功能,所述多种信息包括但不限于设备类型信息、设备ID信息、设备状态信息等。SMBIOS Type9对PCIE设备信息的采集内容包括:PICE设备的型号、物理位置、插槽丝印信息、ID、Bus、Device、Function number、等信息,但不限此。SMBIOS Type9与BIOS在对PCIE设备信息的检测中,可以检测到的信息至少包括:PICE设备的插槽丝印信息、ID、Bus、Device、Function number等信息,但不限于此。

在步骤S310中,实际应用中也可以将第六信息集确定为第七信息集,或将包括但不限于BIOS的其他操作系统的多个能获取PICE设备信息的功能所获取到的信息集中选定一个信息集作为第七信息集,与接受到的BMC获取的PCIE设备的设备信息进行比对,其中,信息集的选定方法可以是人为指定、机器随机选取、或循环选取所有信息集中的一个。

在步骤S302和步骤S304中,所述资产信息功能和所述系统管理基本输入输出系统SMBIOS Type9功能可以用Current Usage状态来判断设备是否在位,在位是In Use状态,不在位是Available状态。在本发明中,两个功能中的各PCIE设备的上述信息可以在BIOS内部做核对,用来检查两个功能各自收集到的信息、实现的功能是否正确,当数据核对有偏差时,一是可以作为BIOS内部的功能自检结果,给开发人员提供功能出现问题的具体信息,便于尽快发现和修正问题,另外也可以把检查结果及相关信息,通过IPMI CMD等形式(包括但不限于,上下文中都是),发送给BMC记录报错日志,以便于机器维护人员能直观发现问题,和反馈问题,使问题能及早被发现和解决。

在步骤S312和步骤S314中,BIOS和BMC可以配合实现PCIE设备的检测。前述实施例描述的是。各个PCIE设备的属性信息包括但不限于各个PCIE设备的插槽丝印信息、ID、Bus/Device/Function number组合信息等。当一个PCIE设备发生了故障报错,BMC会获取该设备的Bus、Device、Function Number,并利用这个数据组合的唯一性,与BIOS发送给BMC的资产信息设备属性中的Bus、Device、Function Number数据组合相匹配,并获取PCIE设备的插槽丝印位置信息,BIOS向BMS发送故障信息,由BMC对故障信息进行显示,以向设备维护人员表明这个位置信息,设备维护人员就能够直观地知道哪个PCIE设备发生了故障,并准确定位到故障设备。

在步骤S312中,接收基板管理控制器BMC发送的第八信息集中的PICE设备信息来源,包括但不限于以下两种方式:获取PCIE设备对应发送的设备信息、获取基于预先配置的PCIE设备对应的发送方式所发送的设备信息。在实际应用场景中,部分PCIE设备本身可以向BMC发送设备信息。还有一些PCIE设备本身不能向BMC发送设备信息,但硬件设计人员通过对软硬件资源的设计,另其他设备按照规则向BMC发送PCIE设备的设备信息。硬件设计人员,可通过PCIE设备金手指引脚设计、PCIE插槽设计、主板、Riser卡、系统芯片(CPU、PCH等)、CPLD等软硬件资源,设计出各种PCIE等设备的在位信号,该信号可以由BMC通过,包括但不限于I2C等途径获取;当有些PCIE设备本身可以提供给BMC在位感知方案的,也可以采用设备提供的方案,来探测设备的在位情况。

图4是本申请实施例的PCIE设备信息处理示意图一,示意了BIOS、BMC和设备三者之间的信息交互关系。

此外,还需要说明的是,前述实施例所描述的是由BIOS来进行PCIE设备的检测,在实际应用中,还可以由BMC来执行PCIE设备的检测,具体可以包括如下内容:

1.BIOS的资产信息功能照常实现,照常把收集到的设备信息发送给BMC,BMC照常接收;

2.由硬件设计人员,通过PCIE设备金手指引脚设计、PCIE插槽设计、主板、Riser卡、系统芯片(CPU、PCH等)、CPLD等软硬件资源,设计出各种PCIE等设备的在位信号,该信号可以由BMC通过,包括但不限于I2C等途径获取;当有些PCIE设备本身可以提供给BMC在位感知方案的,也可以采用设备提供的方案,来探测设备的在位情况;

3.由硬件设计人员给出各PCIE等设备的在位信号,与该设备的物理插槽丝印的对应关系,也即BMC在通过设备的在位信号,获取到某个设备在位时,由这个对应关系就能知道该设备在机器中的插槽丝印信息;

4.BMC通过遍历探测各个设备的在位信号状态,收集到所有设备的在位情况,也就是知道了机器中都有哪些设备,并通过3中的信息,可以得知机器中的各个设备的物理插槽丝印信息;

5.BMC把4中主动得到的设备信息,与1中BIOS通过资产信息功能发送给BMC的设备信息做比对,如果发现设备的在位情况不一致,比如两者中的设备数量不一致,或者某个/某些设备的丝印信息不一致,那么BMC生成警告日志log,log中体现具体的错误Error相关信息,便于查看log的人员快速识别问题,比如包括但不限于,是设备数量不一致,还是设备丝印信息不一致,数量不一致的话,多或者少的设备是那个,或者哪些,设备丝印信息不一致的话,BMC主动获取和BIOS发送的丝印信息分别是什么样的,等等;

BMC所执行的上述比对动作,可以根据需要,设计成随机、或者周期性地多次进行的方式。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

在本实施例中还提供了一种PCIE设备的检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本申请实施例的PCIE设备的检测装置的结构框图,如图5所示,该装置包括:

采集模块52,用于采集第一信息集,其中,所述第一信息集中包括目标机器的第一PCIE设备集中包括的各个PCIE设备的设备信息;接收模块54,用于接收基板管理控制器BMC发送的第二信息集,其中,所述第二信息集中包括所述BMC采集的所述目标机器的第二PCIE设备集中包括的各个PCIE设备的设备信息;确定模块56,用于将所述第一信息集与所述第二信息集进行匹配,并在确定所述第一信息集与所述第二信息集不匹配的情况下,确定出现异常的PCIE设备。

在一个可选的实施例中,所述采集模块52包括以下至少之一:

第一获取单元,用于通过资产信息功能获取所述第一信息集;第二获取单元,用于通过系统管理基本输入输出系统SMBIOS Type9功能获取第一信息集;第三获取单元,用于通过资产信息功能获取第三信息集,其中,所述第三信息集包括所述目标机器的第三PCIE设备集中包括的各个PCIE设备的设备信息,以及通过系统管理基本输入输出系统SMBIOSType9功能获取第四信息集,其中,所述第四信息集包括所述目标机器的第四PCIE设备集中包括的各个PCIE设备的设备信息,在确定所述第三信息集和所述第四信息集匹配的情况下,将所述第三信息集确定为所述第一信息集。

在一个可选的实施例中,所述装置还包括:告警模块,用于在确定所述第三PCIE设备集中包括的各个PCIE设备的设备信息与所述第四PCIE设备集中包括的各个PCIE设备的设备信息不匹配的情况下,输出第一告警信息。

在一个可选的实施例中,所述装置还包括:匹配模块,用于在将所述第三信息集确定为所述第一信息集之前,通过以下方式至少之一对所述第三信息集和所述第四信息集进行匹配:基于所述第三信息集确定所述第三PCIE设备集中的所包括的第三PCIE设备的第三数量,以及,基于所述第四信息集确定所述第四PCIE设备集中所包括的PCIE设备的第四数量,将所述第三数量与所述第四数量进行比对;将所述第三信息集中包括的所述第三PCIE设备集中包括的各个PCIE设备的属性信息与所述第四信息集中包括的所述第四PCIE设备集中包括的各个PCIE设备的属性信息进行比对。

在一个可选的实施例中,所述确定模块56包括以下至少之一:

第一比对单元,用于基于所述第一信息集确定所述第一PCIE设备集中的所包括的第一PCIE设备的第一数量,以及,基于所述第二信息集确定所述第二PCIE设备集中所包括的PCIE设备的第二数量,将所述第一数量与所述第二数量进行比对;第二比对单元,用于将所述第一信息集中包括的所述第一PCIE设备集中包括的各个PCIE设备的属性信息与所述第二信息集中包括的所述第二PCIE设备集中包括的各个PCIE设备的属性信息进行比对。

在一个可选的实施例中,BMC包括:第一获取模块,用于获取由所述第二PCIE设备集中包括的各个PCIE设备对应发送的所述设备信息;第二获取模块,用于获取基于预先配置的与所述第二PCIE设备集中包括的各个PCIE设备对应的发送方式所发送的所述设备信息。

在一个可选的实施例中,所述PCIE设备的检测装置还包括:第二告警模块,用于通知所述BMC生成告警信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本申请的实施例还提供了一种基本输入输出系统BIOS,包括上述任一项实施例中所述的PCIE设备的检测装置。

图6是本申请实施例的系统结构,图6仅以一种可实施的硬件结构为示例进行说明,但不限于此。如图6所示,BMC和BIOS分别与平台控制器中心PCH相连接,以实现分别对PCIE设备信息的采集,同时BMC与BIOS相连接,通过对BMC与BIOS采集到的PICE设备信息进行比对,实现对PCIE设备信息的精准检测。OS与BIOS相连接,可以实现将BIOS、BMC采集到的PCIE设备信息传输给OS,同时OS也可以将信息传输给BIOS和BMC,从而实现了OS、BMC、BIOS之间的信息交互和比对。其中,所述比对操作的执行主体可以为BIOS、OS、BMC中任意一个。所述输入输出系统BIOS还可以满足操作系统对PICE设备信息采集的相关需求,这里以Linux操作系统为示例进行说明,但不限于此。

在实际应用场景中,有这样的功能需求,需要Linux操作系统中的lspci命令获取到的PCIE设备的Device Name信息,与PCIE设备的插槽丝印信息一致。这个功能将由BIOS通过填充操作系统中这些信息的获取接口来实现,实现的途径包括但不限于,通过SMBIOS信息,通过ACPI规范中相关的Method函数等。当这个功能实现后,BIOS、BMC和操作系统,可以根据信息获取手段支持的情况,直接或者间接地把BIOS资产信息、BMC主动获取的设备信息、OS下的lspci Device Name等信息,进行PCIE设备数量和设备丝印信息进行比较,若发现信息不一致,生成告警日志,并同样体现故障信息,包括但不限于,BIOS通过IPMI cmd通知BMC记录告警日志、BMC主动生成告警日志、OS主动生成告警日志等方式。

图7是本申请实施例的PCIE设备信息处理示意图二,示意了BIOS、BMC、OS和设备四者之间的信息交互关系。

本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 一种存储系统的状态检测方法、装置、设备及存储介质
  • 设备的检测方法、装置、计算机设备和存储介质
  • 包装箱、损伤检测方法、装置、检测设备和存储介质
  • 一种BIOS检测PCIe设备降速的验证方法、装置、终端及介质
  • 一种BIOS setup中PCIE丝印信息更新方法、装置、受控终端及存储介质
技术分类

06120116505115