CN103440188B - 一种pcie硬件故障的检测方法及装置 - Google Patents
一种pcie硬件故障的检测方法及装置 Download PDFInfo
- Publication number
- CN103440188B CN103440188B CN201310384840.8A CN201310384840A CN103440188B CN 103440188 B CN103440188 B CN 103440188B CN 201310384840 A CN201310384840 A CN 201310384840A CN 103440188 B CN103440188 B CN 103440188B
- Authority
- CN
- China
- Prior art keywords
- pcie
- port
- link
- state value
- mode state
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明实施例提供一种PCIE硬件故障的检测方法及装置,该方法可应用于未包括或包括NT端口的PCIE系统中,该方法应用于前者时包括:RC根据接收到的MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口;确定PCIE端口的第一链路协商模式状态值,并将其与自身预存的第二链路协商模式状态值进行比较;在比较结果不一致时,确定PCIE端口所在链路出现故障。本发明实施例利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路,前述这种检测方式检测PCIE硬件故障的准确率较高。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种PCIE硬件故障的检测方法及装置。
背景技术
快速外部设备互连(Peripheral Component Interconnect Express,PCIE)系统具有数据传输速率高的优势,目前,此系统的数据传输速率最高的16X 2.0版本可达到10GB/s,能够满足现在和将来一定时间内低速设备和高速设备的需求。
如图1A所示,上述的PCIE系统,通常包括根组件(Root Complex,RC)101、交换设备(Switch)102和多个终端设备(End Point,EP)103。其中,RC101主要为交换设备和终端设备分配特定的设备标识,例如设备标识为总线编号/设备编号/功能编号,以及分配不重叠的PCIE地址空间空间;RC101的下PCIE端口可挂接Switch102扩展更多的PCIE端口,当然也可以直接挂接EP;Switch102的下PCIE端口可以挂接多个EP103,也可以挂接Switch和EP,例如Switch 104和EP103(如图1B所示),在这种情况下,Switch 104的下PCIE端口又可以挂接多个EP,例如挂接EP105和EP106(如图1B所示),使得PCIE系统可以进行链路扩展。
具体地,上述PCIE系统中的Switch102,按设备类型分为包括有非透明桥(Non Transparent,NT)端口的Switch,和未包括有NT端口的Switch。这样,当Switch102为包括有NT端口的Switch时,Switch102的NT端口1021通常将PCIE系统隔离成主PCIE系统和次PCIE系统(如图1C所示),例如主PCIE系统包括RC101、Switch102(包括NT端口和部分PCIE端口)、Switch104、EP105和EP106;次PCIE系统包括RC107、Switch102(包括剩余部分PCIE端口)和EP103,主PCIE系统通过Switch102的NT端口1021与次PCIE系统进行数据传输。
进一步地,在利用上述PCIE系统进行数据传输时,为了避免出现硬件故障,导致数据传输中断,往往需要对PCIE硬件进行检测,目前通常采用下述方式实现检测:
在PCIE系统中与RC连接的Switch未包括有NT端口的情况下,执行下述检测流程:
以图1B所示的PCIE系统为例,RC101定期向EP103、EP105和EP106发送保活(keepalive)报文;如果在预设时间内接收到所有EP通过各自连接的Switch返回的保活响应报文,则确定此PCIE系统中的EP未出现故障;如果在预设时间内只接收到部分EP返回的保活响应报文,例如EP103通过Switch102返回的保活响应报文,或者未接收到保活响应报文,则确定部分EP或者所有EP出现故障,例如EP103出现故障,或者是EP103、EP105和EP106均出现故障;
在PCIE系统中与RC连接的交换设备包括有NT端口的情况下,执行下述检测流程:
以图1C所示的PCIE系统为例,主PCIE系统中的RC101定期向EP105和EP106发送保活(keepalive)报文,并在发送此报文之前通过NT端口1021向次PCIE系统中的RC107发送指示消息,指示次PCIE系统中的RC107向EP103发送保活报文;如果在预设时间内接收到所有EP通过各自连接的Switch返回的保活响应报文,则确定主PCIE系统中的EP未出现故障;如果在预设时间内只接收到部分EP返回的保活响应报文,例如EP105通过Switch 104返回的保活响应报文,或者未接收到保活响应报文,则确定部分EP或者所有EP出现故障,例如EP105出现故障,或者是EP105和EP106均出现故障;
次PCIE系统中的RC107在接收到指示消息后,向EP103发送保活(keepalive)报文;如果在预设时间内接收到EP103通过次PCIE系统中的Switch102返回的保活响应报文,则确定次PCIE系统中的EP103未出现故障,并通过NT端口1021向主PCIE系统中的RC101返回检测结果;如果在预设时间内未接收到保活响应报文,则确定EP103出现故障,并通过NT端口1021向主PCIE系统中的RC101返回检测结果。
从上述流程可以看出,不管是处于哪种情况下对PCIE硬件进行检测,利用前述检测方式的话,在Switch出现故障,或者是EP的PCIE端口所在链路出现故障时,RC均以无法收到EP的保活响应报文,认定是EP出现故障,这就导致检测PCIE硬件故障的准确率较低。
发明内容
本发明实施例提供一种PCIE硬件故障的检测方法及装置,用于解决现有PCIE硬件故障的检测方式的检测效率低的问题。
本发明实施例提供的一种PCIE硬件故障的检测方法,应用于PCIE系统中,所述PCIE系统中与RC交互的交换设备不具备NT端口,该方法,包括:
RC根据接收到的信息信号中断(Message Signaled Interrupt,MSI)消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口;
确定所述PCIE端口的第一链路协商模式状态值,并将其与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值;
在比较结果不一致时,确定所述PCIE端口所在链路出现故障。
从上述方案可以看出,在本发明实施例中,利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路,前述这种检测方式检测PCIE硬件故障的准确率较高。
优选地,在确定所述PCIE端口的第一链路协商模式状态值时,具体通过下述方式实现:所述RC从所述PCIE端口的状态寄存器中的回路状态(Link-Status)寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
优选地,在上述方法中,上述RC在确定出所述PCIE端口所在链路出现故障之后,还包括:所述RC生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理。
本发明实施例提供的一种PCIE硬件故障的检测装置,应用于PCIE系统中,所述PCIE系统中与所述装置交互的交换设备不具备NT端口,该装置,包括:
确定模块,用于根据接收到的信息信号中断MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口;确定所述PCIE端口的第一链路协商模式状态值;以及在比较模块比较出不一致时,确定所述PCIE端口所在链路出现故障;
比较模块,用于将所述确定模块确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
上述装置,是利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路,前述这种检测方式检测PCIE硬件故障的准确率较高。
优选地,上述确定模块,具体用于从所述PCIE端口的状态寄存器中的Link-Status寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
优选地,上述装置,还包括:生成输出模块,用于在确定模块确定出所述PCIE端口所在链路出现故障之后,生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理
本发明实施例提供的一种PCIE硬件故障的检测方法,应用于PCIE系统中,所述PCIE系统包括主PCIE系统和次PCIE系统,所述主PCIE系统中与RC交互的交换设备具备NT端口,该方法包括:
所述主PCIE系统中的RC根据接收到的信息信号中断MSI消息中携带的MSI地址是否为自身预配置的MSI地址,和自身预配置的MSI地址与PCIE端口的对应关系,以及所述次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口;
确定所述PCIE端口的第一链路协商模式状态值,并将确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商;
在比较结果不一致时,确定所述PCIE端口的链路出现故障。
从上述方案可以看出,在本发明实施例中,利用MSI中断机制,不仅可以确定主PCIE系统中相应PCIE端口的链路协商模式状态值,还可以确定次PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出主、次PCIE系统中存在故障的链路,这种检测方式检测PCIE硬件故障的准确率较高。
优选地,上述确定所述PCIE端口的第一链路协商模式状态值,具体通过下述方式实现:在所述主PCIE系统中的RC确定出所述MSI地址对应的PCIE端口为自身所属系统中的PCIE端口时,获取所述PCIE端口的状态寄存器中的Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;在所述主PCIE系统中的RC确定出所述MSI地址对应的PCIE端口不为自身所属系统中的PCIE端口时,从次PCIE系统中的RC获取所述PCIE端口的第一链路协商模式状态值。
优选地,在上述方法中,上述主PCIE系统中的RC在确定出所述PCIE端口所在链路出现故障之后,还包括:所述主PCIE系统中的RC生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理。
本发明实施例提供的一种PCIE硬件故障的检测装置,应用于PCIE系统中,所述PCIE系统包括主PCIE系统和次PCIE系统,所述主PCIE系统中与所述装置交互的交换设备具备NT端口,该装置,包括:
确定模块,用于根据接收到的信息信号中断MSI消息中携带的MSI地址,和所述装置预配置的MSI地址与PCIE端口的对应关系,以及所述次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定所述MSI地址对应的PCIE端口;确定所述PCIE端口的第一链路协商模式状态值;以及在比较模块比较出不一致时,确定所述PCIE端口所在链路出现故障;
比较模块,用于将所述确定模块确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
上述装置,利用MSI中断机制,确定主PCIE系统中相应PCIE端口的链路协商模式状态值,还可以确定次PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出主、次PCIE系统中存在故障的链路,检测PCIE硬件故障的准确率较高。
优选地,上述确定模块,具体用于在确定出所述MSI地址为自身预配置的MSI地址时,获取所述PCIE端口的状态寄存器中的回路状态Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;以及在确定出所述MSI地址不为自身预配置的MSI地址时,从次PCIE系统中的RC获取所述PCIE端口的第一链路协商模式状态值。
优选地,上述装置,还包括:生成输出模块,用于在确定模块确定出所述PCIE端口所在链路出现故障之后,生成所述PCIE端口所在链路出现故障的告警提示消息并输出。这样,方便管理人员及时对出现故障的链路进行后续恢复处理。
附图说明
图1A为现有PCIE系统的结构图;
图1B为现有未包括有NT端口的PCIE系统的结构图;
图1C为现有包括有NT端口的PCIE系统的结构图;
图2为本发明实施例提供的PCIE硬件故障的检测方法的流程图之一;
图3为本发明实施例提供的PCIE硬件故障的检测方法的流程图之二;
图4为本发明实施例提供的PCIE硬件故障的检测装置的结构图之一;
图5为本发明实施例提供的PCIE硬件故障的检测装置的结构图之二。
具体实施方式
针对目前PCIE硬件故障检测的缺陷,在本发明实施例中提出一种简单、可靠、准确率较高,且适用于大规模生产测试的PCIE硬件故障的检测方法及装置,主要利用MSI中断机制,确定PCIE系统中相应PCIE端口的链路协商模式状态值,进而准确地检测出存在故障的链路。
在这里,此链路(Link)协商模式状态值用于描述PCIE端口正常读写回路的数目,通常在PCIE系统中没有出现链路故障时,x1,x4,x8,x16规格的PCIE端口对应的Link协商模式状态值分别为1,4,8,16,且Link协商模式状态值存储在PCIE端口的状态寄存器中,这样,某一个PCIE端口的协商模式状态值发生变化,这就意味着此PCIE端口所在链路出现故障。
下面结合说明书附图,对本发明实施例提供的PCIE硬件故障的检测方法及装置的具体实施方式进行说明。
本发明实施例提供的一种PCIE硬件故障的检测方法,应用于PCIE系统中,在该PCIE系统中与RC101交互的交换设备102不具备NT端口的情况下(如图1B所示),如图2所示,具体包括以下步骤:
S201:RC根据接收到的MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口;
S202:确定PCIE端口的第一链路协商模式状态值,并将其与自身预存的第二链路协商模式状态值进行比较;
在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值,通常可通过下述方式获得:RC读取自身在PCIE系统初始化阶段为各PCIE端口配置的链路协商模式状态值,可将其存储在闪存flash中;
S203:在比较结果不一致时,确定PCIE端口所在链路出现故障。
在本发明实施例中,在执行上述步骤S201之前,需对PCIE系统进行初始化操作,如图1B所示,具体为:首先,PCIE系统中的RC101分别为自身、Switch102、EP103、Switch105、EP105和EP106上的PCIE端口预配置MSI地址;然后,在PCIE系统中所有设备的PCIE端口上注册中断函数,后续当这些PCIE端口产生MSI中断时,这些PCIE端口所属设备向预配置的MSI地址所在地址写入中断数据,并生成MSI消息后上报给RC101,这些MSI消息中均携带有各自预配置的MSI地址,这时,RC101接收到MSI消息后,从预配置的MSI地址与PCIE端口的对应关系,查询出这些PCIE端口。
需要说明的是,在PCIE系统初始化过程中,RC101可以给不同的PCIE端口配置相同的MSI地址,也可以配置不相同的MSI地址。例如,RC101可以给Switch102上与Switch104连接的PCIE端口,和与EP103连接的PCIE端口,配置相同的MSI地址,例如配置为MSIR0;也可以配置不相同的MSI地址,例如前者配置为MSIR0,后者配置为MSIR1。当然,还可采用其他配置方式,在此不再一一列举。
由于不同的PCIE端口对应的MSI地址可能相同,那么,在RC接收到多个携带有相同MSI地址的MSI消息的情况下,其确定出的对应PCIE端口可能是不同的。例如,如图1B所示,假设Switch102上与Switch104连接的PCIE端口对应的MSI地址为MSIR0;Switch104上与EP105连接的PCIE端口对应的MSI地址也为MSIR0,这时,RC确定出的MSI地址为MSIR0对应的PCIE端口即是上述两个PCIE端口。
优选地,在上述步骤S202中,在RC确定PCIE端口的第一链路协商模式状态值时,具体可通过下述方式实现:
RC从PCIE端口的状态寄存器中的Link-Status寄存器获取数据,该数据真实地反映了PCIE端口所在当前链路的协商状态,可以根据获取到的该数据,确定对应的第一链路协商模式状态值。
需要说明的是,上述第一链路协商模式状态值和第二链路协商模式状态值可根据PCIE端口的实际情况来取值,且针对确定出的不同的PCIE端口,其对应的第一链路协商模式状态值和第二链路协商模式状态值可以不同。
优选地,本发明实施例在执行完上述步骤S203之后,还可执行下述步骤:RC生成PCIE端口所在链路出现故障的告警提示消息并输出,这样一来,方便管理人员及时处理RC确定出的链路故障,即对出现故障的链路进行恢复操作。
本发明实施例还提供一种PCIE硬件故障的检测方法,应用于PCIE系统中(如图1C所示),该PCIE系统包括主PCIE系统和次PCIE系统,主PCIE系统与次PCIE系统通过Switch102上的NT端口1021进行数据交互。
如图3所示,该方法,具体包括下述步骤:
S301:主PCIE系统中的RC根据接收到的MSI消息中携带的MSI地址,和自身预配置的MSI地址与PCIE端口的对应关系,以及次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口;
S302:确定PCIE端口的第一链路协商模式状态值,并将确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较;
在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值,即主PCIE系统和次PCIE系统中的PCIE端口对应的链路协商模式状态值。具体地,对于主PCIE系统中的PCIE端口对应的链路协商模式状态值而言,可由主PCIE系统中的RC直接读取自身在主PCIE系统初始化阶段为各PCIE端口配置的链路协商模式状态值,然后存储到flash中;对于次PCIE系统中的PCIE端口对应的链路协商模式状态值而言,可由次PCIE系统中的RC读取自身在次PCIE系统初始化阶段为各PCIE端口配置的链路协商模式状态值后,同步给主PCIE系统中的RC进行闪存,以便后续主PCIE系统中的RC进行比较。
S303:在比较结果不一致时,确定PCIE端口的链路出现故障。
在本发明实施例中,在执行上述步骤S301之前,需分别对主PCIE系统和次PCIE系统进行初始化操作。
具体地,如图1C所示,针对主PCIE系统的初始化操作,与图1B所示的上述方法中PCIE系统的初始化操作类似,与之不同的是:主PCIE系统中的RC101,分别为自身、Switch102、Switch104、EP105和EP106上的PCIE端口预配置与次PCIE系统不同的MSI地址,例如使用MSIR0~MSIR3,并且启动Switch102上NT端口1021的数据转换功能,以便后续将次PCIE系统中产生中断的PCIE端口所属设备传来的MSI消息中的MSI地址所在地址,转换为主PCIE系统可以识别的地址。
针对次PCIE系统11的初始化操作,与图1B所示的PCIE系统的初始化操作类似,与之不同的是:次PCIE系统中的RC107,例如使用MSIR4~MSIR7分别为自身、Switch102和EP103上的PCIE端口预配置MSI地址,并在配置成功后,将配置的MSI地址与PCIE端口的对应关系同步给主PCIE系统中的RC101,后续RC101可根据此对应关系判定产生中断的PCIE端口,便于主PCIE系统监控次PCIE系统;启动Switch102的双重映射(DUAL cast)模式使能,可对产生中断的PCIE端口所属设备生成的MSI消息进行复制,一份MSI消息主动上报给RC107,另一份MSI消息通过NT端口传给RC101,以便后续RC101根据此MSI消息,确定次PCIE系统中哪个PCIE端口所在链路出现故障。
优选地,在执行完上述步骤S301后,主PCIE系统中的RC确定出的MSI地址对应的PCIE端口可能是主PCIE系统中的PCIE端口,也可能是次PCIE系统中的PCIE端口。
那么,在上述PCIE端口为主PCIE系统中的PCIE端口的情况下,主PCIE系统中的RC可直接获取上述PCIE端口的状态寄存器中的Link-Status寄存器中的数据,然后根据获取到的数据确定对应的第一链路协商模式状态值即可。
在上述PCIE端口为次PCIE系统中的PCIE端口的情况下,需从次PCIE系统中的RC获取上述PCIE端口的第一链路协商模式状态值。
具体地,主PCIE系统中的RC可向次PCIE系统中的RC发送携带有对应的PCIE端口的ID信息的访问请求,次PCIE系统中的RC在接收到此访问请求后,根据对应的PCIE端口的ID信息,相应读取对应PCIE端口的状态寄存器中的回路状态Link-Status寄存器中的数据,从而得到对应的第一链路协商模式状态值。当然,主PCIE系统中的RC还可以通过其他方式获取,在此不再一一列举。
优选地,本发明实施例在执行完上述步骤S303之后,主PCIE系统中的RC在确定出PCIE端口所在链路出现故障之后,还包括:
主PCIE系统中的RC生成PCIE端口所在链路出现故障的告警提示消息并输出。
在本发明实施例中,采用上述方法检测PCIE硬件故障,既可以检测交换设备上PCIE端口是否存在链路故障,也可以检测EP上PCIE端口是否存在链路故障,且通过MSI中断机制实现故障检测,检测的准确率较高。
基于同一发明构思,本发明实施例还提供了PCIE硬件故障的检测装置,由于这些装置所解决问题的原理与前述PCIE硬件故障的检测方法相似,因此这些装置的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种PCIE硬件故障的检测装置,应用于PCIE系统中,该PCIE系统中与上述装置交互的交换设备不具备NT端口,如图4所示,该装置,具体包括:
确定模块401,用于根据接收到的MSI消息中携带的MSI地址,和预配置的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口;确定PCIE端口的第一链路协商模式状态值;以及在比较模块402比较出不一致时,确定PCIE端口所在链路出现故障;
比较模块402,用于将确定模块401确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较;
在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
优选地,上述确定模块401,具体用于从PCIE端口的状态寄存器中的Link-Status寄存器获取数据,并根据获取到的数据,确定对应的第一链路协商模式状态值。
优选地,上述装置,还可以包括:
生成输出模块403,用于在确定模块401确定出PCIE端口所在链路出现故障之后,生成PCIE端口所在链路出现故障的告警提示消息并输出。
本发明实施例提供的另一种PCIE硬件故障的检测装置,应用于PCIE系统中,此PCIE系统包括主PCIE系统和次PCIE系统,主PCIE系统中与上述装置交互的交换设备具备NT端口,如图5所示,该装置,具体包括:
确定模块501,用于根据接收到的MSI消息中携带的MSI地址,和上述装置预配置的MSI地址与PCIE端口的对应关系,以及次PCIE系统中的RC发来的MSI地址与PCIE端口的对应关系,确定MSI地址对应的PCIE端口;确定PCIE端口的第一链路协商模式状态值;以及在比较模块502比较出不一致时,确定PCIE端口所在链路出现故障;
比较模块502,用于将确定模块501确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较;
在这里,上述第二链路协商模式状态值,是用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
优选地,上述确定模块501,具体用于在确定出MSI地址对应的PCIE端口为自身所属系统中的PCIE端口时,获取PCIE端口的状态寄存器中的Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;以及在确定出MSI地址对应的PCIE端口不为自身所属系统中的PCIE端口时,从次PCIE系统中的RC获取PCIE端口的第一链路协商模式状态值。
优选地,上述装置,还可以包括:
生成输出模块503,用于在确定模块501确定出PCIE端口所在链路出现故障之后,生成PCIE端口所在链路出现故障的告警提示消息并输出。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
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端口;
确定所述PCIE端口的第一链路协商模式状态值,并将确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的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端口的对应关系,确定所述PCIE端口的第一链路协商模式状态值;以及在比较模块比较出不一致时,确定所述PCIE端口所在链路出现故障;
比较模块,用于将所述确定模块确定出的第一链路协商模式状态值,与自身预存的第二链路协商模式状态值进行比较,所述第二链路协商模式状态值用于表征处于正常工作状态下的PCIE端口对应的链路协商模式状态值。
11.如权利要求10所述的装置,其特征在于,所述确定模块,具体用于在确定出所述MSI地址对应的PCIE端口为自身所属系统中的PCIE端口时,获取所述PCIE端口的状态寄存器中的回路状态Link-Status寄存器中的数据,并根据获取到的数据确定对应的第一链路协商模式状态值;以及在确定出所述MSI地址对应的PCIE端口不为自身所属系统中的PCIE端口时,从次PCIE系统中的RC获取所述PCIE端口的第一链路协商模式状态值。
12.如权利要求10或11所述的装置,其特征在于,该装置,还包括:
生成输出模块,用于在确定模块确定出所述PCIE端口所在链路出现故障之后,生成所述PCIE端口所在链路出现故障的告警提示消息并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310384840.8A CN103440188B (zh) | 2013-08-29 | 2013-08-29 | 一种pcie硬件故障的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310384840.8A CN103440188B (zh) | 2013-08-29 | 2013-08-29 | 一种pcie硬件故障的检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103440188A CN103440188A (zh) | 2013-12-11 |
CN103440188B true CN103440188B (zh) | 2016-09-28 |
Family
ID=49693879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310384840.8A Active CN103440188B (zh) | 2013-08-29 | 2013-08-29 | 一种pcie硬件故障的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103440188B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104170322B (zh) * | 2014-04-02 | 2017-06-20 | 华为技术有限公司 | 一种PCIe链路故障的处理方法、设备及系统 |
CN104679687B (zh) * | 2014-12-19 | 2018-04-20 | 杭州华为数字技术有限公司 | 一种识别中断源的方法及装置 |
CN105306306B (zh) * | 2015-11-12 | 2018-08-24 | 姚焕根 | 链路连通性检测系统及方法 |
CN106941426B (zh) * | 2016-01-05 | 2019-06-04 | 中兴通讯股份有限公司 | 一种链路处理方法和装置 |
CN106502952B (zh) * | 2016-10-24 | 2019-08-02 | 郑州云海信息技术有限公司 | 一种pcie设备安全掉线设计方法 |
CN109495463B (zh) * | 2018-11-02 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种链路宽度协商方法、装置及计算机可读存储介质 |
CN109815043B (zh) | 2019-01-25 | 2022-04-05 | 华为云计算技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
CN113160726B (zh) * | 2020-01-03 | 2023-11-14 | 西安诺瓦星云科技股份有限公司 | 上电自检测方法和上电自检测装置 |
CN111858407B (zh) * | 2020-07-14 | 2021-12-07 | 中航航空电子有限公司 | 高速外围设备互连系统内的通信方法及高速外围设备互连系统 |
CN112799991B (zh) * | 2021-01-07 | 2022-12-20 | 牛芯半导体(深圳)有限公司 | Pcie交换芯片 |
CN116724297A (zh) * | 2021-01-22 | 2023-09-08 | 华为技术有限公司 | 一种故障处理方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872330A (zh) * | 2009-11-04 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 多pcie设备系统中断处理方法 |
CN101894060A (zh) * | 2010-06-25 | 2010-11-24 | 福建星网锐捷网络有限公司 | 故障检测方法及模块化设备 |
CN102016812A (zh) * | 2008-04-28 | 2011-04-13 | 惠普开发有限公司 | 虚拟中断模式接口和用于虚拟化中断模式的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631181B2 (en) * | 2011-09-26 | 2014-01-14 | Oracle International Corporation | Validating message-signaled interrupts by tracking interrupt vectors assigned to devices |
-
2013
- 2013-08-29 CN CN201310384840.8A patent/CN103440188B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016812A (zh) * | 2008-04-28 | 2011-04-13 | 惠普开发有限公司 | 虚拟中断模式接口和用于虚拟化中断模式的方法 |
CN101872330A (zh) * | 2009-11-04 | 2010-10-27 | 杭州海康威视数字技术股份有限公司 | 多pcie设备系统中断处理方法 |
CN101894060A (zh) * | 2010-06-25 | 2010-11-24 | 福建星网锐捷网络有限公司 | 故障检测方法及模块化设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103440188A (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440188B (zh) | 一种pcie硬件故障的检测方法及装置 | |
CN105700510B (zh) | Can通信系统的错误分散检测方法及can通信系统 | |
CN102647320B (zh) | 适用于高速1553总线协议控制的集成电路 | |
CN105721357A (zh) | 交换设备、外围部件互连高速系统及其初始化方法 | |
CN101894060B (zh) | 故障检测方法及模块化设备 | |
US10372073B2 (en) | Repair method and repair chip for regenerative ink cartridge, and regenerative ink cartridge | |
CN105446928B (zh) | 地址自动分配的串行总线通信方法与系统 | |
CN106572047A (zh) | 物理网络安全设备及其控制方法 | |
CN102694616B (zh) | 时钟检测电路、时钟电路及时钟异常检测方法 | |
CN101557379B (zh) | 一种pcie接口的链路重组方法和装置 | |
CN101667905B (zh) | 一种时钟板卡的切换方法及设备 | |
CN106603359B (zh) | Plc系统的通讯控制方法及装置 | |
CN104238517B (zh) | 一种profibus-dpv1通信主站的通信方法 | |
CN108287537A (zh) | 一种can总线协议控制器测试方法 | |
CN103530215B (zh) | 一种内部集成电路主机的自检方法、装置及主机 | |
CN102662808A (zh) | 一种pcie硬件故障检测的实现方法与装置 | |
CN204989452U (zh) | 手持式电能表故障查询终端设备 | |
CN102215145A (zh) | 一种上报链路连通状态检测结果的方法和装置 | |
JP6155500B2 (ja) | 中継装置 | |
CN104484260A (zh) | 一种基于GJB289总线接口SoC的仿真监控电路 | |
CN109557453B (zh) | 一种多主控芯片识别处理方法及系统 | |
CN207992997U (zh) | I2c总线系统 | |
CN114201439B (zh) | 服务器信号识别优化方法、系统及存储介质 | |
CN110413322A (zh) | 一种服务器网口管理方法、系统以及基板管理控制器 | |
CN109582626A (zh) | 一种访问总线的方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |