KR101156292B1 - 신속한 하이버네이트 및 리줌을 위한 장치 및 방법 - Google Patents

신속한 하이버네이트 및 리줌을 위한 장치 및 방법 Download PDF

Info

Publication number
KR101156292B1
KR101156292B1 KR1020107014353A KR20107014353A KR101156292B1 KR 101156292 B1 KR101156292 B1 KR 101156292B1 KR 1020107014353 A KR1020107014353 A KR 1020107014353A KR 20107014353 A KR20107014353 A KR 20107014353A KR 101156292 B1 KR101156292 B1 KR 101156292B1
Authority
KR
South Korea
Prior art keywords
volatile memory
resume
hibernate
memory
processor
Prior art date
Application number
KR1020107014353A
Other languages
English (en)
Other versions
KR20100098667A (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 KR20100098667A publication Critical patent/KR20100098667A/ko
Application granted granted Critical
Publication of KR101156292B1 publication Critical patent/KR101156292B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

일부 실시예에서, 장치는 프로세서 코어, 더 작은 비휘발성 메모리, 프로세서 코어에 의해 사용되는 운영 시스템, 프로그램 및 데이터를 보유하기 위한 더 큰 비휘발성 메모리를 포함한다. 이 장치는 또한 프로세서 코어에 대한 시스템 메모리로서의 역할을 하는 휘발성 메모리와, 파워 관리의 적어도 일부 측면을 제어하기 위한 파워 관리 로직을 포함한다. 파워 상태 변경 커맨드에 응답하여, 시스템 컨텍스트가 더 작은 비휘발성 메모리에 저장되고 휘발성 메모리의 파워 공급이 중단되며, 리줌 커맨드에 응답하여 휘발성 메모리가 파워를 공급받고 더 작은 비휘발성 메모리로부터 시스템 컨텍스트의 적어도 일부를 수신한다. 그외의 실시예들도 기술되었다.

Description

신속한 하이버네이트 및 리줌을 위한 장치 및 방법{SYSTEM AND METHOD FOR FAST PLATFORM HIBERNATE AND RESUME}
본 발명의 실시예는 일반적으로 컴퓨터 플랫폼 하이버네이트(hibernate) 및 리줌(resume)에 관한 것이다.
컴퓨터 시스템은 전형적으로 S3 및 S4를 포함하는 S-상태라 지칭되는 저전력 상태를 갖는다. S3는 때때로 스탠바이, 슬립, 또는 RAM으로의 서스펜드(Suspend to RAM)로도 지칭된다. 상태 S3는 운영 시스템(OS)이 자신의 컨텍스트를 물리적 메모리(동적 랜덤 액세스 메모리(DRAM))에 저장하고 시스템을 서스펜드 상태에 놓는 슬립 상태이다. S3에 진입할 때 사용되는 개방형 문서들(open document) 및 프로그램들(애플리케이션), 또는 적어도 프로그램들의 일부 역시 서스펜드 상태 중에 DRAM에 저장된다. 일부 칩셋 레지스터의 내용 또한 DRAM에 기록될 수 있다. 물리적 메모리인 DRAM은 때때로 주메모리 또는 시스템 메모리로 지칭된다. 이러한 서스펜드 상태 동안에는, DRAM과 나중에 시스템을 재가동하는 데에 사용되는 작은 부분의 회로를 제외하고 플랫폼 하드웨어로부터 모든 파워가 제거된다. S3 파워 상태는 고속 DRAM 메모리로부터 OS 컨텍스트 및 이전에 사용되었던 프로그램 및 문서를 저장 및 복구하는 자신의 능력으로 인해 상대적으로 빠른 서스펜드 및 리줌(웨이크) 시간을 제공한다.
S4는 때때로 하이버네이트(Hibernate), 세이프 슬립(Safe sleep), 또는 디스크로의 서스펜드(suspend to disk)로 지칭된다. S4에서, OS 컨텍스트 및 개방형 문서들과 프로그램들(또는 이들의 일부)이 패스트 DRAM 메모리가 아닌 하드 디스크 드라이브(HDD)에 저장된다. 이것은 DRAM이 파워 온 상태로 유지되지 않기 때문에 S3보다 더 많은 파워를 절약하게 한다. 그러나, HDD의 느린 판독 및 입력 액세스 시간으로 인해 지연시간이 더 길다. 전형적인 S4 하이버네이트 및 리줌 시간은 대략 수십 초이다.
일반적으로 수십 초의 시간이 길지 않은 것처럼 보일 수 있지만, 자신의 컴퓨터를 하이버네이트하거나 하이버네이트 상태로부터 리줌하고자 기다리는 사용자에게 있어서는 긴 시간처럼 느껴질 수 있다. 또한, DRAM을 동작 상태로 유지하는 데에 필요한 전력양이 짧은 기간에 있어서는 크지 않을 수 있지만, 더 긴 시간에 걸쳐 배터리를 충전하는 데에는 상당한 영향을 가질 수 있다.
따라서, S4 파워 상태보다 더 빠른 하이버네이트 및 리줌 시간을 제공하면서 S3 파워 상태보다 더 적은 파워를 소비하는 회로 및 기술이 필요하다.
도 1은 실시예에 따른 컴퓨터 시스템의 블록도.
도 2는 실시예에 따른 모바일 컴퓨터의 단면도.
도 3은 실시예에 따른 패스트 하이버네이트 경로 및 패스트 하이버네이트 상태로부터의 리줌의 순서도.
도 4-7은 각각 실시예에 따른 컴퓨터 시스템의 블록도.
본 발명은 아래에 주어진 상세한 설명과 본 발명의 실시예들에 대한 첨부된 도면으로부터 보다 완전하게 이해될 것이다. 그러나, 본 발명이 기술된 특정 실시예들로 제한되지 않으며 이는 단지 예시적이고 이해를 돕기 위한 것임을 이해해야 한다.
본 발명의 일부 실시예는, 적어도 하나의 운영 시스템, 프로그램 및 데이터를 저장하는 데에 사용되는 다른 비휘발성 메모리(더 큰 비휘발성 메모리 또는 하드 디스크 드라이브)보다 더 작은 용량을 갖는 비휘발성 메모리(더 작은 비휘발성 메모리 또는 NVRAM)에 시스템 컨텍스트가 기록되는 새로운 패스트 하이버네이트 프로세스를 가능케 하는 회로 및 기술과 관련된다. 패스트 하이버네이트로부터의 리줌에서, 시스템 컨텍스트가 더 작은 비휘발성 메모리로부터 판독되고, 컴퓨터 시스템의 동작을 복구하는 데에 사용된다. 일부 실시예에서, 시스템 컨텍스트는 완전히 DRAM 시스템 메모리로부터 더 작은 비휘발성 메모리로 전달되고, 리줌 시에는 완전히 더 작은 비휘발성 메모리로부터 DRAM 시스템 메모리로 전달된다. 다른 실시예에서, 시스템 컨텍스트는 칩셋 레지스터와 같은 다른 메모리로부터 부분적으로 올 수 있고 DRAM을 간접적으로 통하지 않고 레지스터로 직접 다시 입력된다.
일부 실시예의 패스트 하이버네이트 프로세스에서, DRAM 시스템 메모리로부터 더 작은 비휘발성 메모리로의 이동이 프로세서 코어 이후에 발생하며 하드 드라이브 및 디스플레이 스크린과 같은 다른 시스템 구성요소들이 파워 다운된다. 이것은 시스템 컨텍스트의 전달이 완료되지 않았을지라도 컴퓨터의 사용자가 컴퓨터 시스템이 신속하게 셧다운되는 것을 지각하도록 한다. 따라서, 실시예는 시스템 반응성에 대한 사용자 지각을 향상시킨다. 이것은 보다 높은 사용자 만족도를 제공한다. 이는 호스트 시스템 또는 파티션이 하이버네이트 상태 및 셧다운으로 진입하기 전에 프로세서가 모든 컨텍스트를 하드 디스크 드라이브(HDD)로 복제하는 종래 기술의 S4 트랜지션과는 상반된다.
일부 실시예에서, 패스트 하이버네이트 프로세스는 S3 및 S4 상태에 대해 설계되었지만 특별히 패스트 하이버네이트 프로세스를 위해서 설계된 것은 아닌 운영 시스템(OS)을 이용해 수행될 수 있다. 이것은 프로세서를 시스템 관리 모드(SMM)으로 놓고 DRAM 시스템 메모리로부터 더 작은 비휘발성 메모리로의 전송을 제어한 다음 슬립 타입을 하이버네이트 상태로 변경함으로써, BIOS 및/또는 다른 메커니즘이 RAM으로의 서스펜드(suspend to RAM)(S3) 커맨드에 응답하게 함으로써 수행될 수 있다. 이러한 실시예에서, 프로세스는 일부 OS에게 "투명형(transparent)"일 수 있다.
도 1을 참조하면, 시스템(12)이 플랫폼 컨트롤러 허브(PCH)(16) 및 시스템 메모리(DRAM)(20)에 연결된 프로세서(14)를 포함한다. 프로세서(14)는 중앙 처리 장치(CPU) 코어(22) 및 언코어(26)를 포함한다. 언코어(uncore)라는 용어는 제한된 정의를 갖지 않으며, 코어의 일부가 아닌 다양한 인터페이스 및 제어 회로를 갖는 프로세서의 일부를 지칭하는 일반적인 용어이다. 언코어(26)는 시스템 메모리(20)를 제어하기 위해 집적 메모리 컨트롤러(28)를 포함한다. 시스템 메모리(20)는 시스템 관리 모드(SMM)에 대한 명령을 보유하는 부분(30)을 포함한다. SMM은 종래 기술의 SMM 기술 또는 새로운 SMM 기술 또는 유사한 타입의 모드에 따를 수 있다. 비휘발성 메모리(NVRAM)(38)는 컨트롤러(34)를 통해 PCH(16)로 연결된다. 일부 실시예에서, NVRAM(38)은 패스트 플래쉬를 포함하고, 컨트롤러(34)는 NAND 컨트롤러이다. 일부 실시예에서, 컨트롤러(34)는 아래에 기술된 바와 같은 내장된 프로세서일 수 있다. 하드 드라이브(42)는 PCH(16)에 연결되고 프로세서(14)를 위한 운영 시스템, 프로그램 및 데이터를 보유한다. 일부 실시예에서, 하드 드라이브(42)의 일부 콘텐트가 시스템의 다른 구성요소들에 의해 사용될 수 있다. NVRAM(38)은 하드 드라이브(42)보다 상당히 더 작은 저장 용량을 갖지만, 하드 드라이브(42)보다 더 빠르게 액세스한다. 따라서, NVRAM(38)은 더 작은 비휘발성 메모리로 지칭될 수 있고, 하드 드라이브(42)는 더 큰 비휘발성 메모리로 지칭될 수 있다. 기본 입/출력 시스템(BIOS)(48)은 시스템 BIOS 명령어를 제공한다. 웨이크업(wake-up) 회로(50)는 리줌을 허용하도록 하이버네이트 동안 전력을 공급받을 수 있다. 일부 실시예에서, 도 1의 시스템의 구성요소들은 모바일 컴퓨터에서와 같이 케이스(52) 내에 보관된다.
도 2는 베이스 섹션(64)과, 디스플레이 스크린(68)을 포함하는 리드(lid)(66)를 구비하는 모바일 컴퓨터(62)를 도시한다. 베이스 섹션(64)은 도 1에서와 같은 시스템을 포함한다. 베이스 섹션(64)은 리드가 열리고 닫힐 때를 검출하도록 스위치(70)를 포함한다. 베이스 섹션(64)은 또한 (키보드용 버튼 또는 파워 버튼과 같은 그외의 버튼들과 같은) 버튼(72) 및 커서 제어 디바이스(94)를 포함한다. (RAM으로의 서스펜드(suspend to RAM) 또는 S3 커맨드로도 불리는 "스탠바이" 커맨드, 또는 다른 실시예에서 패스트 하이버네이트 커맨드와 같은) 파워 상태 변화 커맨드가 실시예들과 실시예들의 구성에 따라서 서로 다른 방식들로 개시될 수 있다. 파워 상태 변화 커맨드가 개시될 수 있는 방법들의 예시는, 리드 닫기, 파워 버튼 누르기, 다른 버튼 누르기, 커서가 풀 다운 메뉴 또는 아이콘의 클릭 제어하도록 하기, 등에서 하나 이상을 포함한다. 시스템이 하이버네이트로부터 리줌하도록 하는 웨이크 이벤트(리줌 커맨드)는 실시예들 및 실시예들의 구성에 따라서 다양한 방식으로 개시될 수 있다. 리줌 커맨드가 개시될 수 있는 예시적인 방법들은, 리드 열기, 파워 버튼 누르기, 다른 버튼 누르기, 커서가 풀 다운 메뉴 또는 아이콘의 클릭 제어하도록 하기, 등에서 하나 이상을 포함한다. 실제로, 시스템이 본질적으로 완전히 파워 다운되는 것이 바람직하기 때문에, 리줌하는 데에는 더 적은 방법들이 존재할 수 있다. 일부 실시예에서, 리줌 커맨드를 개시하는 유일한 방법은 파워 버튼을 누르는 것이다.
도 2를 참조하면, 파워 관리 유닛(44)이 ACPI(Advanced Configuration & Power Interface) 블록 레지스터를 포함하지만, 다른 실시예에서는 ACPI 레지스터가 사용되지 않을 수 있다. 다양한 ACPI 명세가 2006년 10월 10일자 개정 3.0b을 포함하여 공개되었으며, www.acpi.info에서 다운로드할 수 있다. 또한 DRAM 내에 보관되는 소프트웨어 ACPI 테이블도 존재한다. 종래 기술에서 알려진 바와 같이, 컴퓨터 시스템이 턴온될 때, 시스템 BIOS가 실행되기 시작한다. 시스템 BIOS는 플랫폼 및 칩셋 특정 펌웨어일 수 있고, (DRAM 내에서) 플랫폼 및 칩셋 특정 정보를 ACPI 테이블을 통해 전달한다.
ACPI 레지스터는 소위 슬립 타입(SLP_TYPE) 레지스터 및 슬립 인에이블(SLP_EN) 레지스터를 포함한다. 슬립 타입 레지스터에서 01이 서스펜드(suspend)를 나타내고 슬립 타입 레지스터에서 02가 하이버네이트를 나타낸다고 가정하자. 사용자가 서스펜드를 선택하면, OS는 ACPI 테이블을 검색하고, 서스펜드가 비트 01이 슬립 타입 레지스터로 기록되었음을 의미함을 알아낸다. OS는 슬립 타입 레지스터 내의 상기 값을 프로그램한다. OS가 서스펜드로 이동할 준비가 되었을 때, 슬립 인에이블 비트(들)를 설정한다. OS가 해당 슬립 인에이블 비트를 설정한 후에, 아래에서 기술되는 바와 같이 하드웨어가 인계하고 PCH(16)가 플랫폼을 파워 다운한다.
시스템은, 사용자가 STR(S3)을 선택했을 때 시스템이 실질적으로 패스트 하이버네이트를 수행하도록 구성될 수 있다. 이와 달리, 패스트 하이버네이트는 사용자를 위한 익스프레스 옵션일 수 있다. 아래에서는 STR(S3) 및 이후의 리줌이 선택될 수 있는 기술이 개시되었지만, 고속 하이버레이트 및 이로부터의 이후의 리줌이 수행된다.
내장 프로세서(34)와 같은 내장 프로세서(EP)는 물리적 DRAM 및 플래쉬와 같은 일부 비휘발성 메모리로 액세스하는 플랫폼 내의 호스트 칩셋 또는 임의의 다른 프로세싱 엔진(호스트 CPU의 높은 특권 모드를 포함) 내에 존재하는 관리가능 엔진(ME)일 수 있다. EP(34)는 플래쉬 또는 물리적 메모리로부터 자신의 코드를 실행할 수 있고, 그 실행은 프로세서 코어 또는 호스트 플랫폼 상태에 대해 독립적이다. 이것은 EP(34)가 호스트 코어가 실행되고 있지 않을 때 플랫폼을 위한 대역외(out-of-band) 관리가능 기능을 수행하도록 한다. 단지 컴퓨터 시스템의 칩 내에 내장 프로세서를 구비하는 것은 새로운 사실이 아니지만, 내장된 프로세서를 본 명세서에 기술된 바와 같이 사용하는 것은 새로운 사실이다.
NVRAM(38)은 어떠한 외부 파워 없이도 자신의 컨텍스트를 유지할 수 있다. 플래쉬 기술은 이러한 유형의 메모리의 예시이고, 플랫폼의 부트 스트랩 코드(BIOS) 및 구성 데이터를 저장하기 위해 거의 모든 플랫폼 내에서 사용된다. 이러한 메모리의 크기는 플랫폼 부트 스트랩 코드의 크기와, 플랫폼에 전력이 공급되지 않는 동안 저장되어야 할 수 있는 임의의 다른 정보에 의존할 수 있다. EP(34)는 또한 자신의 코드 및 데이터를 저장하도록 NVRAM을 사용할 수 있다. NVRAM(38)은 추후에 이용가능한 패스트 플래쉬에 따른, 또는 현재 이용가능한 기술에 따른 "패스트 플래쉬(Fast Flash)"와 같은 플래쉬 메모리를 포함할 수 있다. NVRAM(38)은 시스템 컨텍스트에 추가로 데이터를 저장하는 데에 사용될 수 있다. 다른 모든 것들이 동일할 때, 더 빠른 액세스 시간을 갖는 NVRAM이 선호된다. 일부 실시예에서, NVRAM(38)는 적어도 DRAM 시스템 메모리(20)만큼 큰 용량을 가지며, 일부 실시예에서는 DRAM 시스템 메모리(20)보다 훨씬 더 큰 용량을 갖는다.
도 3은 패스트 하이버네이트 경로 순서도와 패스트 하이버네이트로부터의 리줌 순서도의 예시의 개략적인 모습을 도시한다. 세부사항은 다른 실시예에서 달라질 수 있다. 도 2의 예시에서, 블록(80)은 호스트 OS를 나타낸다. 하이버네이트 데이터는 시스템 메모리 DRAM(20)으로 기록된다(데이터의 일부는 패스트 하이버네이트 커맨드 이전에, 일부는 이후에 기록될 수 있다). (S3 커맨드와 동일할 수 있는) 패스트 하이버네이트 커맨드에 앞서서, 플랫폼(호스트)이 S0 상태에 존재하고, (내장 프로세서(34)일 수 있거나 이를 포함하는) 관리가능한 엔진(ME)이 M0 상태에 존재한다. 슬립 타입 레지스터는, 일부 시스템에서 S3와 동일할 수 있는 S4 Fast로 설정된다. 슬립 인에이블 레지스터가 1로 설정되었을 때, 하드웨어 인터럽트가 생성되고, 이것은 내장 프로세서(34)가 하이버네이트 데이터를 시스템 메모리 DRAM(20)으로부터 패스트 플래쉬 NVRAM(38)로 복제하도록 한다. 그 다음 플랫폼 호스트 상태는 S4 Fast이고 ME는 상태 M1를 갖는다.
복제가 완료되면, ME는 M-off 상태를 가지고 웨이크업 로직(84)이 온(on)된다. 웨이크업 로직(84)은 웨이크업 회로(50)일 수 있거나 이를 포함할 수 있다. 또한 다양한 유형의 웨이크업 로직이 존재할 수 있다. 웨이크업 회로(50)는 물리적 파워 버튼, 특정한 버튼, 커서 제어 디바이스, USB 장치, 리드 개방 검출기 또는 그외의 다른 장치 중 하나 이상을 포함할 수 있다.
모든 OS 하이버네이트에 관련된 컨텍스트가 고속 NVRAM 디바이스로 복제되면, EP는 시스템 DRAM을 파워 다운 상태로 놓고 자신을 셧다운한다. 이 시점에, 시스템을 웨이크하는 데에 요구되는 최소한의 회로만이 파워를 유지하며 시스템은 완전히 하이버네이트 상태로 진입된다.
예시적인 리줌 경로에서, 웨이크업 로직(84)이 활성화되면, 내장 프로세서(34)가 고속 플래쉬 NVRAM(38)로부터 시스템 메모리 DRAM(20)으로 하이버네이트 데이터를 복제한다. 그 다음 BIOS가 OS 웨이크 벡터로 점핑한다.
일부 실시예에서, 파워 상태 변경 커맨드에 응답하여, OS가 슬립 타입 레지스터 및 슬립 인에이블 레지스터에 기록한다. BIOS 내에는 개별적인 정책이 존재한다. BIOS는, 무엇이 패스트 하이버네이트 프로세스를 시작시키는 S3 커맨드일지를 사용자가 선택하는 셋업 옵션을 가질 수 있으며, 따라서 OS가 STR을 원할 때, 플랫폼은 패스트 하이버네이트로 이동한다. 일부 실시예에서, OS는 패스트 하이버네이트가 발생하였다는 것을 인식하지 않으며 S3 변화가 발생하였다는 것을 인지한다. 일부 실시예에서, BIOS는 패스트 하이버네이트를 아래와 같이 용이하게 한다. OS가 슬립 인에이블 비트에 기록할 때 제어가 BIOS로 전달되도록 트리거가 설정된다. (일부 실시예에서, PCH(16)이 하드웨어 SMM 트리거를 지원한다.) 시스템 관리 모드(SMM)는 SMM 핀이 활성화되는 것에 응답하여 OS로부터 제어를 없앤다. SMM은 종래 기술의 SMM 또는 변경된 새로운 SMM일 수 있다. 일부 실시예에서, 프로세서(14)는 SMM 핀을 포함하며, 이는 어서트되었을 때 프로세서 코어가 SMM 모드로 이동하게 한다. 프로세서 코어는 정지하고 DRAM(20)의 SMRAM 섹션(30)으로 점핑한다. SMRAM 섹션(30)은 부팅시에 콘텐트를 설치할 수 있는 BIOS에 의해 소유된다. SMM이 어서트되었을 때, CPU는 SMRAM(30)으로부터 명령어를 취한다. SMM 명령어의 끝에, OS로 복귀하라는 리줌 커맨드가 존재할 수 있다.
일부 실시예에서, 슬립 타입 레지스터는 DRAM(20)의 콘텐트가 NVRAM(38)로 전달된 후에 STR(S3)로부터 DISC로의 하이버네이트(hibernate to DISC)(S4)(예컨대, 01 또는 02)로 변경된다. 슬립 타입 레지스터에서의 변경 후에, OS는 마치 시스템이 S3에 있는 것처럼 진행하고, BIOS는 마치 시스템이 하이버네이트 모드에 있는 것처럼 진행하며, 이것은 시스템으로 하여금 전술된 바와 같은 소수 예외를 제외하고 셧다운되도록 한다. 이러한 식으로, 일부 실시예에서, OS가 실제로 패스트 하이버네이트 상태에 있을 때 시스템이 S3에 있는 것처럼 "속아서" 생각하게 된다. 이것은 하드웨어 플랫폼이 보다 깊은 슬립 상태 S4로 트랜지션하도록 하지만, OS는 플랫폼이 서스펜드에 있는 것으로 생각하기 때문에 OS가 하드 드라이브로 복제하도록 강요하지는 않는다. 따라서, 셧다운 프로세스는 종래 기술의 S4의 경우에서보다 훨씬 더 빠르다. 프로세스는 시스템의 나머지의 많은 부분이 셧다운하는 동안과 그 후에 컨텍스트의 전달이 발생할 때 오히려 더 빠르다.
일부 실시예에 있어서 패스트 하이버네이트로 이동하는 일부 측면이 아래와 같이 기술되었지만, 다른 실시예에서 세부사항들이 상이할 수 있다.
1. OS가 DRAM의 고정된 연속적인 영역에서 자신의 현재 상태를 저장함으로써 패스트 하이버네이트 트랜지션을 개시한다. 이러한 하이버네이트 데이터 영역은 리줌에 따른 시스템 복구를 위한 하드웨어 및 소프트웨어 컨텍스트 뿐 아니라 OS 웨이크업 벡터를 포함한다.
2. OS는 칩셋 하드웨어에게 자신이 하이버네이트 상태로 트랜지션하길 원한다는 것을 나타내도록 칩셋(PCH 16) 내의 SLP_TYPE 및 SLP_EN 비트를 설정한다.
3. SLP_EN 비트의 설정은 EP(34)로의 하드웨어 인터럽트를 발생시킨다. EP(34)는 인터럽트를 평가하고 시스템이 하이버네이트 슬립 상태로 이동하길 원하는지 판정한다. EP(34)는 프로세서 코어(22) 및 모든 사용자가 볼 수 있는 플랫폼 하드웨어를 셧다운하고, 오직 DRAM(20)에만 파워가 제공되도록 남겨둠으로써 플랫폼의 부분적인 파워-다운을 개시한다. 이와 달리, 소정의 지연(예컨대, 15분) 후에 트리거링됨으로써, 짧은 기간의 슬립 간격 동안 시스템이 종래의 S3를 사용하도록 하고, 오직 의도된 S3 간격(예컨대, 15분) 후에만 하이버네이트 기능을 트리거링할 수 있다.
4. EP(34)는 자신의 내부 SRAM 버퍼(82)(도 2에 도시됨)를 통해 시스템 DRAM(20)으로부터 고속 NVRAM 메모리(38)로 OS 하이버네이트 데이터 영역을 복제한다.
5. EP(34)는 슬립 상태로부터의 웨이크를 위해 웨이크업 로직(84)을 준비시킨다.
6. EP(34)는 DRAM(20)을 파워 다운시키고, 자신을 파워오프 상태로 놓는다.
7. 이 시점에, 시스템을 웨이크하는 데에 필요한 최소한의 하드웨어를 제외하고 모든 시스템이 파워 다운된다.
웨이크 이벤트가 발생하면(리줌 커맨드의 개시), EP(34)는 먼저 파워 온 되고 즉시 DRAM 시스템 메모리(20)를 초기화하며, 고속 NVRAM 디바이스(38)로부터 OS DRAM 컨텍스트를 복구하기 시작한다. 일부 실시예에서, DRAM의 복구는 프로세서가 시스템 BIOS 코드를 실행하기 시작하기 이전에 발생한다. BIOS가 자신의 정규 하이버네이트 경로를 따르는 동안, EP(34)는 DRAM(20) 내에 OS 컨텍스트를 계속 복구하고, BIOS(48)이 프로세서, 칩셋 및 그외의 플랫폼 구성요소들의 초기화를 완료했을 시점에, EP(34)는 이미 DRAM 내에 모든 OS 하이버네이트 회복 컨텍스트의 복구를 완료한다. BIOS(48)는 자신의 실행을 완료하고 처음에 DRAM의 OS 하이버네이트 회복 컨텍스트 내에 구현되어 하이버네이트 데이터의 나머지에 따라 EP에 의해 복구된 OS 하이버네이트 웨이크업 벡터로 제어를 전달한다. 제어를 시작하면, OS 웨이크업 코드는 즉시 DRAM(20)으로부터 실행을 시작하고, DRAM 내의 하이버네이트 회복 데이터를 이용하여 남아있는 OS 구성요소들을 복구한다. 다른 실시예에서, 세부사항들이 상이할 수 있다.
일부 실시예에서, 패스트 하이버네이트로부터의 리줌에서, BIOS는 DRAM(20)을 포함하는 시스템 구성요소의 실행 및 초기화를 시작하며, 이는 파워가 손실되었기 때문에 초기화된다. NVRAM(38) 역시 초기화된다. 메모리가 초기화되면, NVRAM(38)의 콘텐트의 적어도 일부가 DRAM(20)으로 복제된다. BIOS 내의 소프트웨어 스위치는 하이버네이트(S4) 플로우로부터 서스펜드(S3) 플로우로 수행된다. 그 다음 BIOS는 S3_wake_vector로 점핑한다. 이때, OS는 OS S3_wake를 진행시키는 데에 필요한 것을 구비한다.
일부 실시예에서, 압축 하드웨어를 추가함으로써 리줌 플로우의 속도를 추가로 증가시키거나 또는 암호화 성능을 추가함으로써 보안 성능을 추가하도록 추가적인 프로세싱 에이전트가 존재한다.
일부 실시예에 있어서 패스트 하이버네이트로부터의 리줌의 일부 측면들이 아래와 같이 기술되었지만, 다른 실시예에서는 세부사항이 상이할 수 있다.
1. 사용자 동작이 웨이크 이벤트를 발생시키고, 이는 EP(34) 및 프로세서(14)가 웨이크업하게 한다.
2. EP(34)는 패스트 하이버네이트 이벤트로부터 웨이크업하고 있음을 검출하고, 따라서 메모리를 초기화하며, 자신의 내부 SRAM 버퍼(82)를 통해서 NVRAM(38)로부터 DRAM 메모리(20)로의 OS 하이버네이트 회복 컨텍스트를 시작한다.
3. CPU가 리셋되어 시스템 BIOS 코드의 실행을 시작한다. BIOS는 자신의 하이버네이트 리줌 경로를 실행하고, 결국 지금까지 EP에 의해 복구되어왔던 DRAM 내의 OS 웨이크업 벡터로 제어를 전달한다.
4. 이때, 제어가 DRAM 내의 OS 웨이크업 벡터로 이동하고, OS는 시스템 메모리 내의 하이버네이트 회복 데이터를 이용하여 자신의 상태를 복구하기 시작한다.
NVRAM(38)로의 판독 및 기록 액세스 시간이 하드 드라이브(42)로의 판독 및 기록 액세스 시간보다 훨씬 더 빠르기 때문에, 서스펜드 및 리줌 시간이 본 발명의 실시예에서 종래 기술의 DISC로의 S4 서스펜드 및 리줌에서보다 훨씬 더 짧다.
실시예는 하이버네이트와 리줌 사이에 대부분의 시스템을 셧다운시킴으로써, 서스펜드 및 리줌에 대한 훨씬 빠른 응답 시간과 보다 긴 배터리 수명의 조합을 제공할 수 있다.
도 4는 NVRAM 컨트롤러(예컨대, 내장 프로세서)(134)가 PCH(116)에 연결된 프로세서(114)의 언코어(126) 내에 있다는 점을 제외하고는 도 1과 동일한 시스템을 도시한다. BIOS(148)는 BIOS(48)과 동일할 수 있거나 또는 다소 상이할 수 있다.
도 5는 PM 유닛(244)이 PCH(216)가 아닌 프로세서(214)의 언코어(220) 내에 포함되었다는 점을 제외하고는, 도 4와 동일한 시스템을 도시한다. PCH(216) 내에는 다른 PM 유닛이 존재할 수도 있다. BIOS(248)는 BIOS(48)과 동일할 수 있거나 또는 다소 상이할 수 있다. 파워 관리 로직은 프로세서 및 PCH의 조합 내에 포함될 수 있거나, 또는 이들 중 하나 또는 다른 구성요소 내에 존재할 수 있다.
도 6은 도시된 바와 같이 (섹션(30-1, 30-2)을 갖는) 메모리(20-1, 20-2)에 연결된 IMC(28-1, 28-2)와 언코어(326-1, 326-2)를 포함하는 두 개의 프로세서(314-1, 314-2)가 각각 존재한다는 점을 제외하고는 도 1과 동일한 시스템을 도시한다. 프로세서(314-1, 314-2)는 PCH(316)에 연결된다. 프로세서(314-1, 314-2), 컨트롤러(334), PM 유닛(344), BIOS(348)은 프로세서(14), 언코어(20), 컨트롤러(34), PM 유닛(44) 및 BIOS(48)와 동일할 수 있거나 또는 상이할 수 있다.
도 7은 메모리 컨트롤러(428)가 프로세서(414)의 언코어(426)가 아닌 컨트롤러 허브(416) 내에 존재한다는 점을 제외하고는 도 1과 동일한 시스템을 도시한다. 메모리 컨트롤러(418), BIOS(448) 및 파워 관리 유닛(444)은 메모리 컨트롤러(28), BIOS(48) 및 파워 관리 유닛(44)과 동일할 수 있거나 또는 상이할 수 있다.
도면에서, CPU 코어(22)의 다른 인스턴스, 메모리 컨트롤러(28), 컨트롤러(34), 메모리(20) 및 섹션(30), NVRAM(38) 및 하드 드라이브(42)는 서로 동일하거나 또는 상이할 수 있다.
일부 종래 기술의 보통의 S4 리줌 프로세스 동안에, BIOS는 OS 로더로 제어를 전달하기 이전에 시스템을 초기화하는 데에 10-15초를 소요할 수 있다. 일부 실시예에서, 패스트 하이버네이트에서, BIOS는 (CPU SMM 또는 EP를 통해) DRAM 컨텍스트가 복구되자마자 S4로부터 S3 경로로 스위칭한다. 이것은 BIOS가 더 빠른 S3 리줌 경로를 획득하고 (예컨대, 수백 ms) 빨리 OS 웨이크 벡터로 점핑하도록 한다. 다른 실시예에서, 세부사항들이 상이할 수 있다.
본 발명은 임의의 특정한 운영 시스템과 사용하는 것으로 제한되지 않는다. 일부 실시예들은 Microsoft Windows, Vista, Mac OS 등과 함께 사용될 수 있다.
슬립 타입 레지스터 및 슬립 인에이블 레지스터는 물리적으로 개별적인 레지스터 또는 더 큰 레지스터의 하위 부분들일 수 있다.
NVRAM(38)는 하나의 물리적인 위치 내에 있거나 또는 물리적으로 서로 다른 위치들에 분산되어 있을 수 있다.
추가 정보 및 실시예
본 명세서에서 지칭되는 "로직(logic)"은 회로, 소프트웨어, 마이크로코드, 또는 이들의 조합으로 구현될 수 있다.
도면의 블록들의 형태 및 상대적인 크기는 실제 형태와 상대적인 크기를 나타내는 것이 아니다. 실제 구현물은 도면에 도시되지 않은 추가적인 구성요소들과 구성요소들 사이의 상호접속부를 포함할 수 있다.
실시예는 발명의 구현물 또는 예시이다. 명세서에 기술된 "실시예", "일 실시예", "일부 실시예" 또는 "다른 실시예"라는 표현은, 해당 실시예와 관련되어 기술된 특정한 특징, 구성 또는 특성이 반드시 전체 실시예가 아닌, 적어도 일부 실시예에 포함된다는 것을 의미한다. "실시예", "일 실시예", 또는 "일부 실시예"의 다양한 표현들이 반드시 동일한 실시예를 지칭하는 것은 아니다.
소자 "A"가 소자 "B"에 연결되었다는 표현에서, 소자 A는 소자 B에 직접적으로, 또는 예를 들어 소자 C를 통해 간접적으로 연결되었을 수 있다.
구성요소, 특성, 구조, 프로세스 또는 특징 A가 구성요소, 특성, 구조, 프로세스 또는 특징 B를 "발생시킨다"는 명세서 또는 특허청구범위 내의 표현에서, 이는 "A"가 적어도 "B"의 부분적인 요인임을 의미하지만, "B"를 발생시키도록 하는 적어도 하나의 다른 구성요소, 특성, 구조, 프로세스 또는 특징이 존재할 수 있다. 유사하게, A가 B에 응답한다는 표현이 A가 C에는 응답하지 않는다는 것을 의미하는 것은 아니다.
명세서에서 어떠한 구성요소, 특성, 구조, 프로세스 또는 특징이 "포함될 수", "포함될 수도", 또는 "포함되었을 수" 있다고 언급하는 것이, 상기 특정한 구성요소, 특성, 구조, 프로세스 또는 특징이 반드시 포함되어야 함을 의미하는 것은 아니다. 명세서 또는 특허청구범위에서 단수의 소자를 지칭하는 것이 해당 소자가 단 한 개만 있음을 의미하는 것은 아니다.
본 발명은 본 명세서에 기술된 특정한 세부사항들로 제한되지 않는다. 오히려, 전술된 설명과 도면에 대한 다수의 다른 변경이 본 발명의 범주 내에서 이루어질 수 있다. 따라서, 본 발명의 범주를 규정하는 아래의 특허청구범위는 이에 대한 임의의 수정사항을 포함한다.

Claims (20)

  1. 플랫폼 하이버네이트 및 리줌(platform hibernate and resume)을 제공하는 장치에 있어서,
    프로세서 코어와,
    상기 프로세서 코어에 대한 시스템 메모리로서의 역할을 하는 휘발성 메모리와,
    상기 휘발성 메모리로부터 복제되는 시스템 컨텍스트(system context) 정보를 보유하기 위한 제1 비휘발성 메모리와,
    상기 프로세서 코어에 의해 사용되는 운영 시스템, 프로그램 및 데이터를 보유하기 위한 제2 비휘발성 메모리 - 상기 제1 비휘발성 메모리는 상기 제2 비휘발성 메모리보다 작은 용량을 가짐- 와,
    파워 관리의 적어도 일부 측면을 제어하기 위한 파워 관리 로직과,
    상기 휘발성 메모리와 상기 제1 비휘발성 메모리 간의 시스템 컨텍스트 데이터의 전달을 제어하는 내장 프로세서- 상기 내장 프로세서는 상기 프로세서 코어 및 상기 장치의 플랫폼 상태에 대해 독립적임 -를 포함하되,
    휘발성 메모리로의 서스펜드 파워 상태 변경 커맨드(suspend to volatile memory power state change command)에 응답하여, 시스템 컨텍스트가 상기 운영 시스템에 의해 상기 휘발성 메모리의 연속적인 영역에 저장되고, 하이버네이트 상태를 나타내는 설정이 제공되며, 상기 설정에 의해, 상기 내장 프로세서가 상기 프로세서 코어를 셧다운시키고 상기 시스템 컨텍스트를 상기 휘발성 메모리로부터 상기 제1 비휘발성 메모리로 복제하며, 그 후 상기 내장 프로세서가 상기 휘발성 메모리를 파워 다운하고 상기 내장 프로세서로 하여금 파워 다운 상태가 되도록 하는 인터럽트가 발생되고,
    리줌(resume) 커맨드에 응답하여, 상기 내장 프로세서 및 상기 프로세서 코어는 웨이크(wake)되고, 상기 내장 프로세서는 상기 휘발성 메모리를 초기화하고 상기 제1 비휘발성 메모리로부터 상기 시스템 컨텍스트의 적어도 일부를 상기 휘발성 메모리로 복제하는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  2. 제 1 항에 있어서,
    상기 파워 관리 로직은, 상기 시스템 컨텍스트가 상기 제1 비휘발성 메모리에 저장되고 그 후 상기 휘발성 메모리가 상기 내장 프로세서에 의해 파워다운되는 경우, 상기 운영 시스템이 휘발성 메모리로의 서스펜드(suspend to volatile memory) 동작을 인식하도록 동작하는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 프로세서 코어는, 상기 내장 프로세서가 상기 휘발성 메모리로부터 상기 제1 비휘발성 메모리로 상기 시스템 컨텍스트를 복제하는 것을 완료하기 이전에 파워 오프되는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  5. 제 1 항에 있어서,
    상기 파워 상태 변경 커맨드에 응답하여, 상기 운영 시스템이 처음에 휘발성 메모리로의 서스펜드 동작을 수행하고 상기 시스템 컨텍스트가 상기 휘발성 메모리 내에 저장되며, 특정 시간 내에 동작이 존재하지 않으면, 상기 시스템 컨텍스트가 상기 제1 비휘발성 메모리에 저장되는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  6. 제 5 항에 있어서,
    상기 프로세서 코어는 상기 제1 비휘발성 메모리 내의 상기 시스템 컨텍스트의 저장이 완료되기 이전에 파워 오프되는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  7. 제 1 항에 있어서,
    프로세서의 언코어 섹션(uncore section)을 더 포함하되,
    상기 내장 프로세서는 상기 언코어 섹션을 통해서 상기 휘발성 메모리로부터 상기 제1 비휘발성 메모리로 상기 시스템 컨텍스트를 복제하는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  8. 제 7 항에 있어서,
    상기 파워 관리 로직의 적어도 일부분이 상기 프로세서 내에 포함되는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  9. 제 1 항에 있어서,
    BIOS를 더 포함하되,
    상기 BIOS는 상기 휘발성 메모리로부터 상기 제1 비휘발성 메모리로의 상기 시스템 컨텍스트의 전달을 야기하고, 상기 휘발성 메모리로부터 상기 제1 비휘발성 메모리로의 상기 시스템 컨텍스트의 상기 복제에 이어서 상기 BIOS가 휘발성 메모리로의 서스펜드 상태로부터 하이버네이트 상태(hibernate state)로의 슬립 타입 레지스터(sleep type register)의 변화를 발생시키는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  10. 제 9 항에 있어서,
    상기 BIOS는 상기 슬립 타입 레지스터의 비트들의 변화를 발생시키는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  11. 제 1 항에 있어서,
    상기 파워 관리 로직이 슬립 타입 레지스터를 포함하고,
    상기 파워 상태 변경 커맨드에 응답하여, 상기 슬립 타입 레지스터가 처음에 휘발성 메모리로의 서스펜드 동작을 나타내는 비트들을 갖지만, 상기 시스템 컨텍스트가 상기 제1 비휘발성 메모리에 저장된 후에는 상기 슬립 타입 레지스터가 하이버네이트 동작을 나타내는 비트들을 갖도록 변경되는
    플랫폼 하이버네이트 및 리줌을 제공하는 장치.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 플랫폼 하이버네이트 및 리줌을 제공하는 방법에 있어서,
    장치에 대한 휘발성 메모리로의 서스펜드 파워 상태 변경 커맨드를 수신하는 단계- 상기 장치는 프로세서 코어에 대한 시스템 메모리로서의 역할을 하는 휘발성 메모리와, 상기 휘발성 메모리로부터 복제되는 시스템 컨텍스트 정보를 보유하기 위한 제1 비휘발성 메모리와, 상기 프로세서 코어에 의해 사용되는 운영 시스템, 프로그램 및 데이터를 보유하기 위한 제2 비휘발성 메모리를 포함하며, 상기 제1 비휘발성 메모리는 상기 제2 비휘발성 메모리보다 작은 용량을 가짐 -와,
    상기 시스템 컨텍스트가 상기 제1 비휘발성 메모리에 저장되고 그 후 상기 휘발성 메모리의 파워 공급이 중단되는 경우, 상기 운영 시스템이 휘발성 메모리로의 서스펜드 동작을 인식하도록 동작하는 단계를 포함하되,
    상기 동작하는 단계는,
    시스템 컨텍스트가 상기 운영 시스템에 의해 상기 휘발성 메모리의 연속적인 영역에 저장되게 하는 단계와,
    하이버네이트 상태를 나타내는 설정을 제공하는 단계- 상기 설정에 의해, 내장 프로세서가 상기 프로세서 코어를 셧다운시키고 상기 시스템 컨텍스트를 상기 휘발성 메모리로부터 상기 제1 비휘발성 메모리 복제하며, 그 후 상기 내장 프로세서가 상기 휘발성 메모리를 파워 다운하고 상기 내장 프로세서로 하여금 파워 다운 상태가 되도록 하는 인터럽트가 발생됨 -를 포함하고,
    리줌(resume) 커맨드에 응답하여, 상기 내장 프로세서 및 상기 프로세서 코어는 웨이크되고, 상기 내장 프로세서는 상기 휘발성 메모리를 초기화하고 상기 제1 비휘발성 메모리로부터 상기 시스템 컨텍스트의 적어도 일부를 상기 휘발성 메모리로 복제하는
    플랫폼 하이버네이트 및 리줌을 제공하는 방법.
  18. 제 17 항에 있어서,
    상기 시스템 컨텍스트의 저장이 완료되기 이전에 상기 프로세서 코어를 파워 오프하는 단계를 더 포함하는
    플랫폼 하이버네이트 및 리줌을 제공하는 방법.
  19. 제 17 항에 있어서,
    상기 휘발성 메모리로의 서스펜드 파워 상태 변경 커맨드에 응답하여, 처음에 휘발성 메모리로의 서스펜드 동작을 수행하고 상기 시스템 컨텍스트가 상기 휘발성 메모리 내에 저장되며, 특정 시간 내에 동작이 존재하지 않으면 상기 시스템 컨텍스트를 상기 제1 비휘발성 메모리에 저장하는
    플랫폼 하이버네이트 및 리줌을 제공하는 방법.
  20. 삭제
KR1020107014353A 2007-12-28 2008-11-25 신속한 하이버네이트 및 리줌을 위한 장치 및 방법 KR101156292B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/965,948 US7971081B2 (en) 2007-12-28 2007-12-28 System and method for fast platform hibernate and resume
US11/965,948 2007-12-28
PCT/US2008/084710 WO2009085507A1 (en) 2007-12-28 2008-11-25 System and method for fast platform hibernate and resume

Publications (2)

Publication Number Publication Date
KR20100098667A KR20100098667A (ko) 2010-09-08
KR101156292B1 true KR101156292B1 (ko) 2012-06-14

Family

ID=40800122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014353A KR101156292B1 (ko) 2007-12-28 2008-11-25 신속한 하이버네이트 및 리줌을 위한 장치 및 방법

Country Status (8)

Country Link
US (1) US7971081B2 (ko)
JP (1) JP5128677B2 (ko)
KR (1) KR101156292B1 (ko)
CN (1) CN101911031B (ko)
DE (1) DE112008003520B4 (ko)
GB (1) GB2468091B (ko)
TW (1) TWI420291B (ko)
WO (1) WO2009085507A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023048811A1 (en) * 2021-09-23 2023-03-30 Intel Corporation Reducing memory power usage in far memory

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171268B2 (en) * 2005-09-19 2012-05-01 Intel Corporation Technique for context state management to reduce save and restore operations between a memory and a processor using in-use vectors
US8762692B2 (en) * 2007-09-27 2014-06-24 Intel Corporation Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode
JP2009146061A (ja) * 2007-12-12 2009-07-02 Canon Inc 情報処理装置及び前記装置の起動方法
US8713241B2 (en) * 2008-08-27 2014-04-29 Wireless Silicon Group, Llc Method and apparatus for an active low power mode of a portable computing device
US8281169B2 (en) 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
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
TWI417710B (zh) * 2009-05-26 2013-12-01 Feature Integration Technology Inc 可節省待機/關機狀態之功率消耗的電腦系統及其相關方法
US8250379B2 (en) * 2009-10-13 2012-08-21 Microsoft Corporation Secure storage of temporary secrets
US8645738B2 (en) * 2009-10-27 2014-02-04 Nokia Corporation Nonvolatile device
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법
US20110107020A1 (en) * 2009-10-30 2011-05-05 Duan Binghua Hibernation solution for embedded devices and systems
US8780121B2 (en) * 2009-12-22 2014-07-15 Intel Corporation Graphics render clock throttling and gating mechanism for power saving
GB2477417A (en) * 2010-01-28 2011-08-03 Apple Inc Memory power reduction in a sleep state
US20110185208A1 (en) * 2010-01-28 2011-07-28 Apple Inc. Memory power reduction in a sleep state
TWM412423U (en) * 2010-08-13 2011-09-21 Micro Star Int Co Ltd Computer motherboard for reducing power consumption during sleep mode
CN102402271B (zh) * 2010-09-13 2016-03-30 富泰华工业(深圳)有限公司 电子设备及其节省电能源的方法
US9483103B2 (en) 2010-10-22 2016-11-01 Hewlett-Packard Development Company, L.P. Process state of a computing machine
US8788798B2 (en) 2010-12-06 2014-07-22 Microsoft Corporation Fast computer startup
US8543849B2 (en) 2010-12-06 2013-09-24 Microsoft Corporation Fast computer startup
US9032194B2 (en) 2010-12-06 2015-05-12 Microsoft Technology Licensing, Llc Fast computer startup
US8694764B2 (en) 2011-02-24 2014-04-08 Microsoft Corporation Multi-phase resume from hibernate
CN102810007B (zh) * 2011-05-31 2015-11-25 联想(北京)有限公司 一种计算机状态转换方法、装置及计算机
US10042650B2 (en) 2011-03-23 2018-08-07 Lenovo (Beijing) Co., Ltd. Computer startup method, startup apparatus, state transition method and state transition apparatus
US9009407B2 (en) * 2011-03-29 2015-04-14 Dell Products L.P. System and method for performing system memory save in tiered/cached storage
TWI437419B (zh) * 2011-04-27 2014-05-11 Asustek Comp Inc 電腦系統及其睡眠控制方法
CN102866934B (zh) * 2011-07-05 2015-10-28 中国科学院上海微系统与信息技术研究所 基于非易失随机存储器的嵌入式设备的休眠及唤醒系统
TW201314572A (zh) * 2011-09-21 2013-04-01 Acer Inc 使用反及閘快閃記憶體的電子裝置及其記憶體管理方法
CN103035288A (zh) * 2011-09-30 2013-04-10 宏碁股份有限公司 使用与非门快闪存储器的电子装置及其存储器管理方法
CN103959234B (zh) 2011-10-01 2017-11-07 英特尔公司 计算系统的快速平台休眠与恢复
US9958926B2 (en) * 2011-12-13 2018-05-01 Intel Corporation Method and system for providing instant responses to sleep state transitions with non-volatile random access memory
CN103975287B (zh) * 2011-12-13 2017-04-12 英特尔公司 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持
WO2013100935A1 (en) * 2011-12-28 2013-07-04 Intel Corporation A method and device to augment volatile memory in a graphics subsystem with non-volatile memory
US8984316B2 (en) * 2011-12-29 2015-03-17 Intel Corporation Fast platform hibernation and resumption of computing systems providing secure storage of context data
US8230247B2 (en) * 2011-12-30 2012-07-24 Intel Corporation Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state
JP5711160B2 (ja) 2012-01-15 2015-04-30 レノボ・シンガポール・プライベート・リミテッド パスワードを保護する方法およびコンピュータ
CN103218031A (zh) * 2012-01-20 2013-07-24 宏碁股份有限公司 电子装置以及休眠方法
US9268941B1 (en) * 2012-05-01 2016-02-23 Marvell International Ltd. Method for secure software resume from low power mode
JP5960519B2 (ja) * 2012-06-22 2016-08-02 株式会社半導体エネルギー研究所 コンピュータのメモリ管理方法
CN102841674B (zh) * 2012-07-25 2015-02-04 中国科学院上海微系统与信息技术研究所 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法
US9207749B2 (en) * 2012-08-28 2015-12-08 Intel Corporation Mechanism for facilitating efficient operations paths for storage devices in computing systems
TWI465889B (zh) * 2012-09-20 2014-12-21 Acer Inc 休眠管理方法及相關裝置
US9030482B2 (en) 2012-11-09 2015-05-12 Intel Corporation Hybrid display frame buffer for display subsystem
CN102999442B (zh) * 2012-11-16 2015-12-02 成都索贝数码科技股份有限公司 面向媒体应用的存储系统及方法
US9323317B2 (en) * 2012-12-12 2016-04-26 International Business Machines Corporation System and methods for DIMM-targeted power saving for hypervisor systems
US9032139B2 (en) * 2012-12-28 2015-05-12 Intel Corporation Memory allocation for fast platform hibernation and resumption of computing systems
JP6047033B2 (ja) * 2013-02-25 2016-12-21 ルネサスエレクトロニクス株式会社 Lsiおよび情報処理システム
US9971616B2 (en) 2013-02-26 2018-05-15 Red Hat Israel, Ltd. Virtual machine suspension
US9239610B2 (en) * 2013-02-28 2016-01-19 Sandisk Technologies Inc. Systems and methods for managing data in a system for hibernation states
US10528116B2 (en) * 2013-03-14 2020-01-07 Seagate Technology Llc Fast resume from hibernate
RU2628124C2 (ru) * 2013-03-15 2017-08-15 Интел Корпорейшн Система памяти
CN103150191A (zh) * 2013-03-27 2013-06-12 青岛中星微电子有限公司 一种终端设备
CN103425506B (zh) * 2013-05-20 2016-12-07 华为技术有限公司 关机方法及开机方法及通信终端
US9286097B2 (en) * 2013-07-23 2016-03-15 Intel Corporation Switching a first OS in a foreground to a standby state in response to a system event and resuming a second OS from a background
CN105339898B (zh) * 2013-07-23 2019-08-06 英特尔公司 操作系统切换方法及装置
GB2517159A (en) 2013-08-13 2015-02-18 Sony Comp Entertainment Europe Data processing
CN104423534A (zh) * 2013-09-10 2015-03-18 联想(北京)有限公司 一种信息处理方法及电子设备
TWI646463B (zh) * 2013-12-27 2019-01-01 財團法人工業技術研究院 休眠喚醒方法及電子裝置
TWI610239B (zh) * 2013-12-27 2018-01-01 財團法人工業技術研究院 休眠喚醒方法及電子裝置
US9442560B2 (en) * 2014-02-26 2016-09-13 Kabushiki Kaisha Toshiba Memory system minimizing occurrences of storing of operation data in non-volatile storage during power saving mode
KR20150104695A (ko) 2014-03-06 2015-09-16 삼성전자주식회사 디스플레이 장치 및 이의 제어 방법
US9934047B2 (en) * 2014-03-20 2018-04-03 Intel Corporation Techniques for switching between operating systems
US10572269B2 (en) 2014-04-29 2020-02-25 Hewlett-Packard Development Company, L.P. Resuming a system using state information
JP5901698B2 (ja) 2014-06-17 2016-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリ管理方法
US9785447B2 (en) * 2014-06-27 2017-10-10 Intel Corporation System standby emulation with fast resume
US10061377B2 (en) 2015-02-06 2018-08-28 Toshiba Memory Corporation Memory device and information processing device
KR102428375B1 (ko) 2015-07-24 2022-08-02 삼성전자주식회사 영상 표시 장치 및 그 동작방법
US9449655B1 (en) 2015-08-31 2016-09-20 Cypress Semiconductor Corporation Low standby power with fast turn on for non-volatile memory devices
CN105224402A (zh) * 2015-09-11 2016-01-06 上海斐讯数据通信技术有限公司 一种多系统快速切换方法及系统
KR102653582B1 (ko) 2016-03-18 2024-04-03 삼성전자 주식회사 전자장치 및 그의 프로세스 재개 방법
US10198204B2 (en) * 2016-06-01 2019-02-05 Advanced Micro Devices, Inc. Self refresh state machine MOP array
US10452561B2 (en) 2016-08-08 2019-10-22 Raytheon Company Central processing unit architecture and methods for high availability systems
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
US10496443B2 (en) * 2017-05-03 2019-12-03 Vmware, Inc. OS/hypervisor-based persistent memory
US10474550B2 (en) 2017-05-03 2019-11-12 Vmware, Inc. High availability for persistent memory
US10613943B2 (en) * 2017-07-27 2020-04-07 Western Digital Technologies, Inc. Method and system for improving open block data reliability
KR102406571B1 (ko) 2017-12-28 2022-06-08 삼성전자주식회사 디스플레이 장치 및 그 동작방법
US11061692B2 (en) * 2018-02-07 2021-07-13 Intel Corporation Low latency boot from zero-power state
US10817423B2 (en) 2018-10-10 2020-10-27 Micron Technology, Inc. Memory mapping for hibernation
JP7198065B2 (ja) * 2018-12-06 2022-12-28 株式会社Pfu コンピュータシステム及び制御方法
WO2020155074A1 (zh) * 2019-01-31 2020-08-06 华为技术有限公司 一种处理装置、方法及相关设备
CN112947738A (zh) * 2019-12-10 2021-06-11 珠海全志科技股份有限公司 一种智能终端电源系统及智能终端待机、唤醒方法
CN112462926B (zh) * 2020-12-09 2021-07-30 北京元心科技有限公司 移动终端中的电源管理方法、装置、电子设备及计算机存储介质
US20220414222A1 (en) * 2021-06-24 2022-12-29 Advanced Micro Devices, Inc. Trusted processor for saving gpu context to system memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040019602A (ko) * 2002-08-28 2004-03-06 삼성전자주식회사 워킹 콘텍스트 저장 및 복구 장치 및 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3853941B2 (ja) * 1996-11-21 2006-12-06 株式会社日立製作所 情報処理装置
JPH10320302A (ja) * 1997-05-22 1998-12-04 Hitachi Ltd 情報処理装置
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
TW538333B (en) * 1999-10-29 2003-06-21 Inventec Corp Method for automatically fast testing memory of handheld computer in Windows environment
US6968469B1 (en) * 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
JP2002335357A (ja) * 2001-05-10 2002-11-22 Ricoh Co Ltd 通信端末装置
EP1338947A1 (en) * 2002-02-22 2003-08-27 Hewlett-Packard Company A power state sub-system and a method of changing the power state of a selected computer system
US7017037B2 (en) * 2002-06-27 2006-03-21 Microsoft Corporation Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time
US20040025045A1 (en) * 2002-07-30 2004-02-05 Sentry Technologies Pte, Ltd. Method for switching rapidly between computing modes
NZ520786A (en) * 2002-08-14 2005-06-24 Daniel James Oaeconnell Method of booting a computer system using a memory image of the post boot content of the system RAM memory
US6901298B1 (en) * 2002-09-30 2005-05-31 Rockwell Automation Technologies, Inc. Saving and restoring controller state and context in an open operating system
US7100037B2 (en) 2002-11-27 2006-08-29 Intel Corporation Method for reducing BIOS resume time from a sleeping state
US7152169B2 (en) 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
JP4135510B2 (ja) * 2003-01-20 2008-08-20 株式会社デンソー 電子制御装置およびプログラム
US7210045B2 (en) * 2003-08-19 2007-04-24 Intel Corporation Storing encrypted and/or compressed system context information when entering a low-power state
KR20050040498A (ko) 2003-10-29 2005-05-03 엘지전자 주식회사 보조 메모리를 이용한 서스펜드 모드 진입 및 리줌 방법
US7310725B2 (en) 2004-06-30 2007-12-18 Intel Corporation Common platform pre-boot and run-time firmware services
JP4436219B2 (ja) * 2004-09-10 2010-03-24 富士通株式会社 情報処理装置及び電源制御方法
US7620784B2 (en) * 2006-06-09 2009-11-17 Microsoft Corporation High speed nonvolatile memory device using parallel writing among a plurality of interfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040019602A (ko) * 2002-08-28 2004-03-06 삼성전자주식회사 워킹 콘텍스트 저장 및 복구 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023048811A1 (en) * 2021-09-23 2023-03-30 Intel Corporation Reducing memory power usage in far memory

Also Published As

Publication number Publication date
CN101911031B (zh) 2013-06-19
KR20100098667A (ko) 2010-09-08
GB2468091A (en) 2010-08-25
DE112008003520B4 (de) 2013-03-21
US20090172439A1 (en) 2009-07-02
TW200943046A (en) 2009-10-16
US7971081B2 (en) 2011-06-28
GB2468091B (en) 2013-02-13
DE112008003520T5 (de) 2010-10-21
JP2011508341A (ja) 2011-03-10
GB201010823D0 (en) 2010-08-11
CN101911031A (zh) 2010-12-08
TWI420291B (zh) 2013-12-21
WO2009085507A1 (en) 2009-07-09
JP5128677B2 (ja) 2013-01-23

Similar Documents

Publication Publication Date Title
KR101156292B1 (ko) 신속한 하이버네이트 및 리줌을 위한 장치 및 방법
TWI407300B (zh) 電源管理控制器與方法
KR100430468B1 (ko) 운영체제의 초기화 및 재시작 방법 및 장치
JP4515093B2 (ja) Cpuのパワーダウン方法及びそのための装置
JP3106401B2 (ja) 情報処理システム
TWI567541B (zh) 於運算裝置執行電力關閉狀態之技術
JPH07200112A (ja) 情報処理システム
CN103282854A (zh) 用于功率管理的系统和方法
US20190004818A1 (en) Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof
JP3102455B2 (ja) 情報処理システム
JP2688164B2 (ja) 情報処理システム
TWI485623B (zh) 快速喚醒電腦系統方法與電腦系統
JP2007304914A (ja) 情報処理装置
US20200133562A1 (en) Information processing device, controlling method and program
US10042650B2 (en) Computer startup method, startup apparatus, state transition method and state transition apparatus
TWI605332B (zh) 使用唯cpu重設的支援先進組態與電力介面(acpi)休眠狀態的方法及裝置
JP5894044B2 (ja) ハイブリッド・ディスク・ドライブにデータを記憶する方法および携帯式コンピュータ
KR101022468B1 (ko) 비정상 종료된 시스템의 재부팅 시간을 단축할 수 있는임베디드 컴퓨터 시스템
JPH11338640A (ja) コンピュータシステムおよびデータ転送制御方法
JP5913770B2 (ja) 回転式のディスクを備える記憶装置のパワー・ステートを制御する方法および携帯式コンピュータ
JP5764114B2 (ja) 携帯式コンピュータを省電力状態からレジュームさせる方法、パワー・ステートの制御方法および携帯式コンピュータ
JP3227628B2 (ja) 情報処理システム
JP2011113407A (ja) 情報処理装置および制御方法
JP2003345474A (ja) コンピュータシステムおよびデータ転送制御方法
JP2001318744A (ja) 情報処理装置およびそのデータセーブ制御方法

Legal Events

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

Payment date: 20150529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 8