掌桥专利:专业的专利平台
掌桥专利
首页

一种PCIE链路管理方法、系统及相关组件

文献发布时间:2023-06-19 09:40:06


一种PCIE链路管理方法、系统及相关组件

技术领域

本申请涉及存储系统领域,特别涉及一种PCIE链路管理方法、系统及相关组件。

背景技术

经济高效地处理与操控海量数据集对存储系统性能的要求超越了基于硬盘的传统存储系统所能提供的性能,鉴于此,JBOF(Just a Bunch Of Flash,全闪存阵列)得到广泛的推广和应用,为了解决JBOF与主机端的连接,一般采用主机端PCIE(PeripheralComponent Interconnect Express,高速串行计算机扩展总线标准)Switch,通过miniSAS线缆连接JBOF,实现支持动态热插入和热拔插,单个miniSAS线缆只能提供x4带宽,为了能发挥JBOF性能,往往要求x16带宽,因此,一般采用4根miniSAS线缆连接JBOF和主机端。考虑到miniSAS PCIE无法同时插入,因此需要重复使能PCIE Switch端口协商链路速率为x16带宽,若在JBOF端没有插好的情况下频繁的link,会造成链路抖动。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

发明内容

本申请的目的是提供一种PCIE链路管理方法、系统、装置及计算机可读存储介质,能够防止频繁的link造成的链路抖动问题,提高了PCIE链路的安全性和可靠性。

为解决上述技术问题,本申请提供了一种PCIE链路管理方法,应用于主机端的PCIE SW驱动,该PCIE链路管理方法包括:

当JBOF端和所述主机端有线缆插入,协商PCIE链路速率为x4;

在x4联通状态下,获取PCIE链路信息,其中,所述PCIE链路信息包括PCIE阻抗、PCIE带宽、所述主机端的线缆的在位状态及所述JBOF端的线缆的在位状态;

根据所有所述在位状态判断各个所述线缆是否均在位;

若是,执行修复操作以重新协商PCIE链路速率为预设速率,并根据所述PCIE阻抗和所述PCIE带宽进行故障监测。

优选的,获取所述主机端的线缆的在位状态的过程包括:

通过轮询获取所述主机端的线缆的在位状态;

相应的,获取所述JBOF端的线缆的在位状态的过程包括:

通过轮询获取所述JBOF端的线缆的在位状态。

优选的,获取PCIE阻抗及PCIE带宽的过程包括:

通过读取所述主机端对应的寄存器的值获取PCIE阻抗及PCIE带宽。

优选的,该PCIE链路管理方法还包括:

记录所有所述在位状态、所述PCIE阻抗及所述PCIE带宽各自对应的日志信息。

优选的,所述线缆为miniSAS线缆。

优选的,所述修复操作包括:

先控制所述主机端的下行端口为无效状态,再控制所述主机端的下行端口为使能状态。

为解决上述技术问题,本申请还提供了一种PCIE链路管理系统,应用于主机端的PCIE SW驱动,该PCIE链路管理系统包括:

协商模块,用于当JBOF端和所述主机端有线缆插入,协商PCIE链路速率为x4;还用于当各个所述线缆均在位,执行修复操作以重新协商PCIE链路速率为预设速率;

获取模块,用于在x4联通状态下,获取PCIE链路信息,其中,所述PCIE链路信息包括PCIE阻抗、PCIE带宽、所述主机端的线缆的在位状态及所述JBOF端的线缆的在位状态;

判断模块,用于根据所有所述在位状态判断各个所述线缆是否均在位,若是,触发所述协商模块和故障监测模块;

所述故障监测模块,用于根据所述PCIE阻抗和所述PCIE带宽进行故障监测。

优选的,该PCIE链路管理系统还包括:

记录模块,用于记录所有所述在位状态、所述PCIE阻抗及所述PCIE带宽各自对应的日志信息。

为解决上述技术问题,本申请还提供了一种PCIE链路管理装置,包括:

存储器,用于存储计算机程序;

设于主机端的第一驱动设备,用于执行所述计算机程序时实现如上文任意一项所述的PCIE链路管理方法的步骤;

JBOF固件,用于获取JBOF端的线缆的在位状态;

