一种链路参数在线调整的方法与装置与流程

文档序号:11519569阅读:365来源:国知局
一种链路参数在线调整的方法与装置与流程

本发明涉及高速链路技术领域,特别是涉及一种链路参数在线调整的方法与装置。



背景技术:

pcie属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(qos)等功能。它的主要优势就是数据传输速率高,目前最高的16x2.0版本可达到10gb/s,而且还有相当大的发展潜力。pciexpress也有多种规格,从pciexpress1x到pciexpress16x,能满足将来一定时间内出现的低速设备和高速设备的需求。pci-express最新的接口是pcie3.0接口,其比特率为8gb/s,约为上一代产品带宽的两倍。在pcie数据传输率越来越高的情况下,高速链路的误码率越来越高,pcie组织在pcie3.0规范里引入了接收发送均衡的概念,在每一对serdes的接收和发送端都设置有均衡器,均衡器各参数在链路建立的过程中有一步名为链路均衡(linkequalization)的过程,该过程为链路逻辑单元根据当前链路状况将其接收和发送的链路参数调整到最优参数。

但是,在链路建立后的运行过程中,由于环境变化、链路、芯片等不确定因素的变化,初始调整的最优参数并不能完全保证链路在任何情况下的可靠性。也即初始设置的链路参数,可能并不适用于当前链路的要求,若链路仍按照初始设置的链路参数运行,该链路的可靠性会受到影响。

可见,如何保证链路在不同条件下的可靠性,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种链路参数在线调整的方法与装置,可以实现对链路参数的在线调整,以保证链路在不同条件下的可靠性。

为解决上述技术问题,本发明实施例提供一种链路参数在线调整的方法,包括:

根据寄存器中记录的链路错误个数,得到链路错误的目标值;

当所述目标值超过门限值时,则向均衡器发送用于调整链路参数的请求,触发所述均衡器进入链路参数调整模式。

可选的,所述根据寄存器中记录的链路错误个数,得到链路错误的目标值包括:

获取第一时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第一数值;

获取第二时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第二数值;

计算所述第二数值与所述第一数值的差值,并将所述差值作为所述目标值。

可选的,所述根据寄存器中记录的链路错误个数,得到链路错误的目标值包括:

获取寄存器中记录的链路错误个数的数值,并将所述数值作为所述目标值。

可选的,还包括:

统计预定时间内向所述均衡器发送的所述用于调整链路参数命令请求的次数;

若所述次数超过预设值,则停止向所述均衡器发送用于调整链路参数的请求。

本发明实施例还提供一种链路参数在线调整的装置,包括得到单元和发送单元:

所述得到单元,用于根据寄存器中记录的链路错误个数,得到链路错误的目标值;

当所述目标值超过门限值时,则触发所述发送单元,所述发送单元,用于向均衡器发送用于调整链路参数的请求,触发所述均衡器进入链路参数调整模式。

可选的,所述得到单元包括获取子单元和计算子单元:

所述获取子单元,用于获取第一时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第一数值;

所述获取子单元还用于获取第二时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第二数值;

所述计算子单元,用于计算所述第二数值与所述第一数值的差值,并将所述差值作为所述目标值。

可选的,所述得到单元具体用于获取寄存器中记录的链路错误个数的数值,并将所述数值作为目标值。

可选的,还包括统计单元:

所述统计单元,用于统计预定时间内向所述均衡器发送的所述用于调整链路参数命令请求的次数;若所述次数超过预设值,则触发所述发送单元停止向所述均衡器发送用于调整链路参数的请求。

由上述技术方案可以看出,对于两个pcie芯片之间建立的数据传输链路而言,通过pcie链路在线调整逻辑模块可以实时监控两个pcie芯片的寄存器中记录的链路错误个数,根据寄存器中记录的链路错误个数,得到链路错误的目标值,当目标值超过门限值时,说明链路的参数已经不适用于当前链路的需求,通过向均衡器发送用于调整链路参数的请求,来触发均衡器进入链路参数调整模式。可见,通过该技术方案可以实现对链路参数的在线调整,从而保证链路在不同条件下的可靠性。

