一种PCIe设备动态功耗节省方法以及低功耗PCIe设备与流程

文档序号:20683060发布日期:2020-05-08 18:35阅读:1471来源:国知局
一种PCIe设备动态功耗节省方法以及低功耗PCIe设备与流程

本发明涉及设备功耗管理技术领域,特别涉及一种pcie设备动态功耗节省方法以及低功耗pcie设备。



背景技术:

pcie(peripheralcomponentinterconnectexpress)是一种高速串行计算机扩展总线,自2001年由英特尔提出以来,在约20年的时间内得到了长足的发展,其以传输速度快(不断满足日益增长的传输带宽需求),端到端的可靠性传输、支持热拔插、低功耗管理及服务质量等特性在个人计算机、服务器、固态硬盘、数据中心等领域得到了青睐和广泛应用,并助力上述各领域飞速发展。

pcie协议2.0版本中规定了pcie电源管理分为两种模式,即pci-pm(powermanagement,电源管理)和aspm(activestatepowermanagement,活动状态电源管理)。其中pci-pm是为了向前兼容pci协议,是pcie主机侧主动发起的电源管理行为,其子状态包含d0状态、d1状态、d2状态、d3hot状态、d3cold状态。而aspm电源管理状态分为l0、l0s、l1、l2、l3状态。自pcie协议3.0版本开始,aspm状态增加l1子状态l1.1和l1.2状态,以更好的支持低功耗电源管理。

在pcie设备中,功耗问题越来越突出,性能的提升也带来了功耗的增加,如何提高pcie设备在不同电源状态下的功耗管理效率,高效节省电能,并最大努力的减少进入、退出不同电源状态的延时,是现如今需要解决的问题。



技术实现要素:

为解决上述技术问题,本发明提供一种pcie设备动态功耗节省方法以及低功耗pcie设备,能够使pcie设备在不同电源管理状态下,通过pcie应用层配合pcie链路层不同低功耗状态进行电源管理联动控制以获得高效的动态功耗管理效率。

本发明一方面提供一种pcie设备动态功耗节省方法,包括:

识别pcie链路所处于的低功耗电源管理状态;

根据所识别的pcie链路的低功耗电源管理状态,生成对应的低功耗电源管理状态的指示信号;

根据所述低功耗电源管理状态的指示信号,控制pcie应用层进入对应的应用层低功耗电源管理状态。

优选地,所述根据所述低功耗电源管理状态的指示信号,控制pcie应用层进入对应的应用层低功耗电源管理状态,包括:

根据所述低功耗电源管理状态的指示信号,控制pcie应用层时钟域进入对应的应用层时钟域低功耗电源管理状态;

和/或,

根据所述低功耗电源管理状态的指示信号,控制pcie应用层电源域进入对应的应用层电源域低功耗电源管理状态。

优选地,所述根据所述低功耗电源管理状态的指示信号,控制pcie应用层时钟域进入对应的应用层时钟域低功耗电源管理状态,包括:

根据所述低功耗电源管理状态的指示信号,生成低电平的门控时钟的使能信号;

通过所述低电平的门控时钟的使能信号,控制pcie应用层时钟进入关断状态。

优选地,其中,所识别的pcie链路的低功耗电源管理状态包括待机状态、低功耗待机状态、电源关闭阶段状态、低功耗休眠状态、关闭电源状态。

优选地,所述根据所述低功耗电源管理状态的指示信号,控制pcie应用层电源域进入对应的应用层电源域低功耗电源管理状态,包括:

根据pcie链路处于待机状态的指示信号,使pcie应用层的全部的电源开关为开启状态;

根据pcie链路处于低功耗待机状态的指示信号,使pcie应用层的寄存器及命令获取解析模块的电源开关为开启状态,并控制pcie应用层的除所述寄存器及命令获取解析模块以外的电源开关进入关闭状态;

根据pcie链路处于电源关闭阶段状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态;

根据pcie链路处于低功耗休眠状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态;

根据pcie链路处于关闭电源状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态。

