一种高速串行链路的通道资源回收拓展方法.pdf

上传人:000****221 文档编号:6360040 上传时间:2019-06-04 格式:PDF 页数:10 大小:858.66KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510183299.3

申请日:

2015.04.17

公开号:

CN104915312A

公开日:

2015.09.16

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 13/40申请日:20150417|||公开

IPC分类号:

G06F13/40; G06F13/42

主分类号:

G06F13/40

申请人:

苏州中晟宏芯信息科技有限公司

发明人:

李花芳; 董建波; 刘晓飞; 江涛

地址:

215163江苏省苏州市苏州高新区科技城学森路9号

优先权:

专利代理机构:

苏州创元专利商标事务所有限公司32103

代理人:

陶海锋

PDF下载: PDF下载
内容摘要

本发明公开了一种高速串行链路的通道资源回收拓展方法,当确认通道资源过剩时,本地节点对控制寄存器进行配置,发起链路关闭请求到配置引擎;配置引擎在指定通道上向远程节点发送链路回收请求序列;远程节点修改状态寄存器,并向本地节点返回链路回收确认序列;接收端在收到返回的链路回收确认序列后,修改相应链路的状态寄存器,并通知配置引擎;配置引擎切断相应通道的电源,并通过保留链路发送链路回收结束序列到对方,控制对方配置引擎关闭相应通道。拓展时,通过链路恢复请求开启并同步相应通道。本发明实现了在线运行过程中的带宽控制,允许部分链路通道在线关闭/打开,在满足应用带宽需求的同时,显著降低链路的功耗开销。

权利要求书

权利要求书
1.   一种高速串行链路的通道资源回收方法,对于在本地节点和远程节点间进行通信连接的通道资源进行回收,其特征在于,当确认通道资源过剩时,首先确定可回收通道位置,然后对指定通道进行下列操作:
S1:本地节点:对控制寄存器进行配置,发起链路关闭请求到本地节点的配置引擎;
S2:本地节点:配置引擎收到请求后,在指定通道上向远程节点发送链路回收请求序列;
S3:远程节点:接收到链路回收请求序列后,修改状态寄存器,并向本地节点返回链路回收确认序列;
S4:本地节点:接收端在收到返回的链路回收确认序列后,修改相应链路的状态寄存器,并通知配置引擎;
S5:本地节点:配置引擎切断相应通道的电源,并通过保留链路发送链路回收结束序列到对方,控制对方配置引擎关闭相应通道。

2.   根据权利要求1所述的高速串行链路的通道资源回收方法,其特征在于:
所述S1步骤包括:
1)发送端发送远程能力寄存器读请求,判断对方是否具有部分链路Lane关闭能力;读取对方的链路状态寄存器,判读对方链路是否可以关闭;
2)如果对方具有该能力,则准许修改关闭链路控制寄存器,同时发送执行链路关闭请求给配置引擎。

3.   根据权利要求1所述的高速串行链路的通道资源回收方法,其特征在于:
链路回收序列定义如下,其中COM和REL均为系统保留控制字符;
链路回收请求序列:COM;REL1;REL1;REL1;
链路回收确认序列:COM;REL2;REL2;REL2;
链路回收结束序列:COM;RELF;RELF;RELF。

4.   一种高速串行链路的通道资源拓展方法,对于采用权利要求1所述方法回收的高速串行链路的通道资源进行拓展,其特征在于,对于需要拓展的通道,进行以下操作:
S21:本地节点修改控制寄存器,并发起链路恢复请求到本地节点的配置引擎;
S22:本地节点的配置引擎收到请求后,打开相应被关闭通路的电源,并使用保留通路发送链路恢复请求序列到远程节点;
S23:远程节点接收到链路恢复请求序列后,写入控制寄存器值,并由其控制远程节点的配置引擎打开待恢复通路电源,发送链路恢复确认序列到本地节点;
S24:本地节点在收到链路恢复确认序列后,在刚打开的通路上发送同步序列,重新获取位锁定;
S25:在收到同步返回序列后,由配置引擎通知配置逻辑将数据重新转发到已恢复链路上。

5.   根据权利要求4所述的高速串行链路的通道资源拓展方法,其特征在于:
S21步骤具体包括以下步骤:
1)通过本地软件接口,读取能力寄存器和状态寄存器,判断本地端口是否可以进行链路恢复操作;
2)通过保留通路读取对方能力寄存器和状态寄存器,判断对方是否支持链路恢复操作;
3)如果双方端口都可以进行链路恢复操作,则对控制寄存器进行配置,并发起链路恢复请求到配置引擎。

