一种pcie硬件故障的检测方法及装置制造方法

文档序号:6509357阅读:275来源:国知局
一种pcie硬件故障的检测方法及装置制造方法
【专利摘要】本发明实施例提供一种PCIE硬件故障的检测方法及装置,该方法可应用于未包括或包括NT端口的PCIE系统中,该方法应用于前者时包括:RC根据接收到的MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口;确定PCIE端口的第一链路协商模式状态值,并将其与自身预存的第二链路协商模式状态值进行比较;在比较结果不一致时,确定PCIE端口所在链路出现故障。本发明实施例利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路,前述这种检测方式检测PCIE硬件故障的准确率较高。
【专利说明】—种PCIE硬件故障的检测方法及装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种PCIE硬件故障的检测方法及装置。
【背景技术】
[0002]快速外部设备互连(PeripheralComponent Interconnect Express, PCIE)系统具有数据传输速率高的优势,目前,此系统的数据传输速率最高的16X2.0版本可达到10GB/s,能够满足现在和将来一定时间内低速设备和高速设备的需求。
[0003]如图1A所示,上述的PCIE系统,通常包括根组件(Root Complex, RC) 101、交换设备(Switch) 102和多个终端设备(End Point,EP) 103。其中,RClOl主要为交换设备和终端设备分配特定的设备标识,例如设备标识为总线编号/设备编号/功能编号,以及分配不重叠的PCIE地址空间空间;RC101的下PCIE端口可挂接Switchl02扩展更多的PCIE端口,当然也可以直接挂接EP ;Switchl02的下PCIE端口可以挂接多个EP103,也可以挂接Switch和EP,例如Switchl04和EP103(如图1B所示),在这种情况下,Switchl04的下PCIE端口又可以挂接多个EP,例如挂接EP105和EP106 (如图1B所示),使得PCIE系统可以进行链路扩展。
[0004]具体地,上述PCIE系统中的Switchl02,按设备类型分为包括有非透明桥(NonTransparent, NT)端 P 的 Switch,和未包括有 NT 端 P 的 Switch。这样,当 Switchl02 为包括有NT端口的Switch时,Switchl02的NT端口 1021通常将PCIE系统隔离成主PCIE系统和次PCIE系统(如图1C所示),例如主PCIE系统包括RC101、Switchl02(包括NT端口和部分 PCIE 端 口 )、Switchl04、EP105 和 EP106 ;次 PCIE 系统包括 RC107、Switchl02 (包括剩余部分PCIE端口)和EP103,主PCIE系统通过Switchl02的NT端口 1021与次PCIE系统进行数据传输。
[0005]进一步地,在利用上述PCIE系统进行数据传输时,为了避免出现硬件故障,导致数据传输中断,往往需要对PCIE硬件进行检测,目前通常采用下述方式实现检测:
[0006]在PCIE系统中与RC连接的Switch未包括有NT端口的情况下,执行下述检测流程:
[0007]以图1B所示的PCIE系统为例,RC101定期向EP103、EP105和EP106发送保活(keepalive)报文;如果在预设时间内接收到所有EP通过各自连接的Switch返回的保活响应报文,则确定此PCIE系统中的EP未出现故障;如果在预设时间内只接收到部分EP返回的保活响应报文,例如EP103通过Switchl02返回的保活响应报文,或者未接收到保活响应报文,则确定部分EP或者所有EP出现故障,例如EP103出现故障,或者是EP103、EP105和EP106均出现故障;
[0008]在PCIE系统中与RC连接的交换设备包括有NT端口的情况下,执行下述检测流程:
[0009]以图1C所示的PCIE系统为例,主PCIE系统中的RC101定期向EP105和EP106发送保活(keepalive)报文,并在发送此报文之前通过NT端口 1021向次PCIE系统中的RC107发送指示消息,指示次PCIE系统中的RC107向EP103发送保活报文;如果在预设时间内接收到所有EP通过各自连接的Switch返回的保活响应报文,则确定主PCIE系统中的EP未出现故障;如果在预设时间内只接收到部分EP返回的保活响应报文,例如EP105通过Switchl04返回的保活响应报文,或者未接收到保活响应报文,则确定部分EP或者所有EP出现故障,例如EP105出现故障,或者是EP105和EP106均出现故障;
[0010]次PCIE系统中的RC107在接收到指示消息后,向EP103发送保活(ke印alive)报文;如果在预设时间内接收到EP103通过次PCIE系统中的Switchl02返回的保活响应报文,则确定次PCIE系统中的EP103未出现故障,并通过NT端口 1021向主PCIE系统中的RClOl返回检测结果;如果在预设时间内未接收到保活响应报文,则确定EP103出现故障,并通过NT端口 1021向主PCIE系统中的RClOl返回检测结果。
[0011]从上述流程可以看出,不管是处于哪种情况下对PCIE硬件进行检测,利用前述检测方式的话,在Switch出现故障,或者是EP的PCIE端口所在链路出现故障时,RC均以无法收到EP的保活响应报文,认定是EP出现故障,这就导致检测PCIE硬件故障的准确率较低。