设于所述JBOF端的第二驱动设备,用于查询所述JBOF端的线缆的在位状态。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的PCIE链路管理方法的步骤。

本申请提供了一种PCIE链路管理方法,当用户在主机端和JBOF端插入线缆,首先协商PCIE链路速率为x4,通过PCIE特性,在x4联通情况下,获取PCIE链路信息,根据PCIE链路信息中线缆两端的在位状态判断线缆两端是否均插好,均插好后再进行预设速率的链路协商,防止在不知道JBOF端是否插好的情况下频繁的link造成的链路抖动问题,提高了PCIE链路的安全性和可靠性。此外,还通过PCIE阻抗和PCIE带宽进行故障监测,便于线缆故障定位,实现可维护性。本申请还提供了一种PCIE链路管理系统、装置及计算机可读存储介质,具有和上述PCIE链路管理方法相同的有益效果。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请所提供的一种PCIE链路管理方法的步骤流程图;

图2为本申请所提供的一种PCIE状态机速率协商示意图;

图3为本申请所提供的一种PCIE链路管理系统的结构示意图;

图4为本申请所提供的一种PCIE链路管理装置的结构示意图。

具体实施方式

本申请的核心是提供一种PCIE链路管理方法、系统、装置及计算机可读存储介质,能够防止频繁的link造成的链路抖动问题,提高了PCIE链路的安全性和可靠性。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参照图1,图1为本申请所提供的一种PCIE链路管理方法的步骤流程图,应用于主机端的PCIE SW驱动,该PCIE链路管理方法包括:

S101:当JBOF端和主机端有线缆插入,协商PCIE链路速率为x4;

S102:在x4联通状态下,获取PCIE链路信息,其中,PCIE链路信息包括PCIE阻抗、PCIE带宽、主机端的线缆的在位状态及JBOF端的线缆的在位状态;

具体的,当用户插入4根minSAS线缆,考虑到四根minSAS线缆无法同时插入,因此,当首次检测到有minSAS线缆插入,主机端的PCIE SW驱动首先将PCIE链路速率协商为x4,其中,PCIE SW具体指PCIE SWITCH,通过PCIE特性,在X4联通情况下,获取各个线缆两端的在位状态,具体的,可以通过JBOF端的PCIE SW驱动获取JBOF端的线缆的在位状态,由主机端的PCIE SW驱动对主机端的各个线缆的在位状态进行检测,同时读取JBOF端的线缆的在位状态,同时,获取当前PCIE链路的PCIE阻抗和PCIE带宽,其中,在位状态作为速率协商的依据,PCIE阻抗和PCIE带宽作为故障监测的依据。

作为一种优选的实施例,主机端的PCIE SW驱动可以通过轮询的方式获取主机端的线缆的在位状态;相应的,JBOF端的PCIE SW驱动可以通过轮询的方式获取JBOF端的线缆的在位状态。作为一种优选的实施例,可以通过读取主机端对应的寄存器的值获取PCIE阻抗及PCIE带宽。

其中,线缆具体可以为miniSAS线缆。

S103:根据所有在位状态判断各个线缆是否均在位,若是,执行S104;

S104:执行修复操作以重新协商PCIE链路速率为预设速率,并根据PCIE阻抗和PCIE带宽进行故障监测。

具体的,当所有在位状态均为正常,则执行修复操作以重新协商PCIE链路速率为预设速率,预设速率可以为x16,预设速率根据实际工程需要确定即可,本申请在此不做具体地限定。

可以理解的是,当JBOF端和主机端正常连接,但PCIE阻抗为0,则说明该条PCIE链路存在故障。当然,故障的判定条件可以根据实际工程需要确定,本申请在此不做限定。

作为一种优选的实施例,修复操作包括:

先控制主机端的下行端口为无效状态,再控制主机端的下行端口为使能状态。

具体的,PCIE的速率协商一般通过状态机实现,参照图2所示,图2为本申请实施例所提供的一种PCIE状态机速率协商示意图。

PCIE链路训练相关:

正常的PCIE链路训练状态转换流程依次是Detect->Polling->Configuration->L0.L0是PCIE链路可以正常工作的电源状态。

PCIE链路重新训练相关:

