一种PCIE设备的检测系统以及方法与流程

文档序号:18985519发布日期:2019-10-29 04:20阅读:395来源:国知局
一种PCIE设备的检测系统以及方法与流程

本发明涉及服务器技术领域,特别是涉及一种pcie设备的检测系统以及方法。



背景技术:

服务器系统中,无论是板载pcie(peripheralcomponentinterconnectexpress,高速串行计算机扩展总线标准)设备还是外接的pcie设备,都是服务器中非常重要的一类设备。现阶段应用于服务器上的pcie设备种类多样,不同种类的pcie设备有着各自的连接能力,即有着各自的带宽和速率的要求。本申请中描述的带宽指的是pcie带宽,或者称为传输通道数。pcie设备的连接能力是pcie设备的重要参数,如果实际的连接状态发生异常,即带宽和/或速率异常,便会影响pcie设备的性能,甚至发生不可修正的错误导致系统宕机。

在服务器部署时,有一定概率发生pcie设备连接不良的情况,使得pcie设备的实际的连接状态达不到预定的连接能力。在后续使用过程中,服务器在启动时会自动扫描pcie设备,根据pcie协议选定连接速率和连接带宽,例如由于连接不良,预定x16的带宽,服务器实际选定的只有x8的带宽。传统方案中,无论是服务器部署时还是后续的使用时,检测pcie设备的带宽和速率是否达到标准,都是人工进行检测,效率低下,并且也存在误检的情况。特别是在批量部署时,服务器的启动耗时较长,仅靠部署现场有限的工作人员更加难以为每台服务器进行pcie设备的检测。

综上所述,如何提高pcie设备的检测效率,是目前本领域技术人员急需解决的技术问题。



技术实现要素:

本发明的目的是提供一种pcie设备的检测系统以及方法,以提高pcie设备的检测效率。

为解决上述技术问题,本发明提供如下技术方案:

一种pcie设备的检测系统,应用于服务器中,包括:

基本输入输出系统bios,用于在启动时读取各个待测pcie设备的配置空间中的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息,并将读取到的信息发送至基板管理控制器bmc;

所述bmc,用于判断每个待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息是否匹配,并在判断出不匹配时通过日志记录下该待测pcie设备的设备地址信息以及设备id信息,以完成对所述服务器中的各个待测pcie设备的检测。

优选的,所述bios还用于:在启动时读取指定的目标pcie设备的配置空间中的预设项参数,并将读取到的各项参数发送至所述bmc;

所述bmc还用于:判断预设的第一列表中的各项参数是否全部被所述bios读取到,并在判断出未全部被读取到时进行表示连接断开的事件记录。

优选的,所述bios还用于:在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器以及不可修正错误寄存器中的数据,并均发送至所述bmc;

所述bmc还用于:判断所述bios读取到的所述可修正错误寄存器中的数据以及所述不可修正错误寄存器中的数据是否均为零,并在判断出不均为零时进行表示置位异常的事件记录。

优选的,所述bios还用于:在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器,不可修正错误寄存器以及mask寄存器中的数据,并均发送至所述bmc;

所述bmc还用于:判断所述bios读取到的所述可修正错误寄存器中的数据以及所述不可修正错误寄存器中的数据是否均为零;

如果是,则确定所述可修正错误寄存器中以及所述不可修正错误寄存器置位正常;

如果否,则针对每一项不为零的数据,判断该项数据在mask寄存器中是否为零,并在判断出至少一项在所述可修正错误寄存器中不为零的数据在所述mask寄存器中为零时,或者在判断出至少一项在所述不可修正错误寄存器中不为零的数据在所述mask寄存器中为零时,进行表示置位异常的事件记录。

优选的,所述bmc还用于:在接收第一信号之后,收集所述第一信号指定的各个服务器中的bmc的日志数据。

优选的,所述bmc还用于:在接收第二信号之后,通过服务器的无线通信模块向远端发送收集到的所述日志数据。

一种pcie设备的检测方法,应用于服务器中,包括:

基本输入输出系统bios在启动时读取各个待测pcie设备的配置空间中的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息,并将读取到的信息发送至基板管理控制器bmc;

