芯片休眠控制方法及装置与流程

文档序号:12717989阅读:970来源:国知局
芯片休眠控制方法及装置与流程

本公开涉及芯片控制技术领域,具体地,涉及一种芯片休眠控制方法及装置。



背景技术:

在电子设备中,各芯片通过数据传输接口与处理器连接,以进行数据读写。芯片为了降低功耗,在数据传输接口进入空闲,无数据传输的情况下,会进入休眠模式,对一些模块进行下电。但是,在芯片进入休眠模式时,可能立刻又有新的数据读写,此时芯片又要重新对已经下电的模块进行上电。这种情况下,不仅影响芯片的响应速度,且由于反复上电导致的功耗损失更大。

相关技术中,除了上述无条件休眠外,还有一种休眠方案,即当数据传输接口进入空闲模式时,等待一段时间。如果这段时间内仍然没有数据读写,则芯片进行休眠。但是这种休眠方案,等待时间不好定义,且确定了等待时间后,每次都要进行等待,同样影响芯片的响应速度。



技术实现要素:

本公开提供一种芯片休眠控制方法及装置,以解决相关技术中存在的问题。

第一方面,本公开提供一种芯片休眠控制方法,所述方法包括:

获取所述芯片的数据传输接口停止数据传输的时长;

判断所述时长是否满足预设条件;

当所述时长满足所述预设条件时,获取所述数据传输接口停止数据传输时刻与所述芯片上一次真正休眠结束时刻之间的数据传输情况,所述真正休眠为休眠时长超过预设阈值的休眠;

根据所述数据传输情况和预设历史休眠数据,确定是否控制所述芯片进入休眠。

在一个实施例中,所述预设条件包括:所述时长大于或等于预设时间长度。

在一个实施例中,所述数据传输情况至少包括以下其中之一:数据传输次数,数据传输量,以及数据传输时间。

在一个实施例中,所述方法还包括:

当所述芯片休眠结束时,记录休眠结束时刻起,所述数据传输接口每次开始传输数据的时刻和停止传输数据的时刻。

在一个实施例中,获取所述数据传输接口停止数据传输时刻距离与所述芯片上一次真正休眠结束时刻之间的数据传输情况的步骤包括:

获取所述芯片上一次真正休眠结束时刻与所述数据传输接口停止数据传输时刻之间,每次开始传输数据的时刻和停止传输数据的时刻;

根据所述每次开始传输数据的时刻和停止传输数据的时刻,获取每次数据传输的时长和数据传输次数;

根据所述每次数据传输的时长,以及所述数据传输接口的传输速率,获取每次传输的数据量;

根据所述每次数据传输的时长、每次传输的数据量和数据传输次数,获取所述数据传输接口停止数据传输时刻距离与所述芯片上一次真正休眠结束时刻之间的数据传输量和数据传输时间。

在一个实施例中,所述预设历史休眠数据至少包括以下其中之一:每两次真正休眠之间的数据传输量与休眠概率的对应关系,每两次真正休眠之间的数据传输次数与休眠概率的对应关系,以及每两次真正休眠之间的数据传输时长与休眠概率的对应关系;

根据所述数据传输情况和预设历史休眠数据,确定是否控制所述芯片进入休眠的步骤包括:

根据所述数据传输情况中的数据传输次数、数据传输量和数据传输时间中的任一者或多者,从所述预设历史休眠数据中获取所述芯片进入休眠的概率;

当所述芯片进入休眠的概率满足预设概率时,控制所述芯片进入休眠。

在一个实施例中,所述方法还包括:

当控制所述芯片进入休眠且所述芯片的休眠时长超过所述预设阈值时,将休眠信息增加到所述预设历史休眠数据中,所述休眠信息包括:停止数据传输的时刻、所述数据传输情况。

第二方面,本公开实施例提供一种芯片休眠控制装置,所述装置包括:

时长获取模块,被配置为获取所述芯片的数据传输接口停止数据传输的时长;

判断模块,被配置为判断所述时长是否满足预设条件;

数据传输情况获取模块,被配置为在所述时长满足所述预设条件时,获取所述数据传输接口停止数据传输时刻与所述芯片上一次真正休眠结束时刻之间的数据传输情况,所述真正休眠为休眠时长超过预设阈值的休眠;

休眠确定模块,被配置为根据所述数据传输情况和预设历史休眠数据,确定是否控制所述芯片进入休眠。

在一个实施例中,所述装置还包括:

记录模块,被配置为在所述芯片休眠结束时,记录休眠结束时刻起,所述数据传输接口每次开始传输数据的时刻和停止传输数据的时刻。