本发明另一方面提供一种低功耗pcie设备,包括:

状态识别模块,用于识别pcie链路所处于的低功耗电源管理状态;

信号生成模块,用于根据所识别的pcie链路的低功耗电源管理状态,生成对应的低功耗电源管理状态的指示信号;

电源控制模块,用于根据所述低功耗电源管理状态的指示信号,控制pcie应用层进入对应的应用层低功耗电源管理状态。

优选地,所述电源控制模块包括:

时钟控制单元,用于根据所述低功耗电源管理状态的指示信号,控制pcie应用层时钟域进入对应的应用层时钟域低功耗电源管理状态;

和/或,

电源域控制单元,用于根据所述低功耗电源管理状态的指示信号,控制pcie应用层电源域进入对应的应用层电源域低功耗电源管理状态。

优选地,所述时钟域控制单元包括:

信号生成子单元,用于根据所述低功耗电源管理状态的指示信号,生成低电平的门控时钟的使能信号;

时钟关断子单元,用于通过所述低电平的门控时钟的使能信号,控制pcie应用层时钟进入关断状态。

优选地,所述状态识别模块所识别的pcie链路的低功耗电源管理状态包括:待机状态、低功耗待机状态、电源关闭阶段状态、低功耗休眠状态、关闭电源状态。

优选地,所述电源域控制单元包括:

第一电源域控制子单元,用于根据pcie链路处于待机状态的指示信号,使pcie应用层的全部的电源开关为开启状态;

第二电源域控制子单元,用于根据pcie链路处于低功耗待机状态的指示信号,使pcie应用层的寄存器及命令获取解析模块的电源开关为开启状态,并控制pcie应用层的除所述寄存器及命令获取解析模块以外的电源开关进入关闭状态;

第三电源域控制子单元,用于根据pcie链路处于电源关闭阶段状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态;

第四电源域控制子单元,用于根据pcie链路处于低功耗休眠状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态;

第五电源域控制子单元,用于根据pcie链路处于关闭电源状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态。

本发明至少具有以下有益效果:

本发明通过检测到的根据低功耗电源管理状态下生成的对应的低功耗电源管理状态的指示信号,自主控制pcie应用层进入对应的应用层低功耗电源管理状态,通过pcie应用层配合pcie链路层不同低功耗状态进行电源管理联动控制,可以获得高效的动态功耗管理效率,节省功耗。

附图说明

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

图1为一种pcie协议分层结构图;

图2为本发明实施例提供的一种pcie设备动态功耗节省方法的流程示意图;

图3为本发明实施例提供的另一种pcie设备动态功耗节省方法的流程示意图;

图4为本发明实施例提供的一种应用层时钟关断电路的电路图;

图5为本发明实施例提供的又一种pcie设备动态功耗节省方法的流程示意图;

图6为本发明实施例提供的一种低功耗pcie设备的结构示意图。

具体实施方式

本发明的核心是提供一种pcie设备动态功耗节省方法以及低功耗pcie设备,能够使pcie设备在不同电源管理状态下,通过pcie应用层配合pcie链路层不同低功耗状态进行电源管理联动控制以获得高效的动态功耗管理效率,从而节省功耗。

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

需要说明的是,如图1所示,pcie设备根据协议功能通常可以划分为应用层、传输层、数据链路层和物理层,各层使用专用的协议架构,方便对等的协议层解析数据包,每一层按照pcie的协议对数据包进行封装或者拆包。其中,物理层主要把数据链路层传输来的数据包转换为高速串行比特流发送给接收方,同时还把接收方发送过来的高速比特流转换为并行数据,然后传递给数据链路层;数据链路层主要负责确保数据包的传递、差错检测、数据包重传、数据流控制和电源管理事务;传输层主要完成数据包的封包和拆包;应用层用于主要向传输层发送数据包或者接收来自传输层的数据包,然后根据数据包的类型作出相应的事务操作。

本发明实施例一方面提供一种pcie设备动态功耗节省方法,请参阅图2,该方法包括:

步骤s110、识别pcie链路所处于的低功耗电源管理状态。

