CN102662808A - 一种pcie硬件故障检测的实现方法与装置 - Google Patents
一种pcie硬件故障检测的实现方法与装置 Download PDFInfo
- Publication number
- CN102662808A CN102662808A CN2012100766967A CN201210076696A CN102662808A CN 102662808 A CN102662808 A CN 102662808A CN 2012100766967 A CN2012100766967 A CN 2012100766967A CN 201210076696 A CN201210076696 A CN 201210076696A CN 102662808 A CN102662808 A CN 102662808A
- Authority
- CN
- China
- Prior art keywords
- pcie
- state value
- mode state
- negotiation mode
- value
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明实施例提供一种PCIE硬件故障检测的实现方法与装置,包括:比较终端设备EP对应的第一协商模式状态值与预先存储的第二协商模式状态值,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值,在确定第一协商模式状态值与第二协商模式状态值不一致时,即可确定PCIE出现了硬件故障,降低了PCIE硬件故障检测的复杂度,同时提高了PCIE硬件故障检测的效率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种PCIE硬件故障检测的实现方法与装置。
背景技术
快速外围组件连接(PCIE,Peripheral Component Interconnect Express)具有数据传输速率高的优势,目前PCIE有x1,x4,x8,x16等几种规格,其中,x1表示有1对读写回路,x4表示有4对读写回路,x8表示有8对读写回路,x16表示有16对读写回路,并存在1.0版本和2.0版本。数据传输速率最高的16X 2.0版本可达到10GB/s,而且还有相当大的发展潜力。从PCIE 1X到PCIE16X,能满足现在和将来一定时间内出现的低速设备和高速设备的需求。现在主流主板都能支持PCIE 1.016X,也有部分较高端的主板支持PCIE 2.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总线行为主要包括内存读总线事务,内存写总线事务,IO读总线事务等。而这些总线行为又可以分为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硬件故障检测的效率。
附图说明
图1为本发明实施例一提供的PCIE硬件故障检测的实现方法的步骤流程图;
图2为本发明实施例二提供的PCIE硬件故障检测的实现方法的步骤流程图;
图3为本发明实施例三提供的PCIE硬件故障检测的实现装置的结构示意图。
具体实施方式
针对目前PCIE硬件故障检测的缺陷,在本发明实施例中提出一种简单的,可靠的,智能化的,适用于大规模生产测试的硬件故障检测的实现方法。链路(Link)协商模式状态值用于描述PCIE中正常读写回路的数目。在PCIE没有出现硬件故障时,x1,x4,x8,x16规格的PCIE对应的Link协商模式状态值分别为1,4,8,16,Link协商模式状态值存储在PCIE状态寄存器中,如果出现某对链路故障,PCIE Link协商模式状态值会发生改变。本发明实施例主要是通过检测PCIE Link协商模式状态值来判断PCIE是否出现了硬件故障。并可以进一步结合对EP设备映射某地址的读写测试来判断PCIE是否出现了硬件故障。
下面结合说明书附图和各实施例对本发明方案进行说明。
实施例一、
本发明实施例一提供一种PCIE硬件故障检测的实现方法,该方法的步骤流程如图1所示,包括:
步骤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,否则,可以进行执行步骤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存在硬件故障的日志信息以及告警提示信息。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种快速外围组件连接PCIE硬件故障检测的实现方法,其特征在于,所述方法包括:
确定终端设备EP对应的第一链路协商模式状态值;
将确定出的第一链路协商模式状态值与自身预先存储的第二链路协商模式状态值进行比较,第二链路协商模式状态值表示处于正常工作状态下的PCIE对应的链路协商模式状态值;
在比较结果不一致时,确定PCIE出现硬件故障。
2.如权利要求1所述的方法,其特征在于,确定终端设备EP对应的第一链路协商模式状态值,具体包括:
通过根组件RC读取所述PCIE的状态寄存器中的回路状态Link-Status寄存器中的数据,根据该数据确定第一链路协商模式状态值。
3.如权利要求1所述的方法,其特征在于,自身预先存储的第二链路协商模式状态值通过以下方式获取:
读取所述PCIE中配置的链路协商模式状态值,将该链路协商模式状态值作为第二链路协商模式状态值。
4.如权利要求1~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存在硬件故障的日志信息以及告警提示信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210076696.7A CN102662808B (zh) | 2012-03-21 | 2012-03-21 | 一种pcie硬件故障检测的实现方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210076696.7A CN102662808B (zh) | 2012-03-21 | 2012-03-21 | 一种pcie硬件故障检测的实现方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662808A true CN102662808A (zh) | 2012-09-12 |
CN102662808B CN102662808B (zh) | 2014-09-10 |
Family
ID=46772305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210076696.7A Active CN102662808B (zh) | 2012-03-21 | 2012-03-21 | 一种pcie硬件故障检测的实现方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662808B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731317A (zh) * | 2013-12-10 | 2014-04-16 | 福建星网锐捷网络有限公司 | 一种pcie地址映射检测的方法及装置 |
CN106502952A (zh) * | 2016-10-24 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种pcie设备安全掉线设计方法 |
CN108335722A (zh) * | 2018-01-03 | 2018-07-27 | 郑州云海信息技术有限公司 | 一种自动化测试ssd接口速率的方法 |
CN108595297A (zh) * | 2018-05-09 | 2018-09-28 | 郑州云海信息技术有限公司 | 一种upi速度的检测方法及装置 |
CN109710501A (zh) * | 2018-12-18 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种服务器数据传输稳定性的检测方法和系统 |
CN111767242A (zh) * | 2020-05-28 | 2020-10-13 | 西安广和通无线软件有限公司 | Pcie设备控制方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1659488A (zh) * | 2002-06-13 | 2005-08-24 | 因温特奥股份公司 | 使用至少一个传输控制器的控制和/或监控设备 |
-
2012
- 2012-03-21 CN CN201210076696.7A patent/CN102662808B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1659488A (zh) * | 2002-06-13 | 2005-08-24 | 因温特奥股份公司 | 使用至少一个传输控制器的控制和/或监控设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731317A (zh) * | 2013-12-10 | 2014-04-16 | 福建星网锐捷网络有限公司 | 一种pcie地址映射检测的方法及装置 |
CN103731317B (zh) * | 2013-12-10 | 2017-02-08 | 福建星网锐捷网络有限公司 | 一种pcie地址映射检测的方法及装置 |
CN106502952A (zh) * | 2016-10-24 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种pcie设备安全掉线设计方法 |
CN106502952B (zh) * | 2016-10-24 | 2019-08-02 | 郑州云海信息技术有限公司 | 一种pcie设备安全掉线设计方法 |
CN108335722A (zh) * | 2018-01-03 | 2018-07-27 | 郑州云海信息技术有限公司 | 一种自动化测试ssd接口速率的方法 |
CN108595297A (zh) * | 2018-05-09 | 2018-09-28 | 郑州云海信息技术有限公司 | 一种upi速度的检测方法及装置 |
CN108595297B (zh) * | 2018-05-09 | 2021-04-27 | 郑州云海信息技术有限公司 | 一种upi速度的检测方法及装置 |
CN109710501A (zh) * | 2018-12-18 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种服务器数据传输稳定性的检测方法和系统 |
CN109710501B (zh) * | 2018-12-18 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种服务器数据传输稳定性的检测方法和系统 |
CN111767242A (zh) * | 2020-05-28 | 2020-10-13 | 西安广和通无线软件有限公司 | Pcie设备控制方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102662808B (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662808B (zh) | 一种pcie硬件故障检测的实现方法与装置 | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
US6055653A (en) | Method and apparatus for testing gang memory modules | |
JP2007323648A (ja) | Usbインタフェース設備に対して操作を行う装置及び方法 | |
CN104572385A (zh) | 存储器故障检测系统及方法 | |
CN112542199A (zh) | 检测flash存储出错的方法、电路、存储介质和终端 | |
CN102053898A (zh) | 针对主机pcie插槽上总线接口的测试方法及其读写测试方法 | |
CN112000535A (zh) | 一种基于SAS Expander卡的硬盘异常识别方法及处理方法 | |
CN111984487A (zh) | 一种离机记录故障硬件位置的方法及装置 | |
CN109710479B (zh) | 一种处理方法及第一设备、第二设备 | |
CN111988196B (zh) | 一种带宽检测方法、装置、电子设备和存储介质 | |
CN1983204A (zh) | 使用lpc接口且能修复bios功能之除错装置及其除错方法 | |
CN101211292A (zh) | 系统内存间错误检测及修正功能验证之系统及其方法 | |
WO2016101177A1 (zh) | 计算机设备内存的检测方法和计算机设备 | |
CN109147861A (zh) | 一种硬盘在位检测装置和方法 | |
CN106815088A (zh) | 服务器及其侦错方法 | |
US8516311B2 (en) | System and method for testing peripheral component interconnect express switch | |
CN112650612A (zh) | 一种内存故障定位方法及装置 | |
CN202257547U (zh) | 一种龙芯cpu平台中显卡测试的装置 | |
CN109885420B (zh) | 一种PCIe链路故障的分析方法、BMC及存储介质 | |
CN116069538A (zh) | 一种故障修复方法、装置、电子设备及存储介质 | |
CN101452417B (zh) | 监控方法及其监控装置 | |
CN103164308A (zh) | 调试系统及方法 | |
CN103793303A (zh) | 一种基于计算机主板的内存条测试卡 | |
CN115033441A (zh) | PCIe设备故障检测方法、装置、设备和存储介质 |
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 |