KR20240064000A - 전원 차단 상태의 컨트롤러를 관리하는 방법 및 장치 - Google Patents

전원 차단 상태의 컨트롤러를 관리하는 방법 및 장치 Download PDF

Info

Publication number
KR20240064000A
KR20240064000A KR1020247013580A KR20247013580A KR20240064000A KR 20240064000 A KR20240064000 A KR 20240064000A KR 1020247013580 A KR1020247013580 A KR 1020247013580A KR 20247013580 A KR20247013580 A KR 20247013580A KR 20240064000 A KR20240064000 A KR 20240064000A
Authority
KR
South Korea
Prior art keywords
power state
controller
processor
soc
signal
Prior art date
Application number
KR1020247013580A
Other languages
English (en)
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 KR20240064000A publication Critical patent/KR20240064000A/ko

Links

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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • 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
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

컨트롤러를 관리하는 방법 및 장치는 제1 디바이스의 프로세서가 제2 디바이스의 컨트롤러에 제1 전력 상태에서 제2 전력 상태로 진입하도록 지시하는 것을 포함한다. 제2 디바이스의 컨트롤러는 제1 디바이스의 프로세서에 확인을 응답한다. 제1 디바이스의 프로세서는 제2 디바이스의 컨트롤러에 제2 전력 상태로 진입하라는 신호를 전송한다. 깨우기 이벤트를 수신하면 제2 디바이스의 컨트롤러는 제2 디바이스를 제2 전력 상태에서 나와 제1 전력 상태로 진입하게 한다.

Description