在一个实施例中,数据传输情况获取模块包括:

第一获取子模块,被配置为获取所述芯片上一次真正休眠结束时刻与所述数据传输接口停止数据传输时刻之间,每次开始传输数据的时刻和停止传输数据的时刻;

第二获取子模块,被配置为根据所述每次开始传输数据的时刻和停止传输数据的时刻,获取每次数据传输的时长和数据传输次数;

第三获取子模块,被配置为根据所述每次数据传输的时长,以及所述数据传输接口的传输速率,获取每次传输的数据量;

第四获取子模块,被配置为根据所述每次数据传输的时长、每次传输的数据量和数据传输次数,获取所述数据传输接口停止数据传输时刻距离与所述芯片上一次真正休眠结束时刻之间的数据传输量和数据传输时间。

在一个实施例中,所述休眠确定模块包括:

概率获取子模块,被配置为根据所述数据传输情况中的数据传输次数、数据传输量和数据传输时间中的任一者或多者,从所述预设历史休眠数据中获取所述芯片进入休眠的概率;

休眠控制子模块,被配置为在所述芯片进入休眠的概率满足预设概率时,控制所述芯片进入休眠。

在一个实施例中,所述装置还包括:

休眠信息记录模块,被配置为在控制所述芯片进入休眠且所述芯片的休眠时长超过所述预设阈值时,将休眠信息增加到所述预设历史休眠数据中,所述休眠信息包括:停止数据传输的时刻、所述数据传输情况。

第三方面,提供一种芯片休眠控制装置,包括:

处理器;

用于存储处理器可执行指令的存储单元;

其中,所述处理器被配置为,获取所述芯片的数据传输接口停止数据传输的时长;判断所述时长是否满足预设条件;当所述时长满足所述预设条件时,获取所述数据传输接口停止数据传输时刻与所述芯片上一次真正休眠结束时刻之间的数据传输情况,所述真正休眠为休眠时长超过预设阈值的休眠;根据所述数据传输情况和预设历史休眠数据,确定是否控制所述芯片进入休眠。

通过上述技术方案,当数据传输接口停止数据传输时,根据历史休眠情况,以及数据传输量、数据传输次数和数据传输时间,控制芯片的休眠,提高芯片的有效休眠率,达到休眠控制准确率高,延迟小的目的;且可使得对芯片休眠的控制,更加精确,降低芯片休眠时长过短,而出现反复休眠和上电,带来功耗损失。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开实施例的芯片与处理器的连接示意图;

图2是本公开一实施例的芯片休眠方法的流程示意图;

图3是本公开一实施例的数据传输接口的工作时序示意图;

图4是本公开一实施例获取数据传输情况的流程示意图;

图5是本公开一实施例的数据传输接口从上一次真正休眠结束时刻到当前停止数据传输时刻之间的数据传输量情况示意图;

图6是本公开的一实施例的确定芯片是否休眠的流程示意图;

图7是本公开实施例还提供一种芯片休眠控制装置的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

参见图1,为本公开实施例的芯片与处理器的连接示意图。芯片100通过数据传输接口101(例如,高速数据接口)与处理器200或主机(host)连接,以进行数据的传输。在一个实施例中,芯片100可为存储设备,例如,固态硬盘。

本公开实施例中,通过对数据传输接口101的数据传输情况进行检测和记录,动态调整芯片的休眠,提高芯片的响应速度。

参见图2,为本公开一实施例的芯片休眠方法的流程示意图。该方法包括:

在步骤201中,获取芯片的数据传输接口停止数据传输的时长。

当处理器200与芯片100之间无数据传输时,数据传输接口101即停止进行数据传输。当检测到数据传输接口101停止数据传输时,记录停止数据传输的时长。

在步骤202中,判断数据传输接口停止数据传输的时长是否满足预设条件。

在一个实施例中,预设条件可为:数据传输接口停止数据传输的时长大于大于或等于预设时间长度。预设时间长度可为10ms至20ms间的任意值。

在步骤203中,当数据传输接口停止数据传输的时长满足预设条件时,获取数据传输接口停止数据传输时刻与芯片上一次真正休眠结束时刻之间的数据传输情况。

参见图3,为本公开一实施例的数据传输接口的工作时序示意图。其中,高电平(例如,t1至t2之间即为高电平)代表数据传输接口在进行数据传输,处于工作状态。低电平(例如,t2至t3之间即为低电平)代表数据传输接口停止进行数据传输,处于空闲状态。

