一种pcie接口的链路重组方法和装置的制作方法

文档序号:7707841阅读:245来源:国知局
专利名称:一种pcie接口的链路重组方法和装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种PC正接口的链路重组方法和 装置。
背景技术
PCIE (PCI-Express;快速PCI (Peripheral Component Interconnect,外
设组件互连))是一种高性能的I/O总线,它是能够应用于移动设备、台式 电脑、工作站、服务器、嵌入式计算和通信平台等所有周边I/O设备互连的 总线。PCIE总线最显著的优势是提高了设备传输带宽,当前PC正l.O的发 送和接收数据速率是2.5Gbit/s,同时每台PCIE设备的引脚很少,从而降低 了 PC正芯片和板卡的设计成本,并降低了板卡设计的复杂性。
PC正链路(PCIE lane)是两台设备之间的物理连接,PC正互连有一条 XI、 X2、 X4、 X8、 X16或X32的点对点链路,两个方向上的通道由信号对 组成,例如, 一条X1的链路有一条通道,即每个方向上有一对差动信号, 共四个信号; 一条X32的链路有32条通道,即每个方向上有32对差动信号, 共128个信号,PC正链路在每个方向上支持相同数目的通道。由于PCIE设 备是采用点到点的互连机制,所以PCIE物理链路的完好性至关重要,目前, 当PCIE链路中有一条链路通道损坏后,即便其他链路通道完好,整个PCIE 链路也无法使用,这对系统设计造成了极大的不变,并且也提高了成本。 为了解决这一问题,现有技术中提出了如下两种解决方案。 其中一种是当PCIE接口的某个数据传输通道损坏后,通过降链路(lane) 来实现数据的传输,艮卩,如果一个PCIE接口为X16链路,当通道lane8到 通道knel5中有一个损坏,则直接从X16链路降到X8链路,若通道lane7 损坏,则直接降到X4链路,以此类推一直降到通道ianeO。发明人在实现本发明的过程中发现,在这种解决方案中,通道laneO的数据通路最为重要, 假使通道laneO出现损坏,即使其余的15个通道(lane)都完好无损,整个 PC正接口也无法使用,这样使得系统的灵活性和成本都比较差,给用户带 来很大的不便。
另外一种解决方案是降低通道laneO的重要性,即,当PCIE接口的通 道laneO损坏后,则通过对整个PCIE链路做一次training,进行转置重组, 即将通道lanel5变成通道lane0,高位变低位,这样即使通道laneO损坏,这 个PCIE接口依然可以使用。
发明人在实现本发明的过程中发现,在这种解决方案中,虽然通道laneO 的损坏不会造成整个PC正物理接口的报废,但是如果通道laneO和通道 lanel5同时受损,即使别的通道(kne)依然完好无损,该PC正接口依然无 法使用,导致PCIE接口链路的利用率低。