【发明内容】

[0012]本发明实施例提供一种PCIE硬件故障的检测方法及装置,用于解决现有PCIE硬件故障的检测方式的检测效率低的问题。
[0013]本发明实施例提供的一种PCIE硬件故障的检测方法,应用于PCIE系统中,所述PCIE系统中与RC交互的交换设备不具备NT端口,该方法,包括:
[0014]RC根据接收到的信息信号中断(Message Signaled Interrupt,MSI)消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE
端口 ;
[0015]确定所述PCIE端口的第一链路协商模式状态值,并将其与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值;
[0016]在比较结果不一致时,确定所述PCIE端口所在链路出现故障。
[0017]从上述方案可以看出,在本发明实施例中,利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路,前述这种检测方式检测PCIE硬件故障的准确率较高。
[0018]优选地,在确定所述PCIE端口的第一链路协商模式状态值时,具体通过下述方式实现:所述RC从所述PCIE端口的状态寄存器中的回路状态(Link-Status)寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
[0019]优选地,在上述方法中,上述RC在确定出所述PCIE端口所在链路出现故障之后,还包括:所述RC生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理。
[0020]本发明实施例提供的一种PCIE硬件故障的检测装置,应用于PCIE系统中,所述PCIE系统中与所述装置交互的交换设备不具备NT端口,该装置,包括:
[0021]确定模块,用于根据接收到的信息信号中断MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口 ;确定所述PCIE端口的第一链路协商模式状态值;以及在比较模块比较出不一致时,确定所述PCIE端口所在链路出现故障;
[0022]比较模块,用于将所述确定模块确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
[0023]上述装置,是利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路,前述这种检测方式检测PCIE硬件故障的准确
率较高。
[0024]优选地,上述确定模块,具体用于从所述PCIE端口的状态寄存器中的Link-Status寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
[0025]优选地,上述装置,还包括:生成输出模块,用于在确定模块确定出所述PCIE端口所在链路出现故障之后,生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理
[0026]本发明实施例提供的一种PCIE硬件故障的检测方法,应用于PCIE系统中,所述PCIE系统包括主PCIE系统和次PCIE系统,所述主PCIE系统中与RC交互的交换设备具备NT端口,该方法包括:
[0027]所述主PCIE系统中的RC根据接收到的信息信号中断MSI消息中携带的MSI地址是否为自身预配置的MSI地址,和自身预配置的MSI地址与PCIE端口的对应关系,以及所述次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE 端 口 ;
[0028]确定所述PCEI端口的第一链路协商模式状态值,并将确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商;
[0029]在比较结果不一致时,确定所述PCIE端口的链路出现故障。
[0030]从上述方案可以看出,在本发明实施例中,利用MSI中断机制,不仅可以确定主PCIE系统中相应PCIE端口的链路协商模式状态值,还可以确定次PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出主、次PCIE系统中存在故障的链路,这种检测方式检测PCIE硬件故障的准确率较高。
[0031]优选地,上述确定所述PCIE端口的第一链路协商模式状态值,具体通过下述方式实现:在所述主PCIE系统中的RC确定出所述MSI地址对应的PCIE端口为自身所属系统中的PCIE端口时,获取所述PCIE端口的状态寄存器中的Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;在所述主PCIE系统中的RC确定出所述MSI地址对应的PCIE端口不为自身所属系统中的PCIE端口时,从次PCIE系统中的RC获取所述PCIE端口的第一链路协商模式状态值。
[0032]优选地,在上述方法中,上述主PCIE系统中的RC在确定出所述PCIE端口所在链路出现故障之后,还包括:所述主PCIE系统中的RC生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理。[0033]本发明实施例提供的一种PCIE硬件故障的检测装置,应用于PCIE系统中,所述PCIE系统包括主PCIE系统和次PCIE系统,所述主PCIE系统中与所述装置交互的交换设备具备NT端口,该装置,包括:
[0034]确定模块,用于根据接收到的信息信号中断MSI消息中携带的MSI地址,和所述装置预配置的MSI地址与PCIE端口的对应关系,以及所述次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口 ;确定所述PCIE端口的第一链路协商模式状态值;以及在比较模块比较出不一致时,确定所述PCIE端口所在链路出现故障;
[0035]比较模块,用于将所述确定模块确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
[0036]上述装置,利用MSI中断机制,确定主PCIE系统中相应PCIE端口的链路协商模式状态值,还可以确定次PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出主、次PCIE系统中存在故障的链路,检测PCIE硬件故障的准确率较高。
[0037]优选地,上述确定模块,具体用于在确定出所述MSI地址为自身预配置的MSI地址时,获取所述PCIE端口的状态寄存器中的回路状态Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;以及在确定出所述MSI地址不为自身预配置的MSI地址时,从次PCIE系统中的RC获取所述PCIE端口的第一链路协商模式状态值。
[0038]优选地,上述装置,还包括:生成输出模块,用于在确定模块确定出所述PCIE端口所在链路出现故障之后,生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理。
【专利附图】

【附图说明】
[0039]图1A为现有PCIE系统的结构图;
[0040]图1B为现有未包括有NT端口的PCIE系统的结构图;
[0041]图1C为现有包括有NT端口的PCIE系统的结构图;
[0042]图2为本发明实施例提供的PCIE硬件故障的检测方法的流程图之一;
[0043]图3为本发明实施例提供的PCIE硬件故障的检测方法的流程图之二 ;
[0044]图4为本发明实施例提供的PCIE硬件故障的检测装置的结构图之一;
[0045]图5为本发明实施例提供的PCIE硬件故障的检测装置的结构图之二。
【具体实施方式】
[0046]针对目前PCIE硬件故障检测的缺陷,在本发明实施例中提出一种简单、可靠、准确率较高,且适用于大规模生产测试的PCIE硬件故障的检测方法及装置,主要利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路。
[0047]在这里,此链路(Link)协商模式状态值用于描述PCIE端口正常读写回路的数目,通常在PCIE系统中没有出现链路故障时,xl,x4, x8, xl6规格的PCIE端口对应的Link协商模式状态值分别为1,4,8,16,且Link协商模式状态值存储在PCIE端口的状态寄存器中,这样,某一个PCIE端口的协商模式状态值发生变化,这就意味着此PCIE端口所在链路出现故障。
[0048]下面结合说明书附图,对本发明实施例提供的PCIE硬件故障的检测方法及装置的【具体实施方式】进行说明。
[0049]本发明实施例提供的一种PCIE硬件故障的检测方法,应用于PCIE系统中,在该PCIE系统中与RClOl交互的交换设备102不具备NT端口的情况下(如图1B所示),如图2所示,具体包括以下步骤:
[0050]S201:RC根据接收到的MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口 ;
[0051]S202:确定PCIE端口的第一链路协商模式状态值,并将其与自身预存的第二链路协商模式状态值进行比较;
[0052]在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值,通常可通过下述方式获得:RC读取自身在PCIE系统初始化阶段为各PCIE端口配置的链路协商模式状态值,可将其存储在闪存flash中;
[0053]S203:在比较结果不一致时,确定PCIE端口所在链路出现故障。
[0054]在本发明实施例中,在执行上述步骤S201之前,需对PCIE系统进行初始化操作,如图1B所示,具体为:首先,PCIE系统中的RClOl分别为自身、Switchl02、EP103、Switchl05、EP105和EP106上的PCIE端口预配置MSI地址;然后,在PCIE系统中所有设备的PCIE端口上注册中断函数,后续当这些PCIE端口产生MSI中断时,这些PCIE端口所属设备向预配置的MSI地址所在地址写入中断数据,并生成MSI消息后上报给RC101,这些MSI消息中均携带有各自预配置的MSI地址,这时,RClOl接收到MSI消息后,从预配置的MSI地址与PCIE端口的对应关系,查询出这些PCIE端口。
[0055]需要说明的是,在PCIE系统初始化过程中,RClOl可以给不同的PCIE端口配置相同的MSI地址,也可以配置不相同的MSI地址。例如,RClOl可以给Switchl02上与Switchl04连接的PCIE端口,和与EP103连接的PCIE端口,配置相同的MSI地址,例如配置为MSIRO ;也可以配置不相同的MSI地址,例如前者配置为MSIR0,后者配置为MSIRl。当然,还可采用其他配置方式,在此不再一一列举。
[0056]由于不同的PCIE端口对应的MSI地址可能相同,那么,在RC接收到多个携带有相同MSI地址的MSI消息的情况下,其确定出的对应PCIE端口可能是不同的。例如,如图1B所示,假设Switchl02上与Switchl04连接的PCIE端口对应的MSI地址为MSIRO ;Switchl04上与EP105连接的PCIE端口对应的MSI地址也为MSIR0,这时,RC确定出的MSI地址为MSIRO对应的PCIE端口即是上述两个PCIE端口。
[0057]优选地,在上述步骤S202中,在RC确定PCIE端口的第一链路协商模式状态值时,具体可通过下述方式实现:
[0058]RC从PCIE端口的状态寄存器中的Link-Status寄存器获取数据,该数据真实地反映了 PCIE端口所在当前链路的协商状态,可以根据获取到的该数据,确定对应的第一链路协商模式状态值。
[0059]需要说明的是,上述第一链路协商模式状态值和第二链路协商模式状态值可根据PCIE端口的实际情况来取值,且针对确定出的不同的PCIE端口,其对应的第一链路协商模式状态值和第二链路协商模式状态值可以不同。
[0060]优选地,本发明实施例在执行完上述步骤S203之后,还可执行下述步骤:RC生成PCIE端口所在链路出现故障的告警提示消息并输出,这样一来,方便管理人员及时处理RC确定出的链路故障,即对出现故障的链路进行恢复操作。
[0061]本发明实施例还提供一种PCIE硬件故障的检测方法,应用于PCIE系统中(如图1C所示),该PCIE系统包括主PCIE系统和次PCIE系统,主PCIE系统与次PCIE系统通过Switchl02上的NT端口 1021进行数据交互。
[0062]如图3所示,该方法,具体包括下述步骤:
[0063]S301:主PCIE系统中的RC根据接收到的MSI消息中携带的MSI地址,和自身预配置的MSI地址与PCIE端口的对应关系,以及次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口 ;
[0064]S302:确定PCEI端口的第一链路协商模式状态值,并将确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较;
[0065]在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值,即主PCIE系统和次PCIE系统中的PCIE端口对应的链路协商模式状态值。具体地,对于主PCIE系统中的PCIE端口对应的链路协商模式状态值而言,可由主PCIE系统中的RC直接读取自身在主PCIE系统初始化阶段为各PCIE端口配置的链路协商模式状态值,然后存储到flash中;对于次PCIE系统中的PCIE端口对应的链路协商模式状态值而言,可由次PCIE系统中的RC读取自身在次PCIE系统初始化阶段为各PCIE端口配置的链路协商模式状态值后,同步给主PCIE系统中的RC进行闪存,以便后续主PCIE系统中的RC进行比较。
[0066]S303:在比较结果不一致时,确定PCIE端口的链路出现故障。
[0067]在本发明实施例中,在执行上述步骤S301之前,需分别对主PCIE系统和次PCIE系统进行初始化操作。
[0068]具体地,如图1C所示,针对主PCIE系统的初始化操作,与图1B所示的上述方法中PCIE系统的初始化操作类似,与之不同的是:主PCIE系统中的RC101,分别为自身、Switchl02、Switchl04、EP105和EP106上的PCIE端口预配置与次PCIE系统不同的MSI地址,例如使用MSIRO?MSIR3,并且启动Switchl02上NT端口 1021的数据转换功能,以便后续将次PCIE系统中产生中断的PCIE端口所属设备传来的MSI消息中的MSI地址所在地址,转换为主PCIE系统可以识别的地址。
[0069]针对次PCIE系统11的初始化操作,与图1B所示的PCIE系统的初始化操作类似,与之不同的是:次PCIE系统中的RC107,例如使用MSIR4?MSIR7分别为自身、Switchl02和EP103上的PCIE端口预配置MSI地址,并在配置成功后,将配置的MSI地址与PCIE端口的对应关系同步给主PCIE系统中的RC101,后续RClOl可根据此对应关系判定产生中断的PCIE端口,便于主PCIE系统监控次PCIE系统;启动Switchl02的双重映射(DUAL cast)模式使能,可对产生中断的PCIE端口所属设备生成的MSI消息进行复制,一份MSI消息主动上报给RC107,另一份MSI消息通过NT端口传给RClOl,以便后续RClOl根据此MSI消息,确定次PCIE系统中哪个PCIE端口所在链路出现故障。[0070]优选地,在执行完上述步骤S301后,主PCIE系统中的RC确定出的MSI地址对应的PCIE端口可能是主PCIE系统中的PCIE端口,也可能是次PCIE系统中的PCIE端口。[0071 ] 那么,在上述PCIE端口为主PCIE系统中的PCIE端口的情况下,主PCIE系统中的RC可直接获取上述PCIE端口的状态寄存器中的Link-Status寄存器中的数据,然后根据获取到的数据确定对应的第一链路协商模式状态值即可。
[0072]在上述PCIE端口为次PCIE系统中的PCIE端口的情况下,需从次PCIE系统中的RC获取上述PCIE端口的第一链路协商模式状态值。
[0073]具体地,主PCIE系统中的RC可向次PCIE系统中的RC发送携带有对应的PCIE端口的ID信息的访问请求,次PCIE系统中的RC在接收到此访问请求后,根据对应的PCIE端口的ID信息,相应读取对应PCIE端口的状态寄存器中的回路状态Link-Status寄存器中的数据,从而得到对应的第一链路协商模式状态值。当然,主PCIE系统中的RC还可以通过其他方式获取,在此不再一一列举。
[0074]优选地,本发明实施例在执行完上述步骤S303之后,主PCIE系统中的RC在确定出PCIE端口所在链路出现故障之后,还包括:
[0075]主PCIE系统中的RC生成PCIE端口所在链路出现故障的告警提示消息并输出。
[0076]在本发明实施例中,采用上述方法检测PCIE硬件故障,既可以检测交换设备上PCIE端口是否存在链路故障,也可以检测EP上PCIE端口是否存在链路故障,且通过MSI中断机制实现故障检测,检测的准确率较高。
[0077]基于同一发明构思,本发明实施例还提供了 PCIE硬件故障的检测装置,由于这些装置所解决问题的原理与前述PCIE硬件故障的检测方法相似,因此这些装置的实施可以参见前述方法的实施,重复之处不再赘述。
[0078]本发明实施例提供的一种PCIE硬件故障的检测装置,应用于PCIE系统中,该PCIE系统中与上述装置交互的交换设备不具备NT端口,如图4所示,该装置,具体包括:
[0079]确定模块401,用于根据接收到的MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口 ;确定PCIE端口的第一链路协商模式状态值;以及在比较模块402比较出不一致时,确定PCIE端口所在链路出现故障;
[0080]比较模块402,用于将确定模块401确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较;
[0081]在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
[0082]优选地,上述确定模块401,具体用于从PCIE端口的状态寄存器中的Link-Status寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
[0083]优选地,上述装置,还可以包括:
[0084]生成输出模块403,用于在确定模块401确定出PCIE端口所在链路出现故障之后,生成PCIE端口所在链路出现故障的告警提示消息并输出。
[0085]本发明实施例提供的另一种PCIE硬件故障的检测装置,应用于PCIE系统中,此PCIE系统包括主PCIE系统和次PCIE系统,主PCIE系统中与上述装置交互的交换设备具备NT端口,如图5所示,该装置,具体包括:
[0086]确定模块501,用于根据接收到的MSI消息中携带的MSI地址,和上述装置预配置的MSI地址与PCIE端口的对应关系,以及次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口 ;确定PCIE端口的第一链路协商模式状态值;以及在比较模块502比较出不一致时,确定PCIE端口所在链路出现故障;
[0087]比较模块502,用于将确定模块501确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较;
[0088]在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
[0089]优选地,上述确定模块501,具体用于在确定出MSI地址对应的PCIE端口为自身所属系统中的PCIE端口时,获取PCIE端口的状态寄存器中的Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;以及在确定出MSI地址对应的PCIE端口不为自身所属系统中的PCIE端口时,从次PCIE系统中的RC获取PCIE端口的第一链路协商模式状态值。
[0090]优选地,上述装置,还可以包括:
[0091 ] 生成输出模块503,用于在确定模块501确定出PCIE端口所在链路出现故障之后,生成PCIE端口所在链路出现故障的告警提示消息并输出。
[0092] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种快速外部设备互连PCIE硬件故障的检测方法,应用于PCIE系统中,所述PCIE系统中与根组件RC交互的交换设备不具备非透明桥NT端口,其特征在于,该方法,包括: 所述RC根据接收到的信息信号中断MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口 ; 确定所述PCIE端口的第一链路协商模式状态值,并将其与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值; 在比较结果不一致时,确定所述PCIE端口所在链路出现故障。
2.如权利要求1所述的方法,其特征在于,确定所述PCIE端口的第一链路协商模式状态值,具体包括: 所述RC从所述PCIE端口的状态寄存器中的回路状态Link-Status寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
3.如权利要求1或2所述的方法,其特征在于,所述RC在确定出所述PCIE端口所在链路出现故障之后,还包括: 所述RC生成所述PCIE端口所在链路出现故障的告警提示消息并输出。
4.一种快速外部设备互连PCIE硬件故障的检测装置,应用于PCIE系统中,所述PCIE系统中与所述装置交互的交换设备不具备非透明桥NT端口,其特征在于,该装置,包括: 确定模块,用于根据接收到的信息信号中断MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口 ;确定所述PCIE端口的第一链路协商模式 状态值;以及在比较模块比较出不一致时,确定所述PCIE端口所在链路出现故障; 比较模块,用于将所述确定模块确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
5.如权利要求4所述的装置,其特征在于,所述确定模块,具体用于从所述PCIE端口的状态寄存器中的回路状态Link-Status寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
6.如权利要求4或5所述的装置,其特征在于,该装置,还包括: 生成输出模块,用于在确定模块确定出所述PCIE端口所在链路出现故障之后,生成所述PCIE端口所在链路出现故障的告警提示消息并输出。
7.一种快速外部设备互连PCIE硬件故障的检测方法,应用于PCIE系统中,所述PCIE系统包括主PCIE系统和次PCIE系统,所述主PCIE系统中与根组件RC交互的交换设备具备非透明桥NT端口,其特征在于,该方法,包括: 所述主PCIE系统中的RC根据接收到的信息信号中断MSI消息中携带的MSI地址,和自身预配置的MSI地址与PCIE端口的对应关系,以及所述次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口 ; 确定所述PCEI端口的第一链路协商模式状态值,并将确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商;在比较结果不一致时,确定所述PCIE端口的链路出现故障。
8.如权利要求7所述的方法,其特征在于,确定所述PCIE端口的第一链路协商模式状态值,具体包括: 在所述主PCIE系统中的RC确定出所述MSI地址对应的PCIE端口为自身所属系统中的PCIE端口时,获取所述PCIE端口的状态寄存器中的回路状态Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值; 在所述主PCIE系统中的RC确定出所述MSI地址对应的PCIE端口不为自身所属系统中的PCIE端口时,从次PCIE系统中的RC获取所述PCIE端口的第一链路协商模式状态值。
9.如权利要求7或8所述的方法,其特征在于,所述主PCIE系统中的RC在确定出所述PCIE端口所在链路出现故障之后,还包括: 所述主PCIE系统中的RC生成所述PCIE端口所在链路出现故障的告警提示消息并输出。
10.一种快速外部设备互连PCIE硬件故障的检测装置,应用于PCIE系统中,所述PCIE系统包括主PCIE系统和次PCIE系统,所述主PCIE系统中与所述装置交互的交换设备具备非透明桥NT端口,其特征在于,该装置,包括: 确定模块,用于根据接收到的信息信号中断MSI消息中携带的MSI地址,和所述装置预配置的MSI地址与PCIE端口的对应关系,以及所述次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确·定所述PCEI端口的第一链路协商模式状态值;以及在比较模块比较出不一致时,确定所述PCIE端口所在链路出现故障; 比较模块,用于将所述确定模块确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
11.如权利要求10所述的装置,其特征在于,所述确定模块,具体用于在确定出所述MSI地址对应的PCIE端口为自身所属系统中的PCIE端口时,获取所述PCIE端口的状态寄存器中的回路状态Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;以及在确定出所述MSI地址对应的PCIE端口不为自身所属系统中的PCIE端口时,从次PCIE系统中的RC获取所述PCIE端口的第一链路协商模式状态值。
12.如权利要求10或11所述的装置,其特征在于,该装置,还包括: 生成输出模块,用于在确定模块确定出所述PCIE端口所在链路出现故障之后,生成所述PCIE端口所在链路出现故障的告警提示消息并输出。
【文档编号】G06F11/22GK103440188SQ201310384840
【公开日】2013年12月11日 申请日期:2013年8月29日 优先权日:2013年8月29日
【发明者】马敏 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1