在本公开的实施例中,当数据传输接口停止数据传输的时长t0满足预设条件时,进行是否进入休眠的判断。而是否进入休眠的判断,需要根据芯片的数据传输情况,由此,当数据传输接口停止数据传输的时长满足预设条件时,获取数据传输接口停止数据传输时刻(即图3中的t6时刻)与芯片上一次真正休眠结束时刻(即t3时刻)之间的数据传输情况。

在本公开的实施例中,真正休眠是指休眠时长超过预设阈值T的休眠。应理解,当数据传输接口停止数据传输时,可能进入休眠,也可能进入休眠。进入休眠时,若休眠时长超过预设阈值T时,则为真正休眠,例如,图3中t3和t2之间的休眠即为一次真正休眠;若休眠时长未超过预设阈值T,则为非真正休眠,例如,图3中t5和t4之间的休眠即为一次非真正休眠。

本公开实施例中,将真正休眠作为判断依据,可使得对芯片休眠的控制,更加精确,降低芯片休眠时长过短,而出现反复休眠和上电,带来功耗损失。

在本公开的一实施例中,数据传输接口停止数据传输时刻距离与芯片上一次休眠结束时刻之间的数据传输情况至少包括以下的一者或多者:数据传输次数、数据传输量和数据传输时间。这些数据传输情况可反映数据传输接口在一段时间内的工作情况。

参见图4,为本公开一实施例获取数据传输情况的流程示意图。

在步骤401中,获取芯片上一次休眠结束时刻与数据传输接口停止数据传输时刻之间,每次开始传输数据的时刻和停止传输数据的时刻。

在步骤402中,根据每次开始传输数据的时刻和停止传输数据的时刻,获取每次数据传输的时长和数据传输次数。

在一个实施例中,在数据传输接口从空闲状态到数据传输状态时,记录开始传输数据的时刻。并在数据传输接口从数据传输状态到空闲状态时,记录停止传输数据的时刻。由此,根据这些被记录的时刻,即可获取到每次数据传输的时长和数据传输次数。

在步骤403中,根据每次数据传输的时长,以及数据传输接口的传输速率,获取每次传输的数据量。

数据传输接口的传输速率可根据数据传输接口配置参数或其工作所采用的速率模式等获得。由此,根据每次数据传输的时长和传输速率,即可得到每次传输的数据量。

在步骤404中,根据每次数据传输的时长、每次传输的数据量和数据传输次数,获取数据传输接口停止数据传输时刻距离与芯片上一次休眠结束时刻之间的数据传输量和数据传输时间。

在一个实施例中,数据传输量为每次传输的数据量的总和,数据传输时间为每次数据传输的时长的总和。

由此,可获得反映数据传输接口在一段时间内的工作情况的数据传输情况。

参见图5,为本公开一实施例的数据传输接口从上一次真正休眠结束时刻到当前停止数据传输时刻之间的数据传输量情况。其中,图5中的横坐标为数据传输量,纵坐标为次数。根据次数和每次的数据传输量,即可得到这一段时间内的总数据传输量。

在步骤204中,根据数据传输情况和预设历史休眠数据,确定是否控制芯片进入休眠。

在本公开的一实施例中,预设历史休眠数据至少包括以下其中之一:每两次真正休眠之间的数据传输量与休眠概率的对应关系,每两次真正休眠之间的数据传输次数与休眠概率的对应关系,以及每两次真正休眠之间的数据传输时长与休眠概率的对应关系。

预设历史休眠数据是对芯片的数据传输情况进行存储和分析后获得的。可对存储的芯片的数据传输情况进行统计,获取到每两次真正休眠之间的数据传输量与休眠概率的对应关系,每两次真正休眠之间的数据传输次数与休眠概率的对应关系,以及每两次真正休眠之间的数据传输时长与休眠概率的对应关系。

参见表1,为一示例性实施例的数据传输量与休眠概率的对应关系,同样的,还可得到数据传输次数与休眠概率的对应关系以及数据传输时长与休眠概率的对应关系。

表1

在一些实施例中,还可对数据传输量、数据传输次数和数据传输时长设置不同的权重,由此,根据其权重得到加权概率。例如,可设置数据传输量C、数据传输次数F和数据传输时长D的权重分别为Q1、Q2和Q3,则休眠概率为C×Q1+F×Q2+D×Q3,从而根据加权概率确定芯片是否休眠。应理解,预设历史休眠数据中可包括加权概率。

本公开实施例中,通过为数据传输量、数据传输次数和数据传输时长设置权重,权重越高则对休眠的影响越大。例如,若控制芯片是否休眠,更看重的时数据传输量,或者对芯片是否休眠影响最大的时数据传输量,则对数据传输量设置更高的权限。

由此,根据数据传输情况和预设历史休眠数据,可得到芯片对应的休眠概率。

参见图6,在本公开的一实施例的确定芯片是否休眠的流程示意图。

在步骤601中,根据数据传输情况中的数据传输次数、数据传输量和数据传输时间中的任一者或多者,从预设历史休眠数据中获取芯片进入休眠的概率。

如上所述,可将当前数据传输接口的数据传输情况与预设历史休眠数据进行比较,从而确定休眠概率。

应理解,当采用数据传输次数、数据传输量和数据传输时间的加权概率时,将数据传输次数、数据传输量和数据传输时间按照预设权值进行加权后,从预设历史休眠数据中获取相对应的加权概率。

在步骤602中,当芯片进入休眠的概率满足预设概率时,控制芯片进入休眠。

在本公开的实施例中,可设定一预设概率,使得当芯片进入休眠的概率满足预设概率时,控制芯片进入休眠。在一个实施例中,预设概率可设置为60%。

在本公开的一实施例中,当控制芯片进入休眠且芯片的休眠时长超过预设阈值时,将休眠信息增加到预设历史休眠数据中,休眠信息包括:停止数据传输的时刻、数据传输情况。由此,可使得预设历史休眠数据越来越完善,不断提高休眠控制精确性。

本公开实施例的芯片休眠控制方法,当数据传输接口停止数据传输时,根据历史休眠情况,以及数据传输量、数据传输次数和数据传输时间,控制芯片的休眠,提高芯片的有效休眠率,达到休眠控制准确率高,延迟小的目的;且可使得对芯片休眠的控制,更加精确,降低芯片休眠时长过短,而出现反复休眠和上电,带来功耗损失。

参见图7,本公开实施例还提供一种芯片休眠控制装置。该装置700包括:

时长获取模块701,被配置为获取所述芯片的数据传输接口停止数据传输的时长;

判断模块702,被配置为判断所述时长是否满足预设条件;

数据传输情况获取模块703,被配置为在所述时长满足所述预设条件时,获取所述数据传输接口停止数据传输时刻与所述芯片上一次真正休眠结束时刻之间的数据传输情况,所述真正休眠为休眠时长超过预设阈值的休眠;

休眠确定模块704,被配置为根据所述数据传输情况和预设历史休眠数据,确定是否控制所述芯片进入休眠。

在一个实施例中,装置700还包括:

记录模块705,被配置为在所述芯片休眠结束时,记录休眠结束时刻起,所述数据传输接口每次开始传输数据的时刻和停止传输数据的时刻。

在一个实施例中,数据传输情况获取模块703包括:

第一获取子模块,被配置为获取所述芯片上一次真正休眠结束时刻与所述数据传输接口停止数据传输时刻之间,每次开始传输数据的时刻和停止传输数据的时刻;

第二获取子模块,被配置为根据所述每次开始传输数据的时刻和停止传输数据的时刻,获取每次数据传输的时长和数据传输次数;

第三获取子模块,被配置为根据所述每次数据传输的时长,以及所述数据传输接口的传输速率,获取每次传输的数据量;

第四获取子模块,被配置为根据所述每次数据传输的时长、每次传输的数据量和数据传输次数,获取所述数据传输接口停止数据传输时刻距离与所述芯片上一次真正休眠结束时刻之间的数据传输量和数据传输时间。

在一个实施例中,休眠确定模块704包括:

概率获取子模块,被配置为根据所述数据传输情况中的数据传输次数、数据传输量和数据传输时间中的任一者或多者,从所述预设历史休眠数据中获取所述芯片进入休眠的概率;

休眠控制子模块,被配置为在所述芯片进入休眠的概率满足预设概率时,控制所述芯片进入休眠。

在一个实施例中,装置700还包括:

休眠信息记录模块706,被配置为在控制所述芯片进入休眠且所述芯片的休眠时长超过所述预设阈值时,将休眠信息增加到所述预设历史休眠数据中,所述休眠信息包括:停止数据传输的时刻、所述数据传输情况。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

相应的,本公开实施例还提供一种芯片休眠控制装置,包括:处理器和用于存储处理器可执行指令的存储单元。

其中,处理器被配置为,获取芯片的数据传输接口停止数据传输的时长;判断时长是否满足预设条件;当时长满足预设条件时,获取数据传输接口停止数据传输时刻与芯片上一次真正休眠结束时刻之间的数据传输情况,真正休眠为休眠时长超过预设阈值的休眠;根据数据传输情况和预设历史休眠数据,确定是否控制芯片进入休眠。

流程图中或在本公开的实施例中以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所述技术领域的技术人员所理解。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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