步骤s120、根据所识别的pcie链路的低功耗电源管理状态,生成对应的低功耗电源管理状态的指示信号。

本发明实施例中,首先判断pcie链路是否处于低功耗电源管理状态,如果是,则根据pcie链路所处于的低功耗电源管理状态,生成对应的低功耗电源管理状态的指示信号。

步骤s130、根据低功耗电源管理状态的指示信号,控制pcie应用层进入对应的应用层低功耗电源管理状态。

具体的,控制pcie应用层进入对应的应用层低功耗电源管理状态,可以包括控制pcie应用层时钟域进入对应的应用层时钟域低功耗电源管理状态,也可以包括控制pcie应用层电源域进入对应的应用层电源域低功耗电源管理状态,或者两者同时都有。

本发明实施例中,当pcie链路处于低功耗电源管理状态下时,pcie设备已处于空闲状态。此时根据检测到的低功耗电源管理状态下生成的对应的低功耗电源管理状态的指示信号,可以控制pcie应用层时钟域进入对应的应用层时钟域低功耗电源管理状态,以及控制pcie应用层电源域进入对应的应用层电源域低功耗电源管理状态。如此,通过pcie应用层配合pcie链路层低功耗状态进行电源管理联动控制,可以获得高效的动态功耗管理效率,从而节省功耗。

具体实施时,所识别的pcie链路的低功耗电源管理状态可以包括待机状态l0s、低功耗待机状态l1、电源关闭阶段状态l1sub、低功耗休眠状态l2和关闭电源状态l3。其中,根据pcie协议,pcie电源管理分为pm和aspm,当pm的值为d0时,pcieaspm电源管理策略运行,由设备端自主管理电源,此时pcie链路的低功耗电源管理状态可能是待机状态l0s、低功耗待机状态l1、电源关闭阶段状态l1sub、低功耗休眠状态l2和关闭电源状态l3;当pm的值为非d0时,pciepm电源管理策略运行,由主机端主导低功耗策略,此时pcie链路的低功耗电源管理状态可能是低功耗待机状态l1、电源关闭阶段状态l1sub、低功耗休眠状态l2和关闭电源状态l3。

下面,结合附图具体描述在本发明实施例中,控制pcie应用层时钟域进入对应的应用层时钟域低功耗电源管理状态的流程。如图3所示:

在步骤s210中,识别pcie链路所处于的低功耗电源管理状态。

在步骤s221中,当判断pcie链路处于待机状态l0s时,生成第一指示信号;在步骤s222中,当判断pcie链路处于低功耗待机状态l1时,生成第二指示信号;在步骤s223中,当判断pcie链路处于电源关闭阶段状态l1sub时,生成第三指示信号;在步骤s224中,当判断pcie链路处于低功耗休眠状态l2时,生成第四指示信号;在步骤s225中,当pcie链路处于关闭电源状态l3时,生成第五指示信号。

在步骤s230中,根据低功耗电源管理状态的指示信号,生成低电平的门控时钟的使能信号;通过低电平的门控时钟的使能信号,控制pcie应用层时钟进入关断状态。

本发明实施例中,当pcie链路处于低功耗电源管理状态下时,pcie设备已处于空闲状态,且pcie链路退出低功耗电源管理状态时应用层的时钟可以快速恢复,此时可以根据任意一种低功耗电源管理状态的指示信号生成低电平的门控时钟的使能信号,以关断pcie设备的传输层和应用层对接的逻辑电路以及pcie设备应用层时钟,从而降低功耗。

具体的,图4示出了本发明实施例提供的一种应用层时钟的关断电路。其中,pm_linkst_in_l0s是pcie链路处于待机状态l0s时生成的第一指示信号,pm_linkst_in_l1是pcie链路处于低功耗待机状态l1时生成的第二指示信号,pm_linkst_in_l1sub是pcie链路处于电源关闭阶段状态l1sub时生成的第三指示信号,pm_linkst_in_l2是pcie链路处于低功耗休眠状态l2时生成的第四指示信号,pm_linkst_in_l3是pcie链路处于关闭电源状态l3时生成的第五指示信号。