所述bmc判断每个待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息是否匹配,并在判断出不匹配时通过日志记录下该待测pcie设备的设备地址信息以及设备id信息,以完成对所述服务器中的各个待测pcie设备的检测。

优选的,还包括:

所述bios在启动时读取指定的目标pcie设备的配置空间中的预设项参数,并将读取到的各项参数发送至所述bmc;

所述bmc判断预设的第一列表中的各项参数是否全部被所述bios读取到,并在判断出未全部被读取到时进行表示连接断开的事件记录。

优选的,还包括:

所述bios在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器以及不可修正错误寄存器中的数据,并均发送至所述bmc;

所述bmc判断所述bios读取到的所述可修正错误寄存器中的数据以及所述不可修正错误寄存器中的数据是否均为零,并在判断出不均为零时进行表示置位异常的事件记录。

优选的,还包括:

所述bios在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器,不可修正错误寄存器以及mask寄存器中的数据,并均发送至所述bmc;

所述bmc判断所述bios读取到的所述可修正错误寄存器中的数据以及所述不可修正错误寄存器中的数据是否均为零;

如果是,则确定所述可修正错误寄存器中以及所述不可修正错误寄存器置位正常;

如果否,则针对每一项不为零的数据,判断该项数据在mask寄存器中是否为零,并在判断出至少一项在所述可修正错误寄存器中不为零的数据在所述mask寄存器中为零时,或者在判断出至少一项在所述不可修正错误寄存器中不为零的数据在所述mask寄存器中为零时,进行表示置位异常的事件记录。

本申请的方案中,bios可以在启动时自动读取各个待测pcie设备的配置空间中的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息,从而bmc可以判断每个待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息是否匹配,如果不匹配,说明该pcie设备的实际的连接状态达不到预定的连接能力,因此通过日志记录下该待测pcie设备的设备地址信息以及设备id信息。这样可以使得服务器部署时或者其他情况下发生的pcie设备连接不良情况,在启动服务器时便可以通过本申请的pcie设备的检测系统自动检测出,因此本申请的方案可以有效地提高检测效率,此外,相较于人工检测,本申请的方案也能够降低误检率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中一种pcie设备的检测系统的结构示意图;

图2为本发明中一种pcie设备的检测方法的实施流程图。

具体实施方式

本发明的核心是提供一种pcie设备的检测系统,可以有效地提高检测效率,并且能够降低误检率。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明中一种pcie设备的检测系统的结构示意图,该pcie设备的检测系统应用于服务器中,包括:

基本输入输出系统10,用于在启动时读取各个待测pcie设备的配置空间中的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息,并将读取到的信息发送至基板管理控制器20;

基板管理控制器20,用于判断每个待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息是否匹配,并在判断出不匹配时通过日志记录下该待测pcie设备的设备地址信息以及设备id信息,以完成对服务器中的各个待测pcie设备的检测。

基本输入输出系统10即为bios(basicinputoutputsystem),可以在启动的过程中,读取各个待测pcie设备的配置空间中的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息。具体哪些pcie设备为待测pcie设备可以预先进行设定,例如考虑到通常是外接的pcie设备在服务器部署时容易出现连接不良的情况,在一种具体场合中,便可以将外接的各个pcie设备均列入待测pcie设备。又如,考虑到本申请的方案并不需要占用过多的资源,在一种具体场合中,可以将每一个pcie设备,即每一个板载pcie设备以及外接pcie设备均作为待测pcie设备。此外,还可以根据实际需要,选取预先指定的一个或多个pcie设备作为待测pcie设备,均不影响本发明的实施。

每个待测pcie设备有各自的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息。设备地址信息表示的是该待测pcie设备的插槽位置,设备id是该待测pcie设备出厂时便预先设定好的信息。连接状态信息表示的是bios系统根据pcie协议选定的当前状态下的连接状态,具体包括当前的连接速率以及连接带宽。预设连接能力信息表示该待测pcie设备预先设定的标准状态,即包括标准的连接速率以及连接带宽。

