KR101520359B1 - 휴대용 컴퓨팅 디바이스에서 배터리 로드 관리를 위한 시스템 및 방법 - Google Patents

휴대용 컴퓨팅 디바이스에서 배터리 로드 관리를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101520359B1
KR101520359B1 KR1020147023579A KR20147023579A KR101520359B1 KR 101520359 B1 KR101520359 B1 KR 101520359B1 KR 1020147023579 A KR1020147023579 A KR 1020147023579A KR 20147023579 A KR20147023579 A KR 20147023579A KR 101520359 B1 KR101520359 B1 KR 101520359B1
Authority
KR
South Korea
Prior art keywords
battery
load
pcd
call
state
Prior art date
Application number
KR1020147023579A
Other languages
English (en)
Other versions
KR20140124794A (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
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140124794A publication Critical patent/KR20140124794A/ko
Application granted granted Critical
Publication of KR101520359B1 publication Critical patent/KR101520359B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring 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
    • G06F11/3062Monitoring 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 where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Telephone Function (AREA)
  • Secondary Cells (AREA)
  • Power Sources (AREA)

Abstract

휴대용 컴퓨팅 디바이스("PCD")에서 배터리 로드를 관리하기 위한 방법들 및 시스템들의 다양한 실시예들이 개시된다. 하나의 이러한 방법은 하나 이상의 활성 전력 소비 컴포넌트들로 인한 배터리 상의 활성 로드를 트래킹하는 단계를 포함한다. 배터리와 연관되고 배터리의 건강의 상태를 나타내는 측정들이 또한 모니터링될 수 있다. PCD에서 부가적인 기능의 준비를 위한 사용자 요청과 같은, 배터리 상의 부가적인 로드에 대한 호출이 인지될 때, 새롭게 호출된 로드를 고려하는 배터리 상의 미래의 로드가 계산될 수 있다. 배터리의 건강의 상태에 관한 영향의 분석에 기초하여, 기존의 더 낮은 우선순위 로드들은 새롭게 호출된 로드에 대한 배터리 로드 용량을 생성하도록 스케일링되거나 유예될 수 있다. 이러한 방식으로, 서비스 품질 및 사용자 경험은 배터리에 해로울 수 있는 조건들을 최소화하면서 최적화될 수 있다.

Description

휴대용 컴퓨팅 디바이스에서 배터리 로드 관리를 위한 시스템 및 방법{SYSTEM AND METHOD FOR BATTERY LOAD MANAGEMENT IN A PORTABLE COMPUTING DEVICE}
관련 출원들에 대한 상호참조
35 U.S.C.§119(e) 하에서, 2012년 1월 26일 출원되고 발명의 명칭이 "SYSTEM AND METHOD FOR BATTERY LOAD MANAGEMENT IN A PORTABLE COMPUTING DEVICE"이며 출원 일련 번호 61/591,149가 할당된 미국 가출원에 대해 우선권이 주장되며, 상기 가출원의 전체 내용은 그에 의해 인용에 의해 포함된다.
휴대용 컴퓨팅 디바이스들("PCD들")은 개인 및 전문가 레벨의 사람들에 대해 필수적이 되고 있는 강력한 디바이스들이다. 몇몇 PCD들은 동작할 때 많은 열 에너지를 생성할 수 있지만, 이들은 통상적으로 팬(fan)들과 같은 활성 냉각 컴포넌트들을 포함하지 않는다. PCD들의 예들은 셀룰러 전화들, 휴대용 디지털 보조기기("PDA들"), 휴대용 게임 콘솔들, 팜탑 컴퓨터들 및 다른 휴대용 전자 디바이스들을 포함할 수 있다.
사용자들이 더욱더 PCD들에 의존하게 됨에 따라, 보다 많고 양호한 기능에 대한 수요가 증가하였다. 동시에, 사용자들은 서비스 품질("QoS") 및 전체 사용자 경험이 보다 많고 양호한 기능들의 부가로 인해 악화되지 않을 것으로 또한 예상하였다. 역설적으로, QoS 및 사용자 경험을 희생함 없이 PCD들에서 보다 많고 양호한 기능을 제공하는 것은 배터리 용량의 점점 더 높은 전기량(milliamp hours("mA-Hr"))을 필요로 한다.
일반적으로 PCD에서 배터리 용량의 더 많은 mA-Hr을 제공하는 것은 단순히 더 큰 배터리를 포함하는 것을 의미한다. 그러나 PCD 설계의 동향은 종종 더 큰 배터리의 포함을 배제하는 더 작은 폼 팩터들(smaller form factors)을 원한다. 또한, 이용 가능한 배터리 기술의 mA-Hr 밀도가 정체되었기 때문에, 주어진 크기 내에 더 높은 전력 밀도 배터리의 포함은 더 이상 부가적인 기능을 지원하기 위한 해답이 아니다. 추가의 복잡한 사항으로, PCD들의 증가된 기능의 결과로서 배터리에 가해지는 수요는 종종 사용자 경험, 아니면 PCD 내의 컴포넌트에 또한 해로운 PCD의 상승된 터치 온도들을 야기한다.
그러므로, PCD 기능이 최적화되도록 이용 가능한 배터리 용량을 관리하는 시스템 및 방법에 대한 당 분야의 요구가 있다. 또한, 순시적인 배터리 자원이 QoS, 사용자 경험 및 미션-중요 서비스들을 손상하게 초과되지 않도록 PCD의 배터리 수요를 관리하는 시스템 및 방법에 대한 당 분야의 요구가 있다.
휴대용 컴퓨팅 디바이스("PCD")에서 배터리 로드를 관리하기 위한 방법들 및 시스템들의 다양한 실시예들이 개시된다. 예시적인 실시예들은 PCD의 배터리-수요의 평균, 피크 및 지속기간을 모니터링 및 분석하고자 하는 배터리 로드 관리자("BLM") 모듈을 포함한다. 이러한 파라미터들의 값들에 기초하여 배터리 로드 스코어가 PCD에 대해 계산될 수 있다. 예시적인 배터리 로드 스코어는 PCD 내에 포함되는 컴포넌트들(하드웨어 및/또는 소프트웨어) 및 PCD에 부착되는 임의의 보조 하드웨어(즉, 다른 디바이스들)로 인한, 시간의 기간에 걸쳐 또는 시점에서의 어그리게이트 배터리 수요를 고려할 수 있다. PCD에 대한 배터리 로드 스코어를 결정한 이후, BLM 모듈은 특히, 배터리 로드 스코어에 기여하는 다양한 컴포넌트들(즉, 하드웨어 및/또는 소프트웨어)의 최소 및 등록된 성능 등급에 기초하여 배터리 로드의 확장성을 결정할 수 있다. 이들 파라미터들에 기초하여, BLM 모듈은 새로운 하드웨어 및/또는 소프트웨어에 대한 호출이 허용되는 경우 증가된 수요로부터 발생할 수 있는, PCD에 대한 배터리 로드에 관한 가능한 영향을 정량화하는 성능 스코어를 계산할 수 있다.
BLM 모듈의 실시예들은 PCD의 배터리에 대한 전압의 상태("SOV")를 검토할 수 있다. PCD 상에서 실행할 새로운 하드웨어 및/또는 새로운 소프트웨어에 대한 호출로 인한 부가적인 전력 수요가 배터리의 건강의 상태("SOH")를 위험하게 하는 배터리-로드를 생성할 것으로 기대되는 경우, (PCD에 커플링되거나 그 내부의 다른 하드웨어/소프트웨어에 의해 허용되는 경우) BLM 모듈은 새로운 하드웨어 또는 소프트웨어의 부가를 허용하도록 기존의 하드웨어 및/또는 소프트웨어의 배터리-수요를 낮출 수 있다. 대안적으로, 새로운 하드웨어 및/또는 소프트웨어를 온라인이 되게 하는 것이 배터리 SOH에 해로울 수 있다고 계산된 성능 스코어가 표시하는 경우, BLM 모듈은 새로운 하드웨어 및/또는 소프트웨어에 대한 호출을 거절할 수 있다.
PCD에서 배터리 로드를 관리하기 위한 일 예시적인 방법은 전체적으로, PCD 내의 하나 이상의 활성 전력 소비 컴포넌트들로 인한 배터리 상의 활성 로드를 트래킹하는 단계를 포함한다. 배터리와 연관되고 배터리의 건강의 상태를 나타내는 측정들이 또한 모니터링될 수 있다. PCD에서 부가적인 기능의 준비에 대한 사용자 요청과 같은, 배터리 상의 부가적인 로드에 대한 호출이 인지될 때, 새롭게 호출된 로드를 포함하는 배터리 상의 미래의 로드가 계산 또는 추정될 수 있다. 배터리의 건강의 상태에 관한 영향의 분석에 기초하여, 새롭게 호출된 로드가 허용되어야 한다면, 기존의 더 낮은 우선순위 로드들은 새롭게 호출된 로드에 대한 배터리 로드 용량을 생성하도록 스케일링되거나 유예될 수 있다. 이러한 방식으로, 서비스 품질("QoS") 및 사용자 경험은 배터리의 건강의 상태에 해로울 수 있는 조건들을 최소화하면서 최적화될 수 있다.
도면들에서, 유사한 참조 번호들은 달리 표시되지 않으면 다양한 도면들에 걸쳐서 유사한 부분들을 지칭한다. "102A" 또는 "102B"와 같은 글자 문자 표시들을 갖는 참조 번호들에 대해, 글자 문자 표시들은 동일한 도면에 존재하는 2개의 유사한 부분들 또는 엘리먼트들을 구별할 수 있다. 참조 번호들에 대한 글자 문자 지정들은 참조 번호가 모든 도면들에서 동일한 참조 번호를 갖는 모든 부분들을 포함하도록 의도될 때 생략될 수 있다.
도 1은 서비스 품질("QoS") 및 전체 사용자 경험을 최적화하기 위해 휴대용 컴퓨팅 디바이스("PCD")에서 배터리 로드 및 수요를 관리하기 위한 시스템의 예시적인 실시예를 예시하는 기능 블록도이다.
도 2는 QoS 및 전체 사용자 경험을 최적화하기 위한 배터리 로드 및 수요를 관리하기 위한 방법들 및 시스템들을 구현하기 위한 무선 전화의 형태의 PCD의 예시적인 비-제한적인 양상의 기능 블록도이다.
도 3은 배터리 로드 모니터링 및 배터리 로드 관리 기법들과 연관되는 알고리즘의 적용을 지원하기 위해 도 2의 PCD의 예시적인 소프트웨어 아키텍처를 예시하는 개략도이다.
도 4는 PCD 내의 컴포넌트의 어그리게이트 배터리 수요와 연관되고 QoS 및 전체 사용자 경험을 최적화하도록 인지되고 관리될 수 있는 다양한 배터리 로드 상태들을 예시하는 예시적인 상태도이다.
도 5는 QoS 및 전체 사용자 경험을 최적화하도록 적용될 수 있고 PCD의 특정한 배터리 로드 상태에 의존하는 예시적인 배터리 로드 관리 기법들을 예시하는 도면이다.
도 6a 내지 도 6b는 PCD의 배터리 로드 및 수요를 관리하기 위한 방법을 예시하는 논리적 흐름도이다.
"예시적인"이라는 단어는 본 명세서에서 "예시, 실례 또는 예증으로서의 역할"을 의미하는데 사용된다. 본 명세서에서 "예시적인" 것으로서 설명되는 어떠한 양상도 다른 양상들에 비해 배타적이거나 선호되거나 유리한 것으로 반드시 해석되는 것은 아니다.
이 명세서에서, "애플리케이션"이라는 용어는 또한 객체 코드, 스크립트들, 바이트 코드, 마크업 언어 파일들 및 패치(patch)들과 같은 실행 가능 콘텐츠를 갖는 파일들을 포함할 수도 있다. 추가로, 본 명세서에서 지칭되는 "애플리케이션"은 또한 열릴 필요가 있을 수도 있는 문서들이나 액세스될 필요가 있는 다른 데이터 파일들과 같이, 본래 실행 가능하지 않은 파일들을 포함할 수도 있다.
이 명세서에서 이용되는 바와 같이, "컴포넌트", "데이터베이스", "모듈", "시스템", "프로세싱 컴포넌트" 등의 용어들은 컴퓨터-관련 엔티티, 즉, 하드웨어, 펌웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 어느 하나를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행 가능한 것, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이들로 제한되지 않는다. 예로서, 컴퓨팅 디바이스 상에서 실행중인 애플리케이션 및 컴퓨팅 디바이스 둘 다는 컴포넌트일 수 있다. 하나 이상의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 컴포넌트는 2개 이상의 컴포넌트들 사이에 분배되고 및/또는 하나의 컴퓨터 상에서 로컬화될 수 있다. 또한, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독 가능한 매체들로부터 실행될 수 있다. 컴포넌트들은 예컨대 하나 이상의 데이터 패킷들(예를 들면, 로컬 시스템에서, 분산 시스템에서 및/또는 신호에 의한 다른 시스템들과의 네트워크(예를 들어, 인터넷)를 통해 다른 컴포넌트와 상호 작용하는 하나의 컴포넌트로부터의 데이터)을 갖는 신호에 따라 로컬 및/또는 원격 프로세스들을 통해 통신할 수 있다.
이 설명에서, "중앙 처리 장치("CPU")", "디지털 신호 프로세서("DSP")", 및 "칩" 이란 용어들은 상호 교환 가능하게 이용된다. 또한, CPU, DSP, 또는 칩은 본 명세서에서 "코어(들)"로서 일반적으로 지칭되는 하나 이상의 특유의 프로세싱 컴포넌트들로 구성될 수 있다.
이 설명에서, "호출(call)"이란 용어는 호출의 시간에 실행될 수 있는 것에 덧붙혀 PCD의 부가적인 자원들 및/또는 기능에 대한 요청을 지칭한다. 따라서 당업자는 호출이 몇몇 기능을 수행하거나, 몇몇 서비스를 제공하거나, 몇몇 전달 가능한 것들을 생성 및 랜더링하는 것 등을 위해 PCD 사용자가 PCD에 요청하는 결과일 수 있다는 것이 이해될 것이다. 또한, 당업자는, PCD 자원에 대한 호출은 PCD 내의 정해진 컴포넌트가 워크로드 작업을 완료하기 위해 PCD 내의 다른 컴포넌트를 레버리지하는 결과일 수 있다는 것이 또한 이해될 것이다. 비-제한적인 예로서, PCD 상에 브라우저 애플리케이션을 열기 위한 사용자 동작은 모뎀, 그래픽 프로세서 및/또는 디스플레이와 같이 호출의 시간에 이용되지 않는 PCD의 부가적인 자원들/컴포넌트에 대한 호출들을 야기할 수 있다. 당업자는 컴포넌트 또는 자원에 대한 호출을 허용하는 것이 PCD 내의 배터리 수요(battery demand)를 증가시킬 수 있다고 이해할 것이다.
이 명세서에서, "열" 및 "열 에너지"란 용어들은 "온도"의 단위들로 측정될 수 있는 에너지를 생성하거나 소산시킬 수 있는 디바이스 또는 컴포넌트와 관련하여 이용될 수 있다는 것이 이해될 것이다. 결과적으로, "온도"란 용어는, 임의의 표준 값을 참조하여, "열 에너지" 생성 디바이스 또는 컴포넌트의 상대적 따듯함 또는 그의 열기(heat)의 부재를 표시할 수 있는 임의의 측정을 표현한다는 것이 추가로 이해될 것이다. 예를 들어, 2개의 컴포넌트의 "온도"는 2개의 컴포넌트들이 "열" 평형 상태에 있을 때 동일하다.
이 설명에서, "워크로드", "프로세스 로드" 및 "프로세스 워크로드"란 용어들은 상호 교환 가능하게 이용되며, 일반적으로 주어진 실시예에서 주어진 프로세싱 컴포넌트와 연관되는 프로세싱 부담, 또는 프로세싱 부담의 퍼센티지를 가리킨다. 위에서 정의된 것 외에, "프로세싱 컴포넌트" 또는 "열 어그레서(thermal aggressor)"는 중앙 처리 장치, 그래픽 처리 장치, 코어, 메인 코어, 서브-코어, 프로세싱 영역, 하드웨어 엔진 등 또는 휴대용 컴퓨팅 디바이스 내의 집적 회로 내에 또는 그 외부에 상주하는 임의의 컴포넌트일 수 있지만, 이들로 제한되지 않는다.
이 설명에서, "로드 완화", "로드 관리" 등의 용어들은 일반적으로 PCD에서 배터리 수명 및 성능을 최적화하기 위한 조치들 및/또는 기법들을 지칭한다. 배터리 상의 활성 및 이력적 로드들은 배터리 수명을 연장하고, 중요한 서비스들의 가용성을 유지하고, 사용자 경험을 최적화하고 더 높은 레벨의 서비스 품질을 제공하기 위해 로드 관리 기법들에 의해 모니터링, 예측 및 레버리지될 수 있다는 것이 다양한 실시예들의 이점이다.
이 명세서에서, 휴대용 컴퓨팅 디바이스("PCD")라는 용어는 배터리와 같은 한정된 용량의 전원으로 동작하는 임의의 디바이스를 설명하는데 사용된다. 수십 년간 배터리 동작 PCD들이 사용되어 왔지만, 3세대("3G") 및 제 4 세대("4G") 무선 기술의 출현과 결부된 재충전 가능한 배터리들의 기술적 진보들은 다양한 능력들을 가진 수많은 PCD들을 가능하게 하였다. 따라서 PCD는 무엇보다도, 셀룰러 전화, 위성 전화, 호출기, PDA, 스마트폰, 네비게이션 디바이스, 스마트북 또는 리더, 미디어 플레이어, 앞서 언급한 디바이스들의 결합, 무선 연결성을 가진 랩톱 컴퓨터일 수 있다.
일반적으로 배터리 로드 관리자("BLM") 모듈로서 본 명세서에서 지칭되는 예시적인 방법들 및 시스템들은 PCD의 배터리-수요의 평균, 피크 및 지속기간을 모니터링 및 분석하고자 한다. 이러한 파라미터들의 값들에 기초하여, 배터리 로드 스코어는 PCD에 대해 계산될 수 있다. 예시적인 배터리 로드 스코어는 PCD 내에 포함되는 컴포넌트(하드웨어 및/또는 소프트웨어) 및 PCD에 부착된 임의의 보조 하드웨어(즉, 다른 디바이스들)로 인해, 시간의 기간에 걸쳐서 또는 시점에, 어그리게이트 배터리 수요(aggregate battery demand)를 고려할 수 있다. PCD에 대한 배터리 로드 스코어를 결정한 이후, BLM 모듈은 특히 배터리 로드 스코어에 기여하는 다양한 컴포넌트들(즉, 하드웨어 및/또는 소프트웨어)의 최소 및 등록된 성능 등급들에 기초하여 배터리 로드의 확장성(scalability)을 결정한다. 이들 파라미터들에 기초하여, BLM 모듈은 새로운 하드웨어 및/또는 소프트웨어에 대한 호출이 허용되는 경우 증가된 수요로부터 발생할 수 있는 PCD에 대한 배터리 로드에 관한 가능한 영향(probable impact)을 정량화하는 성능 스코어를 계산할 수 있다.
BLM 모듈은 PCD의 배터리에 대한 "SOV(state of voltage)"를 검토할 수 있다. PCD 상에서 실행하도록 하는 새로운 하드웨어 및/또는 새로운 소프트웨어에 대한 호출로 인한 부가적인 전력 수요가 배터리의 "SOH(state of health)"를 위험하게 하는 배터리-로드를 생성할 것으로 기대되는 경우, (PCD에 커플링되거나 그 내에 있는 다른 하드웨어/소프트웨어에 의해 허용되는 경우) BLM 모듈은 새로운 하드웨어 또는 소프트웨어의 부가를 허용하기 위해 기존의 하드웨어 및/또는 소프트웨어의 배터리-수요를 낮출 수 있다. 대안적으로, 새로운 하드웨어 및/또는 소프트웨어를 온라인이 되게 하는 것이 배터리 SOH에 해로울 수 있다고 계산된 성능 스코어가 표시하는 경우, BLM 모듈은 새로운 하드웨어 및/또는 소프트웨어에 대한 호출을 거절할 수 있다.
일반적으로, 예시적인 BLM 모듈은 전력 프로파일링 로드들에 대한 실시간 배터리 방전을 검토하고, 배터리 수명을 예측하여, 배터리 이용을 연대순으로 기록하고(chronicling), 최적의 콘택스트-인식 배터리 동작을 가능케 하고, SOV/"SOC(state of charge)"/SOH 파라미터들을 모니터링하고, 이용 경우들을 모니터링하여 연관된 배터리 로드를 문서화하고, 다양한 소프트웨어 및/또는 하드웨어에 걸친 동시적 QoS/사용자 경험을 설정하고, PCD 플랫폼 가용성을 최대화하기 위해 배터리-수명을 연장하고, 미션-중요 서비스들을 위해 PCD 내의 자원들을 보존하고, 배터리 방전 깊이(battery depth-of-discharge)를 관리하고, 배터리에 대한 손상을 방지하기 위해 배터리 SOH를 관리하고, 배터리의 사이클 수명을 최대화하고, PCD 플랫폼 제어성, 신뢰성 및 보안성을 강화하는 것을 포함(그러나 이것으로 제한되지 않음)하는 위의 기능들 중 임의의 하나 이상을 수행할 수 있다.
과도한 배터리 전압 강하를 방지하기 위해, BLM 모듈의 실시예들은 결합된 순시적인 배터리 로드가 배터리에 의해 관리 가능한 것으로 기대되는 경우에만, 호출들이 PCD 내에 존재하거나 이에 커플링되는 새로운 소프트웨어 애플리케이션들 또는 하드웨어 디바이스들을 런칭(launch)하거나 작동시키도록 허용할 수 있다. 유사하게, 열 관련 이상들을 방지하기 위해, 작동되는 기존의 하드웨어 또는 런칭되는 새로운 애플리케이션에 대해, PCD의 어그리게이트 플랫폼 로드는 PCD의 플랫폼 열 로드가 안전 레벨로 유지될 것으로 기대될 때만 BLM 모듈에 의해 온전한 채로 남아있을 수 있다. 그렇지 않으면, BLM 모듈의 실시예들은 런칭을 위해 큐잉(queue)되는 새로운 애플리케이션(들) 및 기존의 애플리케이션 둘 다에 대해 감소된 성능(해산(dismissal)을 포함함)을 협상할 수 있다.
BLM 모듈들의 특정한 실시예들은 PCD의 다양한 컴포넌트들과 연관되는 로딩 정보를 질의, 업데이트 및 유지하기 위해 데이터베이스들을 레버리지한다. 로딩 정보는 개별 컴포넌트들과 연관되고 배터리 로드 스코어 및/또는 성능 스코어를 계산하기 위해 BLM 모듈에 의해 이용되는 배터리-로딩 데이터, 온도-상승 데이터 등을 포함할 수 있다. 명백히, 배터리 로드 스코어는 실시간 전력 로드 측정들을 고려함으로써 또한 계산될 수 있다는 것이 고려된다. 배터리 로드 및 성능 스코어들은 사용자 경험을 나타낼 수 있고, 이에 따라 주어진 애플리케이션이 생성되거나, 스케일링되거나 킬(kill)링되어야 하는지를 지능적으로 판단하기 위해 BLM 모듈에 의해 레버리지될 수 있다.
도 1은 휴대용 컴퓨팅 디바이스("PCD")(100)에서 배터리 로드 및 수요를 관리하기 위한 시스템(99)의 예시적인 실시예를 예시하는 기능적 블록도이다. BLM 모듈(26)은 배터리 성능을 관리하고 배터리 수명을 연장하기 위해 PCD(100) 내의 다양한 컴포넌트들에 연관되는 개별 배터리 로드들의 지식을 레버리지할 수 있다. 유리하게는, 주어진 컴포넌트의 특정한 배터리 로드를 모니터링함으로써, 실시예들은, 배터리(188)의 필요할 때 건강의 상태가 최적화되도록 하는 방식으로 컴포넌트들 및 그의 연관된 기능들을 우선순위화하는 미세립 접근법(fine grained approach)을 이용하여 로드 관리 조치들을 적용할 수 있다. 결과적으로, PCD(100)의 사용자에 의해 경험되는 서비스 품질("QoS")은 사용자 경험에 적어도 영향을 미치는 것으로 알려진 그러한 컴포넌트들에만 로드 완화 조치들이 행해질 수 있을 때 최적화될 수 있다.
도 1의 예시적인 예시에서 알 수 있는 바와 같이, "PMIC"(power management integrated circuit)(180)는 집적 회로(102) 내에 상주하는 하나 이상의 예시적인 프로세싱 컴포넌트들(110, 132, 182) 각각에 전력을 공급하도록 구성된다. 도시된 바와 같이, 전력은 배터리(188)로부터 소싱되며, 다수의 전용 전력 레일들(184)을 통해 프로세싱 컴포넌트들(110, 132, 182) 각각으로 PMIC(180)에 의해 분배된다. 명백하게, 도 1의 예시에서, 디스플레이(132) 및 그래픽 처리 유닛("GPU")(182)이 각각 단일의 연관된 전력 공급 레일(184)을 갖는 것으로서 도시되는 반면에, 중앙 처리 장치("CPU")(110)의 코어들(0, 1, 2 및 3) 각각은 전용 전력 레일(184)을 갖는 것으로서 도시된다. 그렇긴 하지만, 당업자는 컴포넌트들(110, 132, 182)과 같은 프로세싱 컴포넌트 내의 임의의 코어, 서브-코어, 서브-유닛 등은 전용 전력 레일(184)을 갖거나 보완 컴포넌트들(complimentary component)과 공통 전력 레일을 공유할 수 있고, 따라서 도 1에서 예시된 특정한 아키텍처는 본질적으로 예시적이며 본 개시의 범위를 제한하지 않을 것이라는 것을 인지할 것이다.
도 1의 예시로 돌아오면, 하나 이상의 전력 센서들(157)은 전력 레일들(184)을 모니터링하고 전력 레일들(184)과 연관된 특정한 컴포넌트(들)에 의한 전력 소비를 나타내는 신호를 생성하도록 구성된다. 센서들(157)은 전류를 모니터링하도록 구성되고, 전력 레일(184)을 통해 흐르는 전류에 의해 생성된 전자기장을 측정하기 위한 홀(hall) 효과 타입, 전력 레일(184)의 레지스터 양단에서 측정되는 전압 강하로부터 전류를 계산하기 위한 분로 레지스터 전류 측정 타입, 또는 당업자에게 알려진 임의의 타입과 같은 타입으로 이루어질 수 있지만, 이러한 것들로 제한되지 않는다는 것이 고려된다. 따라서, 시스템들 및 방법들의 실시예에서 이용될 수 있는 센서(157)의 특정한 설계, 타입 또는 구성이 그 자체로 신규할 수 있지만, 시스템들 및 방법들은 임의의 특정한 타입의 센서(157)로 제한되지 않는다. 예를 들어, 예시적인 도 1의 예시에서 도시된 센서들(157B)이 개별 전력 레일들과 연관되는 것으로 도시되지만, 몇몇 실시예들에서의 센서들(157)은 프로세싱 컴포넌트에서 또는 그 근처에서 온도를 측정하도록 구성될 수 있다는 것이 고려되며, 이들의 측정은 주어진 컴포넌트에 의한 전력 소비를 추정하는데 이용될 수 있다.
모니터 모듈(114)은 센서(들)(157)에 의해 생성되는 신호들을 모니터링 및 수신할 수 있다. 모니터 모듈(114)은 스케줄러 모듈(101)에 의해 생성되는 명령들의 상태를 또한 모니터링할 수 있다. 명백히, 모니터 모듈(114), 전력 센서(157), 배터리 로드 데이터베이스(24), 및 BLM 모듈(26)이 칩(102) 외부에 상주하는 것으로 도 1의 예시에서 도시되지만, 당업자는 컴포넌트들(24, 26, 114 및 157) 모두 또는 임의의 것이 특정한 실시예들에서 칩(102) 상에 상주할 수 있다는 것을 인지할 것이다. 또한, 당업자는, PCD(100)의 일부 실시예들에서, 모니터 모듈(114) 및/또는 전력 센서들(157)이 PMIC(180)에 포함될 수 있지만, 도 1에 예시된 특정한 실시예들은 독립적인 컴포넌트들로서 모니터 모듈(114) 및 전력 센서들(157)을 도시한다는 것을 인지할 것이다.
BLM 모듈(26)은 위에서 일반적으로 설명된 바와 같은 모니터 모듈(114)과 함께, 다양한 프로세싱 컴포넌트들(110, 132, 182)로부터의 워크로드들에 대한 호출들을 트래킹하도록 구성될 수 있다. 당업자가 인지할 바와 같이, BLM 모듈(26)의 실시예들은 인터럽트 서비스 루틴(interrupt service routine)에 의해 처리되는 하드웨어 및/또는 소프트웨어 인터럽트들을 포함할 수 있다. 즉, 실시예에 의존하여, BLM 모듈(26)은 인터럽트 제어기 회로와 같이 제어 출력들을 갖는 특유의 시스템으로서 하드웨어로 구현되거나, 또는 메모리 서브시스템에 통합된 펌웨어와 같이 소프트웨어로 구현될 수 있다. 몇몇 실시예들에서, 스케줄러 모듈(101)에 의한 스케줄링을 위해 큐잉되는 워크로드들은 모니터 모듈(114)에 의해 인지되고 배터리 로드에 관한 가능한 영향을 평가하도록 BLM 모듈(26)에 경고하기 위한 트리거들로서 이용될 수 있다. 그렇긴 하지만, 시스템 및 방법의 실시예들은 배터리 로드 관리 기법들의 적용 및/또는 배터리 로드 영향 분석의 타이밍을 위한 트리거들로서 워크로드 큐들의 이용으로 제한되지 않는다는 것이 이해될 것이다. 따라서, 워크로드 큐들과 연관되는 트리거들을 레버리지하기 위해 본 명세서에서 설명되는 실시예들이 본질적으로 예시적이며 BLM 모듈(26)의 범위를 제한하도록 의도되는 것은 아니다. 예를 들어, 몇몇 실시예들은 그래픽 사용자 인터페이스 작동의 형태의 사용자 요청들, 전력 소비 컴포넌트에서의 또는 그 근처에서의 온도 측정들, 전력 레일 측정들 등 중 하나 이상에 기초하여 트리거들을 레버리지할 수 있다고 고려된다.
도 1의 예시로 되돌아오면, 모니터 모듈(114)은 다양한 레일들과 연관되는 활성 컴포넌트들의 전력 소비를 트래킹하기 위해 하나 이상의 전력 센서들(157)로부터의 신호를 모니터링한다. 몇몇 실시예들에서, 모니터 모듈(114)에 의해 트래킹되는 데이터는 배터리 로드 데이터베이스서 연속적으로 업데이트 및 저장될 수 있어서, 이력적 전력 소비 레벨들이 특정한 이용 경우들에 맵핑될 수 있다. 이러한 방식으로, BLM 모듈(26)의 특정한 실시예들은 과거 전력 소비 데이터를 질의하고 배터리의 건강 상태에 관한 제안된 이용 경우들의 영향을 정확하게 결정하도록 동작 가능할 수 있다. 전력 센서들(157) 외에, 모니터 모듈(114)은 또한 배터리(188) 상의 전력 프로파일링 로드들에 대한 실시간 배터리 방전을 검토하고, 배터리(188)의 배터리 수명을 예측하고 배터리 이용을 연대순으로 기록하는 것을 포함해서(그러나 이것으로 제한되지 않음) 배터리(188)의 다양한 양상들을 모니터링할 수 있다. 모니터 모듈(114)은 몇몇 실시예들에서, 배터리(188)의 방전의 깊이, 배터리(188)의 전압의 상태, 배터리(188)의 충전 상태 및 PCD(100)의 사용자 경험 및 전체 QoS의 다양한 표시자들을 또한 모니터링할 수 있다. 모니터 모듈(114)은 PCD(100) 내에서 배터리 건강의 상태 및/또는 활성 전력 소비를 나타내는 모니터링된 데이터를 중계하도록 BLM 모듈(26)과 배터리 로드 데이터베이스(24)와 후속적으로 통신할 수 있다. 유리하게는, BLM 모듈(26)은 배터리(188) 상의 활성 로드를 정량화하고 부가적인 자원들에 대한 호출(들)이 허용되어야 하면 그 로드에 관한 영향을 예측하도록 모니터링된 데이터를 레버리지할 수 있다. 배터리(188) 상의 활성 로드가 호출된 자원들/컴포넌트들로 인한 예측된 로드에 비교되면, BLM 모듈(26)은 배터리 수명, 건강의 상태, 중요 서비스 가용성 등 중 하나 이상을 최적화하도록 설계된 배터리 로드 관리 기법들을 구현할 수 있다.
몇몇 실시예들에서, BLM 모듈(26)은 호출된 컴포넌트들의 배터리 로드에 관한 가능한 영향을 결정하기 위해 배터리 로드 데이터베이스(24)를 참조할 수 있다. 호출된 컴포넌트의 배터리 로드 영향이 BLM 모듈(26)에 의해 인지되면, 사용자 경험 및 QoS를 최적화하기 위한 배터리 로드 관리 및/또는 완화 정책들이 PCD 워크로드에 적용될 수 있다.
비-제한적인 예로서, PCD(100)의 사용자는 스케줄러 모듈(101)이 CPU(110)의 코어 0에 대한 워크로드 명령을 큐잉하게 하는 기능을 요청할 수 있다. 모니터 모듈(114)은 명령이 개시되었음을 인지하고 배터리(188) 상의 요청된 워크로드의 영향을 평가하도록 BLM 모듈(26)을 경고할 수 있다. 배터리 로드 데이터베이스(24)에 질의하거나, 또는 몇몇 실시예들에서, 센서들(157)에 의해 수집된 데이터로부터 활성 전력 측정들을 어그리게이팅함으로써, BLM 모듈(26)은 PCD(100)에서 활성 로드 또는 진행중인 이용 경우로 인한 배터리 로드 스코어를 정량화할 수 있다. 코어 0과 연관된 배터리 로드 레벨들을 나타내는 데이터에 대해 배터리 로드 데이터베이스(24)에 재차 질의하는 BLM 모듈(26)은 요청된 워크로드 명령이 프로세싱되어야 하면 배터리 로드에 관한 가능한 영향을 정량화할 수 있다. 코어 0에 대한 워크로드 명령과 연관되는 부가적인 로드가 배터리(188)의 건강의 상태에 해로운 영향을 미치는 것으로 결정되는 경우, BLM 모듈(26)은, 새로운 명령이 수용될 수 있도록, 활성 워크로드들을 감소시키거나 워크로드 명령을 프로세싱하기 위한 요청을 거절할 수 있다.
비-제한적인 예로서, BLM 모듈(26)은, RF 트랜시버(168)(도 1에서 도시되지 않음)와 연관된 기능에 대한 호출을 수용하도록 배터리 로드 용량을 재할당하기 위해, 디스플레이(132)에 대한 전력을 감소시켜 디스플레이(132)를 디밍(dimming)시키고 이에 따라 디스플레이는 더 적은 전력을 소비하게 된다. 추가의 예로, BLM 모듈(26)은 PCD(100)에서 활성의 이용 경우에 대한 RF 트랜시버(168)의 작동이 중요한 서비스들을 지원할 수 있는 레벨 미만으로 배터리(188)의 전압이 강하하게 할 것이라는 것을 인지할 수 있다. 그리고, 그것이 따라서 디스플레이(132)의 밝기를 감소시키기 위한 배터리 로드 관리 기법의 구현을 통해 선출될 수 있어서, 배터리 용량은 QoS 및 사용자 경험에 과도한 영향 없이 RF 트랜시버(168)에 할당될 수 있다.
명백히, 몇몇 실시예들에서, 배터리 로드 데이터베이스(24)의 데이터는 알려진 이용 경우들과 관련하여 이전에 모니터링된 전력 소비 레이트들에 기초하여 경험적으로 수집될 수 있다. 다른 실시예들에서, 배터리 로드 데이터베이스(24)의 데이터는 선험적 토대(a-priori basis)로 계산될 수 있다. 또 다른 실시예들에서, 배터리 로드 데이터베이스(24)의 데이터는 선험적 토대로 계산되고 PCD(100)에서 모니터링되는 실제 전력 소비 측정들에 기초하여 연속적으로 업데이트될 수 있다. 배터리 로드 데이터베이스(24)내의 데이터가 어떻게 유도되거나 수집될 수 있는지와 무관하게, 당업자는, 배터리 로드 데이터베이스(24)의 실시예들이 실제 및 예측된 배터리 로드 영향들을 평가하도록 질의될 수 있다는 것을 인지할 것이며, 이러한 기능 외에, 개시된 실시예들 및 시스템들의 범위에 관해 제한하는 것은 아니다.
도 2는 서비스 품질("QoS") 및 전체 사용자 경험을 최적화하기 위해 배터리 로드 및 수요를 관리하기 위한 방법들 및 시스템들을 구현하기 위한 무선 전화 형태의 PCD(100)의 예시적이며 비-제한적인 양상의 기능적 블록도이다. 도시된 바와 같이, PCD(100)는 함께 커플링되는 다중-코어 중앙 처리 장치("CPU")(110) 및 아날로그 신호 프로세서(126)를 포함하는 온-칩 시스템(102)을 포함한다. CPU(110)는 당업자에 의해 이해되는 바와 같이, 제 0 코어(222), 제 1 코어(224), 및 제 N 코어(230)를 포함할 수 있다. 또한, CPU(110) 대신, 디지털 신호 프로세서("DSP")는 또한 당업자에 의해 이해되는 바와 같이 이용될 수 있다.
일반적으로, "BLM(배터리 로드 관리)" 모듈(26)은 모니터 모듈(114)과 함께, 배터리 로드들을 모니터링하고, 배터리 로드들에 관한 영향들을 예측하고 배터리 로드 관리 기법들을 적용하여, PCD(100)가 그의 전원을 최적화하고 높은 레벨의 기능을 유지하는 것을 돕도록 하는 것을 담당할 수 있다.
모니터 모듈(114)은 BLM 모듈(26)은 물론 PCD(100)의 CPU(110)와 그리고 온-칩 시스템(102)에 걸쳐 분산되는 다수의 동작 센서들(예를 들어, 열 센서들(157A))과 통신한다. 몇몇 실시예들에서, 모니터 모듈(114)은 또한 코어들(222, 224, 230)과 고유하게 연관되는 전력 소비 레이트들을 위해 전력 센서들(157B)을 모니터링하고, 전력 소비 데이터를 BLM 모듈(26) 및/또는 배터리 로드 데이터베이스(24)(메모리(112)에 상주할 수 있음)에 전송할 수 있다. BLM 모듈(26)은 칩(102) 내의 식별된 컴포넌트들로의 하나 이상의 배터리 로드 관리 기법들의 적용을 보장할 수 있는 이용 경우 조건들을 식별하기 위해 모니터 모듈(114)과 함께 작동할 수 있다.
도 2에 예시된 바와 같이, 디스플레이 제어기(128) 및 터치스크린 제어기(130)가 디지털 신호 프로세서(110)에 커플링된다. 온-칩 시스템(102) 외부의 터치스크린 디스플레이(132)가 디스플레이 제어기(128) 및 터치스크린 제어기(130)에 커플링된다. BLM 모듈(26)은 예를 들어, 코어들(222, 224, 230)에 대한 워크로드 큐들을 모니터링하고, 전원(188)으로부터 코어들로 제공되는 전력을 관리하기 위해 PMIC(180)와 함께 작동한다. 모니터 모듈(114)은 PMIC(180)로부터 온-칩 시스템(102)의 컴포넌트들까지의 전력 레일들 상의 전류 측정들을 모니터링하고 활성 배터리 로드들의 계산을 위해 BLM 모듈(26)에 이 측정들을 제공할 수 있다. 유리하게는, 활성 전력 로드들을 정량화함으로써, BLM 모듈(26)은 PCD(100) 내의 하나 이상의 컴포넌트들 상의 부가적인 기능/워크로드들에 대한 호출로부터 발생하는 배터리의 건강 상태에 관한 영향을 예측할 수 있다.
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)에 커플링된다. 메모리(112) 및 가입자 신원 모듈(SIM: subscriber identity module) 카드(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)에 커플링될 수 있다. 특정 양상에서, 주파수 변조("FM(frequency modulation)") 라디오 튜너(162)가 스테레오 오디오 코덱(150)에 커플링될 수 있다. 또한, FM 안테나(164)가 FM 라디오 튜너(162)에 커플링된다. 또한, 스테레오 헤드폰들(166)이 스테레오 오디오 코덱(150)에 커플링될 수 있다.
도 2는 또한, 무선 주파수("RF(radio frequency)") 트랜시버(168)가 아날로그 신호 프로세서(126)에 커플링될 수 있음을 나타낸다. RF 스위치(170)가 RF 트랜시버(168) 및 RF 안테나(172)에 커플링될 수 있다. 도 2에 도시된 바와 같이, 키패드(174)가 아날로그 신호 프로세서(126)에 커플링될 수 있다. 또한, 마이크로폰을 구비한 모노 헤드셋(176)이 아날로그 신호 프로세서(126)에 커플링될 수 있다. 또한, 진동기 디바이스(178)가 아날로그 신호 프로세서(126)에 커플링될 수 있다. 도 2는 또한 전원(188), 예를 들어, 배터리가 PMIC(180)를 통해 온-칩 시스템(102)에 커플링됨을 보여준다. 특정 양상에서, 전원은 교류("AC(alternating current)") 전원에 연결된 교류("AC")-DC 변압기로부터 유도되는 재충전 가능한 배터리 또는 DC 전원을 포함한다.
CPU(110)는 또한 하나 이상의 내부의 온-칩 열 센서들(157A)은 물론 하나 이상의 외부의 오프-칩 열 센서들(157C)에 커플링될 수 있다. 온-칩 열 센서들(157A)은 "CMOS"(complementary metal oxide semiconductor)"VLSI"(very large-scale integration) 회로들에 보통 전용되고 수직 PNP 구조에 기초하는 하나 이상의 "PTAT"(proportional to absolute temperature) 온도 센서들을 포함할 수 있다. 오프-칩 열 센서들(157C)은 하나 이상의 서미스터들(thermistors)을 포함할 수 있다. 열 센서들(157C)은 "ADC"(analog-to-digital converter) 제어기(103)를 통해 디지털 신호들로 변환된 전압 드롭(voltage drop)을 생성할 수 있다. 그러나 다른 타입들의 열 센서들(157A, 157C)은 본 발명의 범위로부터 벗어남 없이 이용될 수 있다.
열 센서들(157A, 157c)은, ADC 제어기(103)에 의해 제어되고 모니터링되는 것 외에, 하나 이상의 BLM 모듈(들)(26)에 의해 또한 제어되고 모니터링될 수 있다. BLM 모듈(들)(26)은 CPU(110)에 의해 실행되는 소프트웨어를 포함할 수 있다. 그러나 BLM 모듈(들)(26)은 본 발명의 범위로부터 벗어남 없이 하드웨어 및/또는 펌웨어로부터 또한 형성될 수 있다. BLM 모듈(들)(26)은 높은 레벨의 기능 및 사용자 경험을 유지하면서, PCD(100)가 그의 전원에 과부담(overburdening)을 주는 것을 방지하게 도울 수 있는 하나 이상의 배터리 로드 관리 기법들을 포함하는 배터리 로드 정책들을 모니터링 및 적용하는 것을 담당할 수 있다.
일 예로서, BLM 모듈(26)의 실시예들은, 모니터링 모듈(114)과 함께, 하나 이상의 전력 소비 컴포넌트들과 연관되는 온도 측정들을 트래킹할 수 있다. 유리하게는, 다양한 컴포넌트들과 연관되는 온도들을 트래킹함으로써, BLM 모듈(26)은 PCD(100)의 터치 온도들을 상승시킴으로써 사용자 경험에 악영향을 줄 수 있는 PCD(100) 내의 열 어그레서들(thermal aggressors)을 식별할 수 있을 수도 있다. 상승된 온도를 인지함으로써, BLM 모듈(26)은 식별된 열 어그레서에서의 전력 수요를 증가시키게 될 부가적인 자원들에 대한 호출들을 거절함으로써 과도한 열 에너지 생성을 완화할 수 있을 수도 있다. 유사하게, BLM 모듈(26)의 실시예들은 배터리(188) 그 자체와 연관된 온도들을 트래킹하고 배터리(188)와 연관된 온도들이 배터리(188)의 건강에 해로운 레벨들에 도달하는 경우 배터리 로드 완화 기법들을 적용할 수 있다.
도 2를 참조하면, 터치스크린 디스플레이(132), 비디오 포트(138), USB 포트(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)에 의해 이러한 외부 디바이스들 중 하나 이상의 디바이스로부터 하나 이상의 지시들 또는 신호들을 수신할 수 있다고 이해되어야 한다.
특정 양상에서, 본 명세서에서 설명되는 방법 단계들 중 하나 이상의 단계는 하나 이상의 BLM 모듈(들)(26)을 형성하는, 메모리(112)에 저장된 실행 가능 명령들 및 파라미터들에 의해 구현될 수 있다. BLM 모듈(들)(26)을 형성하는 이러한 명령들은 본 명세서에서 설명되는 방법들을 수행하기 위해, ADC 제어기(103) 외에, CPU(110), 아날로그 신호 프로세서(126) 또는 다른 프로세서에 의해 실행될 수 있다. 또한, 프로세서들(110, 126), 메모리(112), 그 내부에 저장된 명령들, 또는 이들의 조합은 본 명세서에서 설명되는 방법 단계들 중 하나 이상의 단계를 수행하기 위한 수단의 역할을 할 수 있다.
도 3은 배터리 로드 모니터링 및 배터리 로드 관리 기법들과 연관되는 알고리즘의 적용을 지원하기 위해 도 2의 PCD(100)의 예시적인 소프트웨어 아키텍처를 예시하는 개략도이다. 임의의 수의 알고리즘들은, 특정한 로드 조건들 또는 이용 경우 시나리오들이 충족되고, 부가적인 기능 또는 자원들이 실행 내로 호출될 때, 배터리 로드 관리 모듈(26)에 의해 적용될 수 있는 적어도 하나의 배터리 로드 관리 기법을 형성하거나 또는 그의 부분일 수 있다.
도 3에서 예시되는 바와 같이, CPU 또는 디지털 신호 프로세서(110)는 버스(211)를 통해 메모리(112)에 커플링된다. CPU(110)는, 위에서 언급된 바와 같이, N개의 코어 프로세서들을 갖는 다중-코어 프로세서이다. 즉, CPU(110)는 제 1 코어(222), 제 2 코어(224), 및 제 N 코어(230)를 포함한다. 당업자에게 알려져 있는 바와 같이, 제 1 코어(222), 제 2 코어(224) 및 제 N 코어(230) 각각은 전용 애플리케이션 또는 프로그램을 지원하기 위해 이용 가능하다. 대안적으로, 하나 이상의 애플리케이션들 또는 프로그램들은 이용 가능한 코어들 중 2개 이상에 걸친 프로세싱을 위해 분산될 수 있다. 명백히, 배터리 로드 관리 기법들의 실행이 CPU(110) 또는 코어(210) 상에서 실행되는 워크로드들의 실행, 스케일링 또는 킬링과 관련하여 도 3의 예시에 대해 설명되지만, 당업자는 이러한 기법들의 적용이 유리하게는 배터리(188) 상의 어그리게이트 배터리 로드에 기여하는, PCD(100) 내의 임의의 컴포넌트 상의 워크로드들을 실행, 스케일링 또는 킬링할 수 있다는 것을 인지할 것이다.
CPU(110)는 소프트웨어 및/또는 하드웨어를 포함할 수 있는 BLM 모듈(들)(26)로부터 커맨드들을 수신할 수 있다. 소프트웨어로 실현되는 경우, BLM 모듈(26)은 CPU(110) 및 다른 프로세서들에 의해 실행되는 다른 애플리케이션 프로그램들에 대한 커맨드를 발행하는 CPU(110)에 의해 실행되는 명령들을 포함한다. 예를 들어, BLM 모듈(26)은 과도한 배터리 용량이 대안적인 기능에 대한 사용자 호출을 서빙하기 위해 할당될 수 있도록 특정한 활성 애플리케이션 프로그램을 중지하게 하도록 CPU(110)에 지시할 수 있다.
CPU(110)의 제 1 코어(222), 제 2 코어(224) 내지 제 N 코어(230)가 단일의 집적 회로 다이 상에 통합될 수 있거나, 이들은 다중-회로 패키지 내의 별개의 다이들 상에 통합되거나 커플링될 수 있다. 설계자들은 하나 이상의 공유 캐시들을 통해 제 1 코어(222), 제 2 코어(224) 내지 제 N 코어(230)를 커플링할 수 있고 이들은 버스, 링, 메시(mesh), 크로스바 토폴로지와 같은 네트워크 토폴로지들을 통한 메시지 또는 명령 전달을 구현할 수 있다.
예시된 실시예에서, RF 트랜시버(168)는 디지털 회로 엘리먼트를 통해 구현되고 코어 프로세서(210)("코어"로 라벨링됨)와 같은 적어도 하나의 프로세서를 포함한다. 이 디지털 구현에서, RF 트랜시버(168)는 버스(213)를 통해 메모리(112)에 커플링된다. 위의 예로 돌아오면, 기능에 대한 사용자의 호출을 수용하고자 하는 BLM 모듈(26)은 CPU(110)로 하여금 RF 트랜시버(168)를 셧 다운시키도록 코어(210)에 지시하게 할 수 있다. 유리하게는, 이를 행함으로써, BLM 모듈(26)은 그렇지 않았다면 전력 소스(188)에 의해 지원되지 않았을 수 있는 기능에 대한 호출을 수용할 수 있을 수 있다.
버스(211) 및 버스(213) 각각은 당 분야에 알려진 바와 같은 하나 이상의 유선 또는 무선 연결들을 통한 다수의 통신 경로들을 포함할 수 있다. 버스(211) 및 버스(213)는 통신들을 가능하게 하기 위해 제어기들, 버퍼들(캐시들), 구동기들, 중계기들 및 수신기들과 같은 부가적인 엘리먼트들(단순함을 위해 생략됨)을 가질 수 있다. 또한, 버스(211) 및 버스(213)는 상술된 컴포넌트들 사이에서 적절한 통신들을 가능하게 하기 위한 어드레스, 제어 및/또는 데이터 연결들을 포함할 수 있다.
PCD(100)에 의해 이용된 로직이 도 3에서 도시된 바와 같이 소프트웨어로 구현될 때, 시동 로직(250), 관리 로직(260), 배터리 로드 관리 인터페이스 로직(270), 애플리케이션 저장소(280)의 애플리케이션, 배터리 로드 데이터베이스(24)와 연관된 데이터 및 파일 시스템(290)의 부분들 중 하나 이상은 임의의 컴퓨터-관련 시스템 또는 방법에 의한 이용 또는 이와 관련된 이용을 위해 임의의 컴퓨터-판독 가능한 매체 상에 저장될 수 있다는 것이 주의되어야 한다.
본 문서의 맥락에서, 컴퓨터 판독 가능 매체는 컴퓨터 관련 시스템 또는 방법에 의한 이용 또는 이와 관련된 이용을 위해 컴퓨터 프로그램 및 데이터를 포함하거나 저장할 수 있는 전자, 자기, 광 또는 다른 물리적 디바이스 또는 수단이다. 다양한 로직 엘리먼트들과 데이터 저장소들이 컴퓨터 기반 시스템, 프로세서 포함 시스템, 또는 명령 실행 시스템, 장치 또는 디바이스로부터 명령들을 페치(fetch)하여 명령들을 실행할 수 있는 다른 시스템과 같은 명령 실행 시스템, 장치 또는 디바이스에 의한 이용 또는 이와 관련된 이용을 위해 임의의 컴퓨터 판독 가능 매체에서 구현될 수 있다. 본 문서의 맥락에서, "컴퓨터 판독 가능 매체"는 명령 실행 시스템, 장치 또는 디바이스에 의한 이용 또는 이와 관련된 이용을 위해 프로그램을 저장, 통신, 전파 또는 전송할 수 있는 임의의 수단일 수 있다.
컴퓨터 판독 가능 매체는 예를 들어, 전자, 자기, 광, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스 또는 전파 매체일 수 있지만, 이들로 제한되는 것은 아니다. 컴퓨터 판독 가능 매체의 더 특정한 예들(리스트의 총망라는 아님)은 하나 이상의 와이어들을 갖는 전기 연결(전자), 휴대용 컴퓨터 디스켓(자기), 랜덤 액세스 메모리(RAM: random-access memory)(전자), 판독 전용 메모리(ROM: read-only memory)(전자), 소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM, EEPROM 또는 플래시 메모리)(전자), 광섬유(광) 및 휴대용 콤팩트 디스크 판독 전용 메모리(CDROM: compact disc read-only memory)(광)를 포함할 것이다. 프로그램은 예컨대 종이나 다른 매체의 광학적 스캐닝을 통해 전자적으로 캡처된 다음, 필요하다면 적합한 방식으로 컴파일되거나, 해석되거나 또는 다른 방식으로 프로세싱되고, 다음에 컴퓨터 메모리에 저장될 수 있으므로, 컴퓨터 판독 가능 매체는 심지어 프로그램이 인쇄되는 종이나 다른 적당한 매체일 수도 있다는 점에 주목한다.
시동 로직(250), 관리 로직(260) 및 어쩌면 배터리 로드 관리 인터페이스 로직(270) 중 하나 이상이 하드웨어로 구현되는 대안적인 실시예에서, 다양한 로직은 각각이 당 분야에 잘 알려져 있는 다음의 기술들; 데이터 신호들로 로직 기능들을 구현하기 위한 로직 게이트들을 갖는 이산 로직 회로(들), 적절한 결합 로직 게이트들을 갖는 주문형 집적 회로(ASIC), 프로그래밍 가능한 게이트 어레이(들)(PGA), 필드 프로그래밍 가능한 게이트 어레이(FPGA) 등 중 임의의 것 또는 이들의 결합을 통해 구현될 수 있다.
메모리(112)는 플래시 메모리 또는 고상 메모리 디바이스와 같은 비-휘발성 데이터 저장 디바이스이다. 단일의 디바이스로서 도시되지만, 메모리(112)는 RF 트랜시버(168)의 디지털 신호 프로세서 및/또는 코어(210)(또는 부가적인 프로세서 코어들)에 커플링되는 별개의 데이터 저장소들을 갖는 분산형 메모리 디바이스일 수 있다.
사용자 경험 및 QoS를 최적화하기 위해 배터리 로드들을 모니터링 및 관리하기 위한 일 예시적인 실시예에서, 시동 로직(250)은 제 1 코어(222), 제 2 코어(224) 내지 제 N 번째 코어(230)와 같이 PCD(100)의 이용 가능한 컴포넌트들 중 하나 이상의 배터리 로드들을 관리하기 위해 선택 프로그램을 선택적으로 식별, 로딩 및 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함한다. 선택 프로그램은 임베딩된 파일 시스템(290)의 프로그램 저장소(296)에서 발견되고, 파라미터들(298)의 세트 및 성능 스케일링 알고리즘(297)의 특정한 결합에 의해 정의된다. 선택 프로그램은 RF 트랜시버(168)의 코어(210) 및 CPU(110)의 코어 프로세서들 중 하나 이상에 의해 실행될 때, 배터리(188)에 관한 수요를 완화하기 위한 노력으로 각각의 프로세서 코어의 성능을 스케일링 또는 유예하기 위해 하나 이상의 BLM 모듈(들)(101)에 의해 제공되는 제어 신호들과 결합하여 모니터 모듈(114)에 의해 제공되는 하나 이상의 신호들에 따라 동작할 수 있다.
관리 로직(260)은 업데이트된 배터리 로드 스코어에 기초하여 이용 가능한 코어들 중 하나 이상의 전력 드로우(power draw)를 관리 또는 제어하기 위해 각각의 프로세서 코어들 중 하나 이상 상의 배터리 로드 관리 프로그램을 종료하는 것은 물론, 보다 적합한 대체 프로그램을 선택적으로 식별, 로딩 및 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함한다. 관리 로직(260)은 PCD(100)는 디바이스의 운용자에 의해 전력공급되고 이용되는 동안 실행 시간에 이들 기능들을 수행하도록 배열된다. 대체 프로그램은 임베딩된 파일 시스템(290)의 프로그램 저장소(296)에서 발견될 수 있다.
대체 프로그램은, RF 트랜시버(168)의 코어(210) 또는 디지털 신호 프로세서의 코어 프로세서들 중 하나 이상에 의해 실행될 때, 각각의 프로세서 코어의 성능을 스케일링 또는 유예하기 위해 다양한 프로세서 코어들의 각각의 제어 입력들 상에 제공되는 하나 이상의 신호들 또는 모니터 모듈(114)에 의해 제공되는 하나 이상의 신호들에 따라 동작할 수 있다. 이것에 관하여, 모니터 모듈(114)은 BLM 모듈(26)로부터 발신하는 제어 신호들에 응답하여, 이벤트들, 프로세스들, 애플리케이션들, 자원 상태 조건들, 경과된 시간, 온도, 전류 누설 등의 하나 이상의 표시자들을 제공할 수 있다.
인터페이스 로직(270)은 임베딩된 파일 시스템(290)에 저장된 정보를 관찰, 구성, 또는 다른 방식으로 업데이트하기 위해 외부 입력들을 제시하고, 관리하고 상호작용하기 위한 하나 이상의 실행 가능한 명령들을 포함한다. 일 실시예에서, 인터페이스 로직(270)은 USB 포트(142)를 통해 수신된 제조자 입력들과 함께 동작할 수 있다. 이들 입력들은 프로그램 저장소(296)에 부가되거나 이로부터 삭제되는 하나 이상의 프로그램들을 포함할 수 있다. 대안적으로, 입력들은 프로그램 저장소(296)의 프로그램들 중 하나 이상에 대한 편집들 또는 변경들을 포함할 수 있다. 또한, 입력들은 시동 로직(250) 및 관리 로직(260) 중 하나 또는 둘 다에 대한 하나 이상의 변경들, 또는 이들의 전체 교체들을 식별할 수 있다. 예로서, 입력들은 수신된 신호 전력이 식별된 임계치 미만으로 떨어질 때 RF 트랜시버(168)의 모든 성능 스케일링을 유예(suspend)하도록 PCD(100)에 명령하는 관리 로직(260)에 대한 변경을 포함할 수 있다. 추가의 예로서, 입력들은 비디오 코덱(134)이 액티브일 때 원하는 프로그램을 적용하도록 PCD(100)에 명령하는 관리 로직(260)에 대한 변경을 포함할 수 있다. 다른 비-제한적인 예로서, 입력들은 배터리 수요, 평균 배터리 로드, 피크 배터리 로드 등과 같은(그러나 이것으로 제한되지 않음) 개별 컴포넌트 성능과 연관되는 배터리 로드 데이터베이스(24) 내의 데이터를 포함할 수 있다.
인터페이스 로직(270)은 제조자가 PCD(100) 상의 정의된 동작 조건들 하에서의 최종 사용자의 경험을 제어 가능하게 구성 및 조정하는 것을 가능하게 한다. 메모리(112)가 플래시 메모리일 때, 시동 로직(250), 관리 로직(260), 인터페이스 로직(270), 애플리케이션 저장소(280)의 애플리케이션 프로그램들, 배터리 로드 데이터베이스(24)의 데이터 또는 임베딩된 파일 시스템(290)의 정보 중 하나 이상이 편집되거나, 대체되거나 다른 방식으로 수정될 수 있다. 몇몇 실시예들에서, 인터페이스 로직(270)은 PCD(100)의 최종 사용자 또는 운용자가 시동 로직(250), 관리 로직(260), 애플리케이션 저장소(280)의 애플리케이션들, 배터리 로드 데이터베이스(24)의 데이터 및 임베딩된 파일 시스템(290)의 정보를 탐색, 로케이팅, 수정 또는 대체하도록 허용할 수 있다. 운용자는 PCD(100)의 다음 시동 시에 구현될 변경들을 행하도록 결과적인 인터페이스를 이용할 수 있다. 대안적으로, 운용자는 실행 시간 동안 구현되는 변경들을 행하도록 결과적인 인터페이스를 이용할 수 있다.
임베딩된 파일 시스템(290)은 계층적으로 배열되는 배터리 로드 관리 저장소(292)를 포함한다. 이것에 관하여, 파일 시스템(290)은 PCD(100)에 의해 이용되는 배터리 로드 관리 알고리즘들(297) 및 다양한 파라미터들(298)의 구성 및 관리를 위해 정보의 저장을 위한 그의 총 파일 시스템 용량의 예약된 섹션을 포함할 수 있다. 도 3에서 도시된 바와 같이, 저장소(292)는 하나 이상의 배터리 로드 관리 프로그램들을 포함하는 프로그램 저장소(296)를 포함하는 컴포넌트 저장소(294)를 포함한다.
도 4는 PCD(100) 내의 컴포넌트들의 어그리게이트 배터리 수요와 연관되고 모니터 모듈(114)과 함께 BLM 모듈(26)에 의해 인지되고 관리될 수 있는 다양한 배터리 로드 상태들(305, 310, 315 및 320)을 예시하는 예시적인 상태도(300)이다. 제 1 배터리 로드 상태(305)는 BLM 모듈(26)의 배터리 로드 관리 정책이 변경되지 않은 채로 남아있는 "보통" 상태를 포함할 수 있다. 이 예시적인 제 1 및 보통 상태(305)에서, 배터리(188)는 높은 전압 상태에서 동작하고, 통상적으로 장애 또는 심각한 저하를 야기할 수 있는 임계 온도 또는 방전의 레이트에 도달하는 어떠한 위험성 또는 위험도 없다. 이 예시적인 상태에서, 어그리게이트 배터리 로드는 배터리(188)의 용량 아래에 잘 있을 수 있어서, PCD(100)에서 부가적인 자원들 및/또는 기능에 대한 호출들은 배터리(188)의 건강을 위험하게 하지 않고 수용될 수 있다.
제 2 배터리 로드 상태(310)는 BLM 모듈(26)이 PCD(100)의 하나 이상의 프로세싱 컴포넌트들에 대해 그의 배터리 로드 관리 정책을 수정할 수 있는 "서비스 품질" 또는 "QoS" 상태를 포함할 수 있다. 이 예시적인 제 2 상태(310)는 이용 가능한 배터리 로드 용량이 미션 중요 서비스들의 전달 또는 배터리(188)의 건강을 위태롭게 하지 않고는 부가적인 기능에 대한 호출을 수용할 수 없을 때 BLM 모듈(26)에 의해 도달되거나 진입될 수 있다. 이 QoS 상태(310)를 트리거하는 이용 가능한 배터리 로드 용량의 변경의 임계치 또는 크기는 PCD(100) 내의 특정한 이용 경우에 따라 조정되거나 맞춤될 수 있다. 예를 들어, PCD(100) 내의 글로벌 포지셔닝 시스템("GPS") 트랜시버와 연관되는 기능에 대한 호출은 어그리게이트 배터리 로드가 미리 결정된 임계치를 초과하게 하는 것으로 BLM 모듈(26)에 의해 결정될 수 있다. QoS 배터리 로드 상태에서, BLM 모듈(26)은 전체 QoS 또는 사용자 경험에 상당히 영향을 주지 않고 PCD(100) 내의 다른 활성 컴포넌트들의 전력 소비가 스케일링될 수 있다고 결정할 수 있다. 이러한 방식으로, 배터리 로드 용량은 배터리(188)의 건강을 위태롭게 하지 않고 GPS 기능에 대한 호출을 수용하기 위해 재할당될 수 있다.
제 2의 QoS 배터리 로드 상태(310)에서, BLM 모듈(26)은 PCD(100) 내의 어그리게이트 배터리 로드를 감소시키기 위해 하나 이상의 배터리 로드 관리 기법들을 요청하거나 또는 실제로 이를 수행할 수 있다. 이 특정한 상태(310)에서, BLM 모듈(26)은 운용자가 거의 지각할 수 없을 수 있는 배터리 관리 기법들을 구현 또는 요청하도록 설계되며, 이는 최소의 방식으로 PCD(100)에 의해 제공되는 서비스 품질을 저하시킬 수 있다. 이러한 제 2 의 QoS 배터리 로드 상태(310)에 관한 추가의 세부사항은 도 5와 관련하여 아래에서 설명될 것이다.
제 3 배터리 로드 상태(315)는 BLM 모듈(26)이 위에서 설명된 제 2의 QoS 상태(310)에 비해 보다 공격적인 배터리 로드 관리 기법들을 요청하고 및/또는 적용하는 "심각" 상태를 포함할 수 있다. 이는 이 상태에서, BLM 모듈(26)은 운용자 관점에서 서비스 품질에 관해 덜 관여된다는 것을 의미한다. 이 배터리 로드 상태에서, BLM 모듈(26)은 PCD(100)의 온도를 감소시키고, 배터리 사이클 수명을 보존하고 배터리의 건강 상태에 대한 위험을 감소시키는 것 등을 위해, 전체 배터리 로드를 완화 또는 감소시키는 것에 보다 더 관여된다. 이 제 3 배터리 로드 상태(315)에서, PCD(100)의 하나 이상의 컴포넌트들은 영향들(implications)이 운용자에 의해 쉽게 지각되거나 관찰되도록 스케일링되거나 킬링될 수 있다. 제 3의 심각 배터리 로드 상태(315) 및 BLM 모듈(26)에 의해 적용되거나 트리거되는 그의 대응하는 배터리 로드 관리 기법들은 도 5와 관련하여 아래에서 추가로 상세히 설명될 것이다.
위에서 논의된 바와 같은 제 1의 배터리 로드 상태(305) 및 제 2의 배터리 로드 상태(310)와 유사하게, 제 3의 그리고 심각 배터리 로드 상태(315)는 센서들(157)에 의한 전력 측정들에 기초하여 개시될 수 있으며 반드시 배터리 로드 관리 데이터베이스(24)에 문서화된 특정한 이용 경우 시나리오들의 식별로 제한되지는 않는다. 예를 들어, 이 도면에서 화살표들이 예시하는 바와 같이, 각각의 배터리 로드 상태는 순차적으로 개시될 수 있거나, 이들은 검출될 수 있는 어그리게이트 배터리 로드의 변경의 크기에 의존하여 비순차적으로(out of sequence) 개시될 수 있다. 따라서 이는 BLM 모듈(26)이 센서들(157)에 의해 검출된 전력 소비의 변경, 배터리(188)의 건강의 상태, 배터리(188)의 방전의 깊이, 배터리(188)의 전압 상태 및/또는 충전 상태 등에 기초하여, 제 1의 그리고 보통 배터리 로드 상태(305)를 떠나 제 3의 그리고 심각 배터리 로드 상태(315)에 진입하거나 또는 그와 연관되는 배터리 로드 관리 기법들을 개시할 수 있다는 것을 의미한다. 유사하게, PCD(100)는 배터리 건강 또는 로드의 인지되는 변경에 기초하여 제 2 또는 QoS 배터리 로드 상태(310)에 있고, 제 4 또는 임계 상태(320)를 개시하거나 이에 진입할 수 있다. 이 예시적인 제 3의 그리고 임계 상태(320)에서, BLM 모듈(26)은 PCD(100) 내에 포함되는 하나 이상의 컴포넌트들 또는 배터리에 영구적인 손상을 야기하는 온도를 발생시킬 수 있는 누설 전류의 하나 이상의 중요 레벨에 도달하는 것을 방지하기 위해 가능한 다수의 그리고 적합한 크기의 배터리 로드 관리 기법들을 적용하거나 트리거하게 될 수 있다.
이 제 4의 그리고 임계 배터리 로드 상태(320)는 PCD(100) 내의 컴포넌트들 및/또는 배터리(188)에 대한 영구적인 손상 또는 임계 온도들을 방지하기 위해 PCD(100)의 기능 및 동작을 제거하도록 설계되는 종래의 기법들과 유사할 수 있다. 제 4의 배터리 로드 상태(320)는 BLM 모듈(26)이 비-필수적인 하드웨어 및/또는 소프트웨어의 셧 다운을 적용하거나 트리거하는 "임계" 상태를 포함할 수 있다. 제 4의 그리고 임계 열 상태(320)는 도 5와 관련하여 아래에서 추가로 상세히 설명될 것이다.
배터리 로드 정책 관리 시스템은 도 4에서 예시된 4개의 배터리 로드 상태들(305, 310, 315 및 320)로 제한되지 않는다. 특정한 PCD(100)에 의존하여, 부가적인 또는 더 적은 배터리 로드 상태들이 본 발명의 범위로부터 벗어남 없이 제공될 수 있다. 즉, 당업자는 부가적인 배터리 로드 상태들이 특정한 PCD(100)의 기능 및 동작을 개선할 수 있지만, 다른 상황들에서, 더 적은 배터리 로드 상태들이 그 자신의 고유한 하드웨어 및/또는 소프트웨어를 갖는 특정한 PCD(100)에 대해 선호될 수 있다는 것을 인지할 것이다.
도 5는 PCD(100)의 특정한 배터리 로드 상태에 의존하고 BLM 모듈(26)에 의해 적용되거나 순서화될 수 있는 예시적인 배터리 로드 관리 기법들을 예시하는 도면이다. 본 명세서에서 설명되는 배터리 로드 관리 기법들은 임의의 타입의 프로세싱과 연관되는 전력 로드들을 괸리하도록 적용될 수 있지만, 고유한 전력 수요들, 시스템 요건들, 및 PCD(100)의 전체 사용자 경험에 대한 중요도로 인해 그래픽 프로세싱을 수반하는 상황들에서 특히 유용할 수 있다는 것이 인지되어야 한다.
앞서 언급된 바와 같이, 이러한 제 1 배터리 로드 상태(305)에서, PCD(100)의 배터리(188)는 부가적인 기능에 대한 이러한 호출들이 거절되거나 활성 컴포넌트들이 스케일링될 정도로 그의 전력 용량을 초과하는 어떠한 위험성 또는 위험에 있지 않을 수 있다. 보통, 제 1 배터리 로드 상태에서, BLM 모듈(26)은 배터리 로드 관리 기법들의 어떠한 개시도 요청하지 않거나 적용하지 않아서, PCD(100)의 기능은 그의 최대(fullest)의 잠재적인 그리고 최고 성능에서 동작하게 된다. 배터리의 건강의 상태, 전압 레벨들, 에너지 방전 레이트 등은 부가적인 배터리 로드 용량이 이용 가능하다는 것을 나타낸다. 이에 따라, 부가적인 기능에 대한 호출들이 수용될 수 있다.
QoS 상태(310)로서 또한 지칭되는 제 2 배터리 로드 상태(310)에서, 그것이 일단 개시되면, BLM 모듈(26)은 배터리 로드 관리 기법들을 개시하거나 요청할 수 있지만, 그 목적은 PCD(100)의 운용자에 의해 지각되는 바와 같은 서비스 품질에 대한 저하의 지각이 거의 또는 전혀 없이 고-성능을 유지하기 위한 것이다. 배터리의 건강 상태, 전압 레벨들, 에너지 방전 레이트 등은 활성으로 제공되는 기능 이상의 부가적인 기능에 대한 배터리 용량의 제한된 가용성을 표시한다. 부가적인 기능에 대한 호출들은 부가적인 기능에 대한 호출들을 수용하는데 필요한 컴포넌트에 전력 로드를 재할당하기 위해 하나 이상의 활성 컴포넌트들에 의한 전력 소비를 스케일링 또는 유예함으로써 활성 로드들을 수정하도록 BLM 모듈(26)을 트리거할 수 있다. 이 상태에서, PCD(100)의 기능들은 우선순위화될 수 있어서, 배터리 로드 용량은 사용자 경험을 높게 유지하도록 하는 방식으로 할당된다.
심각 배터리 로드 상태(315)로서 또한 알려진, 도 5의 제 3 배터리 로드 상태(315)를 이제 참조하여, BLM 모듈(26)은 PCD(100)의 운용자에 의해 관찰되는 성능의 가능한 지각 가능 저하를 갖는 보다 공격적인 배터리 로드 관리 기법들을 적용 또는 요청할 수 있다. 이 예시적인 배터리 로드 상태(315)에 따라, BLM 모듈(26)은 CPU(110)의 코어들 및/또는 GPU(182)와 같은 하나 이상의 컴포넌트들에 대한 전력의 감소를 야기할 수 있다. BLM 모듈(26)은 또한 중요한 비활성 디바이스들이 온라인이 되게 하는데 도움이 되게 활성 디바이스들을 오프-라인이 되게 할 수 있다. 본질적으로, 이 제 3의 그리고 심각한 배터리 로드 상태(315)의 배터리 로드 관리 기법들은 제 2의 서비스 품질 배터리 로드 상태(310)에 대해 위에서 설명된 것들과 동일할 수 있다. 그러나 이들 동일한 배터리 로드 관리 기법들은 보다 공격적인 방식으로 적용될 수 있다. PCD(100)에서 부가적인 기능에 대한 호출들은 배터리(188)의 건강을 보존하거나 보다 중요한 활성 컴포넌트들에 대한 전력 용량을 보전하는데 도움이 되게 완전히 거절될 수 있다.
이제 도 5의 제 4의 그리고 임계 배터리 로드 상태(320)를 참조하면, BLM 모듈(26)은 모든 필수적이지 않은 하드웨어 및/또는 소프트웨어 모듈들을 셧 다운하기 시작할 수 있다. "필수적이지 않은" 하드웨어 및/또는 소프트웨어 모듈들은 특정한 PCD(100)의 각각의 타입에 대해 상이할 수 있다. 일 예시적인 실시예에 따라, 모든 필수적이지 않은 하드웨어 및/또는 소프트웨어 모듈들은 긴급 911 전화 호출 기능 및 글로벌 포지셔닝 시스템("GPS") 기능들 외의 모든 기능들을 포함할 수 있다. 이는 이 제 4의 임계 배터리 로드 상태(320)의 BLM 모듈(26)이 긴급 911 전화 호출들 및 GPS 기능에 영향을 주지 않는 컴포넌트들의 셧다운을 야기할 수 있다는 것을 의미한다. BLM 모듈(26)은 모니터 모듈(114)에 의해 모니터링되는 배터리의 건강 상태 또는 임계 온도에 의존하여 병렬로 및/또는 순차적으로 모듈들을 셧 다운할 수 있다.
도 6a 내지 도 6b는 PCD(100)의 배터리 로드 및 수요를 관리하기 위한 방법(600)을 예시하는 논리적 흐름도이다. 도 6의 방법(600)은 모니터 모듈(114)과 함께 BLM 모듈(26)이 배터리(188)의 전압 상태 및/또는 활성 배터리 로드를 트래킹하는 제 1 블록(605)과 함께 시작한다. 명백히, 배터리(188)의 전압의 상태 및/또는 활성 배터리 로드를 트래킹함으로써, 기준치 배터리 로드 스코어가 설정될 수 있다. 블록(605)의 모니터링은, 배터리 수요, 평균 배터리 로드, 피크 배터리 로드, 활성 컴포넌트들에 대한 최소 요구 배터리 수요, 특정한 이용 경우들 하의 다양한 컴포넌트들에 대한 이력적 수요, 다양한 컴포넌트들의 등록된 성능, 컴포넌트들의 확장성, 알람 이력, 배터리 충전의 상태, 배터리 방전의 깊이, 방전의 레이트 등에 기여하는 PCD(100) 내의 활성 컴포넌트들을 문서화하는 것을 포함(그러나 이것으로 제한되지 않음)할 수 있다.
블록(610)에서, PCD(100)에서 부가적인 자원 또는 기능에 대한 호출은 BLM 모듈(26)에 의해 수신되거나 인지될 수 있다. 판단 블록(615)에서, 블록(605)에서 계산되는 배터리 로드 스코어는 호출된 자원과 연관되는 부가적인 로드가 배터리 수요로 하여금, 피크이든지 또는 지속 기간 동안이든지 간에 미리 결정된 임계치를 초과하게 할지를 결정하도록 분석될 수 있다. 배터리 용량이 새로운 자원을 수용하기에 충분한 것으로 결정되는 경우, "예" 분기를 따라 블록(620)으로 이어지고 부가적인 자원이 온라인이 되도록 허용된다. 후속적으로, 블록(625)에서, 배터리 로드 데이터베이스(24)는 새로운 활성 자원을 반영하도록 업데이트될 수 있다. 명백히, 배터리 로드 데이터베이스(24)에 대해, BLM 모듈(26)은 새롭게 호출된 자원이 어그리게이트 배터리 로드에 줄 수 있는 영향, 배터리의 건강 상태에 관한 특정한 이용 경우들의 이력적 영향, PCD(100) 내의 활성 컴포넌트들의 현재 결합 등을 포함(그러나 이것으로 제한되지 않음)하는 임의의 수의 것들을 결정하기 위해 데이터베이스를 레버리지할 수 있다.
판단 블록(615)으로 되돌아오면, 새롭게 호출된 자원을 수용하기에 충분한 배터리 용량이 없다고 BLM 모듈(26)이 결정하면, "아니오" 분기에 따라 도 6b의 블록(645)으로 이어진다. 명백히, 당업자는 본 명세서에서 "충분한" 또는 "불충분한" 배터리 용량에 대한 참조는 배터리(188)의 전압의 상태를 지칭할 수 있지만 그러한 것으로서 제한되지 않는다는 것을 인지할 것이다. 예를 들어, BLM 모듈(26)에 의해 결정된 바와 같은 배터리 용량은 전체 배터리 건강, 방전의 깊이, 방전의 활성 레이트, 충전 회복 레이트, 전류의 상태 등의 견지에서 정량화될 수 있다. 따라서, BLM 모듈(26)에 의해 주어진 배터리 관리 기법의 선택 및 구현은 주어진 실시예에 의해 레버리지될 수 있는 바와 같이 배터리(188)의 임의의 정량화 가능한 양상에 의해 기술되는 것으로 이해될 것이다.
블록(645)에서, 전력 감소, 스케일링 또는 유예에 적격인 활성 컴포넌트들이 식별될 수 있다. 이러한 컴포넌트들의 식별은 활성 컴포넌트들의 양상들을 분석하기 위해 BLM 모듈(26)이 배터리 로드 관리 데이터베이스(24)에 질의한 결과일 수 있거나, 또는 몇몇 실시예들에서, 활성 컴포넌트들 및 연관된 전력 드로우 레벨들을 식별하도록 전력 센서들을 레버리지하는 결과일 수 있다. 판단 블록(650)에서, PCD(100)의 사용자 경험 또는 QoS에 상당한 영향 없이 전력 스케일링에 적격인 활성 컴포넌트들 또는 자원들이 식별되는 경우, "예" 분기에 따라 블록(655)으로 이어지며, 이 식별된 자원들로의 전력은 이에 따라 감소된다. 명백히, 식별된 자원들로의 전력의 감소는 블록(610)으로부터 새롭게 호출된 자원에 재할당될 수 있는 배터리 로드 용량을 해제할 수 있고, 블록(660)에서, 자원에 대한 호출들이 허용될 수 있다. 이러한 방식으로, 당업자는, 이용 가능한 배터리 용량이 PCD(100)의 중요한 자원들의 가용성을 희생시킴 없이 및/또는 배터리(188)의 건강을 위태롭게 하지 않고 사용자 경험을 최적화하도록 효율적으로 할당된다는 것이 인지될 것이다. 블록(665)에서, 배터리 로드 관리 데이터베이스(24)는 전력의 활성 할당을 반영하도록 업데이트된다.
판단 블록(650)으로 되돌아오면, 전력 감소에 적격인 활성 자원들이 식별되지 않는 경우, "아니오" 분기에 따라 블록(670)으로 이어지고 블록(610)으로부터의 부가적인 기능에 대한 호출이 거절된다. 배터리의 건강 상태는 판단 블록(675)에서 결정될 수 있고, 안전 레벨인 것으로 결정되는 경우, 프로세스는 블록(605)의 모니터링 상태로 리턴한다. 그러나 배터리의 건강 상태가 미리 결정된 임계치 근처에 있거나 바로 그 임계치이거나 그 임계치를 초과하는 것으로 결정되는 경우, "예" 분기에 따라 블록(680)으로 이어지고, 하나 이상의 자원들은 함께 셧다운 되거나 유예된다. 이러한 방식으로, 배터리(188)의 전체 건강에 해로울 수 있는 과도한 부담이 제거될 수 있다. 블록(685)에서, 배터리 로드 데이터베이스(24)는 BLM 모듈(26)에 의해 행해진 동작들을 반영하도록 업데이트되고 프로세스는 블록(605)의 모니터링으로 리턴한다.
블록(605)으로 되돌아오면, 배터리 로드는 블록(610)에서 자원들에 대한 새로운 호출을 수용하는 타당성(feasibility)을 결정하기 위해 배터리 로드 스코어를 설정하도록 연속적으로 모니터링된다. 그러나, 판단 블록(630)에서 배터리 로드 스코어가 미리 결정된 임계치를 초과하여 상승된다고 결정되는 경우, "예" 분기에 따라 블록(635)으로 이어지고 활성 자원들로의 전력은 감소된다. 배터리 로드 스코어는 이어서 판단 블록(640)에서 재평가될 수 있고, 배터리의 건강의 상태가 임계 상태(critical)인 것으로 고려되는 경우, "예" 분기에 따라 블록(680)으로 이어지며 여기서 자원들은 전원을 유예하거나 완전히 셧 다운하도록 선택될 수 있다. 건강의 상태가 임계 상태가 아닌 경우, 즉 블록(635)에서 전력의 감소가 배터리(188)로부터 부담을 충분히 제거한 경우, "아니오" 분기는 판단 블록(630)으로 리턴될 수 있고, 여기서 배터리의 건강 상태가 상승된 문제들에 대해 미리 결정된 임계치에 대비하여 분석된다. 전력 소비 컴포넌트들을 셧 다운하고 및/또는 감소시키는 이러한 사이클은 배터리의 건강 상태가 더 이상 위태롭지 않게 될 때까지 지속될 수 있다. 판단 블록(630)으로부터의 "아니오" 분기는 블록(605)으로 역으로 이어지고, 배터리 수요가 부가적인 자원에 대한 호출의 수신을 예상하여 모니터링된다.
본 명세서에서 설명된 프로세스들 또는 프로세스 흐름들에서의 특정한 단계들은 본 발명이 설명된 바와 같이 기능하기 위해 다른 것들보다 자연히 선행된다. 그러나 본 발명은 이러한 순서 또는 시퀀스가 본 발명의 기능을 변경하지 않는 경우 설명된 단계들의 순서로 제한되지 않는다. 즉, 몇몇 단계들이 본 발명의 범위 및 사상으로부터 벗어남 없이 다른 단계들 이전에, 이후에 또는 병렬로(실질적으로 동시에) 수행될 수 있다는 것이 인지된다. 몇몇 예들에서, 특정한 단계들은 본 발명으로부터 벗어남 없이 수행되지 않거나 생략될 수 있다. 또한, "이후", "이어서", "다음", "후속적으로" 등과 같은 단어들은 단계들의 순서를 제한하도록 의도되지 않는다. 이들 단어들은 단지 예시적인 방법의 설명을 통해 독자를 안내하는데 이용된다.
부가적으로, 프로그래밍에 있어서 당업자는 예를 들어, 본 명세서에서 흐름도들 및 연관된 설명에 기초하여 어려움 없이 기재된 발명을 구현하도록 컴퓨터 코드를 기록하거나 적절한 하드웨어 및/또는 회로들을 식별할 수 있다. 그러므로 상세된 하드웨어 디바이스들 또는 프로그램 코드 명령들의 특정한 세트의 개시는 본 발명을 어떻게 실시하고 이용하는지에 관한 충분한 이해를 위해 필수적인 것으로 간주되지 않는다. 청구된 컴퓨터 구현 프로세스들의 진보성있는 기능은 다양한 프로세스 흐름들을 예시할 수 있는 도면들과 함께 및 위의 명세서에서 보다 상세히 설명된다.
하나 이상의 예시적인 양상들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현된다면, 기능들은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나 이로서 전송될 수 있다. 컴퓨터 판독 가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체와 컴퓨터 저장 매체를 모두 포함한다. 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 제한이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 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 (40)

  1. 휴대용 컴퓨팅 디바이스("PCD")에서 배터리 로드(battery load)를 관리하기 위한 방법으로서,
    상기 PCD에서 배터리 상의 활성 로드를 트래킹하는 단계 - 상기 활성 로드는 상기 PCD 내의 하나 이상의 활성 전력 소비 컴포넌트들과 연관됨 - ;
    상기 배터리의 건강의 상태를 모니터링하는 단계 - 상기 건강의 상태는 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화됨 - ;
    상기 하나 이상의 활성 전력 소비 컴포넌트들, 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화되는 건강의 상태, 미리 정의된 배터리 로드 상태, 그리고 특정한 이용 경우들에 맵핑(mapping)된 이력적(historical) 전력 소비 레벨들을 식별하는 데이터를 배터리 로드 데이터베이스에 저장하는 단계;
    상기 배터리 상의 부가적인 로드에 대한 호출(call)을 인지하는 단계 - 상기 부가적인 로드에 대한 호출은 상기 PCD 내의 비활성 컴포넌트의 활성을 요구하는 상기 PCD의 기능에 대한 요청과 연관됨 - ;
    상기 배터리 로드 데이터베이스를 쿼리(query)함으로써 상기 부가적인 로드에 대한 호출을 수락하는 것으로부터 발생하게 될 상기 배터리 상의 미래의 활성 로드를 계산하는 단계; 및
    상기 미래의 활성 로드가 상기 미래의 활성 로드와의 비교로 상기 배터리 로드 데이터베이스에 저장된 상기 미리 정의된 배터리 로드 상태 및 상기 배터리 로드 데이터베이스에 저장된 상기 배터리의 건강의 상태에 미칠 영향의 분석에 기초하여 상기 배터리 상의 상기 부가적인 로드에 대한 호출에 응답하는 단계
    를 포함하고,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는 열 어그레서들(thermal aggressors)로 식별되는 상기 PCD 내의 상기 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키는 단계를 더 포함하고,
    상기 PCD는 복수의 코어(core)들을 포함하고,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는 상기 복수의 코어들 중 적어도 일부 코어들 사이에 적어도 하나의 프로세싱 로드를 재할당하는 단계를 더 포함하는,
    배터리 로드를 관리하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 부가적인 로드에 대한 호출을 허용하는 단계
    를 포함하는,
    배터리 로드를 관리하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키는 단계
    를 더 포함하는,
    배터리 로드를 관리하기 위한 방법.
  4. 제 2 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 유예(suspending)하는 단계
    를 더 포함하는,
    배터리 로드를 관리하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 부가적인 로드에 대한 호출을 거절하는 단계
    를 포함하는,
    배터리 로드를 관리하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 배터리에 연관되고 상기 건강의 상태를 정량화하는데 이용되는 측정들은,
    전압의 상태 측정을 포함하는,
    배터리 로드를 관리하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 배터리에 연관되고 상기 건강의 상태를 정량화하는데 이용되는 측정들은,
    충전의 상태 측정을 포함하는,
    배터리 로드를 관리하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 배터리에 연관되고 상기 건강의 상태를 정량화하는데 이용되는 측정들은,
    방전의 레이트 측정을 포함하는,
    배터리 로드를 관리하기 위한 방법.
  9. 휴대용 컴퓨팅 디바이스("PCD")에서 배터리 로드(battery load)를 관리하기 위한 컴퓨터 시스템으로서,
    모니터 모듈;
    배터리 로드 데이터베이스; 및
    배터리 로드 관리 모듈
    을 포함하고,
    상기 모니터 모듈은,
    상기 PCD에서 배터리 상의 활성 로드를 트래킹하고 - 상기 활성 로드는 상기 PCD 내의 하나 이상의 활성 전력 소비 컴포넌트들과 연관됨 - ; 그리고
    상기 배터리의 건강의 상태를 모니터링하기 위한 것이고, 상기 건강의 상태는 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화되며,
    상기 배터리 로드 데이터베이스는,
    상기 하나 이상의 활성 전력 소비 컴포넌트들, 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화되는 건강의 상태, 미리 정의된 배터리 로드 상태, 그리고 특정한 이용 경우들에 맵핑(mapping)된 이력적(historical) 전력 소비 레벨들을 식별하는 데이터를 저장하기 위한 것이고,
    상기 배터리 로드 관리 모듈은,
    상기 배터리 상의 부가적인 로드에 대한 호출(call)을 인지하고 - 상기 부가적인 로드에 대한 호출은 상기 PCD 내의 비활성 컴포넌트의 활성을 요구하는 상기 PCD의 기능에 대한 요청과 연관됨 - ;
    상기 배터리 로드 데이터베이스를 쿼리(query)함으로써 상기 부가적인 로드에 대한 호출을 수락하는 것으로부터 발생하게 될 상기 배터리 상의 미래의 활성 로드를 계산하고; 그리고
    상기 미래의 활성 로드가 상기 미래의 활성 로드와의 비교로 상기 배터리 로드 데이터베이스에 저장된 상기 미리 정의된 배터리 로드 상태 및 상기 배터리 로드 데이터베이스에 저장된 상기 배터리의 건강의 상태에 미칠 영향의 분석에 기초하여 상기 배터리 상의 상기 부가적인 로드에 대한 호출에 응답하기 위한 것이고,
    상기 부가적인 로드에 대한 호출에 응답하는 것은 열 어그레서들(thermal aggressors)로 식별되는 상기 PCD 내의 상기 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키는 것을 더 포함하고,
    상기 PCD는 복수의 코어(core)들을 포함하고,
    상기 부가적인 로드에 대한 호출에 응답하는 것은 상기 복수의 코어들 중 적어도 일부 코어들 사이에 적어도 하나의 프로세싱 로드를 재할당하는 것을 더 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  10. 제 9 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 배터리 로드 관리 모듈은,
    상기 부가적인 로드에 대한 호출을 허용하는 것
    을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  11. 제 10 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 배터리 로드 관리 모듈은,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키는 것
    을 더 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  12. 제 10 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 배터리 로드 관리 모듈은,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 유예(suspending)하는 것
    을 더 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  13. 제 9 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 배터리 로드 관리 모듈은,
    상기 부가적인 로드에 대한 호출을 거절하는 것
    을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  14. 제 9 항에 있어서,
    상기 배터리의 건강의 상태를 모니터링하기 위한 모니터 모듈은,
    전압의 상태 측정을 모니터링하는 것을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  15. 제 9 항에 있어서,
    상기 배터리의 건강의 상태를 모니터링하기 위한 모니터 모듈은,
    충전의 상태 측정을 모니터링하는 것을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  16. 제 9 항에 있어서,
    상기 배터리의 건강의 상태를 모니터링하기 위한 모니터 모듈은,
    방전의 레이트 측정을 모니터링하는 것을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  17. 휴대용 컴퓨팅 디바이스("PCD")에서 배터리 로드(battery load)를 관리하기 위한 컴퓨터 시스템으로서,
    상기 PCD에서 배터리 상의 활성 로드를 트래킹하기 위한 수단 - 상기 활성 로드는 상기 PCD 내의 하나 이상의 활성 전력 소비 컴포넌트들과 연관됨 - ;
    상기 배터리의 건강의 상태를 모니터링하기 위한 수단 - 상기 건강의 상태는 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화됨 - ;
    상기 하나 이상의 활성 전력 소비 컴포넌트들, 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화되는 건강의 상태, 미리 정의된 배터리 로드 상태, 그리고 특정한 이용 경우들에 맵핑(mapping)된 이력적(historical) 전력 소비 레벨들을 식별하는 데이터를 배터리 로드 데이터베이스에 저장하기 위한 수단;
    상기 배터리 상의 부가적인 로드에 대한 호출(call)을 인지하기 위한 수단 - 상기 부가적인 로드에 대한 호출은 상기 PCD 내의 비활성 컴포넌트의 활성을 요구하는 상기 PCD의 기능에 대한 요청과 연관됨 - ;
    상기 배터리 로드 데이터베이스를 쿼리(query)함으로써 상기 부가적인 로드에 대한 호출을 수락하는 것으로부터 발생하게 될 상기 배터리 상의 미래의 활성 로드를 계산하기 위한 수단; 및
    상기 미래의 활성 로드가 상기 미래의 활성 로드와의 비교로 상기 배터리 로드 데이터베이스에 저장된 상기 미리 정의된 배터리 로드 상태 및 상기 배터리 로드 데이터베이스에 저장된 상기 배터리의 건강의 상태에 미칠 영향의 분석에 기초하여 상기 배터리 상의 상기 부가적인 로드에 대한 호출에 응답하기 위한 수단
    을 포함하고,
    상기 부가적인 로드에 대한 호출에 응답하기 위한 수단은 열 어그레서들(thermal aggressors)로 식별되는 상기 PCD 내의 상기 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키기 위한 수단을 더 포함하고,
    상기 PCD는 복수의 코어(core)들을 포함하고,
    상기 부가적인 로드에 대한 호출에 응답하기 위한 수단은 상기 복수의 코어들 중 적어도 일부 코어들 사이에 적어도 하나의 프로세싱 로드를 재할당하기 위한 수단을 더 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  18. 제 17 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하기 위한 수단은,
    상기 부가적인 로드에 대한 호출을 허용하기 위한 수단
    을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  19. 제 18 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하기 위한 수단은,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키기 위한 수단
    을 더 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  20. 제 18 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하기 위한 수단은,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 유예(suspending)하기 위한 수단
    을 더 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  21. 제 17 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하기 위한 수단은,
    상기 부가적인 로드에 대한 호출을 거절하기 위한 수단
    을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  22. 제 17 항에 있어서,
    상기 배터리의 건강의 상태를 모니터링하기 위한 수단은,
    전압의 상태를 모니터링하기 위한 수단
    을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  23. 제 17 항에 있어서,
    상기 배터리의 건강의 상태를 모니터링하기 위한 수단은,
    충전의 상태를 모니터링하기 위한 수단
    을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  24. 제 17 항에 있어서,
    상기 배터리의 건강의 상태를 모니터링하기 위한 수단은,
    방전의 레이트를 모니터링하기 위한 수단
    을 포함하는,
    배터리 로드를 관리하기 위한 컴퓨터 시스템.
  25. 컴퓨터 판독 가능한 프로그램 코드를 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 판독 가능한 프로그램 코드는 휴대용 컴퓨팅 디바이스("PCD")에서 배터리 로드를 관리하기 위한 방법을 구현하기 위해 실행되도록 적응되고, 상기 방법은,
    상기 PCD에서 배터리 상의 활성 로드를 트래킹하는 단계 - 상기 활성 로드는 상기 PCD 내의 하나 이상의 활성 전력 소비 컴포넌트들과 연관됨 - ;
    상기 배터리의 건강의 상태를 모니터링하는 단계 - 상기 건강의 상태는 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화됨 - ;
    상기 하나 이상의 활성 전력 소비 컴포넌트들, 상기 배터리와 연관되는 하나 이상의 측정들에 의해 정량화되는 건강의 상태, 미리 정의된 배터리 로드 상태, 그리고 특정한 이용 경우들에 맵핑(mapping)된 이력적(historical) 전력 소비 레벨들을 식별하는 데이터를 배터리 로드 데이터베이스에 저장하는 단계;
    상기 배터리 상의 부가적인 로드에 대한 호출(call)을 인지하는 단계 - 상기 부가적인 로드에 대한 호출은 상기 PCD 내의 비활성 컴포넌트의 활성을 요구하는 상기 PCD의 기능에 대한 요청과 연관됨 - ;
    상기 배터리 로드 데이터베이스를 쿼리(query)함으로써 상기 부가적인 로드에 대한 호출을 수락하는 것으로부터 발생하게 될 상기 배터리 상의 미래의 활성 로드를 계산하는 단계; 및
    상기 미래의 활성 로드가 상기 미래의 활성 로드와의 비교로 상기 배터리 로드 데이터베이스에 저장된 상기 미리 정의된 배터리 로드 상태 및 상기 배터리 로드 데이터베이스에 저장된 상기 배터리의 건강의 상태에 미칠 영향의 분석에 기초하여 상기 배터리 상의 상기 부가적인 로드에 대한 호출에 응답하는 단계
    를 포함하고,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는 열 어그레서들(thermal aggressors)로 식별되는 상기 PCD 내의 상기 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키는 단계를 더 포함하고,
    상기 PCD는 복수의 코어(core)들을 포함하고,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는 상기 복수의 코어들 중 적어도 일부 코어들 사이에 적어도 하나의 프로세싱 로드를 재할당하는 단계를 더 포함하는,
    컴퓨터 판독가능 저장 매체.
  26. 제 25 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 부가적인 로드에 대한 호출을 허용하는 단계
    를 포함하는,
    컴퓨터 판독가능 저장 매체.
  27. 제 26 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 감소시키는 단계
    를 더 포함하는,
    컴퓨터 판독가능 저장 매체.
  28. 제 26 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 PCD 내의 활성 전력 소비 컴포넌트들 중 하나 이상에 대한 전력을 유예(suspending)하는 단계
    를 더 포함하는,
    컴퓨터 판독가능 저장 매체.
  29. 제 25 항에 있어서,
    상기 부가적인 로드에 대한 호출에 응답하는 단계는,
    상기 부가적인 로드에 대한 호출을 거절하는 단계
    를 포함하는,
    컴퓨터 판독가능 저장 매체.
  30. 제 25 항에 있어서,
    상기 배터리에 연관되고 상기 건강의 상태를 정량화하는데 이용되는 측정들은,
    전압의 상태 측정을 포함하는,
    컴퓨터 판독가능 저장 매체.
  31. 제 25 항에 있어서,
    상기 배터리에 연관되고 상기 건강의 상태를 정량화하는데 이용되는 측정들은,
    충전의 상태 측정을 포함하는,
    컴퓨터 판독가능 저장 매체.
  32. 제 25 항에 있어서,
    상기 배터리에 연관되고 상기 건강의 상태를 정량화하는데 이용되는 측정들은,
    방전의 레이트 측정을 포함하는,
    컴퓨터 판독가능 저장 매체.
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020147023579A 2012-01-26 2013-01-08 휴대용 컴퓨팅 디바이스에서 배터리 로드 관리를 위한 시스템 및 방법 KR101520359B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261591149P 2012-01-26 2012-01-26
US61/591,149 2012-01-26
US13/428,127 US8977874B2 (en) 2012-01-26 2012-03-23 System and method for battery load management in a portable computing device
US13/428,127 2012-03-23
PCT/US2013/020615 WO2013112279A1 (en) 2012-01-26 2013-01-08 System and method for battery load management in a portable computing device

Publications (2)

Publication Number Publication Date
KR20140124794A KR20140124794A (ko) 2014-10-27
KR101520359B1 true KR101520359B1 (ko) 2015-05-14

Family

ID=48871381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147023579A KR101520359B1 (ko) 2012-01-26 2013-01-08 휴대용 컴퓨팅 디바이스에서 배터리 로드 관리를 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US8977874B2 (ko)
EP (1) EP2807533B1 (ko)
JP (1) JP5777827B2 (ko)
KR (1) KR101520359B1 (ko)
CN (1) CN104081316B (ko)
IN (1) IN2014CN04736A (ko)
WO (1) WO2013112279A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013175127A (ja) * 2012-02-27 2013-09-05 Brother Ind Ltd 入出力設定プログラム、出力設定プログラム、及び、データ処理装置
DE112012006155B4 (de) * 2012-03-30 2018-07-12 Intel Corp. Verfahren und Vorrichtung zur Mitteilung der verfügbaren Batterieleistung
US20140281592A1 (en) * 2013-03-18 2014-09-18 Advanced Micro Devices, Inc. Global Efficient Application Power Management
JP6486939B2 (ja) 2013-09-09 2019-03-20 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 電源管理を使用したモバイルデータ記憶デバイス
WO2015047415A1 (en) * 2013-09-30 2015-04-02 Hewlett-Packard Development Company, Lp Selectively-enabled back-up power
KR101635665B1 (ko) * 2013-10-31 2016-07-01 주식회사 엘지화학 응용 모듈 데이터제어장치 및 그 데이터제어방법
US9726730B2 (en) * 2014-02-24 2017-08-08 Cellebrite Mobile Synchronization Ltd. System and method for determining a state of health of a power source of a portable device
US10725113B2 (en) * 2014-02-24 2020-07-28 Esw Holdings, Inc. System and method for determining a state of health of a power source of a portable device
AU2015247901A1 (en) 2014-04-16 2016-09-08 Siemens Aktiengesellschaft Performance tracking of electrical energy storage
US9760138B2 (en) * 2014-04-25 2017-09-12 Microsoft Technology Licensing, Llc Load scheduling in multi-battery devices
US9686174B2 (en) * 2014-07-24 2017-06-20 Ca, Inc. Scalable extendable probe for monitoring host devices
US9830226B2 (en) * 2015-06-25 2017-11-28 Dell Products, L.P. Proactive fault avoidance
KR102415380B1 (ko) * 2015-08-18 2022-07-01 삼성디스플레이 주식회사 표시 패널 및 이를 포함하는 표시 장치
DE102015216809B4 (de) * 2015-09-02 2022-10-27 Dialog Semiconductor (UK) Ltd Energieversorgungsvorrichtung und Digitales Temperatursteuerverfahren für eine Energieversorgungsvorrichtung
US10468730B2 (en) * 2015-09-26 2019-11-05 Intel Corporation Battery reliability odometer
US10187282B2 (en) * 2015-10-01 2019-01-22 Qualcomm Incorporated System and method for modem management based on key performance indicators
US10642329B2 (en) 2016-03-23 2020-05-05 Qualcomm Incorporated Peak current support for a power rail system via a shared secondary power supply
JP2019164057A (ja) 2018-03-20 2019-09-26 本田技研工業株式会社 負荷推定装置および可搬型の電力供給装置
US10666076B1 (en) * 2018-08-14 2020-05-26 Veritone Alpha, Inc. Using battery state excitation to control battery operations
US11097633B1 (en) * 2019-01-24 2021-08-24 Veritone Alpha, Inc. Using battery state excitation to model and control battery operations
US11644806B1 (en) 2019-01-24 2023-05-09 Veritone Alpha, Inc. Using active non-destructive state excitation of a physical system to model and control operations of the physical system
KR20210034372A (ko) 2019-09-20 2021-03-30 주식회사 엘지화학 배터리 관리 장치 및 방법
US20230029517A1 (en) * 2020-01-22 2023-02-02 Hewlett-Packard Development Company, L.P. Computing devices with battery reserve modes
US11987147B2 (en) 2020-11-21 2024-05-21 Flux Power, Inc. System and method for controlling the state of charge of a battery to increase the useful life of a battery pack
US11892809B2 (en) 2021-07-26 2024-02-06 Veritone, Inc. Controlling operation of an electrical grid using reinforcement learning and multi-particle modeling

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060001402A1 (en) 2004-07-01 2006-01-05 Kim Neil Y Low power warning in a portable communication device based on predicted device utilization
US20080201587A1 (en) 2007-02-16 2008-08-21 Apple Inc. Anticipatory power management for battery-powered electronic device
US20100321647A1 (en) 2009-06-17 2010-12-23 Francesca Schuler Portable electronic device and method of power management for same to accommodate projector operation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1096360B1 (en) * 1999-10-25 2004-09-22 Texas Instruments Incorporated Intelligent power management for distributed processing systems
TW575803B (en) * 2002-10-17 2004-02-11 Uniwill Comp Corp The method of managing portable computer power cord
US20080005591A1 (en) * 2006-06-28 2008-01-03 Trautman Mark A Method, system, and apparatus for dynamic thermal management
TW200824169A (en) 2006-11-21 2008-06-01 Benq Corp Method for predicting remaining capacity of a battery
JP2008158718A (ja) * 2006-12-22 2008-07-10 Toshiba Corp 情報処理装置および情報処理方法
US20080263375A1 (en) 2007-04-23 2008-10-23 Sundstrom Robert J Method And System For Managing Activities In A Battery Powered Device
US20090132186A1 (en) 2007-11-15 2009-05-21 Broadcom Corporation Method and system for reporting battery status based on current estimation
US20090164152A1 (en) * 2007-12-20 2009-06-25 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Power Consumption Notification and Management
CN201319516Y (zh) 2008-11-26 2009-09-30 广州西格美信电子科技有限公司 用于移动设备的自适应外挂电池
CN101702453B (zh) * 2009-10-27 2013-06-05 中兴通讯股份有限公司 一种蓄电池充电管理方法及装置
US8452352B2 (en) 2009-11-06 2013-05-28 International Business Machines Corporation Systems and methods for predicting battery drain time caused by smartphone applications
US20120272077A1 (en) * 2011-04-21 2012-10-25 International Business Machines Corporation Gps input for power consumption policy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060001402A1 (en) 2004-07-01 2006-01-05 Kim Neil Y Low power warning in a portable communication device based on predicted device utilization
US20080201587A1 (en) 2007-02-16 2008-08-21 Apple Inc. Anticipatory power management for battery-powered electronic device
US20100321647A1 (en) 2009-06-17 2010-12-23 Francesca Schuler Portable electronic device and method of power management for same to accommodate projector operation

Also Published As

Publication number Publication date
EP2807533B1 (en) 2016-03-16
JP5777827B2 (ja) 2015-09-09
US20130198541A1 (en) 2013-08-01
IN2014CN04736A (ko) 2015-09-18
CN104081316B (zh) 2016-11-02
KR20140124794A (ko) 2014-10-27
US8977874B2 (en) 2015-03-10
WO2013112279A1 (en) 2013-08-01
EP2807533A1 (en) 2014-12-03
JP2015512077A (ja) 2015-04-23
CN104081316A (zh) 2014-10-01

Similar Documents

Publication Publication Date Title
KR101520359B1 (ko) 휴대용 컴퓨팅 디바이스에서 배터리 로드 관리를 위한 시스템 및 방법
US8595520B2 (en) System and method for determining thermal management policy from leakage current measurement
US8984307B2 (en) System and method for dynamic battery current load management in a portable computing device
EP2962169B1 (en) System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels
US9360907B2 (en) System and method for adaptive thermal management in a portable computing device
US9442774B2 (en) Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US8996902B2 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
US8595525B2 (en) On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
EP3022627B1 (en) System and method for idle state optimization in a multi-processor system on a chip
US10496141B2 (en) System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 5