6.   根据权利要求4所述的高速串行链路的通道资源拓展方法,其特征在于:
S22步骤具体包括以下步骤:
1)本地配置引擎收到链路恢复请求后,根据控制寄存器的设定,打开相应通路的电源;
2)本地配置引擎通过保留通路,发送链路恢复请求,其中包含控制寄存器值。

7.   根据权利要求4所述的高速串行链路的通道资源拓展方法,其特征在于:
S24步骤具体包括以下步骤:
1)在收到链路恢复确认序列后,待恢复链路的电源均已打开;配置引擎在已打开的通路商发送同步序列TS1,使对方重新获取位锁定;
2)对方端口在收到同步序列TS1后,返回同步确认序列TS2,使本地端口重新获取位锁定。

说明书

说明书一种高速串行链路的通道资源回收拓展方法
技术领域
本发明涉及一种高速串行链路的管理方法,具体涉及一种对高速串行链路的通道资源进行回收拓展的管理方法。
背景技术
目前高速IO通信协议的物理层设计一般采用多通道串行链路,比如PCI Express协议(PCIe)、光纤通道(Fiber Channel)等。在多通道串行链路中,一条链路(link)可包含一条或多条通道(lane),每条通道由两对差分信号线组成双单工的串行传输通路(line),没有专用的数据、地址、控制和时钟线,总线上各种事务组织成信息包来传送。每条通路由相互独立的发送模块(transmitter,TX)和接收模块(receiver,RX)组成,在不同的状态下,物理层具有不同的功耗。
以目前常用的高速串行链路PCI Express协议为例,高速串行通路物理层Serdes在工作在不同功耗状态下的数据如表1所示。
表1:高速Serdes的功耗数据

