CN105700967A - 一种外设部件内部互联PCIe设备及其检测方法 - Google Patents
一种外设部件内部互联PCIe设备及其检测方法 Download PDFInfo
- Publication number
- CN105700967A CN105700967A CN201610015204.1A CN201610015204A CN105700967A CN 105700967 A CN105700967 A CN 105700967A CN 201610015204 A CN201610015204 A CN 201610015204A CN 105700967 A CN105700967 A CN 105700967A
- Authority
- CN
- China
- Prior art keywords
- pcie
- message
- detection unit
- unit
- tlp
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种外设部件内部互联PCIe设备及其检测方法。PCIe设备包括PCIe端口,该PCIe端口可以在PCIe桥的下游端口DP中,也可以在CPU的根节点RP中,在一个例子中,包括:PCIe核单元接收CPU或上游端口UP下发的传输层报文,并将报文下发至结束端点EP;异常检测单元对该端口向EP下发报文的过程进行检测,在识别该过程中有报文重传异常,如ACK/NAK报文异常,或流控信用值更新异常,如无信用值异常时,异常检测单元输出硬件断链使能信号;硬件断链单元根据该信号,断开PCIe端口与EP的链接。本发明实施例通过对ACK/NAK报文或流控信用值更新这类无法感知且会造成CPU挂死的异常进行检测与处理保证CPU正常工作,提高了PCIe***的可靠性与***对驱动程序的兼容性。
Description
技术领域
本发明涉及移动通信领域,尤其涉及一种外设部件内部互联PCIe设备及其检测方法。
背景技术
随着外设部件内部互联(PeripheralComponentInterconnectExpress,PCIe)协议在存储、计算等领域的广泛使用,其对***的可靠性要求也越来越高;为了提升***的可靠性,PCIe协议定义了一系列错误检测与处理机制来改善IO设备异常对主机的影响,但PCIe协议仍然存在对有些错误的严重性程度认识不足,且CPU也在对某些错误的处理方面不完善的情况。
当前,IO设备出现异常时,可能会导致PCIe设备的根节点(RootPoint,RP)或PCIe桥PCIeSwitch的下游端口(DownstreamPort,DP)出现异常,其中,PCIeSwitch含有多个下游端口DP。当其检测到本端口或其连接的IO设备有异常时,根据PCIe的高级错误报告AER机制发送的错误消息,如中断消息,错误处理软件接收到中断后设置相应的DP或RP的链路控制寄存器,将其下端的链路断开,隔离异常的IO设备,其中结束节点(Endpoint,EP)是PCIe***中的IO设备。
但是,当挂接在PCIeSwitch中一个DP上的EP出现某些异常情况时,由于整体PCIe的拓扑结构较为复杂,软件很难快速查找到异常EP相应的DP端口,无法及时将相应DP端口断链;通常情况下为保证***不死机,驱动软件会直接将RP下的所有链路全部断开,对业务的影响较大;同时,此方案需要对驱动软件进行修改,添加对异常的检测与判断以及断链的控制,兼容性较差。
发明内容
本发明提供了一种PCIe设备及其检测方法,用于解决现有技术中EP异常造成的CPU挂死。
一方面,本发明提供了一种PCIe设备,如网卡,SSB等数据传输设备。PCIe设备包括PCIe端口,该PCIe端口包括:PCIe核单元、异常检测单元和硬件断链单元。其中,PCIe核单元用于接收CPU或PCIe桥的上游端口UP下发的传输层报文TLP,并将TLP报文下发至结束端点EP。异常检测单元对PCIe端口向EP下发报文的过程进行检测,检测该报文下发过程中是否有报文重传异常或流控信用值更新异常,若存在异常,则输出硬件断链使能信号。根据硬件断链使能信号,硬件断链单元断开该PCIe端口与EP的链接,以便隔离异常的EP,提升***可靠性。
在一个可能的设计中,硬件断链单元具体可以用于根据异常检测单元输出的硬件断链使能信号,通过将PCIe核单元中链路状态寄存器的禁用链路LinkDisable状态置位,如LinkDisable状态位接收高电平有效,则置1,从而控制PCIe核中的LTSSM状态机设置为禁用Disable状态,断开PCIe端口与EP的链接,从而隔离异常EP。
在一个可能的设计中,当PCIe设备包括CPU时,PCIe设备的PCIe端口位于CPU的根节点RP中。PCIe端口中的PCIe核单元接收CPU下发的TLP报文,并将TLP报文发送至EP。
在一个可能的设计中,当PCIe设备包括CPU和PCIe桥,PCIe设备的PCIe端口位于PCIe桥的DP中。PCIe端口中的PCIe核单元接收UP下发的TLP报文,并将TLP报文发送至EP。
在一个可能的设计中,当PCIe端口向EP下发报文的过程是PCIe端口和EP之间的报文重传过程时,异常检测单元可以是重传缓冲器检测单元。重传缓冲器检测单元对PCIe端口中PCIE核的报文重传过程进行检测,若报文重传过程出现异常,则输出硬件断链使能信号;若无异常,则无输出。
在一个可能的设计中,重传缓冲器检测单元可以同时包括超时检测单元和次数检测单元,也可以单独包括超时检测单元或次数检测单元。当重传缓冲器检测单元包括超时检测单元时,超时检测单元对PCIe端口中PCIe核单元的报文重传过程进行超时检测。当PCIe端口中的PCIe核单元存有TLP报文,但未输出TLP报文释放信号时,超时检测单元检测到未输出TLP报文释放信号的重传报文持续时间(也可以说是报文重传时间)达到阈值时,重传缓冲器检测单元向硬件断链单元输出硬件断链使能信号,控制硬件断链单元断开PCIe端口与异常EP的连接,减小了异常EP对***整体业务的影响。
在一个可能的设计中,重传缓冲器检测单元可以同时包括超时检测单元和次数检测单元,也可以单独包括超时检测单元或次数检测单元。当重传缓冲器检测单元包括次数检测单元时,次数检测单元对PCIe端口中PCIe核单元的报文重传过程进行次数检测。当PCIe端口中的PCIe核单元存有TLP报文,但未输出TLP报文释放信号时,次数检测单元检测到未输出TLP报文释放信号的重传报文持续次数(也可以说是报文重传次数)达到阈值时,重传缓冲器检测单元向硬件断链单元输出硬件断链使能信号,控制硬件断链单元断开PCIe端口与异常EP的连接,减小了异常EP对***整体业务的影响。
在一个可能的设计中,重传缓冲器检测单元可以同时包括超时检测单元和次数检测单元,也可以单独包括超时检测单元或次数检测单元。当重传缓冲器检测单元同时包括超时检测单元和次数检测单元时,超时检测单元和次数检测单元共同对PCIe端口中PCIe核单元的报文重传过程进行次数检测。当PCIe端口中的PCIe核单元存有TLP报文,但未输出TLP报文释放信号时,超时检测单元和次数检测单元分别检测未输出TLP报文释放信号的重传报文持续时间和重传报文持续次数,重传报文持续时间和重传报文持续次数中的任一一项达到预设阈值(时间阈值或次数阈值),重传缓冲器检测单元都会向硬件断链单元输出硬件断链使能信号,实现PCIe端口与异常EP的断链,减小了异常EP对***整体业务的影响。
在一个可能的设计中,重传缓冲器检测单元不仅可以包括超时检测单元和/或次数检测单元,还可以包括识别单元。该识别单元用于识别重传过程中会导致CPU挂死的重传持续时间和/或重传次数的值,从而来设定超时检测单元和/或次数检测单元的时间阈值和/或次数阈值,断开PCIe端口与异常EP的连接,从而提升了***的可靠性。
在一个可能的设计中,PCIe端口向EP下发报文的过程是PCIe端口和EP之间的流控信用值更新过程时,异常检测单元可以是无信用值检测单元。无信用值检测单元对PCIe端口中PCIe核单元的多类事务的无信用值持续时间报文重传过程进行检测,若多类事务的无信用值持续时间超过阈值,则输出硬件断链使能信号,控制硬件断链单元断开PCIe端口与异常EP的连接,减小了异常EP对***整体业务的影响。
在一个可能的设计中,无信用值检测单元包括多个计时器检测单元,通过多个计时器检测单元分别对PCIe核单元中多类事务的无信用值持续时间进行检测。当PCIe端口中的PCIe核单元存有TLP报文时,无信用值检测单元检测到多个无信用值检测单元中的一个或多个计时器检测单元达到时间阈值,此时无信用值检测单元向硬件断链单元输出所述硬件断链使能信号。
在一个可能的设计中,无信用值检测单元中的多个计时器检测单元具体可以用于检测PCIe核单元中多类事务的流控信用值更新过程,此处的多类事务可以包括:报告请求头PH、报告请求数据PD、非报告请求头NPH、非报告请求数据NPD、完成报文头CPLH和完成报文数据CPLD。若PCIe核单元存有所述TLP报文,且多个计时器检测单元中的一个或多个计时器检测单元达到时间阈值,则无信用值检测单元向硬件断链单元输出所述硬件断链使能信号。
另一方面,本发明实施例提供了一种PCIe设备的检测方法,PCIe设备包括PCIe端口,PCIe设备可以是网卡,SSB等数据传输设备。该检测方法由PCIe端口执行,包括:接收CPU或PCIe桥的上游端口UP下发的传输层报文TLP,并将TLP报文下发至结束端点EP;通过对向EP下发报文的过程进行检测,检测该报文下发过程中是否有报文重传异常或流控信用值更新异常,若存在异常,则输出硬件断链使能信号。根据硬件断链使能信号,硬件断链单元断开该PCIe端口与EP的链接,以便隔离异常的EP,提升***可靠性。
在一个可能的设计中,根据异常检测单元输出的硬件断链使能信号,通过将PCIe核单元中链路状态寄存器的LinkDisable状态置位,如LinkDisable状态位接收高电平有效,则置1,从而控制PCIe核单元中的LTSSM状态机设置为Disable状态,断开PCIe端口与EP的链接,从而隔离异常EP。
在一个可能的设计中,对于检测向EP下发报文的过程,可以对报文重传过程进行超时检测和/或次数检测。当仅对报文重传过程进行超时检测时,对于PCIe端口中存有TLP报文,但未输出TLP报文释放信号的情况下,检测到重传报文持续时间(也可以说是报文重传时间)达到阈值时,输出硬件断链使能信号,实现PCIe端口与异常EP的断链,减小了异常EP对***整体业务的影响。
在一个可能的设计中,对于检测向EP下发报文的过程,可以对报文重传过程进行超时检测和/或次数检测。当仅对报文重传过程进行次数检测时,对于PCIe端口中存有TLP报文,但未输出TLP报文释放信号的情况下,检测到报文重传次数达到预设阈值时,输出硬件断链使能信号,实现PCIe端口与异常EP的断链,减小了异常EP对***整体业务的影响。
在一个可能的设计中,对于检测向EP下发报文的过程,可以对报文重传过程进行超时检测和/或次数检测。当同时对报文重传过程进行超时检测单元和次数检测时,对于PCIe端口中存有TLP报文,但未输出TLP报文释放信号的情况下,若检测到重传报文持续时间和重传报文持续次数中的任一一项达到预设阈值(时间阈值或次数阈值),则输出硬件断链使能信号,实现PCIe端口与异常EP的断链,减小了异常EP对***整体业务的影响。
在一个可能的设计中,通过识别重传过程中会导致CPU挂死的重传持续时间和/或重传次数的值,从而设定相应的时间阈值和/或次数阈值,断开PCIe端口与异常EP的连接,从而提升了***的可靠性。
在一个可能的设计中,对于检测向EP下发报文的过程,可以对报文无信用值的持续时间进行检测。对于PCIe端口中存有TLP报文,且检测到多类事务的无信用值持续时间达到时间阈值时,输出硬件断链使能信号。
本发明实施例提供的PCIE设备针对ACK/NAK报文异常或流控信用值异常引起的CPU挂死现象,通过异常检测单元的主动检测与硬件断链单元的处理,保证了CPU正常工作,提高了PCIe***的可靠性,以及PCIe***对驱动程序的兼容性。通过只隔离异常的EP,缩小了设备隔离范围,从而在最大程度上减少了IO设备异常对***整体业务的影响。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种PCIe端口结构原理图;
图2为本发明实施例提供的一种PCIe设备应用场景示意图;
图3为本发明实施例提供的一种PCIe设备应用场景示意图;
图4为图1提供的一种PCIe端口结构示意图;
图5为图1提供的一种PCIe设备检测方法流程图;
图6为图1提供的另一种PCIe端口的结构示意图;
图7为图4提供的另一种PCIe设备检测过程示意图;
图8为图1提供的另一种PCIe设备的检测方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
PCIe设备中PCIe端口下接EP设备,由于PCIe设备中CPU中的根节点RP与PCIeSwitch中的下游端口DP下都可接EP设备,因此本发明实施例将PCIe设备中的PCIe端口做改进,由于RP与DP的内部结构相同,因此该PCIe端口可以位于RP中,也可以位于DP中。其中,一个RP或DP下只接一个EP,RP与DP由硬件芯片实现,如FPGA。PCIe设备可以是网卡、SSB等数据传输设备;EP设备是PCIe***中的IO设备。
PCIe端口接收CPU或上游端口(UpstreamPort,UP)下发的报文,并将报文下发至EP;在下发过程中,PCIe端口检测该过程中EP是否有ACK/NAK报文异常或流控信用值异常,若有异常。则输出硬件断链使能信号,最后根据硬件断链使能信号,隔离异常EP。
图1为本发明实施例提供的一种PCIe端口结构原理图。如图1所示,PCIe端口100接收具有处理能力的处理器或装置或***下发的传输层报文(TransportLayerPacket,TLP),此处可以是CPU下发的TLP报文,也可以是PCIeSwitch中上游端口UP下发的TLP报文;PCIe端口100包括PCIe核单元130、异常检测单元120和硬件断链单元140。
PCIe核单元130用于接收CPU或UP下发的TLP报文,经处理后下发至EP150,PCIe核单元130由硬件芯片实现;根据PCIe协议,PCIe核单元130中的PCIe数据总线被分成三层结构,包括传输层131、数据链路层132和物理层133。
传输层131接收CPU下发的TLP报文并将其处理后下发给数据链路层132,以及判断EP150接收TLP报文的能力;传输层131包括各类寄存器和逻辑器件,如信用值使用界限寄存器、已消耗信用值寄存器、比较器和加法器等。需要说明的是,传输层131可以访问PCIE设备的配置空间20,配置空间20中包含链路状态寄存器。传输层131中各类寄存器、逻辑器件和配置空间的位置及名称都可随着通信设备的演进,发生改变,如各自所属的位置合并。
数据链路层132接收传输层131下发的TLP报文,对该TLP报文进行差错检测和恢复等处理,确保报文传输的可靠性与正确性。
数据链路层132还用于存储TLP报文,并向异常检测单元120输出相应触发信号,如TLP报文的接收信号、TLP报文的释放信号以及无存储信号等。数据链路层132的差错检测和恢复的处理是通过对出错的TLP报文进行重传来完成。
物理层133与EP150进行报文传输,为TLP报文的传输提供可靠环境;
异常检测单元120对PCIe核单元130中数据链路层132的报文传输过程进行检测,识别报文传输过程是否异常,若出现异常,则输出硬件断链使能信号,若无异常,则无输出。例如,异常检测单元120可以检测由PCIe核单元130无法接收EP发送的ACK报文,或PCIe核单元130一直接收EP发送的NAK报文而构成的ACK/NAK报文异常,也可以检测由PCIE核单元130中传输层131无信用值,或EP发送的流控更新报文逻辑异常而构成的流控信用值异常。
硬件断链单元140根据异常检测单元120输出的硬件断链使能信号,控制PCIe核单元130清除与异常EP150相关的缓存信息,包括清除EP150的缓存数据、重置状态信息和配置信息,从而实现对异常EP150的隔离。需要说明的是,上述清除过程可以由PCIe核单元130所在的硬件芯片来实现,如FPGA芯片。
PCIe端口100中的PCIe核单元130接收CPU下发的TLP报文,该报文经处理后发送到EP150,在该报文向EP150传输过程中,异常检测单元120对该报文的传输过程进行检测,当检测到EP150出现异常时,触发硬件断链单元140进行断链,隔离异常EP150,以防CPU的命令队列拥塞而出现挂死现象。
需要说明的是,如图2所示,当PCIe端口位于CPU的RP中,此时PCIe设备中CPU的RP可以直接和EP相连,CPU下发的报文通过RP发送至IO设备EP中;如图3所示,当PCIe端口位于PCIeSwitch的DP中,此时PCIe设备中CPU的RP与PCIeSwitch的UP相连,PCIeSwitch的DP和EP相连,CPU下发的报文通过RP发送至UP,再由UP发送至DP,通过DP发送至IO设备EP中;由于RP与DP的内部结构相同,因此可以利用多个PCIeSwitch进行DP端口扩展。其中,UP可以由FPGA芯片实现。
本发明实施例提供的PCIe设备针对ACK/NAK报文异常或流控信用值异常引起的CPU挂死现象,通过异常检测单元的主动检测与硬件断链单元的处理,保证了CPU正常工作,提高了PCIe***的可靠性,以及PCIe***对驱动程序的兼容性。通过只隔离异常的EP,缩小了设备隔离范围,从而在最大程度上减少了IO设备异常对***整体业务的影响。
图4为图1提供的一种PCIE端口结构示意图。如图4所示,PCIe端口400包括PCIe核单元130、重传缓冲器检测单元410、硬件断链单元140。
PCIe核单元130接收CPU下发的TLP报文,并将其处理后下发至EP150。其中,传输层131访问PCIe设备的配置空间20内的链路状态寄存器21可以实现对PCIe核单元130的状态控制。数据链路层132包括存储设备,用于存储接收的TLP报文,如缓冲器1321,缓冲器1321向重传缓冲器检测单元410输出相应触发信号,如TLP报文的接收信号、TLP报文的释放信号以及无存储信号等。
物理层133可以包括状态控制器,如LTSSM状态机1311,LTSSM状态机1311根据链路状态寄存器21的状态对PCIE核单元130的进行状态控制;
重传缓冲器检测单元410接收PCIE核单元130的数据链路层132发送的相应触发信号,根据触发信号对数据链路层132中缓冲器1321的报文重传过程进行检测,识别报文重传过程是否异常,若出现异常,则输出硬件断链使能信号,若无异常,则无输出,以使数据链路层132能够退出报文重传定向死循环,防止CPU挂死。
进一步的,重传缓冲器检测单元410可以同时包括超时检测单元411和次数检测单元412,也可以单独包括超时检测单元411或次数检测单元412;其中,超时检测单元411可以包括一个可设阈值的计时器,次数检测单元412可以包括一个可设阈值的计数器。
硬件断链单元140根据重传缓冲器检测单元410输出的硬件断链使能信号,控制PCIe核单元130清除PCIE核单元130中与异常EP150相关的缓存信息,实现对异常EP150的隔离。
在一个例子中,PCIe端口400中PCIe核单元130的传输层131接收CPU下发的TLP报文,并将其处理后下发给数据链路层132,数据链路层132将该TLP报文存储在缓冲器1321中,并对该TLP报文进行差错检测和恢复处理后,发送到物理层133,PCIe端口400通过物理层133向EP150传输该TLP报文。
PCIe端口400将TLP报文成功传输到EP150后,若EP150成功接收到该TLP报文,则EP150将向PCIe端口400中的数据链路层132发送ACK报文,数据链路层132正常接收传输层131下发的下一TLP报文;若EP150未成功接收该报文,则EP150将向PCIe端口400中的数据链路层132发送NAK报文,数据链路层132中的缓冲器1321对将该报文进行重传。
当PCIe端口400与EP150间的下行链路异常时,如传输过程不稳定导致EP150接收到错码报文,也就是说,此时EP150没有接收到正确的TLP报文,EP150一直处于NAK发送状态;当PCIe端口400与EP150间的上行链路出现异常时,由于数据链路层132无法接收到由EP150返回的ACK报文,数据链路层132将认为EP150没有接收到正确的TLP报文;在这两种情况下,根据数据链路层132中缓冲器1321缓冲空间的限制,当缓冲器1321的存储空间不足时,数据链路层132将不会接收传输层131下发的TLP报文,同时根据PCIe协议,数据链路层132将通过缓冲器1321不断向EP150重传该TLP报文。
重传缓冲器检测单元410中的超时检测单元411和/或次数检测单元412,分别对数据链路层132中缓冲器1321的报文重传过程进行异常持续时间和/或异常发生次数进行检测。
需要说明的是,在PCIE设备启动前,需要对超时检测单元411中的计时器进行时间阈值设置,和/或对次数检测单元412中的计数器进行次数阈值设置;数据链路层132中缓冲器1321输出的TLP报文接收信号作为计时器的计时信号和/或计数器的计数信号,缓冲器1321输出的TLP报文释放信号作为计时器和/或计数器的复位信号。
当缓冲器1321输中无TLP报文存储时,重传缓冲器检测单元410接收缓冲器1321的触发信号,将超时检测单元411中计时器累计的时间清零并保持,和/或将次数检测单元412中计数器累计的次数清零并保持;
当缓冲器1321中有TLP报文,且该报文未被释放,也就是说,缓冲器1321未输出TLP报文释放信号时,重传缓冲器检测单元410接收缓冲器1321的触发信号,使超时检测单元411中的计时器开始计时,和/或次数检测单元122中的计数器开始计数;
当缓冲器1321输出TLP报文释放信号时,重传缓冲器检测单元410接收缓冲器1321的触发信号,将超时检测单元411中计时器累计的时间清零并重新开始计时,将次数检测单元412中计数器累计的次数清零并重新开始计数;
当超时检测单元411的计时器达到时间阈值或次数检测单元412的计数器达到次数阈值时,重传缓冲器检测单元410输出硬件断链使能信号,此时超时检测单元411的计时器和/或次数检测单元412的计数器将处于保持状态直至复位。也就是说,可以由超时检测单元411和次数检测单元412共同对缓冲器1321的报文重传过程进行检测,当超时检测单元411和次数检测单元412中的一个达到阈值,就触发重传缓冲器检测单元410输出硬件断链使能信号,也可以单独由超时检测单元411或次数检测单元412对缓冲器1321的报文重传过程进行检测,当超时检测单元411或次数检测单元412达到阈值,就可以触发重传缓冲器检测单元410输出硬件断链使能信号。
硬件断链单元140接收重传缓冲器检测单元410输出的硬件断链使能信号后,将传输层131访问的链路状态寄存器21的禁用链路LinkDisable状态位强制置位,如LinkDisable状态位接收高电平有效,则置1。由于链路状态寄存器21处于禁用Disable状态,从而控制物理层133中LTSSM状态机设置为Disable状态,使PCIe核单元130中与异常EP150相关的缓存信息被清除,实现对异常EP150的隔离。
需要说明的是,超时检测单元的时间阈值和次数检测单元的次数阈值可以由本领域技术人员根据实际情况来设置,也可以在重传缓冲器检测单元中增添识别单元,该识别单元用于识别会导致CPU挂死的重传持续时间和重传次数,来设定相应的时间阈值和次数阈值,隔离异常EP。
本发明实施例提供的PCIe设备针对ACK/NAK报文这类无法感知,且会造成CPU挂死的异常,通过PCIe端口的主动检测与处理,只隔离异常的EP,缩小了设备隔离范围,提高了PCIE***的可靠性。
与上述PCIe设备对应地,本发明实施例还提供了一种检测方法。
图5为图1提供的一种PCIe设备检测方法流程图。该PCIe设备包括PCIe端口,如图5所示,该方法由PCIe端口执行,包括:
S510、接收TLP报文,并向EP下发该TLP报文;
具体的,PCIe端口中PCIE核单元接收具有处理能力的处理器或装置或***下发的TLP报文,此处可以是CPU下发的TLP报文,PCIe核单元接收该报文,经处理后下发至EP。
S520、判断EP是否成功接收PCIe核单元下发的TLP报文;
具体的,若EP成功接收PCIe端口TLP报文,则PCIe端口中PCIe核单元的数据链路层接收EP发送的ACK报文,此时数据链路层正常接收传输层下发的TLP报文,并向重传缓冲器检测单元输出状态触发信号;
若EP成功接收PCIe端口下发的TLP报文,但PCIe端口中PCIe核单元的数据链路层未接到EP发送的ACK报文,则根据PCIe协议,数据链路层将向EP重传该报文,此时数据链路层向重传缓冲器检测单元输出状态触发信号;
若EP未成功接收PCIE端口下发的报文,则PCIe端口中PCIe核单元的数据链路层接收EP发送的NAK报文,根据PCIe协议,将向EP重传该报文,并向重传缓冲器检测单元输出状态触发信号。
在数据链路层向EP不断重传该报文过程中,根据重传缓冲器缓冲空间的限制,当重传缓冲器的存储空间不足时,数据链路层将不会接收传输层下发的TLP报文。同时根据PCIe协议,数据链路层将不断向EP重传该TLP报文。
S530、对报文重传过程的时间和/或次数进行检测;
具体的,当数据链路层中无TLP报文存储时,重传缓冲器检测单元接收数据链路层的状态触发信号,将重传缓冲器检测单元中超时检测单元计时器累计的时间和/或次数检测单元计数器中累计的次数都清零并保持,直到重传缓冲器检测单元接收到数据链路层的其他状态触发信号;
当数据链路层中有TLP报文,且该报文未被释放,也就是说,重传缓冲器未输出TLP报文释放信号时,根据数据链路层的状态触发信号,重传缓冲器检测单元中超时检测单元中的计时器开始计时,和/或次数检测单元中的计数器开始计数;
当数据链路层输出TLP报文释放信号时,重传缓冲器检测单元接收数据链路层的状态触发信号,将重传缓冲器检测单元中的超时检测单元计时器累计的时间和/或次数检测单元计数器中累计的次数都清零并重新开始计数;
当超时检测单元的计时器达到时间阈值或次数检测单元的计数器达到次数阈值时,重传缓冲器检测单元输出硬件断链使能信号,此时超时检测单元的计时器和次数检测单元的计数器将保持直至复位。
S540、根据硬件断链使能信号,隔离EP;
具体的,根据重传缓冲器检测单元输出的硬件断链使能信号,将传输层访问的链路状态寄存器的LinkDisable状态位强制置位,如LinkDisable状态位接收高电平有效,则置1。由于链路状态寄存器处于Disable状态,从而控制物理层中LTSSM状态机设置为Disable状态,使PCIe核单元中与异常EP相关的缓存信息被清除,完成对异常EP的隔离。
上述的实施例提供的PCIe设备针对ACK/NAK报文这类无法感知,且会造成CPU挂死的异常,通过PCIe端口的主动检测与处理,只隔离异常EP,缩小了设备隔离范围,提高了***的可靠性。
图6为图1提供的另一种PCIE端口的结构示意图。如图6所示,PCIe端口600包括PCIe核单元130、无信用值检测单元610、硬件断链单元140。
PCIe核单元130接收CPU下发的TLP报文,并将该TLP报文处理后发送至EP150;PCIe核单元130中的传输层131包括信用值界限寄存器22、消耗信用值寄存器23、比较器24和加法器25,访问PCIe设备配置空间20内的链路状态寄存器21可以实现对PCIe核单元130的状态控制;传输层131用于判断EP150接收TLP报文的能力,EP150将能够接收的报文数量以信用值的形式通过发送流控更新报文通知PCIe端口600中的传输层131,传输层131还可以包括存储设备,如报文缓冲器1311,用于存储接收的TLP报文。
其中,信用值界限寄存器22用于记录EP150的可用信用值,消耗信用值寄存器23用于记录传输层131已消耗的信用值。
无信用值检测单元610接收PCIe核单元130的传输层131发送的相应触发信号,根据触发信号对传输层131无信用值的持续时间进行检测,无信用值检测单元610包括6个可设阈值的计时器检测单元,即计时器检测单元611、计时器检测单元612、计时器检测单元613、计时器检测单元614、计时器检测单元615和计时器检测单元616,6个计时器检测单元分别用于检测传输层131中6类事务无信用值的持续时间,若6个计时器检测单元中的一个或多个计时器检测单元的持续时间达到时间阈值,则输出硬件断链使能信号,防止由于传输层131无信用值或长时间接收不到EP150的流控更新报文造成的CPU挂死。
根据PCIe协议,需要检查六类事务的流控信用值包括:报告请求头PH、报告请求数据PD、非报告请求头NPH、非报告请求数据NPD、完成报文头CPLH和完成报文数据CPLD,这六类事务的每种信用值都由独立的一组信用值界限寄存器和对应的消耗信用值寄存器控制。在PCIe协议中,每个PH、NPH、CPLH或NPD需要消耗一个信用值,而对于每个PD或CPLD需要消耗一个或多个信用值,其中,二者消耗信用值取决于传输层中最大负载的规格。
针对上述六类事务,当任一计时器检测单元达到阈值时,无信用值检测单元610都会输出硬件断链使能信号,触发硬件断链单元140工作。另外,无信用值检测单元610仅仅对有限信用值通告有效,对于无限信用值通告无需进行检测。
需要说明的是,信用值是指缓冲区的缓存空间数量,可用信用值体现了EP150接收TLP报文的能力;可用信用值多,代表接收TLP报文的能力强,反之,可用信用值少,代表接收TLP报文的能力弱,传输层131发送一个TLP报文将消耗一个或多个可用信用值。
传输层131无信用值有两层含义:第一是由于EP150缓冲区的缓存空间满载,向传输层131的信用值界限寄存器22发送信用值为0的流控更新报文,即EP150无信用值,从而导致传输层131无信用值;第二是EP150有可用信用值,但是向传输层131中信用值界限寄存器22发送流控更新报文的相关逻辑出错,导致EP150的可用信用值无法更新到信用值界限寄存器22中,使得传输层131无信用值。
硬件断链单元140根据无信用值检测单元410输出的硬件断链使能信号,清除PCIE核单元310中与异常EP150相关的缓存信息,实现对异常EP150的隔离。
在一个例子中,在PCIE设备启动前,需要对无信用值检测单元610中的6个计时器检测单元分别进行时间阈值设置。当传输层131的报文缓冲器中存有待下发的TLP报文时,传输层131无信用值检测过程如图7所示,传输层131中的信用值界限寄存器22记录EP150的可用信用值,消耗信用值寄存器23记录传输层131已消耗的信用值。由于传输层131待发送的TLP报文需要消耗信用值,因此,传输层131通过加法器25将待发送的TLP报文需要消耗的信用值与当前传输层131已消耗的信用值求和,作为传输层131的总消耗信用值,再通过比较器24,将传输层131的总消耗信用值与EP150的可用信用值进行比较。
当报文缓冲器1311中存有待下发的TLP报文,且EP150的可用信用值大于或等于传输层131的总消耗信用值时,报文缓冲器1311正常向数据链路层132下发TLP报文,无信用值检测单元610接收报文缓冲器1311发送的触发信号,所有计时器检测单元将累计的时间清零并保持;
当报文缓冲器1311中存有待下发的TLP报文,且EP150的可用信用值小于传输层131的总消耗信用值时,报文缓冲器1311停止向数据链路层132下发该TLP报文,无信用值检测单元410接收报文缓冲器1311发送的触发信号,无信用值检测单元610的相应计时器检测单元将开始计时;
当报文缓冲器1311中无TLP报文存储时,无信用值检测单元610接收报文缓冲器1311发送的触发信号,将无信用值检测单元610中所有计时器检测单元累计的时间清零并保持;
当无信用值检测单元610中的任一计时器检测单元达到时间阈值时,无信用值检测单元410输出硬件断链使能信号,且无信用值检测单元610中的所有计时器检测单元将保持至复位。
例如,传输层131从信用值界限寄存器22中判断出EP150的可用信用值为110个,当前传输层131从消耗信用值寄存器23中得出传输层131已消耗信用值100个,若此时传输层131待接收的TLP报文需要消耗信用值9个,由于当前传输层131已消耗信用值与待接收的TLP报文需要消耗信用值之和为109,小于EP150的可用信用值110,传输层131将接收的TLP报文下发到数据链路层132,从而由数据链路层132下发到EP150中;若此时传输层131待接收的TLP报文需要消耗信用值为20个,由于当前传输层131已消耗的信用值与待接收的TLP报文需要消耗信用值之和为120,大于EP150的可用信用值110,传输层131将停止向数据链路层132下发该TLP报文。
硬件断链单元140接收无信用值检测单元610输出的硬件断链使能信号后,将传输层131访问的链路状态寄存器21的LinkDisable状态位强制置位,如LinkDisable状态位接收高电平有效,则置1。由于链路状态寄存器21处于Disable状态,从而控制PCIe核单元130的物理层133中LTSSM状态机设置为Disable状态,使PCIE核单元130中传输层131与数据链路层132中与异常EP150相关的缓冲信息被清除,完成对异常EP150的隔离。
本发明实施例提供的PCIe设备,针对流控异常这类无法感知,且会造成CPU挂死的异常,通过PCIe端口的主动检测与处理,只隔离异常的EP,缩小了设备隔离范围,提高了PCIe***的可靠性。
与上述PCIe设备对应地,本发明实施例还提供了一种检测方法。信用值是指缓冲区的缓存空间数量,可用信用值体现了接收TLP报文的能力;传输层接收一个TLP报文将消耗一个或多个可用信用值;可用信用值多,代表接收TLP报文的能力强,反之,可用信用值少,代表接收TLP报文的能力弱。
根据PCIe协议,需要检查六类事务的流控信用值:报告请求头PH、报告请求数据PD、非报告请求头NPH、非报告请求数据NPD、完成报文头CPLH、完成报文数据CPLD,六类事务的每种信用值都由独立的一组信用值界限寄存器和对应的消耗信用值寄存器控制。在PCIe协议中,每个PH、NPH、CPLH或NPD需要消耗一个信用值,而对于每个PD或CPLD需要消耗一个或多个信用值,PD或CPLD消耗信用值数量取决于传输层中最大负载的规格。
传输层无信用值有两层含义:第一是由于EP缓冲区的缓存空间满载,向传输层的信用值界限寄存器发送信用值为0的流控更新报文,即EP无信用值,从而导致传输层无信用值;第二是EP有可用信用值,但是向传输层中信用值界限寄存器发送流控更新报文的相关逻辑出错,导致EP的可用信用值无法更新到信用值界限寄存器中,使得传输层无信用值。
图8为图1提供的另一种PCIe设备的检测方法流程图。该PCIe设备包括PCIe端口,如图8所示,该方法由PCIe端口执行,包括:
S810、获取EP的可用信用值和传输层当前已消耗的信用值;
具体的,通过访问传输层的信用值界限寄存器和消耗信用值寄存器,获取EP的可用信用值和当前传输层已消耗的信用值;
S820、将传输层当前已消耗的信用值与待接收的TLP报文要消耗信用值求和;
具体的,由于PCIE端口的传输层接收TLP报文要消耗信用值,因此,传输层通过加法器将待接收的TLP报文需要消耗的信用值与传输层当前已消耗的信用值求和,作为传输层的总消耗信用值。
S830、根据传输层的总消耗信用值与EP可用信用值的比较结果,检测传输层无信用值的持续时间;
具体的,当传输层中存有待下发的TLP报文,且EP的可用信用值大于或等于传输层的总消耗信用值时,传输层正常向数据链路层下发TLP报文,根据传输层的触发信号,无信用值检测单元中所有计时器检测单元将累计的时间清零并保持;
当传输层中存有待下发的TLP报文,且EP的可用信用值小于传输层的总消耗信用值时,传输层停止向数据链路层下发该TLP报文,根据传输层的触发信号,无信用值检测单元的相应计时器检测单元将开始计时;
当传输层中无待下发的TLP报文存储时,根据传输层的触发信号,无信用值检测单元中所有计时器检测单元将累计的时间清零并保持;
当无信用值检测单元中的任一计时器检测单元达到预设阈值时,无信用值检测单元输出所述硬件断链使能信号,且无信用值检测单元中的所有计时器将保持至复位。
S840、根据硬件断链使能信号,隔离EP;
具体的,根据无信用值检测单元输出的硬件断链使能信号,将传输层访问的链路状态寄存器的LinkDisable状态位强制置位,如LinkDisable状态位接收高电平有效,则置1。由于链路状态寄存器处于Disable状态,从而控制物理层中LTSSM状态机设置为Disable状态,使PCIE核单元中与异常EP相关的缓存信息被清除,完成对异常EP的隔离。
需要说明的是,无信用值检测仅仅对有限信用值通告有效,对于无限信用值通告无需进行检测。
上述的实施例针对流控信用值异常这类无法感知,且会造成CPU挂死的异常,通过该检测方法只隔离相应异常EP,缩小了设备隔离范围,提高了***的可靠性。
本发明实施例提供的PCIe设备针对ACK/NAK报文或流控信用值这类无法感知,且会造成CPU挂死的异常,能够进行主动检测与处理,保证了CPU正常工作,提高了PCIe***的可靠性以及PCIe***对驱动程序的兼容性。通过只隔离异常的EP,缩小了设备隔离范围,从而在最大程度上减少了IO设备异常对***整体业务的影响。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种外设部件内部互联PCIe设备,其特征在于,所述PCIe设备包括PCIe端口,所述PCIe端口包括:
PCIe核单元,用于接收CPU或上游端口UP下发的传输层报文TLP,并将所述TLP报文下发至结束端点EP;
异常检测单元,用于对所述PCIe端口向EP下发所述TLP报文的过程进行检测,在识别所述报文下发过程中有报文重传异常或流控信用值更新异常时,输出硬件断链使能信号;
硬件断链单元,用于根据所述硬件断链使能信号,断开所述PCIe端口与所述EP的链接。
2.根据权利要求1所述的设备,其特征在于,所述硬件断链单元具体用于:
所述硬件断链单元根据所述异常检测单元输出的所述硬件断链使能信号,通过将PCIe核单元中链路状态寄存器的禁用链路状态置位,控制所述PCIe核单元的链路设置禁用状态,断开所述PCIe端口与所述EP的链接。
3.根据权利要求1所述的设备,其特征在于,所述PCIe设备包括CPU,所述PCIe端口位于CPU的根节点RP中,所述PCIe端口中的PCIe核单元接收CPU下发的所述TLP报文,并将所述TLP报文发送至EP。
4.根据权利要求1所述的设备,其特征在于,所述PCIe设备包括CPU和PCIe桥,所述PCIe端口位于PCIe桥的DP中,所述PCIe端口中的PCIe核单元接收UP下发的所述TLP报文,并将所述TLP报文发送至EP。
5.根据权利要求1所述的设备,其特征在于,所述报文下发过程是报文重传过程,所述异常检测单元包括:
重传缓冲器检测单元,用于对所述PCIE核单元的报文重传过程进行检测,在识别所述报文重传过程有异常时,输出硬件断链使能信号。
6.根据权利要求5所述的设备,其特征在于,所述重传缓冲器检测单元包括超时检测单元,
所述超时检测单元,用于对所述PCIe核单元的报文重传过程进行超时检测;
当所述PCIe核单元存有所述TLP报文,但未输出TLP报文释放信号,且所述超时检测单元检测到重传时间达到阈值时,所述重传缓冲器检测单元输出所述硬件断链使能信号。
7.根据权利要求5所述的设备,其特征在于,所述重传缓冲器检测单元包括次数检测单元;
所述次数检测单元,用于对所述PCIe核单元的报文重传过程进行次数检测;
当所述PCIe核单元存有所述TLP报文,但未输出TLP报文释放信号,且所述次数检测单元检测到重传次数达到阈值时,所述重传缓冲器检测单元输出所述硬件断链使能信号。
8.根据权利要求1所述的设备,其特征在于,所述报文下发过程是流控信用值更新过程,所述异常检测单元包括:
无信用值检测单元,用于对所述PCIE核单元中无信用值的持续时间进行检测,输出硬件断链使能信号。
9.根据权利要求8所述的设备,其特征在于,所述无信用值检测单元包括:
多个计时器检测单元,用于对所述PCIE核单元中无信用值的持续时间进行检测;
当所述PCIe核单元存有所述TLP报文,且所述无信用值检测单元检测到所述无信用值检测单元中的一个或多个所述计时器检测单元达到时间阈值时,所述无信用值检测单元输出所述硬件断链使能信号。
10.根据权利要求9所述的设备,其特征在于,所述多个计时器检测单元具体用于:
分别对所述PCIe核单元中多类事务的流控信用值更新过程进行检测,当所述PCIe核单元存有所述TLP报文,且所述多个计时器检测单元中的一个或多个所述计时器检测单元达到时间阈值时,所述无信用值检测单元输出所述硬件断链使能信号。
11.一种外设部件内部互联PCIe设备的检测方法,其特征在于,所述PCIe设备包括PCIe端口,所述方法由所述PCIe端口执行,包括:
接收CPU或上游端口UP下发的传输层报文TLP,并将所述TLP报文下发至结束端点EP;
对向所述EP下发所述TLP报文的过程进行检测,在识别报文下发过程中有报文重传异常或流控信用值更新异常时,输出硬件断链使能信号;
根据所述硬件断链使能信号,断开所述PCIe端口与所述EP的链接。
12.根据权利要求11所述的方法,其特征在于,根据所述硬件断链使能信号,断开EP的步骤,包括:
根据所述硬件断链使能信号,将访问的链路状态寄存器的禁用链路状态置位,对所述下发报文的过程的链路设置禁用状态,断开所述PCIe端口与所述EP的链接。
13.根据权利要求11所述的方法,其特征在于,所述对向EP下发报文的过程进行检测的步骤包括:
对所述报文重传过程进行超时检测;
当存有所述TLP报文,但未输出TLP报文释放信号,且检测到未输出TLP报文释放信号持续时间达到阈值时,输出所述硬件断链使能信号。
14.根据权利要求11所述的方法,其特征在于,所述对向EP下发报文的过程进行检测的步骤还包括:
对所述报文重传过程进行次数检测;
当存有所述TLP报文,但未输出TLP报文释放信号,且检测到重传次数达到阈值时,输出所述硬件断链使能信号。
15.根据权利要求11所述的方法,其特征在于,所述对向EP下发报文的过程进行检测的步骤还包括:
对无信用值的持续时间进行检测;
当存有所述TLP报文,且检测到所述无信用值的持续时间达到时间阈值时,输出所述硬件断链使能信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610015204.1A CN105700967A (zh) | 2016-01-08 | 2016-01-08 | 一种外设部件内部互联PCIe设备及其检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610015204.1A CN105700967A (zh) | 2016-01-08 | 2016-01-08 | 一种外设部件内部互联PCIe设备及其检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105700967A true CN105700967A (zh) | 2016-06-22 |
Family
ID=56227130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610015204.1A Pending CN105700967A (zh) | 2016-01-08 | 2016-01-08 | 一种外设部件内部互联PCIe设备及其检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105700967A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326151A (zh) * | 2016-08-19 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种PCIe设备的拔除方法及装置 |
CN110968443A (zh) * | 2018-09-28 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 设备异常的检测方法及装置 |
US10908895B2 (en) * | 2018-12-21 | 2021-02-02 | Pensando Systems Inc. | State-preserving upgrade of an intelligent server adapter |
CN112346917A (zh) * | 2019-08-09 | 2021-02-09 | 烽火通信科技股份有限公司 | 一种pci-e端点诊断***及方法 |
CN113542052A (zh) * | 2021-06-07 | 2021-10-22 | 新华三信息技术有限公司 | 一种节点故障确定方法、装置和服务器 |
US11182150B2 (en) | 2020-01-14 | 2021-11-23 | Pensando Systems Inc. | Zero packet loss upgrade of an IO device |
US11281453B1 (en) | 2021-01-06 | 2022-03-22 | Pensando Systems, Inc. | Methods and systems for a hitless rollback mechanism during software upgrade of a network appliance |
CN115150254A (zh) * | 2022-06-29 | 2022-10-04 | 苏州浪潮智能科技有限公司 | 一种PCIe链路故障检测方法、检测装置、设备及介质 |
CN115514682A (zh) * | 2022-09-23 | 2022-12-23 | 浪潮商用机器有限公司 | 一种数据传输方法、装置、设备及存储介质 |
WO2023173718A1 (zh) * | 2022-03-17 | 2023-09-21 | 苏州浪潮智能科技有限公司 | 一种通信链路更新方法、装置及相关设备 |
CN117792571A (zh) * | 2023-12-15 | 2024-03-29 | 无锡众星微***技术有限公司 | 一种ib网络链路层的报文重传方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103618618A (zh) * | 2013-11-13 | 2014-03-05 | 福建星网锐捷网络有限公司 | 基于分布式pcie***的线卡故障恢复方法及相关设备 |
CN104170322A (zh) * | 2014-04-02 | 2014-11-26 | 华为技术有限公司 | 一种PCIe链路故障的处理方法、设备及*** |
US20150006780A1 (en) * | 2013-06-28 | 2015-01-01 | Futurewei Technologies, Inc. | System and Method for Extended Peripheral Component Interconnect Express Fabrics |
CN105205021A (zh) * | 2015-09-11 | 2015-12-30 | 华为技术有限公司 | 断开PCIe设备与主机之间的链接的方法和装置 |
-
2016
- 2016-01-08 CN CN201610015204.1A patent/CN105700967A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150006780A1 (en) * | 2013-06-28 | 2015-01-01 | Futurewei Technologies, Inc. | System and Method for Extended Peripheral Component Interconnect Express Fabrics |
CN103618618A (zh) * | 2013-11-13 | 2014-03-05 | 福建星网锐捷网络有限公司 | 基于分布式pcie***的线卡故障恢复方法及相关设备 |
CN104170322A (zh) * | 2014-04-02 | 2014-11-26 | 华为技术有限公司 | 一种PCIe链路故障的处理方法、设备及*** |
CN105205021A (zh) * | 2015-09-11 | 2015-12-30 | 华为技术有限公司 | 断开PCIe设备与主机之间的链接的方法和装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326151A (zh) * | 2016-08-19 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种PCIe设备的拔除方法及装置 |
CN110968443B (zh) * | 2018-09-28 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 设备异常的检测方法及装置 |
CN110968443A (zh) * | 2018-09-28 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 设备异常的检测方法及装置 |
US10908895B2 (en) * | 2018-12-21 | 2021-02-02 | Pensando Systems Inc. | State-preserving upgrade of an intelligent server adapter |
CN112346917A (zh) * | 2019-08-09 | 2021-02-09 | 烽火通信科技股份有限公司 | 一种pci-e端点诊断***及方法 |
US11182150B2 (en) | 2020-01-14 | 2021-11-23 | Pensando Systems Inc. | Zero packet loss upgrade of an IO device |
US11281453B1 (en) | 2021-01-06 | 2022-03-22 | Pensando Systems, Inc. | Methods and systems for a hitless rollback mechanism during software upgrade of a network appliance |
CN113542052A (zh) * | 2021-06-07 | 2021-10-22 | 新华三信息技术有限公司 | 一种节点故障确定方法、装置和服务器 |
WO2023173718A1 (zh) * | 2022-03-17 | 2023-09-21 | 苏州浪潮智能科技有限公司 | 一种通信链路更新方法、装置及相关设备 |
CN115150254A (zh) * | 2022-06-29 | 2022-10-04 | 苏州浪潮智能科技有限公司 | 一种PCIe链路故障检测方法、检测装置、设备及介质 |
CN115150254B (zh) * | 2022-06-29 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 一种PCIe链路故障检测方法、检测装置、设备及介质 |
CN115514682A (zh) * | 2022-09-23 | 2022-12-23 | 浪潮商用机器有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN115514682B (zh) * | 2022-09-23 | 2024-03-22 | 浪潮商用机器有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN117792571A (zh) * | 2023-12-15 | 2024-03-29 | 无锡众星微***技术有限公司 | 一种ib网络链路层的报文重传方法和装置 |
CN117792571B (zh) * | 2023-12-15 | 2024-06-11 | 无锡众星微***技术有限公司 | 一种ib网络链路层的报文重传方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700967A (zh) | 一种外设部件内部互联PCIe设备及其检测方法 | |
US7010639B2 (en) | Inter integrated circuit bus router for preventing communication to an unauthorized port | |
JP4077812B2 (ja) | 個別の送信速度をサポートする集積回路間ルータ | |
US7082488B2 (en) | System and method for presence detect and reset of a device coupled to an inter-integrated circuit router | |
US11620175B2 (en) | Method and apparatus for disconnecting link between PCIe device and host | |
US20070079045A1 (en) | Simplified universal serial bus (USB) hub architecture | |
CN109768907A (zh) | 一种can总线波特率自适应设置方法 | |
DE102013004542A1 (de) | Verfahren und system zur timeout-überwachung | |
JP3920280B2 (ja) | I2cルータを通じたデータ送信方法 | |
JP4294544B2 (ja) | セキュリティを向上させる集積回路間バスルータ | |
CN106502944B (zh) | 计算机、pcie设备以及pcie设备的心跳检测方法 | |
EP1999908B1 (en) | Apparatus for detecting errors in a communication system | |
US20040255193A1 (en) | Inter integrated circuit router error management system and method | |
CN104834624B (zh) | 一种iic总线接口的抗干扰方法 | |
JPH10307776A (ja) | コンピュータウイルス受信監視装置及びそのシステム | |
GB2402775A (en) | System and method for analysis of an inter-integrated circuit router | |
CN113297022B (zh) | 高速串行计算机扩展总线测试方法及装置 | |
US11916802B2 (en) | Data transmission flow control regime | |
EP1221099A1 (en) | Remote event handling in a packet network | |
JP4941212B2 (ja) | 電子デバイス、データ処理装置、及びバス制御方法 | |
US7596724B2 (en) | Quiescence for retry messages on bidirectional communications interface | |
CN106452869B (zh) | 一种管理一卡通终端的方法 | |
CN115437822A (zh) | 一种异常处理方法、装置、PCIe卡设备及存储介质 | |
CN113765824A (zh) | 基于mbim接口的响应消息发送方法、装置、mbb设备及介质 | |
JPH03226853A (ja) | 通信制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160622 |