附图说明

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

图1为本发明实施例提供的一种链路参数在线调整的系统结构示意图;

图2为本发明实施例提供的一种链路参数在线调整的方法的流程图;

图3为本发明实施例提供的一种链路参数在线调整的装置的结构示意图。

具体实施方式

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

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

随着计算机技术的发展,数据传输的规模越来越来大,对数据传输速率的要求也越来越高。pcie是最新的总线和接口标准,具有较高的数据传输速率。pcie总线使用端到端的连接方式,在一条pcie链路的两端只能各连接一个设备,这两个设备互为数据发送端和数据接收端,发送端和接收端都含有发送逻辑(tx)和接收逻辑(rx),如图1所示,在两个pcie芯片,分别为pcie主机(pciehost)和pcie设备(pciedevice),在这两个pcie芯片之间具有一条高速链路。传统方式中,在该链路的建立过程中,可以由pciehost发送端和接收端中设置的均衡器实现对链路参数的调整。

考虑到在链路运行过程中,由于不同因素的影响,可能会出现初始设置的链路参数并不适用于当前链路要求的情况,若链路仍按照初始设置的链路参数运行,通过该链路传输数据时可能会出现传输错误的情况,当错误次数较多时,说明初始设置的链路参数已经不适用于链路的要求,为了保证链路传输数据的可靠性,需要对该链路的链路参数重新进行调整。

为此,本发明实施例提出了一种链路参数在线调整的方法与装置,参见图1所示,通过pcie链路在线调整逻辑模块实现对链路情况的监控,从而在链路可靠性不足的情况下触发pcie芯片中的均衡器进入linkequalization过程,进行链路参数重协商即重新调整链路参数。其中,pciehost和pciedevice芯片中的链路错误记录可以是寄存器记录的链路出现错误的个数,pcie链路在线调整逻辑模块可以依据于获取的错误记录,了解链路出现错误的情况,当出现错误的情况超过设定的条件时,则触发pciehost的均衡器进入linkequalization过程,实现对链路参数的在线调整。

接下来,详细介绍本发明实施例所提供的一种链路参数在线调整的方法。图2为本发明实施例提供的一种链路参数在线调整的方法的流程图,该方法包括:

s201:根据寄存器中记录的链路错误个数,得到链路错误的目标值。

在每个pcie芯片中都有相应的寄存器,该寄存器可以用于记录该链路运行过程中出现错误的个数即链路错误个数,链路运行过程中每出现一次错误该寄存器的值会增加1。在本发明实施例中,可以利用pcie链路在线调整逻辑模块来监控寄存器中数值的变化,从而了解链路的运行情况。

目标值可以用于反映链路运行情况的数值,该目标值与链路错误个数相关,目标值越高,说明链路出现错误的情况越严重。

目标值的计算方式可以有多种,接下来以其中两种方式为例展开介绍。第一种方式,可以是根据某一时间段内寄存器中记录的链路错误个数的变化情况,计算出目标值。依照该种方式计算出的目标值,相当于是误码增长率。具体的,可以获取第一时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第一数值;获取第二时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第二数值;计算所述第二数值与所述第一数值的差值,并将所述差值作为所述目标值。第二种方式,可以是将寄存器中记录的链路错误个数的数值直接作为目标值。

s202:当所述目标值超过门限值时,则向均衡器发送用于调整链路参数的请求,触发所述均衡器进入链路参数调整模式。

门限值可以用于表示触发均衡器进入链路参数调整模式的条件。

根据不同的计算方式可以设置相对应的门限值。以第一种计算方式为例,目标值即为寄存器中记录的链路错误个数的数值,该数值为链路运行过程中出现错误的总次数,相应的该门限值可以设置的较高些,例如,可以设置为8,当寄存器中的错误个数达到8个时,说明此时链路的可靠性已经得不到保证,需要重新进行链路参数的调整,可以触发均衡器进入链路参数调整模式即进入linkequalization过程,重新调整链路参数。相应的,对于第二种计算方式得到的目标值,在设置门限值时可以设置的较低些,例如,可以设置为5。以两个时刻为例,第一时刻寄存器记录的链路错误个数为2个,第二时刻寄存器记录的链路错误个数为8个,在这两个时刻对应的时间段内,链路错误个数的增长为6,超过了门限值5,说明此时链路的可靠性已经得不到保证,需要重新进行链路参数的调整。