전원 차단 상태의 컨트롤러를 관리하는 방법 및 장치
관련 출원의 교차 참조
본 출원은 2021년 9월 24일자로 출원된 미국 정규 특허 출원 제17/485,199호의 이익을 주장하며, 이는 본원에 완전히 기재된 것처럼 인용되어 포함된다.
시스템 온 칩(SOC) 컴퓨터 시스템이 절전 모드에 있는 동안 소정의 디바이스가 SOC를 절전 모드에서 깨울 수 있다. SOC와 통신하는 수많은 외부 디바이스가 있는데, 그 외부 디바이스는 자체의 임베디드 컨트롤러(EC)를 포함한다. 이러한 EC가 SOC에 신호를 보내게 되면, SOC를 절전 상태에서 조기에 깨울 수 있다. 반면에 플랫폼 수준의 절전을 극대화하려면 EC를 저전력 상태로 유지하는 것도 필요하다.
더 상세한 이해는 첨부된 도면과 함께 예로서 주어진 다음의 설명으로부터 얻을 수 있다.
도 1은 본 개시내용의 하나 이상의 특징들이 구현될 수 있는 예시적인 디바이스의 블록선도이다.
도 2는 본 개시내용의 특징들 중 하나 이상이 구현될 수 있는 예시적인 시스템의 블록선도이다.
도 3a는 절전 진입 모드 중에 있는 시스템 온 칩(SOC)과 임베디드 컨트롤러(EC)의 예시적인 신호 선도이다.
도 3b는 절전 탈출 모드 중에 있는 SOC와 EC의 예시적인 신호 선도이다.
도 4는 전원 차단 상태에서 컨트롤러를 관리하는 예시적인 방법의 흐름도이다.
방법 및 장치에 대해서는 아래에서 더 자세히 설명하겠지만, 전원 차단 상태의 컨트롤러를 관리하는 방법에 대해 간략하게 설명한다. 시스템 온 칩(SOC)이 전원 차단 상태에 진입하면, SOC에 연결된 디바이스의 임베디드 컨트롤러(EC)에도 전원 차단 상태에 진입하도록 신호를 보내어 SOC가 전원 차단 상태에서 조기에 깨어나지 않도록 한다. 전원 차단 상태가 종료되면 EC가 다시 부활한다.
예를 들어, SOC 컴퓨터 시스템에서 절전을 위해 SOC와 관련된 일부 영역의 전원을 차단할 수 있다. 그러나, 온플랫폼 디바이스(PLD) 또는 BMC(베이스보드 관리 컨트롤러) 등과 같은 구성 요소는 계속 전원이 켜져 있을 수 있다. 따라서, 이러한 디바이스의 EC는 별도의 지시가 없는 한 활성 상태로 유지될 수 있다. 아래에서 추가로 자세히 설명하지만 SOC는 전체 시스템의 많은 구성 요소가 칩에 상주하는 디바이스이다. 예를 들어, SOC는 단일 칩에 프로세서, 메모리, 저장 매체, 입력 및 출력 드라이버 및 기타 구성 요소를 포함할 수 있다.
컨트롤러를 관리하는 방법은 제1 디바이스의 프로세서가 제2 디바이스의 컨트롤러에 제1 전력 상태에서 제2 전력 상태로 진입하도록 지시하는 것을 포함한다. 제2 디바이스의 컨트롤러는 제1 디바이스의 프로세서에 확인을 응답하는 것을 포함한다. 제1 디바이스의 프로세서는 제2 디바이스의 컨트롤러에 제2 전력 상태로 진입하는 신호를 전송한다. 깨우기 이벤트(wake event)를 수신하면, 제2 디바이스의 컨트롤러는 제2 디바이스를 제2 전력 상태에서 제1 전력 상태로 가게 한다.
컨트롤러를 관리하기 위한 시스템은 SOC(시스템 온 칩) 프로세서와 SOC의 외부 디바이스에 통합된 임베디드 컨트롤러(EC)를 포함하며, EC는 SOC 프로세서와 작동적으로 결합되고 통신한다. SOC 프로세서는 외부 디바이스가 제1 전력 상태에서 제2 전력 상태로 진입하도록 EC에 지시한다. EC는 SOC 프로세서에 확인 응답을 보낸다. SOC 프로세서는 EC에 제2 전력 상태로 진입하라는 신호를 전송하고, EC는 깨우기 이벤트를 수신하면 제2 전력 상태에서 제1 전력 상태로 진입한다.
컨트롤러를 관리하기 위한 비일시적 컴퓨터 판독 가능 매체에는 프로세서에 의해 실행될 때 프로세서로 하여금 작업을 수행하도록 하는 명령어가 기록된다. 이 작업에는 제1 디바이스의 프로세서가 제2 디바이스의 컨트롤러에 제1 전력 상태에서 제2 전력 상태로 진입하도록 지시하는 것이 포함된다. 제2 디바이스의 컨트롤러는 제1 디바이스의 프로세서에 확인을 응답한다. 제1 디바이스의 프로세서는 제2 디바이스의 컨트롤러에 제2 전력 상태로 진입하라는 신호를 전송한다. 제2 디바이스의 컨트롤러는 깨우기 이벤트를 수신하면 제2 디바이스를 제2 전력 상태에서 제1 전력 상태로 진입하게 한다.
도 1은 본 개시내용의 하나 이상의 특징이 구현될 수 있는 예시적인 디바이스(100)의 블록선도이다. 디바이스(100)는 예를 들어, 컴퓨터, 서버, 게임 디바이스, 핸드헬드 디바이스, 셋톱 박스, 텔레비전, 휴대폰 또는 태블릿 컴퓨터를 포함할 수 있다. 디바이스(100)는 프로세서(102), 메모리(104), 저장 매체(106), 하나 이상의 입력 디바이스(108), 및 프로세서(102)와 통신하는 하나 이상의 디바이스(110)를 포함한다. 예를 들어, 배터리 컨트롤러 또는 열 컨트롤러와 같이 시스템의 작동을 제어하는 하나 이상의 디바이스(110)가 프로세서(102)와 통신할 수 있다. 또한, 디바이스들(110)은 출력 디바이스일 수도 있다.
디바이스(100)는 또한 디바이스(110)가 드라이버를 필요로 하면 선택적으로 입력 드라이버(112) 및 드라이버(114)를 포함할 수 있다. 추가적으로, 디바이스(100)는 프로세서(102) 및 메모리(104)와 통신하고 또한 외부 메모리(116)와 통신할 수 있는 메모리 제어기(115)를 포함한다. 일부 실시예에서, 메모리 제어기(115)는 프로세서(102) 내에 포함될 것이다. 디바이스(100)는 도 1에 도시되지 않은 추가적인 컴포넌트들을 포함할 수 있다는 것이 이해된다.
전술한 바와 같이, 프로세서(102), 메모리(104), 저장 매체(106), 입력 드라이버(112), 출력 드라이버(114) 및 메모리 컨트롤러(115)는 SOC(101) 상에 포함될 수 있다.
다양한 대안들에서, 프로세서(102)는 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 동일한 다이 상에 위치된 CPU 및 GPU, 또는 하나 이상의 프로세서 코어들을 포함하고, 각각의 프로세서 코어는 CPU 또는 GPU일 수 있다. 다양한 대안들에서, 메모리(104)는 프로세서(102)와 동일한 다이 상에 위치되거나 또는 프로세서(102)와 별도로 위치된다. 메모리(104)는 휘발성 또는 비휘발성 메모리, 예를 들어, 랜덤 액세스 메모리(RAM), 동적 RAM, 또는 캐시를 포함한다.
저장 매체(106)는 고정 또는 제거 가능한 저장 매체, 예를 들어, 하드 디스크 드라이브, 솔리드 스테이트 드라이브, 광학 디스크, 또는 플래시 드라이브를 포함한다. 입력 디바이스들(108)은 키보드, 키패드, 터치 스크린, 터치 패드, 검출기, 마이크로폰, 가속도계, 자이로스코프, 바이오메트릭 스캐너, 또는 네트워크 연결(예를 들어, 무선 IEEE 802 신호들의 송신 및/또는 수신을 위한 무선 로컬 영역 네트워크 카드)을 포함하지만, 이에 제한되지 않는다. 출력 디바이스들(110)은 디스플레이, 스피커, 프린터, 햅틱 피드백 디바이스, 하나 이상의 조명들, 안테나, 또는 네트워크 연결(예를 들어, 무선 IEEE 802 신호들의 송신 및/또는 수신을 위한 무선 로컬 영역 네트워크 카드)을 포함하지만, 이에 제한되지 않는다.
입력 드라이버(112)는 프로세서(102) 및 입력 디바이스들(108)과 통신하고, 프로세서(102)가 입력 디바이스들(108)로부터 입력을 수신하도록 허용한다. 출력 드라이버(114)는 프로세서(102) 및 출력 디바이스들(110)과 통신하고, 프로세서(102)가 출력 디바이스들(110)에 출력을 보내도록 허용한다. 입력 드라이버(112) 및 출력 드라이버(114)는 선택적인 컴포넌트들이며, 입력 드라이버(112) 및 출력 드라이버(114)가 존재하지 않는 경우에 디바이스(100)는 동일한 방식으로 동작할 것이라는 점에 유의한다.
외부 메모리(116)는 메모리(104)와 유사할 수 있고, 오프-칩(off-chip) 메모리의 형태로 상주할 수 있다. 또한, 외부 메모리는 메모리 제어기(115)가 외부 메모리(116)에 액세스하기 위해 네트워크 인터페이스를 통해 통신하는 서버에 상주하는 메모리일 수 있다.
도 2는 본 개시내용의 특징들 중 하나 이상이 구현될 수 있는 예시적인 시스템(200)의 블록선도이다. 예시 시스템(200)은 복수의 디바이스(110)(예를 들어, 1101-110n으로 지정된 출력 디바이스(110))와 통신하는 SOC(101)를 포함한다. 각 디바이스(110)는 디바이스의 작동을 제어하는 EC(230(2301-230n으로 지정됨)를 포함한다. 또한, EC(230)는 출력 디바이스(110)뿐만 아니라 입력 디바이스(108)와도 연관될 수 있음에 유의해야 한다.
각 EC(230)는 (예를 들어, 프로세서(102)를 통해) SOC(101)와 통신한다. EC(230)는 일부 실시예에서, 프로세서(102) 및 SOC(101)와 독립적으로 정보를 처리하고 디바이스에 대한 작업을 실행하는 마이크로컨트롤러이다. 예를 들어, EC(230)는 키보드, 터치패드, 온보드 배터리, 시스템(200)에 연결된 PCIe 디바이스 등과 주고받는 신호를 처리하는 기능을 수행할 수 있다.
EC를 활용하면 디바이스의 펌웨어를 업데이트할 수 있고, 디바이스를 이를 제어하는 운영 체제 없이도 제어할 수 있다. 이는 운영 체제와 SOC(101)가 다른 작업을 수행하기 위한 자원을 자유롭게 할 수 있다. 따라서, EC(230)에 의해 제어되는 디바이스(110)는 SOC(101)와 독립적으로 작동하며, 예를 들어, EC(230)에 의해 제어되는 디바이스(110)는 온-플랫폼 디바이스(PLD) 또는 BMC(베이스보드 관리 컨트롤러)를 위한 EC(230)를 포함할 수 있다. 그러나, EC를 포함하는 다른 디바이스(110)가 SOC(101)에 연결될 수 있다는 점에 유의해야 한다.
SOC와 EC 구성 요소가 모두 가능한 한 오랫동안 중단 없이 저전력 상태를 유지하도록 보장하기 위해 SOC-EC 프로토콜이 시그널링을 수행하는 데 활용된다. 실제로, EC가 깨어나서 SOC를 깨울 필요가 있는 경우에도, 내부 EC 프로토콜은 SOC 깨우기(wake-up)를 트리거하기 전에 단일 이벤트 이상을 대기할 수 있게 해 준다.
EC의 관리와 관련하여 SOC와 EC 간의 시그널링을 설명하기 위해, 이제 도 4에 설명된 방법과 함께 도 3a와 도 3b를 참조할 것이다. 도 3a는 절전 진입 모드 중에 있는 SOC와 EC의 예시적인 신호 선도이다. 도 3b는 절전 탈출 모드 중에 있는 SOC와 EC의 예시적인 신호 선도이다. 도 4는 전원 차단 상태에서 컨트롤러를 관리하는 예시적인 방법(400)의 흐름도이다.
이제 도 4를 참조하고 해당되는 경우 도 3a 및 도 3b를 다시 참조하면 시스템은 저전력 상태라고도 칭하는 전원 차단 상태로 진입한다(단계 410). 단계 420에서 SOC는 EC에 전원 차단 상태에 관한 신호를 보낸다.
예를 들어, 도 3a를 다시 참조하면, SOC(호스트)(101)는 EC(230)에 제1 신호(예를 들어, PUT_VW 신호(310))를 전송한다. 이 신호(310)는 EC(110)들에 전송되어 이들이 저전력 모드로 진입하도록 지시를 받고 있음을 알려준다. SOC를 사용하면 많은 기능을 하나의 칩에 결합할 수 있고, 그 결과 전력을 하나의 칩에 공급하기 때문에 비용을 절감하고 전력을 절약할 수 있다. EC를 활용하면 추가 처리 기능이 제어 동작을 위해 로컬 디바이스로 이동된다. 따라서 EC는 SOC와 독립적으로 작동하므로 지시가 없는 한 저전력 모드로 전환되지 않을 수 있다.
이 신호(310)는 두 종단점 간의 논리적 연결인 가상 와이어를 통해 전송될 수 있다. 즉, 두 디바이스(예를 들어, SOC(101) 및 EC(230))를 연결하는 물리적 와이어가 아니라 추가 지점들을 통해 라우팅될 수 있는 논리적 연결이 존재한다. 유선 솔루션에서는 구성 요소 간에 정보를 전송하기 위해 물리적 와이어가 존재한다. 다른 실시예에서는 직접 와이어 또는 펌웨어 메시지가 이러한 지시를 제공할 수 있다는 점에 유의해야 한다.
단계 430에서 EC는 SOC에 응답한다. 다시 도 3a를 참조하면, EC(220)는 응답 신호(예를 들어, PUT_VW 응답 신호(320))를 SOC(101)로 전송한다. 이 응답 신호(320)는 EC(230)가 저전력 모드로 진입할 것을 지시하는 제1 신호(310)를 수신했음을 나타낸다.
다시 말하지만, 이 응답 신호(320)는 제1 신호(310)가 전송되는 것과 동일한 가상 와이어를 통해 전송될 수 있다. 대안으로, 다른 가상 와이어 또는 물리적 와이어를 통해 전송될 수도 있다.
미리 정의된 시간 동안 대기한 후, SOC(101)는 저전력 모드 진입 신호(330)를 EC에 전송하여 저전력 모드로 진입한다. 저전력 모드 진입 신호(330)는 제1 신호(310) 및 응답 신호(320)가 전송되는 동일한 가상 와이어를 통해 전송될 수도 있다. 대안으로, 다른 가상 와이어 또는 물리적 와이어를 통해 전송될 수도 있다. 그러면 EC(230)는 전원 차단/저전력 상태로 진입하고 깨우기 기능을 스스로 대비한다(단계 440).
이러한 방식으로 EC(230)는 저전력 모드로 진입한 다음 깨우기 메시지를 기다린다. 저전력 모드는 여러 단계의 저전력 모드일 수 있다. 예를 들어, 저전력 모드는 최대 절전 모드인 배터리 절약 모드 또는 더 낮은 절전 모드일 수 있다.
예를 들어, 저전력 절전 모드는 EC가 최소한의 기능을 달성하도록 하는 양의 전력으로만 작동하는 전력 모드이다. 일부 실시예에서는, 이는 아래에 설명된 바와 같이 단지 회로 작동을 유지해서 깨우기 신호를 수신했을 때 깨우는 데 활용될 수 있는 전력일 수 있다. 즉, SOC가 전원 차단 모드에 있을 때 일부 EC가 시작한 작업은 완전히 비활성화되거나 사용률이 크게 감소할 수 있다. 예를 들어, 시스템의 팬을 제어하는 EC의 경우, 시스템 냉각을 위해 팬을 언제 켜야 하는지에 대한 정보를 EC에 제공하는 열 센서의 폴링이 덜 자주 발생할 수 있다.
SOC는 깨어나기 전에 일정 시간 동안 전원 차단 모드에 있을 것이다. 이 기간은 사전에 구성 되거나 동적으로 결정될 수 있다. 예를 들어, SOC가 절전 모드에서 깨어나기까지의 시간은 히스테리시스 또는 이벤트 트래커에 의존할 수 있다.
특히, SOC를 깨우기 위한 한 기법은 트래커가 미리 정의된 값을 초과할 때 깨우기 격을 SOC에게 부여하는 데 이용되는 히스테리시스 또는 이벤트 트래커를 이용할 수 있다. 히스테리시스는 저전력 상태에서 SOC를 깨우기 전에 모든 유형의 깨우기 이벤트가 대기할 것으로 예상되는 시간을 정의한다. 또한 앞서 언급했듯이 배터리 잔량과 같은 이벤트가 추적될 수 있으며 추적되고 있는 이벤트가 사전 정의된 값을 초과하면(예를 들어, 배터리 잔량이 사전 정의된 값 아래로 떨어지면) 깨우기가 트리거된다.
대안으로, 이 작업은 반대 방향으로 활용될 수도 있다. 즉, SOC는 EC의 작동 필요성을 확인한 후 EC를 깨운다. 위에서 설명한 바와 같이 SOC가 EC를 깨워야 할지 여부를 결정하는 것은 미리 구성되거나 동적으로 결정될 수 있다. 예를 들어, EC를 깨우는 한 기법은 이벤트 트래커를 사용하는 것이다. 예를 들어, 이벤트 트래커가 설정되어 있으면 SOC는 이벤트 트래커가 미리 정의된 값을 초과할 때 EC를 깨운다.
예를 들어, EC가 제어하는 디바이스가 수행해야 하는 작업이 필요한 경우 SOC는 EC를 깨워야 한다고 판단하고 EC를 깨우는 신호를 보낼 수 있다. 이벤트 트래커가 사전 정의된 값을 초과하지 않으면 SOC는 사전 정의된 값을 초과할 때까지 깨우기 이벤트를 추적하여 EC를 저전력 상태로 연장할 수 있다.
EC가 SOC로부터 트랜잭션을 수신하지 못하면(단계 450), EC는 저전력 모드로 유지된다. EC가 SOC로부터 트랜잭션을 수신하면(단계 450), EC는 단계 460에서 전원 차단 상태를 종료한다. 또한 키보드 타격, 마우스 터치 또는 배터리 소모량이 임계값 이하로 떨어지는 등의 이벤트가 발생하면 EC는 전원 차단 상태를 종료할 수 있다.
예를 들어, 위에서 언급한 것처럼, SOC가 EC가 제어하는 디바이스에서 작업이 필요하다고 판단하면 SOC는 아래에 설명된 트랜잭션 신호를 해당 EC에 전송하여 깨운다.
도 3b를 다시 참조하면, SOC(210)는 트랜잭션 신호(340)를 EC(230)로 전송하여 EC를 완전 작동 상태로 복귀시킨다. 즉, EC는 위에서 설명한 저전력 상태에서 완전 작동 가능한 전력 상태로 깨어난다.
다른 실시예에서, EC는 타이머에 따라 주기적으로 완전 작동 상태로 깨어난 다음, EC를 필요로 하는 활동이 발생하지 않으면 저전력 상태로 다시 전환될 수 있다.
예를 들어, SOC(210)는 해당 EC(230)에 의해 실행되어야 하는 동작과 관련된 트랜잭션 신호를 전송할 수 있다. 위에서 언급한 바와 같이, EC(230)는 작업을 수행하기 위해 SOC에 연결된 온플랫폼 디바이스(PLD) 또는 BMC(베이스보드 관리 컨트롤러)에 상주할 수 있다.
위의 설명에 따라, 임베디드 컨트롤러를 포함하는 SOC의 외부 디바이스는 SOC에 신호를 보내지 못하게 되어 잠재적으로 SOC를 조기에 깨워서 절전을 방해한다. 또한 EC는 절전 모드로 전환되어 이벤트가 발생하면 절전 모드에서 깨어날 수 있도록 준비된다. 한 예에서, 이벤트는 SOC에서 발생하는 모든 트랜잭션이다.
또한, 위에서 설명한 예에서는 단일 EC에 대해 설명하지만, SOC가 하나 이상의 EC 또는 다른 플랫폼 상의 디바이스(즉, PLD)와 상호 작용할 수 있는 다른 실시예도 있다. 예를 들어, 위에서 설명한 것처럼 SOC는 시스템의 온도 제어를 제어하는 데 사용되는 EC와 상호 작용할 수 있다.
그러나 플랫폼 상의 디바이스가 두 개 이상일 경우에도 프로토콜/핸드셰이크는 이 출원에서 설명한 것과 동일하다.
앞서 설명한 바와 같이, 위의 설명은 전력 절감을 위해 SOC가 전원 차단 상태에 들어가는 경우와 관련이 있다.
EC가 SOC 깨우기를 트리거하면 SOC의 제한된 부분만 전원이 켜질 수 있으며, 더 긴 깨우기의 이유/필요성이 분석된다. 이 분석은 SOC 깨우기의 원인을 파악하기 위해 EC 내부 로그/상태 레지스터에 액세스하는 것을 포함할 수 있다.
예를 들어, 배터리 제어 또는 열 제어에 필요한 SOC의 일부 영역은 요구 사항에 따라 깨어날 수 있다. 그러나, 예를 들어, SOC가 화면에서 사용자에게 이벤트를 알려야 할 필요성에 따라 SOC의 추가 영역(예를 들어, 디스플레이 영역 회로)이 깨어나야 한다고 판단하면 해당 영역도 추가로 깨어날 수 있다.
또 다른 예에서는 이 확인을 기반으로 SOC의 추가 깨우기 범위가 식별된다. 예를 들어, 깨우기 및 SOC와 EC 간의 상호 작용이 온다이 IO 도메인 마이크로컨트롤러에 제한되어야 하는지 아니면 CPU/GPU 코어가 깨워져야 하는지가 분석될 수 있다. 위에서 언급했듯이 디스플레이가 필요하다고 판단되면 필요한 그래픽 처리를 실행하기 위해 GPU 코어를 깨울 수 있다.
또 다른 예에서, EC 트리거/인터페이스는 SOC가 저전력 상태로 진입할 때만 고려된다. 저전력 상태가 되면 SOC는 EC에서 발생하는 트리거 또는 깨우기 이벤트를 무시할 수 있다. 즉, EC가 깨우기를 트리거하려고 시도하더라도 SOC는 깨우기가 필요하지 않다고 판단할 수 있다. 예를 들어, SOC는 EC(예를 들어, 열 센서)로부터 트리거를 수신할 수 있지만 배터리 전력으로 인해 절전을 유지하기 위해 저전력 상태를 유지하기로 결정할 수 있다.
제공된 방법들은 범용 컴퓨터, 프로세서, 또는 프로세서 코어에서 구현될 수 있다. 적합한 프로세서는 예로서 범용 프로세서, 목적 프로세서, 기존 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로프로세서들, DSP 코어와 연관된 하나 이상의 마이크로프로세서들, 제어기, 마이크로제어기, 주문형 집적 회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 회로, 다른 유형의 집적 회로(IC) 및/또는 상태 머신을 포함한다. 이러한 프로세서들은 프로세싱된 하드웨어 기술 언어(HDL) 명령어들의 결과들 및 넷리스트들을 포함하는 다른 중간 데이터(이러한 명령어들은 컴퓨터 판독가능 매체 상에 저장될 수 있음)를 사용하여 제조 공정을 구성함으로써 제조될 수 있다. 이러한 프로세싱의 결과는 본 개시내용의 특징을 구현하는 프로세서를 제조하기 위해 반도체 제조 공정에 사용되는 마스크워크일 수 있다. 또한, 위에서 설명된 방법 및 장치는 PCIe 링크 및 포트를 제어하고 구성하는 맥락에서 설명되었지만, 방법 및 장치는 링크 폭이 협상되는 임의의 상호연결 프로토콜에서 활용될 수 있다.
본 명세서에 제공된 방법들 또는 흐름도는 범용 컴퓨터 또는 프로세서에 의한 실행을 위해 비일시적 컴퓨터 판독가능 저장 매체에 통합된 컴퓨터 프로그램, 소프트웨어 또는 펌웨어로 구현될 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체의 예로는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스, 내부 하드 디스크 및 이동식 디스크와 같은 자기 매체, 자기 광학 매체, CD-ROM 디스크 및 디지털 다목적 디스크(DVD)와 같은 광학 매체를 포함한다. 예를 들어, 전술한 방법은 프로세서(102)에서 또는 컴퓨터 시스템(100)의 임의의 다른 프로세서 상에서 구현될 수 있다. 또한, 예를 들어, 위에서 설명한 방법들 또는 그 방법들의 양태들은 SOC 또는 EC의 프로세서에 의해 수행될 수 있다.

Claims (20)

  1. 컨트롤러 관리 방법으로서,
    제1 디바이스의 프로세서가 제2 디바이스의 컨트롤러에 제1 전력 상태에서 제2 전력 상태로 진입하도록 지시하는 단계;
    상기 제2 디바이스의 컨트롤러는 상기 제1 디바이스의 프로세서에 확인을 응답하는 단계;
    상기 제1 디바이스의 프로세서는 상기 제2 디바이스의 컨트롤러에 상기 제2 전력 상태로 진입하라는 신호를 전송하는 단계;
    깨우기 이벤트를 수신하면 상기 제2 디바이스의 컨트롤러는 상기 제2 디바이스를 상기 제2 전력 상태에서 나와 상기 제1 전력 상태로 진입하게 하는 단계를 포함하는, 컨트롤러 관리 방법.
  2. 제1항에 있어서, 상기 제1 디바이스의 프로세서는 상기 제2 디바이스의 컨트롤러에 상기 제2 디바이스가 상기 제2 전력 상태로 진입하라는 지시를 나타내는 제1 신호를 전송하는, 컨트롤러 관리 방법.
  3. 제2항에 있어서, 상기 제2 디바이스의 컨트롤러는 상기 제2 전력 상태로 진입하라는 상기 지시의 확인을 나타내는 제2 신호를 상기 프로세서로 전송하는, 컨트롤러 관리 방법.
  4. 제3항에 있어서, 상기 제2 디바이스는 상기 제1 디바이스의 프로세서로부터 상기 신호를 수신하면 상기 제2 전력 상태로 진입하는, 컨트롤러 관리 방법.
  5. 제4항에 있어서, 상기 제2 디바이스가 상기 제2 전력 상태로 진입하면 깨어날 대비를 하는 단계를 더 포함하는, 컨트롤러 관리 방법.
  6. 제1항에 있어서, 상기 제1 디바이스의 프로세서가 제3 신호를 상기 제2 디바이스의 컨트롤러에 전송하는 단계를 더 포함하는, 컨트롤러 관리 방법.
  7. 제6항에 있어서, 상기 제3 신호는 트랜잭션 신호인, 컨트롤러 관리 방법.
  8. 제7항에 있어서, 상기 제2 디바이스가 상기 제3 신호를 수신하면 상기 제2 전력 상태에서 빠져나오는 단계를 더 포함하는, 컨트롤러 관리 방법.
  9. 제1항에 있어서, 상기 제2 전력 상태는 저전력 상태인, 컨트롤러 관리 방법.
  10. 제1항에 있어서, 상기 제1 디바이스는 시스템 온 칩(SOC) 디바이스이고, 상기 제2 디바이스의 컨트롤러는 상기 SOC 외부의 디바이스의 임베디드 컨트롤러(EC)인, 컨트롤러 관리 방법.
  11. 컨트롤러 관리 시스템으로서,
    시스템 온 칩(SOC) 프로세서; 및
    상기 SOC의 외부 디바이스에 통합된 임베디드 컨트롤러(EC)를 포함하고, 상기 EC는 상기 SOC 프로세서와 작동적으로 결합되고 통신하며,
    상기 SOC 프로세서는 상기 외부 디바이스가 제1 전력 상태에서 제2 전력 상태로 진입하도록 상기 EC에 지시하며,
    상기 EC는 상기 SOC 프로세서에 확인 응답을 보내고,
    상기 SOC 프로세서는 상기 EC에게 제2 전력 상태로 진입하라는 신호를 전송하며,
    깨우기 이벤트를 수신하면 상기 EC는 상기 제2 전력 상태에서 나와 상기 제1 전력 상태로 진입하는, 컨트롤러 관리 시스템.
  12. 제11항에 있어서, 상기 SOC 프로세서는 상기 EC에게 제2 디바이스를 상기 제2 전력 상태로 진입하라고 지시하는 제1 신호를 전송하는, 컨트롤러 관리 시스템.
  13. 제12항에 있어서, 상기 EC는 상기 제2 전력 상태로 진입하라는 상기 지시의 확인을 나타내는 제2 신호를 상기 SOC 프로세서로 전송하는, 컨트롤러 관리 시스템.
  14. 제13항에 있어서, 상기 외부 디바이스는 제1 디바이스의 상기 SOC 프로세서로부터 상기 제1 신호를 수신하면 상기 제2 전력 상태로 진입하는, 컨트롤러 관리 시스템.
  15. 제14항에 있어서, 상기 외부 디바이스가 상기 제2 전력 상태로 들어가면 깨어날 대비를 하는 것을 더 포함하는, 컨트롤러 관리 시스템.
  16. 제11항에 있어서, 상기 SOC 프로세서가 제3 신호를 상기 EC에 전송하는 것을 더 포함하는, 컨트롤러 관리 시스템.
  17. 제16항에 있어서, 상기 제3 신호는 트랜잭션 신호인, 컨트롤러 관리 시스템.
  18. 제17항에 있어서, 상기 외부 디바이스가 상기 제3 신호를 수신하면 상기 제2 전력 상태에서 빠져나오는 것을 더 포함하는, 컨트롤러 관리 시스템.
  19. 제1항에 있어서, 상기 제2 전력 상태는 저전력 상태인, 컨트롤러 관리 시스템.
  20. 컨트롤러를 관리하기 위한 비일시적 컴퓨터 판독 가능 매체로서, 상기 비일시적 컴퓨터 판독 가능 매체에는 프로세서에 의해 실행될 때 상기 프로세서로 하여금 작업을 수행하도록 하는 명령어가 기록되고, 상기 작업은:
    제1 디바이스의 프로세서가 제2 디바이스의 컨트롤러에 제1 전력 상태에서 제2 전력 상태로 진입하도록 지시하는 것;
    상기 제2 디바이스의 컨트롤러가 상기 제1 디바이스의 프로세서에 확인을 응답하는 것;
    상기 제1 디바이스의 프로세서가 상기 제2 디바이스의 컨트롤러에 상기 제2 전력 상태로 진입하라는 신호를 전송하는 것; 및
    깨우기 이벤트를 수신하면 상기 제2 디바이스의 컨트롤러는 상기 제2 디바이스를 상기 제2 전력 상태에서 나와 상기 제1 전력 상태로 진입하게 하는 것을 포함하는, 컨트롤러를 관리하기 위한 비일시적 컴퓨터 판독 가능 매체.
KR1020247013580A 2021-09-24 2022-08-01 전원 차단 상태의 컨트롤러를 관리하는 방법 및 장치 KR20240064000A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/485,199 2021-09-24
US17/485,199 US20230099399A1 (en) 2021-09-24 2021-09-24 Method and apparatus for managing a controller in a power down state
PCT/US2022/039082 WO2023048833A1 (en) 2021-09-24 2022-08-01 Method and apparatus for managing a controller in a power down state

Publications (1)

Publication Number Publication Date
KR20240064000A true KR20240064000A (ko) 2024-05-10

Family

ID=85719740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247013580A KR20240064000A (ko) 2021-09-24 2022-08-01 전원 차단 상태의 컨트롤러를 관리하는 방법 및 장치

Country Status (4)

Country Link
US (1) US20230099399A1 (ko)
KR (1) KR20240064000A (ko)
CN (1) CN117980860A (ko)
WO (1) WO2023048833A1 (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684835B1 (en) * 2005-07-12 2010-03-23 Marvell Interntional Ltd. Wake on wireless LAN schemes
US8286014B2 (en) * 2008-03-25 2012-10-09 Intel Corporation Power management for a system on a chip (SoC)
KR101670561B1 (ko) * 2011-07-14 2016-10-28 엘지전자 주식회사 무선랜 시스템에서 파워 세이브 모드 기반 통신 방법 및 이를 지원하는 장치
US10817043B2 (en) * 2011-07-26 2020-10-27 Nvidia Corporation System and method for entering and exiting sleep mode in a graphics subsystem
US8868941B2 (en) * 2011-09-19 2014-10-21 Sonics, Inc. Apparatus and methods for an interconnect power manager
US9191891B2 (en) * 2012-11-02 2015-11-17 Qualcomm Incorporated Systems and methods for low power wake-up signal implementation and operations for WLAN
US10401937B2 (en) * 2017-02-14 2019-09-03 GM Global Technology Operations LLC Method and apparatus for detection of battery drain
US10615977B2 (en) * 2017-10-13 2020-04-07 Nxp B.V. Verification of secure parameters for rotating codes
US10739843B2 (en) * 2018-02-21 2020-08-11 Dell Products L.P. System and method of monitoring device states
US10955894B2 (en) * 2018-08-02 2021-03-23 International Business Machines Corporation Centralized power management of wireless devices
US11720160B2 (en) * 2019-04-12 2023-08-08 Dell Products, L.P. Preventing false wake events from a low-power state
US11811551B2 (en) * 2020-09-30 2023-11-07 Marvell Asia Pte Ltd Sleep signaling handshake for ethernet
US11416028B1 (en) * 2021-04-16 2022-08-16 Dell Products L.P. Dock to bridge vendor defined messages between devices

Also Published As

Publication number Publication date
CN117980860A (zh) 2024-05-03
US20230099399A1 (en) 2023-03-30
WO2023048833A1 (en) 2023-03-30

Similar Documents

Publication Publication Date Title
US8078768B2 (en) Universal Serial Bus (USB) remote wakeup
KR101519082B1 (ko) 슬리프 프로세서
TWI622874B (zh) 省電處理器架構
US7574615B2 (en) Method of managing power consumption of a network interface
EP2342612B1 (en) Conserving power using predictive modelling and signaling
WO2019104947A1 (zh) 系统级芯片、通用串行总线主设备、系统及唤醒方法
US6092209A (en) Method and apparatus for managing power consumption of peripheral devices of personal computers
US6467042B1 (en) Method and/or apparatus for lowering power consumption in a peripheral device
CN107003975B (zh) 用于控制链路电力状态的方法和装置
JP5773288B2 (ja) ハイスピードインターチップhsicインタフェースに基づくウェイクアップ方法、ホットスワップ方法、およびデバイス
US20160216758A1 (en) PCI Express Device With Early Low Power State
US11281280B2 (en) Reducing chiplet wakeup latency
US20230088994A1 (en) Low power state selection based on idle duration history
US6477655B1 (en) System and method to set PME—status bit and wake up the system, and selectively load device driver by searching who set the bit without requiring clock
KR20240064000A (ko) 전원 차단 상태의 컨트롤러를 관리하는 방법 및 장치
US20230031388A1 (en) On-demand ip initialization within power states
US20020124125A1 (en) Method and apparatus to permit a peripheral device to become the default system bus master
US10571992B2 (en) Electronic device having a controller to enter a low power mode
US20230205297A1 (en) Method and apparatus for managing power states
KR101285665B1 (ko) 수면 모드를 지원하는 멀티 코어 시스템 온 칩
US20230350484A1 (en) Device and method for efficient transitioning to and from reduced power state
JPH10333790A (ja) パワーセーブ機能を備えた情報処理装置及び当該情報処理装置のパワーセーブ解除方法
KR20090104768A (ko) 전력 관리 방법 및 장치
KR20230104625A (ko) Ap 구동형 링크 복구에 대해 대기 시에 모뎀 안정화를 위한 시스템 및 방법
CN110750151A (zh) 电脑唤醒方法及电脑节电方法