CN104412198A - 用于便携式计算设备中的自适应热管理的系统和方法 - Google Patents
用于便携式计算设备中的自适应热管理的系统和方法 Download PDFInfo
- Publication number
- CN104412198A CN104412198A CN201380034325.5A CN201380034325A CN104412198A CN 104412198 A CN104412198 A CN 104412198A CN 201380034325 A CN201380034325 A CN 201380034325A CN 104412198 A CN104412198 A CN 104412198A
- Authority
- CN
- China
- Prior art keywords
- temperature threshold
- temperature
- rate
- run counter
- processing element
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3031—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
Abstract
公开了用于在便携式计算设备(“PCD”)中实现的自适应热管理技术的方法和系统的各个实施例。值得注意的是,在许多PCD中,与PCD中的各个部件相关联的温度阈值,诸如但不限于管芯结温、封装体叠层(“PoP”)存储器温度和设备本身的外部表面的触摸温度限制了PCD性能能力可以被利用的程度。用于自适应热管理的方法和系统的各个实施例的优势在于,当违背了温度阈值时,在准许热侵害型处理部件返回到最大操作功率之前至多只需牺牲使得所述违背被清除的PCD性能。
Description
相关领域的描述
便携式计算设备(“PCD”)在个人和专业水平上正在成为人们的必需品。这些设备可以包括蜂窝电话、便携式数字助理(“PDA”)、便携式游戏机、掌上电脑和其它便携式电子设备。
PCD的一个独特方面是:它们典型地不具有有源冷却设备,例如常常可以在较大的计算设备(诸如膝上型电脑和台式机)中发现的风扇。PCD可以依赖于电子封装的空间布置而不是使用风扇,从而两个或更多个有源部件和热产生部件不位于彼此的近侧。许多PCD还可以依赖于无源冷却设备(例如散热器)来管理电子部件之间的热能,所述电子部件共同构成相应的PCD。
现实情况是,PCD典型地在尺寸上是受限的,因此,用于PCD内的部件的空间通常非常短缺。因此,在PCD内通常没有足够的空间让工程师和设计师通过使用巧妙的空间安排或无源冷却部件的策略性布置来缓解热降级或处理部件的故障。因此,当前的系统和方法依赖于嵌入在PCD芯片上的各种温度传感器来监控热能的耗散,并且之后使用测量来触发热管理技术的应用,所述热管理技术调整工作负载分配、处理速度等以减少热能产生。
例如,当前的系统和方法将处理器的电压和频率调节到预先定义的性能“等级”。基于观察到的温度读数,可以将处理器斜降到被预定为当处理器工作负载繁重时来缓解热能产生的等级。值得注意的是,对于较少需要处理资源的较轻工作负载,将处理器的电压和频率节调节降到被预定为缓解繁重工作负载下的热能产生的等级可能会不必要地影响到提供给用户的服务质量(“QoS”)。因此,在本领域中需要的是用于PCD中的自适应热管理的系统和方法。具体而言,在本领域中需要的是在运行时基于个别处理部件的温度读数和当前频率/电压等级来确定热缓解决定的系统和方法,而不是做出假设最坏使用情形的预定静态缓解决定。
发明内容
公开了用于在便携式计算设备(“PCD”)中实现的自适应热管理技术的方法和系统的各种实施例。值得注意的是,在许多PCD中,与PCD中的各种部件相关联的温度阈值(诸如但不限于管芯结温度、封装体叠层(“PoP”)存储器温度和设备本身的外部表面“触摸温度”)限制了PCD性能能力可以被利用的程度。通常,随着更多的功率被PCD的各种部件消耗,导致热能的产生可能引起温度阈值被超出,因此有必要牺牲PCD的性能以努力减少热能产生。
用于自适应热管理的方法和系统的各种实施例的优势在于:当违背了温度阈值时,在准许热侵害型(thermally aggressive)处理部件返回到最大工作功率之前至多只需牺牲使得所述违背被清除而必需的PCD性能。用于PCD中的自适应热管理的一个这样的方法包括在开始时定义用于PCD中的一个或多个处理部件的离散数量的性能等级。每个性能等级与可被供应给一个或多个处理部件的功率频率相关联。每个处理部件被默认为以它的最高性能等级运行。
接下来,定义与PCD中的一个或多个温度敏感部件或温度临界部件相关联的温度阈值。值得注意的是,由于对PCD中的许多部件而言,直接产生的热能的量与允许部件运行的功率等级相关,因此这些温度阈值可以被视为自适应热管理系统可能寻求来驱动PCD中的处理部件的“目标”工作温度。在自适应热管理系统和方法的一些实施例中,温度阈值与包括结点部件、PoP存储器部件或外壳部件的一个或多个部件相关联。
在运行中,对可以被用来测量或推断与温度敏感部件相关联的温度的温度传感器进行监控。值得注意的是,温度敏感部件中的一个或多个也可以是热侵害型部件——还可以是热侵害型部件的温度敏感部件的非限制性例子是中央处理单元中的内核(内核的结点方面是温度临界,且由于处理工作负载,内核消耗功率和产生热能)。
在一些实施例中,为了由于违背初始阈值而触发的中断信号来监控温度传感器,所述初始阈值小于与温度敏感部件相关联的预先设置的任何热阈值。在接收到所述中断时,系统的实施例可以在由相对较低的采样速率所定义的基于时间的间隔开始采样来自传感器的读数。如果温度读数是在指示已经违背了温度阈值中的一个或多个的间隔获得的,那么实施例可以利用动态电压和频率缩放(“DVFS”)技术以将一个或多个热侵害型处理部件的性能等级从默认的最高工作等级降低到最大值之下的一个等级。在下一个间隔,再次轮询温度读数,以及,如果所述违背已经被清除,则将热侵害型部件的性能等级降低到次最高等级。以这种方式,自适应热管理实施例保证任意给定的处理部件的处理功率至多仅被降低将温度保持在阈值以下所需的量。
值得注意的是,在一些实施例中,违背与“关键任务”部件(例如结点部件)相关联的阈值可能触发以更快的速率对传感器进行轮询以确保避免PCD的热失控的可能性。此外,在一些实施例中,在热侵害型部件的功率等级的降低成功地将热能产生降低到使得阈值违背被清除的等级之后,可以施加惩罚时段。可以预见的是,基于自适应热管理系统要求热侵害型处理部件进入或重新进入斜降(ramp down)状态的频率或速度来累积惩罚时段,以便清除温度阈值违背。
附图说明
在附图中,除非另有说明,否则相同的参考标号指代贯穿各种视图的相同部分。对于具有例如“102A”或“102B”的字母数字标记的参考标号,字母标记可以区分在相同附图中存在的两个相同部分或要素。当参考标号旨在涵盖具有所有附图中的相同参考标号的所有部分时,用于参考标号的字母标记可以被省略。
图1是示出了用于在便携式计算设备(“PCD”)中实现自适应热管理方法的片上系统的实施例的功能框图。
图2是以无线电话的形式示出了图1的PCD的示例性、非限制性方面的功能框图,所述无线电话用于实现在运行时基于温度读数和当前频率/电压等级对个别处理部件进行自适应热管理的方法和系统。
图3A是示出了针对图2中示出的芯片的硬件的示例性空间布置的功能框图。
图3B是示出了用于自适应热管理的图2的PCD的示例性软件架构的示意图。
图4是示出了用于图1的PCD中的热能产生的自适应管理的方法的逻辑流程图。
图5是示出了由与图1的PCD内的各种区域或部件相关联的温度读数以及图1的PCD内的处理部件的以往行为触发的各种自适应热管理策略状态的示例性状态图。
图6是示出了与图5中示出的具体策略状态相关联的示例性条件的示图;以及
图7是示出了用于应用动态电压和频率缩放(“DVFS”)热缓解技术的子方法或子例程的逻辑流程图。
具体实施方式
词语“示例性的”在本文中用于表示“用作示例、实例或说明”。本文中描述为“示例性”的任何方面不一定被解释为排他性的、优选的或优于其它方面的。
在本说明书中,术语“应用”还可以包括具有可执行内容的文件,诸如:对象代码、脚本、字节代码、标记语言文件和补丁。此外,本文中所指的“应用”还可以包括不可被自然执行的文件,诸如可能需要被打开的文档或需要被访问的其它数据文件。
如在本说明书中所使用的,术语“部件”、“数据库”、“模块”、“系统”、“热能产生部件”、“处理部件”等旨在指计算机相关的实体,可以是硬件、固件、硬件和软件的组合、软件,或执行中的软件。例如,部件可以是但不限于运行在处理器上的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,运行在计算设备上的应用和计算设备都可以是部件。一个或多个部件可以位于过程和/或执行的线程内,并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,这些部件可以从上面存储有各种数据结构的各种计算机可读介质执行。这些部件可以通过本地和/或远程进程的方式进行通信,例如根据具有一个或多个数据分组的信号(例如,来自与本地系统、分布系统中的另一个部件相互作用和/或跨网络(例如互联网)通过信号的方式与其它系统相互作用的一个部件的数据)。
在本说明书中,术语“中央处理单元(“CPU”)”、“数字信号处理器(“DSP”)”、“图形处理单元(“GPU”)”和“芯片”可以互换使用。此外,CPU、DSP、GPU或芯片可以由通常在本文中称为“内核”的一个或多个不同的处理部件组成。此外,在某种程度上,CPU、DSP、GPU、芯片或内核是消耗各种等级的功率以在各种等级的功能效率进行工作的PCD内的功能部件,本领域的技术人员将会认识到,这些术语的使用并没有将所公开的实施例的应用或它们的等价物限制到PCD内的处理部件的环境。也就是说,虽然许多实施例是在处理部件的环境下进行描述的,但可以预见到,自适应热管理策略可以应用到PCD内的任何功能性部件,包括但不限于调制解调器、相机、无线网络接口控制器(“WNIC”)、显示器、视频编码器、外围设备、电池等。
在本说明书中,应当理解的是,术语“热”和“热能”可以结合能够产生或释放能够以“温度”单位测量的能量的设备或部件来使用。因此,可以进一步理解,参照某个标准值,术语“温度”预见可以指示“热能”产生设备或部件的相对温暖或热缺失的任何测量。例如,当两个部件处于“热”平衡时,两个部件的“温度”是相同的。
在本说明书中,术语“工作负载”、“进程负载”和“进程工作负载”被互换使用并且在给定实施例中通常涉及与给定处理部件相关联的处理负担或处理负担的百分比。进一步针对上文所定义的,“处理部件”、“热能产生部件”或“热侵害方(thermal aggressor)”可以是但不限于中央处理单元、图形处理单元、内核、主核、子核、处理区域、硬件引擎等或位于便携式计算设备内的集成电路内部或外部的任何部件。此外,在某种程度上,术语“热负载”、“热分布”、“热特征”、“热处理负载”等指示可以运行在处理器上的工作负载负担,本领域的普通技术人员将会认识到,本公开内容中这些“热”术语的使用可以是关于进程负载分布、工作负载负担和功耗的。
在本说明书中,术语“热缓解技术”、“热策略”、“热管理”、“热缓解测量”、“调节(throttling)到性能等级”等被互换使用。值得注意的是,本领域的普通技术人员将会意识到,根据使用的具体环境,在本段中列出的术语中的任何一个都可以用作描述可操作来以热能产生为代价来提高性能、以性能为代价来减少热能产生或在这样的目标之间交替的硬件和/或软件。
在本说明书中,术语“便携式计算设备”(“PCD”)被用来描述在有限容量的电源(例如电池)上工作的任何设备。虽然使用电池工作的PCD已经投入使用数十年,充电电池的技术进步结合第三代(“3G”)和第四代(“4G”)无线技术的到来已经实现了许多具有多种性能的PCD。因此,PCD可以是蜂窝电话、卫星电话、寻呼机、PDA、智能电话、导航设备、智能本或阅读器、媒体播放器、前述设备的组合、具有无线连接的膝上型电脑等等。
通过利用与内核中的硅结点、封装体叠层(“PoP”)存储器部件以及PCD的外壳(即“外壳”)的温度相关的一个或多个传感器测量,可以实现在PCD中管理热能产生而不必影响服务质量(“QoS”)。通过密切监控与那些部件相关联的温度,PCD中的自适应热策略管理器模块可以一次一个层级(bin)地、系统地和个别地降低热侵害型处理部件的性能等级,以努力缓解热能产生和避免临界温度阈值。有利的是,通过把某些温度点作为目标,在所述温度点操作特定部件是可以接受的,而不是在最坏情况场景下被动地跳跃到被预定为缓解热能产生的降低的处理性能等级,自适应热管理系统和方法可以在任意工作负载下优化QoS。此外,以及如本领域的普通技术人员将会意识到的,由于可以应用自适应热管理方法而不用考虑在给定工作负载下的给定PCD中的热能释放的具体机制,所以工程师和设计师可以利用自适应热管理方法而不用考虑PCD的具体外形规格。
值得注意的是,虽然在中央处理单元(“CPU”)内部的内核的环境中描述了自适应热管理方法的示例性实施例,但自适应热管理方法的应用并不限于CPU内的内核。可以预见的是,自适应热管理方法的实施例可以扩展到可以位于片上系统(“SOC”)内的任何部件并且可以以多个性能等级进行操作,例如但不限于图形处理单元(“GPU”)、调制解调处理器、相机等。此外,可以预见,在可以以多个性能等级进行操作的SoC内的任意部件上,可以个别地利用自适应热管理算法。在这样的情况下,还可以预见,SoC的这样的部件上的给定自适应热管理算法的每个实例可以与其它实例分享它的自身性能状态,以确定通常在热约束内针对SoC的最佳的可能性能状态。
作为自适应热管理方法如何可以应用到示例性PCD中的处理内核的非限制性例子,假设针对内核定义了离散数量的性能等级,P1、P2、P3、P4…P15(其中,P15表示最高性能等级并且P1表示最低性能等级)。本领域的普通技术人员将会理解,等级P15可以与高QoS等级和针对给定工作负载负担的高热能产生等级二者相关联。类似地,针对相同的工作负载负担,等级P1可以与低QoS等级和低热能产生等级相关联。还假设:
结点温度限度阈值设为125℃;
临界结点温度限度设为145℃;
PoP存储器温度限度阈值设为85℃;
PCD外壳温度限度阈值设为55℃;
算法重置时间,ALGO_RESET_TIME,设为30s;
高采样速率,HIGH_SAMPLING_RATE,设为50ms;
低采样速率,LOW_SAMPLING_RATE,设为250ms;以及
惩罚量,PENALTY_UNIT_TIME,设为500ms。
在非限制性例子中,在意识到预先设置的初始阈值(低于本来被认为是违背任意PoP、外壳或结点温度阈值的温度)被跨越后,开始对与管芯结点、PoP存储器部件和PCD外壳温度分别相关联的温度传感器进行采样。可以预见,在一些实施例中,通过基于中断的传感器的使用,可以实现对传感器采样的启动的触发。如下面所解释的,一旦产生了中断,PCD中的自适应热管理(“ATM”)模块和/或监控模块开始以某种采样速率监控指定的温度传感器。值得注意的是,本领域的普通技术人员将会意识到,在自适应热管理系统中监控的各种温度传感器可以产生密切指示与传感器相关联的部件的实际温度的温度读数,或者在替代方案中,可以产生可以据其推断某些部件的实际温度的温度读数。
返回到非限制性例子,在所识别的结点温度违背的情况下,ATM模块可以以最高的可能采样速率(HIGH_SAMPLING_RATE)运行。对于外壳和PoP温度违背,ATM模块可以以较低的速率(LOW_SAMPLING_RATE)运行。值得注意的是,如将在非限制性例子中变得清楚的是,在一些实施例中,采样速率可以指示处理部件被降频时的速率。
当不存在违背和采样已开始时,ATM模块以LOW_SAMPLING_RATE监控各种温度传感器。如果发生PoP或外壳违背而没有任何结点违背,那么ATM模块可以继续在LOW_SAMPLING_RATE。然而,结点违背一发生,ATM模块就可以将采样速率变为HIGH_SAMPLING_RATE。当来自所有处理部件的所有结点违背被清除后,ATM模块可以返回到LOW_SAMPLING_RATE。
在上述的初始温度阈值被超出之前,示例性内核可以以它的最高性能等级运行,即示例性等级P15。甚至在初始温度阈值被超出之后,只要没有结点、PoP或外壳违背被记录,内核可以继续以P15等级运行。值得注意的是,虽然在本说明书中描述的各种实施例包括与结点、PoP和外壳温度相关联的温度阈值,但可以预见的是,自适应热管理系统的一些实施例可以不监控结点、PoP和外壳温度。也就是说,可以预见到,一些实施例可以监控与部件的其它组合相关联的温度,以及,因此,自适应热管理系统和方法的实施例将不被限制于特别监控与在本说明书中示出的部件的示例性组合相关联的温度。
返回到非限制性例子,在识别到任何温度违背之前,示例性处理内核的性能等级是P15。温度阈值被超出并且因此ATM模块导致进入RAMP_DOWN状态。根据ATM模块当前运行的采样速率,在RAMP_DOWN状态下,在每个采样间隔之后,内核的性能等级每次被降低一个等级,直到温度违背清除为止。因此,举例而言,对于导致外壳温度超过55℃的某个工作负载,内核的性能等级可以在以LOW_SAMPLING_RATE采样的3个循环中从P15减少到P12,从而导致在违背被第一次观察到的总共750ms时间之后外壳违背被清除。类似地,如果所述违背在由内核产生的热能被缓解到使得所述违背被清除的点之前已经是需要六个等级的性能降低的结点违背,那么内核将会在300ms内从性能等级P15进行到性能等级P9(在结点违背的情况下,采样速率将会变为50ms的HIGH_SAMPLING_RATE)。一旦达到安全的性能等级,即内核可以运行而不会导致给定的温度阈值被超出的最高性能等级,则可以应用惩罚超时计算,如下所解释的。
值得注意的是,本领域的普通技术人员将会意识到,只有下降到P1等级,否则使内核降频(clocking down)可以继续发生。一旦处于P1性能等级,如果观察到的违背仅仅是外壳违背和/或PoP违背,则ATM模块可选择使内核保持以P1运行。在这种情况下,可以预见,受自适应热管理方法影响的所有处理部件可以收敛到它们各自的P1性能等级。这种到最低可用性能等级的收敛可以由于任意数量的原因而发生,这些原因包括但不限于阈值没有被正确设置或PCD所暴露的环境温度是如此之高以至于热能不能够以可以使得所述违背能够通过任意方式被清除的速率来消散。如果结点温度阈值限度(例如示例性145℃的临界结点限度)被超出,那么ATM模块可以选择对内核进行电源切断以努力避免对内核造成永久性损坏。
在一些实施例中,只有在降频已经完成之后,惩罚才可以应用到RAMP_DOWN状态中。所以举例而言,在清除非限制性例子中的外壳违背之后,ATM模块可以在内核被准许返回到P15最高性能等级之前使得度过计算的惩罚时间。在例子中,惩罚持续时间被设置为500ms,从而ATM模块将使得内核在外壳违背清除之后保持在P12的最后性能等级达额外的500ms(即LOW_SAMPLING_RATE的两个循环)。可以预见,一些是实施例可以不包括惩罚时段,然而,其它实施例可以包括预设的、固定的惩罚时段。根据内核进入RAMP_DOWN状态的频率和/或时间长短,其它实施例可以包括在持续时间中累积的惩罚时段。
如本领域的普通技术人员将会意识到的,在RAMP_DOWN状态下,用于自适应热管理的系统和方法可以利用用于将内核递减地调节到最佳性能等级的方式。如下面更具体地描述的,调节策略是可以由PCD使用的、通过硬件和/或软件参数的调整(例如中央处理单元(“CPU”)的时钟速度等)来提高它的性能的各种方法、应用和/或算法。某些调节策略可以以增加的热能产生为代价来提高PCD的性能;然而,某些其它调节策略可以通过降低PCD的性能来缓解操作温度的有害上升。可以被自适应热管理策略利用的示例性调节方法是参照图7在更多细节中所描述的动态电压和频率缩放(“DVFS”)方法。即使在本说明书中所描述的各种示例性实施例利用调节方法例如DVFS来缓解由热侵害型处理部件造成的热能产生,可以预见,用于自适应热管理的系统和方法将不被限制到使用调节的技术,以努力达到适当的操作温度的目标。也就是说,可以预见,一些实施例可以额外地或排他地利用操作系统等级热缓解技术,例如但不限于工作负载转移技术。
图1是示出了用于便携式计算设备100中的自适应热管理的片上系统102的示例性实施例的功能框图。为了设置用于触发进入RAMP_DOWN状态的温度阈值,其中,处理部件(例如CPU 110)被调节低于它的最高性能等级以努力缓解热能产生,片上系统102可以利用用于测量与诸如内核222、内核224、内核226、内核228、PoP存储器112A和PCD外壳24的各种部件相关联的温度的各种传感器157。有利地,通过监控与各种部件相关联的温度以及增量地调节热侵害方222、热侵害方224、热侵害方226、热侵害方228的性能等级,由PCD 100的用户经历的QoS可以通过避免不必要的过度调节而得到优化。此外,通过准许在最早的合理机会返回到最高性能等级,可以进一步优化由PCD 100的用户所经历的QoS。
通常,系统采用两个主模块,其在一些实施例中可以被包括在单个模块中:(1)用于分析由监控模块114(值得注意的是,监控模块114和ATM模块101在一些实施例中可以是一个模块和相同模块)监控到的温度读数并且触发进入和离开RAMP_DOWN策略状态的自适应热管理(“ATM”)模块101;以及(2)用于根据从ATM模块101接收到的指令在个别处理部件上实现增量调节策略的DVFS模块26。有利地,包括两个主模块的系统和方法的实施例利用温度数据来优化被准许用于PCD 100内的部件110的性能等级,而不用担心对PCD 100内的其它部件有热降级的风险或超出临界温度阈值。
图2是以无线电话的形式示出了图1的PCD 100的示例性、非限制性方面的功能框图,无线电话用于实现在运行时基于识别的温度读数和当前频率/电压等级对个别处理部件进行自适应热管理的方法和系统。如所示出的,PCD 100包括片上系统102,所述片上系统102包括耦合到一起的多核中央处理单元(“CPU”)110和模拟信号处理器126。如本领域的普通技术人员所理解的,CPU 110可以包括第0内核222、第一内核224和第N内核230。此外,如本领域的普通技术人员所理解的,替代CPU 110,还可以使用数字信号处理器(“DSP”)。
一般而言,动态电压和频率缩放(“DVFS”)模块26可以负责对个别处理部件诸如内核222、224、230以增量方式实现调节技术,以帮助PCD 100优化它的功率等级以及维持高等级功能而不会超出某些温度阈值造成不利。
监控模块114与分布在片上系统102上的多个操作传感器(例如热传感器157A、157B)通信并且与PCD 100的CPU 110以及ATM模块101进行通信。在一些实施例中,监控模块114还可以为了与PCD 100的触摸温度相关联的温度读数而监控外壳温度传感器157C。在其它实施例中,基于具有由片上温度传感器157A、157B得到的读数的可能的增量,监控模块114可以推断触摸温度。ATM模块101可以与监控模块114一起工作以识别已经被超出的温度阈值并且ATM模块101可以指导将调节策略应用到芯片102内所识别的部件,以努力降低温度。
如图2所示,显示控制器128和触屏控制器130耦合到数字信号处理器110。位于片上系统102外部的触屏显示器132耦合到显示控制器128和触屏控制器130。PCD 100还可以包括视频编码器134,例如相位交替行(“PAL”)编码器、顺序传送彩色与存储(“SECAM”)编码器、国家电视系统委员会(“NTSC”)编码器或任何其它类型的视频编码器134。视频编码器134耦合到多核中央处理单元(“CPU”)110。视频放大器136耦合到视频编码器134和触屏显示器132。视频端口138耦合到视频放大器136。如在图2中所示的,通用串行总线(“USB”)控制器140耦合到CPU 110。此外,USB端口142耦合到USB控制器140。存储器112和用户识别模块(SIM)卡146也可以耦合到CPU 110。此外,如在图2中所示,数字相机148可以耦合到CPU 110。在示例性方面,数字相机148是电荷耦合设备(“CCD”)相机或互补金属氧化物半导体(“CMOS”)相机。
如在图2中进一步示出的,立体声音频编解码器CODEC 150可以耦合到模拟信号处理器126。此外,音频放大器152可以耦合到立体声音频编解码器150。在示例性方面,第一立体声扬声器154和第二立体声扬声器156可以耦合到音频放大器152。图2显示麦克风放大器158也可以耦合到立体声音频编解码器150。此外,麦克风160可以耦合到麦克风放大器158。在特定方面,调频(“FM”)无线调谐器162可以耦合到立体声音频编解码器150。此外,FM天线164耦合到FM无线调谐器162。此外,立体声耳机166可以耦合到立体声音频编解码器150。
图2进一步指示射频(“RF”)收发机168可以耦合到模拟信号处理器126。RF开关170可以耦合到RF收发机168和RF天线172。如在图2中所示,键盘174可以耦合到模拟信号处理器126。此外,具有麦克风的单声道耳机176可以耦合到模拟信号处理器126。此外,振动器设备178耦合到模拟信号处理器126。图2还示出了电源188,例如电池,通过PMIC 180耦合到片上系统102。在特定方面,电源包括可充电DC电池或衍生自交流(“AC”)到连接到AC电源的DC变压器的DC电源。
CPU 110还可以耦合到一个或多个内部的、片上的热传感器157A以及一个或多个外部的、片外热传感器157C。片上热传感器157A可以包括一个或多个正比于绝对温度(“PAPT”)的温度传感器,所述温度传感器基于垂直PNP结构并且通常专用于互补金属氧化物半导体(“CMOS”)超大规模集成(“VLSI”)电路。片外热传感器157C可以包括一个或多个热敏电阻器。热传感器157C可以产生利用模拟到数字转换器(ADC)控制器103转换为数字信号的压降。然而,在不脱离本发明范围的情况下,可以使用其它类型的热传感器157A、157B、157C。
DVFS模块26和ATM模块101可以包括由CPU 110执行的软件。然而,DVFS模块26和ATM模块101还可以在不脱离本发明的范围的情况下从硬件和/或固件形成。结合DVFS模块26的ATM模块101负责应用调节策略,所述调节策略帮助PCD 100避免热降级(thermal degradation)同时保持高等级的功能性和用户体验。
触屏显示器132、视频端口138、USB端口142、相机148、第一立体声扬声器154、第二立体声扬声器156、麦克风160、FM天线164、立体声耳机166、RF开关170、RF天线172、键盘174、单声道耳机176、振动器178、电源188、PMIC 180和热传感器157C都位于片上系统102外部。然而,应当理解的是,监控模块114还可以通过模拟信号处理器126和CPU 110从这些外部设备中的一个或多个接收一个或多个指示或信号,以帮助可在PCD 100上进行操作的资源的实时管理。
在特定方面,本文所描述的方法步骤的一个或多个可以由形成一个或多个ATM模块101和DVFS模块26的、存储在存储器112中的可执行指令和参数来实现。形成模块101、模块26的这些指令可以由CPU 110、模拟信号处理器126或另一个处理器(除了ADC控制器103外)来执行以执行本文所描述的方法。此外,处理器110、处理器126、存储器112、存储在存储器上的指令、或它们的组合可以作为用于执行本文所描述的方法步骤中的一个或多个的单元。
图3A是示出了用于图2中示出的芯片102的硬件的示例性空间安排的功能框图。根据这个示例性实施例,应用CPU 110位于芯片102的远端左侧区域而调制解调器CPU 168、调制解调器CPU 126位于芯片102的远端右侧区域。应用CPU 110可以包括包含第0内核222、第一内核224和第N内核230的多核处理器。应用CPU 110可以执行ATM模块101A和/或DVFS模块26A(当嵌入在软件中时)或它可以包括ATM模块101A和/或DVFS模块26A(当嵌入在硬件中时)。应用CPU 110还被示出为包括操作系统(“O/S”)模块207和监控模块114。下面结合图3B描述有关监控模块114的进一步的细节。
应用CPU 110可以耦合到一个或多个锁相环路(“PLL”)209A、锁相环路209B,其位于邻近应用CPU 110的位置并且位于芯片102的左侧区域。邻近PLL 209A、PLL 209B以及在应用CPU 110之下可以包括模拟到数字(“ADC”)控制器103,所述ADC控制器103可以包括结合应用CPU 110的主模块101A、主模块26A来工作的、它自己的自适应热管理模块101B和/或DVFS模块26B。
ADC控制器103的自适应热管理器101B可以负责监控和追踪在片上102和片外102提供的多个热传感器157。片上或内部热传感器157A、157B可以位于多个位置处并且与接近所述位置的热侵害方(例如与靠近第二和第三热图形处理器135B和135C的传感器157A3)或温度敏感部件(例如与靠近存储器112的传感器157B1)相关联。
作为非限制性例子,第一内部热传感器157B1可以位于应用CPU 110和调制解调器CPU 168、调制解调器CPU 126之间的芯片102的顶部中心区域并且邻近内部存储器112。第二内部热传感器157A2可以位于在芯片102的右侧区域上的调制解调器CPU 168、调制解调器CPU 126的下面。该第二内部热传感器157A2还可以位于高级精简指令集计算机(“RISC”)指令集机器(“ARM”)177和第一图形处理器135A之间。数字到模拟控制器(“DAC”)173可以位于第二内部热传感器157A2和调制解调器CPU 168、调制解调器CPU 126之间。
第三内部热传感器157A3可以位于在芯片102的远端右侧区域中的第二图形处理器135B和第三图形处理器135C之间。第四内部热传感器157A4可以位于芯片102的远端右侧区域内以及在第四图形处理器135D下面。并且第五内部热传感器157A5可以位于芯片102的远端左侧区域并且邻近PLL 209和ADC控制器103。
一个或多个外部热传感器157C还可以耦合到ADC控制器103。第一外部热传感器157C1可以位于片外并且可以邻近在芯片102中包括调制解调器CPU 168、调制解调器CPU 126、ARM 177和DAC 173的右上象限。第二外部热传感器157C2可以位于片外并且邻近在芯片102中可以包括第三图像处理器135C和第四图形处理器135D的右下象限。值得注意的是,可以利用外部热传感器157C中的一个或多个以指示PCD 100的触摸温度,即用户与PCD 100接触所感受的温度。
本领域的普通技术人员将会意识到,可以在不脱离本发明范围的情况下提供在图3A中示出的硬件的各种其它空间布置。图3A示出了另一个示例性空间布置以及主ATM模块101A和DVFS模块26A以及具有它的ATM模块101B和DVFS模块26B的ADC控制器103可以如何辨认热条件,所述热条件是图3A中示出的示例性空间布置的函数,如何将操作温度和/或触摸温度与温度阈值进行比较以及如何应用增量调节策略。
图3B是示出了图2和图3A的PCD 100的示例性软件架构的示意图,用于基于温度阈值支持自适应热管理策略的应用。任意数量的算法可以形成至少一个热管理策略或是至少一个热管理策略的一部分,所述至少一个热管理策略可以在某些热条件被满足时由ATM模块101应用,然而,在优选的实施例中,ATM模块101与DVFS模块26一起工作以增量地将电压和频率缩放策略应用到芯片102中的个别热侵害方,包括但不限于内核222、内核224和内核230。
如在图3B中所示,CPU或数字信号处理器110经由总线211耦合到存储器112。如上所述,CPU 110是具有N个内核处理器的多核处理器。也就是说,CPU 110包括第一内核222、第二内核224和第N内核230。如本领域的普通技术人员所公知的,所述第一内核222、第二内核224和第N内核230中的每一个都可用于支持专用应用或程序。可选地,一个或多个应用或程序可被分布用于在可用内核中的两个或更多个之上进行处理。
CPU 110可以从可能包含软件和/或硬件的ATM模块101和/或DVFS模块26接收命令。如果体现为软件,则模块101、模块26包括由CPU 110执行的指令,所述CPU 110向由CPU 110和其它处理器执行的其它应用程序发送命令。
CPU 110的第一内核222、第二内核224直到第N内核230可以集成到单个集成电路管芯上,或者它们可以集成或耦合到多电路封装中的分别的管芯上。经由一个或多个共享高速缓存器,设计师可以耦合第一内核222、第二内核224直到第N内核230,并且经由网络拓扑例如总线、环、网状结构和纵横式拓扑,他们可以实现消息或指令传递。
如本领域已知的,经由一个或多个有线或无线连接,总线211可以包括多个通信路径。总线211可以具有额外的要素,但是出于简化的目的将其省略了,例如控制器、缓冲器(高速缓存器)、驱动器、转发器和接收器以实现通信。此外,总线211可以包括地址、控制和/或数据连接以在前述的部件之间实现适当的通信。
当由PCD 100使用的逻辑是在软件中实现时,如在图3B中所示,应当注意的是,启动逻辑250、管理逻辑260、自适应热管理接口逻辑270、应用储存器280中的应用和文件系统290的部分中的一项或多项可以存储在任意计算机可读介质上以由任意计算机相关的系统或方法使用或结合任意计算机相关的系统或方法来使用。
在本文档的环境中,计算机可读介质是可以包含或存储由计算机相关的系统或方法使用的或结合计算机相关的系统或方法使用的计算机程序和数据的电、磁、光或其它物理设备或单元。各种逻辑元件和数据储存器可以体现在任意计算机可读介质中,所述任意计算机可读介质由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备来使用,诸如基于计算机的系统、包含处理器的系统、或可以从指令执行系统、装置或设备取得指令并且执行所述指令的其它系统。在本文档的环境中,“计算机可读介质”可以是能够存储、传送、传播、或传输由指令执行系统、装置或设备使用的或结合指令执行系统、装置或设备使用的程序的任何单元。
计算机可读介质可以是但不限于,例如电、磁、光、电磁、红外线或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的例子(非穷尽列表)可以包括以下内容:具有一个或多个导线的电连接(电的)、便携式计算机磁盘(磁的)、随机存取存储器(RAM)(电的)、只读存储器(ROM)(电的)、可擦除可编程只读存储器(EPROM、EEPROM或闪存)(电的)、光纤(光的)和便携式光盘只读存储器(CDROM)(光的)。需注意的是,计算机可读介质甚至可以是纸或可以将程序打印在上面的其它适当的介质,因为程序可以以电子方式获取,例如经由对纸或其它介质进行光学扫描,然后编译、解释或者如果需要的话以其它适当的方式进行处理,然后存储在计算机存储器中。
在替代实施例中,其中,启动逻辑250、管理逻辑260以及可能的自适应热管理接口逻辑270中的一个或多个是在硬件中实现的,可以利用下面的技术中的任意一些或组合来实现各种逻辑,其中每一种技术都为本领域技术人员所公知:具有用于对数据信号实现逻辑函数的逻辑门的分立逻辑电路、具有适当的组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
存储器112是非易失性数据存储设备,例如闪存或固态存储设备。虽然示出为单个设备,但存储器112可以是具有耦合到数字信号处理器110(或额外的处理器内核)的分别的数据储存器的分布式存储设备。
启动逻辑250包括用于选择性地识别、下载和执行选择程序的一个或多个可执行指令,所述选择程序用于管理或控制诸如第一内核222、第二内核224到第N内核230的一个或多个可用内核的性能。基于通过ATM模块101进行的各种温度测量与同PCD部件或方面相关联的阈值温度设置的对比,启动逻辑250可以识别、下载和执行选择程序。示例性选择程序可以在嵌入式文件系统290的程序储存器296中找到,并且由性能缩放算法297和一组参数298的具体组合来定义。当示例性选择程序由CPU 110中的一个或多个内核处理器执行时,示例性选择程序可以根据由监控模块114提供的一个或多个信号结合由一个或多个ATM模块101和DVFS模块26提供的控制信号来操作,以将各自的处理器内核的性能调高或调低。在这方面,监控模块114可以提供关于事件、过程、应用、资源状态条件、经过的时间以及接收自ATM模块101的温度的一个或多个指示符。
管理逻辑260包括用于在各自的处理器内核中的一个或多个上终止热管理程序以及选择性地识别、下载以及执行更加适当的替换程序的一个或多个可执行指令,所述更加适当的替代程序用于管理或控制可用内核中的一个或多个的性能。管理逻辑260被安排来在运行时或在PCD 100被设备的操作者供电和使用时执行这些功能。替换程序可以在嵌入式文件系统290的程序储存器296中发现,并且在一些实施例中,可以由性能缩放算法297和一组参数298的具体组合来定义。
当替换程序由数字信号处理器中的内核处理器中的一个或多个执行时,替换程序可以根据由监控模块114提供的一个或多个信号或在各种处理器内核的各自控制输入上提供的一个或多个信号进行操作,以缩放各自的处理器内核的性能。在这方面,响应于源自ATM 101的控制信号,监控模块114可以提供关于事件、过程、应用、资源状态条件、经过的时间、温度等的一个或多个指示符。
接口逻辑270包括用于呈现、管理以及与外部输入进行相互作用以观察、配置或以其它方式升级存储在嵌入式文件系统290中的信息的一个或多个可执行指令。在一个实施例中,接口逻辑270可以结合经由USB端口142接收的制造商输入进行操作。这些输入可以包括从程序储存器296删除或添加到程序储存器296的一个或多个程序。可选地,输入可以包括对程序储存器296中的程序中的一个或多个的编辑或改变。此外,输入可以识别对启动逻辑250和管理逻辑260中的一个或两个的一个或多个改变或整个替换。通过举例的方式,输入可以包括针对管理逻辑260的改变,所述改变指示PCD 100在接收到的信号功率降至识别的阈值以下时中止RF收发机168中的所有性能缩放。通过进一步举例的方式,所述输入可以包括针对管理逻辑260的改变,所述改变指示PCD 100在视频编解码器134有效时应用期望的程序。
接口逻辑270使得制造商能够在PCD 100上在定义的操作条件下可控制地配置和调整终端用户的体验。当存储器112为闪存时,启动逻辑250、管理逻辑260、接口逻辑270、应用储存器280中的应用程序或嵌入式文件系统290中的信息中的一个或多个可以被编辑、替换或以其它方式修改。在一些实施例中,接口逻辑270可以允许PCD 100的终端用户或操作者进行搜索、定位、修改或替换启动逻辑250、管理逻辑260、应用储存器280中的应用和嵌入式文件系统290中的信息。操作者可以使用得到的接口以做出改变,所述改变将在PCD 100的下一个启动时实现。可选地,操作者可以使用得到的接口来做出在运行期间实现的改变。
嵌入式文件系统290包括分层排列的热技术储存器292。在这方面,文件系统290可以包括它的总文件系统容量的保留部分,用于存储针对各种参数298的配置和管理的信息以及由PCD 100使用的热管理算法297。如在图3B中所示,储存器292包括内核储存器294,所述内核储存器294包括程序储存器296,所述程序储存器296包括一个或多个热管理程序。
图4包括图4A到图4D,图4是示出了用于PCD 100中的热能产生的自适应管理的方法400的逻辑流程图。图4的方法400开始于第一框402,在其中设置初始参数。所述参数包括重设时间参数、高采样速率和低采样速率、惩罚时间单元和温度阈值。一旦参数被设定,在框404,自适应热管理模块101可以结合监控模块114进行工作以监控各种温度阈值参数。在示例性实施例中,温度阈值可以与PCD 100的内核结点、PoP存储器部件和外壳温度相关联。
由于与各个温度阈值相关联的传感器在框404处受到监控,因此在决定框406可以确定初始阈值是否被超出。初始阈值可能大大低于与结点、PoP或外壳方面相关联的任何温度阈值。如果初始阈值还未被超出,那么沿着“否”分支返回到框404并且进一步监控传感器。如果初始阈值被违背,则将中断信号发送到监控模块114和/或ATM模块101,并且沿着“是”分支到框408。在框408,以低采样速率启动对各个传感器157的采样。
在框408以低采样速率对传感器进行监控的情况下,将结点温度、PoP温度和/或外壳温度与它们各自的预设阈值相比较。如果在决定框410和框412证实结点温度阈值、PoP温度阈值和/或触摸温度阈值都没有被超出,则沿着“否”分支到框414,并且在下一个间隔再次对传感器进行采样。值得注意的是,如本领域的普通技术人员将会意识到的,间隔持续时间由采样速率规定,所述采样速率在框414保持为低采样速率。在决定框416,在框414的额外时间间隔之后,如果确定初始阈值违背被清除,那么沿着“是”分支到框418,并且采样工作结束。值得注意的是,在方法400中,至此点,示例性内核已经运行在最高性能等级。
返回到决定框416,如果确定初始温度阈值违背已经被清除,那么沿着“否”分支回到决定框410和412。假设在决定框410和412仍然没有结点温度、PoP温度和/或外壳温度违背,则循环以低采样速率在另一个间隔内重复。然而,如果在决定框410确定已经超出结点温度限度,那么沿着“是”分支到框420(图4B)。类似地,如果在决定框412确定已经违背了PoP温度限度或外壳温度限度,那么沿着“是”分支到框438(图4C)。
假设到现在还没有违背结点限度但是却违背了PoP和/或外壳温度限度,则方法400从决定框412前进到框438,其中,示例性处理内核立即被从最高性能等级调节到较小性能等级。采样速率继续处于低采样速率,并且在下一个间隔,决定框440询问PoP和/或外壳温度阈值违背是否已经被清除。也就是说,鉴于示例性内核的性能等级从默认的最高性能等级被降低一个层级,在决定框440,确定这样的功耗减少是否足以缓解热能产生,从而使得温度读数下降到阈值以下。如果阈值违背被清除,那么沿着“是”分支到框448并且在等于在框402中配置的惩罚时段的时间段内保持降低的性能等级。值得注意的是,在一些实施例中,由于在被允许提高回到它的最高性能等级(在框450)之前,工作负载没有繁重到足以批准对示例性内核进行激烈的多级调节,因此可以预见在方法400中可能不在该点施加惩罚时段。
有关惩罚时段,可以预见的是一些实施例可能根本不用惩罚时段。其它实施例可能仅在满足某些条件时施加惩罚时段,所述某些条件例如但不限于在复位时段届满之前重新进入RAMP_DOWN状态。尽管如此,由于自适应热管理方法通过各种工作负载的处理而进行,其它实施例可以提高惩罚时段。
返回到方法400,如果在决定框440确定在采样间隔后PoP和/或外壳温度阈值违背还没有被清除,则沿着“否”分支到决定模块442并且确定下一个较低的功率等级是否可用于示例性内核。如果是,则内核保持在RAMP_DOWN状态,并且在框444将示例性内核的功率等级降低额外的单个层级。在框446,采样在额外的间隔内以低采样速率继续,并且所述方法返回到决定模块440,其中再次检查阈值以便进行清除。
如果在决定框442确定下一个较低的性能等级不可用于示例性处理部件,即,斜降循环继续下去直到处理器以它的最低可用功率等级运行才清除功率违背,那么沿着“否”分支直到框452并且保持最低性能等级。在决定框454持续地以低采样速率间隔检查PoP和/或触摸温度违背,直到所有的违背都被清除。一旦所有的PoP和/或触摸温度违背都被清除,则沿着“是”分支从决定框454到框448。如上所述,在框448,施加惩罚时段(如果有的话),并且在接到准许以在框450提高回到它的最高性能等级之前,示例性处理部件在惩罚时段的持续时间内保持在它的最低功率等级。
一旦示例性内核被允许在框450退出RAMP_DOWN状态并且将它的功率等级提高回到最高,方法400继续进行到图4D的框456。在框456,用于自适应热管理的某些方法可以施加在框402处配置的重设时段。在重设时段期间,在框458,监控各种温度传感器157并且将它们的温度读数与相关联的温度阈值相比较。如果在决定框460确定在重设时段期间没有违背阈值,那么沿着“否”分支到框462,并且积累到那一点的任何惩罚时段被清除并且过程返回到图4A的框404。然而,如果在决定框460确定各个阈值中的任何一个在重设时段结束之前被违背,那么可以在框464将惩罚时段增加惩罚值。
以这种方式,在内核被准许退出RAMP_DOWN状态之后几乎立即导致温度阈值被违背的繁重工作负载将影响内核在重新进入时保持在RAMP_DOWN状态的持续时间,从而稳定地增加用于热能消散的机会直到完成工作负载。在框464之后,方法400前进到框420或框438。值得注意的是,如果在重设时段终止之前被违背的温度阈值是PoP温度阈值或者是外壳温度阈值,那么过程返回到图4C的框438,并且方法如上所述地继续进行,除了作为在框464采取的行动的结果,在框448处施加的任何惩罚时段将被增加。然而,如果在重设时段终止之前被违背的温度阈值是结点温度阈值,那么过程返回到图4B的框420,并且方法如下描述地继续进行,除了作为在框464采取的行动的结果,在框434施加的任何惩罚时段将被增加。
返回到图4A的决定框410,如果结点温度阈值被超出,那么沿着“是”分支到图4B的框420。值得注意的是,本领域普通技术人员将会理解,与PCD中的处理部件的结点方面相关联的温度对PCD的健康可能很重要。
在框420,示例性内核的功率等级被降低一个等级,并且以高采样速率对与内核的结点相关联的温度传感器157A进行采样。在一个采样间隔之后,检查温度传感器157A以确定结点限度违背是否由于降低的功率等级而被清除。如果没有,则沿着“否”分支到决定框424,并且与此同时确定是否已经超出更高、更关键的阈值。值得注意的是,在热失控状况下,例如,内核的温度可以继续上升而不管内核功率等级的降低。如果超出了临界温度等级,则沿着“是”分支从决定框424到框436,并且针对内核的功率衰竭。通过在框436将内核关闭,可以避免内核的热降级并且维持PCD的健康。
返回到决定框424,如果临界阈值没有被违背(而根据框422结点阈值违背还没有被清除),那么沿着“否”分支到决定框426。在决定框426,确定较低的性能等级是否可用,并且如果是,则沿着“是”分支到框428。如果不是,则沿着“否”分支到框436并且内核的功率衰竭。在一些实施例中,可以将内核保持在最低等级代替功率衰竭,希望结点阈值违背可以随后清除。
如果下一个较低的功率等级可用并且在框428被应用,那么在框430,继续高采样速率并且过程返回到决定框422。如果在任何时间在决定框422确定结点温度阈值违背清除,那么沿着“是”分支到决定框432。在决定框432,确定是否仍然存在PoP和/或触摸温度违背,并且如果是,则沿着“是”分支返回到图4C的框438(如上所述)。如果在决定框432没有识别出PoP和/或外壳温度违背(即所有的违背都已经清除),那么沿着“否”分支到框434。在框434,在惩罚时段内,保持示例性内核在RAMP_DOWN时段期间被降至的性能等级。在惩罚时段的最后,在框435,准许示例性处理部件退出RAMP_DOWN时段并且恢复以它的最高功率等级处理工作负载。由于重设时段的应用和随后的惩罚时段的可能调整,过程返回到图4D的框456。
图5是示出了由与图1的PCD内的传感器157相关联的温度读数触发的各种自适应热管理策略状态505、510、515的示例性状态图500。第一策略状态505可以包括MAX_PERF状态,其中ATM模块101已经准许示例性处理部件以最高性能等级处理工作负载。如上所述,处理部件可以保持在MAX_PERF状态,除非以及直到识别出温度阈值违背。
在识别出温度阈值违背同时处理部件在MAX_PERF状态的情况下,ATM模块101可以指示处理部件进入第二策略状态510并且将它的性能等级斜降一个层级。在RAMP_DOWN状态,系统地并且增量地降低处理部件的功率等级直到由部件产生的热能达到允许清除观察到的阈值违背的等级。一旦所有的违背都被清除,可以准许处理部件退出RAMP_DOWN状态并且将它的功率等级提高回最高。
当在RAMP_DOWN策略状态时,ATM模块101可以与DVFS模块26合作以继续一次一个层级地降低处理部件的性能等级直到确定出热侵害型处理部件可以工作而不会导致温度违背的最高功耗等级为止。以这种方式,自适应热管理系统和方法的优势是可以优化用户体验和QoS,而不用管PCD外形规格或被处理的具体工作负载。
如果一个或多个温度阈值没有因为RAMP_DOWN状态中降低的功率等级而被清除,那么可以由ATM模块101指示处理部件进入第三策略状态515、CORE_OFF和功率衰竭。为了努力避免热失控和对部件的永久性热降级,可以使处理部件功率衰竭。在CORE_OFF状态中功率衰竭之后,可以在所有违背都被清除之后将处理部件重启到MAX_PERF。
图6是示出了与图5中的具体策略状态505、510、515相关联的示例性状况的示意图。当在MAX_PERF状态505中时,处理部件促成了超出初始阈值的温度状况,但是没有温度被确认为超出与结点限度、PoP存储限度和/或触摸温度限度相关联的热阈值。因此,处理部件可以以全功率和频率运行,从而以它的最高效率处理工作负载。MAX_PERF状态505的特征在于低采样速率(如果有任何采样速率的话)和高QoS和用户体验。
在第二RAMP_DOWN状态510中,温度阈值可能已经被超出,从而批准降低处理部件的功率以努力减少热能产生以及清除温度违背。如上所述,可以增量地降低功率等级直到违背被清除。以这种方式确定出处理器可以工作而不导致给定的温度阈值被违背的最高处理等级。在所有的温度违背都被清除后,第二RAMP_DOWN状态510中的处理部件可以在惩罚时段内保持在RAMP_DOWN状态510。虽然QoS是按照寻求受到管理的温度状况进行优化的,但是RAMP_DOWN状态510的特征在于降低的QoS和用户体验。
在第三CORE_OFF状态510中,可以使处理部件功率衰竭以努力避免对所述部件或PCD 100中的其它部件造成永久的损害。在某些实施例中,由于结点温度限度被超出但没有在RAMP_DOWN状态510中进行清除,所以处理部件可以进入CORE_OFF状态515。
图7是示出了用于应用动态电压和频率缩放(“DVFS”)热缓解技术的子方法或子例程420、438的逻辑流程图。如上所述,在自适应热管理策略的应用中,DVFS技术可以被ATM模块101利用。在某些实施例中,可以以增量的方式将DVFS调节技术应用到个别处理部件,一次一个层级地降低给定内核的功率等级直到温度违背被清除。
如本领域的普通技术人员所理解的,对提供高性能和低功耗的处理器的需求导致了在处理器设计中对各种功率管理技术的使用,例如动态电压和频率缩放,有时称为动态电压和电流缩放(“DVCS”)。DVFS在功耗和性能之间实现了均衡。例如,处理器110和处理器126可被设计成通过允许随着电压中的相应调整而调整每个处理器的时钟频率来利用DVFS。
工作电压的降低通常导致成比例的节约消耗的功率。对于能够进行DVFS的处理器110、处理器126而言,一个主要的问题是如何控制性能和功率节约之间的平衡。
框705是用于在自适应热管理框架中应用DVFS热缓解技术的子方法或子例程420、438中的第一步。在该第一框705中,基于由热传感器157A提供的温度读数,ATM模块101可以确定温度阈值(例如结点阈值)已经被违背。从而,ATM模块101然后可以指示处理部件进入RAMP_DOWN状态510并对DVFS模块26启动指示以查看框710中的当前DVFS设置。接下来,在框715中,DVFS模块26可以确定可被降低的处理部件的功率等级。
接下来,在框720,为了缓解热负载状况,DVFS模块26可以调整或发布命令以增量地调整可以包括电压和/或频率的当前的DVFS设置。调整设置可以包括调整或“缩放”在DVFS算法中允许的最大时钟频率。如上所述,DVFS模块26可以专用于处理部件以及增量地、一次一个层级地调整处理部件的功率等级,直到由ATM模块101指示不再需要降低DVFS设置为止。值得注意的是,虽然在本公开内容中,监控模块114、ATM模块101和DVFS模块26被描述为具有分别功能的分别模块,应当理解的是,在一些实施例中,各个模块或各个模块的方面可以被组合到公共模块中,用于实现自适应热管理策略。
本说明书中所描述的过程或者过程流中的某些步骤本质上在其它步骤之前,以便本发明按照所描述的来运行。然而,如果这样的顺序或次序不改变发明的功能,那么所述发明不被限制于所描述的步骤的顺序。也就是说,认识到在不脱离本发明的范围和精神的情况下,一些步骤可以在其他步骤之前、之后或平行于(基本上同时地)其它步骤来执行。在一些实例中,在不脱离本发明的情况下,某些步骤可以被省略或不执行。此外,诸如“此后”、“然后”、“接下来”等的词语并不旨在限制所述步骤的顺序。这些词语仅仅被用来引导读者全篇阅读示例性方法的描述。
此外,编程领域的普通技术人员能够基于例如本说明书中的流程图和相关说明来不费劲地写出计算机代码或识别适当的硬件和/或电路,以实现公开的发明。因此,为了充分理解如何制作和使用所述发明而公开具体程序代码指令集或详细硬件设备并不被认为是必要的。在上述描述中以及结合附图详细解释了所要求保护的计算机实现过程的发明性功能,所述附图可以示出各种过程流。
在一个或多个示例性方面,所描述的功能可以在硬件、软件、固件或它们的任意组合中实现。如果在软件中实现,则可以将这些功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传送。计算机可读介质包括计算机存储介质和通信介质,通信介质包括便于将计算机程序从一个地方传送到另一个地方的任意介质。存储介质可以是能够被计算机访问的任意可用介质。通过举例而非限制的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储设备、或能够用来以指令或数据结构的形式携带或存储期望的程序代码单元并且能够被计算机访问的任何其它介质。
此外,任何连接都可以被适当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(“DSL”)、或诸如红外线、无线电和微波之类的无线技术从网站、服务器或其它远程源发送的,那么同轴电缆、光纤光缆、双绞线、DSL或诸如红外线、无线电和微波之类的无线技术都包括在介质的定义内。
如本文所使用的磁盘和光盘包括压缩光盘(“CD”)、激光光盘、光学光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘利用激光光学地复制数据。以上的组合也应当包括在计算机可读介质的范围内。
因此,虽然已经详细说明和描述了所选方面,但是应当理解的是,可以在不脱离如下述权利要求所定义的本发明的精神和范围的情况下做出各种替换和变更。
Claims (40)
1.一种用于便携式计算设备(“PCD”)中的自适应热管理的方法,所述方法包括:
为所述PCD中的一个或多个处理部件定义离散数量的性能等级,其中,所述性能等级中的每一个性能等级与供应给所述一个或多个处理部件的功率频率相关联;
定义与所述PCD中的一个或多个部件相关联的温度阈值,其中,所述一个或多个部件中的每一个部件是结点部件、封装体叠层(“PoP”)存储器部件或外壳部件;
监控所述PCD中的多个温度传感器,其中,每个温度传感器与结点部件、封装体叠层(“PoP”)存储器部件和外壳部件中的一个相关联;
从所述多个温度传感器中的一个温度传感器接收中断信号,其中,所述中断信号指示已经超出了初始温度阈值;
以基于时间的间隔,以第一速率对来自所述多个温度传感器中的一个或多个温度传感器的温度信号进行采样;
接收指示所述温度阈值中的至少一个温度阈值已经被违背的温度信号;以及
将所述处理部件中的一个或多个处理部件的所述性能等级从最高性能等级降低为所定义的离散数量的性能等级内的次最高性能等级。
2.根据权利要求1所述的方法,还包括:
在额外的间隔内以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样;
接收指示所述温度阈值中的所述至少一个温度阈值仍然被违背的温度信号;以及
进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级。
3.根据权利要求1所述的方法,还包括:
在额外的间隔内以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样;
接收指示对所述温度阈值中的至少一个温度阈值的所述违背已经被清除的温度信号;以及
将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级。
4.根据权利要求3所述的方法,还包括:
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之前,在惩罚时段将所述性能等级保持在所述次最高性能等级;以及
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之后:
如果在重设时段期间接收到指示所述温度阈值中的所述至少一个温度阈值已经被违背的温度信号,那么提高随后的惩罚时段的持续时间;或
如果在重设时段期间没有接收到指示所述温度阈值中的所述至少一个温度阈值已经被违背的温度信号,那么将随后的惩罚时段的持续时间重设为默认持续时间。
5.根据权利要求1所述的方法,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与PoP存储器部件相关联。
6.根据权利要求1所述的方法,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与所述外壳部件相关联。
7.根据权利要求1所述的方法,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与结点部件相关联。
8.根据权利要求7所述的方法,还包括:
将对来自所述多个温度传感器中的一个或多个温度传感器的温度信号的所述采样从所述第一速率修改为第二速率,其中,所述第二速率包括在持续时间上比所述第一速率的所述基于时间的间隔短的基于时间的间隔。
9.根据权利要求8所述的方法,还包括:
在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的所述温度信号进行采样;
接收指示对与所述结点部件相关联的所述温度阈值的所述违背仍然为违背状态的温度信号;以及
进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级。
10.根据权利要求8所述的方法,还包括:
在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的温度信号进行采样;
接收指示对与所述结点部件相关联的所述温度阈值的所述违背已经被清除的温度信号;以及
将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级。
11.一种用于便携式计算设备(“PCD”)中的自适应热管理的计算机系统,所述系统包括:
动态电压和频率缩放(“DVFS”)模块,被配置为:
为所述PCD中的一个或多个处理部件定义离散数量的性能等级,其中,所述性能等级中的每一个性能等级与供应给所述一个或多个处理部件的功率频率相关联;以及
将所述处理部件中的一个或多个处理部件的所述性能等级从最高性能等级降低为所定义的离散数量的性能等级内的次最高性能等级;以及
自适应热管理(“ATM”)模块,被配置为:
定义与所述PCD中的一个或多个部件相关联的温度阈值,其中,所述一个或多个部件中的每一个部件是结点部件、封装体叠层(“PoP”)存储器部件或外壳部件;
监控所述PCD中的多个温度传感器,其中,每个温度传感器与结点部件、封装体叠层(“PoP”)存储器部件和外壳部件中的一个相关联;
从所述多个温度传感器中的一个温度传感器接收中断信号,其中,所述中断信号指示已经超出了初始温度阈值;
以基于时间的间隔,以第一速率对来自所述多个温度传感器中的一个或多个温度传感器的温度信号进行采样;以及
接收指示所述温度阈值中的至少一个温度阈值已经被违背的温度信号。
12.根据权利要求11所述的计算机系统,其中:
所述ATM模块还被配置为:
在额外的间隔内,以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样;以及
接收指示所述温度阈值中的所述至少一个温度阈值仍然被违背的温度信号;以及
所述DVFS模块还被配置为:
进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级。
13.根据权利要求11所述的计算机系统,其中:
所述ATM模块还被配置为:
在额外的间隔内,以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样;
接收指示对所述温度阈值中的至少一个温度阈值的所述违背已经被清除的温度信号;以及
所述DVFS模块还被配置为:
将所述一个或多个处理部件的所述性能等级从所述次最高性能等
级提高到所述最高性能等级。
14.根据权利要求13所述的计算机系统,其中:
所述DVFS模块还被配置为:
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之前,在惩罚时段将所述性能等级保持在所述次最高性能等级;以及
所述ATM模块还被配置为:
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之后:
如果在重设时段期间接收到指示所述温度阈值中的所述至少一个温度阈值已经被违背的温度信号,那么提高随后的惩罚时段的持续时间;或
如果在重设时段期间没有接收到指示所述温度阈值中的所述至少一个温度阈值已经被违背的温度信号,那么将随后的惩罚时段的持续时间重设为默认持续时间。
15.根据权利要求11所述的计算机系统,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与PoP存储器部件相关联。
16.根据权利要求11所述的计算机系统,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与所述外壳部件相关联。
17.根据权利要求11所述的计算机系统,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与结点部件相关联。
18.根据权利要求17所述的计算机系统,其中,所述ATM模块还被配置为:将对来自所述多个温度传感器中的一个或多个温度传感器的温度信号的所述采样从所述第一速率修改为第二速率,其中,所述第二速率包括在持续时间上比所述第一速率的所述基于时间的间隔短的基于时间的间隔。
19.根据权利要求18所述的计算机系统,其中:
所述ATM模块还被配置为:
在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的所述温度信号进行采样;
接收指示对与所述结点部件相关联的所述温度阈值的所述违背仍然为违背状态的温度信号;以及所述DVFS模块还被配置为:
进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级。
20.根据权利要求18所述的计算机系统,其中:
所述ATM模块还被配置为:
在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的温度信号进行采样;
接收指示对与所述结点部件相关联的所述温度阈值的所述违背已经被清除的温度信号;以及
所述DVFS模块还被配置为:
将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级。
21.一种用于便携式计算设备中的自适应热管理的计算机系统,所述系统包括:
用于为所述PCD中的一个或多个处理部件定义离散数量的性能等级的单元,其中,所述性能等级中的每一个性能等级与供应给所述一个或多个处理部件的功率频率相关联;
用于定义与所述PCD中的一个或多个部件相关联的温度阈值的单元,其中,所述一个或多个部件中的每一个部件是结点部件、封装体叠层(“PoP”)存储器部件或外壳部件;
监控所述PCD中的多个温度传感器,其中,每个温度传感器与结点部件、封装体叠层(“PoP”)存储器部件和外壳部件中的一个相关联;
用于从所述多个温度传感器中的一个温度传感器接收中断信号的单元,其中,所述中断信号指示已经超出了初始温度阈值;
用于以基于时间的间隔,以第一速率对来自所述多个温度传感器中的一个或多个温度传感器的温度信号进行采样的单元;
用于接收指示所述温度阈值中的至少一个温度阈值已经被违背的温度信号的单元;以及
用于将所述处理部件中的一个或多个处理部件的所述性能等级从最高性能等级降低为所定义的离散数量的性能等级内的次最高性能等级的单元。
22.根据权利要求21所述的计算机系统,还包括:
用于在额外的间隔内,以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样的单元;
用于接收指示所述温度阈值中的所述至少一个温度阈值仍然被违背的温度信号的单元;以及
用于进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级的单元。
23.根据权利要求21所述的计算机系统,还包括:
用于在额外的间隔内,以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样的单元;
用于接收指示对所述温度阈值中的所述至少一个温度阈值的所述违背已经被清除的温度信号的单元;以及
用于将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级的单元。
24.根据权利要求23所述的计算机系统,还包括:
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之前,用于在惩罚时段将所述性能等级保持在所述次最高性能等级的单元;以及
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之后,用于进行以下操作的单元:
如果在重设时段期间接收到指示所述温度阈值中的至少一个温度阈值已经被违背的温度信号,那么提高随后的惩罚时段的持续时间;或
如果在重设时段期间没有接收到指示所述温度阈值中的所述至少一个温度阈值已经被违背的温度信号,那么将随后的惩罚时段的持续时间重设为默认持续时间。
25.根据权利要求21所述的计算机系统,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与PoP存储器部件相关联。
26.根据权利要求21所述的计算机系统,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与所述外壳部件相关联。
27.根据权利要求21所述的计算机系统,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与结点部件相关联。
28.根据权利要求27所述的计算机系统,还包括:
用于将对来自所述多个温度传感器中的一个或多个温度传感器的温度信号的所述采样从所述第一速率修改为第二速率的单元,其中,所述第二速率包括在持续时间上比所述第一速率的所述基于时间的间隔短的基于时间的间隔。
29.根据权利要求28所述的计算机系统,还包括:
用于在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的所述温度信号进行采样的单元;
用于接收指示对与所述结点部件相关联的所述温度阈值的所述违背仍然为违背状态的温度信号的单元;以及
用于进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级的单元。
30.根据权利要求28所述的计算机系统,还包括:
用于在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的温度信号进行采样的单元;
用于接收指示对与所述结点部件相关联的所述温度阈值的所述违背已经被清除的温度信号的单元;以及
用于将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级的单元。
31.一种包含具有嵌入其中的计算机可读程序代码的计算机可用介质的计算机程序产品,所述计算机可读程序代码适于被执行以实现用于便携式计算设备中的自适应热管理的方法,所述方法包括:
为所述PCD中的一个或多个处理部件定义离散数量的性能等级,其中,所述性能等级中的每一个性能等级与供应给所述一个或多个处理部件的功率频率相关联;
定义与所述PCD中的一个或多个部件相关联的温度阈值,其中,所述一个或多个部件中的每一个部件是结点部件、封装体叠层(“PoP”)存储器部件或外壳部件;
监控所述PCD中的多个温度传感器,其中,每个温度传感器与结点部件、封装体叠层(“PoP”)存储器部件和外壳部件中的一个相关联;
从所述多个温度传感器中的一个温度传感器接收中断信号,其中,所述中断信号指示已经超出了初始温度阈值;
以基于时间的间隔,以第一速率对来自所述多个温度传感器中的一个或多个温度传感器的温度信号进行采样;
接收指示所述温度阈值中的至少一个温度阈值已经被违背的温度信号;以及
将所述处理部件中的一个或多个处理部件的所述性能等级从最高性能等级降低为所定义的离散数量的性能等级内的次最高性能等级。
32.根据权利要求31所述的计算机程序产品,还包括:
在额外的间隔,以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样;
接收指示所述温度阈值中的所述至少一个温度阈值仍然被违背的温度信号;以及
进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级。
33.根据权利要求31所述的计算机程序产品,还包括:
在额外的间隔内,以所述第一速率对指示所述温度阈值中的至少一个温度阈值被违背的温度信号进行采样;
接收指示对所述温度阈值中的至少一个温度阈值的所述违背已经被清除的温度信号;以及
将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级。
34.根据权利要求33所述的计算机程序产品,还包括:
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之前,在惩罚时段将所述性能等级保持在所述次最高性能等级;以及
在将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级之后:
如果在重设时段期间接收到指示所述温度阈值中的所述至少一个温度阈值已经被违背的温度信号,那么提高随后的惩罚时段的持续时间;或
如果在重设时段期间没有接收到指示所述温度阈值中的所述至少一个温度阈值已经被违背的温度信号,那么将随后的惩罚时段的持续时间重设为默认持续时间。
35.根据权利要求31所述的计算机程序产品,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与PoP存储器部件相关联。
36.根据权利要求31所述的计算机程序产品,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与所述外壳部件相关联。
37.根据权利要求31所述的计算机程序产品,其中,所述温度阈值中已经被违背的所述至少一个温度阈值与结点部件相关联。
38.根据权利要求37所述的计算机程序产品,还包括:
将对来自所述多个温度传感器中的一个或多个温度传感器的温度信号的所述采样从所述第一速率修改为第二速率,其中,所述第二速率包括在持续时间上比所述第一速率的所述基于时间的间隔短的基于时间的间隔。
39.根据权利要求38所述的计算机程序产品,还包括:
在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的所述温度信号进行采样;
接收指示对与所述结点部件相关联的所述温度阈值的所述违背仍然为违背状态的温度信号;以及
进一步将所述一个或多个处理部件的所述性能等级从所定义的离散数量的性能等级内的所述次最高性能等级降低单个等级。
40.根据权利要求38所述的计算机程序产品,还包括:
在额外的间隔内,以所述第二速率对指示与所述结点部件相关联的所述温度阈值被违背的温度信号进行采样;
接收指示对与所述结点部件相关联的所述温度阈值的所述违背已经被清除的温度信号;以及
将所述一个或多个处理部件的所述性能等级从所述次最高性能等级提高到所述最高性能等级。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/537,315 US8972759B2 (en) | 2012-06-29 | 2012-06-29 | Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period |
US13/537,315 | 2012-06-29 | ||
PCT/US2013/040787 WO2014003902A2 (en) | 2012-06-29 | 2013-05-13 | System and method for adaptive thermal management in a portable computing device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104412198A true CN104412198A (zh) | 2015-03-11 |
CN104412198B CN104412198B (zh) | 2016-06-08 |
Family
ID=48672791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380034325.5A Active CN104412198B (zh) | 2012-06-29 | 2013-05-13 | 用于便携式计算设备中的自适应热管理的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8972759B2 (zh) |
EP (1) | EP2867742B1 (zh) |
JP (1) | JP5781255B1 (zh) |
KR (1) | KR101566152B1 (zh) |
CN (1) | CN104412198B (zh) |
ES (1) | ES2588027T3 (zh) |
HU (1) | HUE030132T2 (zh) |
WO (1) | WO2014003902A2 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227604A (zh) * | 2016-07-27 | 2016-12-14 | 李媛媛 | 芯片中温度降低方法及系统 |
WO2018018448A1 (zh) * | 2016-07-27 | 2018-02-01 | 李媛媛 | 芯片中温度降低方法及系统 |
CN108700919A (zh) * | 2016-03-08 | 2018-10-23 | 高通股份有限公司 | 用于确定包含多个热力源的持续热功率包络的系统和方法 |
TWI696064B (zh) * | 2018-09-21 | 2020-06-11 | 廣達電腦股份有限公司 | 計算裝置中使用管理控制器的散熱管理方法與系統 |
CN111290564A (zh) * | 2018-12-07 | 2020-06-16 | 三星电子株式会社 | 存储系统及其操作方法 |
CN112470100A (zh) * | 2018-11-05 | 2021-03-09 | 惠普发展公司,有限责任合伙企业 | 动态热控制 |
CN113840362A (zh) * | 2021-11-26 | 2021-12-24 | 华中科技大学 | 一种基于能耗中断概率的手机终端优化方法 |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101840852B1 (ko) * | 2011-10-10 | 2018-03-22 | 삼성전자주식회사 | 모바일 장치의 표면 온도 관리 방법 및 멀티칩 패키지의 메모리 열관리 방법 |
US8972759B2 (en) | 2012-06-29 | 2015-03-03 | Qualcomm Incorporated | Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period |
WO2014051626A1 (en) * | 2012-09-28 | 2014-04-03 | Hewlett-Packard Development Company, L.P. | Temperature regulation of a cpu |
US9323300B2 (en) * | 2012-11-27 | 2016-04-26 | International Business Machines Corporation | Computing system voltage control |
US9218044B2 (en) * | 2012-11-27 | 2015-12-22 | International Business Machines Corporation | Computing system frequency target monitor |
US9354126B2 (en) * | 2012-11-30 | 2016-05-31 | International Business Machines Corporation | Calibrating thermal behavior of electronics |
US9404812B2 (en) * | 2013-03-14 | 2016-08-02 | Samsung Electronics Co., Ltd. | Method for detecting environmental value in electronic device and electronic device |
US9665141B2 (en) * | 2013-06-05 | 2017-05-30 | Apple Inc. | Thermal management of an integrated circuit |
US10025329B2 (en) * | 2013-08-21 | 2018-07-17 | Google Technology Holdings LLC | Method and apparatus for adjusting portable electronic device operation based on ambient temperature |
US9557786B2 (en) * | 2013-11-11 | 2017-01-31 | Mediatek Inc. | Power thermal policy using micro-throttle |
KR102160909B1 (ko) * | 2013-12-03 | 2020-09-29 | 삼성전자 주식회사 | 영상처리장치 및 그 제어방법 |
JP5820001B2 (ja) * | 2014-02-24 | 2015-11-24 | ファナック株式会社 | Cpuの異常検出機能を備えた制御装置 |
US9778731B2 (en) | 2014-03-28 | 2017-10-03 | Mediatek Inc. | Method for performing system power budgeting within electronic device, and associated apparatus |
JP6269253B2 (ja) * | 2014-03-29 | 2018-01-31 | 富士通株式会社 | 分散ストレージシステム、記憶装置制御方法、および記憶装置制御プログラム |
US10082847B2 (en) | 2014-04-01 | 2018-09-25 | Qualcomm Incorporated | Method and system for optimizing performance of a PCD while mitigating thermal generation |
US9582012B2 (en) | 2014-04-08 | 2017-02-28 | Qualcomm Incorporated | Energy efficiency aware thermal management in a multi-processor system on a chip |
US9971609B2 (en) * | 2014-06-05 | 2018-05-15 | American Megatrends, Inc. | Thermal watchdog process in host computer management and monitoring |
WO2016041509A1 (en) * | 2014-09-17 | 2016-03-24 | Mediatek Inc. | Dynamic frequency scaling in multi-processor systems |
US10557944B2 (en) * | 2014-10-27 | 2020-02-11 | Qualcomm Incorporated | Timing circuit calibration |
EP3196732B1 (en) * | 2014-12-12 | 2021-03-24 | VIA Alliance Semiconductor Co., Ltd. | System and method for dynamically adjusting voltage frequency |
US10061331B2 (en) | 2015-01-22 | 2018-08-28 | Qualcomm Incorporated | Systems and methods for detecting thermal runaway |
US9958921B2 (en) | 2015-03-09 | 2018-05-01 | Advanced Micro Devices, Inc. | Power management to change power limits based on device skin temperature |
US20160266629A1 (en) * | 2015-03-09 | 2016-09-15 | Advanced Micro Devices, Inc. | Changing power limits based on device state |
US10848408B2 (en) * | 2015-03-26 | 2020-11-24 | Vmware, Inc. | Methods and apparatus to control computing resource utilization of monitoring agents |
US9785209B2 (en) * | 2015-03-31 | 2017-10-10 | Qualcomm Incorporated | Thermal management in a computing device based on workload detection |
US10215800B2 (en) * | 2015-04-24 | 2019-02-26 | Qualcomm Incorporated | Device specific thermal mitigation |
US10114649B2 (en) | 2015-05-26 | 2018-10-30 | International Business Machines Corporation | Thermal availability based instruction assignment for execution |
KR102387203B1 (ko) * | 2015-06-03 | 2022-04-15 | 삼성전자주식회사 | 병합된 파워 레일을 통해 전원전압을 공급받는 시스템 온 칩 및 이를 포함하는 모바일 시스템 |
US20170038806A1 (en) | 2015-08-06 | 2017-02-09 | Qualcomm Incorporated | System and method for improved thermal management of a portable computing device with skin temperature sensors |
US10401235B2 (en) * | 2015-09-11 | 2019-09-03 | Qualcomm Incorporated | Thermal sensor placement for hotspot interpolation |
US10120426B2 (en) | 2015-12-09 | 2018-11-06 | Research & Business Foundation Sungkyunkwan University | Thermal management apparatus and method using dynamic thermal margin, and semiconductor processor device, non-volatile data storage device and access control method using the same |
KR101719074B1 (ko) * | 2015-12-09 | 2017-04-05 | 성균관대학교산학협력단 | 동적 열적 마진을 이용하는 반도체 프로세서 장치를 위한 열 관리 방법 및 장치 |
US10037258B2 (en) | 2016-02-01 | 2018-07-31 | Qualcomm Incorporated | System and method for intelligent thermal management using dynamic performance floors in a portable computing device |
US10496141B2 (en) * | 2016-03-17 | 2019-12-03 | Qualcomm Incorporated | System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture |
US10101799B2 (en) * | 2016-04-01 | 2018-10-16 | Quanta Computer Inc. | System and method for smart power clamping of a redundant power supply |
US11399720B2 (en) * | 2016-04-05 | 2022-08-02 | Qulacomm Incorporated | Circuits and methods providing temperature mitigation for computing devices |
US10175731B2 (en) | 2016-06-17 | 2019-01-08 | Microsoft Technology Licensing, Llc | Shared cooling for thermally connected components in electronic devices |
US10216246B2 (en) * | 2016-09-30 | 2019-02-26 | Intel Corporation | Multi-level loops for computer processor control |
KR102661491B1 (ko) | 2016-12-26 | 2024-04-29 | 삼성전자주식회사 | 동적 전압 주파수 스케일링을 사용하는 시스템 온 칩 및 그것의 동작 방법 |
KR102643797B1 (ko) * | 2017-01-10 | 2024-03-05 | 삼성전자주식회사 | 동적 발열 관리 방법 |
US11042174B2 (en) * | 2017-02-03 | 2021-06-22 | Qualcomm Incorporated | System and method for thermal management of a wearable computing device based on proximity to a user |
US10403189B2 (en) * | 2017-12-19 | 2019-09-03 | Dell Products L.P. | Compensating for temperature induced differences in a computing device having dual-displays or a foldable display |
US10732699B2 (en) * | 2018-02-23 | 2020-08-04 | Intel Corporation | Redundancy in distribution of voltage-frequency scaling parameters |
CN108804293A (zh) * | 2018-06-27 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种服务器及其非接触式存储设备温度监测装置 |
US10817039B2 (en) | 2018-08-31 | 2020-10-27 | Hewlett Packard Enterprise Development Lp | Adjusting a power limit in response to a temperature difference |
US10853547B2 (en) * | 2018-10-26 | 2020-12-01 | Dell Products, L.P. | System and method to identify critical FPGA card sensors |
US11079820B2 (en) * | 2019-01-15 | 2021-08-03 | Microsoft Technology Licensing, Llc | Method and apparatus for improving removable storage performance |
WO2020159481A1 (en) | 2019-01-29 | 2020-08-06 | Google Llc | Adaptive connection management for marginal network conditions |
US11140243B1 (en) * | 2019-03-30 | 2021-10-05 | Snap Inc. | Thermal state inference based frequency scaling |
US11442513B1 (en) | 2019-04-16 | 2022-09-13 | Snap Inc. | Configuration management based on thermal state |
US11379023B2 (en) * | 2019-07-15 | 2022-07-05 | Microsoft Technology Licensing, Llc | Regulating device surface temperature |
US11520311B2 (en) | 2019-07-25 | 2022-12-06 | Microsoft Technology Licensing, Llc | High performance removable storage devices |
US11109299B2 (en) | 2019-12-12 | 2021-08-31 | Google Llc | Adaptive public land mobile network management for varying network conditions |
US11762439B2 (en) * | 2019-12-17 | 2023-09-19 | Mediatek Inc. | Method and apparatus of dynamic thermal management based on surface temperatures of portable device |
US11832426B2 (en) * | 2020-06-11 | 2023-11-28 | Google Llc | Thermal mitigation for an electronic speaker device and associated apparatuses and methods |
US11301028B2 (en) | 2020-06-24 | 2022-04-12 | Motorola Mobility Llc | Time-based and temperature-based device thermal mitigation |
US11126440B1 (en) * | 2020-06-25 | 2021-09-21 | Amazon Technologies, Inc. | Identifying critical thermal conditions in multiple system-on-a-chip (SoC) systems |
US11443802B2 (en) | 2020-07-09 | 2022-09-13 | Numem Inc. | Adaptive memory management and control circuitry |
US11436025B2 (en) | 2020-07-09 | 2022-09-06 | Numem Inc. | Smart compute resistive memory |
CN115936080A (zh) * | 2021-10-01 | 2023-04-07 | 三星电子株式会社 | 用于大规模计算的设备和方法 |
CN116095801B (zh) * | 2023-04-13 | 2023-06-30 | 中国电信股份有限公司浙江分公司 | 一种基站设备高可靠性节能方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070260893A1 (en) * | 2006-05-03 | 2007-11-08 | Aguilar Maximino Jr | Dynamically adapting software for optimal thermal performance |
US20080036613A1 (en) * | 2002-10-03 | 2008-02-14 | Via Technologies, Inc. | Microprocessor with improved thermal monitoring and protection mechanism |
CN101351759A (zh) * | 2006-01-03 | 2009-01-21 | 先进微装置公司 | 用于在独立的频率及/或电压操作集成电路的组件的系统及方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940785A (en) * | 1996-04-29 | 1999-08-17 | International Business Machines Corporation | Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit |
US6535798B1 (en) * | 1998-12-03 | 2003-03-18 | Intel Corporation | Thermal management in a system |
US7231531B2 (en) | 2001-03-16 | 2007-06-12 | Dualcor Technologies, Inc. | Personal electronics device with a dual core processor |
US6889332B2 (en) * | 2001-12-11 | 2005-05-03 | Advanced Micro Devices, Inc. | Variable maximum die temperature based on performance state |
KR100935574B1 (ko) | 2002-11-04 | 2010-01-07 | 삼성전자주식회사 | Cpu 과열방지시스템 |
US7085945B2 (en) * | 2003-01-24 | 2006-08-01 | Intel Corporation | Using multiple thermal points to enable component level power and thermal management |
JP3912297B2 (ja) * | 2003-02-27 | 2007-05-09 | ソニー株式会社 | ファン制御装置およびファン制御方法 |
US7051221B2 (en) * | 2003-04-28 | 2006-05-23 | International Business Machines Corporation | Performance throttling for temperature reduction in a microprocessor |
US7062933B2 (en) | 2004-03-24 | 2006-06-20 | Intel Corporation | Separate thermal and electrical throttling limits in processors |
US20060161375A1 (en) | 2004-12-30 | 2006-07-20 | Allen Duberstein | Optimizing processing speed based on measured temperatures |
US7460932B2 (en) | 2005-11-29 | 2008-12-02 | International Business Machines Corporation | Support of deep power savings mode and partial good in a thermal management system |
US7480586B2 (en) * | 2005-11-29 | 2009-01-20 | International Business Machines Corporation | Thermal interrupt generation |
US7793125B2 (en) | 2007-01-10 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for power throttling a processor in an information handling system |
US20090327656A1 (en) | 2008-05-16 | 2009-12-31 | Dan Baum | Efficiency-based determination of operational characteristics |
US8775830B2 (en) | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US9667280B2 (en) | 2010-09-24 | 2017-05-30 | Qualcomm Incorporated | Methods and apparatus for touch temperature management based on power dissipation history |
US9317082B2 (en) * | 2010-10-13 | 2016-04-19 | Advanced Micro Devices, Inc. | Controlling operation of temperature sensors |
KR20120063340A (ko) | 2010-12-07 | 2012-06-15 | 전남대학교산학협력단 | 3차원 구조의 멀티코어 프로세서의 온도 조절 방법 및 그 방법을 이용한 3차원 구조의 멀티코어 프로세서 시스템 |
US8972759B2 (en) | 2012-06-29 | 2015-03-03 | Qualcomm Incorporated | Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period |
-
2012
- 2012-06-29 US US13/537,315 patent/US8972759B2/en active Active
-
2013
- 2013-05-13 HU HUE13730960A patent/HUE030132T2/en unknown
- 2013-05-13 WO PCT/US2013/040787 patent/WO2014003902A2/en active Application Filing
- 2013-05-13 CN CN201380034325.5A patent/CN104412198B/zh active Active
- 2013-05-13 ES ES13730960.5T patent/ES2588027T3/es active Active
- 2013-05-13 JP JP2015520186A patent/JP5781255B1/ja active Active
- 2013-05-13 KR KR1020157002316A patent/KR101566152B1/ko active IP Right Grant
- 2013-05-13 EP EP13730960.5A patent/EP2867742B1/en active Active
-
2015
- 2015-01-20 US US14/600,667 patent/US9360907B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080036613A1 (en) * | 2002-10-03 | 2008-02-14 | Via Technologies, Inc. | Microprocessor with improved thermal monitoring and protection mechanism |
CN101351759A (zh) * | 2006-01-03 | 2009-01-21 | 先进微装置公司 | 用于在独立的频率及/或电压操作集成电路的组件的系统及方法 |
US20070260893A1 (en) * | 2006-05-03 | 2007-11-08 | Aguilar Maximino Jr | Dynamically adapting software for optimal thermal performance |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108700919A (zh) * | 2016-03-08 | 2018-10-23 | 高通股份有限公司 | 用于确定包含多个热力源的持续热功率包络的系统和方法 |
CN106227604A (zh) * | 2016-07-27 | 2016-12-14 | 李媛媛 | 芯片中温度降低方法及系统 |
WO2018018448A1 (zh) * | 2016-07-27 | 2018-02-01 | 李媛媛 | 芯片中温度降低方法及系统 |
TWI696064B (zh) * | 2018-09-21 | 2020-06-11 | 廣達電腦股份有限公司 | 計算裝置中使用管理控制器的散熱管理方法與系統 |
US10782754B2 (en) | 2018-09-21 | 2020-09-22 | Quanta Computer Inc. | Thermal management via virtual BMC manager |
CN112470100A (zh) * | 2018-11-05 | 2021-03-09 | 惠普发展公司,有限责任合伙企业 | 动态热控制 |
CN111290564A (zh) * | 2018-12-07 | 2020-06-16 | 三星电子株式会社 | 存储系统及其操作方法 |
CN113840362A (zh) * | 2021-11-26 | 2021-12-24 | 华中科技大学 | 一种基于能耗中断概率的手机终端优化方法 |
CN113840362B (zh) * | 2021-11-26 | 2022-03-04 | 华中科技大学 | 一种基于能耗中断概率的手机终端优化方法 |
US11722965B2 (en) | 2021-11-26 | 2023-08-08 | Huazhong University Of Science And Technology | Method for optimizing mobile phone terminal based on probability of energy consumption-related interruption |
Also Published As
Publication number | Publication date |
---|---|
KR20150032314A (ko) | 2015-03-25 |
KR101566152B1 (ko) | 2015-11-04 |
EP2867742A2 (en) | 2015-05-06 |
CN104412198B (zh) | 2016-06-08 |
ES2588027T3 (es) | 2016-10-28 |
WO2014003902A3 (en) | 2014-03-20 |
JP5781255B1 (ja) | 2015-09-16 |
EP2867742B1 (en) | 2016-05-25 |
HUE030132T2 (en) | 2017-04-28 |
JP2015528160A (ja) | 2015-09-24 |
WO2014003902A2 (en) | 2014-01-03 |
US9360907B2 (en) | 2016-06-07 |
US8972759B2 (en) | 2015-03-03 |
US20140006818A1 (en) | 2014-01-02 |
US20150169016A1 (en) | 2015-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104412198B (zh) | 用于便携式计算设备中的自适应热管理的系统和方法 | |
CN105009021B (zh) | 用于使用热阻值预测最佳功率电平以实现便携式计算设备中的热管理的系统和方法 | |
EP3129854B1 (en) | Energy efficiency aware thermal management in a multi-processor system on a chip | |
US8601300B2 (en) | System and method for managing thermal energy generation in a heterogeneous multi-core processor | |
CN104838330A (zh) | 用于从便携式计算设备估计环境温度的系统和方法 | |
CN103688230B (zh) | 以主动负载转向预先取得热负载的方法和系统 | |
US9261933B2 (en) | Integrating energy budgets for power management | |
CN108780349A (zh) | 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法 | |
TW201329678A (zh) | 用於一行動裝置之鄰近基礎熱管理之系統及方法 | |
TW201306428A (zh) | 用於在可攜式計算器件中同時發生之電池充電之熱管理之方法及系統 | |
EP2912534A1 (en) | Modal workload scheduling in a heterogeneous multi-processor system on a chip | |
JP2017502383A (ja) | ポータブルコンピューティングデバイスにおけるシステムオンチップのマルチ相関学習型熱管理のためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |