一种高速串行异构链路的动态管理方法

文档序号:8498660阅读:325来源:国知局
一种高速串行异构链路的动态管理方法
【技术领域】
[0001]本发明涉及一种高速串行链路的管理方法,具体涉及一种实现高速串行链路的异构链路通信的动态管理方法。
【背景技术】
[0002]目前高速1通信协议的物理层设计一般采用多通道串行链路,比如PCI Express协议(PCIe)、光纤通道(Fiber Channel)等。在多通道串行链路中,一条链路(link)可包含一条或多条通道(lane),每条通道由两对差分信号线组成双单工的串行传输通路(line),没有专用的数据、地址、控制和时钟线,总线上各种事务组织成信息包来传送。每条通路由相互独立的发送???transmitter,TX)和接收???receiver,RX)组成,在不同的状态下,物理层具有不同的功耗。
[0003]以目前常用的高速串行链路PCI Express协议为例,该协议采用分层的设计理念,由事务层、数据链路层和物理层组成。其中,物理层是PCIe体系结构最重要,也是最难以实现的组成部分。参见附图1所示,为PCIe的物理链路的一个数据通道的示意图,由两组差分信号共4根信号线组成,其中,发送端的TX与接收端的RX使用一组差分信号连接,发送端的RX与接收端的TX使用另一组差分信号连接,由此构成一条通道(Lane),一个PCIe链路可以由多条通道构成。其中,每一端的TX和RX相互独立。
[0004]其管理方法是,物理层定义了链路训练状态机(LTSSM),LTSSM通常包括检测状态、轮询状态、配置状态和正常工作状态L0,在没有连接需求时,可以进入LOs、L1、L2这些低功耗状态,热复位状态可以进行设备热复位。PCIe链路使用该状态机管理链路状态,并进行链路训练、链路恢复和电源管理。PCIe链路训练过程,通过一个链路训练状态机(LTSSM)控制一组Lane,每个Lane具有一个TX通路和一个RX通路,这样,每个PCIE Link都具有相同的TX和RX通路个数,每个Lane中的TX和RX处于相同的功耗状态。
[0005]链路训练时,将初始化PCIe设备的物理层和相应链路状态,确定链路带宽(X1、X2、X4、X8、X16 )和链路速率。链路训练结束后,无硬件问题链路状态信息将固定不可改变。在链路发生异常时,再回到初始状态进行对端设备检测和重新训练。
[0006]然而,在实际应用中,经常有链路端点的发送带宽和接收带宽的利用率相差较大的情况。例如,在PCIe系统中,终端设备进行直接内存访问时,以读传输为例,对于64位地址访问,存储器读包长度4DW,而返回包长度最长可为3+1024DW,双向链路带宽需求相差较大。现有技术中的管理方法,对这种链路两端发送带宽需求不对称的情况,仍然提供同样的链路带宽,造成链路带宽的浪费,由此导致链路功耗较大。因此,如何对链路管理方法进行改进,以降低链路功耗,是本领域需要解决的技术问题。

【发明内容】

[0007]本发明的发明目的是提供一种高速串行异构链路的动态管理方法,通过动态的链路管理,使通信链路可以根据负载情况实时改变链路配置,以达到降低链路功耗的目的。
[0008]为达到上述发明目的,本发明采用的技术方案是:一种高速串行异构链路的动态管理方法,在高速串行链路完成配置后,对链路进行动态管理,所述动态管理包括下列步骤:
S1:获取通信请求,根据该通信请求配置链路中各通道的每个通路的状态,将状态信息写入链路两端设备的控制寄存器;
52:链路两端设备的连接控制器分别根据当前通路信息和SI步骤中配置的通路的状态信息,判断当前链路通道的发送通路和接收通路是否释放或者建立;
53:链路两端设备的配置引擎分别根据S2步骤的结果,回收或拓展某个或某些发送通路和接收通路,实现异构链路;
54:链路两端设备进行数据发送和接收,完成SI步骤中获取的通信请求。
[0009]上述技术方案中,所述步骤SI具体为:
根据应用层信息判断是否可以改变当前链路带宽使用率;当发送通路带宽需求变化大于预设值时,通知设备的连接控制器改变链路发送带宽,并向连接控制器的Tx LineNumber寄存器中写入链路信息;
其中,链路两端必须保证两个方向至少各一个发送通路处于正常工作状态。
[0010]上文中,所述预设值用于判断带宽需求的变化是否较大,该预设值可根据应用带宽情况来确定链路动态调节的粒度,比如可以一个或几个通道的带宽为调节粒度。
[0011]上述技术方案中,所述步骤S2由下列步骤构成:
521:设备的连接控制器根据寄存器信息判断是否发起通路重配置;
522:如果需要发起通路重配置,通知事务层和数据链路层进入通路重配置状态,停止发送数据报文;
523:通知配置引擎进行通路重配置。
[0012]上述技术方案中,所述步骤S3由下列步骤构成:
531:配置引擎判断各通道的发送通路的配置状态;
532:如果配置为关闭通路时,在相应通路上发送通路关闭序列RCS,同时其他通路发送Idle序列;接收??樵诮邮盏酵饭乇招蛄蠷CS时,反馈通路关闭确认序列ARCS,并检测发送通路状态决定是否进入关闭;发送通路关闭后,接收通路随即关闭;
533:如果配置为打开通路时,将相应通路单元由低功耗状态拓展为正常工作状态。
[0013]为了完成上述技术方案中链路重配置的过程,需要对链路训练状态机进行相应的设计,初始状态检测,经过检测(Detect)、轮询(Polling)、配置(Configurat1n)后进入正常工作状态L0,完成链路的初始化。当软件配置进入重配置(Reconfig)状态时,首先工作在正常工作状态LO状态下的链路转入Reconfig状态,然后,在Reconfig状态下,关闭或恢复部分通路。因此,Reconfig状态下,部分通路处于LO状态,部分通路处于关闭状态,形成了高速串行异构链路。特别的,Reconfig状态下可以配置所有通路为关闭状态,实现软件关闭(disable)链路。
[0014]由于上述技术方案运用,本发明与现有技术相比具有下列优点:
1、与现有技术中对于同一通道中的两个通路进行同时控制的常规构思不同,本发明创造性地采用了对通路的直接控制,以通路为基本单位,根据应用情况,使同一通道中的两个通路(TX和RX)分别处于正常工作状态和低功耗状态,由此实现了串行链路的异构,可实时调节链路宽度,降低链路功耗。
[0015]2、本发明对链路训练状态机(LTSSM)进行了改变,在完成配置后,对链路进行动态控制,在双向数据传输宽度不对称时,进入重配置状态,从而实现了实时的高速串行异构链路的动态管理。
【附图说明】
[0016]图1是PCIe的物理链路的一个数据通道的示意图;
图2是本发明实施例一的异构通信链路示意图;
图3是实施例一中Tx Line Number寄存器的定义图;
图4是实施例一中链路重配置过程发送重配置序列示意图;
图5是实施例一中的链路状态训练机示意图;
图6是实施例二中PCIe DMA读操作示意图;
图7是实施例二中PCIe DMA写操作示意图。
【具体实施方式】
[0017]下面结合附图及实施例对本发明作进一步描述:
实施例一:参见图2所不,一种尚速串彳丁异构链路的动态管理方法,在尚速串彳丁链路完成配置后,对链路进行动态管理,所述动态管理包括下列步骤:
S1:获取通信请求,控制软件(Software Defined Link)根据该通信请求配置链路中各通道的每个通路(Line)的状态,将状态信息写入链路两端设备的控制寄存器;具体为,Software Defined Link软件根据应用层信息判断是否可以改变当前链路带宽使用率;当发送通路带宽需求变化大于预设
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im