发明内容
为了解决上述现有技术中所指出的问题,本发明实施例提供一种PC正 接口的链路重组方法和装置,以提高PC正接口链路的利用率。
本发明实施例的上述目的是通过如下技术方案实现的-
一种PCIE接口的链路重组方法,所述方法应用于根联合体,所述方法 包括在根联合体的PCIE接口链路重新初始化定向时,如果存在通过所述 PC正接口进行物理连接的端点设备,且与所述端点设备之间的链路的电气 功能完好,则为连接到所述端点设备的链路的可用通道分配通道号;分配好 通道号的可用通道与所述端点设备进行数据传输。
一种PCIE接口的链路重组装置,所述装置包括配置单元,用于在根 联合体的PCIE接口链路重新初始化定向时,如果存在通过所述PCIE接口 进行物理连接的端点设备,且与所述端点设备之间的链路的电气功能完好 时,为连接到所述端点设备的链路的可用通道分配通道号;处理单元,用于 利用分配好通道号的可用通道与所述端点设备进行数据传输。通过本发明实施例的方法和装置,在PCIE链路中有一条链路通道损坏
后,通过对没有损坏的链路通道进行通道号的分配来重新初始化重定向,最
大限度的使用PCffi接口链路的自适应重组,合理的利用了协议的规定,使 得链路的利用率提高,保证了系统通过PC正接口传输数据的稳定性、不中 断性,减少了系统整体死机的概率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部
分,并不构成对本发明的限定。在附图中 图1为本发明实施例的方法流程图; 图2为本发明另一实施例的方法流程图; 图3为图2所示实施例的首次链路初始化定向示意图; 图4为图2所示实施例的链路分配流程图; 图5为本发明实施例的装置组成框图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实 施例和附图,对本发明实施例做进一步详细说明。在此,本发明的示意性实 施例及其说明用于解释本发明,但并不作为对本发明的限定。
实施例一
本发明实施例提供一种快速外设组件互连PC正接口的链路重组方法,
以下结合附图对本实施例进行详细说明。
图1为本实施例的方法流程图,本实施例的PCIE接口的链路重组方法 应用于使用PCIE接口的任意设备,其中,应用本发明实施例的方法的PCIE 接口设备作为主设备称为根联合体,与该主设备连接的从设备称为端点设
备,如图1所示,本实施例的方法主要包括
101:在PCIE接口链路重新初始化定向时,如果根联合体发现存在通过所述PC正接口与其物理连接的端点设备,且与所述端点设备之间的链路的
电气功能完好,则为连接到所述端点设备的链路的可用通道分配通道号;
102:根联合体利用分配好通道号的可用通道与所述端点设备进行数据 传输。
在本实施例中,如果根联合体与端点设备之间的PCIE接口中出现了链 路通道lane的损坏,则会重新进行一次链路初始化定向,在进行PCIE接口 链路的重新初始化定向过程中,根联合体不仅要通过检测来测试该根联合体 是否存在远端连接的端点设备,通过轮询来测试该根联合体与端点设备之间 的链路的电气功能是否完好,还要为该PC正接口上可用的链路通道重新分 配通道号,进而根据重组后的链路与端点设备进行数据的传输,达到提高 PCIE接口链路的利用率的目的。
其中,检测和轮询的过程都属于现有技术,在此不再赘述。 另外,根据重组后的链路与端点设备进行数据的传输还包括了一些状态 的设置和管理,例如恢复(执行通道到通道的相位补偿)、LO (发送并接收 处理层数据包TLP(Transaction Layer Packet)、数据链路层数据包DLLP(Data Link Layer Packet))、 LOS (低功耗的、活动电源管理状态)、LI (电源管理 状态)、L2 (电源管理状态)、HOT复位、回环(测试和故障隔离)和禁用 (禁用已配置的链路)等,这也是PCIE协议本身所具有的内容,在此不再 赘述。
通过本发明实施例的方法,最大限度的使用PCIE接口链路的自适应重 组,合理的利用了协议的规定,使得链路的利用率提高,保证了系统通过 PC正接口传输数据的稳定性、不中断性,避免了系统整体死机。
实施例二
本发明实施例还提供一种PC正接口的链路重组方法,以下结合附图对 本实施例进行详细说明。
图2为本实施例的方法流程图,本实施例的方法应用于使用PCIE接口的任意设备,在本实施例中,以PCIE接口为X16链路为例加以说明,也就 是说,该X16链路具有16条链路通道,如图2所示,本实施例的方法包括:
201:如果PCIE接口链路中出现了链路通道损坏,则对所述PCIE接口 链路进行重新初始化定向;
其中,链路初始化定向是配置和初始化设备物理层、端口和相关链路的 物理层控制,使链路可传送正常的数据包流量。
一般情况下,PCIE接口在工作时,先进行链路初始化定向,通过链路 初始化定向,为PC正接口的每条链路通道分配一个链路号和通道号,如图 3所示,该PCIE接口的通道号从左至右分别为laneO至Ulane15,链路号与通 道号对应。而当数据传输中断,或者出现出错告警提示信息等时,则判断为 PCIE接口链路出现了通道损坏,在这种情况下,都会重新进行链路初始化 定向,以确认该PC正接口链路是否确实发生了通道损坏。当重新初始化定 向达到预定次数后,如果仍不能恢复数据传输,或仍然出现出错告警提示信 息等而不能进行数据传输,则判断为该PCIE接口损坏。
202:在PCIE接口链路重新初始化定向时,通过检测来测试是否存在通 过所述PCIE接口相互连接的端点设备,并通过轮询来测试与所述端点设备 之间的链路的电气功能是否完好,当存在通过所述PCIE接口进行物理连接 的端点设备且与端点设备的电气功能完好时,则执行步骤203;
其中,电气功能包含了电流、差动电压和锁相环(提供时钟功能)等硬 件功能,在此不再赘述。
203:为连接到所述端点设备的链路的可用通道分配通道号;
其中,为连接到所述端点设备的链路的可用通道分配通道号可以通过图
4所示的步骤完成,如图4所示,该过程包括
401:确认与所述端点设备连接的PC正接口的可用通道,然后对所述 PCIE接口上的可用通道进行通道编号;
在一个实施例中,可以通过向端点设备发送训练序列TS1有序集,确认与所述端点设备连接的PCIE接口的可用通道。
通过发送TS1有序集,没有损坏的链路通道接收到TS1有序集后,发 送一个反馈消息,这样就能够确认与所述端点设备连接的PCIE接口的可用 通道。需要说明的是,在一个实施例中,TS1可以如PC正标准中的定义所 述,在另一个实施例中TS1也可以为预先设定的有序的数据包序列。
需要说明的是,在一个实施例中,可以对通道所在的链路重新进行链路 编号,在另一个实施例中也可以不对通道所在的链路进行链路编号,即使用 原来的链路号。
402:根据该根联合体的PCIE接口的带宽以及所述端点设备的PCIE接 口的带宽,确定该根联合体与所述端点设备之间的总链路宽度;
由于根联合体和端点设备的带宽可能不一致,因此,在本步骤中,还要 进一步确认该根联合体与端点设备的总链路宽度。
这里需要说明的是,根联合体的PCIE接口的带宽和与其连接的端点设 备的PC正接口的带宽有可能是不同的,这时候就需要确定较小的PC正接 口的带宽,作为根联合体和与其连接的端点设备之间的总链路宽度。
例如,在一个实施例中,根联合体的PC正接口带宽为2G,与其连接的 端点设备的PCIE接口带宽为1.6G,则确定1.6G作为根联合体和与其相连 的端点设备之间的总链路宽度。
在另一个实施例中,根联合题的PCIE接口带宽为1G,与其连接的一个 端点设备的PCIE接口带宽为1.5G,则确定1G作为该根联合体和该端点设 备之间的总链路宽度;如果与根联合体相连接的另一个端点设备的PCIE接 口带宽为0.8G,则确定0.8G作为根联合体和该另一个端点设备之间的总链 路宽度。
403:根据根联合体和与其连接的端点设备之间的总链路宽度,确认该 根联合体与所述端点设备之间的每条可用通道的链路宽度。
在一个实施例中,根据根联合体和与其连接的端点设备之间的总链路带宽,可以通过向端点设备发送培训序列TS2有序集,确认该根联合体与所述
端点设备之间的每条可用通道的链路宽度。
通过发送TS2有序集,每条可用通道接收到TS2有序集后,发送一个
反馈消息,反馈消息在一个实施例中可以包含这条通道传输的数据类型,在 另一个实施例中也可以包括这条链路的业务类型或者数据量等信息,这样根 据反馈消息就和总的链路宽度就能够确定出每条可用通道的链路宽度。
例如,在一个实施例中,假设有两条可用通道, 一条主要用来传输图像 数据, 一条主要用来传输视频数据,总的链路宽度为2G。那么可以根据反 馈消息得知每条链路传输的数据的主要类型或者内容,根据每条可用通道传 输的数据的内容的不同,确定每条可用通道的链路宽度,这样就可以给主要 传输图像数据的通道分配少一点的链路宽度,比如为0.5G,给主要传输视频 数据的通道分配多一点的链路宽度,比如1.5G。
需要说明的是,在一个实施例中,TS1可以如PCIE标准中的定义所述, 在另一个实施例中TS1也可以为预先设定的有序的数据包序列。
由于根联合体和端点设备的带宽可能不一致,再加上PCIE接口的某些 链路已经损坏,因此,在本步骤中,还要通过向端点设备发送培训序列TS2 有序集,进一步确认该根联合体与端点设备之间的每条可用通道的链路宽 度。
图4所示的过程为PC正接口链路损坏后的链路重新training的过程,通 过重新定义排列通道号,将没有损害的链路再次利用起来,最大限度的提高 PCIE接口链路的利用率。
204:利用分配好通道号的可用通道与所述端点设备进行数据传输。 在本实施例中,根据步骤201,当PCIE接口存在链路损坏时,例如laneO 或lanel5损坏,则重新进行链路初始化定向,在该重新进行的链路初始化定 向过程中,当通过步骤202的检测过程和轮询过程确认存在通过所述PCIE 接口进行物理连接的端点设备,且与所述端点设备的电气功能完好时,还要通过步骤203对该PCIE接口上可用的通道进行通道号的重新分配,让其余 没有损坏的通道进行一次重排序,例如,将原来的通道lanel变为通道laneO, 依此类推,这样,即便由于PCIE接口物理链路中某些通道损坏了,只要其 中还有通道是完好的,那么就可以不间断的将数据传输完毕,并不会造成系 统的死机。
通过本发明实施例的方法,最大限度的使用PCIE接口链路的自适应重 组,合理的利用了协议的规定,使得链路的利用率提高,保证了系统通过 PCIE接口传输数据的稳定性、不中断性,减少了系统整体死机的概率。
实施例三
本发明实施例还提供一种PCIE接口的链路重组装置,以下结合附图对 本实施例进行详细说明。
图5为本实施例的装置组成框图,本实施例的装置可以应用于任何使用 PCIE接口的设备,如图4所示,本实施例的PCIE接口的链路重组装置主要 包括
配置单元51,用于在PCIE接口链路重新初始化定向时,如果存在通过 所述PC正接口进行物理连接的端点设备,且与所述端点设备之间的链路的 电气功能完好时,为连接到所述端点设备的链路的可用通道分配通道号;
处理单元52,用于利用分配好通道号的可用通道与所述端点设备进行数
据传输。
在本实施例中,配置单元51可以包括第一确认模块511、分配模块 512、第二确认模块513,第三确认模块514,其中,
第一确认模块511,用于确认与所述端点设备连接的PCIE接口的可用 通道,例如通过向端点设备发送TS1有序集确认与所述端点设备连接的PCIE 接口的可用通道。
分配模块512,用于在所述第一确认模块511确认与所述端点设备连接 的PCIE接口的可用通道后,对所述PC正接口上的可用通道进行通道编号。需要说明的是,在一个实施例中,分配模块512还可以对通道所在的链 路重新进行链路编号,在另一个实施例中分配模块512也可以不对通道所在 的链路进行链路编号,即使用原来的链路号。
第二确认模块513,用于根据所述PC正接口的带宽以及所述端点设备 的PCIE接口的带宽,确认与所述端点设备之间的总链路宽度。
第三确认模块514,根据根联合体和与其连接的端点设备之间的总链路 宽度,确认该根联合体与所述端点设备之间的每条可用通道的链路宽度
例如,第三确认模块514可以通过向端点设备发送TS2有序集来确认与 所述端点设备之间的每条可用通道的链路宽度。
在本实施例中,该装置还可以进一步包括
触发单元53,用于在PC正接口中出现了通道损坏时,触发PCIE接口 链路的重新初始化定向。
检测单元54,用于在进行PCIE接口链路的重新初始化定向时,测试是 否存在通过所述PCIE接口进行物理连接的端点设备。
轮询单元55,用于在进行PC正接口链路的重新初始化定向吋,测试与 所述端点设备之间的链路的电气功能是否完好。
本实施例的装置的各组成部分分别用于实现前述实施例的方法的各步 骤,在方法实施例中已经对各步骤进行了详细说明,在此不再赘述。
通过本发明实施例的装置,在PCIE接口链路损坏时进行链路动态重组, 提高了 PC正接口链路的可用性和可靠性,最大限度的使用PCIE接口链路 的自适应重组,合理的利用了协议的规定,使得链路的利用率提高,保证了 系统通过PC正接口传输数据的稳定性、不中断性,减少了系统整体死机的 概率。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、 处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存 储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的 任意其它形式的存储介质中。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了 进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已, 并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任 何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种快速外设组件互连PCIE接口的链路重组方法,所述方法应用于通过PCIE接口互连的根联合体和端点设备之间,其特征在于,所述方法包括在根联合体的PCIE接口链路重新初始化定向时,如果存在通过所述PCIE接口进行物理连接的端点设备,且与所述端点设备之间的链路的电气功能完好,则为连接到所述端点设备的PCIE接口链路的可用通道分配通道号;利用分配好通道号的可用通道与所述端点设备进行数据传输。
2. 根据权利要求1所述的方法,其特征在于,所述为连接到所述端点 设备的PCIE接口链路的可用通道分配通道号,包括确认与所述端点设备连接的PCIE接口的可用通道,对所述PCIE接口 上的可用通道进行通道编号;根据所述PCIE接口链路的带宽以及所述端点设备的PCIE接口链路的 带宽确认与所述端点设备之间的总链路宽度;根据根所述总链路宽度,确认与所述端点设备之间的每条可用通道的链 路宽度。
3. 根据权利要求2所述的方法,其特征在于,确认与所述端点设备连 接的PCIE接口的可用通道包括通过发送训练序列TS1有序集确认与所述端点设备连接的PCIE接口的 可用通道。
4. 根据权利要求2所述的方法,其特征在于,确认与所述端点设备之 间的链路宽度包括通过发送培训序列TS2有序集确认与所述端点设备之间的链路宽度。
5. 根据权利要求1所述的方法,其特征在于,所述在PCIE接口链路重 新初始化定向之前还包括如果根联合体的PCIE接口链路中出现了通道损坏,则对所述PC正接 口链路进行重新初始化定向。
6. 根据权利要求5所述的方法,其特征在于,在PCIE接口链路重新初 始化定向时,所述方法还包括通过检测来测试是否存在通过所述PCIE接口进行物理连接的端点设备。
7. 根据权利要求6所述的方法,其特征在于,在PCIE接口链路重新初 始化定向时,所述方法还包括通过轮询来测试与所述端点设备之间的链路的电气功能是否完好。
8. —种PC正接口的链路重组装置,其特征在于,所述装置包括 配置单元,用于在根联合体的PCIE接口链路重新初始化定向时,如果存在通过所述PC正接口进行物理连接的端点设备,且与所述端点设备之间 的链路的电气功能完好时,为连接到所述端点设备的链路的可用通道分配通 道号;处理单元,用于利用分配好通道号的可用通道与所述端点设备进行数据 传输。
9. 根据权利要求8所述的装置,其特征在于,所述配置单元包括-第一确认模块,用于确认与所述端点设备连接的PCIE接口的可用通道; 分配模块,用于在所述第一确认模块确认了 PCIE接口的可用通道后,对所述PCIE接口的可用通道进行通道编号;第二确认模块,用于根据所述PC正接口链路的带宽以及所述端点设备 的PC正接口链路的带宽,确认与所述端点设备之间的总链路宽度;第三确认模块514,用于根据所述总链路宽度,确认与所述端点设备之 间的每条可用通道的链路宽度。
10. 根据权利要求8所述的装置,其特征在于,所述装置还包括触发单元,用于在PC正接口链路中出现了通道损坏时,触发PCIE接口链路重新初始化定向;检测单元,用于在PCIE接口链路重新初始化定向时,测试是否存在通 过所述PC正接口进行物理连接的端点设备;轮询单元,用于在PC正接口链路重新初始化定向时,测试与所述端点 设备之间的链路的电气功能是否完好。
全文摘要
本发明实施例提供一种PCIE接口的链路重组方法和装置,所述方法包括在根联合体的PCIE接口链路重新初始化定向时,如果存在通过所述PCIE接口进行物理连接的端点设备,且与所述端点设备之间的链路的电气功能完好,则为连接到所述端点设备的链路的可用通道分配通道号;利用分配好通道号的可用通道与所述端点设备进行数据传输。通过本发明实施例的方法和装置,最大限度的使用PCIE接口链路的自适应重组,合理的利用了协议的规定,使得链路的利用率提高,保证了系统通过PCIE接口传输数据的稳定性、不中断性,避免了系统整体死机。
文档编号H04L29/02GK101557379SQ20091013939
公开日2009年10月14日 申请日期2009年5月21日 优先权日2009年5月21日
发明者毅 苏 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1