[发明专利]一种PCIe链路故障的处理方法、设备及系统有效
申请号: | 201480000399.1 | 申请日: | 2014-04-02 |
公开(公告)号: | CN104170322B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 杜阁 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 pcie 故障 处理 方法 设备 系统 | ||
技术领域
本发明涉及数据传输技术领域,更具体的说,是涉及一种PCIe链路故障的处理方法、设备及装置。
背景技术
目前,在数据传输技术领域中,PCIe(Peripheral Component Interconnect Express快捷外设组件互连标准)协议已得到了广泛的应用。PCIe协议应用于设备中时,设备之间以点对点的形式进行数据的传输。使用PCIe协议进行数据传输的设备统一称为PCIe节点设备。在系统中,两个PCIe节点设备之间的通信可以通过串行器/解串器(serdes,Serializer/De-Serializer)电路实现链路连接。在两个PCIe节点设备进行数据传输时,采用协商的速率通过serdes来进行数据传输。两个PCIe节点设备之间的链路可以包括1、2、4、8、16条或32条serdes。当有多条serdes时,这些serdes采用由小到大的连续数字来依次进行编号。一条serdes即为链路的一条通道(lane),serdes的编号称为通道编号。
两个PCIe节点设备间数据传输的带宽(W)就等于通道的数量(N)和协商的速率(S)的乘积,即带宽公式W=N×S。两个PCIe节点设备的链路的协商速率(S)根据采用的PCIe协议的版本不同而不同,目前有GEN1(2.5GT/s)、GEN2(5.0GT/s)、GEN3(8.0GT/s)和GEN4(16.0GT/s)四种,表示1条电路在1秒钟内能够传输的数据容量。一般来说,一个PCIe节点设备的链路支持的协商的速率(S)是固定的,在这种情况下,为了满足用户对通信带宽(W)越来越高的要求,就只能通过提高链路通道的数量(N)来提高带宽。
两个PCIe节点设备传输数据时,需要同时用到两个PCIe节点设备之间的链路的所有通道,如果其中的一条通道出现故障,数据的传输就会中断。现有技术中,当连接于PCIe节点设备的某一条通道出现故障时,PCIe节点设备会根据PCIe协议的重协商机制进行链路协商。链路协商时,从通道编号最小的通道开始协商,并按通道编号从小到大依次进行链路协商。按通道编号从小到大连续向上重新进行链路协商的方式称为向上协商。如:一个原本需要协商到速率为GEN2、链路宽度为16(PCIe2.0×16)的PCIe节点设备的2号通道出现故障时,根据PCIe协议的重协商机制,PCIe节点设备从0号通道开始往向上进行链路协商。由于2号通道故障无法协商成功,从0号通道协商至1号通道之后链路协商无法继续,这样只有0号和1号2条通道协商成功,即只有0号通道和1号通道可以继续传输数据。根据PCIe协议约定的两个PCIe节点设备之间的链路的通道宽度,重新协商得到的两个PCIe节点设备之间的链路的通道宽度为2,即只有2条通道可以供PCIe节点设备进行数据传输。这样,此时带宽公式中的N就由原来的16变为2,PCIe节点设备间的数据传输性能就只有原来性能的1/8。而如果是1号通道出现故障,根据上述重协商方法,只能协商到1条通道,则此时的数据传输性能就只有原来性能的1/16。
由此可见,现有技术中当PCIe节点设备之间的链路的通道出现故障时,重新协商链路的通道宽度时会受到出现故障的通道的通道编号的大小的很大限制,会导致重新协商得到的通道宽度存在不确定性,且会出现通道宽度大大减小的情况,严重影响通道的数据传输性能。
发明内容
有鉴于此,本发明提供了一种PCIe链路的故障处理方法、设备及系统,以克服现有技术中由于受到出现故障的通道的通道编号的大小限制,而使重新协商得到的通道宽度存在不确定性且可能出现通道宽度大大减小而严重影响通道的传输性能的问题。
本发明第一方面提供了一种PCIe链路故障的处理方法,包括:
PCIe节点设备检测到与下游PCIe节点设备之间的链路的通道发生故障,向中央处理器CPU发送消息中断MSI消息,所述MSI消息中包含所述PCIe节点设备的设备ID;
所述PCIe节点设备与所述下游PCIe节点设备协商得到当前通道宽度值N;
所述CPU根据接收到的MSI消息中的所述设备ID从所述PCIe节点设备获取所述PCIe节点设备的通道协商能力值M和当前通道宽度值N;
所述CPU将N与M/2进行比较;
如果N<M/2,所述CPU通知所述PCIe节点设备执行通道翻转操作;
所述PCIe节点设备对与所述下游PCIe节点设备之间的链路执行通道翻转操作;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480000399.1/2.html,转载请声明来源钻瓜专利网。