参见表1可知,在40nm工艺下,如果把空闲通道的状态由L0调整为L0s,则功耗下降接近40%。(1-55/90=38.9%)。在任何工艺下,如果把空闲通道的状态由L0调整为L2,则功耗下降超过95%。(1-6/125=95.2%)。因此通过调整空闲通道的状态来可以有效降低功耗。
PCIe链路可能由多个Lane构成。现有技术中,PCIe设备在启动之初,在链路两端通过链路训练状态机(LTSSM)进行宽度的协商。如果8个Lane均正常工作,则为8×链路;否则,依次降级尝试4×、2×、1×等宽度。一旦链路宽度确定,在链路正常工作期间均不能改变。这种协议设计具有以下不足:1)缺乏灵活性,不具有对程序特征的适应性。为了满足所有应用的带宽需求,通信协议一般依据最坏条件(worst case)的链路需求进行设计。2)没有提供相应接口,使得协议能够根据当前应用状态来重新配置链路的带宽,造成资源和功耗的浪费。3)链路宽度的协商完全由硬件决定,系统管理员不能对其进行重新设定,不能对链路的带宽/功耗进行优化。
为了改变链路宽度,一种方法是,根据传输需求进行重训练。例如,美国专利申请US2013/0067127A1公开的方法,通过链路重训练方法,可以使链路在不同传输速度之间进行切换。但是,该方法着眼于解决整个链路在运行时,流量变化情况下,调整数据传输速度,关键技术在于链路重训练过程,其需要对整个链路同时操作,无法实现通道资源的局部回收与拓展。
发明内容
本发明的发明目的是提供一种高速串行链路的通道资源回收方法和拓展方法,使用通道资源的回收和拓展机制实现根据程序特征实时调整通道的功耗状态。
为达到上述发明目的,本发明采用的技术方案是:一种高速串行链路的通道资源回收方法,对于在本地节点和远程节点间进行通信连接的通道资源进行回收,当确认通道资源过剩时,首先确定可回收通道位置,然后对指定通道进行下列操作:
S1:本地节点:对控制寄存器进行配置,发起链路关闭请求到本地节点的配置引擎;
S2:本地节点:配置引擎收到请求后,在指定通道上向远程节点发送链路回收请求序列;
S3:远程节点:接收到链路回收请求序列后,修改状态寄存器,并向本地节点返回链路回收确认序列;
S4:本地节点:接收端在收到返回的链路回收确认序列后,修改相应链路的状态寄存器,并通知配置引擎;
S5:本地节点:配置引擎切断相应通道的电源,并通过保留链路发送链路回收结束序列到对方,控制对方配置引擎关闭相应通道。
上述技术方案中,所述S1步骤包括:
1)发送端发送远程能力寄存器读请求,判断对方是否具有部分链路Lane关闭能力;读取对方的链路状态寄存器,判读对方链路是否可以关闭;
2)如果对方具有该能力,则准许修改关闭链路控制寄存器,同时发送执行链路关闭请求给配置引擎。
链路回收序列定义如下,其中COM和REL均为系统保留控制字符;
链路回收请求序列:COM;REL1;REL1;REL1;
链路回收确认序列:COM;REL2;REL2;REL2;
链路回收结束序列:COM;RELF;RELF;RELF。
一种高速串行链路的通道资源拓展方法,对于采用权利要求1所述方法回收的高速串行链路的通道资源进行拓展,对于需要拓展的通道,进行以下操作:
S21:本地节点修改控制寄存器,并发起链路恢复请求到本地节点的配置引擎;
S22:本地节点的配置引擎收到请求后,打开相应被关闭通路的电源,并使用保留通路发送链路恢复请求序列到远程节点;
S23:远程节点接收到链路恢复请求序列后,写入控制寄存器值,并由其控制远程节点的配置引擎打开待恢复通路电源,发送链路恢复确认序列到本地节点;
S24:本地节点在收到链路恢复确认序列后,在刚打开的通路上发送同步序列,重新获取位锁定(Bit/Symbol Lock);
S25:在收到同步返回序列后,由配置引擎通知配置逻辑(Configurable Logic)将数据重新转发到已恢复链路上。
上述技术方案中,S21步骤具体包括以下步骤:
1)通过本地软件接口,读取能力寄存器和状态寄存器,判断本地端口是否可以进行链路恢复操作;
2)通过保留通路读取对方能力寄存器和状态寄存器,判断对方是否支持链路恢复操作;
3)如果双方端口都可以进行链路恢复操作,则对控制寄存器进行配置,并发起链路恢复请求到配置引擎。
S22步骤具体包括以下步骤:
1)本地配置引擎收到链路恢复请求后,根据控制寄存器的设定,打开相应通路的电源;
2)本地配置引擎通过保留通路,发送链路恢复请求,其中包含控制寄存器值。
S24步骤具体包括以下步骤:
1)在收到链路恢复确认序列后,待恢复链路的电源均已打开;配置引擎在已打开的通路商发送同步序列TS1,使对方重新获取Bit/Symbol Lock;
2)对方端口在收到同步序列TS1后,返回同步确认序列TS2,使本地端口重新获取Bit/Symbol Lock。
由于上述技术方案运用,本发明与现有技术相比具有下列优点:
1、本发明通过对数据链路中的部分通道的回收和拓展,实现了在线运行过程中的带宽控制,允许部分链路通道在线关闭/打开,在满足应用带宽需求的同时,显著降低链路的功耗开销。
2、本发明能实现根据特定字符序列自我下调数据链路通道,例如×8链路,如果1-4号通道关闭,数据会自动转向5-8号通道;例如×4链路,如果1-4号通道恢复,数据会自动转向1-8号通道。通过通道配置逻辑,实现开启通路回收和待开启通道无缝拓展到正常工作状态的链路中。
附图说明
图1是本发明实施例一中通道资源回收机制示意图;
图2是本发明实施例二中通道资源拓展机制示意图;
图3是实施例三中链路拓展机制结构图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例一:如图1所示是通道资源回收机制示意图,本方案包括下几个步骤:
Step1:本地节点:系统管理员通过本方案提供的软件接口,对控制寄存器进行配置,发起链路关闭请求到配置引擎(Config Engine)。该步骤具体可以包括:
1)发送端发送远程能力寄存器读请求,判断对方是否具有部分链路Lane关闭能力;读取对方的链路状态寄存器,判读对方链路是否可以关闭;
2)如果对方具有该能力,则准许修改关闭链路控制寄存器,同时发送执行链路关闭请求给配置引擎;
Step2:本地节点:配置引擎收到请求后,在指定Lane上发送链路回收序列;序列定义如下表所示,其中COM和REL均为系统保留控制字符;
链路回收请求序列COMREL1REL1REL1链路回收确认序列COMREL2REL2REL2链路回收结束序列COMRELFRELFRELF
Step3:远程节点:接收到链路回收序列后,修改状态寄存器,并返回链路回收确认序列;
Step4:本地节点:接收端在收到返回的链路回收确认序列后,修改相应链路的状态寄存器,并通知配置引擎Config Engine;
Step5:本地节点:配置引擎切断相应Lane的电源,并通过保留链路发送链路关闭序列到对方,控制对方配置引擎关闭相应链路。
实施例二:
如图2所示是通道资源拓展机制示意图,本方案包括下几个步骤:
Step1:系统管理员通过本方案提供的软件接口修改控制寄存器,并发起链路恢复请求到配置引擎(Config Engine),具体包括以下步骤
1)通过本地软件接口,读取能力寄存器和状态寄存器,判断本地端口是否可以进行链路恢复操作;
2)通过保留通路读取对方能力寄存器和状态寄存器,判断对方是否支持链路恢复操作;
3)如果双方端口都可以进行链路恢复操作,则对控制寄存器进行配置,并发起链路恢复请求到配置引擎(Config Engine)
Step2:配置引擎收到请求后,打开相应被关闭通路的电源,并使用保留通路发送链路恢复序列到对方;
1)本地配置引擎收到链路恢复请求后,根据控制寄存器的设定,打开相应通路的电源;
2)本地配置引擎通过保留通路,发送链路恢复请求,其中包括控制寄存器值;
3)远程端口接收到链路恢复序列后,写入控制寄存器值,并由其控制引擎打开待恢复通路电源,发送链路恢复确认序列
Step3:在收到链路恢复确认序列后,在刚打开的通路上发送同步序列,重新获取Bit/Symbol Lock;
1)在收到链路恢复确认序列后,待恢复链路的电源均已打开;配置引擎在已打开的通路商发送同步序列TS1,使对方重新获取Bit/Symbol Lock;
2)对方端口在收到同步序列TS1后,返回同步确认序列TS2,使本地端口重新获取Bit/Symbol Lock;
Step4:在收到同步返回序列后,由配置引擎通知Configurable Logic将数据重新转发到已恢复链路上。
实施例三:
以PCIe为例,首先,定义一组REL字符序列,使LTSSM进入链路回收状态。REL序列由MAC模块产生,发送给相应链路中每一个正在L0状态工作的Lane。REL序列中包含即将关闭的Lane number以及即将关闭的Lane接下来转入的工作状态(L0’, L0s, L1,L2或者L3),其中L3为本发明实施中新添加的PCIe链路工作状态,该状态通过切断电源关闭通道,更有效的降低功耗。下表所示为×8链路进行通路回收时所发送的序列,在发送某个完整DLP包后,根据软件控制向各通道发送REL字符序列。在REL序列后需要向各通道发送一定数量(4-8个)的IDLE序列,以便链路回收工作完成。链路回收序列发完以后,lane0-lane3的4条通道被回收。×8链路调整为×4链路。

