一种动态调节芯片最高预警温度的方法及装置与流程

文档序号:21318397发布日期:2020-06-30 20:48阅读:164来源:国知局
一种动态调节芯片最高预警温度的方法及装置与流程

本发明涉及芯片技术领域,特别是涉及一种动态调节芯片最高预警温度的方法及装置。



背景技术:

随着系统级芯片(system-on-a-chip,soc)越来越大,面临的功耗问题也越来越严峻,芯片内部的温度很容易达到工艺极限温度,会造成系统崩溃甚至芯片烧坏。

现有的芯片最高预警温度设置方式一般是根据工艺极限温度来设置的,这种一刀切的方式对于不同的工艺电压温度(processvoltagetemperature,pvt)芯片仍然有过温失效的风险。因为在较高环境温度、较高电压和ff等漏电更大的工艺角(corner)时,在最高预警温度下的设置可能无法使芯片温度保持或降低,芯片温度完全无法控制上升趋势;而在较低环境温度、较低电压和ss等漏电小的工艺角(corner)时,可能在最高预警温度下芯片还有足够的温度余量可以继续上升也能保持温度可控状态,这时由于芯片过早的达到温度预警值,芯片进行关断、降压、降频操作,这时候的操作会造成性能的损失。因此,现有的芯片最高预警温度设置方式会导致芯片的温度不可控,以及芯片性能的损失。



技术实现要素:

本发明的目的是提供一种动态调节芯片最高预警温度的方法和装置,利用待机状态获取芯片环境温度值,从而得到当前运行环境下的最高预警温度值,实现了芯片的温度可控,保证了芯片的性能不会损失。

本发明第一方面提供一种动态调节芯片最高预警温度的方法,包括:

当芯片所处的系统进入待机状态时,确定芯片是否冷却;

当芯片冷却后,获取芯片的环境温度值;

当系统重新运行时,获取芯片的corner信息及工作电压信息;

根据corner信息、工作电压信息及环境温度值,得到最高预警温度值。

进一步的,确定芯片是否冷却,包括:

获取待机状态的待机时间;

判断待机时间是否超过预置待机时间;

若待机时间未超过预置待机时间,则确定芯片未冷却;

若待机时间超过预置待机时间,则根据预置时间周期从温度传感器采样得到采样值序列,温度传感器用于实时监测所述芯片的结温;

当采样值序列出现连续n个采样值之间的数值偏差小于偏差阈值时,确定芯片冷却,所述n为大于等于2的正整数。

进一步的,获取芯片的环境温度信息值,包括:

对连续n个采样值进行平均值计算,得到芯片的温度值,将温度值作为环境温度值。

进一步的,根据corner信息、工作电压信息及环境温度值,得到最高预警温度值,包括:

根据corner信息、工作电压信息及环境温度值,查询预置对应表得到最高预警温度值;

或,

对corner信息、工作电压信息及环境温度值进行权重赋值计算,得到最高预警温度值。

进一步的,获取芯片的环境温度值之后,还包括:

将环境温度值存储至预警温度校准寄存器及快闪存储器;

根据corner信息、工作电压信息及环境温度值,得到最高预警温度值之前,还包括:

当系统重新运行时,判断系统为待机启动或整机重启;

若系统为待机启动,则读取预警温度校准寄存器存储的环境温度值;

若系统为整机重启,则读取快闪存储器存储的环境温度值。

本发明第二方面提供一种动态调节芯片最高预警温度的装置,包括:

冷却判断模块,用于当芯片所处的系统进入待机状态时,确定芯片是否冷却;

第一获取模块,用于当芯片冷却后,获取芯片的环境温度值;

第二获取模块,用于当系统重新运行时,获取芯片的corner信息及工作电压信息;

处理模块,用于根据corner信息、工作电压信息及环境温度值,得到最高预警温度值。

进一步的,冷却判断模块包括:

计时单元,用于获取待机状态的待机时间;

待机判断单元,用于判断待机时间是否超过预置待机时间;

冷却判断单元,用于当待机时间未超过预置待机时间,则确定芯片未冷却;

采样单元,用于当待机时间超过预置待机时间,则根据预置时间周期从温度传感器采样得到采样值序列,温度传感器用于实时监测芯片的结温;

冷却判断单元,还用于当采样值序列出现连续n个采样值之间的数值偏差小于偏差阈值时,确定芯片冷却,n为大于等于2的正整数。

