一种pcie硬件故障检测的实现方法与装置的制作方法

文档序号:6366697阅读:477来源:国知局
专利名称:一种pcie硬件故障检测的实现方法与装置的制作方法
技术领域
本发明涉及通信领域,尤其涉及ー种PCIE硬件故障检测的实现方法与装置。
背景技术
快速外围组件连接(PCIE,Peripheral Component Interconnect Express)具有数据传输速率高的优势,目前PCIE有xl,x4, x8, X16等几种规格,其中,xl表示有I对读与回路,x4表不有4对读与回路,x8表不有8对读与回路,xl6表不有16对读与回路,并存在I. O版本和2. O版本。数据传输速率最高的16X 2. O版本可达到10GB/s,而且还有相当 大的发展潜力。从PCIE IX到PCIE16X,能满足现在和将来一定时间内出现的低速设备和高速设备的需求。现在主流主板都能支持PCIE I. 016X,也有部分较高端的主板支持PCIE2.016X。PCIE新标准将全面取代现行的PCI和加速图形接ロ(AGP,Accelerated GraphicPorts),最终实现总线标准的统一。PCIE体系结构主要包括根组件(RC, Root Complex)、交换机(Switch)和各种终端设备(EP,EndPoint)。其中RC主要完成存储器域到PCIE总线域的地址转换,RC的下游端ロ可以挂接Switch扩展更多的PCIE端ロ,也可以直接挂接EP ;Switch主要起到扩展系统的作用,它支持ー个上端ロ和多个下端ロ,端ロ之间可以进行数据交换,通过Switch桥接,PCIE可以进行链路扩展。PCIE采用分层的体系结构,包括了事务层(transaction layer),数据链路层(Data link layer)和物理层(Physical Layer)三个子层。数据报文(TLP)在事务层中形成,TLP经过数据链路层时被加上序列码(Squence Number)和循环冗余校验(CRC),然后在物理层经过8/10B编码发送。从软件设计的角度出发,PCIE总线行为主要包括内存读总线事务,内存写总线事务,10读总线事务等。而这些总线行为又可以分为Non-Post方式和Post方式。其中,Non-Post方式中,请求设备(Request)向结束设备(completer)发出ー个传输请求报文,结束设备会发送结束(completion)报文来通知请求设备报文传输完成。Post方式中,请求设备向结束设备发出一个传输请求报文,结束设备不会发送结束报文来通知请求设备报文传输完成。在PCIE总线行为中,内存读总线事务采用Non-Post方式,内存写总线事务采用Post方式,使用内存读总线事务会增加数据收发的延迟。虽然PCIE标准得到了越来越广泛的应用,但在PCIE的故障检测方面,现有的检测方案比较复杂,虽然有专门的测试卡或者测试平台来检测故障,但是不易于集成,不方便产品的大規模的生产。且现有的检测方案通过单纯硬件检测来完成的,缺乏检测的智能化和自动化,检测效率低下。

发明内容
本发明实施例提供ー种PCIE硬件故障检测的实现方法与装置,用于提高PCIE硬件故障检测的效率,降低PCIE硬件故障检测的复杂度。
ー种快速外围组件连接PCIE硬件故障检测的实现方法,所述方法包括确定终端设备EP对应的第一链路协商模式状态值;将确定出的第一链路协商模式状态值与自身预先存储的第二链路协商模式状态值进行比较,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值;在比较结果不一致时,确定PCIE出现硬件故障。ー种快速外围组件连接PCIE硬件故障检测的实现装置,所述装置包括第一状态值确定模块,用于确定终端设备EP对应的第一链路协商模式状态值;比较模块,用于将确定出的第一链路协商模式状态值与自身预先存储的第二链路协商模式状态值进行比较,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值;故障确定模块,用于在比较结果不一致时,确定PCIE出现硬件故障。根据本发明实施例提供的方案,可以比较終端设备EP对应的第一协商模式状态值与预先存储的第二协商模式状态值,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值,在确定第一协商模式状态值与第二协商模式状态值不一致吋,即可确定PCIE出现了硬件故障,降低了 PCIE硬件故障检测的复杂度,同时提高了 PCIE硬件故障检测的效率。