这个状态也称为Recovery,Recovery是一个非常重要的链路状态,进入这个状态的因素也很多,比如电源状态的变化,PCIE链路速率的变化等,本申请通过无效disable/使能enable link实现PCIE链路重新训练。

作为一种优选的实施例,该PCIE链路管理方法还包括:

记录所有在位状态、PCIE阻抗及PCIE带宽各自对应的日志信息。

具体的,主机端SW驱动记录miniSAS线缆在位状态,以及JBOF端在位状态和阻抗等日志信息,便于故障后方便定位问题,实现可维护性。

可见,本实施例中当用户在主机端和JBOF端插入线缆,首先协商PCIE链路速率为x4,通过PCIE特性,在x4联通情况下,获取PCIE链路信息,根据PCIE链路信息中线缆两端的在位状态判断线缆两端是否均插好,均插好后再进行预设速率的链路协商,防止在不知道JBOF端是否插好的情况下频繁的link造成的链路抖动问题,提高了PCIE链路的安全性和可靠性。此外,还通过PCIE阻抗和PCIE带宽进行故障监测,便于线缆故障定位,实现可维护性。

请参照图3,图3为本申请所提供的一种PCIE链路管理系统的结构示意图,应用于主机端的PCIE SW驱动,该PCIE链路管理系统包括:

协商模块11,用于当JBOF端和主机端有线缆插入,协商PCIE链路速率为x4;还用于当各个线缆均在位,执行修复操作以重新协商PCIE链路速率为预设速率;

获取模块12,用于在x4联通状态下,获取PCIE链路信息,其中,PCIE链路信息包括PCIE阻抗、PCIE带宽、主机端的线缆的在位状态及JBOF端的线缆的在位状态;

判断模块13,用于根据所有在位状态判断各个线缆是否均在位,若是,触发协商模块11和故障监测模块14;

故障监测模块14,用于根据PCIE阻抗和PCIE带宽进行故障监测。

可见,本实施例中当用户在主机端和JBOF端插入线缆,首先协商PCIE链路速率为x4,通过PCIE特性,在x4联通情况下,获取PCIE链路信息,根据PCIE链路信息中线缆两端的在位状态判断线缆两端是否均插好,均插好后再进行预设速率的链路协商,防止在不知道JBOF端是否插好的情况下频繁的link造成的链路抖动问题,提高了PCIE链路的安全性和可靠性。此外,还通过PCIE阻抗和PCIE带宽进行故障监测,便于线缆故障定位,实现可维护性。

作为一种优选的实施例,该PCIE链路管理系统还包括:

记录模块,用于记录所有在位状态、PCIE阻抗及PCIE带宽各自对应的日志信息。

作为一种优选的实施例,获取主机端的线缆的在位状态的过程包括:

通过轮询获取主机端的线缆的在位状态;

相应的,获取JBOF端的线缆的在位状态的过程包括:

通过轮询获取JBOF端的线缆的在位状态。

作为一种优选的实施例,获取PCIE阻抗及PCIE带宽的过程包括:

通过读取主机端对应的寄存器的值获取PCIE阻抗及PCIE带宽。

作为一种优选的实施例,线缆为miniSAS线缆。

作为一种优选的实施例,修复操作包括:

先控制主机端的下行端口为无效状态,再控制主机端的下行端口为使能状态。

请参照图4,图4为本申请所提供的一种PCIE链路管理装置的结构示意图,该PCIE链路管理装置包括:

存储器21,用于存储计算机程序;

设于主机端的第一驱动设备22,用于执行计算机程序时实现如上文任意一项的PCIE链路管理方法的步骤;

JBOF固件23,用于获取JBOF端的线缆的在位状态;

设于JBOF端的第二驱动设备24,用于查询JBOF端的线缆的在位状态。

对于本申请所提供的一种PCIE链路管理装置的介绍请参照上述实施例,本申请在此不再赘述。

本申请所提供的一种PCIE链路管理装置,具有和上述PCIE链路管理方法相同的有益效果。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一项的PCIE链路管理方法的步骤。

对于本申请所提供的一种计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。

本申请所提供的一种计算机可读存储介质,具有和上述PCIE链路管理方法相同的有益效果。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种PCIE链路管理方法、系统及相关组件
  • 一种PCIE switch引脚电平配置系统、方法及相关组件
技术分类

06120112258294