进一步的,

第一获取模块,具体用于对连续n个采样值进行平均值计算,得到芯片的温度值,将温度值作为环境温度值。

进一步的,

处理模块,用于根据corner信息、工作电压信息及环境温度值,查询预置对应表得到最高预警温度值;

或,

处理模块,用于对corner信息、工作电压信息及环境温度值进行权重赋值计算,得到最高预警温度值。

进一步的,装置还包括:存储模块及启动模块;

存储模块,用于将环境温度值存储至预警温度校准寄存器及快闪存储器;

启动模块,用于当系统重新运行时,判断系统为待机启动或整机重启;

第二获取模块,还用于若系统为待机启动,则读取预警温度校准寄存器存储的环境温度值;

第二获取模块,还用于若系统为整机重启,则读取快闪存储器存储的环境温度值。

由此可见,本发明中动态调节芯片最高预警温度的方法在待机状态芯片冷却后获取环境温度值,不占用芯片实际工作的性能,还能保证芯片温度和环境温度一致;在系统重新运行时,利用芯片的corner信息、工作电压信息及环境温度值得到最高预警温度值,实现了最高预警温度值的动态调节。与现有的芯片最高预警温度设置方式相比,能够最大可能的保证在较高环境温度、较高电压和ff的corner下温度可控;在较低环境温度、较低电压和ss的corner下不造成性能的损失。因此,实现了芯片的温度可控,保证了芯片的性能不会损失。

附图说明

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

图1为本发明提供的动态调节芯片最高预警温度的方法的一个实施例的流程示意图;

图2为本发明提供的动态调节芯片最高预警温度的方法的另一个实施例的流程示意图;

图3为本发明提供的动态调节芯片最高预警温度的方法的又一个实施例的流程示意图;

图4为本发明提供的动态调节芯片最高预警温度的装置的一个实施例的结构示意图;

图5为本发明提供的动态调节芯片最高预警温度的装置的另一个实施例的结构示意图;

图6为本发明提供的动态调节芯片最高预警温度的装置的又一个实施例的结构示意图。

具体实施方式

本发明的核心是提供一种动态调节芯片最高预警温度的方法和装置,利用待机状态获取芯片环境温度值,从而得到当前运行环境下的最高预警温度值,实现了芯片的温度可控,保证了芯片的性能不会损失。。

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

请参阅图1,本发明实施例提供一种动态调节芯片最高预警温度的方法,包括:

101、当芯片所处的系统进入待机状态时,确定芯片是否冷却;

本实施例中,在芯片所处的系统进入待机状态之前,系统是在运行一个甚至多个程序或功能的,在运行过程中芯片需要提供数据处理功能从而产生热量,导致芯片的温度高于环境温度,虽然在待机期间,芯片只有极少一部分电路处于供电状态,cpu及其他功能模块断电,此时芯片的漏电功耗很小,动态功耗也很小,芯片本身产生的热量基本不会造成芯片高于环境温度,但是在待机之前产生的热量需要时间来耗散,因此,为了得到芯片的环境温度值,就需要先确定芯片是否冷却。

102、当芯片冷却后,获取芯片的环境温度值;

本实施例中,在芯片冷却之后,由于此时芯片温度和环境温度的基本持平,那么就可以通过监测芯片温度的温度传感器获取到芯片的温度值,此时芯片的温度值就是环境温度值。

103、当系统重新运行时,获取芯片的corner信息及工作电压信息;

本实施例中,当系统重新运行时,获取芯片的corner信息及工作电压信息,corner信息是由芯片的制造工艺偏差所决定的,corner信息一般在cp或ft测试阶段预先存储在一次性可编程存储器(onetimeprogrammable,otp)中,工作电压信息则是当前芯片的工作电压。

104、根据corner信息、工作电压信息及环境温度值,得到最高预警温度值。

本实施例中,根据corner信息、工作电压信息及环境温度值,能够确定芯片在当前运行环境下的最高预警温度值,将最高预警温度值作为系统的最高预警温度。

本发明实施例中,在待机状态芯片冷却后获取环境温度值,不占用芯片实际工作的性能,还能保证芯片温度和环境温度一致;在系统重新运行时,利用芯片的corner信息、工作电压信息及环境温度值得到最高预警温度值,实现了最高预警温度值的动态调节。与现有的芯片最高预警温度设置方式相比,能够最大可能的保证在较高环境温度、较高电压和ff漏电较大的corner下温度可控;在较低环境温度、较低电压和ss等漏电小的corner下不造成性能的损失。因此,实现了芯片的温度可控,保证了芯片的性能不会损失。

在以上图1所示的实施例中,芯片冷却的确定、环境温度信息及最高预警温度值的获取方式的详细过程并未进行说明,下面通过实施例进行具体陈述。

如图2所示,本发明实施例提供一种动态调节芯片最高预警温度的方法,包括:

201、当芯片所处的系统进入待机状态时,获取待机状态的待机时间;

本实施例中,在系统进入待机状态时,电源管理单元(powermanagementunit,pmu)中的计时器(counter)开始计时,因此,从counter就能获取到待机时间。

202、判断待机时间是否超过预置待机时间,若是,执行步骤204;若否,执行步骤203;

本实施例中,在芯片所处的系统进入待机状态之前,系统是在运行一个甚至多个程序或功能的,在运行过程中芯片需要提供数据处理功能从而产生热量,导致芯片的温度高于环境温度,虽然在待机期间,芯片只有极少一部分电路处于供电状态,cpu及其他功能模块断电,此时芯片的漏电功耗很小,动态功耗也很小,芯片本身产生的热量基本不会造成芯片高于环境温度,但是在待机之前产生的热量需要时间来耗散,因此,芯片需要时间来冷却,一般芯片的冷却的待机时间为30分钟左右,那么将预置待机时间设置为30分钟,而在实际应用中预置待机时间还可以为其他时间,不做限定。待机时间未超过30分钟时,表示芯片肯定没有冷却,则执行步骤203;待机时间超过30分钟时,如果芯片在待机之前是超负荷的运行,可能还未冷却完毕,因此还需要进一步的判断,执行步骤204;

203、确定芯片未冷却;

204、根据预置时间周期从温度传感器采样得到采样值序列;

本实施例中,温度传感器用于实时监测芯片的结温,在芯片的待机时间超过预置待机时间时,可以通过监测芯片温度的温度传感器获取到芯片的温度值,根据预置时间周期从温度传感器采样得到采样值序列,预置时间周期可以是每次间隔1分钟,那么采样得到的芯片的温度值就是周期为1分钟的采样值序列。

205、当采样值序列出现连续n个采样值之间的数值偏差小于偏差阈值时,确定芯片冷却;

本实施例中,为了避免芯片的待机时间超过预置待机时间之后,冷却降温不够完全,还需要根据采样值序列来确定,具体可以是检测采样值序列出现连续n个采样值之间的数值偏差小于偏差阈值,n为大于等于2的正整数,假设n为5,偏差阈值为5%,那么只要出现连续5个采样值之间的数值偏差小于5%,就表示了芯片没有了继续降温的趋势,表示芯片冷却。

206、对连续n个采样值进行平均值计算,得到芯片的温度值,将温度值作为环境温度值;

本实施例中,确定了芯片冷却之后,对连续n个采样值进行平均值计算,得到芯片的温度值,将温度值作为环境温度值。

207、当系统重新运行时,获取芯片的corner信息及工作电压信息;

本实施例中,当系统重新运行时,获取芯片的corner信息及工作电压信息,corner信息是由芯片的制造工艺偏差所决定的,corner信息预先存储在otp中,工作电压信息则是当前芯片的工作电压。

208、根据corner信息、工作电压信息及环境温度值,得到最高预警温度值。

本实施例中,在获取到corner信息、工作电压信息后,根据corner信息、工作电压信息及环境温度值得到最高预警温度值,具体可以是:

1、通过查询预置对应表得到最高预警温度值;

预先进行测试训练,建立该芯片的corner信息、各种工作电压信息和各种环境温度值与最高预警温度值对应的关系表,即预置对应表,按照当前运行环境下的,工作电压信息、环境温度值以及corner信息,就能确定对应的最高预警温度值了。

2、对corner信息、工作电压信息及环境温度值进行权重赋值计算,得到最高预警温度值。

预先建立权重计算公式,在进行计算时,对corner信息、工作电压信息和环境温度值分别进行权重赋值之后,代入到权重计算公式,从而得到最高预警温度值。

基于图1和图2所示的实施例,请参阅图3,本发明实施例提供一种动态调节芯片最高预警温度的方法,包括:

301、当芯片所处的系统进入待机状态时,获取待机状态的待机时间;

详情请参考图2所示实施例中的步骤201。

302、判断待机时间是否超过预置待机时间,若是,执行步骤304;若否,执行步骤303;

详情请参考图2所示实施例中的步骤202。

303、确定芯片未冷却;

304、根据预置时间周期从温度传感器采样得到采样值序列;

详情请参考图2所示实施例中的步骤204。

305、当采样值序列出现连续n个采样值之间的数值偏差小于偏差阈值时,确定芯片冷却;

详情请参考图2所示实施例中的步骤205。

306、对连续n个采样值进行平均值计算,得到芯片的温度值,将温度值作为环境温度值;

详情请参考图2所示实施例中的步骤206。

307、将环境温度值存储至预警温度校准寄存器及快闪存储器;

本实施例中,在得到环境温度值之后,为了让后续系统重新运行时,得到环境温度值,需要将环境温度值存储至预警温度校准寄存器及快闪存储器,预警温度校准寄存器针对是待机状态一直持续,直到待机启动,因此,只需要寄存到预警温度校准寄存器即可。而快闪存储器是为了防止进入待机状态之后,系统关机了,寄存器的数据会丢失,因此,需要存储到flash存储器,系统整机重启,可以从flash存储器获得环境温度值。

308、当系统重新运行时,获取芯片的corner信息及工作电压信息;

详情请参考图2所示实施例中的步骤207。

309、判断系统为待机启动或整机重启,若系统为待机启动,执行步骤310;若系统为整机重启,执行步骤311;

本实施例中,结合步骤307的描述,待机之后,系统可能是待机重启,也可能是整机重启,而针对不同的启动方式,环境温度值的获取方式不同。因此,需要先判断系统的重启方式。

310、读取预警温度校准寄存器存储的环境温度值;

本实施例中,当系统为待机启动时,直接从重预警温度校准寄存器中读取出环境温度值。

311、读取快闪存储器存储的环境温度值;

本实施例中,当系统为整机重启时,从flash存储器中读取出环境温度值。

312、根据corner信息、工作电压信息及环境温度值,得到最高预警温度值;

详情请参考图2所示实施例中的步骤208。

313、在芯片达到最高预警温度时,进行部分模块关断,部分模块降低电压、降低工作频率等操作,使芯片降低温度、温度可控,使芯片处于温度良性循环。

本发明实施例中,增加了系统重新运行时,不同重启方式情况下的环境温度值读取方式,避免了待机时,获取到的环境温度值由于系统关机导致丢失的问题。

在以上实施例中,详细说明了动态调节芯片最高预警温度的方法,下面对执行该方法的动态调节芯片最高预警温度的装置进行说明。

如图4所示,本发明实施例提供一种动态调节芯片最高预警温度的装置,包括:

冷却判断模块401,用于当芯片所处的系统进入待机状态时,确定芯片是否冷却;

第一获取模块402,用于当芯片冷却后,获取芯片的环境温度值;

第二获取模块403,用于当系统重新运行时,获取芯片的corner信息及工作电压信息;

处理模块404,用于根据corner信息、工作电压信息及环境温度值,得到最高预警温度值。

本发明实施例中,在冷却判断模块401确定待机状态芯片冷却后,第一获取模块402获取环境温度值,不占用芯片实际工作的性能,还能保证芯片温度和环境温度一致;处理模块404在系统重新运行时,利用第二获取模块403获取的芯片的corner信息、工作电压信息及第一获取模块402获取的环境温度值得到最高预警温度值,实现了最高预警温度值的动态调节。与现有的芯片最高预警温度设置方式相比,能够最大可能的保证在较高环境温度、较高电压和ff等漏电较大的corner下温度可控;在较低环境温度、较低电压和ss等漏电小corner下不造成性能的损失。因此,实现了芯片的温度可控,保证了芯片的性能不会损失。

可选的,结合图4所示的实施例,如图5所示,本发明的一些实施例中,冷却判断模块401包括:

计时单元501,用于获取待机状态的待机时间;

待机判断单元502,用于判断待机时间是否超过预置待机时间;

冷却判断单元503,用于当待机时间未超过预置待机时间,则确定芯片未冷却;

采样单元504,用于当待机时间超过预置待机时间,则根据预置时间周期从温度传感器采样得到采样值序列,温度传感器用于实时监测芯片的结温;