在具体实现中,可以通过pcie链路在线调整逻辑模块向pciehost芯片发送用于调整链路参数的请求的方式,来触发所述均衡器进入链路参数调整模式。

参照图1所示的示意图,pcie链路在线调整逻辑模块获取的是两个pcie芯片的错误记录,相应的得到的目标值有两个,在本发明实施例中,将目标值与门限值进行比较,只要这两个目标值中有任意一个目标值超过门限值,则触发均衡器进入链路参数调整模式,进行链路参数的调整。

需要说明的是,在图1所示的两个pcie芯片中,pciehost相当于是一个cpu,该pciehost芯片可以实现对链路参数的调整,pciedevice芯片相当于与pciehost建立链路的一个设备,不参与链路参数的调整,故此,在本发明实施例中,pcie链路在线调整逻辑模块可以只向pciehost芯片发送请求,触发pciehost芯片的均衡器进行链路参数的调整。

由上述技术方案可以看出,对于两个pcie芯片之间建立的数据传输链路而言,通过pcie链路在线调整逻辑模块可以实时监控两个pcie芯片的寄存器中记录的链路错误个数,根据寄存器中记录的链路错误个数,得到链路错误的目标值,当目标值超过门限值时,说明链路的参数已经不适用于当前链路的需求,通过向均衡器发送用于调整链路参数的请求,来触发均衡器进入链路参数调整模式。可见,通过该技术方案可以实现对链路参数的在线调整,从而保证链路在不同条件下的可靠性。

在上述实施例中,pcie链路在线调整逻辑模块每向pciehost芯片发送一次请求,便可触发均衡器进行一次链路参数的调整。当均衡器频繁需要对链路参数进行调整时,则可能会出现链路本身出现问题的情况,也即该链路的可靠性降低可能并非是因为链路参数的不合适,而是两个pcie芯片之间建立的链路本身存在问题。此时,频繁的调整链路参数不仅增加了均衡器的工作强度,并且对提升链路的可靠性没有明显的效果,针对这种情况,可以停止向pciehost芯片发送用于调整链路参数的请求。具体的,可以通过统计预定时间内向所述均衡器发送的所述用于调整链路参数命令请求的次数;若所述次数超过预设值,则停止向所述均衡器发送用于调整链路参数的请求。

其中,预设值可以根据实际情况进行设定,本发明实施例对该预设值的具体数值不做限定。

图3为本发明实施例提供的一种链路参数在线调整的装置的结构示意图,包括得到单元31和发送单元32:

所述得到单元31,用于根据寄存器中记录的链路错误个数,得到链路错误的目标值。

当所述目标值超过门限值时,则触发所述发送单元32,所述发送单元32,用于向均衡器发送用于调整链路参数的请求,触发所述均衡器进入链路参数调整模式。

可选的,所述得到单元包括获取子单元和计算子单元:

所述获取子单元,用于获取第一时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第一数值;

所述获取子单元还用于获取第二时刻所述寄存器中记录的链路错误个数的数值,并将所述数值作为第二数值。

所述计算子单元,用于计算所述第二数值与所述第一数值的差值,并将所述差值作为所述目标值。

可选的,所述得到单元具体用于获取寄存器中记录的链路错误个数的数值,并将所述数值作为目标值。

可选的,还包括统计单元:

所述统计单元,用于统计预定时间内向所述均衡器发送的所述用于调整链路参数命令请求的次数;若所述次数超过预设值,则触发所述发送单元停止向所述均衡器发送用于调整链路参数的请求。

图3所对应实施例中特征的说明可以参见图2所对应实施例的相关说明,这里不再一一赘述。

以上对本发明所提供的一种链路参数在线调整的方法与装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1