CN117827504A - 一种故障处理方法及装置 - Google Patents

一种故障处理方法及装置 Download PDF

Info

Publication number
CN117827504A
CN117827504A CN202211204276.2A CN202211204276A CN117827504A CN 117827504 A CN117827504 A CN 117827504A CN 202211204276 A CN202211204276 A CN 202211204276A CN 117827504 A CN117827504 A CN 117827504A
Authority
CN
China
Prior art keywords
information
node
target
functional module
module
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
Application number
CN202211204276.2A
Other languages
English (en)
Inventor
潘伟
李炜建
罗军平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211204276.2A priority Critical patent/CN117827504A/zh
Publication of CN117827504A publication Critical patent/CN117827504A/zh
Pending legal-status Critical Current

Links

Abstract

本申请提供一种故障处理方法及装置。在该方法中,第一节点确定第二节点中的目标功能模块发生目标故障,第一节点向第二节点中的目标功能模块发送第一信息,第一信息用于指示目标功能模块执行复位操作。通过以上方法,第一节点可以指示出现故障的目标功能模块进行复位,从而无需断开链路,在不影响其它功能模块或其它节点的正常运作的基础上,实现在功能模块级别上进行故障处理,降低故障处理的代价。

Description

一种故障处理方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种故障处理方法及装置。
背景技术
高速串行计算机扩展总线(peripheral component interconnect express,PCIe)用于支持外围组件互联扩展,广泛应用于计算机、测试仪器等设备中。PCIe属于高速串行点对点双通道高带宽传输,PCIe系统包括根节点(root complex,RC)、交换节点(switch,SW)和端节点(endpoint,EP)。其中,RC负责管理PCIe系统中的所有总线和节点,SW作为数据转发的节点,可作为连接RC、其它SW、以及EP等节点的桥梁,EP可以发送或接收数据。
PCIe技术还提供一种下行端口反制方法,以解决EP可能出现的错误事件。在该下行端口反制方法中,当EP出现内部错误等灾难性错误时,RC中的根端口(root port,RP)可以断开下方链路以进行故障处理。但是,由于RP下方可能通过SW连接了多个EP,RP直接断开下方链路会导致未出现故障的EP也无法正常运行,可见现有的故障处理方法代价较高。
发明内容
本申请提供一种故障处理方法及装置,用于降低故障处理的代价。
第一方面,本申请提供一种故障处理方法,该方法可以应用于第一节点,如第一节点可以为PCIe系统中的RC的任一RP或SW中的任一DP。在该方法中,第一节点确定第二节点中的目标功能模块发生目标故障,第一节点向第二节点中的目标功能模块发送第一信息,第一信息用于指示目标功能模块执行复位操作。
通过以上方法,第一节点可以指示出现故障的目标功能模块进行复位,从而无需断开链路,在不影响其它功能模块或其它节点的正常运作的基础上,实现在功能模块级别上进行故障处理,降低故障处理的代价。
在一种可能的实施方式中,在所述第一节点确定第二节点中的目标功能模块发生故障之后,所述方法还包括:所述第一节点对所述目标功能模块发送的信息进行丢弃操作。
通过以上方法,在目标功能模块发生故障时,第一节点可以对目标功能模块发送的信息进行丢弃操作,从而防止目标功能模块的故障影响其它节点或功能模块正常运作。
在一种可能的实施方式中,在所述第一节点确定第二节点中的目标功能模块发生故障之后,所述方法还包括:所述第一节点对发送给所述目标功能模块的第一类信息进行清空操作,和/或,所述第一节点对发送给所述目标功能模块的第二类信息进行回复操作;其中,所述第一类信息为无需接收端回复完成信息的信息,所述第二类信息为需要接收端回复完成信息的信息。
通过以上方法,第一节点确定目标功能模块发生故障时,可以对发送给目标功能模块的第一类信息进行清空操作,对发送给目标功能模块的第二类信息进行回复操作,可以防止出现故障的目标功能模块无法接收信息以及无法及时回复完成信息而影响其它节点正常运作。
在一种可能的实施方式中,所述第一节点对发送给所述目标功能模块的第二类信息进行回复操作,包括:所述第一节点向发出所述第二类信息的发送端发送第三信息,所述第三信息用于指示所述第二类信息接收失败。
通过以上方法,第一节点可以代替目标功能模块向发出第二类信息的发送端发送第三信息,以指示第二类信息接收失败,以向发送端快速回应接收失败的响应,避免目标功能模块的故障影响第二类信息的发送端正常运作。
在一种可能的实施方式中,所述第一节点确定第二节点中的目标功能模块发生目标故障,包括:所述第一节点接收所述第二节点发送的第四信息,所述第四信息用于指示所述目标功能模块发生目标故障;或者所述第一节点确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的。
通过以上方法,目标功能模块在检测到自身发生目标故障时可以向第一节点发送第四信息,第一节点根据第四信息确定目标功能模块发生目标故障,或者第一节点也可以对目标功能模块进行检测,确定目标功能模块发生目标故障,进而灵活实现功能模块级别的故障检测。
在一种可能的实施方式中,所述第一节点确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的,包括:所述第一节点向所述目标功能模块发送第五信息,并在发送所述第五信息后的预设时长内未接收到所述目标功能模块发送的所述第五信息对应的完成信息;所述第一节点确定第一链路正常,且所述第五信息的发送流程正常;其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
通过以上方法,第一节点可以对发送给目标功能模块的信息进行监测,当目标功能模块在预设时长内未向第一节点返回完成信息时,第一节点可以确定目标功能模块发生信息回复异常,并且第一节点可以进一步排除信息回复异常不是链路故障或流控问题造成的,进而准确检测目标功能模块的故障。
在一种可能的实施方式中,所述目标故障为功能模块级别的故障,所述目标故障为内存溢出、读写错误、完成信息超时、完成者中止、事务层数据包TLP中毒、明文循环冗余校验PCRC检查失败中的任一项。
通过以上方法,第一节点可以在确定目标功能模块发生多种功能模块级别的故障后,针对目标功能模块进行故障处理,提升故障处理的效率。
在一种可能的实施方式中,所述方法还包括:所述第一节点向控制节点发送第二信息,所述第二信息用于指示所述控制节点测试复位后的所述目标功能模块是否正常运作。
通过以上方式,第一节点在确定目标功能模块发生目标故障时,还可以向控制节点发送第二信息,以指示控制节点对复位后的目标功能模块进行检测,进而实现针对目标功能模块的故障处理。
在一种可能的实施方式中,在所述第一节点向控制节点发送第二信息之后,所述方法还包括:所述第一节点辅助所述控制节点向所述目标功能模块发送第六信息;所述第一节点确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块返回的所述第六信息对应的完成信息,且所述第一节点确定向所述目标功能模块发送所述第六信息的次数小于设定阈值或所述第一节点确定向所述控制节点发送第二信息的次数小于设定阈值,所述第一节点再次向所述第二节点发送所述第一信息,以及,所述第一节点再次向所述控制节点发送所述第二信息。
通过以上方法,当控制节点测试目标功能模块是否正常运作时,第一节点可以辅助控制节点向目标功能模块发送第六信息,若目标功能模块未回复第六信息对应的完成信息,第一节点可以再次向第二节点发送第一信息以指示第二节点对目标功能模块再次执行复位操作,以及第一节点再次向控制节点发送第二信息,以指示控制节点再次测试重新复位后的目标功能模块是否正常运作,通过多次重复以上测试过程,防止出现故障误判,提高故障处理的准确性。
在一种可能的实施方式中,所述第一节点向所述第二节点中的目标功能模块发送第一信息,包括:所述第一节点通过第一链路向所述第二节点中的目标功能模块发送所述第一信息;或者所述第一节点通过除所述第一链路之外的其它通信信道向所述第二节点中的目标功能模块发送所述第一信息;其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
通过以上方法,第一节点可以灵活选择与第二节点之间的通信实现方式,保证在目标功能模块发生故障时,第一节点与第二节点之间可以正常通信。
在一种可能的实施方式中,所述第一节点接收所述第二节点发送的第四信息,包括:所述第一节点接收所述第二节点通过第一链路发送的所述第四信息;或者所述第一节点接收所述第二节点通过除所述第一链路之外的其它通信信道发送的所述第四信息;其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
通过以上方法,第二节点可以灵活选择与第一节点之间的通信实现方式,保证在目标功能模块发生故障时,第一节点与第二节点之间可以正常通信。
在一种可能的实施方式中,所述第一节点可以为PCIe系统中的根节点中的任一根端口或所述第一节点可以为PCIe系统中的交换节点中的任一下行端口;所述第二节点可以为PCIe系统中的端节点,所述控制节点可以为用于控制所述根节点的节点。
通过以上方法,PCIe系统中的根节点或交换节点可以在确定端节点中的功能模块发生故障时,只对该功能模块进行故障处理,减少故障处理对其它功能模块或节点的影响。
在一种可能的实施方式中,所述第二信息可以为中断信息。
通过以上方法,第一节点可以通过向控制节点发送中断信息以触发控制节点检测目标功能模块是否正常运作,进而实现功能模块级别的故障处理。
第二方面,本申请提供一种故障处理方法,该方法可以由控制节点执行,如该方法可以由CPU执行。在该方法中,控制节点接收第一节点发送的第二信息,所述第二信息用于指示所述控制节点测试复位后的第二节点中的目标功能模块是否正常运作;所述控制节点向所述目标功能模块发送第六信息;若所述控制节点接收到所述目标功能模块发送的所述第六信息对应的完成信息,所述控制节点确定所述目标功能模块正常运作;若所述控制节点在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息,所述控制节点确定所述目标功能模块不能正常运作;所述控制节点对所述目标功能模块执行禁止操作。
通过以上方法,控制节点可以通过向目标功能模块发送第二类信息(如第六信息)以检测目标功能模块是否正常运作,当目标功能模块可以向控制节点回复第六信息对应的完成信息时,表示目标功能模块可以正常运作,当控制节点在发送第六信息的预设时长内未接收到目标功能模块返回的第六信息对应的完成信息时,表示目标功能模块不能正常运作,此时控制节点可以对目标功能模块执行禁止操作,从而仅在出现故障的目标功能模块处进行故障处理,减少故障处理的代价。
在一种可能的实施方式中,所述控制节点在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息之后,在确定所述目标功能模块不能正常运作之前,所述方法还包括:所述控制节点执行N次以下步骤:
所述控制节点接收所述第一节点再次发送的所述第二信息;所述控制节点向重新复位后的所述目标功能模块再次发送所述第六信息;所述控制节点确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息;其中,所述N为正整数。
通过以上方法,控制节点可以通过多次测试目标功能模块是否正常运作,防止出现故障误判,提高故障处理的准确性。
第三方面,本申请提供一种故障处理装置,该装置具有实现上述第一方面或第二方面的方法实例中行为的功能,有益效果可以参见第一方面或第二方面的描述此处不再赘述。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括处理模块和通信模块,这些模块可以执行上述第一方面或第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第四方面,本申请还提供了一种故障处理设备,该计算设备包括处理器和存储器,所述计算设备的处理器用于执行所述计算设备的存储器中存储的指令,以使得所述计算设备执行上述第一方面或第二方面的方法实例中的相应功能,有益效果可以参见第一方面或第二方面的描述此处不再赘述。
第五方面,本申请还提供了一种故障处理系统,该故障处理系统包括控制节点和高速串行计算机扩展总线PCIe系统,所述PCIe系统包括第一节点和第二节点,所述第二节点包括至少一个功能模块,目标功能模块为所述至少一个功能模块中的任一个;
所述第一节点,用于确定所述第二节点中的所述目标功能模块发生目标故障,所述第一节点向所述第二节点发送第一信息,所述第一信息用于指示所述第二节点对所述目标功能模块执行复位操作;向控制节点发送第二信息,所述第二信息用于指示所述控制节点测试复位后的所述目标功能模块是否正常运作。
所述控制节点,用于接收所述第一节点发送的第二信息,所述第二信息用于指示所述控制节点测试复位后的第二节点中的目标功能模块是否正常运作;向所述目标功能模块发送第六信息;若接收到所述目标功能模块发送的所述第六信息对应的完成信息,确定所述目标功能模块正常运作;若在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息,确定所述目标功能模块不能正常运作,对所述目标功能模块执行禁止操作。
第六方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实施方式中所述的方法,或使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。
第七方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实施方式中所述的方法,或使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。
第八方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第一方面以及第一方面的各个可能的实施方式中所述的方法,或执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。
上述第三方面至第八方面中任一方面中的技术方案所具有的技术效果请参照上述第一方面或第二方面中的任意可能设计可以带来的技术效果,重复之处不予论述。
附图说明
图1为本申请实施例提供的一种PCIe系统的结构示意图;
图2为本申请实施例提供的一种故障处理系统的结构示意图;
图3为本申请实施例提供的一种故障处理方法的流程图;
图4为本申请实施例提供的故障处理方法的流程图;
图5为本申请实施例中所涉及的一种故障处理装置的结构示意图;
图6为本申请实施例提供的另一种故障处理装置的结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。其中,在本申请实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
应理解,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一(项)个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a、b、c可以是单个,也可以是多个。
PCIe技术是一种可以用于支持外围组件互联扩展的总线技术,广泛应用于计算机、测试仪器等设备中。图1为本申请实施例提供的一种PCIe系统的结构示意图。参考图1,PCIe系统可以包括根节点(root complex,RC)、交换节点(switch,SW)和端节点(endpoint,EP)。其中,RC负责管理PCIe系统中的所有总线和节点。SW作为数据转发的节点,可作为连接RC、其它SW、以及EP等节点的桥梁,如图1中SW可以将2个EP连接至RC。EP为PCIe链路的末端,可以发送或接收数据。每个EP可以支持至少一个功能模块(function),功能模块可以为物理功能模块或虚拟功能模块。当EP支持一个功能模块时,该EP可以称为单功能设备,如图1中EP1为单功能设备;当EP支持多个功能模块时,该EP可以称为多功能设备,如图1中EP2为多功能设备。
PCIe系统中的节点可以通过端口建立PCIe链路,PCIe链路采用端到端的数据传输方式。在一条PCIe链路中的两个端口是对等的,分别连接发送设备和接收设备,而且一个PCIe链路的一端只能连接一个发送设备或者一个接收设备,因此PCIe通过SW扩展PCIe链路,使得RC可以连接多个EP。参见图1,RC的端口可以称为根端口(root port,RP),一个RC可以包括多个RP,如图中以3个RP为例示出。每个RP可以连接一个SW,每个RP可以管理该RP下方的链路和PCIe设备。SW的端口包括一个上行端口(upstream port,UP)和至少两个下行端口(downstream port,DP),如图1中SW包括一个UP和两个DP。其中,SW中靠近RC的端口为UP,远离RC的端口为DP。如图1中,RP和UP之间可以建立链路,该链路可以用于RP和WP通信;DP可以和EP建立链路,该链路可以用于DP和EP通信。
PCIe中事务为发送端节点和接收端节点之间完成一次信息传送时所需要完成的至少一个数据包的传送过程。在PCIe技术中,PCIe事务可以分为Non-Posted和Posted两种类型,其中,Non-Posted类型的事务表示发送端节点发送的信息为需要接收端节点返回完成信息(completion)的信息,Posted类型的事务表示发送端节点发送的信息为不需要接收端节点返回完成信息的信息。可以理解的是,根据事务类型的不同,发送端节点发送的信息的类型也不同,发送端节点发送的信息类型与事务类型一致。
PCIe技术还提供一种下行端口反制方法,以解决EP可能出现的错误事件。在该下行端口反制方法中,当EP出现内部错误等灾难性错误时,RP可以断开下方链路以进行故障处理。如参考图1,当RP发现EP1出现故障时,RP可以断开下方链路。但是,由于RP下方可能通过SW连接了多个EP,RP直接断开下方链路会导致未出现故障的EP或SW也无法正常运作,如图1中RP断开下方链路后,SW和EP2也无法正常运作,可见现有的故障处理方法代价较高。
基于上述问题,本申请提供一种故障处理方法,该故障处理方法可以由故障处理系统执行。如图2为本申请实施例提供的一种故障处理系统的结构示意图。参考图2,该故障处理系统可以包括PCIe系统和控制节点。其中,PCIe系统的结构可以参考图1,控制节点可以为处理器或处理单元,如控制节点可以为CPU。本申请实施例中第一节点可以为图2所示系统中的任一RP或任一DP,第二节点可以为任一EP。为便于描述,在以下介绍中以第一节点为RP,第二节点为任一EP,控制节点为CPU为例进行说明;第一节点为DP,第二节点为任一EP的实施方式也可以参见下述实施例实施,重复之处不再赘述。
在本申请实施例提供的故障处理方法中,第一节点确定第二节点中的目标功能模块发生故障,第一节点向第二节点中的目标功能模块发送第一信息,第一信息用于指示目标功能模块执行复位操作。第一节点向控制节点发送第二信息,第二信息用于指示控制节点测试复位后的目标功能模块是否正常运作。通过该方法,第一节点可以指示出现故障的目标功能模块进行复位,并指示控制节点测试复位后的目标功能模块是否正常运作,从而无需断开链路,在不影响其它功能模块或其它节点的正常运作的基础上,实现在功能模块级别上进行故障处理,降低故障处理的代价。
本申请所公开的故障处理方法可以应用于基于PCIe系统进行通信的电子设备中。电子设备可以是服务器、存储器、测试仪器、或包含诸如个人数字助理和/或音乐播放器等功能的便携式电子设备,如手机、平板电脑、具备无线通讯功能的可穿戴设备(如智能手表)、或车载设备等。便携式电子设备的示例性实施例包括但不限于搭载 或者其它操作系统的便携式电子设备,如具有触敏表面(例如触控面板)的膝上型计算机(Laptop)或台式计算机等。
下面对本申请实施例提供的故障处理方法进行介绍。
图3为本申请实施例提供的一种故障处理方法的流程图。该方法可以由图2所示的故障处理系统执行。参考图3,该方法包括以下步骤:
S301:RP确定EP中的目标功能模块发生目标故障。
可选地,EP中可以包括至少一个功能模块,如图2中所示EP1可以包括3个功能模块。任意两个功能模块在正常运作时互不干扰,也就是说,EP中的每个功能模块可以独立运作。
可选的,本申请实施例中目标故障可以为特定功能的错误,如目标故障可以为内存溢出、读写错误等。目标故障还可以为功能模块级别的故障,而并非链路级别的故障,如目标故障可以为完成信息超时(completion timeout)、完成者中止(completer abort)、事务层数据包(transaction layer packet,TLP)中毒(poisoned TLP received)、明文循环冗余校验(plaintext cyclic redundancy check,PCRC)检查失败(PCRC check failed)等故障中的任一项。
一种可选的实施方式中,EP可以检测该EP中的功能模块是否出现目标故障,如EP可以检测到内存溢出、系统崩溃、读写错误等目标故障。EP在检测到目标功能模块出现目标故障时,可以向RC发送第四信息,第四信息可以用于指示目标功能模块发生目标故障。可选的,第四信息中可以包括目标功能模块的标识。RP在接收到EP发送的第四信息后,可以确定EP中的目标功能模块发生目标故障。
需要说明的是,本申请实施例中EP向RP发送第四信息可以为EP中的控制模块向RP发送第四信息,控制模块可以用于接收其他节点向EP发送的信息,或向其它节点发送信息,控制模块还可以对该EP中的功能模块进行管理。
另一种可选的实施方式中,RP可以检测EP中的目标功能模块发生目标故障。具体实施中,RP确定目标功能模块发生信息回复异常,且确定该信息回复异常为目标功能模块的目标故障造成的时,RP可以确定目标功能模块发生目标故障。可选的,RP可以向EP中的目标功能模块发送第五信息,第五信息可以为第二类信息。在本申请实施例中,第一类信息可以为类型为Posted的信息,第二类信息可以为类型为Non-Posted的信息。RP向目标功能模块发送第五信息后,若目标功能模块接收到第五信息,需要向RP发送第五信息对应的完成信息。RP在发送第五信息之后的预设时长内未接收到第五信息对应的完成信息时,RC可以确定目标功能模块发生信息回复异常。其中,预设时长可以为预设的第二类信息的定时器时长。
示例性的,RP在确定目标功能模块发生信息回复异常后,RP可以对第一链路和第五信息的发送流程进行检测,以排除信息回复异常为链路故障或流控问题造成的。其中,第一链路为RP和EP之间用于传输业务信息的链路。RP可以管理RP与任一EP之间的链路,当链路出现故障时,RP可以及时检测到链路故障。因此,当RP检测到目标功能模块发生信息回复异常时,若第一链路正常,则RP可以排除信息回复异常是第一链路故障造成的。
另外,RP还可以检测第五信息的发送流程,当RP需要发送多条信息时,多条信息需要排队发送,每个信息对应一个定时器。若排队的信息较多,有可能出现一个信息的定时器已到时,但该信息还在排队而并未发送,这种情况可以称为流控问题。RP检测到目标功能模块发生信息回复异常时,若第五信息发送流程正常,则RP可以排除信息回复异常是流控问题造成的。
可选地,RP确定目标功能模块的信息回复异常不是链路故障或流控问题造成的,可以确定目标功能模块的信息回复异常为目标功能模块的目标故障造成的。
S302:RP对发送端为目标功能模块的信息进行丢弃操作。
在本申请实施例中,RP在确定目标功能模块发生目标故障时,可以将发送端为目标功能模块的信息进行丢弃,从而防止目标功能模块的故障影响其它节点或功能模块正常运作。
S303:RP对接收端为目标功能模块的第一类信息进行清空操作,和/或,RP对接收端为目标功能模块的第二类信息进行回复操作。
在本申请实施例中,第一类信息可以为类型为Posted的信息,第二类信息可以为类型为Non-Posted的信息。针对接收端为目标功能模块的第一类信息,RP可以进行清空操作。针对接收端为目标功能模块的第二类信息,RP可以进行回复操作。
可选地,当RP对接收端为目标功能模块的第二类信息进行回复操作时,RP向接收端为目标功能模块的第二类信息的发送端发送第三信息,第三信息可以用于指示第二类信息接收失败。通过该设计,RP对接收端为目标功能模块的第二类信息进行回复操作,可以防止出现目标故障的目标功能模块无法及时回复完成信息而影响其它节点正常运作。
S304:RP向EP中的目标功能模块发送第一信息。
可选的,第一信息用于指示目标功能模块执行复位操作。
在本申请实施例中,RP在确定目标功能模块发生目标故障时,RP向目标功能模块发送第一信息,以指示目标功能模块执行复位操作,从而对目标功能模块出现的目标故障进行处理,而无需断开整个链路。
另外,需要说明的是,本申请实施例中RP与EP可以通过RP与EP之间的第一链路通信,或者RP与EP可以通过其它通信信道通信。其中,第一链路为PCIe系统中RP与EP之间的用于传输业务信息的链路,RP与EP通过第一链路传输的信息可以称为inband信息;其它通信信道为RP与EP之间建立的除第一链路之外的通信信道,如其它通信信道可以为RP与EP通过sideband方式建立的通信信道等,RP与EP通过其它通信信道传输的信息可以称为outband信息。
可选地,在本申请实施例中,S301中EP可以通过第一链路或其它通信信道向RC发送第四信息,S304中RP可以通过第一链路或其它通信信道向EP中的目标功能模块发送第一信息,本申请实施例对RP与EP通信的具体方式并不进行限定。
S305:目标功能模块执行复位操作。
可选地,接收到第一信息后,目标功能模块可以执行复位操作,从而对该目标功能模块的参数进行复位,使得目标功能模块进入功能级别复位(function level reset,FLR)状态,直至目标功能模块接收到指示目标功能模块恢复的信息。其中,目标功能模块进入FLR状态是指目标功能模块的参数复位。
S306:RP向CPU发送第二信息。
可选的,第二信息可以用于指示CPU测试复位后的目标功能模块是否正常运作。第二信息可以为中断信息(interrupt)。
S307:CPU向EP的目标功能模块发送第六信息。
可选的,第六信息可以为第二类信息。
在本申请实施例中,CPU在接收到第二信息后,可以向目标功能模块发送第六信息,以测试目标功能模块是否正常运作。CPU向目标功能模块发送的第六信息可以用于指示目标功能模块从FLR状态恢复为正常运作的状态,若目标功能模块可以正常运作,目标功能模块可以向CPU发送第六信息对应的完成信息。
S308:RP判断是否在发送第六信息的预设时长内接收到目标功能模块返回的第六信息对应的完成信息,若是,进入S309;否则,进入S311。
参考图2可知,CPU向EP的目标功能模块发送第六信息时,CPU需要通过RP与目标功能模块通信,第六信息为第二类信息,则RP可以检测CPU向目标功能模块发送第六信息后目标功能模块是否回复第六信息对应的完成信息。若目标功能模块发送第六信息对应的完成信息,RP可以将该完成信息转发给CPU,CPU可以确定目标功能模块已回复第六信息对应的完成信息。若RP在预设时长内未接收到目标功能模块返回的第六信息对应的完成信息,则RP向CPU重新发送第二信息,CPU在接收到第二信息后,可以确定在发送第六信息的预设时长内未接收到目标功能模块返回的第六信息对应的完成信息。
S309:RP向CPU转发第六信息对应的完成信息。
S310:CPU确定目标功能模块正常运作。
当目标功能模块在接收到第六信息后,可以向CPU回复第六信息对应的完成信息时,CPU可以确定目标功能模块可以正常运作。
S311:RP判断向目标功能模块发送第六信息的次数是否大于预设阈值,或RP判断向CPU发送第二信息的次数是否大于预设阈值;若否,进入S304;若是,进入S312。
在本申请实施例中,当CPU向目标功能模块发送第六信息后,在预设时长内未接收到第六信息对应的完成信息后,RP可以再次向EP发送第一信息,以指示EP对目标功能模块重新执行复位操作,以及,RP可以再次向CPU发送第二信息,以触发CPU再次检测重新复位后的目标功能模块是否正常运作。CPU在接收到RP再次发送的第二信息后,可以向复位后的目标功能模块再次发送第六信息,以测试重新复位后的目标功能模块是否正常运作。本申请实施例中可以预先设置阈值,RP和CPU可以在该阈值范围内多次尝试复位目标功能模块并检测目标功能模块是否正常运作,从而可以防止出现故障误判,提高故障处理的准确性。
S312:CPU确定目标功能模块不能正常运作,CPU对目标功能模块执行禁止操作。
在一种可选的实施方式中,当CPU向目标功能模块发送多次第六信息,且未接收到目标功能模块回复的完成信息时,CPU可以确定该目标功能模块的故障无法恢复,则CPU可以对目标功能模块执行禁止操作,从而关闭目标功能模块。
在本申请一些实施方式中,CPU也可以通过判断CPU接收RP发送的中断信号的数据是否大于设定阈值以判断目标功能模块的故障是否无法恢复。
需要说明的是,本申请实施例提供的故障处理方法应用于PCIe系统仅作为示例而非限定,该方法还可以应用于其它处理器系统或扩展总线系统。本申请实施例提供的故障处理方法适用的系统中,第二节点属于第一节点的故障管理域,第一节点可以用于管控第二节点。
基于以上实施例,本申请还提供一种故障处理方法,该方法可以由第一节点、第二节点和控制节点执行,例如第一节点可以为图2所示的故障处理系统中的RC或SW,第二节点可以为图2所示的故障处理系统中的EP。图4为本申请实施例提供的故障处理方法的流程图。参考图4,该方法包括以下步骤:
S401:第一节点确定第二节点中的目标功能模块发生目标故障。
S402:第一节点向第二节点中的目标功能发送第一信息。其中,第一信息用于指示所述目标功能模块执行复位操作。
S403:目标功能模块执行复位操作。
在本申请实施例中,第一节点和第二节点可以通过第一链路或其它通信信道进行通信,其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
一种可选的实施方式中,在所述第一节点确定第二节点中的目标功能模块发生目标故障之后,第一节点可以对与目标功能模块有关的信息进行处理。如第一节点可以对目标功能模块发送的信息进行丢弃操作;第一节点可以对发送给所述目标功能模块的第一类信息进行清空操作;第一节点还可以对发送给所述目标功能模块的第二类信息进行回复操作;其中,所述第一类信息为无需接收端回复完成信息的信息,所述第二类信息为需要接收端回复完成信息的信息。
可选的,第一节点对发送给所述目标功能模块的第二类信息进行回复操作,可以为第一节点向发出所述第二类信息的发送端发送第三信息,所述第三信息用于指示所述第二类信息接收失败。
在本申请实施例中,第一节点确定目标功能模块发生目标故障的方法可以包括第二节点向第一节点上报目标功能模块发生目标故障,或者第一节点检测目标功能模块发生目标故障。例如,第一节点接收所述第二节点发送的第四信息,所述第四信息用于指示所述目标功能模块发生目标故障;或者所述第一节点确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的。
一种可选的实施方式中,第一节点确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的,包括:所述第一节点向所述目标功能模块发送第五信息,并在发送所述第五信息后的预设时长内未接收到所述目标功能模块发送的所述第五信息对应的完成信息;所述第一节点确定第一链路正常,且所述第五信息的发送流程正常;其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
一种可选的实施方式中,第一节点还可以向控制节点发送第二信息,所述第二信息用于指示所述控制节点测试复位后的所述目标功能模块是否正常运作。
一种可选的实施方式中,在第一节点向控制节点发送第二信息之后,第一节点辅助所述控制节点向所述目标功能模块发送第六信息;所述第一节点确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块返回的所述第六信息对应的完成信息,且所述第一节点确定向所述目标功能模块发送所述第六信息的次数小于设定阈值或所述第一节点确定向所述控制节点发送第二信息的次数小于设定阈值,所述第一节点再次向所述第二节点发送所述第一信息,以及,所述第一节点再次向所述控制节点发送所述第二信息。
一种可选的实施方式中,控制节点接收到第一节点发送的第二信息后,控制节点向所述目标功能模块发送第六信息;若所述控制节点接收到所述目标功能模块发送的所述第六信息对应的完成信息,所述控制节点确定所述目标功能模块正常运作;若所述控制节点在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息,所述控制节点确定所述目标功能模块不能正常运作;当控制节点确定目标功能模块不能正常运作时,对所述目标功能模块执行禁止操作。
另外,为保证故障检测的准确性,控制节点可以多次测试目标功能模块是否正常运作。如控制节点在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息之后,在确定所述目标功能模块不能正常运作之前,执行N次以下步骤:所述控制节点接收所述第一节点再次发送的所述第二信息;所述控制节点向重新复位后的所述目标功能模块再次发送所述第六信息;所述控制节点确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息;其中,所述N为正整数。
上述实施例主要从第一节点、第二节点和控制节点之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,为了实现上述功能,第一节点、第二节点和控制节点可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请的实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对第一节点、第二节点和控制节点进行模块划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
在采用集成的模块的情况下,图5示出了本申请实施例中所涉及的一种故障处理装置的结构示意图。如图5所示,装置500可以包括:处理模块501和通信模块502。处理模块501用于对装置500的动作进行控制管理。通信模块502用于支持装置500与其他设备的通信。可选地,通信模块502也可称为收发模块,可以包括接收模块和/或发送模块,分别用于执行接收和发送操作。装置500还可以包括存储模块503,用于存储装置500的程序代码和/或数据。
该装置500可以为上述任一实施例中的第一节点(或设置在第一节点中的芯片或芯片组或芯片中用于执行相关方法功能的一部分),第一节点可以通过PCIe总线与第二节点连接。其中,处理模块501可以支持装置500执行上文中各方法示例中第一节点的动作;或者,处理模块501主要执行方法示例中的第一节点的内部动作,通信模块502可以支持装置500与第二节点、控制节点之间的通信。
在一个实施例中,处理模块501,用于确定第二节点中的目标功能模块发生目标故障;通信模块502,用于向所述第二节点中的目标功能模块发送第一信息,所述第一信息用于指示所述目标功能模块执行复位操作。
在一种可能的设计中,所述处理模块501还可以在确定第二节点中的目标功能模块发生目标故障之后,对所述目标功能模块发送的信息进行丢弃操作;或者在确定第二节点中的目标功能模块发生目标故障之后,对发送给所述目标功能模块的第一类信息进行清空操作,和/或,对发送给所述目标功能模块的第二类信息进行回复操作;其中,所述第一类信息为无需接收端回复完成信息的信息,所述第二类信息为需要接收端回复完成信息的信息。
在一种可能的设计中,所述处理模块501具体还可以通过所述通信模块502向发出所述第二类信息的发送端发送第三信息,所述第三信息用于指示所述第二类信息接收失败。或者所述处理模块501具体可以通过所述通信模块502接收所述第二节点发送的第四信息,所述第四信息用于指示所述目标功能模块发生目标故障;或者确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的。
在一种可能的设计中,所述处理模块501具体用于:通过所述通信模块502向所述目标功能模块发送第五信息,并在发送所述第五信息后的预设时长内未接收到所述目标功能模块发送的所述第五信息对应的完成信息;确定第一链路正常,且所述第五信息的发送流程正常;其中,所述第一链路为所述故障处理装置和所述第二节点之间用于传输业务信息的链路。
在一种可能的设计中,所述处理模块501还用于:在向控制节点发送第二信息之后,辅助所述控制节点向所述目标功能模块发送第六信息;确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块返回的所述第六信息对应的完成信息,且确定向所述目标功能模块发送所述第六信息的次数小于设定阈值或确定向所述控制节点发送第二信息的次数小于设定阈值,通过所述通信模块502再次向所述第二节点发送所述第一信息,以及,通过所述通信模块502再次向所述控制节点发送所述第二信息。
在一种可能的设计中,所述通信模块502具体用于:通过第一链路向所述第二节点中的目标功能模块发送所述第一信息;或者通过除所述第一链路之外的其它通信信道向所述第二节点中的目标功能模块发送所述第一信息;其中,所述第一链路为所述故障处理装置和所述第二节点之间用于传输业务信息的链路。
在一种可能的设计中,所述通信模块502具体用于:接收所述第二节点通过第一链路发送的所述第四信息;或者接收所述第二节点通过除所述第一链路之外的其它通信信道发送的所述第四信息;其中,所述第一链路为所述故障处理装置和所述第二节点之间用于传输业务信息的链路。
在一种可能的设计中,所述目标故障为功能模块级别的故障;所述目标故障为内存溢出、读写错误、完成信息超时、完成者中止、事务层数据包TLP中毒、PCRC检查失败中的任一项。
在一种可能的设计中,所述处理模块501还用于:通过所述通信模块502向控制节点发送第二信息,所述第二信息用于指示所述控制节点测试复位后的所述目标功能模块是否正常运作。
在一种可能的设计中,所述故障处理装置500应用于PCIe系统中的任一根端口或所述故障处理装置应用于PCIe系统中的交换节点中的任一下行端口,所述控制节点为用于控制所述根节点的节点。
该装置500可以为上述任一实施例中的控制节点(或设置在控制节点中的芯片或芯片组或芯片中用于执行相关方法功能的一部分)。其中,处理模块501可以支持装置500执行上文中各方法示例中控制节点的动作;或者,处理模块501主要执行方法示例中的控制节点的内部动作,通信模块502可以支持装置500与第一节点、第二节点之间的通信。
在一个实施例中,所述通信模块502,用于接收第一节点发送的第二信息,所述第二信息用于指示所述控制节点测试复位后的第二节点中的目标功能模块是否正常运作;向所述目标功能模块发送第六信息;
所述处理模块501,用于在接收到所述目标功能模块发送的所述第六信息对应的完成信息时,确定所述目标功能模块正常运作;或在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息时,确定所述目标功能模块不能正常运作;对所述目标功能模块执行禁止操作。
在一种可能的设计中,所述处理模块501还用于:在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息之后,在确定所述目标功能模块不能正常运作之前,执行N次以下步骤:通过所述通信模块接收所述第一节点再次发送的所述第二信息;通过所述通信模块向重新复位后的所述目标功能模块再次发送所述第六信息;确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息;其中,所述N为正整数。
应理解以上装置中模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块以硬件的形式实现。例如,各个模块可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该模块的功能。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件又可以成为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上任一装置中的模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integratedcircuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(field Programmable gate Array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的模块可以通过处理元件调度程序的形式实现时,该处理元件可以是处理器,比如通用CPU,或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
以上用于接收的模块是一种该装置的接口电路,用于从其它装置接收信号。例如,当该装置以芯片的方式实现时,该接收模块是该芯片用于从其它芯片或装置接收信号的接口电路。以上用于发送的模块是一种该装置的接口电路,用于向其它装置发送信号。例如,当该装置以芯片的方式实现时,该发送模块是该芯片用于向其它芯片或装置发送信号的接口电路。
图6为本申请实施例提供的另一种故障处理装置的结构示意图,该装置600可以是上述实施例中的第一节点或者控制节点。该装置600包括:处理器602、还可以包括通信接口603,还可以包括存储器601或者与存储器601存在耦合关系。可选的,装置600还可以包括通信线路604。其中,通信接口603、处理器602以及存储器601可以通过通信线路604相互连接,通信线路604可以是PCIe总线。通信线路604可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器602可以是一个CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。处理器602的功能可以和图5中所描述的处理模块的功能相同。
通信接口603,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN),有线接入网等。通信接口603的功能可以和图5中所描述的通信模块的功能相同。
存储器601可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-onlymemory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路604与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器601用于存储执行本申请方案的计算机执行指令,并由处理器602来控制执行。处理器602用于执行存储器601中存储的计算机执行指令,从而实现本申请上述实施例提供的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例还提供了一种计算机可读存储介质,用于存储为执行上述处理器所需执行的计算机软件指令,其包含用于执行上述处理器所需执行的程序。
基于以上实施例,本申请还提供了一种芯片,所述芯片用于读取存储器中存储的计算机程序,实现本申请实施例所描述的各方法。
基于以上实施例,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机装置实现本申请实施例所描述的各方法。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存该计算机装置必要的程序和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的保护范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (33)