基板管理控制器20可以判断每个待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息是否匹配。具体的,对于任意一个待测pcie设备,指的是该待测pcie设备在当前状态下的连接速率需要等于其标准的连接速率,同时,当前状态下的连接带宽需要等于其标准的连接带宽,二者中任意一项不成立时,便可以确定该待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息不匹配。确定出不匹配之后,基板管理控制器20便可以通过日志记录下该待测pcie设备的设备地址信息以及设备id信息。当然,日志中还可以记录下该待测pcie设备的连接状态信息以及预设连接能力信息,以便于工作人员在维护时可以方便地看出该待测pcie设备具体的状态异常情况。

本申请的方案中,bios可以在启动时自动读取各个待测pcie设备的配置空间中的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息,从而bmc可以判断每个待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息是否匹配,如果不匹配,说明该pcie设备的实际的连接状态达不到预定的连接能力,因此通过日志记录下该待测pcie设备的设备地址信息以及设备id信息。这样可以使得服务器部署时或者其他情况下发生的pcie设备连接不良情况,在启动服务器时便可以通过本申请的pcie设备的检测系统自动检测出,因此本申请的方案可以有效地提高检测效率,此外,相较于人工检测,本申请的方案也能够降低误检率。

在本发明的一种具体实施方式中,bios还用于:在启动时读取指定的目标pcie设备的配置空间中的预设项参数,并将读取到的各项参数发送至bmc;

bmc还用于:判断预设的第一列表中的各项参数是否全部被bios读取到,并在判断出未全部被读取到时进行表示连接断开的事件记录。

考虑到除了接触不良导致带宽和速率异常的情况,部分场合中可能会存在pcie设备连接不成功的情况,该种实施方式中,便通过对预设项参数的检测来确定pcie设备是否连接。

具体的,指定的目标pcie设备可以是预先指定的任意一个pcie设备,例如对于经常出现无法连接的pcie设备,通过该种实施方式判断该pcie设备是否连接成功。当然,在其他实施方式中,也可以指定多个pcie设备均进行检测,并不影响本发明的实施。

当目标pcie设备成功连接时,预设的第一列表中的各项参数应当均可以由bios从目标pcie设备的配置空间中读取到,相应的,当判断出第一列表中的某一项或多项参数未被bios从目标pcie设备的配置空间中读取到时,可以确定该pcie设备未连接成功,因此bmc可以进行表示连接断开的事件记录。

在本发明的一种具体实施方式中,bios还用于:在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器以及不可修正错误寄存器中的数据,并均发送至bmc;

bmc还用于:判断bios读取到的可修正错误寄存器中的数据以及不可修正错误寄存器中的数据是否均为零,并在判断出不均为零时进行表示置位异常的事件记录。

该种实施方式中,考虑到在部分场合中,可能会存在pcie设备的错误寄存器未被成功置位的情况,因此利用bios在启动的过程中读取指定的目标pcie设备的配置空间中的可修正错误寄存器以及不可修正错误寄存器中的数据,并均发送至bmc。

指定的目标pcie设备可以是预先指定的任意一个pcie设备,例如可以是经常出现错误寄存器未置位的pcie设备,当然,在其他实施方式中,也可以指定多个pcie设备均进行错误寄存器是否置位的检测,并不影响本发明的实施。

错误寄存器包括可修正错误寄存器中以及不可修正错误寄存器。当bmc判断出目标pcie设备的可修正错误寄存器中的数据以及不可修正错误寄存器中的数据均为零时,说明该目标pcie设备的错误寄存器置位正常,相应的,该种实施方式中,判断出bios读取到的可修正错误寄存器中的数据以及不可修正错误寄存器中的数据不均为零时,进行表示置位异常的事件记录。

在本发明的一种具体实施方式中,bios还用于:在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器,不可修正错误寄存器以及mask寄存器中的数据,并均发送至bmc;

bmc还用于:判断bios读取到的可修正错误寄存器中的数据以及不可修正错误寄存器中的数据是否均为零;

如果是,则确定可修正错误寄存器中以及不可修正错误寄存器置位正常;

如果否,则针对每一项不为零的数据,判断该项数据在mask寄存器中是否为零,并在判断出至少一项在可修正错误寄存器中不为零的数据在mask寄存器中为零时,或者在判断出至少一项在不可修正错误寄存器中不为零的数据在mask寄存器中为零时,进行表示置位异常的事件记录。

该种实施方式中,考虑到部分场合中虽然可修正错误寄存器中和/或不可修正错误寄存器中存在不为零的数据,但可以视为正常情况,通过mask进行记录。即,当可修正错误寄存器中或不可修正错误寄存器中的某一项数据不为零时,如果mask寄存器中记录的该项数据也不为零,则视为是正常情况。

因此,针对每一项不为零的数据,当该项数据在mask寄存器中为零时bmc才会进行表示置位异常的事件记录。该种实施方式中可以允许工作人员对部分类型的错误进行忽略。

在本发明的一种具体实施方式中,bmc还用于:在接收第一信号之后,收集第一信号指定的各个服务器中的bmc的日志数据。

由于现场服务器可能存在多个,考虑到工作人员逐个获取服务器的bmc的日志较为麻烦,因此利用某一服务器进行日志的收集,即向任意一个服务器发送第一信号,bmc在接收第一信号之后,可以收集第一信号指定的各个服务器中的bmc的日志数据,有利于工作人员的批量操作。

在本发明的一种具体实施方式中,bmc还用于:在接收第二信号之后,通过服务器的无线通信模块向远端发送收集到的日志数据。

该种实施方式中,考虑到部分场合中工作人员可能无法及时到达现场,因此,bmc在接收第二信号之后,通过服务器的无线通信模块向远端发送收集到的日志数据,使得工作人员可以远程进行日志数据的分析,有利于更加及时方便地进行故障处理。

相应于上面的系统实施例,本发明实施例还提供了一种pcie设备的检测方法,可与上文相互对应参照。

参见图2所示,为本发明中一种pcie设备的检测方法的实施流程图,该方法应用于服务器中,包括:

步骤s201:bios在启动时读取各个待测pcie设备的配置空间中的设备地址信息、设备id信息、连接状态信息以及预设连接能力信息,并将读取到的信息发送至bmc;

步骤s202:bmc判断每个待测pcie设备的连接状态信息与该待测pcie设备的预设连接能力信息是否匹配,并在判断出不匹配时通过日志记录下该待测pcie设备的设备地址信息以及设备id信息,以完成对服务器中的各个待测pcie设备的检测。

在本发明的一种具体实施方式中,还包括:

bios在启动时读取指定的目标pcie设备的配置空间中的预设项参数,并将读取到的各项参数发送至bmc;

bmc判断预设的第一列表中的各项参数是否全部被bios读取到,并在判断出未全部被读取到时进行表示连接断开的事件记录。

在本发明的一种具体实施方式中,还包括:

bios在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器以及不可修正错误寄存器中的数据,并均发送至bmc;

bmc判断bios读取到的可修正错误寄存器中的数据以及不可修正错误寄存器中的数据是否均为零,并在判断出不均为零时进行表示置位异常的事件记录。

在本发明的一种具体实施方式中,还包括:

bios在启动时读取指定的目标pcie设备的配置空间中的可修正错误寄存器,不可修正错误寄存器以及mask寄存器中的数据,并均发送至bmc;

bmc判断bios读取到的可修正错误寄存器中的数据以及不可修正错误寄存器中的数据是否均为零;

如果是,则确定可修正错误寄存器中以及不可修正错误寄存器置位正常;

如果否,则针对每一项不为零的数据,判断该项数据在mask寄存器中是否为零,并在判断出至少一项在可修正错误寄存器中不为零的数据在mask寄存器中为零时,或者在判断出至少一项在不可修正错误寄存器中不为零的数据在mask寄存器中为零时,进行表示置位异常的事件记录。

在本发明的一种具体实施方式中,还包括:

bmc在接收第一信号之后,收集第一信号指定的各个服务器中的bmc的日志数据。

在本发明的一种具体实施方式中,还包括:

bmc在接收第二信号之后,通过服务器的无线通信模块向远端发送收集到的日志数据。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1