进行拓展时,参见附图3所示,通过配置txbuf读控制逻辑时序,以及Shift Registers的移位操作位数,可以达到多个逻辑Lane向一个或多个物理Lane发放数据的目的。同理,配置rxbuf写控制逻辑时序,以及Shift Registers的移位操作,可以达到一个或多个物理Lane向全部逻辑Lane发送数据的目的。
链路拓展请求序列COMREC1REC1REC1链路拓展确认序列COMREC2REC2REC2链路同步请求序列COMRESYN1RESYN1RESYN1链路同步确认序列COMRESYN1RESYN1RESYN1
由此,本实施例实现了部分通道的实时回收和拓展,从而有效降低了链路功耗。

一种高速串行链路的通道资源回收拓展方法.pdf_第1页
第1页 / 共10页
一种高速串行链路的通道资源回收拓展方法.pdf_第2页
第2页 / 共10页
一种高速串行链路的通道资源回收拓展方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种高速串行链路的通道资源回收拓展方法.pdf》由会员分享,可在线阅读,更多相关《一种高速串行链路的通道资源回收拓展方法.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明公开了一种高速串行链路的通道资源回收拓展方法,当确认通道资源过剩时,本地节点对控制寄存器进行配置,发起链路关闭请求到配置引擎;配置引擎在指定通道上向远程节点发送链路回收请求序列;远程节点修改状态寄存器,并向本地节点返回链路回收确认序列;接收端在收到返回的链路回收确认序列后,修改相应链路的状态寄存器,并通知配置引擎;配置引擎切断相应通道的电源,并通过保留链路发送链路回收结束序列到对方,控制对方。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1