本发明实施例中,将低功耗电源管理状态下对应的五种指示信号相或产生pcie_app_clk门控时钟的使能信号pcie_app_clk_gate_en,门控后的时钟信号为pcie_app_clk_g。当门控时钟的使能信号pcie_app_clk_gate_en为高电平时,门控时钟开启,pcie_app_clk_g有效,当pcie_app_clk_gate_en为低电平时,门控时钟被关断,pcie_app_clk_g无效。也就是说,只要pcie链路处于以上五种低功耗电源管理状态中的任意一种,则门控时钟的使能信号pcie_app_clk_gate_en为低电平,门控时钟信号pcie_app_clk_g被关断,控制pcie参考时钟进入关断状态,以达到动态省电的目的。

在具体实施时,pcie应用层可以是nvme(non-volatilememoryexpress,非易失性内存主机控制器接口)或ahci(advancedhostcontrollerinterface,高级主机控制器接口)。其中,nvme与ahci一样都是逻辑设备接口标准。但是与ahci相比,nvme是使用pcie通道的ssd一种规范,nvme的设计之初就有充分利用到pciessd的低延时以及并行性,还有当代处理器、平台与应用的并行性。ssd的并行性可以充分被主机的硬件与软件充分利用,相比与现在的ahci标准,nvme标准可以带来多方面的性能提升。

本发明实施例中,当pcie链路处于低功耗电源管理状态下时,pcie设备已处于空闲状态,但是pcie链路退出低功耗电源管理状态时应用层从关闭电源到开启电源需要一段时间,功耗越低,进入退出该低功耗状态的延时也就越大,因此可以在进入退出延时满足协议要求的情况下,根据不同的低功耗电源管理状态分别对应用层电源域进行处理,尽可能降低功耗。

下面,以pcie应用层是nvme为例,具体描述在本发明实施例中,控制pcie应用层电源域进入对应的应用层电源域低功耗电源管理状态的流程。如图5所示:

在步骤s310中,识别pcie链路所处于的低功耗电源管理状态。

在步骤s321中,当判断pcie链路处于待机状态l0s时,生成第一指示信号;在步骤s322中,当判断pcie链路处于低功耗待机状态l1时,生成第二指示信号;在步骤s323中,当判断pcie链路处于电源关闭阶段状态l1sub时,生成第三指示信号;在步骤s324中,当判断pcie链路处于低功耗休眠状态l2时,生成第四指示信号;在步骤s325中,当pcie链路处于关闭电源状态l3时,生成第五指示信号。

根据pcie链路处于待机状态l0s时的第一指示信号,执行步骤s331,使pcie应用层的全部的电源开关为开启状态。本实施例中,pcie链路处于l0s状态主要用于降低功耗,在总线空闲的时候可以进入该状态,且从该状态可以迅速地重新切换回完全活动状态l0。pcie链路处于l0s状态下的进入退出延时很短,故该状态下应用层电源域全开。

根据pcie链路处于低功耗待机状态l1时的第二指示信号,执行步骤s332,使pcie应用层的寄存器及命令获取解析模块的电源开关为开启状态,并控制pcie应用层的除所述寄存器及命令获取解析模块以外的电源开关进入关闭状态。本实施例中,相对于l0s状态,pcie链路处于l1状态下的功耗更低,进入l1状态需要pcie链路两端的pcie设备进行“沟通”,只有双方都“同意”进入该状态,pcie链路才会进入该状态。pcie链路处于l1状态下的进入退出延时较短,故关闭nvmecore相关的dma(directmemoryaccess,直接内存存取)engine,buffer,nvme和后端buffer或者ddr(doubledatarate,双倍速率同步动态随机存储器)相关的nvmebridge等的电源开关,只保留queuefetch及解析相关和cpudma命令处理相关的逻辑的电源开关,确保在l1状态下退出时能够以最快的速度收取命令,并将命令进行解析,以降低系统的退出延时。

