CN104820649A - 一种高速串行异构链路的动态管理方法 - Google Patents
一种高速串行异构链路的动态管理方法 Download PDFInfo
- Publication number
- CN104820649A CN104820649A CN201510183241.9A CN201510183241A CN104820649A CN 104820649 A CN104820649 A CN 104820649A CN 201510183241 A CN201510183241 A CN 201510183241A CN 104820649 A CN104820649 A CN 104820649A
- Authority
- CN
- China
- Prior art keywords
- link
- path
- dynamic management
- transmission path
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种高速串行异构链路的动态管理方法,其特征在于,在完成配置后,对链路进行动态管理,所述动态管理包括:S1:获取通信请求,据此配置链路中各通道的每个通路的状态,将状态信息写入链路两端设备的控制寄存器;S2:链路两端设备的连接控制器分别根据当前通路信息和S1中配置的信息,判断当前链路通道的发送通路和接收通路是否释放或者建立;S3:链路两端设备的配置引擎分别根据S2的结果,回收或拓展某个或某些发送通路和接收通路,实现异构链路;S4:链路两端设备进行数据发送和接收,完成S1中获取的通信请求。本发明创造性地采用了对通路的直接控制,实现了串行链路的异构,可实时调节链路宽度,降低链路功耗。
Description
技术领域
本发明涉及一种高速串行链路的管理方法,具体涉及一种实现高速串行链路的异构链路通信的动态管理方法。
背景技术
目前高速IO通信协议的物理层设计一般采用多通道串行链路,比如PCI Express协议(PCIe)、光纤通道(Fiber Channel)等。在多通道串行链路中,一条链路(link)可包含一条或多条通道(lane),每条通道由两对差分信号线组成双单工的串行传输通路(line),没有专用的数据、地址、控制和时钟线,总线上各种事务组织成信息包来传送。每条通路由相互独立的发送模块(transmitter,TX)和接收模块(receiver,RX)组成,在不同的状态下,物理层具有不同的功耗。
以目前常用的高速串行链路PCI Express协议为例,该协议采用分层的设计理念,由事务层、数据链路层和物理层组成。其中,物理层是PCIe体系结构最重要,也是最难以实现的组成部分。参见附图1所示,为PCIe的物理链路的一个数据通道的示意图,由两组差分信号共4根信号线组成,其中,发送端的TX与接收端的RX使用一组差分信号连接,发送端的RX与接收端的TX使用另一组差分信号连接,由此构成一条通道(Lane),一个PCIe链路可以由多条通道构成。其中,每一端的TX和RX相互独立。
其管理方法是,物理层定义了链路训练状态机(LTSSM),LTSSM通常包括检测状态、轮询状态、配置状态和正常工作状态L0,在没有连接需求时,可以进入L0s、L1、L2这些低功耗状态,热复位状态可以进行设备热复位。PCIe链路使用该状态机管理链路状态,并进行链路训练、链路恢复和电源管理。PCIe链路训练过程,通过一个链路训练状态机(LTSSM)控制一组Lane,每个Lane具有一个TX通路和一个RX通路,这样,每个PCIE Link都具有相同的TX和RX通路个数,每个Lane中的TX和RX处于相同的功耗状态。
链路训练时,将初始化PCIe设备的物理层和相应链路状态,确定链路带宽(X1、X2、X4、X8、X16)和链路速率。链路训练结束后,无硬件问题链路状态信息将固定不可改变。在链路发生异常时,再回到初始状态进行对端设备检测和重新训练。
然而,在实际应用中,经常有链路端点的发送带宽和接收带宽的利用率相差较大的情况。例如,在PCIe系统中,终端设备进行直接内存访问时,以读传输为例,对于64位地址访问,存储器读包长度4DW,而返回包长度最长可为3+1024DW,双向链路带宽需求相差较大。现有技术中的管理方法,对这种链路两端发送带宽需求不对称的情况,仍然提供同样的链路带宽,造成链路带宽的浪费,由此导致链路功耗较大。因此,如何对链路管理方法进行改进,以降低链路功耗,是本领域需要解决的技术问题。
发明内容
本发明的发明目的是提供一种高速串行异构链路的动态管理方法,通过动态的链路管理,使通信链路可以根据负载情况实时改变链路配置,以达到降低链路功耗的目的。
为达到上述发明目的,本发明采用的技术方案是:一种高速串行异构链路的动态管理方法,在高速串行链路完成配置后,对链路进行动态管理,所述动态管理包括下列步骤:
S1:获取通信请求,根据该通信请求配置链路中各通道的每个通路的状态,将状态信息写入链路两端设备的控制寄存器;
S2:链路两端设备的连接控制器分别根据当前通路信息和S1步骤中配置的通路的状态信息,判断当前链路通道的发送通路和接收通路是否释放或者建立;
S3:链路两端设备的配置引擎分别根据S2步骤的结果,回收或拓展某个或某些发送通路和接收通路,实现异构链路;
S4:链路两端设备进行数据发送和接收,完成S1步骤中获取的通信请求。
上述技术方案中,所述步骤S1具体为:
根据应用层信息判断是否可以改变当前链路带宽使用率;当发送通路带宽需求变化大于预设值时,通知设备的连接控制器改变链路发送带宽,并向连接控制器的Tx Line Number寄存器中写入链路信息;
其中,链路两端必须保证两个方向至少各一个发送通路处于正常工作状态。
上文中,所述预设值用于判断带宽需求的变化是否较大,该预设值可根据应用带宽情况来确定链路动态调节的粒度,比如可以一个或几个通道的带宽为调节粒度。
上述技术方案中,所述步骤S2由下列步骤构成:
S21:设备的连接控制器根据寄存器信息判断是否发起通路重配置;
S22:如果需要发起通路重配置,通知事务层和数据链路层进入通路重配置状态,停止发送数据报文;
S23:通知配置引擎进行通路重配置。
上述技术方案中,所述步骤S3由下列步骤构成:
S31:配置引擎判断各通道的发送通路的配置状态;
S32:如果配置为关闭通路时,在相应通路上发送通路关闭序列RCS,同时其他通路发送Idle序列;接收模块在接收到通路关闭序列RCS时,反馈通路关闭确认序列ARCS,并检测发送通路状态决定是否进入关闭;发送通路关闭后,接收通路随即关闭;
S33:如果配置为打开通路时,将相应通路单元由低功耗状态拓展为正常工作状态。
为了完成上述技术方案中链路重配置的过程,需要对链路训练状态机进行相应的设计,初始状态检测,经过检测(Detect)、轮询(Polling)、配置(Configuration)后进入正常工作状态L0,完成链路的初始化。当软件配置进入重配置(Reconfig)状态时,首先工作在正常工作状态L0状态下的链路转入Reconfig状态,然后,在Reconfig状态下,关闭或恢复部分通路。因此,Reconfig状态下,部分通路处于L0状态,部分通路处于关闭状态,形成了高速串行异构链路。特别的,Reconfig状态下可以配置所有通路为关闭状态,实现软件关闭(disable)链路。
由于上述技术方案运用,本发明与现有技术相比具有下列优点:
1、与现有技术中对于同一通道中的两个通路进行同时控制的常规构思不同,本发明创造性地采用了对通路的直接控制,以通路为基本单位,根据应用情况,使同一通道中的两个通路(TX和RX)分别处于正常工作状态和低功耗状态,由此实现了串行链路的异构,可实时调节链路宽度,降低链路功耗。
2、本发明对链路训练状态机(LTSSM)进行了改变,在完成配置后,对链路进行动态控制,在双向数据传输宽度不对称时,进入重配置状态,从而实现了实时的高速串行异构链路的动态管理。
附图说明
图1是PCIe的物理链路的一个数据通道的示意图;
图2是本发明实施例一的异构通信链路示意图;
图3是实施例一中Tx Line Number寄存器的定义图;
图4是实施例一中链路重配置过程发送重配置序列示意图;
图5是实施例一中的链路状态训练机示意图;
图6是实施例二中PCIe DMA读操作示意图;
图7是实施例二中PCIe DMA写操作示意图。
具体实施方式
下面结合附图及实施例对本发明作进一步描述:
实施例一:参见图2所示,一种高速串行异构链路的动态管理方法,在高速串行链路完成配置后,对链路进行动态管理,所述动态管理包括下列步骤:
S1:获取通信请求,控制软件(Software Defined Link)根据该通信请求配置链路中各通道的每个通路(Line)的状态,将状态信息写入链路两端设备的控制寄存器;具体为,
Software Defined Link软件根据应用层信息判断是否可以改变当前链路带宽使用率;当发送通路带宽需求变化大于预设值时,通知设备的连接控制器(Node Link Controller)改变链路发送带宽,并向连接控制器的Tx Line Number寄存器中写入链路信息;
Tx Line Number寄存器定义如图3所示;该寄存器由8bit组成,其中bit0表示动态改变通道的操作(打开/关闭),bit1表示通道改变的使能,bit7:2代表通道改变的通道号。
其中,为了传输ACK报文和流量控制报文,链路两端必须保证两个方向至少各一个发送通路处于正常工作状态。
S2:链路两端设备的连接控制器(Node Link Controller)分别根据当前通路信息和S1步骤中配置的通路的状态信息,判断当前链路通道的发送通路(TX line)和接收通路(RX line)是否释放或者建立;具体为:
S21:设备的连接控制器根据寄存器信息判断是否发起通路重配置;
S22:如果需要发起通路重配置,通知事务层和数据链路层进入通路重配置状态,停止发送数据报文;
S23:通知配置引擎进行通路重配置。
S3:链路两端设备的配置引擎分别根据S2步骤的结果,回收或拓展某个或某些发送通路和接收通路,实现异构链路;参见附图4所示,具体为:
S31:配置引擎判断各通道的发送通路的配置状态;
S32:如果配置为关闭通路时,在相应通路上发送通路关闭序列RCS,同时其他通路发送Idle序列;接收模块在接收到通路关闭序列RCS时,反馈通路关闭确认序列ARCS,并检测发送通路状态决定是否进入关闭;发送通路关闭后,接收通路随即关闭;
S33:如果配置为打开通路时,将相应通路单元由低功耗状态拓展为正常工作状态。
S4:链路两端设备进行数据发送和接收,完成S1步骤中获取的通信请求。
重复上述各步骤,可以实现高速串行异构路的动态管理。
为了完成链路重配置的过程,需要对链路训练状态机进行相应的设计,如图5所示。
初始状态检测Detect,经过检测Detect、轮询Polling、配置Configuration后进入正常工作状态L0,完成链路的初始化。当软件配置进入重配置Reconfig状态时,首先工作在正常工作状态L0状态下的链路转入重配置Reconfig状态。然后,在重配置Reconfig状态下,关闭或恢复部分通路。因此,重配置Reconfig状态下,部分通路处于L0状态,部分通路处于关闭状态,形成了高速串行异构链路。特别的,重配置Reconfig状态下可以配置所有通路为关闭状态,实现软件disable链路。
实施例二:
以PCIe Endpoint设备进行直接内存访问(DMA)为例对本发明作进一步说明。
PCIe的基本结构包括根组件(Root Complex,RC) 、交换器(Switch)和各种终端设备(Endpoint)。
参见附图6所示,为PCIe Endpoint设备进行DMA读传输。
Step1:Endpoint向RC发送DMA读请求包,之后RC返回CPLD包(Completion with Data,即带数据的完成包)。对于64位地址访问,存储器读包长度4DW,CPLD最长可为3+1024DW。双向链路带宽需求相差较大。
Step2:Software defined Link根据当前链路情况向endpoint的 Node Link Controller寄存器中写入“通路重分配”请求和分配状态。通知关闭endpoint的部分发送通路,从而降低设备功耗。
Step3:Endpoint接收到发送通路关闭请求后,首先停止事务层和数据链路层的数据包传输。并在相应通路上发送“通路关闭序列”,无需关闭的通路发送Idle序列。
Step4:Switch接收到通路关闭序列后,返回一个通路关闭应答序列,Endpoint接收到应答序列后通路进入关闭状态。
参见附图7所示,为PCIe Endpoint设备进行DMA写传输。
在以上过程中,Endpoint的部分发送通路被关闭,而如果此时进行DMA写传输,需要重新打开关闭的发送通路。
Software defined Link向endpoint的 Node Link Controller的Tx line control寄存器中写入“通路重分配”请求和分配状态。通知打开endpoint的部分发送通路。Endpoint接收到发送通路打开请求后,首先停止事务层和数据链路层的数据包传输。并对通路进行拓展。
Claims (4)
1. 一种高速串行异构链路的动态管理方法,其特征在于,在高速串行链路完成配置后,对链路进行动态管理,所述动态管理包括下列步骤:
S1:获取通信请求,根据该通信请求配置链路中各通道的每个通路的状态,将状态信息写入链路两端设备的控制寄存器;
S2:链路两端设备的连接控制器分别根据当前通路信息和S1步骤中配置的通路的状态信息,判断当前链路通道的发送通路和接收通路是否释放或者建立;
S3:链路两端设备的配置引擎分别根据S2步骤的结果,回收或拓展某个或某些发送通路和接收通路,实现异构链路;
S4:链路两端设备进行数据发送和接收,完成S1步骤中获取的通信请求。
2. 根据权利要求1所述的高速串行异构链路的动态管理方法,其特征在于,所述步骤S1具体为:
根据应用层信息判断是否可以改变当前链路带宽使用率;当发送通路带宽需求变化大于预设值时,通知设备的连接控制器改变链路发送带宽,并向连接控制器的Tx Line Number寄存器中写入链路信息;
其中,链路两端必须保证两个方向至少各一个发送通路处于正常工作状态。
3. 根据权利要求1所述的高速串行异构链路的动态管理方法,其特征在于,所述步骤S2由下列步骤构成:
S21:设备的连接控制器根据寄存器信息判断是否发起通路重配置;
S22:如果需要发起通路重配置,通知事务层和数据链路层进入通路重配置状态,停止发送数据报文;
S23:通知配置引擎进行通路重配置。
4. 根据权利要求1所述的高速串行异构链路的动态管理方法,其特征在于,所述步骤S3由下列步骤构成:
S31:配置引擎判断各通道的发送通路的配置状态;
S32:如果配置为关闭通路时,在相应通路上发送通路关闭序列RCS,同时其他通路发送Idle序列;接收模块在接收到通路关闭序列RCS时,反馈通路关闭确认序列ARCS,并检测发送通路状态决定是否进入关闭;发送通路关闭后,接收通路随即关闭;
S33:如果配置为打开通路时,将相应通路单元由低功耗状态拓展为正常工作状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510183241.9A CN104820649A (zh) | 2015-04-17 | 2015-04-17 | 一种高速串行异构链路的动态管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510183241.9A CN104820649A (zh) | 2015-04-17 | 2015-04-17 | 一种高速串行异构链路的动态管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104820649A true CN104820649A (zh) | 2015-08-05 |
Family
ID=53730949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510183241.9A Pending CN104820649A (zh) | 2015-04-17 | 2015-04-17 | 一种高速串行异构链路的动态管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104820649A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557379A (zh) * | 2009-05-21 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 一种pcie接口的链路重组方法和装置 |
US20100034210A1 (en) * | 2006-09-06 | 2010-02-11 | Nxp, B.V. | Cluster coupler in a time triggered network |
CN102656574A (zh) * | 2009-12-04 | 2012-09-05 | 意法爱立信有限公司 | 用于可靠链路启动的方法和系统 |
CN103514133A (zh) * | 2013-10-12 | 2014-01-15 | 江苏华丽网络工程有限公司 | 一种用于pcie高速链路管理的方法 |
CN104322033A (zh) * | 2012-06-27 | 2015-01-28 | 英特尔公司 | 使用第二协议的扩展功能结构来控制第一协议的物理链路 |
-
2015
- 2015-04-17 CN CN201510183241.9A patent/CN104820649A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100034210A1 (en) * | 2006-09-06 | 2010-02-11 | Nxp, B.V. | Cluster coupler in a time triggered network |
CN101557379A (zh) * | 2009-05-21 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 一种pcie接口的链路重组方法和装置 |
CN102656574A (zh) * | 2009-12-04 | 2012-09-05 | 意法爱立信有限公司 | 用于可靠链路启动的方法和系统 |
CN104322033A (zh) * | 2012-06-27 | 2015-01-28 | 英特尔公司 | 使用第二协议的扩展功能结构来控制第一协议的物理链路 |
CN103514133A (zh) * | 2013-10-12 | 2014-01-15 | 江苏华丽网络工程有限公司 | 一种用于pcie高速链路管理的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1716474B1 (en) | Adaptive-allocation of i/o bandwidth using a configurable interconnect topology | |
CN102257849B (zh) | 一种动态调整链路的方法、系统及装置 | |
CN100468378C (zh) | Spi设备通信电路 | |
US8228796B2 (en) | Ethernet switching apparatus, and method for reducing power consumption of the same | |
CN102801744B (zh) | 一种通信方法及系统 | |
CN102710424A (zh) | 一种千兆万兆多功能网卡及其实现方法 | |
CN102253914B (zh) | 数据传输处理方法、装置和设备接口 | |
CN100530156C (zh) | 一种主从模块间的控制方法和装置 | |
CN109471824A (zh) | 基于axi总线的数据传输系统及方法 | |
CN206433003U (zh) | 以太网链路切换装置 | |
CN100478935C (zh) | Pcie通道扩展装置、系统及其配置方法 | |
CN105117319A (zh) | 基于fpga实现对多路mdio设备实时监控的方法 | |
GB2536725A (en) | USB connections | |
CN100484071C (zh) | 差分方式变迁编码的方法以及相应的编码和解码系统 | |
US10049076B2 (en) | Methods and systems for implementing high speed serial interface bus having inhomogeneous lane bundles and encodings | |
CN103795520A (zh) | 一种基于fpga报文实时同步方法 | |
CN101478487B (zh) | 以太网交换设备工作速率的控制方法及装置 | |
CN101247305B (zh) | 一种总线系统和数据传输方法 | |
CN108667706A (zh) | 串口数量动态可调的以太网串口服务器及其数据传输方法 | |
CN103823775A (zh) | 一种串口与网口智能转换器 | |
CN112636932B (zh) | 一种设备功耗动态调整方法及系统 | |
CN104243246A (zh) | 一种基于ZigBee技术的FlexRay总线测试与优化方法及装置 | |
CN204883694U (zh) | 级联系统 | |
CN104820649A (zh) | 一种高速串行异构链路的动态管理方法 | |
CN205249496U (zh) | 一种无线通讯终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150805 |