KR20140126395A - 열 인식 디바이스 부트를 위한 시스템 및 방법 - Google Patents

열 인식 디바이스 부트를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20140126395A
KR20140126395A KR1020147026319A KR20147026319A KR20140126395A KR 20140126395 A KR20140126395 A KR 20140126395A KR 1020147026319 A KR1020147026319 A KR 1020147026319A KR 20147026319 A KR20147026319 A KR 20147026319A KR 20140126395 A KR20140126395 A KR 20140126395A
Authority
KR
South Korea
Prior art keywords
pcd
boot
thermal
computer system
sensor
Prior art date
Application number
KR1020147026319A
Other languages
English (en)
Other versions
KR102023314B1 (ko
Inventor
존 제이. 안데르슨
론 티. 알톤
프라빈 쿠마르 치담바람
조수아 디. 티엘렌
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=49004591&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20140126395(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140126395A publication Critical patent/KR20140126395A/ko
Application granted granted Critical
Publication of KR102023314B1 publication Critical patent/KR102023314B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Telephone Function (AREA)

Abstract

휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트를 위한 방법들 및 시스템들의 다양한 실시예들이 개시된다. PCD가 이상적인 열 조건들 미만의 열 조건들 하에서 부트될 때 고 전력 소비 프로세싱 컴포넌트들을 온라인이 되게 하는 것은 PCD의 건강에 해로울 수 있기 때문에, 실시예들은 측정된 열 표시자들에 기초하여 부트 시퀀스를 인가, 지연 또는 수정하도록 부트 시퀀스의 초기에 저 전력 프로세싱 컴포넌트를 레버리지한다. 일 예시적인 방법은 본질적으로 열 표시자 측정들에 기초하여 부트 시퀀스의 완료를 지연 또는 인가하는 "고/노 고(go/no go)" 방법이다. 다른 예시적인 방법은 열 부트 상태와 연관되는 열 부트 정책에 기초하여 PCD의 부트 시퀀스를 수정한다. 열 부트 정책은 하나 이상의 고 전력 소비 컴포넌트들이 부트되는 전력 주파수를 수정함으로써 부트 시퀀스가 완료하도록 허용하는 것을 포함할 수 있다.

Description

열 인식 디바이스 부트를 위한 시스템 및 방법{SYSTEM AND METHOD FOR THERMALLY AWARE DEVICE BOOTING}
관련 출원들에 대한 상호참조
[0001] 35 U.S.C.§119(e) 하에서, 2012년 2월 24일 출원되고 출원 일련 번호 제61/602,755호가 할당되며, 발명의 명칭이 "SYSTEM AND METHOD FOR THERMALLY AWARE DEVICE BOOTING"인 미국 가출원을 우선권으로 주장하며, 상기 가출의 전체 내용물들은 그에 의해 인용에 의해 포함된다.
[02] 휴대용 컴퓨팅 디바이스들("PCD들")은 개인 및 전문가 레벨들의 사람들에게 필수적이 되고 있다. 이들 디바이스들은 셀룰러 전화들, 개인 휴대 정보 단말들("PDA들"), 휴대용 게임 콘솔들, 팜탑 컴퓨터들, 및 다른 휴대용 전자 디바이스들을 포함할 수 있다.
[0003] PCD들의 하나의 고유한 양상은, 이들이 랩톱 및 데스크톱 컴퓨터들과 같은 더 큰 컴퓨팅 디바이스들에서 종종 발견되는 바와 같이, 팬(fan)들과 같은 액티브 쿨링 디바이스들(active cooling devices)을 통상 갖지 않는다는 것이다. 팬들을 이용하는 대신, PCD들은 더 낮은 레이트의 열 에너지 생성에 대해 PCD 성능을 교환하도록 설계된 열 완화 소프트웨어에 의존할 수 있다. 통상적으로 PCD내의 메인 프로세서들 상에서 실행되는 열 완화 소프트웨어는 열 에너지 생성의 관리 시에 매우 효과적일 수 있다. 종종, PCD 내의 온도 측정들은 주어진 열 완화 기법을 구현하거나 종료하도록 열 완화 소프트웨어를 트리거한다. 열 완화 기법들은 PCD 내의 다양한 컴포넌트들에 의해 생성된 열 에너지가 컴포넌트 건강을 위태롭게 하거나 사용자 경험에 부정적으로 영향을 줄 수 있는 온도들을 일으키는 기회를 감소시킬 수 있다. 결과적으로, 열 완화 기법들의 효율적인 이용은 또한 PCD에 의해 사용자에게 제공되는 서비스 품질("QoS")을 최적화할 수 있고, 그에 의해 PCD의 건강을 위험하게 하지 않고 사용자 경험을 또한 최적화한다.
[0004] 그렇긴 해도, 대부분의 진보된 열 완화 기법들에도 불구하고, PCD 내의 온도들은 여전히 임의의 수의 극단적인 이용 경우들 하에서 위태로운 레벨들에 도달할 수 있다. 예를 들어, 뜨거운 대기 환경들에서 중한 프로세싱 부담들 하에서, 터치 온도들은 사용자 노출에 적합한 임계치들을 초과할 수 있거나 또는 다이 온도들은 프로세싱 컴포넌트들 및 메모리 디바이스들의 건강을 위태롭게 하는 레벨들에 도달할 수 있다. PCD가 이러한 조건들에 노출되면, 종종 열 폭주를 방지하고 PCD 내의 컴포넌트들의 건강을 보호하기 위한 유일한 수단은 PCD를 리부트(reboot)하기 이전에 전력 붕괴(power collapse)를 강제하는 것이다.
[0005] 명백히, 상승된 온도 조건들 하에서 PCD를 리부트하는 것은 단지 메인 프로세서들이 온라인이 되기에 PCD가 너무 뜨거운 경우 일련의 전력 붕괴들을 필요하게 한다. 그리고 메인 프로세서들이 온라인이 아닌 경우, 열 에너지 생성을 관리하기 위해 거기서 실행되는 열 완화 소프트웨어는 실행되지 않을 수 있다. 이에 따라, 당 분야에 필요한 것은 열 측정들과 미리 결정된 임계치들의 비교에 기초하여 PCD 부트 시퀀스를 인가 및/또는 지연하는 열 인식 부트 모드를 위한 방법 및 시스템이다. 또한, 당 분야에 필요한 것은 열 측정들과 미리 결정된 임계치들의 비교에 기초하여, PCD 내의 하나 이상의 프로세싱 컴포넌트들이 부트되는 성능 레벨을 스케일링하는 열 인식 부트 모드를 위한 방법 및 시스템이다.
[0006] 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트를 위한 방법들 및 시스템들의 다양한 실시예들이 개시된다. PCD가 이상적인 열 조건들 미만의 열 조건들 하에서 부트될 때 고 전력 소비 프로세싱 컴포넌트들을 온라인이 되게 하는 것은 PCD의 건강에 해로울 수 있기 때문에, 시스템들 및 방법들의 실시예들은 측정된 열 표시자들에 기초하여 부트 시퀀스를 인가, 지연 또는 수정하도록 부트 시퀀스의 초기에 저 전력 프로세싱 컴포넌트를 레버리지한다. 열 표시자들은 PCD 또는 PCD 내의 컴포넌트의 열 조건을 표시하는데 유용한 임의의 측정 가능한 파라미터일 수 있다.
[0007] PCD에서 열 인식 부트를 위한 방법은 본질적으로 열 표시자 파라미터에 연관된 측정에 대해 PCD의 센서(들)를 폴링하는 "고/노 고(go/no go)" 방법이다. 센서(들)는 그것이 임계치를 초과하는 경우 측정된 열 조건에 의해 영향을 받을 수 있는 PCD 내의 하나 이상의 컴포넌트들과 연관된다. 폴링된 측정은 이에 따라 미리 결정된 임계치에 비교되고, 측정이 임계치를 초과하는 경우, 부트 시퀀스가 지연된다. 유리하게는, 지연은 하나 이상의 고 전력 소비 컴포넌트들을 부트하는 결과로서 더 많은 열 에너지가 생성되기 이전에 과도한 열 에너지를 PCD로부터 소산할 기회를 제공한다. 또한, 몇몇 실시예들은 미리 설정된 수의 지연 사이클이 도달되거나 PCD를 부트하기에 안전하도록 폴링된 측정이 표시할 때까지 부트 시퀀스를 여러 번 지연하는 능력을 포함할 수 있다.
[0008] PCD에서 열 인식 부트를 위한 방법의 다른 예시적인 실시예는 열 부트 상태와 연관된 열 부트 정책의 식별에 기초하여 PCD의 부트 시퀀스를 수정할 수 있다. 이 방법은 열 표시자 파라미터와 연관된 측정을 위해 PCD에서 센서(들)를 폴링한다. 센서(들)는 그것이 임계치를 초과하는 경우 측정된 열 조건에 의해 영향을 받을 수 있는 PCD 내의 하나 이상의 컴포넌트들에 연관된다. 열 표시자에 대한 임계치들과 연관되는 열 부트 정책들을 포함하는 열 정책 룩업("TPL") 테이블이 질의된다. 폴링된 측정은 TPL 테이블에 문서화된 임계치들에 비교되고 열 부트 정책이 식별된다. 식별되면, 열 부트 정책은 저 전력 프로세싱 컴포넌트에 의해 부트 시퀀스에 적용되고, 몇몇 실시예들에서, 고 전력 소비 컴포넌트가 부트되는 전력 주파수를 수정함으로써 부트 시퀀스가 완료하도록 허용하는 것을 포함할 수 있다.
[0009] 유리하게는, 당업자가 인지할 바와 같이, 측정된 열 표시자들에 기초하여 부트 시퀀스를 인가, 지연, 또는 수정하도록 부트 시퀀스 초기에 저 전력 프로세싱 컴포넌트들을 레버리지함으로써, 시스템들 및 방법들의 실시예들은 사용자 경험에 몹시 영향을 주거나 컴포넌트들의 건강을 위태롭게 함 없이 PCD에 의해 제공된 서비스 품질("QoS")을 최적화할 수 있다.
[0010] 도면들에서, 유사한 참조 번호들은 달리 표시되지 않으면 다양한 도면 전체에 걸쳐서 유사한 부분들을 지칭한다. "102A" 또는 "102B"와 같은 문자 캐릭터 지정들을 갖는 참조 번호들에 대해, 문자 캐릭터 지정은 동일한 도면에 존재하는 2개의 유사한 부분들 또는 엘리먼트들을 구분할 수 있다. 참조 번호들에 대한 문자 캐릭터 지정들은 참조 번호가 모든 도면들에서 동일한 참조 번호를 갖는 모든 부분들을 포괄하도록 의도될 때 생략될 수 있다.
[0011] 도 1은 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트 시퀀스를 구현하기 위한 온-칩 시스템의 실시예를 예시하는 기능 블록도이다.
도 2는 모니터링된 열 조건들에 기초하여 부트 시퀀스를 지연, 인가 또는 수정하는 방법들 및 시스템들을 구현하기 위해 무선 전화의 형태로 도 1의 PCD의 예시적인 비-제한적인 양상을 예시하는 기능 블록도이다.
도 3a는 도 2에서 예시된 칩에 대한 하드웨어의 예시적인 공간적 어레인지먼트를 예시하는 기능 블록도이다.
도 3b는 열 인식 부트를 위해 도 2의 PCD의 예시적인 소프트웨어 아키텍처를 예시하는 개략도이다.
도 4는 QoS 및 전체 사용자 경험을 최적화하기 위해 인지되고 관리될 수 있는 다양한 열 부트 상태들을 예시하는 예시적인 상태도이다.
도 5는 QoS 및 전체 사용자 경험을 최적화하기 위해 적용될 수 있고 PCD의 특정한 열 부트 상태에 의존하는 예시적인 열 인식 부트 정책들을 예시하는 도면이다.
도 6은 모니터링된 열 조건들에 기초하여 부트 시퀀스를 인가하거나 지연하는 것을 포함하는, PCD에서 열 인식 부트을 위한 방법을 예시하는 논리적 흐름도이다.
도 7은 열 부트 상태의 인지에 기초하고 도 8의 열 성능 룩업 테이블에 따라 부트 시퀀스를 수정하는 것을 포함하는, PCD에서 열 인식 부트을 위한 방법을 예시하는 논리적 흐름도이다.
도 8은 도 7에서 예시된 방법의 실시예들에 의해 질의될 수 있는 예시적인 열 성능 룩업 테이블이다.
[20] "예시적인"이라는 단어는 본 명세서에서 "예시, 실례 또는 예증으로서의 역할"을 의미하는데 사용된다. 본 명세서에서 "예시적인" 것으로서 설명되는 어떠한 양상도 다른 양상들에 비해 배타적이거나 선호되거나 유리한 것으로 반드시 해석되는 것은 아니다.
[21] 이 설명에서, "애플리케이션"이라는 용어는 또한 객체 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들 및 패치(patch)들과 같은 실행 가능 콘텐츠를 갖는 파일들을 포함할 수도 있다. 추가로, 본 명세서에서 지칭되는 "애플리케이션"은 또한 열릴 필요가 있을 수도 있는 문서들이나 액세스될 필요가 있는 다른 데이터 파일들과 같이, 본래 실행 가능하지 않은 파일들을 포함할 수도 있다.
[22] 이 설명에서 이용되는 바와 같이, "컴포넌트", "데이터베이스", "모듈", "시스템", "열 에너지 생성 컴포넌트", "프로세싱 컴포넌트" 등의 용어들은 컴퓨터-관련 엔티티, 즉, 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행 가능한 것, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이들로 제한되지 않는다. 예로서, 컴퓨팅 디바이스 상에서 실행중인 애플리케이션 및 컴퓨팅 디바이스 둘 다는 컴포넌트일 수 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 컴포넌트는 2개 이상의 컴포넌트들 사이에 분배되고 및/또는 하나의 컴퓨터 상에서 로컬화될 수 있다. 또한, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독 가능한 매체들로부터 실행될 수 있다. 컴포넌트들은 예컨대 하나 이상의 데이터 패킷들(예를 들면, 로컬 시스템에서, 분산 시스템에서 및/또는 신호에 의한 다른 시스템들과의 네트워크(예를 들어, 인터넷)를 통해 다른 컴포넌트와 상호 작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들을 통해 통신할 수 있다.
[0023] 이 설명에서, 용어들 "중앙 처리 장치("CPU")", "디지털 신호 프로세서("DSP")", "그래픽 프로세싱 유닛("GPU")" "칩"은 상호 교환 가능하게 이용된다. 또한, CPU, DSP, GPU 또는 칩은 본 명세서에서 "코어(들)"로서 일반적으로 지칭되는 하나 이상의 별개의 프로세싱 컴포넌트들로 구성될 수 있다. 부가적으로, CPU, DSP, GPU, 칩 또는 코어가 다양한 레벨들의 기능적 효율에서 동작하기 위해 다양한 레벨들의 전력을 소비하는 PCD 내의 기능적 컴포넌트인 결과로, 당업자는 PCD 내의 프로세싱 컴포넌트들의 맥락으로 이들 용어들의 이용이 개시된 실시예들, 또는 그의 등가물들을 제한하지 않는다는 것을 인지할 것이다. 즉, 실시예들 대부분이 프로세싱 컴포넌트의 맥락에서 설명되지만, 열 인식 부트는 모뎀, 카메라, "WNIC"(wireless network interface controller), 디스플레이, 비디오 인코더, 주변 디바이스, "PoP"(package on package) 메모리 디바이스 등을 포함하는(그러나 이것으로 제한되지 않음) PCD 내의 임의의 기능적 컴포넌트의 이익을 위해 적용될 수 있다는 것이 고려된다.
[0024] 이 설명에서, "열" 및 "열 에너지"란 용어들은 "온도"의 단위들로 측정될 수 있는 에너지를 생성하거나 소산시킬 수 있는 디바이스 또는 컴포넌트와 관련하여 이용될 수 있다는 것이 이해될 것이다. 결과적으로, "온도"란 용어는, 임의의 표준 값을 참조하여, "열 에너지" 생성 디바이스 또는 컴포넌트의 상대적 따듯함 또는 그의 열기(heat)의 부재를 표시할 수 있는 임의의 측정을 표현한다는 것이 추가로 이해될 것이다. 예를 들어, 2개의 컴포넌트의 "온도"는 2개의 컴포넌트들이 "열" 평형 상태에 있을 때 동일하다.
[0025] 이 설명에서, "작업로드(workload)", "프로세스 로드", 및 "프로세스 작업로드"란 용어들은 상호 교환 가능하게 이용되고, 일반적으로 정해진 실시예에서 정해진 프로세싱 컴포넌트와 연관되는 프로세싱 부담 또는 프로세싱 부담의 퍼센티지를 가리킨다. 위에서 정의된 것 외에, "프로세싱 컴포넌트", 또는 "열 에너지 생성 컴포넌트", 또는 "열 어그리서(aggresor)"는 중앙 처리 장치, 그래픽 처리 장치, 코어, 메인 코어, 서브-코어, 프로세싱 영역, 하드웨어 엔진 등 또는 휴대용 컴퓨팅 디바이스 내의 집적 회로 내에 또는 외부에 상주하는 임의의 전력 소비 컴포넌트일 수 있지만 이들로 제한되지 않는다.
[0026] 이 설명에서, "열 완화 기법(들)", "열 정책들", "열 관리", "열 완화 조치(들)" 및 "열 완화 소프트웨어"란 용어들은 상호 교환 가능하게 이용된다. 명백히는, 당업자는, 특정한 이용의 맥락에 의존하여, 이 문장에 나열된 용어들 중 임의의 것 또는 그의 등가물들이 열 에너지 생성의 비용으로 성능을 증가시키고 성능의 비용으로 열 에너지 생성을 감소시키거나, 또는 이들 목적들 간을 교번하도록 동작 가능한 하드웨어 및/또는 소프트웨어를 설명하도록 역할할 수 있다는 것을 인지할 것이다.
[0027] 이 설명에서, 휴대용 컴퓨팅 디바이스("PCD")라는 용어는 배터리와 같은 한정된 용량의 전원으로 동작하는 임의의 디바이스를 설명하는데 사용된다. 수십 년간 배터리 동작 PCD들이 사용되어 왔지만, 3세대("3G") 및 제 4 세대("4G") 무선 기술의 출현과 결부된 재충전 가능한 배터리들의 기술적 진보들은 다양한 능력들을 가진 수많은 PCD들을 가능하게 하였다. 따라서 PCD는 무엇보다도, 셀룰러 전화, 위성 전화, 호출기, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 앞서 언급한 디바이스들의 조합, 무선 연결성을 가진 랩톱 컴퓨터일 수 있다.
[0028] 이 설명에서, 특정한 열 조건들에 노출되는 경우 PCD 또는 PCD의 컴포넌트의 "건강"에 관한 해로운 효과들에 대한 잠재력에 대해 빈번한 참조가 이루어진다. 이 설명의 맥락에서, 컴포넌트의 "건강"에 관한 해로운 효과는 심각도 면에서 일시적인 동작 불안정성으로부터 영구적인 컴포넌트 손상에 이르는 컴포넌트의 기능적 양상들에 관한 임의의 해로운 효과를 포함하도록 의도된다는 것이 이해될 것이다. 이를 위해, 몇몇 열 조건들이 컴포넌트를 영구적으로 불가능하게 할 수 있는 반면에, 상이한 열 조건들 하에서, 동일한 컴포넌트는 단지 일시적인 불안정성을 경험할 수 있다는 것을 당업자는 인지할 것이다. 예를 들어, 높은 레벨의 열 에너지에 대한 연장된 노출은 PCD의 메모리 컴포넌트를 파괴할 수 있는 반면에, 더 적은 극도의 열 조건들 하에서 동일한 메모리 컴포넌트는 단지 그의 기능에 지속적으로 효과를 미치지는 일시적인 장애들을 경험할 수 있다.
[0029] 이 설명에서, "부트(boot)", "(reboot)", "부트 모드(boot mode)", "부트 시퀀스(boot sequence)" "부트 페이즈(boot phase)" 등의 용어들은 운영 체제를 로딩하고 이을 위해 다양한 PCD 컴포넌트들을 준비하는 것을 포함해서(그러나 이것으로 제한되지 않음) 초기에 전력이 공급(power on)되면 PCD가 수행하는 동작들의 초기 세트를 지칭하도록 의도된다. 이를 위해, "온라인(online)" 또는 "온라인이 되는(coming online)" 이란 용어들은 이 설명에서, PCD의 컴포넌트 또는 컴포넌트들의 완료된 "부트"의 종료 결과가 되는 것으로 이해될 것이다.
[0030] 온-다이 온도 측정들(on-die temperature measurements)과 같은 열 표시자들이 특정한 임계치를 초과할 때 PCD를 부트하도록 시도하는 것은 PCD 내의 임의의 수의 컴포넌트들의 건강을 위태롭게 할 수 있다. 예를 들어, 스택된 "BGA"(ball grid array) 메모리 컴포넌트를 포함하는 "PoP"(package on package) 메모리 디바이스의 무결성은, 뜨거운 자동차에 남겨지게 되거나 집중적인 게임 세션 후에 PCD에 의해 경험될 수 있는 것과 같이 온-다이 온도들이 이미 상승되었을 때 근처의 열 어그리서로부터 소산되는 열 에너지에 PoP 메모리가 노출되는 경우 희생될 수 있다. 유사하게, 강력한 다중-코어 프로세싱 컴포넌트들의 실리콘은, 프로세싱 컴포넌트가 최대 전력으로 또는 심지어 온도가 이미 상승되었을 때 부트 시퀀스 동안 최대 전력 미만의 임의의 전력으로 온라인이 된 경우 저하될 수 있다.
[0031] 당업자에 의해 이해되는 바와 같이, 이들 예시적인 컴포넌트들 및 PCD 내의 다른 프로세싱 컴포넌트들은 프로세싱 작업로드들 동안 열 에너지를 생성하고 소산시킬 수 있다. 극단적으로, 이들 열적으로 공격적인 컴포넌트들에 의해 생성된 열 에너지의 소산은 PCD의 전체 기능에 대해 상당한 손상을 야기할 수 있다. 그러므로, 통상적으로 열 표시자가 특정한 임계치를 초과할 때 PCD의 시도되는 부트는 PCD의 하나 이상의 컴포넌트들의 건강에 대한 상당한 손해의 위험을 완화시키기 위한 일련의 전력 붕괴들 및 리부트들을 초래할 수 있다. 전력 붕괴들 및 리부트들은 PCD의 건강을 보호하는데 유용하지만, 사용자의 경험에 부정적인 영향을 준다.
[0032] PCD가 자신의 다양한 열 민감성 컴포넌트들의 건강을 위태롭게 하지 않고 또는 부정적인 방식으로 사용자 경험에 몹시 영향을 주지 않고 자신의 부트 시퀀스를 완료하는 것을 보장하는 것은 부트 페이즈의 초기 스테이지들에서 하나 이상의 센서 측정들을 레버리지하는 "TAB"(열 인식 부트) 모듈에 의해 달성될 수 있다. TAB 모듈의 예시적인 실시예는 부트 시퀀스의 초기 스테이지들에서 온라인이 되도록 구성되는 "LP"(low power) 프로세싱 컴포넌트, 이를 테면 "RPM"(resource power manager) 프로세서를 이용한다. LP 프로세서 상에서 실행되는 열 인식 부트 소프트웨어 양상을 포함할 수 있는 TAB 모듈은 모니터링 모듈에 의해 행해지는 열 표시자(들)와 연관된 측정들을 레버리지한다. 모니터링 모듈은 예를 들어, 주문형 집적 회로("ASIC") 또는 다른 집적 회로의 다이 주변에 위치된 하나 이상의 온도 센서들을 폴(poll)하고, 몇몇 경우들에서, 측정 데이터를 디지털 신호로 변환하도록 아날로그-디지털 변환기 하드웨어를 이용할 수 있다.
[0033] 모니터 모듈에 의해 생성된 디지털 신호들은 PCD의 터치 온도들, CPU 코어(들)와 연관되는 프로세싱 온도들, PoP 메모리 디바이스 부근의 대기 온도들, 배터리와 연관되는 "SoC"(state of charge) 판독들, 전력 버스 상의 전류 레벨들 등과 같은(그러나 이것으로 제한되지 않음) 열 에너지 소산 레벨들의 열 표시자들과 상관될 수 있는 임의의 수의 측정들을 나타낼 수 있다. TAB 모듈에 의해 수신되면, 신호들은 주어진 측정들에 대한 미리 결정된 임계치들에 비교될 수 있다. 미리 결정된 임계치들은 PCD의 최대 허용 가능한 터치 온도, PCD의 컴포넌트의 최대 동작 온도, PCD의 배터리에 대한 최소 충전 레벨, PCD의 전력 버스 상의 최대 전류 레벨 등을 포함(그러나 이것으로 제한되지 않음)하는 주어진 열 표시자들에 대한 임의의 수의 파라미터들에 기초할 수 있다.
[0034] 측정들과 임계치들의 비교에 기초하여 TAB 모듈의 몇몇 실시예들은 부트 시퀀스를 완료하거나 지연하도록 선택할 수 있다. 다른 실시예들에서, TAB 모듈은 PCD의 하나 이상의 컴포넌트들에 대한 스케일링된 성능 레벨(scaled performance level)을 선택하고 이어서 비트 시퀀스를 수정하도록 이 비교를 레버리지하여서 주어진 컴포넌트들이 감소된 성능 레벨들에서 온라인이 된다. 당업자에 의해 이해될 바와 같이, 프로세싱 컴포넌트가 감소된 전력 레벨로 온라인이 되게 하는 것은 컴포넌트가 비교적 더 낮은 레이트들의 열 에너지를 생성하게 할 수 있다. 또한, 감소된 성능 레벨로 하나 이상의 컴포넌트들을 부트함으로써, 당업자는 최대 전력 레벨들로 컴포넌트들을 부트하는 것으로부터 발생할 수 있는 PCD 건강에 대한 위험 없이 짧은 부트 시간 지속기간이 유지될 수 있다는 것을 인지할 것이다.
[0035] 예를 들어, 몇몇 실시예들에서, 모니터 모듈은 PCD의 메인 CPU의 코어 부근에 위치된 온도 센서로부터의 판독들을 취할 수 있다. 온도 판독들은 코어의 온도가 최대 임계치 미만이라고 TAB 모듈에 표시하고 이에 따라 고 전력 소비 CPU가 최대 전력으로 온라인이 되게 하는 것은 CPU 및/또는 PCD 내의 다른 컴포넌트에 해롭지 않게 될 것이다. 이러한 시나리오에서, TAB 모듈은 수정 없이 부트 시퀀스를 진행하거나 완료하도록 LP 프로세서를 인가할 수 있다. 그러나 미리 결정된 임계치를 초과하는 것으로 TAB 모듈에 의해 온도 판독들이 결정되는 경우, TAB 모듈은 부트 시퀀스가 지연되도록 선택하여서, 상승된 온도를 야기하는 열 에너지가 소산될 수 있게 된다. 대안적으로, 임계치가 초과될 때, TAB 모듈은 부트 시퀀스를 수정할 수 있어서, 그것이 완료되면, CPU가 PCD의 기존의 열 풋프린트(thermal footprint)에 과한 영향을 주게 되지 않는 열 에너지 생성의 레이트와 연관된 스케일링된 전력 레벨로 온라인이 되게 될 것이다.
[0036] 유리하게는, 이러한 방식으로 부트 시퀀스를 일시적으로 지연하거나 수정함으로써, PCD의 하나 이상의 컴포넌트들의 건강에 관한 잠재적으로 재앙적이거나 부정적인 영향들은 PCD를 전력 붕괴하거나 부트 프로세스를 완전히 재시작함 없이 방지될 수 있다. 즉, 과도한 열 에너지에 대한 노출로부터 발생하는 영구적인 컴포넌트 손상 또는 성능 불안정성은 PCD의 부트 프로세스를 완전히 재시작하거나 전력 붕괴 없이 방지될 수 있다. 이러한 방식으로, 사용자 경험 및 QoS 레벨들은 이상적인 열 조건 미만의 열 조건에서 PCD가 부트될 때 최적화될 수 있다. 또한, 몇몇 실시예들은 열 표시자 측정들이 계속 폴링되고 미리 결정된 임계치에 비교되기 때문에 부트 시퀀스를 무한정으로, 또는 세팅된 수의 사이클들 동안 지연시킬 수 있다는 것이 고려된다.
[0037] 명백히, 본 명세서에서 설명되고 예시된 예시적인 실시예들은 주로 폴링된 열 표시자들에 기초하여 부트 시퀀스를 지연하고, 인가하거나 수정하는 것에 관한 것이다. 그러나 보다 일반적인 견지에서, 실시예들은 PCD 내의 프로세스를 지연, 인가 또는 수정하도록 선택하기 이전에 이용 가능한 "열 헤드룸(thermal headroom)"을 결정하도록 시도한다. 따라서 당업자는, 부트 시퀀스가 지연되고, 완료를 위해 인가되거나 하나 이상의 폴링된 열 표시자들에 기초하여 수정될 수 있는 PCD 내의 프로세스의 단지 일 예일 뿐이라는 것을 인지할 것이다. 따라서, 시스템들 및 방법들의 실시예들은, 임계치가 초과되게 함 없이, 임임의 프로세스가 완료될 수 있다고 폴링된 측정과 주어진 임계치 간의 차이에 의해 정량화되는 "열 헤드룸"이 제안하는 한, 이러한 프로세스를 인가하거나 수정할 수 있다는 것이 고려된다. 비-제한적인 예로서, 특정한 실시예들은 특정한 고전력 코어 상의 프로세싱에 대해 스케줄링된 작업로드를 지연하고, 인가하거나 수정하도록 선택하기 이전에, 폴링된 열 표시자를 임계치에 비교할 수 있다. 명백하게는, 이러한 실시예에서, 스케줄링된 작업로드를 지연하거나 수정하는 것은 스케줄링된 작업로드의 우선순위를 변경하는 것을 포함할 수 있어서, 더 낮은 레벨의 열 에너지 생성과 연관된 다른 작업로드들이 대신 프로세싱될 수 있다.
[0038] 도 1은 PCD(100)에서 열 인식 부트 시퀀스를 구현하기 위한 온-칩 시스템(102)의 실시예를 예시하는 기능적 블록도이다. 열 인식 부트 시퀀스의 실시예들은 PCD(100) 내의 모든 컴포넌트들이 온라인이 되기에 안전한지를 결정하기 위해 PCD(100) 내의 하나 이상의 위치들로부터 온도 측정들과 같은 열 표시자들의 측정들을 레버리지한다. 온라인이 되는 것이 PCD(100) 내의 하나 이상의 컴포넌트들에 대해 해로울 것이라고 측정들이 표시하는 경우, 부트 시퀀스는 열 조건들이 부트 시퀀스의 완료에 대해 보다 우호적이라고 측정(들)의 후속 판독들이 표시할 때까지 지연될 수 있다. 대안적으로, 몇몇 실시예들에서, 비교적 더 낮은 레이트들의 열 에너지 생성 및 소산에 상관되는 감소된 전력 레벨에서 하나 이상의 컴포넌트들이 온라인이 되도록 부트 시퀀스를 수정할 수 있다. 이러한 방식으로, 실시예들은 PCD(!00)의 전체 건강을 보호하고 연속적인 리부트들을 방지할 수 있다.
[0039] 위에서 설명된 바와 같이, 다수의 PCD들(100)은 CPU(100)와 같은 메인 프로세싱 컴포넌트 상에서 실행되는 메인 열 정책 관리자 모듈(113)을 포함한다. 메인 열 정책 관리자 모듈(113)은 PCD(100)가 동작하고 작업로드들을 프로세싱하고 있을 때 열 에너지 생성을 관리하기 위해 임의의 수의 열 완화 기법들을 적용하도록 구성될 수 있다. 그러나 부트 시퀀스의 초기 페이즈들 동안, 메인 CPU(100)는 아직 온라인이 아니고, 이에 따라 거기서 실행되는 메인 열 정책 관리자 모듈(113)은 적동되지 않는다. 또한 CPU(110)(또는 예시적인 PoP 메모리(112A)와 같은 다른 프로세싱 컴포넌트)와 연관된 온도들이 상승되는 경우, CPU(110)가 온라인이 되고 과도한 양의 열 에너지를 생성하기 시작하도록 허용되면, CPU(110) 및/또는 PCD(110)의 다른 컴포넌트들의 건강에 해롭게 될 수 있다.
[0040] 일반적으로, 시스템은 몇몇 실시예들에서, 단일 모듈내에 포함될 수 있는 2개의 메인 모듈들: (1) 열 표시자 측정들을 미리 결정된 임계치들에 비교하고 진행중인 부트 시퀀스를 지연, 인가 또는 수정하기 위한 TAB 모듈(101) 및 (2) PCD(100)에 걸쳐서 위치되는 관련 센서들(157)을 폴링(polling)하고 폴링된 측정들을 TAB 모듈(101)에 중계하기 위한 모니터 모듈(114)을 이용한다. 유리하게는, 2개의 메인 모듈들을 포함하는 시스템 및 방법의 실시예들은 PCD(100)의 전체 건강을 최적화하고 사용자 경험에 부정적으로 영향을 주는 전력 붕괴들 및 리부트들에 대한 필요성을 최소화하도록 센서 측정들을 레버리지한다.
[0041] 부트 시퀀스에서 초기에 온라인이 되고 낮은 레벨들의 전력(결과적으로 비교적 낮은 레벨들의 열 에너지를 생성함)을 소비하는 LP 프로세서(111), 예를 들어, "RPM"(resource power manager) 프로세서가 부트 시퀀스를 관리하도록 구성될 수 있어서, LP 프로세서(111)는 CPU(110)와 같은 다른 더 높은 전력 소비 컴포넌트들이 온라인이 되도록 인가한다. 당업자에 의해 이해될 바와 같이, LP 프로세서(111)는 클록 스위칭, 전력 스위칭 등을 포함(그러나 이것으로 제한되지 않음)하는 임의의 수의 기능들을 제어하도록 구성될 수 있다. 그러나 열 인식 부트 시퀀스를 구현하기 위한 시스템 및 방법은 부트 시퀀스에서 초기에 실행되도록 구성된는 PCD 내의 임의의 컴포넌트가 주어진 실시예의 구현에 적합할 수 있기 때문에 RPM 프로세서를 레버리지하는 것으로 제한되지 않는다.
[0042] 도 1의 예시로 되돌아오면, LP 프로세서(111)는 TAB 모듈(101), 모니터 모듈(114) 및 PCD(100) 내의 2개의 예시적인 컴포넌트들 - PoP 메모리(112a) 및 CPU(110)와 통신하는 것으로 도시된다. 명백히는, TAB 모듈(101) 및/또는 모니터 모듈(114) 작업로드의 전부 또는 부분이 LP 프로세서(111)에 의해 프로세싱될 수 있다. PoP 메모리(112A) 및 CPU(110)는 예시적인 목적들만을 위해 도시되며, 이에 따라 열 인식 부트 시퀀스를 구현하기 위한 시스템들 및 방법들은 PoP 메모리들 및/또는 CPU들로의 적용으로 제한되지 않는다는 것이 이해될 것이다. 오히려, 시스템들 및 방법들의 다양한 실시예들은 이상적인 열 조건들 미만의 열 조건들 하에서 부트 시퀀스를 완료하는 결과로서 악화될 수 있는 PCD(100) 내의 임의의 컴포넌트의 건강을 최적화하는데 이용될 수 있다는 것이 이해될 것이다.
[0043] 또한, 센서들(157)이 일반적으로 온-다이 또는 오프-다이 온도 판독의 형태로 열 표시자를 측정하는 것으로서 본 설명에서 참조되지만, 열 인식 부트 시퀀스를 구현하기 위한 시스템 및 방법의 몇몇 실시예들은 온도 이외의 다른 열 표시자 파라미터들을 측정하는 센서들을 레버리지할 수 있다는 것이 고려된다. 예를 들어, 위에서 언급된 바와 같이, 몇몇 실시예들에서, 센서들(157)은 배터리가 완료된 부트 시퀀스로부터의 결과일 프로세싱 로드를 유지하기 위한 용량을 갖는지를 결정하기 위해 배터리의 충전의 상태의 형의 열 표시자를 측정할 수 있다는 것이 고려된다. 아니면, 다른 실시예들에서, 센서들(157)은 주어진 컴포넌트의 열 에너지 레벨들을 추론하기 위해 전력 레일들 상에서 전기 전류 레벨들을 측정할 수 있다. 따라서, 열 표시자를 단순히 "온도 측정" 또는 "온도 판독" 등으로서 지칭하는 것이 본 설명의 다양한 지점들에서 방편이지만, 당업자는 설명된 실시예들 및 그의 등가물들이 온도 측정의 직접 형태로 열 표시자 측정들을 레버리지하는 것으로 제한되지 않는다는 것을 인지할 것이다. 오히려, 열 에너지 레벨들의 임의의 표시자가 열 인식 부트 정책을 결정하거나 트리거하도록 실시예에 의해 이용될 수 있다는 것이 완전히 본 개시의 범위 내에 있다는 것을 인지할 것이다.
[0044] 모니터 모듈(114)은 예를 들어, 온도 판독들과 같이 센서들(157)로부터 취해진 판독들을 폴링한다. 도 1의 예시에서, 센서들(157B)은 칩(102) 외부에 위치되고 잔여 예시적인 센서들(157A)은 PoP 메모리(112A) 및 CPU(110)의 코어들(222, 224, 226, 228) 부근에 위치된다. 예시적인 이용 경우 하에서, PCD(100)는 집중적이고 높은 작업로드 게임 세션으로부터 발생하는 CPU(110)의 상승된 프로세싱 온도들을 경험할 수 있다. CPU(110)의 코어들(222, 224, 226, 228) 중 하나 이상과 연관되는 센서들(175A)을 폴링하는 모니터 모듈(114)은 높은 온도 레벨을 인지하고, 이를 TAB 모듈(101)에 통신할 수 있다. TAB 모듈(101)은, 특정된 온도 레벨들을 미리 결정된 임계치에 비교하고, 상승된 온도들을 야기하는 열 에너지 중 일부가 더 안전한 레벨들로 소산할 때까지 CPU(110)가 파워링(powering)하는 것을 지연하도록 LP 프로세서(111)에 지시할 수 있다. 유사하게, PoP 메모리(112A)의 건강에 대한 안전한 레벨들을 초과하는 PoP 메모리(112A) 부근에서 측정된 온도들은 PoP 메모리(112A) 근처의 온도가 위태로운 레벨들에 도달하게 할 수 있는 열 에너지의 생성을 방지하기 위해 부트 시퀀스를 지연하도록 LP 프로세서(111)에 지시하게 TAB 모듈(101)을 트리거할 수 있다. 유사하게, 오프 칩 센서(157B)는 PCD(100)의 터치 온도를 측정하고 수용 가능한 터치 온도에 대한 미리 결정된 임계치에 기초하여 부트 시퀀스를 지연 또는 인가하도록 위치될 수 있다.
[0045] 예시적인 이용 경우로 돌아오면, TAB 모듈(101)의 다른 실시예들은 PCD(100)의 열 상태에 몹시 영향을 주지 않고 하나 이상의 컴포넌트들이 부트될 수 있는 감소된 전력 레벨들을 결정하기 위해 "TPL"(thermal performance lookup) 테이블(14)에 질의할 수 있다. 예를 들어, 센서(157A)에서 폴링된 온도 측정은 CPU(110) 근처의 온도가 PoP 메모리(112A)에 해로울 수 있는 레벨에 도달하지만 이러한 임계치를 초과하지 않았다고 표시할 수 있다. 이러한 경우에, TAB 모듈(101)은 임계치가 초과되게 하기에 충분한 에너지를 생성할 위험 없이 CPU(110)가 그의 최대 주파수의 50%로 파워링될 수 있다는 것을 TPL 테이블(24)의 자신의 질의로부터 결정할 수 있다. 결과적으로, TAB 모듈(101)은 부트 시퀀스를 수정할 수 있어서, CPU(110)는 그의 최대 주파수의 50%에서 파워링되며, 그에 따라 PoP 메모리(112A)의 건강을 위태롭게 하지 않고 CPU(110)가 온라인이 되게 함으로써 사용자 경험을 최적화한다. 예시적인 열 부트 상태들에 관한 추가의 세부사항들은 도 4 내지 도 5 및 도 7에 관하여 설명될 것이다.
[0046] 도 2는 폴링된 열 조건들에 기초하여 부트 시퀀스를 지연, 인가 또는 수정하는 방법들 및 시스템들을 구현하기 위한 무선 전화의 형태의 도 1의 PCD(100)의 예시적인 비-제한적인 양상을 예시하는 기능적 블록도이다. 도시된 바와 같이, PCD(100)는 서로 커플링되는 다중 코어 중앙 처리 장치("CPU")(110) 및 아날로그 신호 프로세서(126)를 포함하는 온-칩 시스템(102)을 포함한다. 온-칩 시스템(102)은 또한 자원 전력 관리 프로세서와 같은 "LP"(low power) 프로세서(111)를 포함한다. CPU(110)는 당업자에 의해 이해되는 바와 같이, 제 0 코어(222), 제 1 코어(224), 및 제 N 코어(230)를 포함할 수 있다. 또한, CPU(110) 대신, 디지털 신호 프로세서("DSP")는 또한 당업자에 의해 이해되는 바와 같이 이용될 수 있다.
[0047] 일반적으로 열 인식 부트("TAB") 모듈(101)은 온도 관련 측정들을 미리 결정된 임계치들에 비교하고 비교에 기초하여 PCD(100)의 부트 시퀀스를 인가하고, 지연하거나 수정하도록 선택하는 것을 담당할 수 있다. 유리하게는, 폴링된 온도들이 미리 결정된 임계치들을 초과하거나 미리 정의된 열 상태 범위들 내에 있게 될 때 부트 시퀀스를 지연 또는 수정함으로써, TAB 모듈(101)은 PCD(100)가 열 조건들 및/또는 열 로드들을 관리하고 예를 들어, 부트 시퀀스 동안 위태로운 온도들에 도달하는 것과 같은 불리한 열 조건들을 경험하는 것을 방지하게 할 수 있다.
[0048] 도 2는 또한 PCD(100)가 모니터 모듈(114)을 포함할 수 있음을 도시한다. 모니터 모듈(114)은 온-칩 시스템(102) 전체에 걸쳐서 분포되는 다수의 동작 센서들(예를 들어, 열 센서들(157)) 및 PCD(100)의 LP 프로세서(111)는 물론 TAB 모듈(101)과 통신한다. TAB 모듈(101)은 부트 시퀀스에서 초기에 미리 결정된 온도 임계치들 및/또는 범위들에 대해 불리한 열 조건들을 식별하고 열 에너지 소산을 관리하기 위해 부트 시퀀스를 지연 또는 수정하도록 모니터 모듈(114)과 함께 작동할 수 있다.
[0049] 도 2에 예시된 바와 같이, 디스플레이 제어기(128) 및 터치스크린 제어기(130)가 디지털 신호 프로세서(110)에 커플링된다. 온-칩 시스템(102) 외부의 터치스크린 디스플레이(132)가 디스플레이 제어기(128) 및 터치스크린 제어기(130)에 커플링된다. PCD(100)는 추가로, 비디오 인코더(134), 예를 들어 "PAL(phase-alternating line)" 디코더, "SECAM(sequential couleur avec memoire)" 인코더, "NTSC(national television system(s) committee)" 인코더 또는 임의의 다른 타입의 비디오 인코더(134)를 포함할 수 있다. 비디오 인코더(134)는 다중-코어 CPU(110)에 커플링된다. 비디오 증폭기(136)가 비디오 인코더(134) 및 터치스크린 디스플레이(132)에 커플링된다. 비디오 포트(138)가 비디오 증폭기(136)에 커플링된다. 도 2에 도시된 바와 같이, 범용 직렬 버스("USB(universal serial bus)") 제어기(140)가 CPU(110)에 커플링된다. 또한, USB 포트(142)가 USB 제어기(140)에 커플링된다. PoP 메모리(112a)를 포함할 수 있는 메모리(112) 및 가입자 신원 모듈("SIM": subscriber identity module) 카드(146)가 또한 CPU(110) 및/또는 LP 프로세서(111)에 커플링될 수 있다. 또한, 도 2에 도시된 바와 같이, 디지털 카메라(148)가 CPU(110)에 커플링될 수 있다. 예시적인 양상에서, 디지털 카메라(148)는 "CCD"(charge-coupled device) 카메라 또는 "CMOS"(complementary metal-oxide semiconductor) 카메라이다.
[50] 도 2에 더 예시된 바와 같이, 스테레오 오디오 코덱(150)이 아날로그 신호 프로세서(126)에 커플링될 수 있다. 더욱이, 오디오 증폭기(152)가 스테레오 오디오 코덱(150)에 커플링될 수 있다. 예시적인 양상에서, 제 1 스테레오 스피커(154) 및 제 2 스테레오 스피커(156)가 오디오 증폭기(152)에 커플링된다. 도 2는 마이크로폰 증폭기(158)가 또한 스테레오 오디오 코덱(150)에 커플링될 수 있음을 보여준다. 추가로, 마이크로폰(160)이 마이크로폰 증폭기(158)에 커플링될 수 있다. 특정 양상에서, 주파수 변조("FM(frequency modulation)") 라디오 튜너(162)가 스테레오 오디오 코덱(150)에 커플링될 수 있다. 또한, FM 안테나(164)가 FM 라디오 튜너(162)에 커플링된다. 또한, 스테레오 헤드폰들(166)이 스테레오 오디오 코덱(150)에 커플링될 수 있다.
[51] 도 2는 또한, 무선 주파수("RF(radio frequency)") 트랜시버(168)가 아날로그 신호 프로세서(126)에 커플링될 수 있음을 나타낸다. RF 스위치(170)가 RF 트랜시버(168) 및 RF 안테나(172)에 커플링될 수 있다. 도 4에 도시된 바와 같이, 키패드(174)가 아날로그 신호 프로세서(126)에 커플링될 수 있다. 또한, 마이크로폰을 구비한 모노 헤드셋(176)이 아날로그 신호 프로세서(126)에 커플링될 수 있다. 또한, 진동기 디바이스(178)가 아날로그 신호 프로세서(126)에 커플링될 수 있다. 도 2는 또한 전원(180), 예를 들어 배터리가 "PMIC"(power management integrated circuit)(180)를 통해 온-칩 시스템(102)에 커플링됨을 보여준다. 특정 양상에서, 전원은 교류("AC(alternating current)") 전원에 연결된 AC-DC 변압기로부터 유도되는 재충전 가능한 DC 배터리 또는 DC 전원을 포함한다.
[0052] CPU(110)는 또한 하나 이상의 내부의 온-칩 열 센서들(157A)은 물론 하나 이상의 외부의 오프-칩 열 센서들(157B)에 커플링될 수 있다. 온-칩 열 센서들(157A)은 "CMOS(complementary metal oxide semiconductor) VLSI(very large-scale integration)" 회로들에 보통 전용되고 수직 PNP 구조에 기초하는 하나 이상의 "PTAT"(proportional to absolute temperature) 온도 센서들을 포함할 수 있다. 오프-칩 열 센서들(157B)은 하나 이상의 서미스터들(thermistors)을 포함할 수 있다. 열 센서들(157)은 "ADC"(analog-to-digital converter) 제어기(103)(도 3a 참조)를 통해 디지털 신호들로 변환된 전압 드롭(voltage drop)을 생성할 수 있다. 그러나 다른 타입들의 열 센서들(157)은 본 발명의 범위로부터 벗어남 없이 이용될 수 있다.
[0053] ADC 제어기(103)에 의해 제어되고 모니터링되는 것 외에, 열 센서들(157)은 또한 TAB 모듈(101)에 의해 제어되고 모니터링될 수 있다. TAB 모듈(101)은 LP 프로세서(111)에 의해 실행되는 소프트웨어를 포함할 수 있다. 그러나 TAB 모듈(101)은 또한 본 발명의 범위로부터 벗어남 없이 하드웨어 및/또는 펌웨어로부터 형성될 수 있다. TAB 모듈(101)은 센서들(157)에 의해 생성되는 신호들의 임의의 결합에 의해 트리거될 수 있는 부트 시퀀스 지연들 및/또는 수정들을 모니터링 및 적용하는 것을 담당할 수 있다. 예를 들어, TAB 모듈(101)은 몇몇 실시예들에서, 센서들(175A)에 의해 측정된 동작 온도들을 온도 임계치에 비교하고 비교에 기초하여 부트 시퀀스를 지연하도록 선택할 수 있다. 다른 실시예들에서, TAB 모듈(101)은 센서(157B)에 의해 행해진 "터치 온도" 측정을 온도 임계치에 비교하고, 비교에 기초하여, 터치 온도가 상승하는 것을 방지하기 위해 감소된 레벨의 프로세싱 온도에서 PCD(100)가 온라인에 되게 하도록 부트 시퀀스를 수정하게 선택할 수 있다. 명백하게는, TAB 모듈(101)에 의한 부트 시퀀스 지연들 및/또는 수정들의 적용은 위태로운 온도들 및 각각의 전력 붕괴들 및 리부트들을 방지함으로써 PCD(100)가 사용자 경험을 최적화하게 하게 할 수 있다.
[0054] 터치스크린 디스플레이(132), 비디오 포트(138), USB 포트(142), 카메라(148), 제 1 스테레오 스피커(154), 제 2 스테레오 스피커(156), 마이크로폰(160), FM 안테나(164), 스테레오 헤드폰들(166), RF 스위치(170), RF 안테나(172), 키패드(174), 모노 헤드셋(176), 진동기(178), 열 센서들(157B), PMIC(180) 및 전원(188)이 온-칩 시스템(102) 외부에 있다. 그러나 모니터 모듈(114)은 또한 PCD(100) 상에서 동작 가능한 자원들의 실시간 관리에 도움이 되도록 아날로그 신호 프로세서(126) 및 CPU(110) 및 LP 프로세서(111)에 의해 이러한 외부 디바이스들 중 하나 이상의 디바이스로부터 하나 이상의 지시들 또는 신호들을 수신할 수 있다는 것이 이해되어야 한다. 예를 들어, 모니터 모듈(114)에 의해 폴링되고 생성되는 신호들은, 부트 시퀀스의 완료 이후에 PCD(100)의 열 에너지 생성을 관리하기 위해 메인 열 정책 관리("TPM") 모듈들(113)에 의해 허용될 수 있다. 또한, 도 2에서 PCD(100)의 예시적인 실시예에서 온-칩 시스템(102) 외부에 있는 것으로서 도시된 이들 디바이스들 중 하나 이상은 다른 예시적인 실시예들에서 칩(102) 상에 상주할 수 있다는 것이 이해될 것이다.
[0055] 특정 양상에서, 본 명세서에서 설명되는 방법 단계들 중 하나 이상의 단계는 하나 이상의 TAB 모듈(101) 및 TPM 모듈(들)(113)을 형성하는, 메모리(112)에 저장된 실행 가능 명령들 및 파라미터들에 의해 구현될 수 있다. TAB 모듈(101) 및 TPM 모듈(들)(113)을 형성하는 이러한 명령들은 본 명세서에서 설명되는 방법들을 수행하기 위해, ADC 제어기(103) 외에, CPU(110), 아날로그 신호 프로세서(126), LP 프로세서(111) 또는 다른 프로세서에 의해 실행될 수 있다. 또한, 프로세서들(110, 111, 126), 메모리(112), 그 내부에 저장된 명령들, 또는 이들의 조합은 본 명세서에서 설명되는 방법 단계들 중 하나 이상의 단계를 수행하기 위한 수단의 역할을 할 수 있다.
[0056] 도 3a는 도 2에서 예시되는 칩(102)에 대한 하드웨어의 예시적인 공간적 어레인지먼트를 예시하는 기능적 블록도이다. 이 예시적인 실시예에 따라, 애플리케이션들 CPU(110) 및 LP 프로세서(111)는 칩(102)의 맨 좌측 영역에 위치되는 반면에, 모뎀 CPU(168, 126)은 칩(102)의 맨 우측 영역에 위치된다. 애플리케이션들 CPU(110)는 제 0 코어(222), 제 1 코어(224) 및 제 N 코어(230)를 포함하는 다중-코어 프로세서를 포함할 수 있다. 애플리케이션CPU(110)는 (소프트웨어로 실현될 때) TPM 모듈(113)을 실행할 수 있거나, 또는 이는 (하드웨어로 실현될 때) TPM 모듈(113)을 포함할 수 있다. 유사하게, LP 프로세서(111)는 (소프트웨어로 실현될 때) TAB 모듈(101)을 실행할 수 있거나 이는 (하드웨어로 실현될 때) TAB 모듈(101)을 포함할 수 있다. 애플리케이션 CPU(110)는 또한 운영 체제("O/S") 모듈(207)을 포함하는 것으로 예시된다. LP 프로세서(111)는 또한 ADC 제어기(103)와 연결되고 모니터 모듈(114)을 포함하는 것으로 예시된다. 애플리케이션들 CPU(110)는 칩(102)의 좌측 영역에 있고 애플리케이션들 CPU(110)에 가까이 위치되는 하나 이상의 "PLL들"(phase locked loops)(209A, 209B)에 커플링될 수 있다. 모니터 모듈(114) 및 ADC 제어기(103)는 "온-칩"(102) 및 "오프-칩"(102)으로 제공될 수 있는 다수의 열 센서들(157)을 모니터링 및 트래킹하는 것을 담당할 수 있다.
[0057] 온-칩 또는 내부 열 센서들(157A)은 다양한 위치들에 위치되며 이 위치들 부근의 하나 이상의 컴포넌트들과 연관될 수 있다. 비-제한적인 예로서, 제 1 내부 열 센서(157A1)는 애플리케이션들 CPU(110)와 모뎀 CPU(168, 126) 사이에 그리고 내부 메모리(112)에 가까이, 칩(102)의 상부 중앙 영역에 위치될 수 있다. 제 2 내부 열 센서(157A2)는 칩(102)의 우측 영역의 모뎀 CPU(168, 126) 아래에 위치될 수 있다. 이러한 제 2 내부 열 센서(157A2)는 또한 "ARM"(advanced reduced instruction set computer ("RISC") instruction set machine)(177)과 제 1 그래픽 프로세서들(135A) 사이에 위치될 수 있다. "DAC"(digital-to-analog converter)(173)는 제 2 내부 열 센서(157A2)와 모뎀 CPU(168, 126) 사이에 위치될 수 있다.
[0058] 제 3 내부 열 센서(157A3)는 칩(102)의 맨 우측 영역에서 제 2 그래픽 프로세서(135B)와 제 3 그래픽 프로세서(135C) 사이에 위치될 수 있다. 제 4 내부 열 센서(157A4)는 칩(102)의 맨 우측 영역에 그리고 제 4 그래픽 프로세서(135D) 아래에 위치될 수 있다. 그리고 제 5 내부 열 센서(157A5)는 칩(102)의 맨 좌측 영역에 그리고 PLL들(209)에 가까이 위치될 수 있다.
[0059] 하나 이상의 외부 열 센서들(157B)은 ADC 제어기(103)에 또한 커플링될 수 있다. 제 1 외부 열 센서(157B1)는 모뎀 CPU(168, 126), ARM(177) 및 DAC(173)를 포함할 수 있는 칩(102)의 상부 우측 사분면에 가까이 그리고 오프-칩으로 위치될 수 있다. 제 2 외부 열 센서(157B2)는 제 3 및 제 4 그래픽 프로세서들(135C, 135D)을 포함할 수 있는 칩(102)의 하부 우측 사분면에 가까이 그리고 오프-칩으로 위치될 수 있다. 명백히는, 외부 열 센서들(157B) 중 하나 이상은 PCD(100)의 터치 온도, 즉 PCD(100)에 접촉하는 사용자에 의해 경험될 수 있는 온도를 표시하도록 레버리지될 수 있다.
[0060] 당업자는 도 3a에서 예시된 하드웨어의 다양한 다른 공간적 어레인지먼트들이 본 발명의 범위로부터 벗어남 없이 제공될 수 있다는 것을 인지할 것이다. 도 3a는 다른 하나의 예시적인 공간적 어레인지먼트 및 TAB 모듈(101), 모니터 모듈(114) 및 ADC 제어기(103)가 도 3a에서 예시된 예시적인 공간적 어레인지먼트의 함수인 열 조건들을 인지하고, 인지된 열 조건들을 온도 임계치들에 비교하고, 부트 시퀀스를 인가하고, 지연하거나 수정하기 위한 로직에 적용하는 방법을 예시한다.
[0061] 도 3b는 열 인식 부트 시퀀스들을 지원하기 위해 도 2 및 도 3a의 PCD(100)의 예시적인 소프트웨어 아키텍처를 예시하는 개략도이다. 도 3b에서 예시된 바와 같이, LP 프로세서(111)는 버스(211)를 통해 메모리(112)에 커플링된다. 위에서 언급된 바와 같이, CPU(110)는 N개의 코어 프로세서들(222, 224, N차)을 갖는 다중-코어 프로세서이고, PCD(100)가 완전히 부트되고 실행되면 메인 열 정책 관리자 모듈(113)을 포함하거나 실행할 수 있다. 당업자에게 알려진 바와 같이, 제 1 코어(222), 제 2 코어(224) 및 제 N 코어(230) 각각은 예를 들어, TPM 모듈(113)과 연관된 프로그램(들)과 같은 프로그램 또는 전용 애플리케이션을 지원하도록 이용 가능하게 될 수 있다. 대안적으로, 하나 이상의 애플리케이션들 또는 프로그램들은 이용 가능한 코어들 중 2개 이상에 걸친 프로세싱을 위해 분배될 수 있다. 명백하게는, 열 인식 부트을 위한 방법의 실행이 CPU(110)에 대한 부트 시퀀스들의 인가, 지연 또는 수정과 관련하여 설명되지만, 당업자는 이러한 방법들의 애플리케이션이 열 어그리서로서 식별될 수 있는 PCD(100) 내의 임의의 컴포넌트에 대해 부트 시퀀스들을 유리하게 인가, 지연 또는 수정할 수 있다는 것을 인지할 것이다.
[0062] LP 프로세서(111)는 소프트웨어 및/또는 하드웨어를 포함할 수 있는 TAB 모듈(101)로부터 커맨드들을 수신할 수 있다. 소프트웨어로 실현되는 경우, TAB 모듈(101)은 LP 프로세서(111) 및/또는 다른 프로세서들에 의해 실행되는 다른 애플리케이션 프로그램들에 대한 커맨드를 발행하는 LP 프로세서(111)에 의해 실행되는 명령들을 포함한다. 예를 들어, TAB 모듈(101)은 특정한 컴포넌트의 부트 시퀀스가, 더 높은 우선순위 컴포넌트의 부트를 수용할 수 있는 임계치 미만으로 열 에너지 레벨들을 유지하도록 지연하게 하도록 LP 프로세서(111)에 지시할 수 있다. 이 예에 보다 구체적으로, CPU(110)의 코어(222)에 전용되는 특정한 높은 우선순위 애플리케이션이 빠르게 온라인이 된다는 것을 보장하고자 하는 TAB 모듈(101)은 LP 프로세서(111)가 열 어그리서 인접 코어(2244)의 부트를 지연하게 할 수 있다. 대안적으로 TAB 모듈(101)은 열 어그리서 코어(224)가 감소된 주파수에서 온라인이 될 수 있다고 결정하며, 그에 의해 그것이 생성할 열 에너지의 양을 완화시키고 코어(222) 근처의 온도 레벨들이 위태로운 임계치를 초과하지 않을 것임을 보장한다. 유리하게는, 이를 행함으로써, TAB 모듈(101)은, PCD(100)가 이상적인 열 조건들 미만의 조건 하에서 부트될지라도 코어(222)와 연관된 높은 우선순위 애플리케이션을 이용 가능하게 함으로써 사용자 경험을 최적할 수도 있다.
[0063] 버스(211)는 당 분야에 알려진 바와 같은 하나 이상의 유선 또는 무선 연결들을 통한 다수의 통신 경로들을 포함할 수 있다. 버스(211)는 통신들을 가능하게 하기 위해 제어기들, 버퍼들(캐시들), 구동기들, 리피터들 및 수신기들과 같은 부가적인 엘리먼트들(단순함을 위해 생략됨)을 가질 수 있다. 또한, 버스(211)는 상술된 컴포넌트들 사이에서 적절한 통신들을 가능하게 하기 위한 어드레스, 제어 및/또는 데이터 연결들을 포함할 수 있다.
[0064] PCD(100)에 의해 이용된 로직이 도 3b에서 도시된 바와 같이 소프트웨어로 구현될 때, 시동 로직(250), 관리 로직(260), 열 부트 인터페이스 로직(270), 애플리케이션 저장소(280)의 애플리케이션들, TPL 테이블(24)과 연관된 데이터 및 파일 시스템(290)의 부분들 중 하나 이상은 임의의 컴퓨터-관련 시스템 또는 방법에 의한 이용 또는 이와 관련된 이용을 위해 임의의 컴퓨터-판독 가능한 매체에 저장될 수 있다는 것이 주의되어야 한다.
[0065] 본 문서의 맥락에서, 컴퓨터 판독 가능 매체는 컴퓨터 관련 시스템 또는 방법과 관련한 사용 또는 이들에 의한 사용을 위해 컴퓨터 프로그램 및 데이터를 포함하거나 저장할 수 있는 전자, 자기, 광 또는 다른 물리적 디바이스 또는 수단이다. 다양한 로직 엘리먼트들과 데이터 저장소들이 컴퓨터 기반 시스템, 프로세서 포함 시스템, 또는 명령 실행 시스템, 장치 또는 디바이스로부터 명령들을 페치(fetch)하여 명령들을 실행할 수 있는 다른 시스템과 같은 명령 실행 시스템, 장치 또는 디바이스와 관련한 사용 또는 이들에 의한 사용을 위해 임의의 컴퓨터 판독 가능 매체에서 구현될 수 있다. 본 문서의 맥락에서, "컴퓨터 판독 가능 매체"는 명령 실행 시스템, 장치 또는 디바이스와 관련한 사용하여 또는 이들에 의한 사용을 위해 프로그램을 저장, 통신, 전파 또는 전송할 수 있는 임의의 수단일 수 있다.
[66] 컴퓨터 판독 가능 매체는 예를 들어, 전자, 자기, 광, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스 또는 전파 매체일 수 있지만, 이들로 제한되는 것은 아니다. 컴퓨터 판독 가능 매체의 더 특정한 예들(완전하진 않은 리스트)은 하나 이상의 와이어들을 갖는 전기 연결(전자), 휴대용 컴퓨터 디스켓(자기), 랜덤 액세스 메모리("RAM": random-access memory)(전자), 판독 전용 메모리("ROM": read-only memory)(전자), 소거 가능한 프로그래밍 가능 판독 전용 메모리("EPROM", "EEPROM" 또는 "플래시" 메모리)(전자), 광섬유(광) 및 휴대용 콤팩트 디스크 판독 전용 메모리("CDROM": compact disc read-only memory)(광)를 포함할 것이다. 프로그램은 예컨대 종이나 다른 매체의 광학적 스캐닝을 통해 전자적으로 캡처된 다음, 필요하다면 적합한 방식으로 컴파일되거나, 해석되거나 또는 다른 방식으로 프로세싱되고, 다음에 컴퓨터 메모리에 저장될 수 있으므로, 컴퓨터 판독 가능 매체는 심지어 프로그램이 인쇄되는 종이나 다른 적당한 매체일 수도 있다는 점에 주목한다.
[67] 대안적인 실시예에서, 시동 로직(250), 관리 로직(260) 및 아마도 열 부트 인터페이스 로직(270) 중 하나 이상이 하드웨어로 구현되는 경우, 다양한 로직은 각각이 당 분야에 잘 알려져 있는 다음의 기술들; 데이터 신호들에 대한 로직 기능들을 구현하기 위한 로직 게이트들을 갖는 이산 로직 회로(들), 적절한 결합 로직 게이트들을 갖는 주문형 집적 회로(ASIC), 프로그래밍 가능한 게이트 어레이(들)(PGA), 필드 프로그래밍 가능한 게이트 어레이(FGPA) 등 중 임의의 것 또는 이들의 결합을 통해 구현될 수 있다.
[68] 메모리(112)는 플래시 메모리 또는 고상(solid-state) 메모리 디바이스와 같은 비-휘발성 데이터 저장 디바이스일 수 있다. 단일의 디바이스로서 도시되지만, 메모리(112)는 디지털 신호 프로세서 및/또는 LP 프로세서(111)에 커플링되는 별개의 데이터 저장소들을 갖는 분산형 메모리 디바이스일 수 있다.
[0069] 열 인식 부트을 위한 일 예시적인 실시예에서, 시동 로직(250)은 부트 시퀀스를 관리하거나 제어하기 위한 선택 프로그램을 선택적으로 식별하고, 로딩하고 실행하기 위한 하나 이상의 실행 명령들을 포함한다. 시동 로직(250)은 TAB 모듈(101)에 의해, 임계 온도 세팅들과 연관된 다양한 온도 측정들의 비교에 기초하여 선택 프로그램을 식별하고, 로딩하고 실행할 수 있다. 예시적인 선택 프로그램은 임베딩된 파일 시스템(290)의 프로그램 저장소(296)에서 발견될 수 있고 부트 알고리즘(297)의 특정한 결합 및 파라미터들(298)의 세트에 의해 정의된다. 특정한 실시예들에서, 부트 알고리즘(297)은 PCD(100)의 하나 이상의 컴포넌들의 성능 스케일링에 관한 것일 수 있다. 예시적인 선택 프로그램은 LP 프로세서(111)에 의해 실행될 때, TAB 모듈(101) 의해 제공된 제어 신호들과 결합하여 모니터 모듈(114)에 의해 제공된 하나 이상의 신호들에 따라 동작하여 하나 이상의 컴포넌트들이 전력 소비의 감소된 레벨로 온라인이 되도록 부트 시퀀스를 지연하고, 부트 시퀀스의 완료를 인가하거나 부트 시퀀스를 수정할 수 있다. 이에 관하여, 모니터 모듈(114)은 이벤트들, 프로세스들, 애플리케이션들, 자원 상태 조건들, 경과된 시간은 물론 TAB 모듈(101)로부터 수신된 바와 같은 온도의 하나 이상의 표시자들을 제공할 수 있다.
[0070] 관리 로직(260)은 주어진 열 부트 정책을 종결하는 것은 물론 보다 적합한 열 부트 정책을 선택적으로 식별, 로딩 및 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함한다. 관리 로직(260)은 실행 시간에 또는 PCD(100)가 전력공급되고 디바이스의 운용자에 의해 이용중인 동안 이 기능들을 수행하도록 배열된다. 대체 프로그램은 임베딩된 파일 시스템(290)의 프로그램 저장소(296)에서 발견될 수 있고, 몇몇 실시예들에서, 부트 알고리즘(297) 및 파라미터들(298)의 세트의 특정한 결합에 의해 정의될 수 있다.
[0071] 대체 프로그램은, LP 프로세서(111)에 의해 실행될 때, PCD(100) 내의 하나 이상의 컴포넌트에 대한 부트 시퀀스를 인가, 지연 또는 수정하기 위해 모니터 모듈(114)에 의해 제공되는 하나 이상의 신호들에 따라 동작할 수 있다. 이에 관해, 모니터 모듈(114)은 TAB 모듈(101)로부터 발신한 제어 신호들에 응답하여 이벤트들, 프로세스들, 애플리케이션들, 자원 상태 조건들, 경과된 시간, 온도, 전류 누설 등의 하나 이상의 표시자들을 제공할 수 있다.
[0072] 인터페이스 로직(270)은 임베딩된 파일 시스템(290)에 저장된 정보를 관찰, 구성, 또는 그렇지 않으면 업데이트하기 위해 외부 입력들을 제시하고, 관리하고 상호작용하기 위한 하나 이상의 실행 가능한 명령들을 포함한다. 일 실시예에서, 인터페이스 로직(270)은 USB 포트(142)를 통해 수신된 제조자 입력들과 함께 동작할 수 있다. 이들 입력들은 프로그램 저장소(296)에 부가되거나 이로부터 삭제되는 하나 이상의 프로그램들을 포함할 수 있다. 대안적으로, 입력들은 프로그램 저장소(296)의 프로그램들 중 하나 이상에 대한 편집들 또는 변경들을 포함할 수 있다. 또한, 입력들은 시동 로직(250) 및 관리 로직(260) 중 하나 또는 둘 다에 대한 하나 이상의 변경들, 또는 이들의 전체 교체들을 식별할 수 있다. 예로서, 입력들은 특정한 수의 회수들 또는 어그리게이트 지속기간 동안 부트가 지연될 때 온도 측정들과 무관하게 부트 시퀀스를 인가하도록 PCD(100)에 명령하는 관리 로직(160)에 대한 변경을 포함할 수 있다.
[0073] 인터페이스 로직(270)은 제조자가 PCD(100) 상의 정의된 동작 조건들 하에서 최종 사용자의 경험을 제어 가능하게 구성 및 조정하는 것을 가능하게 한다. 메모리(112)가 플래시 메모리일 때, 시동 로직(250), 관리 로직(260), 인터페이스 로직(270), 애플리케이션 저장소(280)의 애플리케이션 프로그램들, TPL 테이블(24)의 데이터 또는 임베딩된 파일 시스템(290)의 정보 중 하나 이상이 편집되거나, 대체되거나 그렇지 않으면 수정될 수 있다. 몇몇 실시예들에서, 인터페이스 로직(270)은 PCD(100)의 최종 사용자 또는 운용자가 시동 로직(250), 관리 로직(260), 애플리케이션 저장소(280)의 애플리케이션들, TPL 테이블(24)의 데이터 및 임베딩된 파일 시스템(290)의 정보를 탐색, 발견, 수정 또는 대체하도록 허용할 수 있다. 운용자는 PCD(100)의 다음 시동 시에 구현될 변경들을 행하도록 결과적인 인터페이스를 이용할 수 있다. 대안적으로, 운용자는 실행 시간 동안 구현되는 변경들을 행하도록 결과적인 인터페이스를 이용할 수 있다.
[0074] 임베딩된 파일 시스템(290)은 계층적으로 배열되는 열 인식 부트 모드 저장소(292)를 포함한다. 이것에 관하여, 파일 시스템(290)은 PCD(100)에 의해 이용되는 부트 시퀀스 알고리즘들(297) 및 다양한 파라미터들(298)의 구성 및 관리를 위한 정보의 저장을 위해 그의 총 파일 시스템 용량의 예약된 부분을 포함할 수 있다. 도 3b에서 도시된 바와 같이, 저장소(292)는 하나 이상의 열 인식 부트 프로그램을 포함하는 프로그램 저장소(296)를 포함한다.
[0075] 도 4는 PCD(100)의 QoS 및 전체 사용자 경험을 최적화하기 위해 TAB 모듈(101)에 의해 인지되고 관리될 수 있는 다양한 열 부트 상태들(405, 410, 415, 420)을 예시하는 예시적인 상태도(400)이다. 제 1 열 부트 상태(405)는 TAB 모듈(101)의 열 인식 부트 정책이 변경되지 않은 채로 유지되는 "보통" 상태를 포함할 수 있다. 이 예시적인 제 1의 그리고 보통 상태(405)에서, 모니터 모듈(114)에 의해 폴링된 온도들은, PCD(100) 내의 컴포넌트들이 위태로운 온도들에 도달하는 어떠한 위험 또는 위험요소 없이 최대 전력 용량 및 기능으로 부트될 수 있도록 미리 결정된 임계치들 훨씬 아래에 있다. 이 예시적인 상태에서, 모니터 모듈(114)에 의해 폴링되는 터치 온도 또는 다른 열 표시자는 최대 임계치 훨씬 아래에 있을 수 있다.
[0076] 제 2 열 부트 상태(410)는 TAB 모듈(101)이 모니터 모듈에 의해 폴링된 상승된 열 표시자들을 인지하고 PCD(100)의 하나 이상의 프로세싱 컴포넌트들에 대해 그의 열 인식 부트 정책을 수정하는 "상승된" 상태를 포함할 수 있다. 이 예시적인 제 2 상태(410)는 PCD(100)의 모든 컴포넌트들이 PCD(100)의 건강 또는 미션 중요 서비스들(mission critical services)을 위태롭게 함 없이 최대 전력으로 부트될 수 없다고 제안할 때 TAB 모듈(101)에 의해 도달되거나 진입될 수 있다.
[0077] 제 2의 상승된 열 부트 상태(410)에서, TAB 모듈(101)은, 컴포넌트들을 부트하는 결과로서 생성되는 열 에너지가 PCD(100)로 하여금 심각한 또는 위태로운 상태에 진입하게 하지 않도록 하나 이상의 프로세싱 컴포넌트들의 성능을 스케일링하게 TPL 테이블(24)에 질의하고 LP 프로세서(111)에 요청할 수 있다. 이 특정한 상태(410)에서, TAB 모듈(101)은 운용자에 의해 거의 지각할 수 없고 PCD(100)에 의해 제공되는 서비스의 품질을 최소가 되는 방식으로 저하시킬 수 있는 성능 스케일링을 구현 또는 요청함으로써 부트 시퀀스를 수정하도록 설계된다. 이 제 2의 상승된 열 부트 상태(410)에 관한 추가의 세부사항들이 도 5와 관련하여 아래에서 설명될 것이다.
[0078] 제 3 열 부트 상태(415)는, TAB 모듈(101)이 위에서 설명된 제 2의 상승된 상태(410)에 비해 더 공격적인 열 인식 부트 정책들을 요청하고 적용하는 "심각" 상태를 포함할 수 있다. 이것은, 이 상태에서 TAB 모듈(101)은 운용자의 관점에서 서비스의 품질에 관해 덜 염려한다는 것을 의미한다. 이 심각 열 부트 상태에서, TAB 모듈(101)은 부트 시퀀스를 완료하기 이전에 PCD(100)의 온도를 감소시키기 위해 전체 열 에너지 소산 레벨들을 완화하거나 감소시키는 것을 더 염려한다. 이 제 3 열 부트 상태(415)에서, PCD(100)의 하나 이상의 컴포넌트들은, 최대 부트에서 심각하게 스케일링될 수 있거나, 하나 이상의 컴포넌트들의 부트가 함께 종료(kill)되어서 그 영향들이 운용자에 의해 쉽게 지각되거나 관찰될 수 있게 된다. 제 3의 심각 열 부트 상태(415) 및 TAB 모듈(101)에 의해 적용되거나 트리거되는 그의 대응하는 열 인식 부트 정책들은 도 5와 관련하여 아래에서 더 상세히 설명될 것이다.
[0079] 이 도면의 화살표들이 예시하는 바와 같이, 각각의 열 부트 상태는 순차적으로 개시될 수 있거나, 또는 이들은 검출될 수 있는 열 에너지 소산의 변경의 크기에 의존하여 비순차적으로 개시될 수 있다. 따라서 이는, TAB 모듈(101)이 센서들(157)에 의해 검출되는 열 표시자들의 변화에 기초하여 제 1의 그리고 보통 열 부트 상태(405)를 떠나고, 제 3의 그리고 심각 열 부트 상태(415)에 진입하거나 이와 연관된 열 인식 부트 정책들을 개시할 수 있다는 것을 의미한다. 유사하게, PCD(100)는 열 표시자의 인지된 변화에 기초하여 제 2 또는 상승된 열 부트 상태(410)에 있으며 제 4 또는 위태로운 상태(420)에 진입하거나 개시할 수 있다. 이 예시적인 제 3의 그리고 위태로운 상태(420), TAB 모듈(101)은, PCD(100) 내에 포함된 하나 이상의 컴포넌트들이 열 불안정성 또는 심지어 영구적인 손상을 경험하게 하는 온도들에 도달함 없이 PCD(100)를 부트시키기 위해 가능한 많은 프로세싱 컴포넌트들의 전력 레벨들을 상당히 스케일링할 수 있다.
[0080] 이 제 4의 그리고 위태로운 열 부트 상태(420)는 PCD(100) 내의 하나 이상의 컴포넌트들에 대한 위태로운 온도 또는 영구적인 손상을 방지하기 위해 PCD(100)의 부트 시퀀스를 완전히 지연할 수 있다. 제 4 열 부트 상태(420)는, 컴포넌트들이 온라인이 되기 이전에 더 안전한 레벨들로 열 에너지가 소산할 기회를 제공하기 위해, TAB 모듈(101)이 일련의 부트 시퀀스의 지연들을 적용하거나 트리거하는 "위태로운" 상태를 포함할 수 있다. 제 4의 그리고 위태로운 열 상태(420)는 도 5와 관련하여 아래에서 추가로 상세히 설명될 것이다.
[0081] 열 인식 부트를 위한 다양한 방법들이 도 4에서 예시된 4개의 열 부트 상태들(405, 410, 415 및 420)로 제한되는 것은 아니다. 특정한 PCD(100)에 의존하여, 부가적인 또는 더 적은 열 부트 상태들이 본 발명의 범위로부터 벗어남 없이 제공될 수 있다. 즉, 당업자는, 부가적인 열 부트 상태들이 특정한 PCD(100)의 기능 및 동작을 개선할 수 있는 반면에, 다른 상황들에서 더 적은 열 부트 상태들이 그 자신의 고유한 하드웨어 및/또는 소프트웨어를 갖는 특정한 PCD(100)에 대해 선호될 수 있다는 것을 인지할 것이다.
[0082] 도 5는 QoS 및 전체 사용자 경험을 최적화하도록 적용될 수 있고 도 4의 예시에 관해 설명된 예시적인 부트 상태들(405, 410, 415, 420)과 같은 PCD(100)의 특정한 열 부트 상태에 의존하는 예시적인 열 인식 부트 정책들을 예시하는 도면(500)이다. 앞서 언급된 바와 같이, 제 1의 열 부트 상태(405)에서, 센서들(157)에 의해 측정되고 모니터 모듈(114)에 의해 폴링된 바와 같은 열 표시자들은 PCD(100)가 최대 전력 부트 시퀀스가 해로운 효과를 갖지 않는 안전한 열 에너지 레벨들을 경험하고 있다고 표시할 수 있다. 보통, 이 제 1 열 부트 상태에서, TAB 모듈(101)은, 어떠한 열 인식 부트 정책도 적용하지 않거나 요청하지 않아서 PCD(100)의 컴포넌트들이 그의 최대 전위 및 최고 성능으로 부트되게 된다. 이에 따라, 부트 시퀀스는 수정 또는 지연 없이 완료되고 PCD(100)의 최대 기능이 가능한 빨리 사용자에게 가능하게 될 수 있다.
[0083] 상승된 상태(410)로서 또한 지칭되는 제 2 열 부트 상태(410)에서, TAB 모듈(101)은 PCD(100)의 운용자에 의해 지각되는 바와 같은 서비스 품질에 대한 저하의 지각이 거의 또는 전혀 없이 높은-성능을 유지할 목적을 갖는 열 인식 부트 정책들을 개시하거나 요청할 수 있다. PCD(100)는 더 낮은 우선순위 작업로드들에 전용되는 프로세싱 컴포넌트들의 매우 작은 스케일링만으로 최대 전력 레벨들 근처에서 부트된다. 대안적으로, 상승된 열 표시자들과 연관되는 다양한 프로세싱 컴포넌트들은 컴포넌트들에 할당된 작업로드들의 우선순위를 고려함 없이, 최대 미만의 임의의 전력 레벨로 부트될 수 있다.
[0084] 이제 심각 상태(415)로서 또한 알려진 도 5의 제 3 열 부트 상태(415)를 참조하면, TAB 모듈(101)은 PCD(100)의 운용자에 의해 관찰되는 아마도 지각 가능한 감소된 성능을 갖도록 보다 공격적인 열 인식 부트 정책들을 적용 또는 요청할 수 있다. 이 예시적인 열 부트 상태(415)에 따라, TAB 모듈(101)은 부트될 때 CPU(110)의 코어들 및/또는 GPU(182)와 같은 하나 이상의 컴포넌트들에 대한 전력의 감소를 야기할 수 있다. TAB 모듈(101)은 또한 더 높은 우선순위 작업로드들과 연관된 다른 부가적인 컴포넌트들이 온라인이 되는데 찬성하여 일부 컴포넌트의 부트을 완전히 지연할 수 있다. 본질적으로, 이 제 3의 그리고 심각 열 부트 상태(415)의 열 인식 부트 정책들은 제 2의 상승된 열 부트 상태(410)에 관하여 위에서 설명된 것들과 동일할 수 있다. 그러나 이들 동일한 열 인식 부트 정책들은 보다 공격적인 방식으로 적용될 수 있다.
[0085] 이제 도 5의 제 4의 그리고 위태로운 열 부트 상태(420)를 참조하면, TAB 모듈(101)은 PCD(100)이 열 에너지 소산의 위태로운 레벨들을 경험하고 있으며 따라서 임의의 필수적이지 않은 하드웨어의 부트 시퀀스를 유지할 수 없을 수 있다는 것을 인지할 수 있다. TAB 모듈(101)은 과도한 열 에너지가 소산할 기회를 가질 때까지 부트 시퀀스를 완전히 지연하거나 아마도 필수적이 하드웨어의 부트만을 인가하도록 LP 프로세서(111)에 지시할 수 있다. "필수적이지 않은" 하드웨어 및/또는 소프트웨어모듈들은 특정한 PCD(100)의 각각의 타입에 대해 상이할 수 있다. 일 예시적인 실시예에 따라, 모든 필수적이지 않은 하드웨어 및/또는 소프트웨어 모듈들은 긴급 911 전화 호 기능 및 글로벌 포지셔닝 시스템("GPS") 기능들 외의 모든 기능들을 포함할 수 있다. 이는 제 4 의 위태로운 열 부트 상태(420)의 TAB 모듈(101)이 긴급 911 전화 호들 및 GPS 기능에 영향을 주지 않는 모든 컴포넌트들의 부트가 지연되게 할 수 있다는 것을 의미한다. TAB 모듈(101)은 모니터 모듈(114)에 의해 모니터링되는 위태로운 온도들 또는 열 표시자들에 의존하여 순차적으로 및/또는 병렬로 컴포넌트들의 부트를 인가 또는 거부할 수 있다.
[0086] 도 6은 모니터링된 열 표시자들에 기초하여 부트 시퀀스를 인가하거나 지연하는 것을 포함하는, PCD(100)에서 열 인식 부트를 위한 방법(600)을 예시하는 논리적 흐름도이다. 도 6의 방법(600)은 모니터 모듈(114)과 함께 TAB 모듈(101)이 집적 회로(102) 내에 또는 외부 중 어느 하나에 위치된 온도 센서들과 같은 하나 이상의 열 표시자 센서들(157)을 폴링하는 제 1 블록(605)과 함께 시작한다. 명백하게는, 위에서 설명된 바와 같이, 다양한 센서들(157)은 PCD(100) 내의 컴포넌트들과 연관되고, 부트 시퀀스의 초기 스테이지들 동안 폴링되거나 모니터링된다. 따라서 블록(605)에 의해 표현된 기능이 초기에 실행되는 시간에, PCD(100)내의 컴포넌트들 대부분은 온라인이 아니다.
[0087] 판단 블록(610)에서, TAB 모듈(101)은 블록(605)에서 폴링된 측정들을 미리 결정된 임계치들(예시를 위해, 열 표시자 및 연관된 임계치들은 온도 판독의 맥락에서 설명될 것임)에 비교한다. 미리 결정된 온도 임계치들은, PCD(100)내의 컴포넌트들이 부트 프로세스 동안 잠재적으로 과도한 열 에너지 생성 및 소산으로부터 컴포넌트들의 건강을 위험하게 하거나 위태롭게 함 없이 부트될 수 있는 최대 수용 가능한 온도들을 표시할 수 있다. 측정된 온도들이 판단 블록(610)에서 폴링된 센서들(157)과 연관된 컴포넌트들에 대한 관련된 임계치들 아래에 있는 것으로 결정되는 경우, "아니오" 브랜치가 블록(635)으로 이어지고 PCD(100)는 부트 시퀀스를 완료하도록 허용된다. 명백히는, 부트 프로세스의 완료가 CPU(110)와 같은 프로세싱 컴포넌트들에 최대 전력이 공급되는 것을 포함할 수 있다. 유리하게는, 센서들(157)을 폴링하고, 측정된 온도들이 센서(들)(157)와 연관된 컴포넌트들의 미리 결정된 임계치 미만이라는 것을 검증함으로써, PCD(100)는 완전히 부트되고 PCD(100) 내의 컴포넌트들의 건강을 위험하게 하거나 사용자 경험을 몹시 희생함 없이 최대 품질의 서비스 품질("QoS")이 될 수 있다.
[0088] 판단 블록(610)에서, 측정된 온도들 중 하나 이상이 미리 결정된 임계치들을 초과하는 것으로 결정되는 경우, TAB 모듈(101)은 부트 시퀀스의 완료가 열 에너지 생성 및 소산을 야기하여 컴포넌트들의 건강을 위태롭게 한다고 추론할 수 있다. 예시적인 방법(600) 하의 이러한 상황에서, "예" 브랜치는 블록(615)으로 이어지고, 부트 시퀀스는 지연된다. 유리하게는, 부트 시퀀스를 지연함으로써, 열 에너지가 소산될 기회가 주어질 수 있으며 그에 의해 임계치 미만의 레벨들로 온도들을 낮춘다. 지연의 길이는 미리 결정될 수 있거나, 몇몇 실시예들에서, 지연의 길이는 측정된 값들과 미리 결정된 임계치 간의 차이에 대해 계산될 수 있다.
[0089] 블록(615)에서 부트 시퀀스를 지연한 이후, 온도 센서들(157)은 블록(620)에서 재차 폴링되고 미리 결정된 임계치들에 재차 비교된다. 지연이 과도한 열 에너지를 소산하도록 허용하여서 온도들이 이제 임계치 미만이라고 측정된 온도들이 표시하는 경우, "아니오" 브랜치는 블록(635)으로 이어지고 PCD(100)는 부트 시퀀스를 완료하도록 허용된다. 그러나, 판단 블록(625)에서, 온도들 중 하나 이상이 여전히 미리 결정된 임계치(들)를 초과하는 경우, "예" 브랜치는 판단 블록(630)으로 이어진다.
[0090] 판단 블록(630)에서, 지연의 회수 또는 어그리게이트 길이가 검증되고, 지연 사이클에 대한 미리 결정된 임계치가 충족되는 경우, "예" 브랜치는 측정된 온도들이 최대 임계치들을 여전히 초과할지라도 PCD(100)가 부트 시퀀스를 완료하도록 허용되는 블록(635)으로 이어질 수 있다. 명백히는, QoS 및 사용자 경험을 최적화하기 위해, 열 인식 부트를 위한 시스템 및 방법의 몇몇 실시예들은 지연 사이클들의 최대수를 포함할 수 있다. 사이클들의 최대수 또는 지연 사이클들의 어그리게이트 지속기간은 상승된 온도 조건들 하에서 PCD(100)를 부트하는데 있어서의 위험과 사용자 경험 및 QoS 레벨과의 트래이드-오프(trade-off)에 기초하여 계산될 수 있다. .
[0091] 판단 블록(630)에서, 지연 사이클들의 최대 수 또는 지연 사이클들의 어그리게이트 지속기간이 충족되지 않았다고 결정되는 경우, "아니오" 브랜치가 블록(615)으로 역으로 이어질 수 있으며, 이 블록(615)에서 부트 시퀀스는 부가적인 열 에너지 소산을 허용하도록 추가로 지연된다. 이러한 방식으로, 일련의 블록들(615 내지 630)은 방법이 블록(635)으로 이동하고 PCD(100)가 부트 시퀀스를 완료하도록 허용된다고 알고리즘이 기술할 때까지 반복된다.
[0092] 도 7은 도 8의 예시적인 열 성능 룩업 테이블에 따라 그리고 열 부트 상태들(예시적인 상태들을 위해 도 4 내지 도 5를 참조)의 인지에 기초하여 부트 시퀀스를 수정하는 것을 포함하는, PCD(100)에서 열 인식 부트를 위한 방법(700)을 예시하는 논리적 흐름도이다. 도 8은 도 7에서 예시된 예시적인 방법(700)과 같은 열 인식 부트를 위한 방법의 실시예에 의해 질의될 수 있는 예시적인 열 성능 룩업 테이블(24)이다. 도 8의 열 성능 룩업 테이블(24)은 예시적인 열 인식 부트 방법(700)과 함께 설명될 것이다.
[0093] 블록(705)에서 시작하면, 모니터 모듈(114)은 열 표시자와 연관된 측정들을 위한 하나 이상의 센서들(157)을 폴링할 수 있다. 위에서 설명된 바와 같이, 모니터 모듈(114)에 의해 폴링된 측정들은 동작 온도, 터치 온도, 전력 레일(들) 상의 누설 전류, 충전의 배터리 상태 등을 포함(그러나 이것으로 제한되지 않음)하는 임의의 열 표시자와 연관될 수 있다. 열 표시자 측정들은 디지털 신호들로 변환되고 TAB 모듈(101)로 포워딩될 수 있다. 블록(710)에서, TAB 모듈(101)은 열 성능 룩업 테이블(24)(도 8 참조)에 질의하고 테이블(24)에 포함된 다양한 열 표시자 범위들에 대해 측정들을 비교할 수 있다. 후속적으로, 판단 블록(715)에서, TAB 모듈(101)은 만약 있다면, 테이블(24)에 포함된 임계치들 중 어느 것이 초과되는지를 결정할 수 있다.
[0094] 도 8의 예시를 참조하면, 열 표시자는 온도 측정들의 형태이며, 최저 임계치는 65°이다. 그러므로, 판단 블록(715)에서, 테이블(24)의 그 자신의 질의로부터, 블록(705)에서 행해진 온도 측정이 65° 임계치 미만이라고 TAB 모듈(101)이 결정하는 경우, "보통" 열 부트 상태와 연관되는 열 부트 정책이 블록(735)에서 적용될 수 있다. 도 8의 예시적인 TPL 테이블(24)에서, "보통" 열 부트 상태는 TAB 모듈(101)이 수정 없이 부트 시퀀스를 인가한다고, 즉 2개의 예시적인 코어들이 각각 1.5 GHz의 최대 프로세싱 속도로 온라인이 된다고 기술한다. 2개의 코어들이 1.5 GHz의 최대 프로세싱 속도들로 온라인이 되면, 블록(740)에서, 메인 TPM 모듈(113)은 열 관리 정책들을 적용하고 열 관리 기법들을 구현하도록 온라인이 될 수 있다.
[0095] 그러나, 판단 블록(715)에서, 블록(710) 비료로부터, 온도 측정이 TPL 테이블(24)로부터 질의된 임계치를 초과한다고 TAB 모듈(101)이 결정하는 경우, "예" 브랜치가 블록(720)으로 이어진다. 블록(720)에서, TAB 모듈(101)은 초과된 최고 임계치에 기초하여 TPL 테이블(24)로부터 적절한 열 부트 정책을 선택할 수 있다. 예를 들어, 도 8의 예시를 참조하면, 블록(705)에서 행해진 온도 측정이 65°를 초과하지만 76°미만인 경우, "상승된" 온도 부트 상태와 연관된 정책이 TAB 모듈(101)에 의해 블록(725)에서 적용될 수 있다. 즉, TAB 모듈(101)은 918 MHz의 감소된 주파수로 2개의 예시적인 코어들 각각을 부트하도록 LP 프로세서(111)에 지시함으로써 부트 시퀀스를 수정할 수 있다. 유리하게는, 이러한 방식으로 부트 시퀀스를 수정함으로써, 최대로 부트될 때 코어들에 의해 생성된 열 에너지의 양은 현재의 열 조건들을 자극(exasperate)하고 PCD(100)내의 하나 이상의 컴포넌트들의 건강을 위태롭게 하기에 충분하지 않지만, PCD(100)의 사용자에게 높은 레벨의 QoS 및 사용자 경험을 여전히 제공할 수 있다.
[0096] 블록들(720 및 725)을 다시 참조하면, 판단 블록(715)에서, 온도 측정은 80°가 아닌 76°를 초과하는 것으로 결정되는 경우, TAB 모듈(101)은 "심각" 열 부트 상태와 연관되는 열 부트 정책을 적용하고 786MHz의 감소된 주파수에서 그리고 단일의 코어에 대한 부트 프로세스만을 완료하도록 LP 프로세서(111)에 지시할 수 있다. 심각한 열 부트 상태의 예시적인 열 부트 정책이 상승된 부트 상태에 대해 설명된 것보다 더 공격적이지만, 당업자는 PCD(100)가 컴포넌트들을 손상시킬 수 있는 심각 열 조건들 하에서 부트하도록 요청된 경우 조차도 PCD(100)의 사용자에게 일부 기증을 적어도 제공할 수 있다는 것을 인지할 것이다.
[0097] 유사하게, TPL 테이블(24)의 그 자신의 질의로부터, 측정된 온도가 80도를 초과한다고 TAB 모듈(101)이 결정하는 경우, 위태로운 열 부트 상태가 인지되고 과도한 열 에너지가 소산할 기회를 가질 때까지 전체 부트 시퀀스를 지연하도록 TAB 모듈(101)에 의해 LP 프로세서(111)에 제시될 수 있다. 명백하게는, 도 6의 방법(600)에 대해 설명된 바와 같이, 모니터 모듈(114)은 열 표시자(블록 705)를 계속 폴링하고, 방법(700)은 PCD(100)가 열 정책 정책에 따라 부트될 때까지 반복된다.
[0098] 열 부트 정책에 따라 블록(725)에서 부트되면, 블록(730)에서, TAB 모듈(101)의 특정한 실시예들은 열 표시자를 폴링하고 열 표시자들에 기초하여 프로세싱 컴포넌트들의 전력 주파수를 위로 또는 아래로 조정하기를 지속할 수 있다. 유리하게는, 최대 전력 미만의 주파수 레벨로 부트되는 열 관리 기법들을 프로세싱 코어들에 계속 적용함으로써, 프로세싱 컴포넌트들이 블록(740)에서 메인 TPM 모듈(113)을 온라인이 되게 하기에 적합할 때까지 TAB 모듈(101)은 QoS 및 사용자 경험을 최적화할 수 있다.
[0099] 본 명세서에서 설명된 프로세스들 또는 프로세스 흐름들에서의 특정한 단계들은 본 발명이 설명된 바와 같이 기능하기 위해 다른 것들보다 자연히 선행된다. 그러나 본 발명은 이러한 순서 또는 시퀀스가 본 발명의 기능을 변경하지 않는 경우 설명된 단계들의 순서로 제한되지 않는다. 즉, 몇몇 단계들이 본 발명의 범위 및 사상으로부터 벗어남 없이 다른 단계들 이전에, 이후에 또는 병렬로(실질적으로 동시에) 수행될 수 있다는 것이 인지된다. 몇몇 예들에서, 특정한 단계들은 본 발명으로부터 벗어남 없이 수행되지 않거나 생략될 수 있다. 또한, "이후", "이어서", "다음" 등과 같은 단어들은 단계들의 순서를 제한하도록 의도되지 않는다. 이들 단어들은 단지 예시적인 방법의 설명을 통해 독자를 안내하는데 이용된다.
[100] 부가적으로, 프로그래밍에 있어서 당업자는 예를 들어, 본 명세서에서 흐름도들 및 연관된 설명에 기초하여 어려움 없이 기재된 발명을 구현하도록 컴퓨터 코드를 기록하거나 적절한 하드웨어 및/또는 회로들을 식별할 수 있다. 그러므로 상세히 설명된 하드웨어 디바이스들 또는 프로그램 코드 명령들의 특정한 세트의 개시는 본 발명을 어떻게 실시하고 이용하는지에 관한 충분한 이해를 위해 필수적인 것으로 간주되지 않는다. 청구된 컴퓨터 구현 프로세스들의 진보성있는 기능은 다양한 프로세스 흐름들을 예시할 수 있는 도면들과 함께 및 위의 설명에서 보다 상세히 설명된다.
하나 이상의 예시적인 양상들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현된다면, 기능들은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 이로서 전송될 수 있다. 컴퓨터 판독 가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체와 컴퓨터 저장 매체를 모두 포함한다. 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 제한이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 명령들이나 데이터 구조들의 형태로 원하는 프로그램 코드를 전달하거나 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있다.
또한, 임의의 연결 수단이 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임 쌍선, "DSL"(digital subscriber line), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다.
본 명세서에서 사용된 것과 같은 디스크(disk 및 disc)는 "CD"(compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), "DVD"(digital versatile disc), 플로피 디스크(floppy disk) 및 블루레이 디스크(blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 데이터를 레이저들에 의해 광학적으로 재생한다. 상기의 것들의 조합들 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
그러므로 선택된 양상들이 예시되고 상세히 설명되었지만, 다음의 청구항들에 의해 정의된 바와 같은, 본 발명의 사상 및 범위를 벗어나지 않으면서 그 양상들에서 다양한 치환들 및 변형들이 이루어질 수 있다고 이해될 것이다.

Claims (80)

  1. 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트(thermally aware boot)를 위한 방법으로서,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링(polling)하는 단계 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ;
    폴링된 측정을 미리 결정된 임계치에 비교하는 단계;
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는지를 결정하는 단계; 및
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는 경우, 상기 부트 시퀀스를 지연하는 단계
    를 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  2. 제 1 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    PCD에서 열 인식 부트를 위한 방법.
  3. 제 1 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    PCD에서 열 인식 부트를 위한 방법.
  4. 제 1 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    PCD에서 열 인식 부트를 위한 방법.
  5. 제 1 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    PCD에서 열 인식 부트를 위한 방법.
  6. 제 1 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    PCD에서 열 인식 부트를 위한 방법.
  7. 제 1 항에 있어서,
    상기 센서를 재차 폴링하는 단계; 및
    상기 폴링된 측정이 상기 미리 결정된 임계치를 여전히 초과하는 경우, 상기 부트 시퀀스를 재차 지연하는 단계
    를 더 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  8. 제 1 항에 있어서,
    상기 센서를 재차 폴링하는 단계; 및
    상기 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우, 상기 부트 시퀀스의 완료를 인가하는 단계
    를 더 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  9. 제 1 항에 있어서,
    상기 센서를 복수 횟수(plurality of times) 폴링하는 단계,
    임의의 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우, 상기 부트 시퀀스의 완료를 인가하는 단계;
    상기 센서가 미리 결정된 횟수를 초과하여 폴링되는 경우, 상기 부트 시퀀스의 완료를 인가하는 단계
    를 더 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  10. 제 1 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  11. 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트(thermally aware boot)를 위한 컴퓨터 시스템으로서,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링하도록 구성된 모니터 모듈 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ;
    열 인식 부트("TAB") 모듈
    을 포함하고,
    상기 TAB 모듈은,
    폴링된 측정을 미리 결정된 임계치에 비교하도록;
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는지를 결정하도록; 그리고
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는 경우, 상기 부트 시퀀스를 지연하도록 저 전력("LP") 프로세서에 지시하도록
    구성되는,
    컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    컴퓨터 시스템.
  13. 제 11 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    컴퓨터 시스템.
  14. 제 11 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    컴퓨터 시스템.
  15. 제 11 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    컴퓨터 시스템.
  16. 제 11 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    컴퓨터 시스템.
  17. 제 11 항에 있어서,
    상기 모니터 모듈은 추가로,
    상기 센서를 재차 폴링하도록 구성되고,
    상기 TAB 모듈은 추가로,
    상기 폴링된 측정이 상기 미리 결정된 임계치를 여전히 초과하는 경우 상기 부트 시퀀스의 지연을 야기하도록 구성되는,
    컴퓨터 시스템.
  18. 제 11 항에 있어서,
    상기 모니터 모듈은 추가로,
    상기 센서를 재차 폴링하도록 구성되고,
    상기 TAB 모듈은 추가로,
    상기 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우 상기 부트 시퀀스의 완료를 인가하도록 구성되는,
    컴퓨터 시스템.
  19. 제 11 항에 있어서,
    상기 모니터 모듈은 추가로,
    상기 센서를 복수 횟수 폴링하도록 구성되고,
    상기 TAB 모듈은 추가로,
    임의의 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우 상기 부트 시퀀스의 완료를 인가하도록; 그리고
    상기 센서가 미리 결정된 횟수를 초과하여 폴링된 경우 상기 부트 시퀀스의 완료를 인가하도록
    구성되는,
    컴퓨터 시스템.
  20. 제 11 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    컴퓨터 시스템.
  21. 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트(thermally aware boot)를 위한 컴퓨터 시스템으로서,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링(polling)하기 위한 수단 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ;
    폴링된 측정을 미리 결정된 임계치에 비교하기 위한 수단;
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는지를 결정하기 위한 수단; 및
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는 경우, 부트 시퀀스를 지연하기 위한 수단
    을 포함하는,
    컴퓨터 시스템.
  22. 제 21 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    컴퓨터 시스템.
  23. 제 21 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    컴퓨터 시스템.
  24. 제 21 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    컴퓨터 시스템.
  25. 제 21 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    컴퓨터 시스템.
  26. 제 21 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    컴퓨터 시스템.
  27. 제 21 항에 있어서,
    상기 센서를 재차 폴링하기 위한 수단, 및
    상기 폴링된 측정이 상기 미리 결정된 임계치를 여전히 초과하는 경우, 상기 부트 시퀀스를 재차 지연하기 위한 수단
    을 더 포함하는,
    컴퓨터 시스템.
  28. 제 21 항에 있어서,
    상기 센서를 재차 폴링하기 위한 수단, 및
    상기 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우, 상기 부트 시퀀스의 완료를 인가하기 위한 수단
    을 더 포함하는,
    컴퓨터 시스템.
  29. 제 21 항에 있어서,
    상기 센서를 복수 횟수(plurality of times) 폴링하기 위한 수단은,
    임의의 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우, 상기 부트 시퀀스의 완료를 인가하기 위한 수단;
    상기 센서가 미리 결정된 횟수를 초과하여 폴링되는 경우, 상기 부트 시퀀스의 완료를 인가하기 위한 수단
    을 더 포함하는,
    컴퓨터 시스템.
  30. 제 21 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    컴퓨터 시스템.
  31. 컴퓨터 판독 가능한 프로그램 코드가 저장된 컴퓨터 이용 가능한 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 판독 가능한 프로그램 코드는 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트를 위한 방법을 구현하도록 실행되게 적응되고,
    상기 방법은,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링(polling)하는 단계 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ;
    폴링된 측정을 미리 결정된 임계치에 비교하는 단계;
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는지를 결정하는 단계; 및
    상기 폴링된 측정이 상기 미리 결정된 임계치를 초과하는 경우, 상기 부트 시퀀스를 지연하는 단계
    를 포함하는,
    컴퓨터 프로그램 물건.
  32. 제 31 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    컴퓨터 프로그램 물건.
  33. 제 31 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    컴퓨터 프로그램 물건.
  34. 제 31 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    컴퓨터 프로그램 물건.
  35. 제 31 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    컴퓨터 프로그램 물건.
  36. 제 31 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    컴퓨터 프로그램 물건.
  37. 제 31 항에 있어서,
    상기 센서를 재차 폴링하는 단계; 및
    상기 폴링된 측정이 상기 미리 결정된 임계치를 여전히 초과하는 경우, 상기 부트 시퀀스를 재차 지연하는 단계
    를 더 포함하는,
    컴퓨터 프로그램 물건.
  38. 제 31 항에 있어서,
    상기 센서를 재차 폴링하는 단계; 및
    상기 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우, 상기 부트 시퀀스의 완료를 인가하는 단계
    를 더 포함하는,
    컴퓨터 프로그램 물건.
  39. 제 31 항에 있어서,
    상기 센서를 복수 횟수(plurality of times) 폴링하고,
    임의의 폴링된 측정이 상기 미리 결정된 임계치 미만인 경우, 상기 부트 시퀀스의 완료를 인가하고;
    상기 센서가 미리 결정된 횟수를 초과하여 폴링되는 경우, 상기 부트 시퀀스의 완료를 인가하는 단계
    를 더 포함하는,
    컴퓨터 프로그램 물건.
  40. 제 31 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    컴퓨터 프로그램 물건.
  41. 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트를 위한 방법으로서,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링(polling)하는 단계 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ;
    열 정책 룩업("TPL") 테이블에 질의하는 단계 - 상기 TPL 테이블은 상기 열 표시자에 대한 임계치들과 연관되는 열 부트 정책들을 포함함 - ;
    폴링된 측정을 임계치들에 비교하는 단계;
    열 부트 정책을 식별하는 단계; 및
    식별된 열 부트 정책을 적용하는 단계
    를 포함하고,
    상기 열 부트 정책을 적용하는 단계는 상기 PCD 내의 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 수정하는 단계
    를 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  42. 제 41 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    PCD에서 열 인식 부트를 위한 방법.
  43. 제 41 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    PCD에서 열 인식 부트를 위한 방법.
  44. 제 41 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    PCD에서 열 인식 부트를 위한 방법.
  45. 제 41 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    PCD에서 열 인식 부트를 위한 방법.
  46. 제 41 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    PCD에서 열 인식 부트를 위한 방법.
  47. 제 41 항에 있어서,
    상기 부트 시퀀스를 수정하는 단계는,
    상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하는 단계를 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  48. 제 41 항에 있어서,
    상기 부트 시퀀스를 수정하는 단계는,
    상기 PCD에서 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 지연하는 단계 및 상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하는 단계를 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  49. 제 41 항에 있어서,
    상기 부트 시퀀스를 수정하는 단계는,
    상기 PCD에 대한 부트 시퀀스를 지연하는 단계를 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  50. 제 41 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    PCD에서 열 인식 부트를 위한 방법.
  51. 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트를 위한 컴퓨터 시스템으로서,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링(polling)하도록 구성된 모니터 모듈 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ; 및
    열 인식 부트("TAB") 모듈
    을 포함하고,
    상기 TAB 모듈은,
    열 정책 룩업("TPL") 테이블에 질의하도록 - 상기 TPL 테이블은 상기 열 표시자에 대한 임계치들과 연관되는 열 부트 정책들을 포함함 - ;
    폴링된 측정을 임계치들에 비교하도록;
    열 부트 정책을 식별하도록; 및
    식별된 열 부트 정책을 적용하도록
    구성되고,
    상기 열 부트 정책을 적용하는 것은 상기 PCD 내의 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 수정하도록 저 전력("LP") 프로세서에 지시하는 것을 포함하는,
    컴퓨터 시스템.
  52. 제 51 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    컴퓨터 시스템.
  53. 제 51 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    컴퓨터 시스템.
  54. 제 51 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    컴퓨터 시스템.
  55. 제 51 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    컴퓨터 시스템.
  56. 제 51 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    컴퓨터 시스템.
  57. 제 51 항에 있어서,
    상기 부트 시퀀스를 수정하는 것은,
    상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하는 것을 포함하는,
    컴퓨터 시스템.
  58. 제 51 항에 있어서,
    상기 부트 시퀀스를 수정하는 것은,
    상기 PCD에서 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 지연하는 것 및 상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하는 것을 포함하는,
    컴퓨터 시스템.
  59. 제 51 항에 있어서,
    상기 부트 시퀀스를 수정하는 것은,
    상기 PCD에 대한 부트 시퀀스를 지연하는 것을 포함하는,
    컴퓨터 시스템.
  60. 제 51 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    컴퓨터 시스템.
  61. 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트를 위한 컴퓨터 시스템으로서,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링(polling)하기 위한 수단 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ;
    열 정책 룩업("TPL") 테이블에 질의하기 위한 수단 - 상기 TPL 테이블은 상기 열 표시자에 대한 임계치들과 연관되는 열 부트 정책들을 포함함 - ;
    폴링된 측정을 임계치들에 비교하기 위한 수단;
    열 부트 정책을 식별하기 위한 수단; 및
    식별된 열 부트 정책을 적용하기 위한 수단
    을 포함하고,
    상기 열 부트 정책을 적용하기 위한 수단은 상기 PCD 내의 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 수정하기 위한 수단
    을 포함하는,
    컴퓨터 시스템.
  62. 제 61 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    컴퓨터 시스템.
  63. 제 61 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    컴퓨터 시스템.
  64. 제 61 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    컴퓨터 시스템.
  65. 제 61 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    컴퓨터 시스템.
  66. 제 61 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    컴퓨터 시스템.
  67. 제 61 항에 있어서,
    상기 부트 시퀀스를 수정하기 위한 수단은,
    상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하기 위한 수단을 포함하는,
    컴퓨터 시스템.
  68. 제 61 항에 있어서,
    상기 부트 시퀀스를 수정하기 위한 수단은,
    상기 PCD에서 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 지연하기 위한 수단 및 상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하기 위한 수단을 포함하는,
    컴퓨터 시스템.
  69. 제 61 항에 있어서,
    상기 부트 시퀀스를 수정하기 위한 수단은,
    상기 PCD에 대한 부트 시퀀스를 지연하기 위한 수단을 포함하는,
    컴퓨터 시스템.
  70. 제 61 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    컴퓨터 시스템.
  71. 컴퓨터 판독 가능한 프로그램 코드가 저장된 컴퓨터 이용 가능한 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 판독 가능한 프로그램 코드는 휴대용 컴퓨팅 디바이스("PCD")에서 열 인식 부트를 위한 방법을 구현하도록 실행되게 적응되고,
    상기 방법은,
    열 표시자의 측정을 위해 상기 PCD에서 센서를 폴링(polling)하는 단계 - 상기 센서는 상기 PCD 내의 하나 이상의 컴포넌트들과 연관됨 - ;
    열 정책 룩업("TPL") 테이블에 질의하는 단계 - 상기 TPL 테이블은 상기 열 표시자에 대한 임계치들과 연관되는 열 부트 정책들을 포함함 - ;
    폴링된 측정을 임계치들에 비교하는 단계;
    열 부트 정책을 식별하는 단계; 및
    식별된 열 부트 정책을 적용하는 단계
    를 포함하고,
    상기 열 부트 정책을 적용하는 단계는 상기 PCD 내의 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 수정하는 단계
    를 포함하는,
    컴퓨터 프로그램 물건.
  72. 제 71 항에 있어서,
    상기 열 표시자는,
    온-다이 온도(on-die temperature)인,
    컴퓨터 프로그램 물건.
  73. 제 71 항에 있어서,
    상기 열 표시자는,
    상기 PCD의 터치 온도인,
    컴퓨터 프로그램 물건.
  74. 제 71 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 배터리의 충전의 상태인,
    컴퓨터 프로그램 물건.
  75. 제 71 항에 있어서,
    상기 열 표시자는,
    상기 PCD 내의 전력 레일 상의 전기 전류 레벨인,
    컴퓨터 프로그램 물건.
  76. 제 71 항에 있어서,
    상기 미리 결정된 임계치는,
    상기 센서와 연관된 하나 이상의 컴포넌트들의 최대 동작 온도에 기초하는,
    컴퓨터 프로그램 물건.
  77. 제 71 항에 있어서,
    상기 부트 시퀀스를 수정하는 단계는,
    상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하는 단계를 포함하는,
    컴퓨터 프로그램 물건.
  78. 제 71 항에 있어서,
    상기 부트 시퀀스를 수정하는 단계는,
    상기 PCD에서 하나 이상의 컴포넌트들에 대한 부트 시퀀스를 지연하는 단계 및 상기 PCD의 하나 이상의 컴포넌트들이 부트되는 성능 레벨을 스케일링하는 단계를 포함하는,
    컴퓨터 프로그램 물건.
  79. 제 71 항에 있어서,
    상기 부트 시퀀스를 수정하는 단계는,
    상기 PCD에 대한 부트 시퀀스를 지연하는 단계를 포함하는,
    컴퓨터 프로그램 물건.
  80. 제 71 항에 있어서,
    상기 PCD는 모바일 전화를 포함하는,
    컴퓨터 프로그램 물건.
KR1020147026319A 2012-02-24 2013-02-20 열 인식 디바이스 부트를 위한 시스템 및 방법 KR102023314B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261602755P 2012-02-24 2012-02-24
US61/602,755 2012-02-24
US13/420,139 2012-03-14
US13/420,139 US9274805B2 (en) 2012-02-24 2012-03-14 System and method for thermally aware device booting
PCT/US2013/026869 WO2013126411A1 (en) 2012-02-24 2013-02-20 System and method for thermally aware device booting

Publications (2)

Publication Number Publication Date
KR20140126395A true KR20140126395A (ko) 2014-10-30
KR102023314B1 KR102023314B1 (ko) 2019-11-04

Family

ID=49004591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147026319A KR102023314B1 (ko) 2012-02-24 2013-02-20 열 인식 디바이스 부트를 위한 시스템 및 방법

Country Status (8)

Country Link
US (1) US9274805B2 (ko)
EP (2) EP3570162B1 (ko)
JP (2) JP6328568B2 (ko)
KR (1) KR102023314B1 (ko)
CN (1) CN104220983B (ko)
ES (2) ES2748596T3 (ko)
HU (1) HUE045565T2 (ko)
WO (1) WO2013126411A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430323B2 (en) * 2013-02-01 2016-08-30 Broadcom Corporation Power mode register reduction and power rail bring up enhancement
US9703336B2 (en) * 2013-02-21 2017-07-11 Qualcomm Incorporated System and method for thermal management in a multi-functional portable computing device
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
FR3010553B1 (fr) * 2013-09-10 2015-09-04 Sagemcom Broadband Sas Procede de mise a jour d'un logiciel de demarrage d'un dispositif multiprocesseur
WO2015144086A1 (en) * 2014-03-28 2015-10-01 Mediatek Inc. Method for performing system power budgeting within electronic device, and associated apparatus
US9813990B2 (en) * 2014-05-30 2017-11-07 Apple Inc. Dynamic adjustment of mobile device based on voter feedback
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
KR101896373B1 (ko) * 2014-06-24 2018-09-11 인텔 코포레이션 펌웨어 센서 계층
TWI538509B (zh) * 2014-08-29 2016-06-11 晶睿通訊股份有限公司 攝影機及其控制方法
US9903764B2 (en) 2014-09-30 2018-02-27 Samsung Electronics Co., Ltd. Integrated circuit for estimating power of at least one node using temperature and a system including the same
US20160116974A1 (en) * 2014-10-23 2016-04-28 Qualcomm Incorporated Methods and systems to boot up smartphones in ultra low power modes
US9292301B1 (en) * 2015-04-06 2016-03-22 Psikick, Inc. Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
US9558008B2 (en) 2015-04-06 2017-01-31 Psikick, Inc Systems, methods, and apparatus for controlling the power-on or boot sequence of an integrated circuit based on power harvesting conditions
JP2016212472A (ja) * 2015-04-30 2016-12-15 富士通株式会社 情報処理システム及び情報処理システムの制御方法
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
US10127055B2 (en) * 2015-10-16 2018-11-13 Quanta Computer Inc. iSCSI based bare metal OS image deployment and diskless boot
US10156881B2 (en) * 2016-06-24 2018-12-18 Mediatek Inc. Electronic device and method for controlling user experience with application on electronic device
US10388201B2 (en) * 2016-09-19 2019-08-20 Apple Inc. Power cycle display sensing
US10402205B2 (en) 2017-03-02 2019-09-03 Quanta Computer Inc. System and method for dynamically optimizing hardware frequency for booting
DE102018208994A1 (de) * 2018-06-07 2019-12-12 Robert Bosch Gmbh Verfahren zum betriebssicheren Aktivieren von mindestens einem elektronischen Bauteil
US11018071B2 (en) 2018-09-25 2021-05-25 Qualcomm Incorporated Initiation of one or more processors in an integrated circuit
TWI676137B (zh) * 2018-11-01 2019-11-01 廣達電腦股份有限公司 電子裝置和電子裝置的保全方法
TWI715433B (zh) * 2020-02-06 2021-01-01 瑞昱半導體股份有限公司 啟動電路、啟動方法以及啟動系統
CN113451309A (zh) 2020-03-25 2021-09-28 长鑫存储技术有限公司 半导体结构及其预热方法
US11126440B1 (en) * 2020-06-25 2021-09-21 Amazon Technologies, Inc. Identifying critical thermal conditions in multiple system-on-a-chip (SoC) systems
US20240028396A1 (en) * 2020-11-24 2024-01-25 Raytheon Company Run-time schedulers for field programmable gate arrays or other logic devices
US11422534B2 (en) * 2020-12-14 2022-08-23 Argo AI, LLC Systems and methods for heating computing elements in vehicles
JP2022180826A (ja) * 2021-05-25 2022-12-07 キヤノン株式会社 制御装置、制御装置の制御方法及びプログラム
KR20220167988A (ko) * 2021-06-15 2022-12-22 주식회사 엘지에너지솔루션 마이크로 컨트롤러의 온도 측정을 위한 배터리 관리장치의 구성 및 그 제어방법
US11960336B2 (en) * 2022-05-06 2024-04-16 Waymo Llc Method of temperature conditioning compute module for cold start

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930738A (en) * 1997-10-15 1999-07-27 Mobile Integrated Tecnologies, Inc. Vehicle computer system environment monitor
JP2005321949A (ja) * 2004-05-07 2005-11-17 Seiko Epson Corp コンピュータの起動方法、起動装置およびコンピュータシステム
US20060065751A1 (en) * 2004-09-29 2006-03-30 Danilo Marcato Method for locking a wake-up signal
JP2007328761A (ja) * 2006-06-09 2007-12-20 Giga-Byte Technology Co Ltd 電子コンポーネントのための温度制御方法及び温度制御システム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306734A (ja) * 1994-05-16 1995-11-21 Hitachi Ltd 携帯型データ処理装置
JPH0999606A (ja) * 1995-10-05 1997-04-15 Tec Corp 画像形成装置
JPH1091268A (ja) * 1996-09-11 1998-04-10 Sony Corp 半導体回路のクロック周波数制御方法およびデータ処理装置
JP3943764B2 (ja) * 1999-06-18 2007-07-11 株式会社東芝 コンピュータシステムおよびそのcpu性能制御方法
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6718474B1 (en) * 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
JP2002268769A (ja) * 2001-03-13 2002-09-20 Matsushita Electric Ind Co Ltd Cpu動作速度制御装置とその制御方法
US7036030B1 (en) * 2002-02-07 2006-04-25 Advanced Micro Devices, Inc. Computer system and method of using temperature measurement readings to detect user activity and to adjust processor performance
JP2003295984A (ja) * 2002-04-04 2003-10-17 Nagano Japan Radio Co 携帯端末の電源監視方法
US7139346B2 (en) * 2002-08-09 2006-11-21 The Boeing Company Mobile network time distribution
US7313717B2 (en) * 2003-04-17 2007-12-25 Sun Microsystems, Inc. Error management
US7467318B2 (en) * 2003-09-29 2008-12-16 Ati Technologies Ulc Adaptive temperature dependent feedback clock control system and method
KR20060017333A (ko) 2004-08-20 2006-02-23 삼성전자주식회사 컴퓨터 시스템
JP2006146495A (ja) * 2004-11-18 2006-06-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US7793291B2 (en) 2004-12-22 2010-09-07 International Business Machines Corporation Thermal management of a multi-processor computer system
US7275164B2 (en) * 2005-01-31 2007-09-25 International Business Machines Corporation System and method for fencing any one of the plurality of voltage islands using a lookup table including AC and DC components for each functional block of the voltage islands
JP2007109085A (ja) * 2005-10-14 2007-04-26 Sony Computer Entertainment Inc 発熱制御方法、装置およびシステム
TWI324297B (en) * 2006-03-20 2010-05-01 Via Tech Inc Thermal throttling duty estimation methods and systems for a cpu
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
US20080296397A1 (en) 2007-05-30 2008-12-04 Ta-Yang Cheng Automatic heating unit for personal computer
JP5034979B2 (ja) * 2008-01-28 2012-09-26 富士通株式会社 起動装置、起動方法、及び、起動プログラム
TWI425352B (zh) 2008-02-01 2014-02-01 Pegatron Corp 可攜式電腦及其預加熱開機方法
TWI472907B (zh) 2008-06-11 2015-02-11 Asustek Comp Inc 電腦裝置及其溫度調節方法
US8214658B2 (en) * 2008-08-20 2012-07-03 International Business Machines Corporation Enhanced thermal management for improved module reliability
US8200993B2 (en) 2008-09-18 2012-06-12 Mitac Technology Corp. Method for activating a computer system in a low temperature environment
CN101751092A (zh) 2008-10-17 2010-06-23 环旭电子股份有限公司 电脑系统及电脑系统开机过程自我降温方法
JP5293133B2 (ja) * 2008-12-10 2013-09-18 ソニー株式会社 画像表示装置
DE102008054600A1 (de) 2008-12-14 2010-06-17 Mitac Technology Corp. Computersystem und Verfahren zum Booten in einem Niedertemperaturzustand
US8176309B2 (en) 2009-05-07 2012-05-08 Nuvoton Technology Corporation Boot system has BIOS that reads rescue operating system from memory device via input/output chip based on detecting a temperature of a hard disk
JP4660621B1 (ja) 2009-10-29 2011-03-30 株式会社東芝 情報処理装置およびメモリ制御方法
KR20110055300A (ko) 2009-11-19 2011-05-25 서울통신기술 주식회사 차량용 단말기의 안전 부팅 장치 및 그 방법
US8301873B2 (en) 2009-12-01 2012-10-30 Getac Technology Corporation Method and computer system for thermal throttling protection
JP5185918B2 (ja) * 2009-12-25 2013-04-17 東芝テック株式会社 電子機器及びプログラム
JP2012006153A (ja) * 2010-06-22 2012-01-12 Konica Minolta Business Technologies Inc 画像形成装置、要求応答プログラム、及び要求応答方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930738A (en) * 1997-10-15 1999-07-27 Mobile Integrated Tecnologies, Inc. Vehicle computer system environment monitor
JP2005321949A (ja) * 2004-05-07 2005-11-17 Seiko Epson Corp コンピュータの起動方法、起動装置およびコンピュータシステム
US20060065751A1 (en) * 2004-09-29 2006-03-30 Danilo Marcato Method for locking a wake-up signal
JP2007328761A (ja) * 2006-06-09 2007-12-20 Giga-Byte Technology Co Ltd 電子コンポーネントのための温度制御方法及び温度制御システム

Also Published As

Publication number Publication date
CN104220983B (zh) 2017-08-15
JP6328568B2 (ja) 2018-05-23
ES2748596T3 (es) 2020-03-17
EP3570162B1 (en) 2020-11-25
EP2817716A1 (en) 2014-12-31
ES2861260T3 (es) 2021-10-06
US20130227261A1 (en) 2013-08-29
EP2817716B1 (en) 2019-07-03
HUE045565T2 (hu) 2019-12-30
US9274805B2 (en) 2016-03-01
WO2013126411A1 (en) 2013-08-29
KR102023314B1 (ko) 2019-11-04
JP6873082B2 (ja) 2021-05-19
CN104220983A (zh) 2014-12-17
EP3570162A1 (en) 2019-11-20
JP2018142346A (ja) 2018-09-13
JP2015516607A (ja) 2015-06-11

Similar Documents

Publication Publication Date Title
JP6873082B2 (ja) 熱アウェアデバイスブーティングのためのシステムおよび方法
CN108780349B (zh) 用于在具有异构集群架构的片上系统中进行智能热管理的系统和方法
JP5781255B1 (ja) ポータブルコンピューティングデバイスにおける適応型熱管理のためのシステムおよび方法
US9465423B2 (en) System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels
US9703336B2 (en) System and method for thermal management in a multi-functional portable computing device
US8996330B2 (en) Method and system for managing thermal policies of a portable computing device
KR101534450B1 (ko) 누설 전류 측정으로부터 열 관리 폴리시를 결정하는 시스템 및 방법
US8768666B2 (en) Method and system for controlling thermal load distribution in a portable computing device
KR101523165B1 (ko) 휴대용 컴퓨팅 디바이스에서의 배터리 충전 동시 실행들의 열 관리를 위한 방법 및 시스템
TW201329678A (zh) 用於一行動裝置之鄰近基礎熱管理之系統及方法
CN110214298B (zh) 用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right