图I为本发明实施例一提供的PCIE硬件故障检测的实现方法的步骤流程图;图2为本发明实施例ニ提供的PCIE硬件故障检测的实现方法的步骤流程图;图3为本发明实施例三提供的PCIE硬件故障检测的实现装置的结构示意图。
具体实施例方式针对目前PCIE硬件故障检测的缺陷,在本发明实施例中提出一种简单的,可靠的,智能化的,适用于大規模生产测试的硬件故障检测的实现方法。链路(Link)协商模式 状态值用于描述PCIE中正常读写回路的数目。在PCIE没有出现硬件故障吋,xl, x4, x8,xl6规格的PCIE对应的Link协商模式状态值分别为1,4,8,16,Link协商模式状态值存储在PCIE状态寄存器中,如果出现某对链路故障,PCIE Link协商模式状态值会发生改变。本发明实施例主要是通过检测PCIE Link协商模式状态值来判断PCIE是否出现了硬件故障。并可以进ー步结合对EP设备映射某地址的读写测试来判断PCIE是否出现了硬件故障。下面结合说明书附图和各实施例对本发明方案进行说明。实施例一、本发明实施例一提供ー种PCIE硬件故障检测的实现方法,该方法的步骤流程如图I所示,包括步骤101、确定第一链路协商模式状态值。在本步骤中,可以确定終端设备EP对应的第一链路协商模式状态值。具体的,可以通过根组件RC读取所述PCIE的状态寄存器(RC,EP, Switch的硬件的状态寄存器)中的回路状态Link-Status寄存器中的数据,该实时数据真实地反映了当前链路的协商状态,并可以根据该数据确定第一链路协商模式状态值。步骤102、比较第一链路协商模式状态值和第二链路协商模式状态值。在本步骤中,可以将确定出的第一链路协商模式状态值与自身预先存储的第二链路协商模式状态值进行比较,在比较结果不一致时,可以确定PCIE出现硬件故障。在比较结果一致时,可以确定PCIE没有出现硬件故障所述第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值(链路正常情况下应该协商的值),可以通过以下方式获取读取所述PCIE中配置的链路协商模式状态值,该链路协商模式状态值即为没有出现硬件故障的PCIE对应的Link协商模式状态值,将该链路协商模式状态值作为第二链路协商模式状态值,并可以将第二链路协商模式状态值存储到闪存flash中。
步骤103、输出日志信息。在确定PCIE出现硬件故障时,可以产生并输出PCIE存在硬件故障的日志信息以及告警提示信息。当然,如果确定PCIE没有出现硬件故障,可以产生并输出PCIE硬件检测正常的日志信息。进ー步的,在本实施例中,可以结合读写测试进行PCIE硬件故障检测,仅对读写测试通过的PCIE进行链路协商模式状态值的检测,从而可以通过读写测试过滤一部分存在硬件故障的PCIE,进ー步提高PCIE硬件故障检测的效率。则较优的,在步骤101之前,所述方法进ー步包括步骤100 步骤100、对EP设备映射地址进行读写测试。在本步骤中,可以通过RC向所述EP的PCIE映射地址空间中的设定地址写入第一数值,并通过RC读取所述设定地址中保存的第二数值,在确定所述第二数值与所述第一数值相等时,可以确定所述PCIE存在至少一条正常读写回路,为了进一步确定PCIE是否出现了硬件故障,可以继续执行步骤101。在确定所述第二数值与所述第一数值不等时,可以直接确定PCIE出现了硬件故障,可以跳转执行步骤103。下面通过ー个具体的实例对本发明实施例一的方案进行说明。实施例ニ、本发明实施例ニ提供ー种PCIE硬件故障检测的实现方法,该方法的步骤流程如图2所示,包括步骤201、初始化。
在初始化过程中,可以读取PCIE中配置的Link协商模式状态值(第二链路协商模式状态值)预存储到flash中,作为參考值,该值可能为1,4,8,16等几种值。步骤202、启动PCIE硬件故障检测。步骤203、进行读写测试。在本步骤中,可以通过RC根组件对需要检测的EP设备的PCIE映射地址空间中的设定地址进行读写操作,先写入固定值,然后将再读取该设定地址中的数值,比较写入值和读出值,如果写入值和读出值不等,则确定PCIE出现硬件故障,可以跳转执行步骤206,否贝1J,可以进行执行步骤204。步骤204、确定EP对应的第一链路协商模式状态值。在本步骤中,可以通过RC根组件读取需要检测的PCIE的状态寄存器中的Link-Status寄存器,将读取出的数据经过运算转化为Link协商模式状态值,该Link协商模式状态值即为EP对应的第一链路协商模式状态值。步骤205、比较第一链路协商模式状态值与參考值。步骤206、输出检测信息。在本步骤中,可以根据本次检测的结果,通过人机设备输出检测信息。
具体的,如果步骤203中写入值和读出值不相等,则可以输出PCIE存在硬件故障的日志(log)信息,并可以通过相关方式报警。如果步骤203中写入值和读出值相等,EP对应的Link协商模式状态值正常(第一链路协商模式状态值与參考值相比没有发生改变),则可以输出PCIE硬件检测正常的log信息。如果步骤203中写入值和读出值相等,但是EP对应的Link协商模式状态值与參考值不相等,则可以输出PCIE存在硬件故障的日志信息,并可以通过相关方式报警。实施例一和实施例ニ中各步骤的执行主体可以理解为PCIE硬件故障检测的实现装置。本发明实施例一和实施例ニ提供的方案原理简单,容易实现,检测可靠,而且通过单纯的软件实现,容易实现智能化检测,可以提高检测效率,降低检测的复杂度。本发明实施例一和实施例ニ提供的PCIE硬件故障检测方案可以应用于エ厂测试中,在エ厂测试框架下,作为ー种硬件测试项,能够成功检测PCIE的硬件故障。本方案可以集成在エ厂测试软件中,由于エ厂测试软件有长时间拷机测试功能,可以通过长时间拷机测试,对PCIE容易出现的硬件故障进行先期排查,保证了产品的质量。且由于エ厂测试软件支持单项测试,当设备出问题,可以通过エ厂测试软件的单项测试功能人工排查是否是PCIE硬件造成,从而方便工程人员或者硬件测试人员定位问题。与本发明实施例一和实施例ニ基于同一发明构思,提供以下的装置。实施例三、本发明实施例三提供ー种PCIE硬件故障检测的实现装置,该装置的结构可以如图3所示,包括第一状态值确定模块11用于确定终端设备EP对应的第一链路协商模式状态值;比较模块12用于将确定出的第一链路协商模式状态值与自身预先存储的第二链路协商模式状态值进行比较,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值;故障确定模块13用于在比较结果不一致时,确定PCIE出现硬件故障。第一状态值确定模块11具体用于通过根组件RC读取所述PCIE的状态寄存器中的回路状态Link-Status寄存器中的数据,根据该数据确定第一链路协商模式状态值。所述装置还包括第二状态值确定模块14 第二状态值确定模块14用于读取所述PCIE中配置的链路协商模式状态值,将该链路协商模式状态值作为第二链路协商模式状态值。所述装置还包括读写测试模块15 读写测试模块15用于通过RC向所述EP的PCIE映射地址空间中的设定地址写入第一数值,通过RC读取所述设定地址中保存的第二数值,比较所述第二数值与所述第一数值,并在确定所述第二数值与所述第一数值相等吋,触发第一状态值确定模块,否则,在确定所述第二数值与所述第一数值不相等时,确定所述PCIE出现硬件故障。所述装置还包括输出模块16 输出模块16用于产生并输出PCIE存在硬件故障的日志信息以及告警提不信息。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.ー种快速外围组件连接PCIE硬件故障检测的实现方法,其特征在于,所述方法包括 确定终端设备EP对应的第一链路协商模式状态值; 将确定出的第一链路协商模式状态值与自身预先存储的第二链路协商模式状态值进行比较,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值; 在比较结果不一致时,确定PCIE出现硬件故障。
2.如权利要求I所述的方法,其特征在干,确定终端设备EP对应的第一链路协商模式状态值,具体包括 通过根组件RC读取所述PCIE的状态寄存器中的回路状态Link-Status寄存器中的数据,根据该数据确定第一链路协商模式状态值。
3.如权利要求I所述的方法,其特征在干,自身预先存储的第二链路协商模式状态值通过以下方式获取 读取所述PCIE中配置的链路协商模式状态值,将该链路协商模式状态值作为第二链路协商模式状态值。
4.如权利要求I 3任一所述的方法,其特征在于,确定终端设备EP对应的第一链路协商模式状态值之前,所述方法还包括 通过RC向所述EP的PCIE映射地址空间中的设定地址写入第一数值; 通过RC读取所述设定地址中保存的第二数值; 比较所述第二数值与所述第一数值,在确定所述第二数值与所述第一数值相等吋,执行所述确定終端设备EP对应的第一链路协商模式状态值,否则,在确定所述第二数值与所述第一数值不相等时,确定所述PCIE出现硬件故障。
5.如权利要求4所述的方法,其特征在于,确定PCIE出现硬件故障之后,所述方法还包括 产生并输出PCIE存在硬件故障的日志信息以及告警提不信息。
6.ー种快速外围组件连接PCIE硬件故障检测的实现装置,其特征在于,所述装置包括 第一状态值确定模块,用于确定終端设备EP对应的第一链路协商模式状态值; 比较模块,用于将确定出的第一链路协商模式状态值与自身预先存储的第二链路协商模式状态值进行比较,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值; 故障确定模块,用于在比较结果不一致时,确定PCIE出现硬件故障。
7.如权利要求6所述的装置,其特征在于,第一状态值确定模块,具体用于通过根组件RC读取所述PCIE的状态寄存器中的回路状态Link-Status寄存器中的数据,根据该数据确定第一链路协商模式状态值。
8.如权利要求6所述的装置,其特征在于,所述装置还包括 第二状态值确定模块,用于读取所述PCIE中配置的链路协商模式状态值,将该链路协商模式状态值作为第二链路协商模式状态值。
9.如权利要求6 8任一所述的装置,其特征在于,所述装置还包括读写测试模块,用于通过RC向所述EP的PCIE映射地址空间中的设定地址写入第一数值,通过RC读取所述设定地址中保存的第二数值,比较所述第二数值与所述第一数值,并在确定所述第二数值与所述第一数值相等时,触发第一状态值确定模块,否则,在确定所述第二数值与所述第一数值不相等时,确定所述PCIE出现硬件故障。
10.如权利要求9所述的装置,其特征在于,所述装置还包括 输出模块,用于产生并输出PCIE存在硬件故障的日志信息以及告警提不信息。
全文摘要
本发明实施例提供一种PCIE硬件故障检测的实现方法与装置,包括比较终端设备EP对应的第一协商模式状态值与预先存储的第二协商模式状态值,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值,在确定第一协商模式状态值与第二协商模式状态值不一致时,即可确定PCIE出现了硬件故障,降低了PCIE硬件故障检测的复杂度,同时提高了PCIE硬件故障检测的效率。
文档编号G06F11/22GK102662808SQ20121007669
公开日2012年9月12日 申请日期2012年3月21日 优先权日2012年3月21日
发明者周勇 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1