1.一种故障处理方法,其特征在于,所述方法包括:
第一节点确定第二节点中的目标功能模块发生目标故障,所述第一节点向所述第二节点中的目标功能模块发送第一信息,所述第一信息用于指示所述目标功能模块执行复位操作。
2.如权利要求1所述的方法,其特征在于,在所述第一节点确定第二节点中的目标功能模块发生目标故障之后,所述方法还包括:
所述第一节点对所述目标功能模块发送的信息进行丢弃操作。
3.如权利要求1或2所述的方法,其特征在于,在所述第一节点确定第二节点中的目标功能模块发生目标故障之后,所述方法还包括:
所述第一节点对发送给所述目标功能模块的第一类信息进行清空操作,和/或,所述第一节点对发送给所述目标功能模块的第二类信息进行回复操作;
其中,所述第一类信息为无需接收端回复完成信息的信息,所述第二类信息为需要接收端回复完成信息的信息。
4.如权利要求3所述的方法,其特征在于,所述第一节点对发送给所述目标功能模块的第二类信息进行回复操作,包括:
所述第一节点向发出所述第二类信息的发送端发送第三信息,所述第三信息用于指示所述第二类信息接收失败。
5.如权利要求1至4任一所述的方法,其特征在于,所述第一节点确定第二节点中的目标功能模块发生目标故障,包括:
所述第一节点接收所述第二节点发送的第四信息,所述第四信息用于指示所述目标功能模块发生目标故障;或者
所述第一节点确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的。
6.如权利要求5所述的方法,其特征在于,所述第一节点确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的,包括:
所述第一节点向所述目标功能模块发送第五信息,并在发送所述第五信息后的预设时长内未接收到所述目标功能模块发送的所述第五信息对应的完成信息;
所述第一节点确定第一链路正常,且所述第五信息的发送流程正常;其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
7.如权利要求1-6任一项所述的方法,其特征在于,所述目标故障为功能模块级别的故障;所述目标故障为内存溢出、读写错误、完成信息超时、完成者中止、事务层数据包TLP中毒、明文循环冗余校验PCRC检查失败中的任一项。
8.如权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点向控制节点发送第二信息,所述第二信息用于指示所述控制节点测试复位后的所述目标功能模块是否正常运作。
9.如权利要求8任一项所述的方法,其特征在于,在所述第一节点向控制节点发送第二信息之后,所述方法还包括:
所述第一节点辅助所述控制节点向所述目标功能模块发送第六信息;
所述第一节点确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块返回的所述第六信息对应的完成信息,且所述第一节点确定向所述目标功能模块发送所述第六信息的次数小于设定阈值或所述第一节点确定向所述控制节点发送第二信息的次数小于设定阈值,所述第一节点再次向所述第二节点发送所述第一信息,以及,所述第一节点再次向所述控制节点发送所述第二信息。
10.如权利要求1-9任一项所述的方法,其特征在于,所述第一节点向所述第二节点中的目标功能模块发送第一信息,包括:
所述第一节点通过第一链路向所述第二节点中的目标功能模块发送所述第一信息;或者
所述第一节点通过除所述第一链路之外的其它通信信道向所述第二节点中的目标功能模块发送所述第一信息;
其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
11.如权利要求5所述的方法,其特征在于,所述第一节点接收所述第二节点发送的第四信息,包括:
所述第一节点接收所述第二节点通过第一链路发送的所述第四信息;或者
所述第一节点接收所述第二节点通过除所述第一链路之外的其它通信信道发送的所述第四信息;
其中,所述第一链路为所述第一节点和所述第二节点之间用于传输业务信息的链路。
12.如权利要求1-11任一项所述的方法,其特征在于,所述第一节点为PCIe系统中的根节点中的任一根端口或所述第一节点为PCIe系统中的交换节点中的任一下行端口;所述第二节点为PCIe系统中的端节点,控制节点为用于控制所述根节点的节点。
13.如权利要求8或9所述的方法,其特征在于,所述第二信息为中断信息。
14.一种故障处理方法,其特征在于,所述方法包括:
控制节点接收第一节点发送的第二信息,所述第二信息用于指示所述控制节点测试复位后的第二节点中的目标功能模块是否正常运作;
所述控制节点向所述目标功能模块发送第六信息;
若所述控制节点接收到所述目标功能模块发送的所述第六信息对应的完成信息,所述控制节点确定所述目标功能模块正常运作;
若所述控制节点在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息,所述控制节点确定所述目标功能模块不能正常运作;所述控制节点对所述目标功能模块执行禁止操作。
15.如权利要求14所述的方法,其特征在于,所述控制节点在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息之后,在确定所述目标功能模块不能正常运作之前,所述方法还包括:
所述控制节点执行N次以下步骤:
所述控制节点接收所述第一节点再次发送的所述第二信息;
所述控制节点向重新复位后的所述目标功能模块再次发送所述第六信息;
所述控制节点确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息;
其中,所述N为正整数。
16.一种故障处理装置,其特征在于,包括处理模块和通信模块;
所述处理模块,用于确定第二节点中的目标功能模块发生目标故障;
所述通信模块,用于向所述第二节点中的目标功能模块发送第一信息,所述第一信息用于指示所述目标功能模块执行复位操作。
17.如权利要求16所述的装置,其特征在于,所述处理模块还用于:
在确定第二节点中的目标功能模块发生目标故障之后,对所述目标功能模块发送的信息进行丢弃操作。
18.如权利要求16或17所述的装置,其特征在于,所述处理模块还用于:
在所述确定第二节点中的目标功能模块发生目标故障之后,对发送给所述目标功能模块的第一类信息进行清空操作,和/或,对发送给所述目标功能模块的第二类信息进行回复操作;其中,所述第一类信息为无需接收端回复完成信息的信息,所述第二类信息为需要接收端回复完成信息的信息。
19.如权利要求18所述的装置,其特征在于,所述处理模块具体用于:
通过所述通信模块向发出所述第二类信息的发送端发送第三信息,所述第三信息用于指示所述第二类信息接收失败。
20.如权利要求16-19任一项所述的装置,其特征在于,所述处理模块具体用于:
通过所述通信模块接收所述第二节点发送的第四信息,所述第四信息用于指示所述目标功能模块发生目标故障;或者
确定所述目标功能模块发生信息回复异常,且所述信息回复异常为所述目标功能模块的目标故障造成的。
21.如权利要求20所述的装置,其特征在于,所述处理模块具体用于:
通过所述通信模块向所述目标功能模块发送第五信息,并在发送所述第五信息后的预设时长内未接收到所述目标功能模块发送的所述第五信息对应的完成信息;
确定第一链路正常,且所述第五信息的发送流程正常;其中,所述第一链路为所述故障处理装置和所述第二节点之间用于传输业务信息的链路。
22.如权利要求16-21任一项所述的装置,其特征在于,所述目标故障为功能模块级别的故障;所述目标故障为内存溢出、读写错误、完成信息超时、完成者中止、事务层数据包TLP中毒、明文循环冗余校验PCRC检查失败中的任一项。
23.如权利要求16-22任一项所述的装置,其特征在于,所述处理模块还用于:
通过所述通信模块向控制节点发送第二信息,所述第二信息用于指示所述控制节点测试复位后的所述目标功能模块是否正常运作。
24.如权利要求23所述的装置,其特征在于,所述处理模块还用于:
在向控制节点发送第二信息之后,辅助所述控制节点向所述目标功能模块发送第六信息;
确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块返回的所述第六信息对应的完成信息,且确定向所述目标功能模块发送所述第六信息的次数小于设定阈值或确定向所述控制节点发送第二信息的次数小于设定阈值,通过所述通信模块再次向所述第二节点发送所述第一信息,以及,通过所述通信模块再次向所述控制节点发送所述第二信息。
25.如权利要求16-24任一项所述的装置,其特征在于,所述通信模块具体用于:
通过第一链路向所述第二节点中的目标功能模块发送所述第一信息;或者
通过除所述第一链路之外的其它通信信道向所述第二节点中的目标功能模块发送所述第一信息;
其中,所述第一链路为所述故障处理装置和所述第二节点之间用于传输业务信息的链路。
26.如权利要求20所述的装置,其特征在于,所述通信模块具体用于:
接收所述第二节点通过第一链路发送的所述第四信息;或者
接收所述第二节点通过除所述第一链路之外的其它通信信道发送的所述第四信息;
其中,所述第一链路为所述故障处理装置和所述第二节点之间用于传输业务信息的链路。
27.如权利要求16-26任一项所述的装置,其特征在于,所述故障处理装置应用于PCIe系统中的任一根端口或所述故障处理装置应用于PCIe系统中的交换节点中的任一下行端口;所述第二节点为PCIe系统中的端节点,所述控制节点为用于控制所述根节点的节点。
28.如权利要求23或24所述的装置,其特征在于,所述第二信息为中断信息。
29.一种故障处理装置,其特征在于,包括处理模块和通信模块;
所述通信模块,用于接收第一节点发送的第二信息,所述第二信息用于指示所述控制节点测试复位后的第二节点中的目标功能模块是否正常运作;向所述目标功能模块发送第六信息;
所述处理模块,用于在接收到所述目标功能模块发送的所述第六信息对应的完成信息时,确定所述目标功能模块正常运作;或在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息时,确定所述目标功能模块不能正常运作;对所述目标功能模块执行禁止操作。
30.如权利要求29所述的装置,其特征在于,所述处理模块还用于:
在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息之后,在确定所述目标功能模块不能正常运作之前,执行N次以下步骤:
通过所述通信模块接收所述第一节点再次发送的所述第二信息;通过所述通信模块向重新复位后的所述目标功能模块再次发送所述第六信息;确定在发送所述第六信息后的预设时长内未接收到所述目标功能模块发送的所述第六信息对应的完成信息;
其中,所述N为正整数。
31.一种故障处理装置,其特征在于,包括处理器和存储器;
所述存储器,存储有计算机程序指令;
所述处理器,用于执行所述存储器中存储的所述指令,以使得所述故障处理装置执行如权利要求1-13任一项所述的方法,或使得所述故障处理装置执行如权利要求14或15所述的方法。
32.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备运行时,使得所述计算设备执行如权利要求1-13任一项所述的方法,或执行如权利要求14或15所述的方法。
33.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如权利要求1-13任一项所述的方法,或执行如权利要求14或15所述的方法。
CN202211204276.2A 2022-09-29 2022-09-29 一种故障处理方法及装置 Pending CN117827504A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211204276.2A CN117827504A (zh) 2022-09-29 2022-09-29 一种故障处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211204276.2A CN117827504A (zh) 2022-09-29 2022-09-29 一种故障处理方法及装置