根据pcie链路处于电源关闭阶段状态l1sub时的第三指示信号,执行步骤s333,控制pcie应用层的全部的电源开关进入关闭状态。本实施例中,pcie链路处于l1sub状态下的进入退出延时较大,此时关闭nvme整个电源域,pcie内核已断电、phy已断电,系统主电源还在工作,同时关闭pcie应用层时钟pll。

根据pcie链路处于低功耗休眠状态l2时的第四指示信号,执行步骤s334,控制pcie应用层的全部的电源开关进入关闭状态。本实施例中,pcie链路处于l2状态时,系统已工作在备用电源域,nvme已全部断电,pcie内核已断电、phy已断电,同时关闭pcie应用层时钟pll。

根据pcie链路处于关闭电源状态l3时的第五指示信号,执行步骤s335,控制pcie应用层的全部的电源开关进入关闭状态。本实施例中,如果系统不支持备用电源,则pcie链路不会处于l2状态而是处于l3状态,并做好主电源关断的准备。此时nvme整个电源域已断电,pcie内核已断电、phy已断电,同时关闭pcie应用层时钟pll。

以上可知,通过本发明实施例提供的pcie设备动态功耗节省方法,可以实现pcie设备在不同的低功耗电源管理状态下获得更高效的动态电源管理效率,从而节省功耗。

本发明实施例另一方面提供一种低功耗pcie设备,请参阅图6,该低功耗pcie设备包括:

状态识别模块100,用于识别pcie链路所处于的低功耗电源管理状态;

信号生成模块200,用于根据所识别的pcie链路的低功耗电源管理状态,生成对应的低功耗电源管理状态的指示信号;

电源控制模块300,用于根据低功耗电源管理状态的指示信号,控制pcie应用层进入对应的应用层低功耗电源管理状态。

需要说明的是,本发明实施例提供的低功耗pcie设备可以是集成了状态识别模块100、信号生成模块200和电源控制模块300的集成电路/芯片,如固态硬盘控制器、网卡控制器、加速卡控制器、加密卡控制器等,也可以是完整的设备,如固态硬盘、网卡、加速卡、加密卡等,本发明在此不做具体限定。

作为本发明优选的实施例,电源控制模块300包括:

时钟域控制单元,用于根据低功耗电源管理状态的指示信号,控制pcie应用层时钟域进入对应的应用层时钟域低功耗电源管理状态;

和/或,

电源域控制单元,用于根据低功耗电源管理状态的指示信号,控制pcie应用层电源域进入对应的应用层电源域低功耗电源管理状态。

具体的,上述实施例中,时钟域控制单元包括:

信号生成子单元,用于根据低功耗电源管理状态的指示信号,生成低电平的门控时钟的使能信号;

时钟关断子单元,用于通过低电平的门控时钟的使能信号,控制pcie应用层时钟进入关断状态。

作为本发明优选的实施例,状态识别模块100所识别的pcie链路的低功耗电源管理状态包括:待机状态、低功耗待机状态、电源关闭阶段状态、低功耗休眠状态、关闭电源状态。

具体的,上述实施例中,电源域控制单元包括:

第一电源域控制子单元,用于根据pcie链路处于待机状态的指示信号,使pcie应用层的全部的电源开关为开启状态;

第二电源域控制子单元,用于根据pcie链路处于低功耗待机状态的指示信号,使pcie应用层的寄存器及命令获取解析模块的电源开关为开启状态,并控制pcie应用层的除所述寄存器及命令获取解析模块以外的电源开关进入关闭状态;

第三电源域控制子单元,用于根据pcie链路处于电源关闭阶段状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态;

第四电源域控制子单元,用于根据pcie链路处于低功耗休眠状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态;

第五电源域控制子单元,用于根据pcie链路处于关闭电源状态的指示信号,控制pcie应用层的全部的电源开关进入关闭状态。

以上可知,本发明实施例提供的低功耗pcie设备,可以在不同的低功耗电源管理状态下获得更高效的动态电源管理效率,从而节省功耗。

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

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

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