KR20150032314A - 휴대용 컴퓨팅 디바이스에서 적응형 열 관리를 위한 시스템 및 방법 - Google Patents
휴대용 컴퓨팅 디바이스에서 적응형 열 관리를 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20150032314A KR20150032314A KR20157002316A KR20157002316A KR20150032314A KR 20150032314 A KR20150032314 A KR 20150032314A KR 20157002316 A KR20157002316 A KR 20157002316A KR 20157002316 A KR20157002316 A KR 20157002316A KR 20150032314 A KR20150032314 A KR 20150032314A
- Authority
- KR
- South Korea
- Prior art keywords
- temperature
- performance level
- violated
- thresholds
- processing components
- Prior art date
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
- Telephone Function (AREA)
- Microcomputers (AREA)
Abstract
휴대용 컴퓨팅 디바이스 (PCD) 에서 구현되는 적응형 열 관리 기법들에 대한 방법들 및 시스템들의 다양한 실시형태들이 개시된다. 특히, 많은 PCD 들에서, PCD 에서의 다양한 컴포넌트들과 연관된 온도 임계치들, 이로 제한되지는 않으나, 예컨대, 다이 접합부 온도들, 패키지 온 패키지 (PoP) 메모리 온도들, 및 디바이스 그 자체의 외부 표면들의 터치 온도는 PCD 의 성능 능력들이 활용될 수 있는 정도를 제한한다. 온도 임계치가 위반되는 경우에, 열적으로 악성인 프로세싱 컴포넌트(들)가 최대 동작 전력으로 돌아오는 것을 승인하기 전에 오직 위반을 없애는 만큼만 그리고 위반을 없애기 위해 필요한 동안만 PCD 의 성능이 희생된다는 것이, 적응형 열 관리를 위한 방법들 및 시스템들의 다양한 실시형태들의 이점이다.
Description
휴대용 컴퓨팅 디바이스 (portable computing device; "PCD") 들은 개인적 레벨 및 직업적 레벨로부터 사람에게 필요한 것으로 되고 있다. 이들 디바이스들은 셀룰러 전화기들, 휴대용 디지털 어시스턴트 (portable digital assistant; "PDA") 들, 휴대용 게임 콘솔들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수도 있다.
PCD 들의 한 가지 특별한 측면은 그것들은 통상적으로 팬 (fan) 들과 같은 능동적 냉각 디바이스들을 갖지 않는다는 것이며, 팬들은 보통 랩탑 컴퓨터 및 데스크탑 컴퓨터와 같은 보다 큰 컴퓨팅 디바이스드에서 발견된다. 팬들을 이용하는 대신에, PCD 들은 2 개 이상의 능동적이고 열을 생성하는 컴포넌트들이 서로 근위에 포지셔닝되지 않도록 전자 패키징의 공간적 배열에 의존할 수도 있다. 많은 PCD 들은 집합적으로 각각의 PCD 를 형성하는 전자 컴포넌트들 사이의 열 에너지를 관리하기 위해 열 싱크 (heat sink) 들과 같은 피동적 냉각 디바이스들에 또한 의존할 수도 있다.
현실은 PCD 들은 통상적으로 사이즈가 제한되고, 따라서, PCD 내의 컴포넌트들을 위한 공간은 보통 매우 특별하게 된다는 것이다. 그에 따라, 피동적 냉각 컴포넌트들의 현명한 공간적 배열들 또는 전략적 배치를 이용함으로써 프로세싱 컴포넌트들의 열 악화 또는 고장을 완화시키기 위해 엔지니어들 또는 설계자들을 위해 PCD 내의 충분한 공간이 보통은 있지 않다. 따라서, 현재의 시스템들 및 방법들은 열 에너지의 소멸을 모니터링하기 위해 PCD 칩 상에 내장된 다양한 온도 센서들에 의존하고, 그 다음에 열 에너지 발생을 감소시키도록 작업부하 할당들, 프로세싱 속도들 등을 조정하는 열 관리 기법들의 적용을 트리거링하기 위해 측정치들을 이용한다.
예를 들어, 현재의 시스템들 및 방법들은 미리 정의된 성능의 "레벨들" 로 프로세서의 전압 및 주파수를 조절한다 (throttle). 관측된 온도 판독물에 기초하여, 프로세서는 프로세서가 심한 작업부하 하에 있는 경우에 열 에너지 발생을 완화시키도록 미리 결정된 레벨로 램프 다운될 수도 있다. 특히, 프로세싱 자원들을 덜 요구하는 보다 가벼운 작업부하들을 위해, 심한 작업부하 하에서 열 에너지 발생을 완화시키도록 미리 결정된 레벨로 프로세서의 전압 및 주파수를 아래로 조절하는 것은 사용자에게 제공되는 서비스 품질 (quality of service; "QoS") 에 불필요하게 영향을 줄 수도 있다. 따라서, 그 기술에서 필요로 하는 것은 PCD 에서의 적응형 열 관리를 위한 시스템 및 방법이다. 좀더 구체적으로, 그 기술에서 필요로 하는 것은, 최악의 이용의 경우의 시나리오를 가정하는 미리 결정된 고정적인 완화 결정들을 하는 대신에, 개개의 프로세싱 컴포넌트들의 온도 판독물들 및 현재 주파수/전압 레벨들에 기초하여 실행 시간에 열 완화 결정들을 결정하는 시스템 및 방법이다.
휴대용 컴퓨팅 디바이스 (portable computing device; "PCD") 에서 구현되는 적응형 열 관리 기법들에 대한 방법들 및 시스템들의 다양한 실시형태들이 개시된다. 특히, 많은 PCD 들에서, PCD 에서의 다양한 컴포넌트들과 연관된 온도 임계치들, 이로 제한되지는 않으나, 예컨대, 다이 접합부 (die junction) 온도들, 패키지 온 패키지 (package on package; "PoP") 메모리 온도들, 및 디바이스 그 자체의 외부 표면들의 "터치 온도" 는 PCD 의 성능 능력들이 활용될 수 있는 정도를 제한한다. 일반적으로, PCD 의 다양한 컴포넌트들에 의해 보다 많은 전력이 소비됨에 따라, 결과적인 열 에너지의 발생은 온도 임계치들이 초과되는 것을 야기할 수 있으므로, 열 에너지 발생을 감소시키려고 PCD 의 성능이 희생되는 것을 필요로 하게 된다.
온도 임계치가 위반되는 경우에, 열적으로 악성인 (aggressive) 프로세싱 컴포넌트(들)가 최대 동작 전력으로 돌아오는 것을 승인하기 전에 위반을 없애기에 (clear) 필요한 만큼만 그리고 위반을 없애기 위해 필요한 동안만 PCD 의 성능이 희생된다는 것이, 적응형 열 관리를 위한 방법들 및 시스템들의 다양한 실시형태들의 이점이다. PCD 에서 적응형 열 관리를 위한 하나의 그러한 방법은 PCD 에서의 하나 이상의 프로세싱 컴포넌트들에 대한 이산 개수의 성능 레벨들을 처음에 정의하는 단계를 포함한다. 각각의 성능 레벨은 하나 이상의 프로세싱 컴포넌트들에 공급될 수도 있는 전력 주파수와 연관된다. 각각의 프로세싱 컴포넌트는 각각의 프로세싱 컴포넌트의 가장 높은 성능 레벨로 구동하는 것이 디폴트로 된다.
다음으로, PCD 에서의 하나 이상의 온도 민감 또는 중요 컴포넌트들과 연관된 온도 임계치들이 정의된다. 특히, PCD 에서의 많은 컴포넌트들에 있어서 발생되는 열 에너지의 양은 컴포넌트가 구동하도록 허용되는 전력 레벨과 직접적으로 상관관계가 있기 때문에, 이러한 온도 임계치들은 적응형 열 관리 시스템이 PCD 에서 프로세싱 컴포넌트들을 발동시키기 위해 추구할 수도 있는 "목표" 동작 온도들로 여겨질 수도 있다. 적응형 열 관리 시스템 및 방법의 일부 실시형태들에서, 온도 임계치들은 접합부 컴포넌트, PoP 메모리 컴포넌트, 또는 다른 외부 쉘 컴포넌트를 포함하여 하나 이상의 컴포넌트들과 연관된다.
동작 시에, 온도 민감 컴포넌트들과 연관된 온도들을 측정하거나 추론하는데 이용될 수도 있는 온도 센서들이 모니터링된다. 특히, 온도 민감 컴포넌트들 중 하나 이상의 온도 민감 컴포넌트는 또한 열적으로 악성인 컴포넌트일 수도 있다 - 또한 열적으로 악성인 컴포넌트일 수도 있는 온도 민감 컴포넌트의 비제한적인 예는 중앙 프로세싱 유닛에서의 코어이다 (코어의 접합부 측들은 온도가 중요하고, 코어는 작업부하의 프로세싱에 의해 전력을 소비하고 열 에너지를 발생시킨다).
일부 실시형태들에서, 온도 센서들은 온도 민감 컴포넌트들과 연관된 미리 설정된 열 임계치들 중 임의의 임계치보다 적은 초기 임계치의 위반으로부터 트리거링되는 인터럽트 신호를 위해 모니터링된다. 인터럽트를 수신할 시에, 시스템의 실시형태들은 상대적으로 느린 샘플링 레이트로 정의된 시간 기반 구간들로 센서들로부터 판독물들을 샘플링하기 시작할 수도 있다. 온도 임계치들 중 하나 이상의 온도 임계치가 위반되었음을 나타내는 구간에서 온도 판독물이 취해지는 경우, 실시형태들은 동적 전압 및 주파수 스케일링 (dynamic voltage and frequency scaling; "DVFS") 기법들을 활용하여 디폴트 최대 동작 레벨로부터 한 레벨 아래의 최대치로 하나 이상의 열적으로 악성인 프로세싱 컴포넌트들의 성능 레벨을 감소시킬 수도 있다. 다음 구간에서, 온도 판독물들이 다시 폴링되고 (poll), 위반이 없어지지 않은 경우, 열적으로 악성인 컴포넌트(들)의 성능 레벨은 다음으로 높은 레벨로 감소된다. 이러한 방식으로, 적응형 열 관리 실시형태들은 임의의 주어진 프로세싱 컴포넌트의 프로세싱 전력이 오직 임계치들 아래로 온도들을 유지하는데 요구되는 만큼만 감소되는 것을 보장한다.
특히, 일부 실시형태들에서, "중요한 임무 (mission critical)" 컴포넌트, 예컨대, 접합부 컴포넌트와 연관된 임계치의 위반은 보다 빠른 레이트로 센서들을 폴링하는 것을 트리거링하여 PCD 의 열 탈피의 기회들이 방지되는 것을 보장할 수도 있다. 또한, 일부 실시형태들에서, 열적으로 악성인 컴포넌트들의 전력 레벨로부터의 감소가 임계치의 위반이 없어지는 것을 가능하게 하는 레벨로 성공적으로 열 에너지 발생을 감소시킨 후에 패널티 기간들이 부과될 수도 있다. 패널티 기간들은, 얼마나 자주, 또는 얼마나 빠르게, 열적으로 악성인 프로세싱 컴포넌트(들)가 온도 임계치의 위반을 없애기 위해 램프 다운 상태에 진입하거나 재진입할 것을 적응형 열 관리 시스템이 요구하느냐에 기초하여 누적될 수도 있는 것으로 생각된다.
도면들에서, 달리 나타내어지지 않는 한 유사한 참조 부호들은 다양한 도면들에 걸쳐 유사한 부분들을 지칭한다. "102A" 또는 "102B" 와 같이 문자 명칭들을 갖는 참조 부호들에 있어서, 문자 명칭들은 동일한 도면에 존재하는 2 개의 유사한 부분들 또는 요소들을 구별할 수도 있다. 참조 부호들에 대한 문자 명칭들은 참조 부호가 모든 도면들에서 동일한 참조 부호를 갖는 모든 부분들을 망라하고자 하는 경우 생략될 수도 있다.
도 1 은 휴대용 컴퓨팅 디바이스 ("PCD") 에서 적응형 열 관리 방법론들을 구현하기 위한 온 칩 시스템의 실시형태를 도시하는 기능적 블록도이다;
도 2 는 실행 시간에 온도 판독물들 및 현재의 주파수/전압 레벨들에 기초하여 개개의 프로세싱 컴포넌트들의 적응형 열 관리를 위한 방법들 및 시스템들을 구현하기 위한 무선 전화기의 형태로, 도 1 의 PCD 의 예시적인 비제한적 양상을 도시하는 기능적 블록도이다;
도 3a 는 도 2 에 도시된 칩에 대한 하드웨어의 예시적인 공간적 배열을 도시하는 기능적 블록도이다;
도 3b 는 적응형 열 관리를 위한 도 2 의 PCD 의 예시적인 소프트웨어 아키텍처를 도시하는 개념도이다;
도 4 는 도 1 의 PCD 에서의 열 에너지 발생의 적응형 관리를 위한 방법을 도시하는 논리 흐름도이다;
도 5 는 도 1 의 PCD 내의 다양한 영역들 또는 컴포넌트들과 연관된 온도 판독물들, 및 도 1 의 PCD 내의 프로세싱 컴포넌트들의 과거 거동에 의해 트리거링되는 다양한 적응형 열 관리 정책 상태들을 도시하는 예시적인 상태도이다;
도 6 은 도 5 에 도시된 특정 정책 상태들과 연관된 예시적인 조건들을 도시하는 도면이다; 그리고
도 7 은 동적 전압 및 주파수 스케일링 ("DVFS") 열 완화 기법들을 적용하기 위한 하위 방법 또는 서브루틴들을 도시하는 논리적 흐름도이다.
도 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 내의 프로세싱 컴포넌트들의 맥락에, 개시된 실시형태들, 또는 그것들의 등가물들의 적용을 제한하지 않는다는 것을 당업자는 인식할 것이다. 즉, 실시형태들 중 많은 실시형태들이 프로세싱 컴포넌트의 맥락에서 설명되지만, 적응형 열 관리 정책들은, 이로 제한되는 않으나, 모뎀, 카메라, 무선 네트워크 인터페이스 제어기 (wireless network interface controller; "WNIC"), 디스플레이, 비디오 인코더, 주변 기기, 배터리 등을 포함하여, PCD 내의 임의의 기능 컴포넌트에 적용될 수도 있는 것으로 생각된다.
이러한 설명에서, 용어들 "열" 및 "열 에너지" 는 "온도" 의 유닛들에서 측정될 수 있는 에너지를 발생시키거나 소멸시킬 수 있는 디바이스 또는 컴포넌트와 연계하여 이용될 수도 있다는 것이 이해될 것이다. 결과적으로, 용어 "온도" 는, 일부 표준 값을 참조하여, "열 에너지" 발생 디바이스 또는 컴포넌트의 상대적 온기 또는 열의 부재를 나타낼 수도 있는 임의의 측정치를 구상한다는 것이 더 이해될 것이다. 예를 들어, 2 개의 컴포넌트들의 "온도" 는 2 개의 컴포넌트들이 "열적" 평형에 있는 경우 동일하다.
이러한 설명에서, 용어들 "작업부하", "프로세스 부하" 및 "프로세스 작업부하" 는 상호교환가능하게 이용되고, 일반적으로 주어진 실시형태에서 주어진 프로세싱 컴포넌트와 연관된 프로세싱 부담, 또는 프로세싱 부담의 퍼센트에 대한 것이다. 위에서 정의된 것에 더해, "프로세싱 컴포넌트" 또는 "열 에너지 발생 컴포넌트" 또는 "열 어그레서 (aggressor)" 는, 이로 제한되지는 않으나, 중앙 프로세싱 유닛, 그래픽 프로세싱 유닛, 코어, 메인 코어, 서브 코어, 프로세싱 영역, 하드웨어 엔진 등, 또는 휴대용 컴퓨팅 디바이스 내의 집적 회로 내에 있거나 집적 회로 외부에 있는 임의의 컴포넌트일 수도 있다. 또한, 용어들 "열 부하", "열 분배", "열 시그니처 (thermal signature)", "열 프로세싱 부하" 등은 프로세스 상에서 구동할 수도 있는 작업부하 부담들을 나타낸다는 점에서, 본 개시물에서 이러한 "열" 용어들의 이용은 프로세스 부하 분배들, 작업부하 부담들, 및 전력 소비와 관련될 수도 있다는 것을 당업자는 알 것이다.
이러한 설명에서, 용어들 "열 완화 기법(들)", "열 정책들", "열 관리", "열 완화 조치(들)", "일 성능 레벨로 조절하는 것 (throttle)" 등은 상호교환가능하게 이용된다. 특히, 이용의 특정 맥락에 따라, 이 단락에 열거된 용어들 중 임의의 용어는 열 에너지 발생의 대가로 성능을 증가시키거나, 성능의 대가로 열 에너지 발생을 감소시키거나, 그러한 목표들 사이에서 번갈아 하도록 동작가능한 하드웨어 및/또는 소프트웨어를 설명하는 역할을 할 수도 있다는 것을 당업자는 이해할 것이다.
이러한 설명에서, 용어 "휴대용 컴퓨팅 디바이스" ("PCD") 는 배터리와 같은 제한된 용량의 전력 공급기 상에서 동작하는 임의의 디바이스를 설명하는데 이용된다. 배터리로 동작되는 PCD 들이 수십 년간 이용되어 왔지만, 3 세대 ("3G") 및 4 세대 ("4G") 무선 기술의 출현과 결합하여 재충전가능한 배터리들에서의 기술적 진보들이 다수의 능력들을 갖는 많은 PCD 들을 가능하게 했다. 그러므로, PCD 는, 다른 것들 중에서, 셀룰러 전화기, 위성 전화기, 페이저, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 판독기, 미디어 재생기, 앞서 언급된 디바이스들의 조합, 및 무선 접속을 갖는 랩탑 컴퓨터일 수도 있다.
PCD 에서 열 에너지 발생을 관리하는 것은, 불필요하게 서비스 품질 (quality of service; "QoS") 에 영향을 미치지 않으면서, 코어(들)에서의 실리콘 접합부들, 패키지 온 패키지 ("PoP") 메모리 컴포넌트들, 및 다른 외부 쉘, 즉, PCD 의 "스킨 (skin)" 에서의 온도들과 상관관계가 있는 하나 이상의 센서 측정들을 활용함으써 달성될 수 있다. 그러한 컴포넌트들과 연관된 온도들을 엄밀하게 모니터링하여, PCD 에서의 적응형 열 정책 관리자 모듈은 열 에너지 발생을 완화시키고 중요한 온도 임계치들을 피하려는 노력으로 한 번에 하나의 빈만큼 열적으로 악성인 프로세싱 컴포넌트들의 성능 레벨들을 시스템적으로 그리고 개별적으로 감소시킬 수도 있다. 유리하게는, 최악의 경우의 시나리오들에서 열 에너지 발생을 완화시키기 위해 미리 결정된 감소된 프로세싱 성능 레벨로 반응적으로 점프하는 대신에, 특정한 컴포넌트가 동작하는 것을 허용할 수 있는 소정의 온도 지점들을 목표로 함으로써, 적응형 열 관리 시스템들 및 방법들은 임의의 작업부하 하에서 QoS 를 최적화할 수 있다. 또한, 그리고 당업자가 인지할 것으로, 적응형 열 관리 방법들은 주어진 작업부하 하의 주어진 PCD 에서 특정한 열 에너지 소멸의 역학에 관계없이 적용될 수 있기 때문에, 엔지니어들 및 설계자들은 PCD 의 특정 폼 팩터의 고려 없이 적응형 열 관리 접근법을 활용할 수도 있다.
특히, 적응형 열 관리 방법들의 예시적인 실시형태들이 중앙 프로세싱 유닛 ("CPU") 내의 코어들의 맥락에서 본원에서 설명되나, 적응형 열 관리 방법론들의 적용은 CPU 내의 코어들로 제한되지 않는다. 적응형 열 관리 방법들의 실시형태들은 시스템 온 칩 (system on a chip; "SoC") 내에 있을 수도 있는 임의의 컴포넌트로 확장될 수도 있고, 이로 제한되지는 않으나, 그래픽 프로세싱 유닛 ("GPU"), 모뎀 프로세서, 카메라 등과 같은 다수의 성능 레벨들에서 동작가능할 수도 있는 것으로 생각된다. 또한, 적응형 열 관리 알고리즘은 다수의 성능 레벨들로 동작될 수도 있는 SoC 내의 임의의 컴포넌트에 대해 개별적으로 활용될 수도 있는 것으로 생각된다. 그러한 경우들에서, SoC 의 그러한 컴포넌트들 상의 주어진 적응형 열 관리 알고리즘의 각각의 인스턴스 (instance) 는 열 제약들 내에서 일반적으로 SoC 에 대한 최상의 가능한 성능 상태를 결정하기 위해 다른 인스턴스들과 그 자체의 성능 상태를 공유할 수도 있는 것으로 또한 생각된다.
적응형 열 관리 접근법이 예시적인 PCD 에서의 프로세싱 코어에 적용될 수도 있는 방법의 비제한적인 예로서, 이산 개수의 성능 레벨들, P1, P2, P3, P4...P15 (여기서 P15 는 최대 성능 레벨을 표현하고, P1 은 가장 낮은 성능 레벨을 표현한다) 가 코어에 대해 정의되었다고 가정한다. 당업자들은 이해할 것으로, 레벨 P15 는 주어진 작업부하 부담에 대한 높은 QoS 레벨 및 높은 열 에너지 발생 레벨 양자 모두와 연관될 수도 있다. 유사하게, 동일한 작업부하 부담에 있어서, 레벨 P1 은 낮은 QoS 레벨 및 낮은 열 에너지 발생 레벨 양자 모두와 연관될 수도 있다.
또한:
접합부 온도 제한 임계치는 125℃ 로 설정되었다;
중요한 접합부 온도 제한은 145℃ 로 설정되었다;
PoP 메모리 온도 제한 임계치는 85℃ 로 설정되었다;
PCD 스킨 온도 제한 임계치는 55℃ 로 설정되었다;
알고리즘 재설정 시간, ALGO_RESET_TIME 은 30 초로 설정되었다;
높은 샘플링 레이트, HIGH_SAMPLING_RATE 는 50ms 로 설정되었다;
낮은 샘플링 레이트, LOW_SAMPLING_RATE 는 250ms 로 설정되었다; 그리고
패널티 양, PENALTY_UNIT_TIME 은 500ms 로 설정되었다고 가정한다.
비제한적인 예에서, 각각, 다이 접합부들, PoP 메모리 컴포넌트들, 및 PCD 스킨 온도와 연관된 온도 센서들의 샘플링은 (임의의 POP, 스킨, 또는 접합부 온도 임계치의 위반으로서 인식될 것보다 낮은) 미리 설정된 초기 임계치를 넘는 것으로 인식된 후에 시작된다. 일부 실시형태들에서, 센서 샘플링의 초기화를 트리거링하는 것은 센서들에 기초한 인터럽트의 이용으로 달성될 수도 있는 것으로 생각된다. 인터럽트가 발생되면, PCD 에서의 적응형 열 적응 관리 (adaptive thermal management; "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 의 시간 만에 스킨 위반이 없어지게 한다. 유사하게, 코어에 의해 발생된 열 에너지가 위반이 없어지게 하는 어느 지점으로 완화되기 전에 위반이 6 개의 레벨의 성능 감소를 요구하는 접합부 위반인 경우, 코어는 300ms 만에 성능 레벨 P15 에서 성능 레벨 P9 로 갈 것이다 (접합부 위반의 경우에, 샘플링 레이트는 50ms HIGH_SAMPLING_RATE 로 변화될 것이다). 안전한 성능 레벨, 즉, 주어진 온도 임계치가 초과되지 않게 하면서 코어가 구동할 수도 있는 최대 성능 레벨에 도달되면, 하기에서 설명되는 바와 같이, 패널티 타임아웃 계산이 적용될 수도 있다.
특히, 당업자에 의해 인지될 바와 같이, 코어를 클록킹 다운하는 것은 오직 아래로 P1 레벨로만 계속 일어날 수 있다. P1 성능 레벨에 있는 경우, ATM 모듈은 관측된 위반이 단지 스킨 및/또는 POP 위반인 경우 코어가 P1 레벨로부터 구동하는 것을 유지하는 것을 선택할 수도 있다. 그러한 경우에, 적응형 열 관리 방법을 받는 모든 프로세싱 컴포넌트들은 그것들의 각각의 P1 성능 레벨로 수렴될 수도 있는 것으로 생각된다. 이러한 가장 낮은 이용가능한 성능 레벨로의 수렴은, 이로 제한되지는 않으나, 임계치들이 정확하게 설정되지 않는 것, 또는 PCD 가 노출되는 주위 온도가 너무 높아 임의의 수단으로 위반들이 없어지는 것을 가능하게 할 레이트로는 열 에너지가 소멸될 수 없는 것을 포함하여 임의의 개수의 이유들로 일어날 수도 있다. 접합부 온도 임계 제한, 예컨대, 예시적인 145℃ 의 중요한 접합부 제한이 초과되는 경우, ATM 모듈은 코어에 대한 영구적인 손상을 방지하려는 노력으로 코어의 전력을 폭락시킬 것을 선택할 수도 있다.
일부 실시형태들에서, 오직 클록킹 다운이 완료된 후에만 RAMP_DOWN 상태에서 패널티가 적용될 수도 있다. 그래서, 예를 들어, 비제한적인 예에서 스킨 위반이 없어진 후에, ATM 모듈은 코어가 P15 최대 성능 레벨로 다시 가는 것이 승인되기 전에 계산된 패널티 시간을 보내게 할 수도 있다. 예에서, 패널티 지속기간은 500ms 로 설정되어, ATM 모듈은 스킨 위반이 없어진 후에 추가적인 500ms (즉, SLOW_SAMPLING_RATE 로 2 사이클) 동안 코어가 마지막 성능 레벨인 P12 인 채로 있게 할 것이다. 일부 실시형태들은 패널티 기간을 포함하지 않을 수도 있으나, 다른 실시형태들은 미리 설정된, 고정된 패널티 기간을 포함할 수도 있는 것으로 생각된다. 또 다른 실시형태들은 얼마나 자주 및/또는 얼마나 길게 코어가 RAMP_DOWN 상태로 진입하느냐에 따라 지속기간이 늘어나는 패널티 기간을 포함할 수도 있다.
당업자가 인지할 바와 같이, RAMP_DOWN 상태에서, 적응형 열 관리를 위한 시스템 및 방법은 코어를 최적 성능 레벨로 아래로 점증적으로 조절하는 수단을 활용할 수도 있다. 하기에서 보다 구체적으로 설명되는 바와 같이, 조절하는 전략들은 중앙 프로세싱 유닛 ("CPU") 등의 클록 속도와 같은, 하드웨어 및/또는 소프트웨어 파라미터들의 조정을 통해 PCD 의 성능을 증가시키기 위해 PCD 에 의해 사용될 수도 있는 다양한 방법들, 애플리케이션들, 및/또는 알고리즘들이다. 소정의 조절 전략들은 증가된 열 에너지 발생의 대가로 PCD 의 성능을 증가시킬 수도 있다; 그러나, 소정의 다른 조절 전략들은 PCD 성능을 감소시킴으로써 동작 온도에서의 해로운 상승을 완화시킬 수도 있다. 적응형 열 관리 정책에 의해 활용될 수도 있는 예시적인 조절 방법은, 도 7 과 관련하여 보다 상세히 설명되는, 동적 전압 및 주파수 스케일링 (dynamic voltage and frequency scaling; "DVFS") 방법이다. 본 명세서에서 설명되는 다양한 예시적인 실시형태들이, 열적으로 악성인 프로세싱 컴포넌트에 의한 열 에너지 발생을 완화시키기 위해 DVFS 와 같은 조절 방법론들을 이용하나, 적응형 열 관리를 위한 시스템들 및 방법들은 적합한 동작 온도를 목표로 하기 위한 노력으로 조절 기법들을 이용하는 것으로 제한되지는 않을 것으로 생각된다. 즉, 일부 실시형태들은 또한 또는 오직, 이로 제한되지는 않으나, 작업부하 이동 기법들과 같은 동작 시스템 레벨 열 완화 기법들을 활용할 수도 있는 것으로 생각된다.
도 1 은 휴대용 컴퓨팅 디바이스 (100) 에서 적응형 열 관리를 위한 온 칩 시스템 (102) 의 예시적 실시형태를 도시하는 기능적 블록도이다. 열 에너지 발생을 완화시키기 위한 노력으로 CPU (110) 와 같은 프로세싱 컴포넌트가 그것의 최대 성능 레벨이 조절되어 떨어져 RAMP_DOWN 상태로의 진입을 트리거링하기 위한 온도 임계치들을 설정하기 위해, 온 칩 시스템 (102) 은 코어들 (222, 224, 226, 228), PoP 메모리 (112A), 및 PCD 외부 쉘 (24) 과 같은 다양한 컴포넌트들과 연관된 온도들을 측정하기 위해 다양한 센서들 (157) 을 활용할 수도 있다. 유리하게는, 다양한 컴포넌트들과 연관된 온도들을 모니터링하고 열 어그레서들 (222, 224, 226, 228) 의 성능 레벨들을 점증적으로 조절함으로써, PCD (100) 의 사용자에 의해 경험되는 QoS 는 불필요한 지나친 조절을 방지하여 최적화될 수도 있다. 또한, PCD (100) 의 사용자에 의해 경험되는 QoS 는 가장 빠른 적당한 기회에 최대 성능 레벨로 돌아가는 것을 승인함으로써 더 최적화될 수도 있다.
일반적으로, 시스템은 2 개의 메인 모듈들을 사용하며, 일부 실시형태들에서는 단일 모듈로 포함될 수도 있다: (1) 모니터 모듈 (114) 에 의해 모니터링되는 온도 판독물들을 분석하고 (특히, 모니터 모듈 (114) 및 ATM 모듈 (101) 은 일부 실시형태들에서 동일한 것일 수도 있다), RAMP_DOWN 정책 상태로 진입하거나 RAMP_DOWN 정책 상태로부터 빠져나오는 것을 트리거링하기 위한 적응형 열 관리 ("ATM") 모듈 (101); 및 (2) ATM 모듈 (101) 로부터 수신된 명령들에 따라 개개의 프로세싱 컴포넌트들에 대해 점증적인 조절 전략들을 구현하기 위한 DVFS 모듈 (26). 유리하게는, 2 개의 메인 모듈들을 포함하는 시스템 및 방법의 실시형태들은 PCD (100) 내의 다른 컴포넌트들을 열 악화에 대해 위태롭게 하지 않거나 중요한 온도 임계치들을 초과하지 않으면서 PCD (100) 내의 컴포넌트들 (110) 에 대해 승인된 성능 레벨을 최적화하기 위해 온도 데이터를 활용한다.
도 2 는 실행 시간에 인식된 온도 판독물들 및 현재의 주파수/전압 레벨들에 기초하여 개개의 프로세싱 컴포넌트들의 적응형 열 관리를 위한 방법들 및 시스템들을 구현하는 무선 전화기의 형태로, 도 1 의 PCD (100) 의 예시적인 비제한적 양상을 도시하는 기능적 블록도이다. 도시된 바와 같이, PCD (100) 는 다중 코어 중앙 처리 유닛 ("CPU") (110) 및 함께 커플링되는 아날로그 신호 프로세서 (126) 를 포함하는 온 칩 시스템 (102) 을 포함한다. CPU (110) 는, 당업자에 의해 이해되는 바와 같이, 제 0 코어 (222), 제 1 코어 (224), 및 제 N 코어 (230) 까지를 포함할 수도 있다. 또한, CPU (110) 대신에, 당업자들에 의해 이해되는 바와 같이, 디지털 신호 프로세서 ("DSP") 가 또한 사용될 수도 있다.
일반적으로, 동적 전압 및 주파수 스케일링 ("DVFS") 모듈 (26) 은 PCD (100) 가 그것의 전력 레벨을 최적화하고 소정의 온도 임계치들을 해롭게 초과하지 않으면서 높은 기능성의 레벨을 유지하는 것을 돕도록 점증적인 방식으로 코어들 (222, 224, 230) 과 같은 개개의 프로세싱 컴포넌트들에 대한 조절 기법들을 구현하는 것을 담당할 수도 있다.
모니터 모듈 (114) 은 온 칩 시스템 (102) 도처에 분포된 다수의 동작 센서들 (예를 들어, 열 센서들 (157A, 157B)) 와, 그리고 PCD (100) 의 CPU (110) 뿐만 아니라 ATM 모듈 (101) 과도 통신한다. 일부 실시형태들에서, 모니터 모듈 (114) 은 PCD (100) 의 터치 온도와 연관된 온도 판독들을 위해 스킨 온도 센서들 (157C) 을 또한 모니터링한다. 다른 실시형태들에서, 모니터 모듈 (114) 은 칩 온도 센서들 (157A, 157B) 에 의해 취해진 판독물들과 함께 가능성 델타 (likely delta) 에 기초하여 터치 온도들을 추론할 수도 있다. ATM 모듈 (101) 은 초과된 온도 임계치들을 식별하고, 온도들을 감소시키려는 노력으로 칩 (102) 내의 식별된 컴포넌트들에 조절 전략들의 적용을 명령하기 위해 모니터 모듈 (114) 과 작업할 수도 있다.
도 2 에 도시된 바와 같이, 디스플레이 제어기 (128) 및 터치 스크린 제어기 (130) 는 디지털 신호 프로세서 (110) 에 커플링된다. 또한, 온칩 시스템 (102) 외부의 터치 스크린 디스플레이 (132) 가 디스플레이 제어기 (128) 및 터치 스크린 제어기 (130) 에 커플링된다. PCD (100) 는 비디오 인코더 (134), 예를 들어, 위상 교류 라인 (phase-alternating line; "PAL") 인코더, "SECAM" (sequential couleur avec memoire) 인코더, "NTSC" (national television system(s) committee) 인코더, 또는 임의의 다른 유형의 비디오 인코더 (134) 를 더 포함할 수도 있다. 비디오 인코더 (134) 는 다중 코어 중앙 프로세싱 유닛 ("CPU") (110) 에 커플링된다. 비디오 증폭기 (136) 가 비디오 인코더 (134) 와 터치스크린 디스플레이 (132) 에 커플링된다. 비디오 포트 (138) 가 비디오 증폭기 (136) 에 커플링된다. 도 2 에 도시된 바와 같이, 범용 직렬 버스 ("USB") 제어기 (140) 가 CPU (110) 에 커플링된다. 또한, USB 포트 (142) 가 USB 제어기 (140) 에 커플링된다. 메모리 (112) 및 가입자 식별 모듈 (subscriber identity module; SIM) 카드 (146) 가 또한 CPU (110) 에 커플링될 수도 있다. 또한, 도 2 에 도시된 바와 같이, 디지털 카메라 (148) 가 CPU (110) 에 커플링될 수도 있다. 예시적인 양상에서, 디지털 카메라 (148) 는 "CCD" (charge-coupled device) 카메라 또는 "CMOS" (complementary metal-oxide semiconductor) 카메라이다.
도 2 에서 더 도시되는 바와 같이, 스테레오 오디오 코덱 (150) 이 아날로그 신호 프로세서 (126) 에 커플링될 수도 있다. 또한, 오디오 증폭기 (152) 가 스테레오 오디오 코덱 (150) 에 커플링될 수도 있다. 예시적인 양상에서, 제 1 스테레오 스피커 (154) 및 제 2 스테레오 스피커 (156) 가 오디오 증폭기 (152) 에 커플링된다. 도 2 는, 마이크로폰 증폭기 (158) 가 스테레오 오디오 코덱 (150) 에 또한 커플링될 수도 있음을 도시한다. 또한, 마이크로폰 (160) 이 마이크로폰 증폭기 (158) 에 커플링될 수도 있다. 특정 양상에서, 주파수 변조 (frequency modulation; "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) 에 커플링되는 것을 또한 도시한다. 특정 양상에서, 전력 공급기는 AC 전원에 접속된 교류 ("AC") 대 DC 변압기로부터 유도되는 DC 전력 공급기 또는 재충전 가능한 DC 배터리를 포함한다.
CPU (110) 는 또한 하나 이상의 내부, 온 칩 열 센서들 (157A), 뿐만 아니라 하나 이상의 외부, 오프 칩 열 센서들 (157C) 에 커플링될 수도 있다. 온 칩 열 센서들 (157A) 은 수직 PNP 구조에 기초하고, 보통 "CMOS" (complementary metal oxide semiconductor) "VLSI" (very large-scale integration) 회로들에 전용되는 하나 이상의 "PTAT" (proportional to absolute temperature) 온도 센서들을 포함할 수도 있다. 오프 칩 열 센서들 (157C) 은 하나 이상의 서미스터 (thermistor) 들을 포함할 수도 있다. 열 센서들 (157C) 은 아날로그-대-디지털 컨버터 (analog-to-digital converter; "ADC") 제어기 (103) 로 디지털 신호들로 컨버팅되는 전압 강하를 생성할 수도 있다. 그러나, 다른 유형의 열 센서들 (157A, 157B, 157C) 이 본 발명의 범위로부터 벗어나지 않으면서 사용될 수도 있다.
DVFS 모듈(들) (26) 및 ATM 모듈(들) (101) 은 CPU (110) 에 의해 실행되는 소프트웨어를 포함할 수도 있다. 그러나, DVFS 모듈(들) (26) 및 ATM 모듈(들) (101) 은 또한 본 발명의 범위로부터 벗어나지 않으면서 하드웨어 및/또는 펌웨어로부터 형성될 수도 있다. DVFS 모듈(들) (26) 과 연계하여 ATM 모듈(들) (101) 은 PCD (100) 가 높은 레벨의 기능성 및 사용자 경험을 유지하면서 열 악화를 방지하는 것을 도울 수도 있는 조절 정책들을 적용하는 것을 담당할 수도 있다.
터치 스크린 디스플레이 (132), 비디오 포트 (138), UBS 포트 (142), 카메라 (148), 제 1 스테레오 스피커 (154), 제 2 스테레오 스피커 (156), 마이크로폰 (160), FM 안테나 (164), 스테레오 헤드폰들 (166), RF 스위치 (170), RF 안테나 (172), 키패드 (174), 모노 헤드셋 (176), 진동기 (178), 전력 공급기 (188), PMIC (180), 및 열 센서들 (157C) 은 온 칩 시스템 (102) 의 외부에 있다. 그러나, 모니터 모듈 (114) 은 또한 PCD (100) 상에서 동작가능한 자원들의 실시간 관리를 보조하기 위해 아날로그 신호 프로세서 (126) 및 CPU (110) 에 의해 이러한 외부 디바이스들 중 하나 이상으로부터 하나 이상의 표시들 및 신호들을 수신할 수도 있는 것으로 이해되어야 한다.
특정 양상에서, 본원에 설명된 방법 단계들 중 하나 이상의 방법 단계는 하나 이상의 ATM 모듈(들) (101) 및 DVFS 모듈(들) (26) 을 형성하는 메모리 (112) 에 저장된 실행가능한 명령들 및 파라미터들에 의해 구현될 수도 있다. 모듈(들) (101, 26) 을 형성하는 이러한 명령들은, 본원에서 설명된 방법들을 수행하기 위해, CPU (110), 아날로그 신호 프로세서 (126), 또는 다른 프로세서, 더불어 ADC 제어기 (103) 에 의해 실행될 수도 있다. 또한, 프로세서들 (110, 126), 메모리 (112), 메모리에 저장된 명령들, 또는 이들의 조합은 본원에서 설명된 방법 단계들 중 하나 이상의 방법 단계를 수행하는 수단으로서의 역할을 할 수도 있다.
도 3a 는 도 2 에 도시된 칩 (102) 에 대한 하드웨어의 예시적인 공간적 배열을 도시하는 기능적 블록도이다. 이러한 예시적인 실시형태에 따르면, 칩 (102) 의 좌측 구역 끝쪽에 애플리케이션 CPU (110) 가 포지셔닝되는 한편, 칩 (102) 의 우측 구역 끝쪽에 모뎀 CPU (168, 126) 가 포지셔닝된다. 애플리케이션 CPU (100) 는 제 0 코어 (222), 제 1 코어 (224), 및 제 N 코어 (230) 를 포함하는 다중 코어 프로세서를 포함할 수도 있다. 애플리케이션 CPU (110) 는 (소프트웨어로 구현되는 경우) ATM 모듈 (101A) 및/또는 DVFS 모듈 (26A) 을 실행할 수도 있거나, (하드웨어로 구현되는 경우) ATM 모듈 (101A) 및/또는 DVFS 모듈 (26A) 을 포함할 수도 있다. 애플리케이션 CPU (110) 는 운영 체제 ("O/S") 모듈 (207) 및 모니터 모듈 (114) 을 포함하는 것으로 더 도시된다. 모니터 모듈 (114) 에 대한 추가적인 세부사항들은 도 3b 와 연계하여 하기에서 설명될 것이다.
애플리케이션 CPU (110) 는 하나 이상의 위상 고정 루프 (phase locked loop; "PLL") 들 (209A, 209B) 에 커플링될 수도 있으며, 하나 이상의 위상 고정 루프는 애플리케이션 CPU (110) 에 인접하고 칩 (102) 의 좌측 구역에 포지셔닝된다. PLL들 (209A, 209B) 에 인접하고 애플리케이션 CPU (110) 의 아래에는 아날로그-대-디지털 (analog-to-digital; "ADC") 제어기 (103) 를 포함할 수도 있으며, 아날로그-대-디지털 제어기는 애플리케이션 CPU (110) 의 메인 모듈들 (101A, 26A) 과 연계하여 작동하는 그 자체의 적응형 열 관리 모듈 (101B) 및/또는 DVFS 모듈 (26B) 을 포함할 수도 있다.
ADC 제어기 (103) 의 적응형 열 관리자 (101B) 는 "온 칩" (102) 및 "오프 칩" (102) 에 제공될 수도 있는 다수의 열 센서들 (157) 을 모니터링하고 추적하는 것을 담당할 수도 있다. 온 칩 또는 내부 열 센서들 (157A, 157B) 은 다양한 위치들에 포지셔닝되고, 그 위치들 근위에 있는 열 어그레서(들)와 (예컨대, 제 2 및 제 3 열 그래픽 프로세서들 (135B 및 135C) 바로 옆의 센서 (157A3) 와) 또는 온도 민감 컴포넌트들과 (예컨대, 메모리 (112) 바로 옆의 센서 (157B1) 와) 와 연관될 수도 있다.
비제한적인 예로서, 제 1 내부 열 센서 (157B1) 는 애플리케이션 CPU (110) 와 모뎀 CPU (168, 126) 사이에서 칩 (102) 의 상부 중앙 구역에, 그리고 내부 메모리 (112) 에 인접하여 포지셔닝될 수도 있다. 제 2 내부 열 센서 (157A2) 는 칩 (102) 의 우측 구역 상의, 모뎀 CPU (168, 126) 아래에 포지셔닝될 수도 있다. 이러한 제 2 내부 열 센서 (157A2) 는 또한 고급 "RISC" (reduced instruction set computer) 명령 세트 머신 ("ARM") (177) 과 제 1 그래픽 프로세서 (135A) 사이에 포지셔닝될 수도 있다. 디지털-대-아날로그 제어기 ("DAC") (173) 가 제 2 내부 열 센서 (157A2) 와 모뎀 CPU (168, 126) 사이에 포지셔닝될 수도 있다.
제 3 내부 열 센서 (157A3) 가 칩 (102) 의 오른쪽 구역 끝에서 제 2 그래픽 프로세서 (135B) 와 제 3 그래픽 프로세서 (135C) 사이에 포지셔닝될 수도 있다. 제 4 내부 열 센서 (157A4) 가 칩 (102) 의 오른쪽 구역 끝에 그리고 제 4 그래픽 프로세서 (135D) 의 아래에 포지셔닝될 수도 있다. 그리고 제 5 내부 열 센서 (157A5) 가 칩 (102) 의 왼쪽 구역 끝에 그리고 PLL (209) 들 및 ADC 제어기 (103) 와 인접하여 포지셔닝될 수도 있다.
하나 이상의 외부 열 센서들 (157C) 이 또한 ADC 제어기 (103) 에 커플링될 수도 있다. 제 1 외부 열 센서 (157C1) 가 오프 칩으로 (off-chip), 그리고 모뎀 CPU (168, 126), ARM (177), 및 DAC (173) 를 포함할 수도 있는 칩 (102) 의 상부 오른쪽 사분면에 인접하여 포지셔닝될 수도 있다. 제 2 외부 열 센서 (157C2) 가 오프 칩으로, 그리고 제 3 및 제 4 그래픽 프로세서들 (135C, 135D) 을 포함할 수도 있는 칩 (102) 의 하부 오른쪽 사분면에 인접하여 포지셔닝될 수도 있다. 특히, 외부 열 센서들 (157C) 중 하나 이상의 외부 열 센서는 PCD (100) 의 터치 온도, 즉, PCD (100) 와 접촉하는 사용자에 의해 경험될 수도 있는 온도를 나타내는데 활용될 수도 있다.
도 3a 에 도시된 하드웨어의 다양한 다른 공간적 배열들이 본 발명의 범위로부터 벗어나지 않으면서 제공될 수도 있다는 것을 당업자는 인지할 것이다. 도 3a 는 다른 하나의 예시적인 공간적 배열, 및 그것의 ATM 및 DVFS 모듈들 (101B, 26B) 와 더불어 메인 ATM 및 DVFS 모듈들 (101A, 26A) 및 ADC 제어기 (103) 가 도 3a 에 도시된 예시적인 공간적 배열의 기능인 열 조건들을 인식하고, 온도 임계치들을 동작 온도들 및/또는 터치 온도들과 비교하고, 점증적인 조절 정책들을 적용할 수도 있는 방법을 도시한다.
도 3b 는 온도 임계치들에 기초하여 적응형 열 관리 정책들의 적용을 지원하기 위한 도 2 및 도 3a 의 PCD (100) 의 예시적인 소프트웨어 아키텍처를 도시하는 개념도이다. 소정의 열 조건들이 충족되는 경우 임의의 개수의 알고리즘들이 ATM 모듈 (101) 에 의해 적용될 수도 있는 적어도 하나의 열 관리 정책을 형성하거나 그 일부를 이룰 수도 있지만, 바람직한 실시형태에서, ATM 모듈 (101) 은 DVFS 모듈 (26) 과 작업하여, 이로 제한되지는 않으나, 코어들 (222, 224, 및 230) 을 포함하여 칩 (102) 에서의 개개의 열 어그레서들에 전압 및 주파수 스케일링 정책들을 점증적으로 적용한다.
도 3b 에 도시된 바와 같이, CPU 또는 디지털 신호 프로세서 (110) 는 버스 (211) 를 통해 메모리 (112) 에 커플링된다. 위에서 언급된 바와 같이, CPU (110) 는 N 개의 코어 프로세서들을 갖는 다중 코어 프로세서이다. 즉, CPU (110) 는 제 1 코어 (222), 제 2 코어 (224), 및 제 N 코어 (230) 를 포함한다. 당업자에게 알려진 바와 같이, 제 1 코어 (222), 제 2 코어 (224), 및 제 N 코어 (230) 의 각각은 전용 애플리케이션 또는 프로그램을 지원하는데 이용가능하다. 대안으로, 하나 이상의 애플리케이션들 또는 프로그램들이 이용가능한 코어들 중 2 개 이상의 코어들에 걸쳐 프로세싱을 하도록 분배될 수 있다.
CPU (110) 는 소프트웨어 및/또는 하드웨어를 포함할 수도 있는 ATM 모듈(들) (101) 및/또는 DVFS 모듈(들) (26) 로부터 커맨드들을 수신할 수도 있다. 소프트웨어로서 구현되는 경우, 모듈(들) (101, 26) 은 CPU (110) 및 다른 프로세서들에 의해 실행되는 다른 애플리케이션 프로그램들에 커맨드들을 발행하는 CPU (110) 에 의해 실행되는 명령들을 포함한다.
CPU (110) 의 제 1 코어 (222), 제 2 코어 (224) 부터 제 N 코어 (230) 까지는 단일 집적 회로 다이 상에 집적될 수도 있거나, 다중 회로 패킷에서 별개의 다이들에 집적되거나 커플링될 수도 있다. 설계자들은 하나 이상의 공유되는 캐쉬 (cache) 들을 통해 제 1 코어 (222), 제 2 코어 (224) 부터 제 N 코어 (230) 까지를 커플링할 수도 있고, 설계자들은 버스, 링, 메쉬, 및 크로스바 토폴로지들과 같은 네트워크 토폴로지들을 통해 전달되는 메시지 또는 명령을 구현할 수도 있다.
버스 (211) 는, 공지된 바와 같이, 하나 이상의 유선 접속 또는 무선 접속을 통한 다수의 통신 경로들을 포함할 수도 있다. 버스 (211) 는 통신을 가능하게 하기 위해 제어기들, 버퍼들 (캐쉬들), 드라이버들, 리피터들, 및 수신기들과 같은 추가적인 요소들을 가질 수도 있으며, 이는 간단함을 위해 생략된다. 또한, 버스 (211) 는 앞서 언급된 컴포넌트들 사이에서 적절한 통신들을 가능하게 하기 위한 주소, 제어, 및/또는 데이터 접속들을 포함할 수도 있다.
도 3b 에 도시된 바와 같이, PCD (100) 에 의해 이용되는 로직이 소프트웨어로 구현되는 경우, 시동 로직 (250), 관리 로직 (260), 적응형 열 관리 인터페이스 로직 (270), 애플리케이션 저장부 (280) 에서의 애플리케이션들, 및 파일 시스템 (290) 의 일부분들 중 하나 이상은 임의의 컴퓨터 관련 시스템 또는 방법에 의한 이용을 위해, 또는 임의의 컴퓨터 관련 시스템 또는 방법과 연계하여 임의의 컴퓨터 판독가능 매체 상에 저장될 수도 있다는 것이 유의되어야 한다.
이러한 문서의 맥락에서, 컴퓨터 판독가능 매체는 컴퓨터 관련 시스템 및 방법에 의한 이용을 위해 또는 컴퓨터 관련 시스템 또는 방법과 연계하여 컴퓨터 프로그램 및 데이터를 포함하거나 저장할 수 있는 전자적, 자기적, 광학적, 또는 다른 물리적 디바이스 또는 수단이다. 다양한 로직 요소들 및 데이터 저장부들은 명령 실행 시스템, 장치, 또는 디바이스, 예컨대, 컴퓨터 기반 시스템, 프로세서 포함 시스템, 또는 명령 실행 시스템, 장치, 또는 디바이스로부터 명령들을 불러오고 명령들을 실행할 수 있는 다른 시스템에 의한 이용을 위해, 또는 그와 연계하여 임의의 컴퓨터 판독가능 매체에 구현될 수도 있다. 본 문서의 맥락에서, "컴퓨터 판독가능 매체" 는 명령 실행 시스템, 장치, 또는 디바이스에 의한 이용을 위해 또는 그와 연결되어 프로그램을 저장, 통신, 전파, 또는 전송할 수 있는 임의의 수단을 포함할 수도 있다.
컴퓨터 판독가능 매체는, 예를 들어, 이로 제한되지는 않으나, 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템, 장치, 디바이스, 또는 전파 매체일 수 있다. 컴퓨터 판독가능 매체의 보다 구체적인 예들 (철저하지 않은 리스트) 은 다음을 포함할 것이다: 하나 이상의 와이어들을 갖는 전기적 접속부 (전자적), 휴대용 컴퓨터 디스켓 (자기적), 랜덤 액세스 메모리 (RAM) (전자적), 판독 전용 메모리 (ROM) (전자적), 소거가능한 프로그램가능 판독 전용 메모리 (EPROM, EEPROM, 또는 플래시 메모리) (전자적), 광 섬유 (광학적), 및 휴대용 컴팩트 디스크 판독 전용 메모리 (CDROM) (광학적). 컴퓨터 판독가능 매체는, 예를 들어, 종이 또는 다른 매체의 광학적 스캐닝을 통해 프로그램이 전자적으로 캡쳐되고, 그 다음에 컴파일링되며, 해석되거나, 그렇지 않으면 필요한 경우 적합한 방식으로 프로세싱되고, 그 다음에 컴퓨터 메모리에 저장될 수 있으므로, 심지어 종이, 또는 그 위에 프로그램이 인쇄되는 다른 적합한 매체일 수 있다는 것에 유의한다.
대안적인 실시형태에서, 시동 로직 (250), 관리 로직 (260), 및 아마도 적응형 열 관리 인터페이스 로직 (270) 중 하나 이상이 하드웨어로 구현되는 경우, 다양한 로직은 각각 공지된 다음의 기술들 중 임의의 것 또는 그의 조합으로 구현될 수도 있다: 데이터 신호들 상에 로직 기능들을 구현하기 위한 로직 게이트들을 갖는 이산 로직 회로(들), 적절한 조합적인 로직 게이트들을 갖는 주문형 반도체 (ASIC), 프로그램가능 게이트 어레이(들) (PGA), 필드 프로그램가능 게이트 어레이 (FPGA) 등.
메모리 (112) 는 플래시 메모리 또는 솔리드 스테이트 메모리 디바이스와 같은 비휘발성 데이터 저장 디바이스이다. 단일 디바이스로서 도시되긴 하나, 메모리 (112) 는 디지털 신호 프로세서 (110) (또는 추가적인 프로세서 코어들) 에 커플링된 별개의 데이터 저장부들을 갖는 분산된 메모리 디바이스일 수도 있다.
시동 로직 (250) 은 제 1 코어 (222), 제 2 코어 (224) 부터 제 N 코어 (230) 까지와 같은 이용가능한 코어들 중 하나 이상의 코어들의 성능을 관리하거나 제어하기 위해 선택 프로그램을 선택적으로 식별하고, 로딩하고, 실행하기 위한 하나 이상의 실행가능한 명령들을 포함한다. 시동 로직 (250) 은, ATM 모듈 (101) 에 의해, 다양한 온도 측정치들의 PCD 컴포넌트 또는 양상과 연관된 임계 온도 설정들과의 비교에 기초하여, 선택 프로그램을 식별하고, 로딩하고, 실행할 수도 있다. 예시적인 선택 프로그램은 내장된 파일 시스템 (290) 의 프로그램 저장부 (296) 에서 찾아질 수도 있고, 성능 스케일링 알고리즘 (297) 및 파라미터들 (298) 의 세트의 특정 조합에 의해 정의된다. 예시적인 선택 프로그램은, CPU (110) 에서의 코어 프로서세들 중 하나 이상의 코어 프로세서에 의해 실행되는 경우, 각각의 프로세서 코어 "업 (up)" 또는 "다운 (down)" 의 성능을 스케일링하기 위해 하나 이상의 ATM 모듈(들) (101) 또는 DVFS 모듈(들) (26) 에 의해 제공되는 제어 신호들과 결합하여 모니터 모듈 (114) 에 의해 제공되는 하나 이상의 신호들에 따라 동작할 수도 있다. 이와 관련하여, 모니터 모듈 (114) 은 이벤트들, 프로세스들, 애플리케이션들, 자원 상태 조건들, 경과 시간, 뿐만 아니라 ATM 모듈 (101) 로부터 수신된 온도 중 하나 이상의 표시자들을 제공할 수도 있다.
관리 로직 (260) 은 각각의 프로세서 코어들 중 하나 이상의 프로세서 코어 상에서 열 관리 프로그램을 종료하는 것, 뿐만 아니라 이용가능한 코어들 중 하나 이상의 코어의 성능을 관리하거나 제어하기 위한 보다 적합한 대체 프로그램을 선택적으로 식별하고, 로딩하고, 실행하기 위한 하나 이상의 실행가능한 명령들을 포함한다. 관리 로직 (260) 은 실행 시간에, 또는 PCD (100) 에 전력이 공급되는 동안에, 그리고 디바이스의 오퍼레이터에 의한 이용 시에 이러한 기능들을 수행하도록 배열된다. 대체 프로그램은 내장된 파일 시스템 (290) 의 프로그램 저장부 (296) 에서 찾아질 수도 있고, 일부 실시형태들에서, 성능 스케일링 알고리즘 (297) 및 파라미터들 (298) 의 세트의 특정 조합으로 정의될 수도 있다.
대체 프로그램은, 디지털 신호 프로세서에서의 코어 프로세서들 중 하나 이상의 코어 프로세서에 의해 실행되는 경우, 각각의 프로세서 코어의 성능을 스케일링하기 위해, 모니터 모듈 (114) 에 의해 제공되는 하나 이상의 신호들, 또는 다양한 프로세서 코어들의 각각의 제어 입력들에 대해 제공되는 하나 이상의 신호들에 따라 동작할 수도 있다. 이와 관련하여, 모니터 모듈 (114) 은 ATM (101) 에서 비롯되는 제어 신호들에 응답하여 이벤트들, 프로세스들, 애플리케이션들, 자원 상태 조건들, 경과 시간, 온도 등 중 하나 이상의 표시자들을 제공할 수도 있다.
인터페이스 로직 (270) 은 내장된 파일 시스템 (290) 에 저장된 정보를 관측하거나, 구성하거나, 그렇지 않으면 업데이트하기 위해 프레젠팅하고, 관리하고, 외부 입력부들과 상호작용하기 위한 하나 이상의 실행가능한 명령들을 포함한다. 일 실시형태에서, 인터페이스 로직 (270) 은 USB 포트 (142) 를 통해 수신된 제조자 입력들과 연계하여 동작할 수도 있다. 이러한 입력들은 프로그램 저장부 (296) 로부터 삭제되거나 프로그램 저장부에 추가될 하나 이상의 프로그램들을 포함할 수도 있다. 대안으로, 입력들은 프로그램 저장부 (296) 에 있는 프로그램들 중 하나 이상의 프로그램에 대한 편집들 또는 변화들을 포함할 수도 있다. 또한, 입력들은 시동 로직 (250) 및 관리 로직 (260) 중 하나 또는 양자 모두에 대한 하나 이상의 변화들, 또는 전체적인 대체들을 식별할 수도 있다. 예로서, 입력들은 수신된 신호 전력이 식별된 임계치 아래로 떨어지는 경우 RF 송수신기 (168) 에서의 모든 성능 스케일링을 중단할 것을 PCD (100) 에 명령하는 관리 로직 (260) 에 대한 변화를 포함할 수도 있다. 추가적인 예로서, 입력들은 비디오 코덱 (134) 이 활성인 경우에 요구되는 프로그램을 적용할 것을 PCD (100) 에 명령하는 관리 로직 (260) 에 대한 변화를 포함할 수도 있다.
인터페이스 로직 (270) 은 제조자가 PCD (100) 에 대해 정의된 동작 조건들 하에서 최종 사용자 경험을 제어가능하게 구성하고 조정하는 것을 가능하게 한다. 메모리 (112) 가 플래시 메모리인 경우, 시동 로직 (250), 관리 로직 (260), 인터페이스 로직 (270), 애플리케이션 저장부 (280) 에 있는 애플리케이션 프로그램들, 또는 내장된 파일 시스템 (290) 에 있는 정보 중 하나 이상은 편집되거나, 대체되거나, 그렇지 않으면 수정될 수 있다. 일부 실시형태들에서, 인터페이스 로직 (270) 은 PCD (100) 의 최종 사용자 또는 오퍼레이터가 시동 로직 (250), 관리 로직 (260), 애플리케이션 저장부 (280) 에 있는 애플리케이션들, 및 내장된 파일 시스템 (290) 에 있는 정보를 검색하거나, 위치를 찾아내거나, 수정하거나, 대체하는 것을 허가할 수도 있다. 오퍼레이터는 PCD (100) 의 다음 시동 시에 구현될 변화들을 이루기 위해 결과적인 인터페이스를 이용할 수도 있다. 대안으로, 오퍼레이터가 실행 시간 동안에 구현되는 변화들을 이루도록 결과적인 인터페이스를 이용할 수도 있다.
내장된 파일 시스템 (290) 은 계층적으로 배열된 열 기법 저장부 (292) 를 포함한다. 이와 관련하여, 파일 시스템 (290) 은 PCD (100) 에 의해 이용되는 다양한 파라미터들 (298) 및 열 관리 알고리즘들 (297) 의 구성 및 관리를 위한 정보의 저장을 위한 그것의 전체 파일 시스템 용량 중 예약된 섹션을 포함할 수도 있다. 도 3b 에 도시된 바와 같이, 저장부 (292) 는 코어 저장부 (294) 를 포함하며, 코어 저장부는 프로그램 저장부 (206) 를 포함하며, 프로그램 저장부는 하나 이상의 열 관리 프로그램들을 포함한다.
도 4a 내지 도 4d 를 포함하는 도 4 는 PCD (100) 에서 열 에너지 발생의 적응형 관리를 위한 방법 (400) 을 도시하는 논리적 흐름도이다. 도 4 의 방법 (400) 은 초기 파라미터들이 설정되는 제 1 블록 (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 및/또는 스킨 온도 임계 위반이 없어졌는지 여부에 대해 묻는다. 즉, 예시적인 코어의 성능 레벨이 디폴트 최대 성능 레벨로부터 하나의 빈 (one bin) 감소되었다는 것을 고려하여, 결정 블록 (440) 에서, 그러한 전력 소비에서의 감소가 온도 판독물이 다시 임계치 아래로 떨어지도록 열 에너지 발생을 완화시키기에 충분했는지 여부가 결정된다. 임계치의 위반이 없어진 경우, "예" 브랜치에 뒤이어 블록 (448) 이 이어지고, 블록 (402) 에서 구성된 패널티 기간과 동일한 시간 기간 동안 감소된 성능 레벨이 유지된다. 특히, 일부 실시형태들에서, 블록 (450) 에서 최대 성능 레벨로 다시 증가시키도록 허용되기 전에 예시적인 코어의 심각한 다중 레벨 조절을 정당화하기에 충분할 만큼 작업부하가 심하지 않기 때문에 패널티 기간은 방법 (400) 에서 이 시점에서는 부과되지 않을 수도 있는 것으로 생각된다.
패널티 기간과 관련하여, 일부 실시형태들은 패널티 기간을 전혀 활용하지 않을 수도 있는 것으로 생각된다. 다른 실시형태들은, 오직 소정의 조건들, 예컨대, 이로 제한되지는 않으나, 재설정 기간이 만료되기 전에 RAMP_DOWN 상태로의 재진입이 만족되는 경우, 패널티 기간을 부과할 수도 있다. 또 다른 실시형태들은 적응형 열 관리 방법론이 다양한 작업부하들의 진행을 거쳐 진행됨에 따라 패널티 기간을 증가시킬 수도 있다.
방법 (400) 으로 돌아가서, 결정 블록 (440) 에서, 샘플링 구간 후에 PoP 및/또는 스킨 온도 임계치의 위반이 없어지지 않았다고 결정되는 경우, "아니오" 브랜치에 뒤이어 결정 블록 (442) 이 이어지고, 다음으로 낮은 전력 레벨이 예시적인 코어에 이용가능한지 여부가 결정된다. 만약 그렇다면, 코어는 RAMP_DOWN 상태로 남아 있고, 예시적인 코어의 전력 레벨은 블록 (444) 에서 추가적인 단일 빈만큼 감소된다. 샘플링은 블록 (446) 에서 추가적인 구간 동안 낮은 샘플링 레이트로 계속되고, 방법은 결정 블록 (440) 으로 돌아가며, 결정 블록 (440) 에서 없애기 위해서 임계치들이 다시 검사된다.
결정 블록 (442) 에서, 다음으로 낮은 성능 레벨이 예시적인 프로세싱 컴포넌트를 위해 이용가능하지 않다고 결정되는 경우, 즉, 프로세서가 프로세서의 가능 낮은 이용가능한 전력 레벨로 구동될 때까지 온도 위반을 없애지 않고 램프 다운 사이클이 계속되는 경우, "아니오" 브랜치에 뒤이어 블록 (452) 이 이어지고, 가장 낮은 성능 레벨리 유지된다. PoP 및/또는 터치 온도 위반(들)은 모두 없어질 때까지 결정 블록 (454) 에서 낮은 샘플링 레이트 구간들로 계속적으로 검사된다. 모든 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) 으로 돌아가고, 방법은, 상술된 바와 같이, 블록 (448) 에서 부과된 임의의 패널티 기간이 블록 (464) 에서 취해진 액션의 결과로서 증가되었을 예외가 진행된다. 그러나, 재설정 기간이 종료되기 이전에 위반된 온도 임계치가 접합부 온도 임계치인 경우, 프로세스는 도 4b 의 블록 (420) 으로 돌아가고, 방법은, 하기에서 설명된 바와 같이, 블록 (434) 에서 부과된 임의의 패널티 기간이 블록 (464) 에서 취해진 액션의 결과로서 증가되었을 예외가 진행된다.
도 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) 이 다시 온다. 어떠한 PoP 및/또는 스킨 온도 위반도 결정 블록 (432) 에서 인식되지 않는 경우 (즉, 모든 위반들이 없어진 경우), "아니오" 브랜치에 뒤이어 블록 (434) 이 온다. 블록 (434) 에서, 예시적인 코어가 RAMP_DOWN 기간 동안에 감소된 성능 레벨은 패널티 기간 동안 유지된다. 패널티 기간의 끝에, 블록 (435) 에서, 예시적인 프로세싱 컴포넌트는 RAMP_DOWN 기간을 벗어나 예시적인 프로세싱 컴포넌트의 최대 전력 레벨로 작업부하들을 프로세싱하는 것을 재개하는 것이 승인된다. 프로세스는 재설정 기간 및 잠재적인 후속하는 패널티 기간의 조정의 적용을 위해 도 4d 의 블록 (456) 으로 돌아간다.
도 5 는 도 1 의 PCD 내의 센서들 (157) 과 연관된 온도 판독물들에 의해 트리거링되는 다양한 적응형 열 관리 정책 상태들 (505, 510, 515) 을 도시하는 예시적인 상태 다이어그램 (500) 이다. 제 1 정책 상태 (505) 는 MAX_PERF 상태를 포함할 수도 있으며, 여기서 ATM 모듈 (101) 은 예시적인 프로세싱 컴포넌트가 최대 성능 레벨로 작업부하들을 프로세싱하는 것을 승인했다. 상술된 바와 같이, 온도 임계치의 위반이 인식되지 않는 한, 그리고 온도 임계치의 위반인 인식될 때까지, 프로세싱 컴포넌트는 MAX_PERF 상태로 남아 있을 수도 있다.
프로세싱 컴포넌트가 MAX_PERF 상태에 있는 동안에 온도 임계치의 위반이 인식되는 경우, ATM 모듈 (101) 은 제 2 정책 상태 (510) 로 진입하고 하나의 빈만큼 프로세싱 컴포넌트의 성능 레벨을 램프 다운할 것을 프로세싱 컴포넌트에 명령할 수도 있다. RAMP_DOWN 상태에서, 프로세싱 컴포넌트의 전력 레벨은 컴포넌트에 열 에너지 발생이 관측된 임계치의 위반이 없어지는 것을 허용하는 레벨에 도달할 때까지 시스템적으로 그리고 점증적으로 감소된다. 모든 위반들이 없어지면, 프로세싱 컴포넌트는 RAMP_DOWN 상태를 벗어나 프로세싱 컴포넌트의 전력 레벨을 다시 최대로 증가시킬 것이 승인될 수도 있다.
RAMP_DOWN 정책 상태에 있는 경우, ATM 모듈 (101) 은, 열적으로 악성인 프로세싱 컴포넌트가 온도 위반을 야기하지 않으면서 동작할 수도 있는 가장 높은 전력 소비 레벨이 결정될 때까지 한 번에 하나의 빈씩 프로세싱 컴포넌트의 성능 레벨을 아래로 취하기를 계속하기 위해 DVFS 모듈 (26) 과 작업할 수도 있다. 이러한 방식으로, PCD 폼 팩터 또는 프로세싱되는 특정 작업부하와 상관없이 사용자 경험 및 QoS 가 최적화될 수도 있는 적응형 열 관리 시스템들 및 방법들은 유리하다.
RAMP_DOWN 상태에서의 감소된 전력 레벨들의 결과로서 하나 이상의 온도 임계치들이 없어지지 않는 경우, 프로세싱 컴포넌트는 제 3 정책 상태 (515), CORE_OFF 에 진입하고 전력을 붕괴하도록 ATM 모듈 (101) 에 의해 명령을 받을 수도 있다. 프로세싱 컴포넌트는 열 탈피 및 컴포넌트에 대한 영구적 열 악화를 방지하려는 노력으로 전력이 붕괴될 수도 있다. CORE_OFF 상태에서 전력이 붕괴되는 것에 후속하여, 프로세싱 컴포넌트는 모든 위반들이 없어진 후에 MAX_PERF 상태로 재부팅될 수도 있다.
도 6 은 도 5 에 도시된 특정 정책 상태들 (505, 510, 515) 과 연관된 예시적인 조건들을 도시하는 도면이다. MAX_PERF 상태 (505) 에 있는 동안에, 프로세싱 컴포넌트는 초기 임계치를 초과하는 온도 조건들에 기여할 수도 있으나, 어떠한 온도도 접합부 제한, PoP 메모리 제한, 및/또는 터치 온도 제한과 연관된 열 임계치를 초과하는 것으로 인식되지 않는다. 이에 따라, 프로세싱 컴포넌트는 최대 전력 및 주파수로 구동할 수도 있고, 따라서 프로세싱 컴포넌트의 최대 효율로 작업부하들을 프로세싱한다. MAX_PERF 상태 (505) 는, 임의의 샘플링 레이트가 있는 경우, 낮은 샘플링 레이트들, 및 높은 QoS 와 사용자 경험을 특징으로 한다.
제 2 RAMP_DOWN 상태 (510) 에서, 온도 임계치들이 초과될 수도 있어, 프로세싱 컴포넌트에 대한 전력을 감소시키는 것이 열 에너지 발생을 감소시키고 온도 위반을 없애기 위한 노력으로 정당화된다. 상술된 바와 같이, 전력 레벨은 위반이 없어질 때까지 점증적으로 감소될 수도 있다. 이러한 방식으로, 프로세서가 주어진 온도 임계치가 위반되는 것을 야기하지 않으면서 동작할 수도 있는 최대 프로세싱 레벨이 결정된다. 제 2 RAMP_DOWN 상태 (510) 에서 프로세싱 컴포넌트는 모든 온도 위반들이 없어진 후애 패널티 기간 동안 RAMP_DOWN 상태 (510) 로 남아 있을 수도 있다. RAMP_DOWN 상태 (510) 는 감소된 QoS 및 사용자 경험으로 특징지어지나, QoS 는 관리되어지고자 하는 온도 조건들을 고려하여 최적화된다.
제 3 CORE_OFF 상태 (510) 에서, 프로세싱 컴포넌트는 컴포넌트 또는 PCD (100) 내의 다른 컴포넌트들에 대한 영구적인 손상을 방지하려는 노력으로 전력이 붕괴될 수도 있다. 소정의 실시형태들에서, 프로세싱 컴포넌트는 RAMP_DOWN 상태 (510) 에서 접합부 온도 제한이 초과되는 것을 없애지 않은 결과로서 CORE_OFF 상태 (515) 에 진입할 수도 있다.
도 7 은 동적 전압 및 주파수 스케일링 ("DVFS") 열 완화 기법들을 적용하기 위한 하위 방법 또는 서브루틴 (420, 438) 을 도시하는 논리적 흐름도이다. 상술된 바와 같이, 적응형 열 관리 정책들의 적용 시에 ATM 모듈 (101) 에 의해 DVFS 기법들이 활용될 수도 있다. 소정의 실시형태들에서, DVFS 조절 기법들이 점증적 방식으로 개개의 프로세싱 컴포넌트들에 적용되어, 온도 위반이 없어질 때까지 한 번에 하나의 빈씩 주어진 코어에 대한 전력 레벨들을 감소시킬 수도 있다.
당업자에 의해 이해되는 바와 같이, 높은 성능 및 낮은 전력 소비를 제공하는 프로세서들에 대한 요구는 다양한 전력 관리 기법들, 예컨대, 프로세서 설계들에서, 종종 동적 전압 및 전류 스케일링 ("DVCS") 이라고 지칭되는 동적 전압 및 주파수 스케일링의 이용으로 이어졌다. DVFS 는 전력 소비와 성능 사이의 트레이드 오프들을 가능하게 한다. 프로세서들 (110 및 126) 은, 예를 들어, 각각의 프로세서의 클록 주파수가 대응하는 전압에서의 조정에 따라 조정되는 것을 허용함으로써 DVFS 를 이용하도록 설계될 수도 있다.
동작 전압에서의 감소는 보통 소비되는 전력에 비례하는 절약들을 초래한다. DVFS 가 가능한 프로세서들 (110, 126) 에 있어서 하나의 주요 쟁점은 성능과 전력 절약들 사이의 균형을 어떻게 제어하는가이다.
블록 (705) 은 적응형 열 관리 프레임워크에서 DVFS 열 완화 기법들을 적용하기 위한 하위방법 또는 서브루틴 (420, 438) 에서의 제 1 단계이다. 이러한 제 1 블록 (705) 에서, ATM 모듈 (101) 은 열 센서들 (157A) 에 의해 제공되는 온도 판독물들에 기초하여 온도 임계치, 예컨대, 접합부 임계치가 위반되었다고 결정할 수도 있다. 이에 따라, ATM 모듈 (101) 은 그 다음에 RAMP_DOWN 상태 (510) 에 진입하고, 블록 (710) 에서 현재 DVFS 설정들을 검토하도록 DVFS 모듈 (26) 에 대한 명령들을 개시할 것을 프로세싱 컴포넌트에 명령할 수도 있다. 다음으로, 블록 (715) 에서, DVFS 모듈 (26) 은 프로세싱 컴포넌트의 전력 레벨이 감소될 수 있다고 결정할 수도 있다.
다음으로, 블록 (720) 에서, DVFS 모듈 (26) 은, 열 부하 조건들을 완화시키기 위해, 전압 및/또는 주파수를 포함할 수도 있는 현재의 DVFS 설정들을 점증적으로 조정하기 위해 커맨드들을 조정하거나 발행할 수도 있다. 설정들을 조정하는 것은 DVFS 알고리즘에 허용되는 최대 클록 주파수를 조정하거나 "스케일링하는 것" 을 포함할 수도 있다. 상술된 바와 같이, DVFS 모듈 (26) 은 프로세싱 컴포넌트에 전용될 수도 있고, 더 이상의 감소 DVFS 설정들이 요구되지 않는다고 ATM 모듈 (101) 에 의해 명령을 받을 때까지 한 번에 하나의 빈씩 프로세싱 컴포넌트에 대한 전력 레벨을 점증적으로 조정할 수도 있다. 특히, 모니터 모듈 (114), ATM 모듈 (101), 및 DVFS 모듈 (26) 이 별개의 기능성을 갖는 별개의 모듈들로 본 개시물에서 설명되었으나, 일부 실시형태들에서, 다양한 모듈들 또는 다양한 모듈들의 양상들이 적응형 열 관리 정책들을 구현하기 위해 공통 모듈로 결합될 수도 있다는 것이 이해될 것이다.
본 명세서에서 설명된 프로세스들 또는 프로세스 흐름들에서의 소정의 단계들은 물론 설명된 바와 같이 기능하기 위한 본 발명에 대한 다른 것들이 선행한다. 그러나, 그러한 순서 또는 시퀀스가 본 발명의 기능성을 변경하지 않는 경우, 본 발명은 설명된 단계들의 순서로 제한되지 않는다. 즉, 다른 실시예들에서, 본 발명의 범위 및 사상을 벗어나지 않으면서 일부 단계들은 다른 단계들 전, 후, 또는 병행하여 (실질적으로 동시에) 수행할 수도 있는 것으로 인지된다. 일부 사례들에서, 본 발명으로부터 벗어나지 않으면서 소정의 단계들이 생략되거나 수행되지 않을 수도 있다. 또한, "그 후", "그 다음", "다음에" 등과 같은 단어들은 단계들의 순서를 제한하려는 의도는 아니다. 이러한 단어들은 단순히 예시적인 방법의 설명을 통해 독자를 인도하려는 의도로 이용된다.
또한, 프로그래밍의 당업자는, 예를 들어, 본 명세서에서의 플로 차트들 및 연관된 설명에 기초하여 어려움 없이 개시된 발명을 구현하기 위해 컴퓨터 코드를 작성하거나 적절한 하드웨어 및/또는 회로들을 식별하는 것이 가능하다. 따라서, 프로그램 코드 명령들의 특정 세트 또는 상세한 하드웨어 디바이스들의 개시물은 본 발명을 구현하고 이용하는 방법의 적절한 이해를 위해 필수적인 것으로 고려되지는 않는다. 청구된 컴퓨터 구현 프로세스들의 창의적인 기능성은 상기의 설명에서, 그리고 도면들과 연계하여 보다 상세히 설명되며, 도면들은 다양한 프로세스 흐름들을 도시할 수도 있다.
하나 이상의 예시적인 양상들에서, 상술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 송신될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 비제한적인 예로서, 그러한 컴퓨터 판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 요구되는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하는데 이용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다.
또한, 임의의 접속은 컴퓨터 판독가능 매체라고 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 ("DSL"), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다.
본원에서 이용되는 바와 같은 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크 ("CD"), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 ("DVD"), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
따라서, 선택된 양상들이 도해되고 상세히 설명되었지만, 하기의 청구항들에 의해 정의되는 바와 같은, 본 발명의 취지와 범위로부터 벗어나지 않으면서 다양한 대체예들 및 수정예들이 이루어질 수도 있는 것으로 이해될 것이다.
Claims (40)
- 휴대용 컴퓨팅 디바이스 (portable computing device; "PCD") 에서의 적응형 열 관리를 위한 방법으로서,
상기 PCD 에서의 하나 이상의 프로세싱 컴포넌트들에 대한 이산 개수의 성능 레벨들을 정의하는 단계로서, 상기 성능 레벨들의 각각은 상기 하나 이상의 프로세싱 컴포넌트들에 공급되는 전력 주파수와 연관되는, 상기 이산 개수의 성능 레벨들을 정의하는 단계;
상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 단계로서, 상기 하나 이상의 컴포넌트들의 각각은 접합부 컴포넌트, 패키지 온 패키지 (package on package; "PoP") 메모리 컴포넌트, 또는 외부 쉘 컴포넌트인, 상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 단계;
상기 PCD 에서 복수의 온도 센서들을 모니터링하는 단계로서, 각각의 온도 센서는 접합부 컴포넌트, 패키지 온 패키지 ("PoP") 메모리 컴포넌트, 및 외부 쉘 컴포넌트 중 하나와 연관되는, 상기 PCD 에서 복수의 온도 센서들을 모니터링하는 단계;
상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 단계로서, 상기 인터럽트 신호는 초기 온도 임계치가 초과되었다고 나타내는, 상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 단계;
시간 기반 구간들에서, 제 1 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서로부터 온도 신호들을 샘플링하는 단계;
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호를 수신하는 단계; 및
상기 프로세싱 컴포넌트들 중 하나 이상의 프로세싱 컴포넌트의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 최대 성능 레벨로부터 다음으로 높은 성능 레벨로 감소시키는 단계를 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 1 항에 있어서,
추가적인 구간 동안에, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내어지는 온도 신호를 샘플링하는 단계;
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반된 채로 있다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 1 항에 있어서,
추가적인 구간 동안, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 상기 온도 신호를 샘플링하는 단계;
상기 온도 임계치들 중 적어도 하나의 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 3 항에 있어서,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키기 이전에, 상기 성능 레벨을 패널티 기간 동안 상기 다음으로 높은 성능 레벨로 홀딩하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가된 후에,
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되는 경우, 후속하는 패널티 기간에 대한 지속기간을 증가시키거나;
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되지 않는 경우, 후속하는 패널티 기간에 대한 지속기간을 디폴트 기간으로 재설정하는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 1 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 PoP 메모리 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 1 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 상기 외부 쉘 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 1 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 접합부 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 7 항에 있어서,
상기 제 1 레이트에서 제 2 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서로부터의 온도 신호들의 샘플링을 수정하는 단계를 더 포함하고,
상기 제 2 레이트는 상기 제 1 레이트의 시간 기반 구간들보다 지속기간이 짧은 시간 기반 구간들을 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 8 항에 있어서,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 상기 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하는 단계;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 위반된 채로 있다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 제 8 항에 있어서,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하는 단계;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키는 단계를 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 방법. - 휴대용 컴퓨팅 디바이스 (portable computing device; "PCD") 에서의 적응형 열 관리를 위한 컴퓨터 시스템으로서,
동적 전압 및 주파수 스케일링 (dynamic voltage and frequency scaling; "DVFS") 모듈로서, 상기 동적 전압 및 주파수 스케일링 모듈은,
상기 PCD 에서의 하나 이상의 프로세싱 컴포넌트들에 대한 이산 개수의 성능 레벨들을 정의하는 것으로서, 상기 성능 레벨들의 각각은 상기 하나 이상의 프로세싱 컴포넌트들에 공급되는 전력 주파수와 연관되는, 상기 이산 개수의 성능 레벨들을 정의하는 것; 및
상기 프로세싱 컴포넌트들 중 하나 이상의 프로세싱 컴포넌트의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 최대 성능 레벨로부터 다음으로 높은 성능 레벨로 감소시키는 것을 하도록 구성되는, 상기 상기 동적 전압 및 주파수 스케일링 모듈; 및
적응형 열 관리 (adaptive thermal management; "ATM") 모듈로서, 상기 적응형 열 관리 모듈은,
상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 것으로서, 상기 하나 이상의 컴포넌트들의 각각은 접합부 컴포넌트, 패키지 온 패키지 (package on package; "PoP") 메모리 컴포넌트, 또는 외부 쉘 컴포넌트인, 상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 것;
상기 PCD 에서 복수의 온도 센서들을 모니터링하는 것으로서, 각각의 온도 센서는 접합부 컴포넌트, 패키지 온 패키지 ("PoP") 메모리 컴포넌트, 및 외부 쉘 컴포넌트 중 하나와 연관되는, 상기 PCD 에서 복수의 온도 센서들을 모니터링하는 것;
상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 것으로서, 상기 인터럽트 신호는 초기 온도 임계치가 초과되었다고 나타내는, 상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 것;
시간 기반 구간들에서, 제 1 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서로부터 온도 신호들을 샘플링하는 것; 및
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호를 수신하는 것을 하도록 구성되는, 상기 적응형 열 관리 모듈을 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 11 항에 있어서,
상기 ATM 모듈은,
추가적인 구간 동안에, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하고;
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반된 채로 있다고 나타내는 온도 신호를 수신하도록 더 구성되고,
상기 DVFS 모듈은,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키도록 더 구성되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 11 항에 있어서,
상기 ATM 모듈은,
추가적인 구간 동안, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하고;
상기 온도 임계치들 중 적어도 하나의 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하도록 더 구성되고,
상기 DVFS 모듈은,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키도록 더 구성되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 13 항에 있어서,
상기 DVFS 모듈은,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키기 이전에, 패널티 기간 동안 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로 홀딩하도록 더 구성되고,
상기 ATM 모듈은,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가된 후에,
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되는 경우, 후속하는 패널티 기간에 대한 지속기간을 증가시키거나;
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되지 않는 경우, 후속하는 패널티 기간에 대한 지속기간을 디폴트 기간으로 재설정하도록 더 구성되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 11 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 PoP 메모리 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 11 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 상기 외부 쉘 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 11 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 접합부 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 17 항에 있어서,
상기 ATM 모듈은, 상기 제 1 레이트에서 제 2 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서들로부터의 온도 신호들의 샘플링을 수정하도록 더 구성되고,
상기 제 2 레이트는 상기 제 1 레이트의 시간 기반 구간들보다 지속기간이 짧은 시간 기반 구간들을 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 18 항에 있어서,
상기 ATM 모듈은,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 상기 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하고;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 위반된 채로 있다고 나타내는 온도 신호를 수신하도록 더 구성되고,
상기 DVFS 모듈은,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키도록 더 구성되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 18 항에 있어서,
상기 ATM 모듈은,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 상기 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하고;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하도록 더 구성되고,
상기 DVFS 모듈은,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키도록 더 구성되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 휴대용 컴퓨팅 디바이스 (portable computing device; "PCD") 에서의 적응형 열 관리를 위한 컴퓨터 시스템으로서,
상기 PCD 에서의 하나 이상의 프로세싱 컴포넌트들에 대한 이산 개수의 성능 레벨들을 정의하는 수단으로서, 상기 성능 레벨들의 각각은 상기 하나 이상의 프로세싱 컴포넌트들에 공급되는 전력 주파수와 연관되는, 상기 이산 개수의 성능 레벨들을 정의하는 수단;
상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 수단으로서, 상기 하나 이상의 컴포넌트들의 각각은 접합부 컴포넌트, 패키지 온 패키지 (package on package; "PoP") 메모리 컴포넌트, 또는 외부 쉘 컴포넌트인, 상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 수단;
상기 PCD 에서 복수의 온도 센서들을 모니터링하는 수단으로서, 각각의 온도 센서는 접합부 컴포넌트, 패키지 온 패키지 ("PoP") 메모리 컴포넌트, 및 외부 쉘 컴포넌트 중 하나와 연관되는, 상기 PCD 에서 복수의 온도 센서들을 모니터링하는 수단;
상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 수단으로서, 상기 인터럽트 신호는 초기 온도 임계치가 초과되었다고 나타내는, 상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 수단;
시간 기반 구간들에서, 제 1 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서로부터의 온도 신호들을 샘플링하는 수단;
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호를 수신하는 수단; 및
상기 프로세싱 컴포넌트들 중 하나 이상의 프로세싱 컴포넌트의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 최대 성능 레벨로부터 다음으로 높은 성능 레벨로 감소시키는 수단을 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 21 항에 있어서,
추가적인 구간 동안에, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내어진 온도 신호를 샘플링하는 수단;
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반된 채로 있다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 21 항에 있어서,
추가적인 구간 동안, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하는 수단;
상기 온도 임계치들 중 적어도 하나의 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하는 수단; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 23 항에 있어서,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키기 이전에, 상기 성능 레벨을 패널티 기간 동안 상기 다음으로 높은 성능 레벨로 홀딩하는 수단; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가된 후에,
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되는 경우, 후속하는 패널티 기간에 대한 지속기간을 증가시키거나;
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되지 않는 경우, 후속하는 패널티 기간에 대한 지속기간을 디폴트 기간으로 재설정하는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 21 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 PoP 메모리 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서 적응형 열 관리를 위한 컴퓨터 시스템. - 제 21 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 상기 외부 쉘 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 21 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 접합부 컴포넌트와 연관되는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 27 항에 있어서,
상기 제 1 레이트에서 제 2 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서로부터의 온도 신호들의 샘플링을 수정하는 수단을 더 포함하고,
상기 제 2 레이트는 상기 제 1 레이트의 시간 기반 구간들보다 지속기간이 짧은 시간 기반 구간들을 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 28 항에 있어서,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 상기 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하는 수단;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 위반된 채로 있다고 나타내는 온도 신호를 수신하는 수단; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 제 28 항에 있어서,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 상기 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하는 수단;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하는 수단; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키는 수단을 더 포함하는, 휴대용 컴퓨팅 디바이스에서의 적응형 열 관리를 위한 컴퓨터 시스템. - 컴퓨터 판독가능 프로그램 코드를 포함한 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품으로서,
상기 컴퓨터 판독가능 프로그램 코드는 휴대용 컴퓨팅 디바이스에서 적응형 열 관리를 위한 방법을 구현하기 위해 실행되도록 구성되고,
상기 방법은,
상기 PCD 에서의 하나 이상의 프로세싱 컴포넌트들에 대한 이산 개수의 성능 레벨들을 정의하는 단계로서, 상기 성능 레벨들의 각각은 상기 하나 이상의 프로세싱 컴포넌트들에 공급되는 전력 주파수와 연관되는, 상기 이산 개수의 성능 레벨들을 정의하는 단계;
상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 단계로서, 상기 하나 이상의 컴포넌트들의 각각은 접합부 컴포넌트, 패키지 온 패키지 (package on package; "PoP") 메모리 컴포넌트, 또는 외부 쉘 컴포넌트인, 상기 PCD 에서의 하나 이상의 컴포넌트들과 연관된 온도 임계치들을 정의하는 단계;
상기 PCD 에서 복수의 온도 센서들을 모니터링하는 단계로서, 각각의 온도 센서는 접합부 컴포넌트, 패키지 온 패키지 ("PoP") 메모리 컴포넌트, 및 외부 쉘 컴포넌트 중 하나와 연관되는, 상기 PCD 에서 복수의 온도 센서들을 모니터링하는 단계;
상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 단계로서, 상기 인터럽트 신호는 초기 온도 임계치가 초과되었다고 나타내는, 상기 복수의 온도 센서들 중 하나의 온도 센서로부터 인터럽트 신호를 수신하는 단계;
시간 기반 구간들에서, 제 1 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서로부터 온도 신호들을 샘플링하는 단계;
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호를 수신하는 단계; 및
상기 프로세싱 컴포넌트들 중 하나 이상의 프로세싱 컴포넌트의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 최대 성능 레벨로부터 다음으로 높은 성능 레벨로 감소시키는 단계를 포함하는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 31 항에 있어서,
추가적인 구간 동안에, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내어지는 온도 신호를 샘플링하는 단계;
상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반된 채로 있다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키는 단계를 더 포함하는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 31 항에 있어서,
추가적인 구간 동안, 상기 제 1 레이트로, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 상기 온도 신호를 샘플링하는 단계;
상기 온도 임계치들 중 적어도 하나의 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키는 단계를 더 포함하는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 33 항에 있어서,
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키기 이전에, 상기 성능 레벨을 패널티 기간 동안 상기 다음으로 높은 성능 레벨로 홀딩하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가된 후에,
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되는 경우, 후속하는 패널티 기간에 대한 지속기간을 증가시키거나;
재설정 기간 동안에, 상기 온도 임계치들 중 적어도 하나의 온도 임계치가 위반되었다고 나타내는 온도 신호가 수신되지 않는 경우, 후속하는 패널티 기간에 대한 지속기간을 디폴트 기간으로 재설정하는 단계를 더 포함하는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 31 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 PoP 메모리 컴포넌트와 연관되는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 31 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 상기 외부 쉘 컴포넌트와 연관되는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 31 항에 있어서,
위반된 상기 온도 임계치들 중 적어도 하나의 온도 임계치는 접합부 컴포넌트와 연관되는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 37 항에 있어서,
상기 제 1 레이트에서 제 2 레이트로, 상기 복수의 온도 센서들 중 하나 이상의 온도 센서로부터의 온도 신호들의 샘플링을 수정하는 단계를 더 포함하고,
상기 제 2 레이트는 상기 제 1 레이트의 시간 기반 구간들보다 지속기간이 짧은 시간 기반 구간들을 포함하는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 38 항에 있어서,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 상기 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하는 단계;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 위반된 채로 있다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 정의된 상기 이산 개수의 성능 레벨들 내에서의 상기 다음으로 높은 성능 레벨로부터, 단일 레벨만큼, 더 감소시키는 단계를 더 포함하는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품. - 제 38 항에 있어서,
추가적인 구간 동안, 상기 제 2 레이트로, 상기 접합부 컴포넌트와 연관된 온도 임계치가 위반되었다고 나타내어진 상기 온도 신호를 샘플링하는 단계;
상기 접합부 컴포넌트와 연관된 상기 온도 임계치의 위반이 없어졌다고 나타내는 온도 신호를 수신하는 단계; 및
상기 하나 이상의 프로세싱 컴포넌트들의 상기 성능 레벨을 상기 다음으로 높은 성능 레벨로부터 상기 최대 성능 레벨로 증가시키는 단계를 더 포함하는, 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품.
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 |
---|---|
KR20150032314A true KR20150032314A (ko) | 2015-03-25 |
KR101566152B1 KR101566152B1 (ko) | 2015-11-04 |
Family
ID=48672791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157002316A KR101566152B1 (ko) | 2012-06-29 | 2013-05-13 | 휴대용 컴퓨팅 디바이스에서 적응형 열 관리를 위한 시스템 및 방법 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8972759B2 (ko) |
EP (1) | EP2867742B1 (ko) |
JP (1) | JP5781255B1 (ko) |
KR (1) | KR101566152B1 (ko) |
CN (1) | CN104412198B (ko) |
ES (1) | ES2588027T3 (ko) |
HU (1) | HUE030132T2 (ko) |
WO (1) | WO2014003902A2 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160142604A (ko) * | 2015-06-03 | 2016-12-13 | 삼성전자주식회사 | 병합된 파워 레일을 통해 전원전압을 공급받는 시스템 온 칩 및 이를 포함하는 모바일 시스템 |
KR101719074B1 (ko) * | 2015-12-09 | 2017-04-05 | 성균관대학교산학협력단 | 동적 열적 마진을 이용하는 반도체 프로세서 장치를 위한 열 관리 방법 및 장치 |
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 |
Families Citing this family (69)
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 |
US9218044B2 (en) * | 2012-11-27 | 2015-12-22 | International Business Machines Corporation | Computing system frequency target monitor |
US9323300B2 (en) * | 2012-11-27 | 2016-04-26 | International Business Machines Corporation | Computing system voltage control |
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の異常検出機能を備えた制御装置 |
WO2015144085A1 (en) * | 2014-03-28 | 2015-10-01 | Mediatek Inc. | Method for performing system power control within an 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 |
US9823673B2 (en) * | 2014-04-08 | 2017-11-21 | Qualcomm Incorporated | Energy efficiency aware thermal management in a multi-processor system on a chip based on monitored processing component current draw |
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 |
WO2016090642A1 (zh) * | 2014-12-12 | 2016-06-16 | 上海兆芯集成电路有限公司 | 动态电压频率调整系统及其方法 |
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 |
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 |
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 |
US10168752B2 (en) * | 2016-03-08 | 2019-01-01 | Qualcomm Incorporated | Systems and methods for determining a sustained thermal power envelope comprising multiple heat sources |
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 |
WO2018018448A1 (zh) * | 2016-07-27 | 2018-02-01 | 李媛媛 | 芯片中温度降低方法及系统 |
CN106227604A (zh) * | 2016-07-27 | 2016-12-14 | 李媛媛 | 芯片中温度降低方法及系统 |
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 |
US10782754B2 (en) | 2018-09-21 | 2020-09-22 | Quanta Computer Inc. | Thermal management via virtual BMC manager |
US10853547B2 (en) * | 2018-10-26 | 2020-12-01 | Dell Products, L.P. | System and method to identify critical FPGA card sensors |
US20210271300A1 (en) * | 2018-11-05 | 2021-09-02 | Hewlett-Packard Development Company, L.P. | Dynamic thermal control |
KR20200069905A (ko) * | 2018-12-07 | 2020-06-17 | 삼성전자주식회사 | 스토리지 시스템 및 스토리지 시스템의 동작 방법 |
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 |
NL2024020B1 (en) | 2019-10-15 | 2021-06-17 | Microsoft Technology Licensing Llc | Dynamically switching display in use based on temperature |
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 |
US11436025B2 (en) | 2020-07-09 | 2022-09-06 | Numem Inc. | Smart compute resistive memory |
US11443802B2 (en) | 2020-07-09 | 2022-09-13 | Numem Inc. | Adaptive memory management and control circuitry |
CN115936080A (zh) * | 2021-10-01 | 2023-04-07 | 三星电子株式会社 | 用于大规模计算的设备和方法 |
CN113840362B (zh) * | 2021-11-26 | 2022-03-04 | 华中科技大学 | 一种基于能耗中断概率的手机终端优化方法 |
US20240072828A1 (en) * | 2022-08-29 | 2024-02-29 | Cisco Technology, Inc. | Improving radio frequency (rf) performance by optimizing temperature in an access point (ap) ecosystem |
US12117882B2 (en) | 2023-01-16 | 2024-10-15 | Hamilton Sundstrand Corporation | System and method for reducing power consumption in computing systems |
CN116095801B (zh) * | 2023-04-13 | 2023-06-30 | 中国电信股份有限公司浙江分公司 | 一种基站设备高可靠性节能方法及装置 |
US12026550B1 (en) * | 2023-07-27 | 2024-07-02 | Auradine, Inc. | Cryptomining heat management |
Family Cites Families (22)
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 |
US7814350B2 (en) * | 2002-10-03 | 2010-10-12 | Via Technologies, Inc. | Microprocessor with improved thermal monitoring and protection mechanism |
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 |
US7480586B2 (en) * | 2005-11-29 | 2009-01-20 | International Business Machines Corporation | Thermal interrupt generation |
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 |
US7263457B2 (en) * | 2006-01-03 | 2007-08-28 | Advanced Micro Devices, Inc. | System and method for operating components of an integrated circuit at independent frequencies and/or voltages |
US7552346B2 (en) * | 2006-05-03 | 2009-06-23 | International Business Machines Corporation | Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index |
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 EP EP13730960.5A patent/EP2867742B1/en active Active
- 2013-05-13 CN CN201380034325.5A patent/CN104412198B/zh active Active
- 2013-05-13 JP JP2015520186A patent/JP5781255B1/ja active Active
- 2013-05-13 HU HUE13730960A patent/HUE030132T2/en unknown
- 2013-05-13 ES ES13730960.5T patent/ES2588027T3/es active Active
- 2013-05-13 WO PCT/US2013/040787 patent/WO2014003902A2/en active Application Filing
- 2013-05-13 KR KR1020157002316A patent/KR101566152B1/ko active IP Right Grant
-
2015
- 2015-01-20 US US14/600,667 patent/US9360907B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160142604A (ko) * | 2015-06-03 | 2016-12-13 | 삼성전자주식회사 | 병합된 파워 레일을 통해 전원전압을 공급받는 시스템 온 칩 및 이를 포함하는 모바일 시스템 |
KR101719074B1 (ko) * | 2015-12-09 | 2017-04-05 | 성균관대학교산학협력단 | 동적 열적 마진을 이용하는 반도체 프로세서 장치를 위한 열 관리 방법 및 장치 |
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 |
Also Published As
Publication number | Publication date |
---|---|
JP5781255B1 (ja) | 2015-09-16 |
US8972759B2 (en) | 2015-03-03 |
EP2867742B1 (en) | 2016-05-25 |
CN104412198B (zh) | 2016-06-08 |
US20150169016A1 (en) | 2015-06-18 |
US9360907B2 (en) | 2016-06-07 |
HUE030132T2 (en) | 2017-04-28 |
KR101566152B1 (ko) | 2015-11-04 |
WO2014003902A2 (en) | 2014-01-03 |
WO2014003902A3 (en) | 2014-03-20 |
CN104412198A (zh) | 2015-03-11 |
EP2867742A2 (en) | 2015-05-06 |
ES2588027T3 (es) | 2016-10-28 |
JP2015528160A (ja) | 2015-09-24 |
US20140006818A1 (en) | 2014-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101566152B1 (ko) | 휴대용 컴퓨팅 디바이스에서 적응형 열 관리를 위한 시스템 및 방법 | |
KR101833601B1 (ko) | 휴대용 컴퓨팅 디바이스로부터 주위 온도를 추정하기 위한 시스템 및 방법 | |
EP3570162B1 (en) | System and method for thermally aware device booting | |
EP2962169B1 (en) | System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels | |
KR101813435B1 (ko) | 멀티-프로세서 시스템 온 칩에서의 에너지 효율 인지 열 관리 | |
CN108780349B (zh) | 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法 | |
KR101529419B1 (ko) | 휴대용 컴퓨팅 디바이스에서의 열 로드 관리 | |
KR101534450B1 (ko) | 누설 전류 측정으로부터 열 관리 폴리시를 결정하는 시스템 및 방법 | |
WO2013052266A2 (en) | System and method for proximity based thermal management of a mobile device | |
US20140245028A1 (en) | System and method for temperature driven selection of voltage modes in a portable computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190924 Year of fee payment: 5 |