冷却判断单元503,还用于当采样值序列出现连续n个采样值之间的数值偏差小于偏差阈值时,确定芯片冷却,n为大于等于2的正整数。。

本发明实施例中,在系统进入待机状态时,pmu中的counter开始计时,因此,计时单元501从counter就能获取到待机时间。在芯片所处的系统进入待机状态之前,系统是在运行一个甚至多个程序或功能的,在运行过程中芯片需要提供数据处理功能从而产生热量,导致芯片的温度高于环境温度,虽然在待机期间,芯片只有极少一部分电路处于供电状态,cpu及其他功能模块断电,此时芯片的漏电功耗很小,动态功耗也很小,芯片本身产生的热量基本不会造成芯片高于环境温度,但是在待机之前产生的热量需要时间来耗散,因此,芯片需要时间来冷却,一般芯片的冷却的待机时间为30分钟左右,那么将预置待机时间设置为30分钟,而在实际应用中预置待机时间还可以为其他时间,不做限定。待机判断单元502判断待机时间未超过30分钟时,冷却判断单元503确定芯片肯定没有冷却;待机判断单元502判断待机时间超过30分钟时,如果芯片在待机之前是超负荷的运行,可能还未冷却完毕,因此还需要进一步的确定芯片是否冷却,采样单元504根据预置时间周期从温度传感器采样得到采样值序列,温度传感器用于实时监测芯片的结温,当采样值序列出现连续n个采样值之间的数值偏差小于偏差阈值时,冷却判断单元503确定芯片冷却。

可选的,结合图5所示的实施例,本发明的一些实施例中,

第一获取模块402,具体用于对连续n个采样值进行平均值计算,得到芯片的温度值,将温度值作为环境温度值。

本发明实施例中,利用温度传感器实时监测芯片的结温,在确定芯片冷却之后,第一获取模块402对连续n个采样值进行平均值计算,得到芯片的温度值,将温度值作为环境温度值。

可选的,结合图5所示的实施例,本发明的一些实施例中,

处理模块404,用于根据corner信息、工作电压信息及环境温度值,查询预置对应表得到最高预警温度值;

或,

处理模块404,用于对corner信息、工作电压信息及环境温度值进行权重赋值计算,得到最高预警温度值。

本发明实施例中,处理模块404得到最高预警温度值具体可以是:

(1)、通过查询预置对应表得到最高预警温度值;

预先进行测试训练,建立该芯片的corner信息、各种工作电压信息和各种环境温度值与最高预警温度值对应的关系表,即预置对应表,处理模块404按照当前运行环境下的,工作电压信息、环境温度值以及corner信息,就能确定对应的最高预警温度值了。

(2)、对corner信息、工作电压信息及环境温度值进行权重赋值计算,得到最高预警温度值。

预先建立权重计算公式,在处理模块404进行计算时,对corner信息、工作电压信息和环境温度值分别进行权重赋值之后,代入到权重计算公式,从而得到最高预警温度值。

可选的,结合图5所示的实施例,如图6所示,本发明的一些实施例中,装置还包括:存储模块601及启动模块602;

存储模块601,用于将环境温度值存储至预警温度校准寄存器及快闪存储器;

启动模块602,用于当系统重新运行时,判断系统为待机启动或整机重启;

第二获取模块603,还用于若系统为待机启动,则读取预警温度校准寄存器存储的环境温度值;

第二获取模块403,还用于若系统为整机重启,则读取快闪存储器存储的环境温度值。

本发明实施例中,在得到环境温度值之后,为了让后续系统重新运行时,得到环境温度值,存储模块601需要将环境温度值存储至预警温度校准寄存器及快闪存储器,预警温度校准寄存器针对是待机状态一直持续,直到待机启动,因此,只需要寄存到预警温度校准寄存器即可。而快闪存储器是为了防止进入待机状态之后,系统关机了,寄存器的数据会丢失,因此,需要存储到flash存储器,系统整机重启,可以从flash存储器获得环境温度值。当启动模块602判断系统为待机启动时,第二获取模块403直接从重预警温度校准寄存器中读取出环境温度值;当启动模块602判断系统为整机重启时,第二获取模块403从flash存储器中读取出环境温度值。增加了系统重新运行时,不同重启方式情况下的环境温度值读取方式,避免了待机时,获取到的环境温度值由于系统关机导致丢失的问题。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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