Publications (1)

Publication Number Publication Date
CN117827504A true CN117827504A (zh) 2024-04-05

Family

ID=90504503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211204276.2A Pending CN117827504A (zh) 2022-09-29 2022-09-29 一种故障处理方法及装置

Country Status (1)

Country Link
CN (1) CN117827504A (zh)

Similar Documents

Publication Publication Date Title
US20040001449A1 (en) System and method for supporting automatic protection switching between multiple node pairs using common agent architecture
US7424640B2 (en) Hybrid agent-oriented object model to provide software fault tolerance between distributed processor nodes
US9141463B2 (en) Error location specification method, error location specification apparatus and computer-readable recording medium in which error location specification program is recorded
CN107070731B (zh) 一种主从仲裁方法及系统
CN103678031A (zh) 二乘二取二冗余系统及方法
CN115550291B (zh) 交换机的复位系统及方法、存储介质、电子设备
CN105183575A (zh) 处理器故障的诊断方法、装置及系统
CN102970167A (zh) 集群系统中网络节点的故障检测方法、网络节点和系统
CN106155826B (zh) 用于在总线结构中检测及处理错误的方法和系统
US7831710B2 (en) Communication of offline status between computer systems
CN106502944A (zh) 计算机、pcie设备以及pcie设备的心跳检测方法
US8108736B2 (en) Multi-partition computer system, failure handling method and program therefor
CN113722003A (zh) 一种phy芯片的工作模式调整方法、装置及设备
CN117827504A (zh) 一种故障处理方法及装置
CN111757371B (zh) 一种传输时延的统计方法、服务器及存储介质
CN114880266B (zh) 故障处理的方法、装置、计算机设备和存储介质
CN101458624A (zh) 可编程逻辑器件的加载方法、处理器和装置
US8111625B2 (en) Method for detecting a message interface fault in a communication device
JP6134720B2 (ja) 接続方法
US8264948B2 (en) Interconnection device
CN105530110A (zh) 一种网络故障检测方法以及相关网元
JP2001297016A (ja) 命令実行システム
CN118051375A (zh) 用于计算设备间直连链路的故障诊断的方法和系统
CN118012692A (zh) 用于在分布式系统中的监控的方法
CN117148703A (zh) 基于三模冗余can控制器的can链路控制方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination