KR102023146B1 - 인스턴트 온을 갖는 제로 전력 하이버네이션 모드 - Google Patents

인스턴트 온을 갖는 제로 전력 하이버네이션 모드 Download PDF

Info

Publication number
KR102023146B1
KR102023146B1 KR1020147003803A KR20147003803A KR102023146B1 KR 102023146 B1 KR102023146 B1 KR 102023146B1 KR 1020147003803 A KR1020147003803 A KR 1020147003803A KR 20147003803 A KR20147003803 A KR 20147003803A KR 102023146 B1 KR102023146 B1 KR 102023146B1
Authority
KR
South Korea
Prior art keywords
processor
mode
power
volatile memory
current state
Prior art date
Application number
KR1020147003803A
Other languages
English (en)
Other versions
KR20140061405A (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 KR20140061405A publication Critical patent/KR20140061405A/ko
Application granted granted Critical
Publication of KR102023146B1 publication Critical patent/KR102023146B1/ko

Links

Images

Classifications

    • 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
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • 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
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

프로세서가 어떤 전력도 소비하지 않는 제로 전력 하이버네이션/슬립 모드로 구성된 프로세서와 관련된 시스템들, 방법들, 및 다른 실시예들이 설명된다. 일 실시예에 따르면, 프로세서는 전력 관리 로직을 포함한다. 전력 관리 로직은 프로세서의 현재 상태를 유지하면서 프로세서에 대한 전력을 감소시키는 전력 절감 모드로 전환하기 위해 프로세서에 요청하는 제어 신호를 수신하도록 구성된다. 전력 관리 로직은 제어 신호에 응답하여, 프로세서의 구성요소들의 현재 상태를 비-휘발성 메모리에 저장하도록 구성된다. 전력 관리 로직은 프로세서를 전력 절감 모드에 두기 위해 프로세서에 대한 전력을 제로 전력 모드로 조정하도록 구성되며, 제로 전력 모드 동안, 프로세서는 어떤 전력도 수신하지 않는다.

Description

인스턴트 온을 갖는 제로 전력 하이버네이션 모드{ZERO POWER HIBERNATION MODE WITH INSTANT ON}
관련 출원들에 대한 상호 참조
본 특허 개시 내용은 전체적으로 여기에 참조로서 통합되는, 2011년 7월 26일에 출원된 미국 가출원 번호 제61/511,844호의 이득을 주장한다.
여기에 제공된 배경 설명은 일반적으로 개시 내용의 문맥을 제공하기 위한 것이다. 현재 지명된 발명자(들)의 작업은, 작업이 이러한 배경 섹션, 뿐만 아니라 그 외에 출원시 종래 기술로서 자격을 얻을 수 없는 설명의 양상들에서 설명되는 정도까지, 본 개시 내용에 대하여 종래 기술로서 명확하게 그리고 암시적으로 인정되지 않는다.
컴퓨팅 디바이스들은 사용자들에게 보다 양호한 성능을 제공하기 위해 끊임없이 진화하고 있다. 이들 기술적 변화들은 스마트폰들, 랩탑들, 및 태블릿 컴퓨터들과 같은 이동 컴퓨팅 디바이스들에서 특히 일반적이다. 그러나, 이동 디바이스들이 전력을 위해 배터리들을 사용하기 때문에, 성능은 전력 소비와 균형을 이루어야 한다. 이것은 특히 배터리 수명의 증가와 경량 설계 및 프로파일과의 사이의 트레이드오프(tradeoff)를 고려할 때 해결해야할 과제가 된다.
따라서, 전력 소비는 배터리들을 사용하는 이동 디바이스들에 대한 중요한 고려사항이다. 전력 소비 문제들을 다루기 위해, 이동 디바이스들 내의 특정 구성요소들은 유휴 상태(idle)일 때 배터리 수명을 연장시키기 위해 저 전력 모드에 두어질 수 있다. 그러나, 저 전력 모드에서조차, 디바이스는 동작 모드로 다시 전력을 공급하는 것이 빠르도록 준비 상태에서의 정보를 유지하기 위해 여전히 전력을 소비한다. 따라서, 저 전력 모드에 있는 동안, 디바이스는 배터리로부터 전력을 여전히 인출하며, 이것은 감소된 배터리 수명을 야기한다.
일 실시예에서, 프로세서는 전력 관리 로직을 포함한다. 상기 전력 관리 로직은 프로세서의 현재 상태를 유지하면서 프로세서에 대한 전력을 감소시키는 전력 절감 모드로 전환하기 위해 프로세서에 요청하는 제어 신호를 수신하도록 구성된다. 상기 전력 관리 로직은 상기 제어 신호에 응답하여, 프로세서의 구성요소들의 현재 상태를 비-휘발성 메모리에 저장하도록 구성된다. 상기 전력 관리 로직은 상기 프로세서를 상기 전력 절감 모드에 두기 위해 상기 프로세서에 대한 전력을 제로 전력 모드로 조정하도록 구성되며, 상기 제로 전력 모드 동안, 프로세서는 어떤 전력도 수신하지 않는다.
또 다른 실시예에서, 상기 전력 관리 로직은 상기 프로세서 내의 레지스터들로부터 값들을 캡처하고 상기 값들을 비-휘발성 메모리에 저장함으로써 상기 프로세서의 실시간 클록(RTC : real-time clock) 및 운영 시스템 타이머(OST : operating system timer)의 각각에 대한 현재 상태를 저장하도록 구성된다.
또 다른 실시예에서, 상기 전력 관리 로직은 상기 프로세서가 전력 절감 모드에 있는 동안 휘발성 메모리에 저장된 데이터를 유지하기 위해 상기 전력을 조정하기 전에 자기-리프레시(self-refresh) 모드를 개시하게끔 상기 휘발성 메모리를 제어하도록 구성된다.
또 다른 실시예에서, 상기 프로세서는 코어 전압(core voltage)에 의해 전력을 공급받는다. 상기 전력 관리 로직은 상기 제로 전력 모드 동안 프로세서의 코어 전압을 제로 볼트(zero volt)로 감소시킴으로써 상기 프로세서의 전력을 조정하도록 구성된다. 상기 프로세서는 제로 전력 모드에서 제로 전력을 소비한다. 상기 전력 관리 로직은 10 밀리초(millisecond) 미만 내에 제로 전력 모드로부터 온 모드로 상기 프로세서를 전환하도록 구성된다. 상기 전력 관리 로직은 10 밀리초 미만 내에 온 모드로부터 제로 전력 모드로 프로세서를 전환하도록 구성된다.
또 다른 실시예에서, 상기 전력 관리 로직은 또한 프로세서의 전력 모드를 온 모드로 변경하기 위해 웨이크업(wakeup) 신호를 수신하고, 상기 웨이크업 신호에 응답하여, 상기 프로세서가 전력 절감 모드에 있는지 또는 오프 모드에 있는지 여부를 결정하며, 상기 전력 절감 모드에 있다면, 업데이트된 상태를 발생시키기 위해 상기 비-휘발성 메모리 내의 구성요소들의 저장된 현재 상태를 조정하며, 상기 업데이트된 상태로 상기 프로세서 내의 하나 이상의 레지스터들을 업데이트함으로써 상기 프로세서를 온 모드로 복원시키도록 구성된다.
또 다른 실시예에서, 상기 전력 관리 로직은 프로세서에 대한 전력을 재설정함으로써 프로세서를 상기 온 모드로 복원시키도록 구성된다. 상기 저장된 현재 상태를 조정하는 것은 상기 저장된 현재 상태를 상기 업데이트된 상태로 업데이트하기 위해 전력 관리 집적 회로(PMIC : power management integrated circuit)의 실시간 클록의 값을 사용하는 것을 포함한다.
또 다른 실시예에서, 상기 전력 관리 로직은 상기 웨이크업 신호에 응답하여, 자기-리프레시 모드를 동작 모드로 전환하며 휘발성 메모리 내의 위치에 대한 포인터를 사용하여 상기 프로세서에 대한 운영 시스템 정보를 복원시키기 위해 휘발성 메모리를 제어하도록 구성된다.
일 실시예에서, 방법은 프로세서에서, 상기 프로세서의 현재 상태를 유지하면서 프로세서에 대한 전력을 감소시키는 전력 절감 모드로 전환하기 위해 상기 프로세서에 요청하는 제어 신호를 수신하는 단계를 포함한다. 상기 방법은 상기 제어 신호에 응답하여, 상기 프로세서의 구성요소들의 현재 상태를 비-휘발성 메모리에 저장하는 단계를 포함한다. 상기 방법은 상기 프로세서를 상기 전력 절감 모드에 두기 위해 상기 프로세서에 대한 전력을 제로 전력 모드로 조정하는 단계를 포함하며, 상기 제로 전력 모드 동안, 상기 프로세서는 어떤 전력도 수신하지 않는다.
일 실시예에서, 집적 회로는 프로세서의 현재 상태를 유지하면서 상기 프로세서에 대한 전력을 감소시키는 전력 절감 모드로 전환하기 위해 프로세서를 제어하도록 구성된 전력 관리 로직을 포함한다. 상기 전력 관리 로직은 프로세서의 현재 상태를 비-휘발성 메모리에 저장함으로써 상기 프로세서를 제어하도록 구성된다. 상기 전력 관리 로직은 상기 프로세서를 상기 전력 절감 모드에 두기 위해 상기 프로세서에 대한 전력을 감소시킴으로써 상기 프로세서를 제어하도록 구성된다. 상기 전력 절감 모드 동안, 상기 프로세서는 어떤 전력도 소비하지 않는다.
명세서에 통합되며 그 일부를 구성하는 첨부 도면들은 개시 내용의 다양한 시스템들, 방법들, 및 다른 실시예들을 예시한다. 도면들에서의 예시된 요소 경계들(예를 들어, 박스들, 박스들의 그룹들, 또는 다른 형태들)은 상기 경계들의 일 예를 나타낸다. 몇몇 예들에서, 하나의 요소는 다수의 요소들로서 설계될 수 있거나 또는 다수의 요소들은 하나의 요소로서 설계될 수 있다. 몇몇 예들에서, 또 다른 요소의 내부 구성요소로서 도시된 하나의 요소는 외부 구성요소로서 구현될 수 있으며 그 역 또한 마찬가지이다. 더욱이, 요소들은 일정한 비율로 그려지지 않을 수 있다.
도 1은 제로 전력 하이버네이트 모드와 관련된 프로세서의 일 실시예를 예시한다.
도 2는 프로세서를 제로 전력 하이버네이트 모드로 전환하는 것과 관련된 방법의 일 실시예를 예시한다.
도 3은 프로세서를 하이버네이트 모드로부터 복원시키는 것과 관련된 방법의 일 실시예를 예시한다.
도 4는 제로 전력 하이버네이트 모드와 관련된 집적 회로의 일 실시예를 예시한다.
프로세서가 어떤 전력도 소비하지 않는 제로 전력 하이버네이션/슬립 모드(zero power hibernation/sleep mode)로 구성된 프로세서와 관련된 시스템들, 방법들, 및 다른 실시예들의 예들이 여기에 설명된다. 일 실시예에서, 통상적으로 저 전력 모드 동안 전력을 소비하는 프로세서 내의 구성요소들은 파워 오프된다. 따라서, 프로세서의 코어 전압은 하이버네이션 및 슬립 모드들 동안 감소된 전압을 프로세서에 공급하는 대신에, 제로로 감소될 수 있다. 하이버네이트 및 슬립 모드들 동안 통상적으로 전력을 수신하는 프로세서 내의 구성요소들에 대한 현재 상태는 전력이 턴 오프되기 전에 메모리로 저장된다. 이러한 방식으로, 프로세서에 대한 전압은 프로세서의 현재 상태를 저장하고 온 모드로 빠르게 복귀하기 위한 능력을 유지하면서 제로로 감소될 수 있다.
도 1을 참조하면, 제로 전력 하이버네이션/슬립 모드와 관련되는 프로세서(100)의 일 실시예가 도시된다. 프로세서(100)는 제 2 프로세서(160)(예를 들어, 셀룰러 프로세서), 및 디스플레이(170)(예를 들어, 액정 디스플레이(LCD)(170))를 포함하는 전자 디바이스(105)에서 동작하도록 구현된다. 전자 디바이스(105)는 예를 들면, 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 셀룰러 전화기, 개인 정보 단말, 휴대용 음악 플레이어 등이다.
일 실시예에서, 전자 디바이스(105)는 실시간 클록(도시되지 않음)을 포함하는 전력 관리 집적 회로(PMIC)(150)를 포함한다. PMIC(150)는 프로세서(100), 비-휘발성 메모리(130), 및 휘발성 메모리(140)와 같은 전자 디바이스(105) 내의 다양한 구성요소들에 대한 전력을 관리하도록 구성된다. PMIC(150)는 예를 들면, 구성요소들에 대한 전압을 조절하고, 구성요소로부터의 요청시 전력을 공급하고, 파워 온 또는 오프 요청을 수신할 때 전력 레벨을 변경하는 것 등에 의해 전자 디바이스(105) 내의 구성요소들에 대한 전력을 관리한다. PMIC(150)는 예를 들면, 항상 파워 온되는 하나 이상의 구성요소들을 포함한다. PMIC(150)의 상시-동작(always-on) 구성요소들은 PMIC의 실시간 클록(RTC), 인터럽트 등을 포함한다. 이러한 방식으로, PMIC(150)는 전자 디바이스(105)의 다른 구성요소들이 파워 오프될지라도 항상 온인 RTC를 사용하여 업데이트된 시간을 유지할 수 있다.
프로세서(100)는 다수의 구성요소들(120)을 포함한다. 구성요소들(120)은 예를 들면, 실시간 클록(RTC)(122), 운영 시스템(OS) 타이머(124), 및 범용 입력/출력(GPIO : general purpose input/output)(126)을 포함한다. 구성요소들(120)은 통상적으로 프로세서의 상시-동작 도메인(always-on domain)의 일부인 구성요소들의 일 예이다. 상시-동작 구성요소들은 프로세서(100)가 파워 오프될 지라도, 정보를 유지하기 위해 여전히 전력을 수신하는 구성요소들이다. 그러나, 프로세서(100)에서, 구성요소들(120)은 프로세서(100)가 이하에 설명되는 바와 같이 하이버네이트 또는 슬립 모드에 있을 때 파워 오프되도록 구성된다.
일 실시예에서, GPIO(126)(범용 입력/출력)는 프로세서(100)와 통신하기 위해 전자 디바이스(105) 내의 PMIC(150) 또는 다른 구성요소들에 대한 인터럽트로서 구성된다. 따라서, PMIC(150)는 결과적으로 프로세서(100)가 하이버네이트 모드, 슬립 모드, 온 모드, 또는 오프 모드에 들어가게 하는 제어 신호들을 GPIO(126)에 제공할 수 있다. 하이버네이트 모드 및 슬립 모드는 프로세서(100)에 대한 전력 절감 모드들이다. 하이버네이트 모드에서 그리고 슬립 모드에서, 프로세서(100)는 파워 오프된다. 따라서, 슬립 모드 및 하이버네이트 모드 양쪽 모두는 프로세스(100)가 전력을 수신하지 않는 제로 전력 모드들이다. 그러나, 하이버네이트 모드는 또한 슬립 모드 동안 파워 오프되지 않는 전자 디바이스(105)의 부가적인 구성요소들을 파워 오프하는 것을 포함할 수 있다. 일 예에서, 하이버네이트 모드는 휘발성 메모리(140)를 파워 오프하는 것을 포함하는 반면, 슬립 모드는 휘발성 메모리(140)를 파워 오프하는 것을 포함하지 않는다. 하이버네이트 모드는 또한 제 2 프로세서(160) 및 비-휘발성 메모리(130)를 파워 오프하는 것을 포함할 수 있다. 따라서, 슬립 모드 동안, 휘발성 메모리(140)는 파워 온 모드 또는 자기-리프레시 모드에서 유지된다. 더욱이, 프로세서(100)는 또한 온-모드 및 오프 모드를 포함한다. 온-모드는 프로세서(100) 및 모든 관련된 구성요소들이 동작 레벨에서 전력을 수신할 때 전자 디바이스(105)에 대한 동작 모드이다. 오프 모드에서, 프로세서(100) 및 전자 디바이스(105)는 어떤 전력도 수신하지 않으며 프로세서(100)에 대한 상태 정보는 저장되지 않는다. 따라서, 오프 모드로부터 온 모드로 전환할 때, 전자 디바이스(105)는 예를 들면, 운영 시스템을 프로세서(100) 및 휘발성 메모리(140)로 로딩하고, LCD(170)를 초기화하는 것 등에 의해 초기화된다.
일 실시예에서, 하이버네이트 또는 슬립 모드로 스위칭될 때, 프로세서(100)는 어떤 전력도 소비하지 않도록 구성된다. 예를 들면, 하이버네이트 모드에 들어가기 전에, 프로세서(100)는 구성요소들(120)의 현재 상태 정보를 저장한다. 웨이크업을 위한 제어 신호를 수신할 때, 프로세서(100)는 상태 정보가 메모리로부터 복원된 후 이전에 저장된 상태 정보를 사용함으로써 결코 파워 오프되지 않은 것처럼 프로세싱을 재개한다. 이러한 방식으로, 프로세서(100)는 프로세서(100)의 전체 파워 오프 및 부트 업을 수행하지 않고 빠른 재시작을 여전히 허용하면서 동작이 일시적으로 중단될 수 있으며 전력이 보존될 수 있다.
RTC(122) 및 OS 타이머(124)는 하이버네이트 및 슬립 모드들 동안 파워 오프되는 구성요소들의 일 예이다. 일 예에서, 전력 관리 로직(110)은 RTC(122) 및 OST(124)와 부합하는 프로세서(100)에서의 레지스터들의 값들을 저장한다. 전력 관리 로직(110)은 프로세서(100)가 RTC 및 OST 값들(135)로서 하이버네이트 모드에 들어갈 준비를 할 때 레지스터들로부터의 값들을 비-휘발성 메모리(130)에 저장한다. RTC(122)는 프로세서(100)에 대한 현재 시각(예를 들어, 시간들, 분들, 및 초들)을 추적하도록 구성된다. 따라서, RTC(122)의 현재 값을 저장하지 않고 RTC(122)를 파워 오프 하는 것은 프로세서(100)에 대한 현재 시각 정보를 잃는 것을 야기할 것이다. 일 실시예에서, RTC(122)는 현재 시간을 추적하기 위해 프로세서(100) 내의 레지스터를 계속해서 업데이트하는 발진기이다.
OST(124)는 프로세서(100)에서의 실행을 위한 프로세스들을 스케줄링하기 위해 운영 시스템 스케줄러와 함께 동작하도록 구성되는 운영 시스템을 위한 타이머이다. 따라서, 관련된 레지스터(들)의 값들을 저장하지 않고 OST(124)를 파워 오프하는 것은 프로세서(100)가 하이버네이트 모드로부터 복원된 후 운영 시스템 프로세스들을 스케줄링하는 것을 방해할 것이다. 따라서, OST(124) 및 RTC(122)의 값들은 하이버네이트 및 슬립 모드들 동안 OST(124) 및 RTC(122)를 파워 오프하기 위해 저장된다.
예를 들면, 전자 디바이스(105)의 사용자가 프로세서(100) 상에서 구동하는 여러 개의 상이한 애플리케이션들을 가진다는 것을 고려하자. 또한 사용자가 전자 디바이스(105)를 사용하여 일시적으로 정지시킬 필요가 있지만 현재 사용 포인트로부터 애플리케이션들의 사용을 나중에 재개하길 원한다는 것을 고려하자. 이 예에서, 애플리케이션들 및 프로세서(100)의 현재 상태를 유지하기 위해, 사용자는 프로세서(100)를 정상 동작 레벨에서 전력을 계속해서 인출하는 온 모드에 남겨둘 수 있으며 귀중한 배터리 수명을 소비할 것이다. 반대로, 전자 디바이스(105)를 턴 오프하는 것은 프로세서(100)를 오프 모드로 둘 것이며, 이것은 상당한 전력을 절감한다. 그러나 디바이스(105)를 턴 오프하는 것은 시간 소모적이며 사용자가 파워 오프하기 전에 모든 데이터를 저장하고 그 후 긴 재부팅 후 애플리케이션들을 재개하도록 요구되는 것을 야기하며, 이것은 불편할 수 있다. 대안적으로, 프로세서(100)는 요구될 때 사용이 빠르게 재개되며 배터리 수명이 보존되는 하이버네이트 또는 슬립 모드로 스위칭될 수 있다.
일 실시예에서, 하이버네이트 모드는 사용자가 하이버네이트 모드로 스위칭하도록 프로세서(100)에 요청하는 제어 신호를 프로세서(100)에 전송하는 전자 디바이스(105) 상에서의 버튼을 누름으로써 개시된다. 제어 신호에 응답하여, 프로세서(100)는 하이버네이트 모드로 들어가는 프로세스를 개시하도록 구성된다. 제어 신호는 제로 전력 하이버네이트 모드에 들어가도록 프로세서(100)에 요청하는 통신이다. 다른 실시예들에서, 제어 신호는 전자 디바이스(105) 상에서의 무활동의 기간을 검출하는 소프트웨어 루틴에 의해 개시될 수 있다는 것에 주목해야 한다. 다른 실시예들에서, PMIC(150)는 프로세스 또는 사용자로부터 제어 신호의 수신을 중재하며 프로세서(100)에 관련 부분들을 중계(relay)한다. 제어 신호는 또한 디바이스에 따라서는, 프로세서(100)와 관련된 보다 많은 구성요소들 또는 보다 적은 구성요소들(예를 들어, 휘발성 메모리(140), 제 2 프로세서(160), LCD(170))을 저 전력 또는 오프 모드에 둘 수 있는 슬립 모드에 들어가기 위한 요청일 수 있다.
일 실시예에서, 전력 관리 로직(110)은 하이버네이트 또는 슬립 모드를 요청하는 제어 신호를 수신하도록 구성된다. 제어 신호에 응답하여, 전력 관리 로직(110)은 프로세서(100)가 프로세서(100)의 현재 콘텍스트 및 예를 들면, RTC(122), OST(124), 및 GPIO(126)를 위한 레지스터들의 값들을 캡처하게 한다. 프로세서(100)는 그 후 값들 및 콘텍스트를 비-휘발성 메모리(130)에 저장한다.
일 실시예에서, 전력 관리 로직(110)은 프로세서(100) 상에서 구동하는 디바이스 구동기들에 대한 콜백(callback)을 수행한다. 콜백은 예를 들면, 프로세서(100)가 하이버네이트 모드로 스위칭될 수 있도록 동작을 수행하기 위한 디바이스 구동기들에 대한 요청이다. 콜백에 응답하여, 디바이스 구동기들은 모든 현재 콘텍스트 정보를 휘발성 메모리(140) 또는 비-휘발성 메모리(130)에 저장한다. 일 예에서, 제어 신호로부터의 요청된 모드(예를 들어, 하이버네이트 또는 슬립)에 따라서는, 디바이스 구동기들은 슬립 모드 동안 휘발성 메모리(140)가 파워 오프될 수 있고 그에 따라 정보를 유지하지 않을 것이기 때문에 현재 콘텍스트 정보를 비-휘발성 메모리(130)에 저장한다. 비-휘발성 메모리(130)는 예를 들면, 파워 오프될 때 데이터를 유지하는 플래시 메모리 또는 다른 메모리이다. 비-휘발성 메모리(130)는 프로세서(100)가 하이버네이트 모드 또는 슬립 모드에 있을 때 또한 파워 오프될 수 있다.
비-휘발성 메모리(130)는 파워 오프될 때 데이터를 유지하기 때문에, 비-휘발성 메모리(130)에 저장된 값들은 손실되지 않을 것이다. 따라서, 프로세서(100)가 하이버네이트 모드에 들어가기 위해 제어 신호를 수신할 때, RTC(122)를 위한 레지스터에서의 값들은 RTC(122)의 현재 상태를 보존하기 위해 비-휘발성 메모리(130)에 저장된다. 비-휘발성 메모리(130)와 대조적으로, 휘발성 메모리(140)는 파워 오프될 때 데이터를 유지하지 않는다. 그러나, 요청된 모드에 따라서는, 휘발성 메모리(140)는 파워 오프되지 않을 수 있다. 휘발성 메모리(140)는 프로세서(100)가 동작 중일 때 사용하는 운영 시스템(OS) 데이터(145)를 저장한다. 따라서, 하이버네이트 모드로부터 복구한 후 빠르게 재시작하기 위한 프로세서(100)의 능력을 유지하기 위해, OS 데이터(145)는 저장되어야 한다. 따라서, 일 실시예에서, 전력 관리 로직(110)은 프로세서(100)가 휘발성 메모리(140)를 자기-리프레시 모드에 두게 하도록 구성된다. 자기-리프레시 모드는 휘발성 메모리(140)가 파워 온되지만 자급 자족할 수 있으며 프로세서(100)로부터의 제어 없이 저장된 데이터를 유지하기 위해 리프레시하는 모드이다. 자기-리프레시 모드 동안, 프로세서 내의 휘발성 메모리(140)를 위한 제어기는 전력을 절감하기 위해 전원 차단된다.
프로세서(100)의 현재 상태가 저장되면, 프로세서(100)에 대한 전력은 프로세서(100)를 하이버네이트 모드에 두기 위해 제로로 감소된다. 전력을 제로로 감소시키기 위해, 프로세서(100)는 예를 들면, 프로세서(100)에 대한 전압을 제거하도록 PMIC(150)에 요청하는 신호를 PMIC(150)에 전송한다. 신호에 응답하여, PMIC(150)는 프로세서에 대한 코어 전압을 제로로 감소시키며, 따라서 프로세서(100)를 하이버네이트 모드에 둔다. 프로세서(100)가 하이버네이트 모드에 있을 때, 프로세서(100)의 모든 구성요소들은 전력이 없다. 몇몇 프로세서들에서, 하이버네이트 모드는 전력을 예를 들면 특정 기능을 보존하고 있는 프로세서의 구성요소들(120) 또는 몇몇 다른 부분에 공급하는 것을 여전히 포함한다. 그러나, 이 예에서, 프로세서(100)도, 프로세서의 임의의 구성요소들(120)도 전력을 수신하지 않는다. 하이버네이트 및 슬립 모드들에서, 프로세서(100)의 모든 부분들은 완전히 파워 오프되며 어떤 전력도 수신하지 않는다.
부가적으로, 일 실시예에서, 전력 관리 로직(110)은 10 밀리초 미만 내에 제로 전력 모드로부터 온 모드로 프로세서(100)를 전환하도록 구성된다. 부가적으로, 전력 관리 로직(110)은 10 밀리초 미만 내에 온 모드로부터 제로 전력 모드로 프로세서(100)를 전환하도록 구성된다. 이러한 방식으로, 전력 관리 로직(110)은 프로세서(100)의 모드들을 스위칭할 때 낮은 대기 시간 전환들을 제공한다. 따라서, 전력은 보존되며 프로세싱은 빠르게 재개될 수 있다.
제로 전력 하이버네이트/슬립 모드들 및 프로세서(100)의 추가 세부사항들이 도 2 및 도 3과 함께 논의될 것이다. 도 2는 프로세서를 제로 전력 하이버네이트 모드로 전환하는 것과 관련된 방법(200)의 일 실시예를 예시한다. 도 2는 방법(200)이 프로세서(100)를 하이버네이트 모드에 두기 위해 도 1의 전자 디바이스(105)에 의해 구현되며 수행된다는 관점으로부터 논의된다.
210에서, 방법(200)은 프로세서(100)가 온 모드로부터 하이버네이트 모드로 전환하기 위해 프로세서(100)에 요청하는 제어 신호를 수신한다. 하이버네이트 모드는 프로세서(100)가 어떤 전력도 소비하지 않으며 온 모드로 즉시 복귀하고 프로세서(100)가 하이버네이트 모드에 들어가기 위해 제어 신호를 수신하기 전에 동작 중이었던 동일한 포인트로부터 프로세싱을 재개할 수 있는 모드이다. 하이버네이트 모드는 프로세서(100)가 오프 모드로부터 즉시 복구할 수 없다는 점에서 오프 모드와는 완전히 다르다. 즉, 오프 모드로부터 온 모드로 복귀하기 위해, 프로세서(100)는 하이버네이트 모드로부터 복구할 때 요구되지 않으며 또한 슬립 모드로부터 복구할 때 필요하지 않은 전체 부트 시퀀스를 거친다. 예를 들면, 오프 모드로부터의 전체 부트 시퀀스는 전자 디바이스(105) 및 운영 시스템에서의 다양한 디바이스들과 관련된 정보가 전체 부트 시퀀스 동안 새롭게 로딩되기 때문에 하이버네이트 모드로부터 온 모드로 전환할 때보다 상당히 많은 시간을 소비한다. 디바이스 구성요소들 및 OS에 대한 정보는 프로세서(100)가 오프 모드에 위치될 때 이전 상태가 저장되지 않기 때문에 오프 모드로부터 복구할 때 새롭게 로딩되는 반면, 프로세서(100)를 하이버네이트 모드 또는 슬립 모드에 둘 때 이전 상태는 저장된다.
220에서, 210에서 하이버네이트 모드로 전환하기 위해 제어 신호를 수신한 후, 방법(200)은 프로세서(100)의 구성요소들의 현재 상태를 비-휘발성 메모리에 저장한다. 일 실시예에서, 프로세서(100)의 현재 상태는 프로세서(100) 내의 레지스터들로부터 캡처되다. 레지스터들은 현재 실행 중인 프로세스들을 위해 프로세서(100)에 의해 사용된 정보를 포함한다. 이러한 방식으로, 프로세서(100)의 현재 상태는 프로세서(100)가 다시 파워 온될 때 프로세싱이 긴 부트 프로세스로부터의 지연들 없이 실질적으로 즉시 재개할 수 있도록 저장된다. 더욱이, 레지스터들은 하이버네이트 모드 동안 비-휘발성 메모리에 저장되기 때문에, 레지스터들 및 레지스터들을 유지하기 위해 사용된 임의의 구성요소들에 대한 전력은 제거될 수 있다. 따라서, 전력 소비는 감소될 수 있으며 프로세서(100)가 배터리 동력 디바이스에서 구체화될 때, 배터리 수명이 연장된다. 일 실시예에서, 예를 들면, 프로세서의 실시간 클록(RTC) 및 운영 시스템 타이머(OST)와 관련된 레지스터들을 위한 값들이 비-휘발성 메모리에 저장된다. 추가 실시예들에서, 보다 적거나 또는 부가적인 값들(예를 들어, GPIO 값들)이 비-휘발성 메모리에 저장될 수 있다.
레지스터들의 값들을 보존하는 것에 추가로, 방법(200)의 230에서, 프로세서(100)와 관련된 휘발성 메모리의 콘텐츠들이 자기-리프레시 모드를 개시하도록 휘발성 메모리를 제어함으로써 보존된다. 일 실시예에서, 휘발성 메모리는 제어 신호가 수신될 때 프로세서(100) 상에서 실행되는 운영 시스템을 위한 운영 시스템 데이터를 포함한다. 따라서, 자기-리프레시 모드에 들어가도록 휘발성 메모리를 제어함으로써, 운영 시스템 데이터는 보존되며 비-휘발성 메모리로 오프로드될 필요가 없다. 부가적으로, 자기-리프레시 모드를 사용함으로써, 데이터는 또한 프로세서(100)가 하이버네이트 모드로부터 다시 파워 온될 때 비-휘발성 메모리로부터 휘발성 메모리로 재로딩될 필요가 없다. 이러한 방식으로, 전자 디바이스(105)는 오프 모드로 완전히 전원을 차단시킬 필요가 없음으로써 긴 부트 시퀀스들 및/또는 메모리 로드들을 피할 수 있으며 대신에 프로세서를 빠르게 웨이크업시키고 온 모드에서 동작을 재개할 수 있다. 부가적으로, 휘발성 메모리를 자기-리프레시 모드에 둠으로써, 휘발성 메모리를 위한 제어기가 또한 파워 오프될 수 있다.
계속해서 도 2를 참조하면, 240에서, 방법(200)은 프로세서(100)에 대한 전력을 제로로 조정한다. 일 실시예에서, 방법(200)은 프로세서(100)에 대한 코어 전압을 제거함으로써 전력을 제로로 감소시킬 수 있다. 즉, 프로세서(100)에 대한 모든 전력은 하이버네이트 모드 또는 슬립 모드에 있는 동안 어떤 전력도 프로세서(100) 또는 내부 구성요소들 중 어떤 것에 의해 소비되지 않도록 차단된다. 프로세서(100)가 하이버네이트 모드에 있을 때, 프로세서의 일부가 아닌 또 다른 구성요소(예를 들어, PMIC(150))는 프로세서(100)가 하이버네이트 모드로부터 깨어날 때 저장된 값들을 업데이트하기 위해 카운터 또는 타이머를 유지하도록 구성된다.
도 3은 하이버네이트 모드로부터 프로세서를 복원시키는 것과 관련된 방법(300)을 예시한다. 310에서, 신호는 프로세서(100)를 온 모드로 웨이크업시키기 위해 수신된다. 수신될 때, 프로세서(100)는 다수의 모드들 중 하나에 있을 수 있다: 오프 모드, 하이버네이트 모드, 또는 슬립 모드. 일 실시예에서, 웨이크업 신호는 PMIC(150)에서 수신된다. PMIC(150)는 프로세서(100)에 대한 전력을 설정하고 그 후 웨이크업 신호를 프로세서(100)에 중계하도록 구성된다. 또 다른 실시예에서, 웨이크업 신호는 예를 들면, GPIO(126)를 통해 또는 웨이크업 신호를 수신하도록 구성된 또 다른 로직을 통해 수신된 프로세서(100)에서의 파워 온 이벤트(power on event)이다.
320에서, 웨이크업 신호를 수신한 후, 방법(300)은 프로세서(100)가 하이버네이트 모드로부터 웨이크업하는지 또는 오프 모드로부터 웨이크업하는지 여부를 결정한다. 320에서, 방법(300)이 프로세서(100)가 오프 모드로부터 웨이크업한다고 결정한다면, 방법(300)은 프로세서(100)가 운영 시스템 및 프로세서(100)의 구성요소들에 대한 정보가 새롭게 로딩되는 전체 부트 시퀀스를 실행하는 350으로 진행한다.
그러나, 320에서, 방법(300)이 프로세서(100)가 하이버네이트 모드로부터 웨이크업한다고 결정한다면, 방법(300)은 330으로 진행한다. 일 실시예에서, 프로세서(100)가 하이버네이트 모드에 있는지 또는 오프 모드에 있는지 여부를 결정하기 위해, 방법(300)은 프로세서(100)와 관련된 휘발성 메모리의 현재 동작 상태를 검사한다. 예를 들면, 휘발성 메모리가 턴 오프되고 자기-리프레시 모드에 있지 않다면, 프로세서(100)는 오프 모드에 있으며 방법(300)은 350으로 진행한다. 그러나, 휘발성 메모리가 자기-리프레시 모드에 있다면, 프로세서(100)는 하이버네이트 모드에 있으며 방법(300)은 330으로 진행한다. 추가 실시예들에서, 휘발성 메모리가 오프 모드에 있다면, 휘발성 메모리가 예를 들면 슬립 모드 동안 파워 오프되는지를 결정하기 위해 부가적인 검사가 이루어진다. 휘발성 메모리가 슬립 모드 동안 파워 오프된다면, 휘발성 메모리는 저장된 데이터로 재로딩되며 방법은 330을 계속하거나 또는 340에서 재로딩되도록 휘발성 메모리를 제어한다.
330에서, 방법(300)은 비-휘발성 메모리에 이전에 저장된 프로세서(100)의 구성요소들의 값들을 복원한다. 일 실시예에서, 값들은 값들이 하이버네이트 모드 이전과 동일하도록 프로세서(100) 내의 레지스터들로 복원된다. 또 다른 실시예에서, 비-휘발성 메모리로부터의 값들은 하이버네이트 모드에 있는 동안 경과된 시간을 고려하기 위해 프로세서(100) 내의 레지스터들에 다시 저장되기 전에 조정된다. 예를 들면, 하이버네이트 모드 동안 파워 오프되지 않는 회로(예를 들어, PMIC(150))의 실시간 클록의 값은 비-휘발성 메모리 내의 저장된 현재 상태 값들(예를 들어, RTC 및 OST 값들(135))을 업데이트하기 위해 사용될 수 있다. 프로세서(100)의 실시간 클록을 위한 비-휘발성 메모리로부터의 값들은 예를 들면, 실시간 클록에 의해 나타내어진 시간이 정확함을 보장하기 위해 저장된 실시간 클록 값에 하나의 값을 부가함으로써 업데이트된다. 실시간 클록 외의 다른 값들이 또한 유사한 방식으로 업데이트될 수 있다. 이러한 방식으로, 업데이트된 값들은 하이버네이트 모드 또는 슬립 모드로부터 복구할 때 프로세서(100)를 위해 발생될 수 있다.
340에서, 방법(300)은 자기-리프레시 모드로부터 동작 모드(예를 들어, 온 모드)로 전환하도록 휘발성 메모리를 제어한다. 일 실시예에서, 방법(300)은 또한 휘발성 메모리 내의 위치에 대한 포인터를 사용하여 프로세서(100)에 대한 운영 시스템 정보를 복원시킨다. 이러한 방식으로, 방법(300)이 340으로 완료된 후, 프로세서(100)는 하이버네이트 모드로부터 복원되며 이전에 프로세서에 저장된 정보는 프로세서가 하이버네이트 모드에 들어가기 전인 것처럼 프로세서(100)가 다시 동작으로 끊김 없이 전환할 수 있도록 프로세서(100)에 다시 한 번 존재한다. 휘발성 메모리가 또한 전원 차단되는 일 실시예에서, 자기-리프레시 모드를 사용하는 대신에, 340에서, 휘발성 메모리의 콘텐츠들은 비-휘발성 메모리 내의 저장 위치로부터 휘발성 메모리로 다시 카피된다는 것이 주의되어야 한다. 부가적으로, 일 실시예에서, 330 및 340에서의 동작들은 동시에 발생할 수 있거나 또는 340은 330 이전에 발생할 수 있다.
도 4는 별개의 집적 회로들 및/또는 칩들과 함께 구성되는 도 1로부터의 전자 디바이스(105)의 또 다른 실시예를 예시한다. 이 실시예에서, 도 1로부터의 프로세서(100)는 별개의 집적 회로(410)로서 구현된다. 부가적으로, 전력 관리 로직(110)은 개개의 집적 회로(420) 상에 구현된다. PMIC(150)는 개개의 집적 회로(430) 상에 구현된다. 회로들은 신호들을 통신하기 위해 연결 경로들을 통해 연결된다. 집적 회로들(410, 420, 및 430)이 별개의 집적 회로들로서 예시되지만, 그것들은 공통 회로 보드(400)로 통합될 수 있다. 부가적으로, 집적 회로들(410, 및 420)은 보다 적은 집적 회로들로 결합될 수 있거나 또는 예시된 것보다 많은 집적 회로들로 분할될 수 있다.
또 다른 실시예에서, 집적 회로들(420 및 430)에 예시된 전력 관리 로직(110) 및 PMIC(150)는 별개의 애플리케이션 특정 집적 회로로 결합될 수 있다. 다른 실시예들에서, 전력 관리 로직(110)과 관련된 기능은 프로세서(예를 들어, 프로세서(100))에 의해 실행가능한 펌웨어로서 구현될 수 있다.
다음은 여기에 이용된 선택된 용어들의 정의들을 포함한다. 정의들은 용어의 범위 내에 있으며 구현예를 위해 사용될 수 있는 구성요소들의 다양한 예들 및/또는 형태들을 포함한다. 상기 예들은 제한적인 것으로 의도되지 않는다. 용어들의 단수 및 복수의 형태들 모두는 정의들 내에 있을 수 있다.
"일 실시예", "실시예", "일 예", "예" 등에 대한 참조들은 그렇게 설명된 실시예(들) 또는 예(들)가 특정한 특징, 구조, 특성, 특징, 요소, 또는 제한을 포함할 수 있지만, 모든 실시예 또는 예가 특정한 특징, 구조, 특성, 특징, 요소 또는 제한을 반드시 포함하는 것은 아님을 표시한다. 더욱이, 구절("일 실시예에서")의 반복된 사용은 그러할 수도 있지만, 반드시 동일한 실시예를 나타내는 것은 아니다.
여기에 사용된 바와 같이, "로직"은 이에 제한되지 않지만 비-일시적 매체 상에 저장되거나 또는 기계 상에서 실행 중인 하드웨어, 펌웨어, 명령들, 및/또는 기능(들) 또는 동작(들)을 수행하기 위해, 및/또는 또 다른 로직, 방법, 및/또는 시스템으로부터 기능 또는 동작을 야기하기 위한 각각의 조합들을 포함한다. 로직은 소프트웨어 제어 마이크로프로세서, 이산 로직(예를 들어, ASIC), 아날로그 회로, 디지털 회로, 프로그램된 로직 디바이스, 명령들을 포함한 메모리 디바이스 등을 포함할 수 있다. 로직은 하나 이상의 게이트들, 게이트들의 조합들, 또는 다른 회로 구성요소들을 포함할 수 있다. 다수의 로직들이 설명되지만, 다수의 로직들을 하나의 물리적 로직으로 통합하는 것이 가능할 수 있다. 유사하게, 단일 로직이 설명되지만, 다수의 물리적 로직들 사이에 단일 로직을 분배하는 것이 가능할 수 있다. 여기에 설명된 구성요소들 및 기능들 중 하나 이상은 로직 요소들 중 하나 이상을 사용하여 구현될 수 있다.
설명의 단순함을 위한 것이지만, 예시된 방법론들이 일련의 블록들로서 도시되고 설명된다. 방법론들은 몇몇 블록들이 도시되고 설명된 것과 상이한 순서들로 및/또는 그것과 다른 블록들과 동시에 발생할 수 있는 바와 같이 블록들의 순서에 의해 제한되지 않는다. 게다가, 예시적인 방법론을 구현하기 위해 모든 예시된 블록들보다 적은 블록이 사용될 수 있다. 블록들은 조합되거나 또는 다수의 구성요소들로 분리될 수 있다. 더욱이, 부가적인 및/또는 대안적인 방법론들이 부가적이며, 예시되지 않은 블록들을 이용할 수 있다.
용어("포함하다" 또는 "포함하는")가 상세한 설명 또는 청구항들에서 이용되는 정도까지, 그 용어가 청구항에서 전제부(transitional word)로서 이용될 때 해석되는 바와 같이 상기 용어("포함하는")와 유사한 방식으로 포괄적이도록 의도된다.
예시적인 시스템들, 방법들 등이 예들을 설명함으로써 예시되지만, 그리고 예들이 상당히 상세히 설명되었지만, 첨부된 청구항들의 범위를 이러한 세부사항에 한정하거나 또는 이러한 방식으로 제한하는 것은 출원인들의 의도가 아니다. 물론, 여기에 설명된 시스템들, 방법들 등을 설명하기 위해 구성요소들 또는 방법론들의 모든 상상할 수 있는 조합을 설명하는 것이 가능하지는 않다. 그러므로, 개시 내용은 도시되고 설명된 특정 세부사항들, 대표적인 장치, 및 예시적인 예들에 제한되지 않는다. 따라서, 본 출원은 첨부된 청구항들에 속하는 변경들, 수정들, 및 변화들을 포괄하도록 의도된다.

Claims (20)

  1. 전력 관리 로직을 포함하는 프로세서로서,
    상기 전력 관리 로직은,
    상기 프로세서의 현재 상태를 유지하면서 상기 프로세서에 대한 전력을 감소시키는 전력 절감 모드로 전환하도록 상기 프로세서에 요청하는 제어 신호를 수신하는 것과;
    상기 제어 신호에 응답하여, 상기 프로세서의 구성요소들의 현재 상태를 비-휘발성 메모리에 저장하는 것과,
    여기서 상기 프로세서의 현재 상태는 상기 프로세서와 관련된 하나 이상의 레지스터들로부터 캡처되고, 상기 하나 이상의 레지스터들은 프로세스들을 실행하기 위해 상기 프로세서에 의해 사용되는 정보를 포함하고, 상기 전력 관리 로직은 상기 프로세서의 실시간 클록(Real Time Clock, RTC)과 관련된 상기 하나 이상의 레지스터들 중 임의의 주어진 레지스터를 위한 값을 상기 비-휘발성 메모리에 저장하도록 되어 있으며;
    상기 프로세서를 상기 전력 절감 모드에 두기 위해 상기 프로세서에 대한 전력을 제로 전력 모드(zero power mode)로 조정하는 것과,
    여기서 상기 제로 전력 모드 동안, 상기 프로세서는 어떤 전력도 수신하지 않으며; 그리고
    상기 프로세서가 상기 전력 절감 모드에 있다는 결정에 응답하여, 상기 저장된 현재 상태와는 다른 업데이트된 상태를 발생시키기 위해 상기 비-휘발성 메모리 내의 상기 구성요소들의 상기 저장된 현재 상태를 조정함으로써, 그리고 상기 업데이트된 상태로 상기 프로세서 내의 상기 하나 이상의 레지스터들을 업데이트함으로써, 상기 프로세서를 온 모드로 복원시키는 것을
    수행하도록 되어 있고,
    상기 저장된 현재 상태를 조정하는 것은, 상기 저장된 현재 상태를 상기 업데이트된 상태로 업데이트하기 위해 상기 실시간 클록(RTC)의 값을 사용하여 상기 저장된 값에 하나의 값을 부가하는 것을 포함하는 것을 특징으로 하는 프로세서.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 전력 관리 로직은 상기 프로세서가 상기 전력 절감 모드에 있는 동안 휘발성 메모리에 저장된 데이터를 유지하기 위해 상기 전력을 조정하기 전에 자기-리프레시 모드를 개시하도록 상기 휘발성 메모리를 제어하기 위해 구성된 것을 특징으로 하는 프로세서.
  4. 청구항 1에 있어서,
    상기 프로세서는 코어 전압에 의해 전력을 공급받고, 상기 전력 관리 로직은 상기 제로 전력 모드 동안 상기 프로세서의 상기 코어 전압을 제로 볼트(zero volt)로 감소시킴으로써 상기 프로세서의 상기 전력을 조정하도록 구성되고, 상기 프로세서는 상기 제로 전력 모드에서 제로 전력을 소비하고, 상기 전력 관리 로직은 10 밀리초(millisecond) 미만 내에 상기 제로 전력 모드로부터 온 모드(on mode)로 상기 프로세서를 전환하도록 구성되고, 상기 전력 관리 로직은 10 밀리초 미만 내에 상기 온 모드로부터 상기 제로 전력 모드로 상기 프로세서를 전환하도록 구성된 것을 특징으로 하는 프로세서.
  5. 청구항 1에 있어서,
    상기 전력 관리 로직은 또한,
    상기 프로세서의 전력 모드를 온 모드로 변경하기 위해 웨이크업(wakeup) 신호를 수신하는 것과; 그리고
    상기 웨이크업 신호에 응답하여, 상기 프로세서가 상기 전력 절감 모드에 있는지 또는 오프 모드에 있는지 여부를 결정하는 것을
    수행하도록 되어 있는 것을 특징으로 하는 프로세서.
  6. 삭제
  7. 청구항 5에 있어서,
    상기 전력 관리 로직은 상기 웨이크업 신호에 응답하여, 자기-리프레시 모드로부터 동작 모드로 전환하며 휘발성 메모리 내의 위치에 대한 포인터를 사용하여 상기 프로세서에 대한 운영 시스템 정보를 복원시키기 위해 휘발성 메모리를 제어하도록 구성된 것을 특징으로 하는 프로세서.
  8. 프로세서에서, 상기 프로세서의 현재 상태를 유지하면서 상기 프로세서에 대한 전력을 감소시키는 전력 절감 모드로 전환하도록 상기 프로세서에 요청하는 제어 신호를 수신하는 단계와;
    상기 제어 신호에 응답하여, 비-휘발성 메모리에 상기 프로세서의 구성요소들의 현재 상태를 저장하는 단계와,
    여기서 상기 프로세서의 현재 상태는 상기 프로세서와 관련된 하나 이상의 레지스터들로부터 캡처되고, 상기 하나 이상의 레지스터들은 프로세스들을 실행하기 위해 상기 프로세서에 의해 사용되는 정보를 포함하고, 상기 프로세서의 실시간 클록(RTC)과 관련된 상기 하나 이상의 레지스터들 중 임의의 주어진 레지스터를 위한 값이 상기 비-휘발성 메모리에 저장되며;
    상기 프로세서를 상기 전력 절감 모드에 두기 위해 상기 프로세서에 대한 전력을 제로 전력 모드로 조정하는 단계와,
    여기서 상기 제로 전력 모드 동안, 상기 프로세서는 어떤 전력도 수신하지 않으며; 그리고
    상기 프로세서가 상기 전력 절감 모드에 있다는 결정에 응답하여, 상기 저장된 현재 상태와는 다른 업데이트된 상태를 발생시키기 위해 상기 비-휘발성 메모리 내의 상기 구성요소들의 상기 저장된 현재 상태를 조정함으로써, 그리고 상기 업데이트된 상태로 상기 프로세서와 관련된 상기 하나 이상의 레지스터들을 업데이트함으로써, 상기 프로세서를 온 모드로 복원시키는 단계를 포함하며,
    상기 저장된 현재 상태를 조정하는 것은, 상기 저장된 현재 상태를 상기 업데이트된 상태로 업데이트하기 위해 상기 실시간 클록(RTC)의 값을 사용하여 상기 저장된 값에 하나의 값을 부가하는 것을 포함하는 것을 특징으로 하는 방법.
  9. 삭제
  10. 청구항 8에 있어서,
    상기 전력을 조정하는 단계 이전에, 상기 프로세서가 상기 전력 절감 모드에 있는 동안 휘발성 메모리에 저장된 데이터를 유지하기 위해 자기-리프레시 모드를 개시하도록 상기 프로세서와 관련된 상기 휘발성 메모리를 제어하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 청구항 8에 있어서,
    상기 프로세서는 코어 전압에 의해 전력을 공급받고, 상기 프로세서의 상기 전력을 조정하는 단계는 상기 제로 전력 모드 동안 상기 프로세서의 상기 코어 전압을 제로 볼트로 감소시키는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 청구항 8에 있어서,
    상기 프로세서의 모드를 온 모드로 변경하기 위해 웨이크업 신호를 수신하는 단계와; 그리고
    상기 웨이크업 신호에 응답하여, 상기 프로세서가 상기 전력 절감 모드에 있는지 또는 오프 모드에 있는지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 삭제
  14. 청구항 12에 있어서,
    상기 웨이크업 신호에 응답하여, 자기-리프레시 모드로부터 동작 모드로 전환하며 휘발성 메모리 내의 위치에 대한 포인터를 사용하여 상기 프로세서에 대한 운영 시스템 정보를 복원시키도록 상기 휘발성 메모리를 제어하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 전력 관리 로직을 포함하는 집적 회로로서,
    상기 전력 관리 로직은, 프로세서의 현재 상태를 유지하면서 상기 프로세서에 대한 전력을 감소시키는 전력 절감 모드로 전환하도록 상기 프로세서를 제어하도록 되어 있고,
    상기 전력 관리 로직에 의해 상기 프로세서를 제어하는 것은,
    상기 프로세서의 구성요소들의 현재 상태를 비-휘발성 메모리에 저장하는 것과,
    여기서 상기 프로세서의 현재 상태는 상기 프로세서와 관련된 하나 이상의 레지스터들로부터 캡처되고, 상기 하나 이상의 레지스터들은 프로세스들을 실행하기 위해 상기 프로세서에 의해 사용되는 정보를 포함하고, 상기 전력 관리 로직은 상기 프로세서의 실시간 클록(RTC)과 관련된 상기 하나 이상의 레지스터들 중 임의의 주어진 레지스터를 위한 값을 상기 비-휘발성 메모리에 저장하도록 되어 있으며;
    상기 프로세서를 상기 전력 절감 모드에 두기 위해 상기 프로세서에 대한 전력을 감소시키는 것과,
    여기서 상기 전력 절감 모드 동안 상기 프로세서는 어떤 전력도 소비하지 않으며; 그리고
    상기 프로세서가 상기 전력 절감 모드에 있다는 결정에 응답하여, 상기 저장된 현재 상태와는 다른 업데이트된 상태를 발생시키기 위해 상기 비-휘발성 메모리 내의 상기 구성요소들의 상기 저장된 현재 상태를 조정함으로써, 그리고 상기 업데이트된 상태로 상기 프로세서와 관련된 상기 하나 이상의 레지스터들을 업데이트함으로써, 상기 프로세서를 온 모드로 복원시키는 것을
    수행함으로써 이루어지고,
    상기 저장된 현재 상태를 조정하는 것은, 상기 저장된 현재 상태를 상기 업데이트된 상태로 업데이트하기 위해 상기 실시간 클록(RTC)의 값을 사용하여 상기 저장된 값에 하나의 값을 부가하는 것을 포함하는 것을 특징으로 하는 집적 회로.
  16. 삭제
  17. 청구항 15에 있어서,
    상기 전력 관리 로직은 상기 프로세서가 상기 전력 절감 모드에 있는 동안 휘발성 메모리에 저장된 데이터를 유지하기 위해 상기 전력을 감소시키기 전에 자기-리프레시 모드를 개시하게끔 휘발성 메모리를 제어하도록 구성된 것을 특징으로 하는 집적 회로.
  18. 청구항 15에 있어서,
    상기 프로세서는 코어 전압에 의해 전력을 공급받고, 상기 전력 관리 로직은 상기 프로세서의 상기 코어 전압을 제로 볼트로 감소시킴으로써 상기 프로세서의 상기 전력을 감소시키도록 구성된 것을 특징으로 하는 집적 회로.
  19. 청구항 15에 있어서,
    상기 전력 관리 로직은 또한,
    상기 프로세서의 전력 모드를 온 모드로 변경하기 위해 웨이크업 신호를 수신하는 것과; 그리고
    상기 웨이크업 신호에 응답하여, 상기 프로세서가 상기 전력 절감 모드에 있는지 또는 오프 모드에 있는지 여부를 결정하는 것을
    수행하도록 되어 있는 것을 특징으로 하는 집적 회로.
  20. 청구항 19에 있어서,
    상기 전력 관리 로직은 상기 프로세서에 대한 전력을 재설정함으로써 상기 프로세서를 상기 온 모드로 복원시키도록 구성되고,
    상기 전력 관리 로직은 상기 웨이크업 신호에 응답하여, 자기-리프레시 모드로부터 동작 모드로 전환하며 휘발성 메모리 내의 위치에 대한 포인터를 사용하여 상기 프로세서에 대한 운영 시스템 정보를 복원시키기 위해 상기 휘발성 메모리를 제어하도록 구성된 것을 특징으로 하는 집적 회로.
KR1020147003803A 2011-07-26 2012-06-26 인스턴트 온을 갖는 제로 전력 하이버네이션 모드 KR102023146B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161511844P 2011-07-26 2011-07-26
US61/511,844 2011-07-26
PCT/US2012/044167 WO2013015924A1 (en) 2011-07-26 2012-06-26 Zero power hibernation mode with instant on

Publications (2)

Publication Number Publication Date
KR20140061405A KR20140061405A (ko) 2014-05-21
KR102023146B1 true KR102023146B1 (ko) 2019-09-20

Family

ID=46516824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147003803A KR102023146B1 (ko) 2011-07-26 2012-06-26 인스턴트 온을 갖는 제로 전력 하이버네이션 모드

Country Status (5)

Country Link
US (1) US9213401B2 (ko)
EP (1) EP2737386A1 (ko)
JP (1) JP5994157B2 (ko)
KR (1) KR102023146B1 (ko)
WO (1) WO2013015924A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914653B2 (en) * 2008-09-05 2014-12-16 Hewlett-Packard Development Company, L.P. Method and system for providing hybrid-shutdown and fast startup processes
US8984316B2 (en) * 2011-12-29 2015-03-17 Intel Corporation Fast platform hibernation and resumption of computing systems providing secure storage of context data
US8977879B2 (en) 2012-03-30 2015-03-10 Motorola Solutions, Inc. Method and apparatus for enhancing a multi-stage hibernate and resume process
US9182999B2 (en) * 2012-05-30 2015-11-10 Advanced Micro Devices, Inc. Reintialization of a processing system from volatile memory upon resuming from a low-power state
US9690353B2 (en) * 2013-03-13 2017-06-27 Intel Corporation System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request
MX347305B (es) * 2013-07-11 2017-04-21 Mul-T-Lock Tech Ltd Anulación de baja energía para dispositivo de cerradura.
US9298602B2 (en) 2013-11-27 2016-03-29 Lenovo (Singapore) Pte. Ltd. Nonvolatile random access memory use
KR102149952B1 (ko) * 2014-04-17 2020-08-31 엘지전자 주식회사 가전기기 및 동작 방법
KR102151178B1 (ko) 2014-05-19 2020-09-02 삼성전자 주식회사 직렬 통신 장치 및 그 방법
US9426748B2 (en) 2014-07-11 2016-08-23 Qualcomm Incorporated Dynamic sleep mode based upon battery charge
JP6180450B2 (ja) * 2015-02-02 2017-08-16 キヤノン株式会社 制御装置、制御装置の制御方法及びプログラム
US10037071B2 (en) 2015-02-25 2018-07-31 Texas Instruments Incorporated Compute through power loss approach for processing device having nonvolatile logic memory
US9959042B2 (en) * 2015-08-20 2018-05-01 Apple Inc. Robust mechanism for adaptive power conservation in solid-state devices
WO2017038174A1 (ja) * 2015-09-03 2017-03-09 ソニー株式会社 電源管理集積回路、電子装置、および、電源管理集積回路の制御方法
US10452594B2 (en) 2015-10-20 2019-10-22 Texas Instruments Incorporated Nonvolatile logic memory for computing module reconfiguration
CN106814840A (zh) * 2015-12-02 2017-06-09 飞思卡尔半导体公司 用于处理器的低电力状态保持模式
US10331203B2 (en) * 2015-12-29 2019-06-25 Texas Instruments Incorporated Compute through power loss hardware approach for processing device having nonvolatile logic memory
KR101692538B1 (ko) * 2016-07-11 2017-01-03 주식회사 리퓨터 Gpio 포트를 이용한 컴퓨터 시스템의 절전 장치 및 방법
US10394304B2 (en) 2016-12-07 2019-08-27 Microsoft Technology Licensing, Llc Optimized power transitions based on user or platform conditions
US10474224B2 (en) * 2017-03-14 2019-11-12 Qualcomm Incorporated Quick energy efficient reboot from ultra-low power mode for a system on a chip
JP2018180768A (ja) * 2017-04-07 2018-11-15 ルネサスエレクトロニクス株式会社 半導体装置
US10990159B2 (en) * 2017-04-25 2021-04-27 Apple Inc. Architected state retention for a frequent operating state switching processor
CN107577189B (zh) * 2017-10-20 2023-12-19 中国电建集团成都勘测设计研究院有限公司 一种自动监测系统的精确定时唤醒方法
KR20200084730A (ko) * 2019-01-03 2020-07-13 삼성전자주식회사 전자 장치 및 이의 제어 방법
JP6582261B1 (ja) * 2019-03-25 2019-10-02 株式会社シェアメディカル デジタル聴診器を用いた遠隔診療システム
CN112639634A (zh) * 2020-05-07 2021-04-09 深圳市大疆创新科技有限公司 开关机控制装置和电子设备
CN111562836B (zh) * 2020-05-28 2023-07-04 深圳市鑫瑞智实业有限公司 一种应用于电子设备的省电方法、装置、设备及存储介质
US11579876B2 (en) * 2020-08-05 2023-02-14 Advanced Micro Devices, Inc. Reducing save restore latency for power control based on write signals
US11625173B1 (en) 2020-09-09 2023-04-11 Marvell Asia Pte Ltd Reduced power consumption by SSD using host memory buffer
US11703937B2 (en) 2021-09-23 2023-07-18 Advanced Micro Devices, Inc. Device and method for efficient transitioning to and from reduced power state
US20230095622A1 (en) * 2021-09-24 2023-03-30 Advanced Micro Devices, Inc. Method and apparatus for isolating and latching gpio output pads
US20230384971A1 (en) * 2022-05-24 2023-11-30 Western Digital Technologies, Inc. Data Storage Device and Method for Device-Initiated Hibernation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542996B1 (en) 1999-09-06 2003-04-01 Via Technologies, Inc. Method of implementing energy-saving suspend-to-RAM mode
JP2008090436A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置およびシステム状態制御方法。
JP2009187552A (ja) 2008-02-11 2009-08-20 Nvidia Corp 電力制御システム及び電力制御方法
US20090235099A1 (en) 2008-03-11 2009-09-17 Alexander Branover Protocol for Transitioning In and Out of Zero-Power State

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365487A (en) * 1992-03-24 1994-11-15 Texas Instruments Incorporated DRAM power management with self-refresh
US5423045A (en) * 1992-04-15 1995-06-06 International Business Machines Corporation System for distributed power management in portable computers
US5822600A (en) 1996-07-19 1998-10-13 Compaq Computer Corporation Dynamic hibernation time in a computer system
US7007180B2 (en) * 2000-01-13 2006-02-28 Access Co., Ltd. System and method for switching a computer system to a first or second power saving mode based on whether or not there exists a timer-expiration-waiting event in an event queue
JP2003316480A (ja) * 2002-04-25 2003-11-07 Toshiba Corp 情報処理装置およびその運転制御方法
JP2005258605A (ja) * 2004-03-10 2005-09-22 Casio Comput Co Ltd 情報処理装置および情報処理のプログラム
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7529955B2 (en) * 2005-06-30 2009-05-05 Intel Corporation Dynamic bus parking
US7797563B1 (en) * 2006-06-09 2010-09-14 Oracle America System and method for conserving power
JP4908983B2 (ja) * 2006-09-12 2012-04-04 パナソニック株式会社 マイクロコントローラおよびその関連技術
JP2008071066A (ja) * 2006-09-13 2008-03-27 Toshiba Corp 情報処理装置及び復帰制御方法
JP4232121B2 (ja) * 2006-12-28 2009-03-04 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP4595937B2 (ja) 2006-12-28 2010-12-08 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US7774626B2 (en) * 2007-03-29 2010-08-10 Intel Corporation Method to control core duty cycles using low power modes
JP5099317B2 (ja) * 2007-05-17 2012-12-19 村田機械株式会社 電子機器
KR20090044872A (ko) * 2007-11-01 2009-05-07 엘지전자 주식회사 휴대용 컴퓨터 및 휴대용 컴퓨터의 절전모드 제어방법
US9411390B2 (en) * 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
US20090292934A1 (en) * 2008-05-22 2009-11-26 Ati Technologies Ulc Integrated circuit with secondary-memory controller for providing a sleep state for reduced power consumption and method therefor
US20110107020A1 (en) 2009-10-30 2011-05-05 Duan Binghua Hibernation solution for embedded devices and systems
US8891251B2 (en) * 2010-04-07 2014-11-18 Apple Inc. Method and apparatus for achieving zero AC-draw mode for a device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542996B1 (en) 1999-09-06 2003-04-01 Via Technologies, Inc. Method of implementing energy-saving suspend-to-RAM mode
JP2008090436A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置およびシステム状態制御方法。
JP2009187552A (ja) 2008-02-11 2009-08-20 Nvidia Corp 電力制御システム及び電力制御方法
US20090235099A1 (en) 2008-03-11 2009-09-17 Alexander Branover Protocol for Transitioning In and Out of Zero-Power State

Also Published As

Publication number Publication date
KR20140061405A (ko) 2014-05-21
JP5994157B2 (ja) 2016-09-21
WO2013015924A1 (en) 2013-01-31
US20130031388A1 (en) 2013-01-31
JP2014522037A (ja) 2014-08-28
US9213401B2 (en) 2015-12-15
EP2737386A1 (en) 2014-06-04

Similar Documents

Publication Publication Date Title
KR102023146B1 (ko) 인스턴트 온을 갖는 제로 전력 하이버네이션 모드
US8762759B2 (en) Responding to interrupts while in a reduced power state
US20200233483A1 (en) System on chip for reducing wake-up time, method of operating same, and computer system including same
KR101668507B1 (ko) 프로세서를 위한 정지 상태 유지 모드
US8700936B2 (en) Modular gating of microprocessor low-power mode
US9568983B1 (en) Power cut off mode for conserving power in electronic devices
EP2188693B1 (en) Apparatus and method for reducing power consumption in system on chip
US20110131427A1 (en) Power management states
US8078891B2 (en) Method, device, and system for guaranteed minimum processor power state dwell time
US10175995B1 (en) Device hibernation control
US7747886B1 (en) Management of power states in a portable computing device
US10379874B1 (en) Expedited resume process from low battery
US11455025B2 (en) Power state transitions
US10268486B1 (en) Expedited resume process from hibernation
US20120117364A1 (en) Method and System for Operating a Handheld Calculator
US10394307B2 (en) Information processing apparatus, information processing method, and program
WO2021137982A1 (en) Long-idle state system and method
CN117812682A (zh) 降低蓝牙芯片功耗的方法、低功耗蓝牙芯片
TW201305797A (zh) 可攜式裝置之電源管理方法

Legal Events

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