KR102244114B1 - 시스템 온 칩에서의 메모리 액세스들을 위한 전력 관리 - Google Patents

시스템 온 칩에서의 메모리 액세스들을 위한 전력 관리 Download PDF

Info

Publication number
KR102244114B1
KR102244114B1 KR1020177004983A KR20177004983A KR102244114B1 KR 102244114 B1 KR102244114 B1 KR 102244114B1 KR 1020177004983 A KR1020177004983 A KR 1020177004983A KR 20177004983 A KR20177004983 A KR 20177004983A KR 102244114 B1 KR102244114 B1 KR 102244114B1
Authority
KR
South Korea
Prior art keywords
memory
power state
module
power
modules
Prior art date
Application number
KR1020177004983A
Other languages
English (en)
Other versions
KR20170034423A (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 KR20170034423A publication Critical patent/KR20170034423A/ko
Application granted granted Critical
Publication of KR102244114B1 publication Critical patent/KR102244114B1/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
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/3243Power saving in microcontroller unit
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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

Abstract

시스템 온 칩(SOC)에 대한 전력 상태들을 관리하는 기법들 및 메커니즘들이 개시된다. SOC의 다수의 모듈이 메모리에 대한 하나 이상의 액세스들을 포함하는 태스크를 수행하는 제1 모듈을 포함한다. 일 실시예에서, SOC는 PMA(path-to-memory-available) 전력 상태와 PMNA(path-to-memory-not-available) 전력 상태 중 하나의 전력 상태로 전환되고, 그 전환은 다수의 모듈들 중에서, 제1 모듈만이 태스크 동안 메모리에 액세스한다는 표시에 응답한다. PMA 전력 상태는 메모리와 제1 모듈 사이의 데이터 통신을 가능하게 하고 메모리와 다수의 모듈들 중 임의의 다른 모듈 사이의 데이터 통신을 방지한다. 다른 실시예에서, PMNA 전력 상태는 메모리와 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지하지만, PMNA 전력 상태로부터 PMA 전력 상태로의 낮은 레이턴시 전환을 허용한다.

Description

시스템 온 칩에서의 메모리 액세스들을 위한 전력 관리{POWER MANAGEMENT FOR MEMORY ACCESSES IN A SYSTEM-ON-CHIP}
본 명세서에서 논의되는 실시예들은 일반적으로 집적 회로에 대한 전력 관리에 관한 것이다. 더욱 구체적으로는, 특정한 실시예들은 시스템 온 칩(system-on-chip)의 메모리에 대한 전력 효율적인 액세스를 용이하게 하는 전력 상태를 포함하며, 이것으로 한정되지 않는다.
시스템 온 칩(SOC)에서, SOC의 회로 컴포넌트들은 단일 칩 상에 통합된다. SOC 집적 회로들은 이를테면 셋톱 박스들, 모바일 폰들, 휴대용 매체 디바이스들 등과의 임베디드 애플리케이션들을 포함하는 다양한 애플리케이션들에서 점점 더 대중화되고 있다. SOC에서의 컴포넌트들의 높은 집적이 칩 영역 절약과 더 나은 신호 품질과 같은 장점들을 제공하지만, 소비 전력 및 성능 레이턴시는 이러한 SOC들을 포함하는 디바이스들에 대한 점점 더 중요한 제약조건들이 되고 있다. 특히 휴대용 SOC 애플리케이션들에서는, 효율적인 전력 관리 기능이 많은 SOC 구현예들의 가치 있는 양태이다.
메모리 액세스들은 SOC 효율 및 성능에 상당한 영향을 미친다. 종종, SOC의 상이한 컴포넌트들이 동일한 메모리 리소스들에 다양하게 액세스한다. 기존의 SOC 메모리 액세스 해법들은, SOC의 메모리에 대한 액세스가 필요할 때, 전체 SOC를 파워 업하는 것과, SOC에 대한 메인 전압 공급에 다양하게 연루된다. 그러나, 적어도 레이턴시 및 전환 에너지의 측면에서 이러한 접근법들에 연관되는 막대한 비용이 있다. 더구나, 컴포넌트들의 동작에 대한 레이턴시 요건들, 메모리에 액세스함에 있어서의 전력 효율 등과 같은, SOC의 컴포넌트들 사이의 메모리의 공유에 연관된 도전과제들이 있다.
본 발명의 다양한 실시예들이 첨부 도면들의 그림들에서 제약으로서는 아니고 예로서 도시되고 도면들 중에서:
도 1은 일 실시예에 따른 메모리 액세스를 제공하는 시스템 온 칩의 엘리먼트들을 도시하는 하이-레벨 기능 블록도이다.
도 2는 일 실시예에 따른 시스템 온 칩을 동작시키는 방법의 엘리먼트들을 예시하는 흐름도이다.
도 3은 일 실시예에 따른 시스템 온 칩의 전력 상태 전환들을 예시하는 상태도이다.
도 4는 일 실시예에 따라 시스템 온 칩을 동작시키는 신호 교환의 엘리먼트들을 예시하는 타이밍 도이다.
도 5는 일 실시예에 따라 시스템 온 칩에 의해 수행되는 태스크의 엘리먼트들을 예시하는 타이밍 도이다.
도 6은 일 실시예에 따라 메모리 리소스들에 대한 액세스를 제공하는 컴퓨터 플랫폼의 엘리먼트들을 예시하는 하이-레벨 기능 블록도이다.
도 7은 일 실시예에 따라 메모리 리소스들에 대한 액세스를 제공하는 모바일 디바이스의 엘리먼트들을 예시하는 하이-레벨 기능 블록도이다.
SOC 회로에서의 집적의 레벨이 증가함에 따라, 메모리 리소스들을 이용하는 SOC 컴포넌트들의 수 및 다양성이 또한 증가한다. 결과적으로, SOC 컴포넌트들에 대한 전력 효율적인 메모리 액세스를 제공할 필요가 증가하고 있다. 본 명세서에서 논의되는 기법들 및 메커니즘들은 SOC에 상주하는 다수의 모듈들 중 특정 모듈에 의한 메모리에 대한 효율적인 액세스를 용이하게 하는 전력 상태들을 다양하게 제공한다. 이러한 기법들 및/또는 메커니즘들은, 제1 SOC 전력 상태에서 메모리에 대한 액세스가 제1 SOC 모듈에 제공되지만, SOC의 상이한 전력 상태에서 메모리에 달리 액세스할 것인 하나 이상의 다른 SOC 모듈들에는 제공되지 않는 제1 SOC 전력 상태를 제공할 수 있다. 전력 상태들은 제1 모듈뿐만 아니라 다른 모듈들에 의한 메모리에 대한 액세스를 방지하는 제2 전력 상태를 추가로 포함할 수 있다. 그러나, 제2 전력 상태는 제1 전력 상태로의 낮은 레이턴시 전환을 용이하게 하는 대기(standby) 전력 상태로서 역할을 할 수 있다.
도 1은 특정한 실시예들에 따라 메모리 액세스들에 대한 전력 관리를 제공하는 시스템 온 칩(SoC)(100)의 엘리먼트들을 예시한다. SOC(100)는 해당 IC에 포함되거나 또는 해당 IC에 커플링되는 동일한 메모리 리소스들에 각각이 다양하게 액세스하는 다수의 컴포넌트들(본 명세서에서 "모듈들"이라고 지칭됨)을 포함하는 집적 회로(IC)의 단지 하나의 예이다. 이러한 IC는, 다수의 모듈들에 대한 메모리의 가용성에 관해, 다수의 모듈들 중 단지 일부의 모듈들 - 예컨대, 단지 하나의 모듈 - 에 대한 메모리 액세스를 지원하는 하나 이상의 SOC 전력 상태들을 제공할 수 있다.
특정한 실시예들이 SOC(100)의 모듈(130)에 의한 메모리 액세스를 용이하게 하는 전력 상태들에 관해 본 명세서에서 논의되는데, 이러한 전력 상태들은 SOC(100)의 하나 이상의 다른 모듈들(110)에 의한 메모리 액세스를 방지한다. 그러나, 이러한 논의는 SOC의 다양한 다른 모듈들 중 임의의 모듈에 의한 메모리 액세스에 부가적으로 또는 대안으로 적용하도록 확장될 수 있다. 하나 이상의 다른 모듈들(110)의 특정 수 및 유형들은 단지 실례이고, 특정한 실시예들을 제한하는 것은 아니다.
SOC(100)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 핸드헬드 디바이스(예컨대, 스마트 폰, 팜톱 디바이스, 태블릿 등), 게이밍 콘솔, 무선 통신 디바이스 또는 다른 이러한 컴퓨팅 가능 디바이스의 컴포넌트로서 동작하는 회로를 포함할 수 있다. 이러한 동작을 용이하게 하기 위해, SOC(100)는 다수의 모듈들 - 예컨대, 모듈(130) 및 하나 이상의 모듈들(110)을 포함함 - 과 그것들에 커플링된 메모리 제어기(140), SOC(100)에 포함되거나 또는 그 SOC에 커플링되는 메모리에 대한 액세스를 다수의 모듈들에게 제공하는 메모리 제어기(140)를 포함할 수 있다. 예시이지만 제한은 아닌 예로서, 메모리 제어기(140)는 SOC(100)에 포함되는 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM) 모듈과 같은 메모리(145)에 대한 액세스를 제공할 수 있다. 다른 실시예에서, 메모리(145)는 패키징된 디바이스의 IC 다이 스택에서 SOC(100)와 함께 스택될 수 있는 다른 IC 칩(도시되지 않음)의 일부이다. 메모리(145) 및/또는 메모리 제어기(140)의 동작은, 예를 들어, 듀얼 데이터 레이트(dual data rate)(DDR) 규격(예컨대, DDR4 SDRAM JEDEC 표준 JESD79-4, 2012년 9월), 고 대역폭 메모리(high bandwidth memory)(HBM) 규격(예컨대, HBM DRAM 표준 JESD235, 2013년 10월), 또는 다른 이러한 규격의 일부 또는 모든 요건들에 부합할 수 있다.
상호접속 회로(120)가 SOC(100)의 다양한 모듈들을 메모리 제어기(140)에 - 그리고 일부 실시예들에서는, 서로에게 - 데이터 및/또는 제어 메시지들의 다양한 교환들을 위해 커플링할 수 있다. 상호접속 회로(120)는 모듈들(110, 130)을 메모리 제어기(140)에 다양하게 커플링하기 위해 하나 이상의 버스들, 크로스바들, 패브릭들 및/또는 다른 접속 메커니즘들의 다양한 조합들 중 임의의 조합을 포함할 수 있다. 상호접속 회로(120)는 예를 들어, 하나 이상의 어드레스 및/또는 데이터 버스들을 포함할 수 있다. 모듈들(110, 130)의 일부 또는 전부는 별도의 통신 경로를 통해 메모리 제어기(140)에 각각 커플링될 수 있다는 것이 이해되어야 한다. 예를 들어, 하나 이상의 전용 데이터 및/또는 제어 라인들 등은 일부 실시예들에 따라, 모듈들(110, 130) 중 특정 하나의 모듈만을 메모리(145)에 커플링하는데 사용될 수 있다. 모듈들(110, 130)과 메모리 제어기(140) 사이의 통신은 기존의 통신 기법들로부터 적응될 수 있는데, 이는 본 명세서에서 상술되지 않고 특정한 실시예들로 제한되지 않는다.
모듈들(110, 130)은 메모리(145)에 액세스하기 위한 요청들을 메모리 제어기(140)에게 다양하게 전송할 수 있으며 - 예컨대, 모듈들(110, 130)은 서로 독립적으로 이러한 액세스를 요청한다. 비록 특정한 실시예들이 이 점에서 제한되지 않지만, 하나 이상의 모듈들(110)은 메모리 제어기(140)에 커플링된 프로세서 유닛(111)을 포함할 수 있다. 프로세서 유닛(111)은 도시되지 않은 운영 체제(operating system)(OS)를 실행하는 하나 이상의 코어들(112)을 포함할 수 있다. 덧붙여서, 프로세서 유닛(111)은, 예를 들어, 정적 랜덤 액세스 메모리(static random access memory)(SRAM) 등, 또는 다양한 유형들의 내부 통합 메모리 중 임의의 것과 같은 캐시 메모리(도시되지 않음)를 포함할 수 있다. 하나의 예에서, 메모리(145)는 프로세서 유닛(111)에 의해 실행될 수 있는 소프트웨어 프로그램을 저장할 수 있다. 일부 실시예들에서, 프로세서 유닛(111)은 - 예컨대, 메모리(145)에 또는 별도의 저장 디바이스에 저장되는 - 기본 입출력 시스템(Basic Input/Output System)(BIOS) 명령들에 액세스할 수 있다.
하나 이상의 모듈들(110)은 이미지 데이터 프로세싱을 수행하는 실례가 되는 디스플레이 모듈(114)과 SOC(100)의 하나 이상의 다른 컴포넌트들(도시되지 않음)에 대한 허브로서 역할을 하는 허브 모듈(116)에 의해 표현되는 바와 같은 추가적인 또는 대안적 모듈들을 포함할 수 있다. 허브 모듈(116)은, 예를 들어, 플랫폼 허브, 입출력(I/O) 허브 또는 다른 이러한 허브 회로를 포함할 수 있다. 프로세서 유닛(111)과 유사하게, 디스플레이 모듈(114)과 허브 모듈(116)은 - 예컨대, SOC(100)의 주어진 전력 상태에 의존하여 - 다양한 시간에 메모리 제어기(140)를 통해 메모리(145)에 각각 액세스할 수 있다.
SOC(100)는 상이한 시간에 둘 이상의 전력 상태들 중 임의의 전력 상태에서 동작할 수 있고, 이러한 전력 상태들 사이의 전환들을 지원, 개시, 또는 그렇지 않으면 구현하는 로직 - 예컨대, 하드웨어, 펌웨어 및/또는 실행 소프트웨어를 포함함 - 을 제공할 수 있다. 하나의 예시적인 실시예에 따르면, SOC(100)의 전력 관리 유닛(105)은 SOC(100)에 대해 구성될 주어진 전력 상태를 식별 - 예컨대, 이러한 식별은 모듈들(110, 130)의 현재 및/또는 예상되는 장래의 동작에 적어도 부분적으로 기초함 - 하는 하드웨어 및/또는 실행 소프트웨어를 포함하는 상태 로직(162)을 포함할 수 있다. 더욱이, 전력 관리 유닛(105)은 상태 로직(162)에 의해 상이한 시간에 식별되는 상이한 전력 상태들을 다양하게 구성하는 회로를 포함하거나 또는 그런 회로에 커플링될 수 있다. 예시이지만 제한은 아닌 예로서, 전력 관리 유닛(105)은 SOC(100)의 전력 상태를 다양하게 구성하기 위해 SOC(100)의 하나 이상의 컴포넌트들의 클록 게이팅을 수행하는 회로를 포함하는 클록 게이트 로직(160)을 포함할 수 있다. 대안적으로 또는 부가적으로, 전력 관리 유닛(105)은 이러한 전력 상태를 구성하기 위한 전력 게이팅을 수행하는 전력 게이트 로직(164)을 포함할 수 있다. 일부 실시예들에서, 전압 공급 로직(166)은 주어진 전력 상태를 구현하기 위해 하나 이상의 공급 전압들을 선택적으로 활성화 또는 비활성화할 수 있다.
이러한 클록 게이팅, 전력 게이팅 및/또는 전압 조정이 구현되게 할 특정 메커니즘들은, 특정한 실시예들의 특징들을 모호하게 하는 것을 피하기 위해 본 명세서에서 상술되지 않을 기존의 전력 제어 메커니즘들로부터 적응될 수 있다.
하나의 실시예에서, 전력 관리 유닛(105)으로 구성되는 하나 이상의 전력 상태들은 모듈들(110, 130)의 서브세트 - 예컨대, 단지 그 서브세트 - 에 대해 가능한 메모리(145)와의 통신을 선택적으로 하기 위한 것이다. 제1 전력 상태가 메모리 제어기(140)를 통한 메모리 모듈(130)과 메모리(145) 사이의 데이터 통신을 가능하게 할 수 있으며, 여기서 제1 전력 상태는 하나 이상의 모듈들(110)의 일부 또는 전부가 메모리(145)와의 데이터 교환들에 참여하는 것을 또한 방지한다. 일부 실시예들에서, 제2 전력 상태가 모듈(130)에 의한 메모리(145)의 접근성을 위해 제1 전력 상태로의 신속한 전환을 허용하는 대기 모드로서 역할을 한다. 이러한 전력 상태들은 SOC(100)의 동작에 중요하다고 간주되는 또는 그렇지 않으면 하나 이상의 모듈들(110)이 적어도 메모리 액세스들에 관해 비활성일 것으로 예상되는 시구간 동안 수행될 모듈(130)의 태스크를 수용함에 있어서 개선된 전력 효율을 제공할 수 있다.
예를 들어, 모듈(130)은 SOC(100)와 그 SOC에 커플링된 에이전트(도시되지 않음) 사이의 I/O 통신들을 위한 기능을 제공할 수 있다. 이러한 에이전트가 SOC(100)를 포함하는 플랫폼 상에 상주할 수 있거나 또는, 대안적으로, 하나 이상의 유선 네트워크들 및/또는 무선 네트워크들의 다양한 조합들 중 임의의 조합을 통해 그런 플랫폼과 통신하고 있을 수 있다. 일 실시예에서, 모듈(130)은 통신 프로세서, 모뎀, WiFi 네트워크 모듈, 블루투스 네트워크 모듈, 셀룰러 전화 모듈 또는 다른 이러한 통신 I/O 인터페이스 하드웨어를 포함한다. 일부 실시예들에서, 모듈(130)은 측지 정보를 교환하기 위해 글로벌 포지셔닝 시스템(global positioning system)(GPS) 모듈, 글로벌 내비게이션 위성 시스템(global navigation satellite system)(GNSS) 모듈 또는 다른 수신기 및/또는 송신기 회로를 포함한다. 또 다른 실시예들에서, 모듈(130)은 오디오 데이터의 스트림을 출력 또는 수신하는 SOC(100)를 위한 스트리밍 회로를 포함한다. 이것들은 - 예컨대, 하나 이상의 다른 모듈들(110)이 상대적으로 깊은 저 전력 모드들에 있는 동안 - 메모리 액세스들을 포함하는 태스크를 수행하는 모듈(130)에 의해 제공되는 기능의 단지 일부 예들이다.
하나 이상의 모듈들(110)이 (적어도 메모리(145)에 액세스하는 것에 관해) 비활성인 동안 모듈(130)의 동작을 효율적으로 지원하기 위하여, 전력 관리 유닛(105)은 메모리(145)와 하나 이상의 모듈들(110) 사이의 데이터 통신을 선택적으로 가능하지 않게 하는 전력 상태를 구현할 수 있다. 더구나, 전력 관리 유닛(105)은 모듈(130)이 메모리(145)에 액세스하고 있지 않은 동안 추가적인 전력 효율을 위한 다른 전력 상태를 선택적으로 구현할 수 있지만, 하나 이상의 모듈들(110)의 활동 동안 메모리(145)에 임박하여 액세스할 것이 예상될 수 있다. 이러한 전력 상태들은 모듈(150)과 전력 관리 유닛(105) 사이에 교환되는 시그널링(150)에 응답하여 다양하게 구현될 수 있다. 일부 실시예들에서, 모듈(130)은 이러한 전력 상태들이 구현될 것을 전력 관리 유닛(105)에게 요청 또는 그렇지 않으면 시그널링할 수 있는, 모듈들(110, 130) 중 단지 하나의 모듈이다. 시그널링(150)은 펌웨어(또는 다른 이러한 코드)를 실행하는 것과는 독립적으로 전력 상태 전환들을 구현하는 제어 회로의 빠른 동작을 제공할 수 있다.
도 2는 일 실시예에 따라 SOC를 동작시키는 방법(200)의 엘리먼트들을 예시한다. 방법(200)은 예를 들어 SOC(100)의 전력 상태들을 다양하게 구성하도록 수행될 수 있다. 일 실시예에서, 방법(200)은 전력 관리 유닛(105)의 특징들의 일부 또는 전부를 갖는 회로로 수행된다.
방법(200)은, 210에서, SOC의 다수의 모듈들 중 제1 모듈의 태스크 동안, SOC의 다수의 모듈들에 의한 메모리에 대한 임의의 액세스가 제1 모듈에 의한 액세스라는 것을 검출하는 단계를 포함할 수 있다. 제1 모듈은 모듈(130)의 특징들의 일부 또는 전부를 가질 수 있고, 예컨대, 다수의 모듈이 메모리 제어기(140)를 통해 메모리(145)에 커플링된다. 210에서 검출하는 단계는, 예를 들어, 다수의 모듈들의 현재 활동 및/또는 다수의 모듈들의 예상되는 장래의 활동을 나타내는, 전력 관리 유닛(105)에 의해 수신되는, 하나 이상의 신호들에 기초할 수 있다. 이러한 하나 이상의 신호들은, 다수의 모듈들 중에서, 단지 제1 모듈만이 적어도, 다수의 모듈들 중 하나 이상의 다른 모듈들에 대한 메모리 액세스의 디스에이블링(부수적인 전력 절약을 가짐)을 허용하는 시구간에 대해 메모리 액세스를 요구할 것이 예상된다는 것을 특정하거나 또는 그렇지 않으면 나타낼 수 있다. 선험적 입력으로서 수신될 수 있는 이러한 하나 이상의 신호들의 특정 수 및/또는 유형은, 특정한 실시예들로 제한하는 것이 아니다. 이러한 하나 이상의 신호들이 생성, 통신 및/또는 평가되게 할 특정 메커니즘들은 본원에서 상술되지 않는 기존의 플랫폼 성능 평가 기법들으로부터 적응될 수 있다.
210에서 검출하는 단계에 응답하여, 방법(200)은, 220에서, SOC를 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태로 전환할 수 있고, 제1 전력 상태는 메모리와 제1 모듈 사이의 데이터 통신을 가능하게 하고 메모리와 제1 모듈 이외의 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지한다. 간결함을 위해, 이러한 제1 전력 상태가 본 명세서에서는 PMA(path-to-memory-available) 전력 상태라고 지칭된다. 반면에, 제2 전력 상태는 메모리와 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지할 수 있다. 그러나, 제2 전력 상태는 - 예컨대, SOC의 다른 전력 상태에 의해 제공될 것인 임의의 대응하는 전환과 비교하여 - 제1 전력 상태로의 신속한 전환을 허용할 수 있다. 따라서, 제2 전력 상태는 제1 전력 상태에서의 제1 모듈에 의한 메모리 액세스들의 신속한 재개를 용이하게 할 수 있다. 간결함을 위해, 이러한 제2 전력 상태는 본 명세서에서 PMNA(path-to-memory-not-available) 전력 상태라고 지칭된다.
제1 전력 상태 동안, 방법(200)은, 230에서, 제1 모듈에 대한 태스크의 동작을 수행하기 위해 데이터를 교환할 수 있다. 230에서의 교환은 SOC의 메모리 제어기를 통해 제1 모듈과 메모리 사이에 데이터를 교환하는 것을 포함할 수 있다. 230에서의 데이터의 교환 전 또는 후에, 방법(200)은, 240에서, 제1 전력 상태와 제2 전력 상태 사이의 SOC의 전환을 수행할 수 있다. 메모리 및 다수의 모듈들과의 데이터 통신의 가능화(enablement)와 메모리 및 다수의 모듈들과의 데이터 통신의 방지 간의, 240에서의 전환으로 인한, 임의의 변경이, 메모리와 제1 모듈 사이의 통신에 관한 변경이다. 따라서, 제1 모듈은, 240에서 수행되는 전환으로 인해, 메모리와 데이터를 교환하는 것이 방지되는 것과 메모리와 데이터를 교환하는 것이 허용되는 것 사이에 전환되는, 다수의 모듈들 중 단지 하나의 모듈일 수 있다. 반면에, 다른 모듈들은 240에서의 전환 전, 동안 및 후에 메모리와 통신할 수 없게 각각이 유지될 수 있다.
220에서의 전환하는 단계는 제1 전력 상태 및 제2 전력 상태 중 어느 하나의 전력 상태 이외의 SOC의 전력 상태로부터 SOC를 전환하는 것을 포함할 수 있다. 예를 들어, 도 3은 방법(200)에 따라 동작되는 것과 같은 SOC에 대한 전력 상태들 및 전력 상태 전환들을 포함하는 상태도(300)를 도시한다. 스테이지 도면(300)에서 예시된 바와 같이, 하나의 실시예에 따른 상태 맵(305)(상태 맵(305)은 PMA(path-to-memory-available) 전력 상태(310) 및 PMNA(path-to-memory-not-available) 전력 상태(320)를 포함함)이, SOC의 하나 이상의 다른 전력 상태들을 포함하는 더 큰 상태 맵의 일부일 수 있다. 상태 맵(305)은 PMA(310)로부터 PMNA(320)로의 전환(315)을 포함한다. 그러한 전환(315)은 제1 모듈에 의한 예상되는 임박한 메모리 액세스 전에 (PMA(320)에 의해 제공되는 다른 전력 절약에 더하여) 소비 전력을 적어도 일시적으로 감소시킬 기회를 검출하는 SOC의 전력 관리 로직에 응답하여 일어날 수 있다. 상태 맵(305)은, 예를 들어, 이러한 다음의 메모리 액세스의 필요를 표시하는 제1 모듈에 응답하여 - 예컨대, 다른 모듈들의 비활동이 지속될 것으로 예상되는 동안 - 일어날 수 있는 PMNA(320)로부터 PMA(310)로의 전환(325)을 더 포함한다.
도 3의 상태도(300) 및 테이블(350)은 다양한 기존의 전력 상태들에 관한 PMA(310) 및/또는 PMNA(320) 사이의 특정 차이들을 예시한다. 그러나, 본 기술분야의 통상의 기술의 독자가, 상태 맵(305) 외부에 있는 타이밍 도(300)의 상태들 및 상태 전환들이 단지 실례가 되는 것이고 특정한 실시예들로 제한하는 것이 아니라는 것을 이해할 것이다. 일 실시예에서, 상태도(300)는, 상태 맵(305) 외부에, PMA(310)로부터 완전히 가동하는 전력 상태 활성(330)으로의 전환(335)을 더 포함한다. 활성(330)에 있는 동안, SOC는 SOC의 다수의 모듈들의 임의의 모듈 및 각각의 모듈에 의한 메모리 액세스를 지원할 수 있다. 상태도(300)는 상태 맵(305) 외부의 다양한 저-전력 상태들(LPS1(340a), LPS2(340b), ..., LPSn(340n))을 추가로 도시하는데, 이러한 저 전력 상태들은 각각의 전환들(345a, 345b, ..., 345n)을 통해 PMA(310)로/로부터 다양하게 전환할 수 있다. 일부 또는 전부의 이러한 저 전력 상태들은, 적어도, 다수의 모듈들에 의해 메모리에 대한 액세스를 지원하는 것에 관하여, 다수의 모듈을 동등하게 대할 수 있다. 비록 특정한 실시예들이 이 점에서 제한되지만, LPS1(340a), LPS2(340b), ..., LPSn(340n)은 다양한 기존의 대기, 수면, 최대절전(hibernate) 및/또는 다른 전력 상태들 중 임의의 전력 상태를 포함할 수 있다. 이러한 기존의 전력 상태들의 예들은, 예를 들어, 미국, 캘리포니아 주, 산타 클라라의 인텔 코오퍼레이션에 의해 제조된 SOC들에 대한 SOi1, SOi2, ...등의 전력 상태들을 포함한다.
테이블(350)에서 도시된 바와 같이, 저 전력 상태들(LPS1(340a), LPS2(340b), ..., 340b)은 임의의 데이터 교환들을 방지하기 위해 메모리 자체를 디스에이블 - 예컨대, 메모리 디바이스는 디커플링, 파워 다운, 클록 게이팅, 파워 게이팅 등이 됨 - 하는 것을 다양하게 포함할 수 있다. 구체적인 테이블(350)에 도시된 바와 같이, 이러한 디스에이블링은, 예를 들어, 메모리와 메모리 제어기 사이의 데이터 교환들을 방지하는 셀프 리프레시 모드에 메모리를 두는 것을 포함할 수 있다. 반면에, 메모리는 제1 모듈과의 데이터 교환들을 용이하게 하기 위해 PMA(310) 동안 인에이블되고, (일부 실시예들에서는) PMNA(320) 동안에도 그렇게 인에이블될 수 있다 - 예컨대, SOC의 어떤 다른 컴포넌트는 이러한 데이터 교환들을 방지하기 위해 PMNA(320)으로 대신 구성된다.
일 실시예에서, 메모리 자체는 - 예컨대, 메모리를 셀프 리프레시 모드에 둠으로써 그리고/또는 메모리로의 메모리 클록 신호의 통신을 게이팅, 방지 또는 그렇지 않으면 제한함으로써 - PMNA(320) 동안 부분적으로 디스에이블된다. PMA 상태 동안, 메모리는 - 예컨대, 셀프 리프레시 모드에서 동작하는 것이 아니라 - 메모리 제어기로부터 명시적 메모리 리프레시 신호를 수신하도록 대신 구성될 수 있다. 예를 들어, 테이블(350)에 도시된 바와 같이, 메모리 클록 신호는 PMA 전력 상태 동안 메모리에 제공될 수 있는데, 그 메모리 클록 신호는 PMNA 전력 상태 동안 메모리에 제공되는 것이 방지된다.
대안적으로 또는 부가적으로, 시스템 클록 신호가 PMA(310) 동안 - 그리고 일부 실시예들에서 PMNA(320) 동안 - 제1 모듈(SOC의 다른 모듈들은 아님) 에 전달되지만 SOC의 하나 이상의 다른 저 전력 상태들 동안 제1 모듈 또는 다른 모듈들에 전달되지 않을 수 있다. 따라서, PMA 전력 상태와 PMNA 전력 상태 사이의 전환 - 예컨대, 전환들(315, 325) 중 하나의 전환 - 은 제1 모듈, 메모리 제어기 또는 메모리 중 하나 이상에 대한 전력 게이팅 및/또는 클록 게이팅을 변경하는 것을 포함할 수 있다. 메모리, 메모리 제어기 및/또는 제1 모듈이 PMNA(320) 동안 적어도 부분적으로 계속해서 전력 공급 및/또는 클록킹되는 경우, SOC의 일부 또는 전부의 이러한 컴포넌트들은 이러한 컴포넌트들로의 클록 시그널링을 재개함으로써 전환(325)의 "인스턴트 온(instant on)" 구현예를 쉽사리 이용 가능할 수 있다.
일부 실시예들에서, 제1 모듈 이외의 SOC의 모듈이 (PMA 전력 상태 외의) 가동 전력 상태 동안 전력 레일에 커플링될 수 있는데, 해당 모듈은 PMA 상태 및/또는 PMNA 전력 상태 동안 전력 레일로부터 클록 게이팅, 전력 게이팅 및/또는 디커플링된다. 예를 들어, 다수의 모듈들 각각은 활성(330) 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링될 수 있는데, 다수의 모듈들 중에서, 제1 모듈만이 메모리 액세스들을 가능하게 하기 위해 PMA(320) 동안 충분한 전력을 수신하도록 커플링된다. 제1 모듈은 또한, PMNA(320) 동안 이러한 전력에 커플링된 다수의 모듈들 중 단지 하나의 모듈일 수 있다.
일부 실시예들에서, 메모리 제어기는 PMA 전력 상태 동안 전력을 수신하도록 커플링되고, 일부 실시예들에서, PMNA 전력 상태 동안 적어도 일부 전력을 수신하도록 커플링될 수 있다. 예를 들어, 메모리 제어기는 PMNA(320) 동안 전력 게이팅 및/또는 클록 게이팅될 수 있다. 대안적으로 또는 부가적으로, PMA 전력 상태가, 메모리 제어기와 제1 모듈 이외의 SOC의 하나 이상의 모듈들 사이의 데이터 통신을 방지하기 위해 디커플링 및/또는 파워 다운되어 있는 상호접속 회로를 포함할 수 있다. 이러한 실시예에서, PMNA 전력 상태가, 메모리 제어기와 제1 모듈 사이의 데이터 통신들을 추가로 방지하기 위해 디커플링 및/또는 파워 다운되어 있는 다른 상호접속 회로를 포함할 수 있다.
이제 도 4를 참조하면, 타이밍 도(400)가 SOC의 모듈과 SOC에 대한 전력 관리 로직 사이에 교환되는 신호들에 대해 도시된다. 그 모듈에는 SOC의 PMA 전력 상태에 의한 메모리에 대한 액세스가 선택적으로 제공될 수 있다. 타이밍 도(400)는 각각의 전환이 PMA 전력 상태 또는 PMNA 전력 상태에 대한 것인 하나 이상의 전환들을 제어하기 위한 - 예를 들어, 신호들(150)의 것과 같은 - 교환을 나타낼 수 있다. 예를 들어, 이러한 하나 이상의 전력 상태 전환들은 전환들(315, 325) 중 하나 또는 양쪽 모두를 포함할 수 있다. 타이밍 도(400)에 도시된 신호들의 특정 타이밍은 특정한 실시예들로 제한하는 것이 아니다.
실례가 되는 타이밍 도(400)에서 도시된 바와 같이, 신호 PreWake(410)가 모듈에 의해 어써트(assert)될 수 있는데, PreWake(410)는 PMA 전력 모드에 대한 요청이 예상된다는 것을 미리 전력 관리 로직에게 시그널링한다. PreWake(410)에 응답하여, SOC의 하나 이상의 클록 신호 소스들은 - 예컨대, LPS1(340a), LPS2(340b), ..., LPSn(340n) 중 하나와 같은 저 전력 상태로부터의 전환을 위해 SOC에 대해 - 시작될 수 있다.
시간 t1에, 신호 PMA_REQ(420)가 전력 관리 로직이 PMA 전력 상태를 구성하는 것을 요청하기 위해 모듈에 의해 어써트될 수 있다. 그 뒤에, 전력 관리 로직은 PMA_REQ(420)에 의해 전달된 요청을 그 모듈에 수신확인하는 신호 PMA_ACK(430)를 어써트할 수 있다. 요청 신호 PMA_REQ(420)는 그 뒤에 - 예컨대, PMA_ACK(430)의 상승 에지가 모듈에 의해 수신된 후- 디어써트될 수 있다.
PMA 전력 상태 요청에 응답하여, MEM_LINK_STATUS(470)는 링크가 메모리와 데이터를 교환하는 모듈에 이용 가능하다는 것을 모듈에 시그널링하기 위해 전력 관리 로직에 의해 어써트될 수 있다. 응답하여, 모듈은 - 예컨대, 시간 t5와 시간 t6 사이의 구체적인 기간 동안 - 링크를 통해 메모리에 액세스할 수 있다. 이 시구간 동안, 신호 PMNA_REQ(440)가 전력 관리 로직이 PMNA 전력 상태를 구성한다는 것을 다양하게 요청하기 위해 모듈에 의해 한 번 이상 어써트될 수 있다. PMNA_REQ(440)의 이러한 어써트는 (적어도 메모리 액세스들에 관해) 모듈에 의한 다가오는 비활동 기간의 예측에서 이루어질 수 있다. SOC는 스트리밍 및/또는 이 메모리에 액세스하는 태스크의 다른 동작들 동안 PMA 전력 상태와 PMNA 전력 상태 사이에 여러 번 전환할 수 있다.
태스크가 완료될 때, 모듈은 (적어도 일시적으로) 모듈이 더 이상 메모리를 요구하지 않는다는 것과, 일부 경우들에서, 예상되는 장래의 링크-업 절차로 인한 레이턴시가 액세스 가능하다는 것을 전력 관리 유닛에게 표시하기 위해 신호 PMA_RELEASE(450)를 어써트할 수 있다. 모듈은 그 다음에 - 예컨대, MEM_LINK_STATUS(470)의 디어써트 동안 - PMA_RELEASE(450)의 수신을 전력 관리 로직에게 수신확인하는 신호 PMA_RELEASE_ACK(460)를 어써트할 수 있다. 메모리가 해제되었음을 MEM_LINK_STATUS(470)가 표시한 후, - 예컨대, SOC가 저 전력 상태로 전환하는 경우 - PMA 전력 상태가 필요하지 않을 것임을 전력 관리 유닛에게 시그널링하기 위해 PreWake(410)가 디어써트(deassert)될 수 있다.
이제 도 5를 참조하면, 타이밍 도들(500, 510)이 SOC의 동작을 예시하기 위해 도시되는데, 이러한 동작은 일 실시예에 따른 다양한 전력 상태 전환들을 포함한다. 타이밍 도들(500, 510)은 예를 들어 SOC(100)의 특징들의 일부 또는 전부를 포함하는 SOC의 동작을 나타낼 수 있다. 일 실시예에서, 도 5에 도시된 전력 전환들의 하나 이상은 방법(200)의 동작들에 따라 수행된다.
타이밍 도들(500, 510)은, 예를 들어, 스위스, 제노바의 국제 전기통신 연합(International Telecommunication Union)의 IMT-2000(International Mobile Telecommunications-2000) 규격에 따른 것들과 같은 3세대(3G) 통신들을 지지하여 수행될 수 있는 메모리 페이징 동작들의 특징들을 나타낸다. 그러나, 타이밍 도(500, 510)의 특징들은 상이한 실시예들에 따라 다양한 하나 이상의 추가적 또는 대안적 동작들 중 임의의 동작에 유사하게 적용될 수 있다.
타이밍 도(500)에 도시된 바와 같이, SOC의 모듈 - 이 예에서, 모뎀 - 이 SOC의 메인 메모리에 대한 액세스를 요구하는 임의의 필요한 페이징 동작들을 구현하기 위해 매 주기적으로(every periodically)(예컨대, 1280 밀리초마다) 깨어난다. 전형적인 페이징 사이클이 ~20 ms 동안 지속될 수 있지만, 특정한 실시예들이 이와 관련하여 제한되지 않는다. 일 실시예에서, 모뎀은 실례가 되는 20 ms 페이징 사이클의 일부 기간들 동안에만 활성화되는 통신 프로세서, 제어기, 상태 머신 또는 다른 회로를 포함할 수 있다. 예를 들어, 모뎀의 프로세서에는 사이클의 약 10% 동안에만 메모리에 대한 액세스가 필요할 수 있다. 그러나, 메모리에 대한 액세스가 필요할 때, 프로세서는 이러한 액세스를 수용하는 전력 상태로 전환함에 있어서 높은 레이턴시를 용인하는 것이 불가능할 수 있다.
타이밍 도(510)에 도시된 바와 같이, 모뎀의 프로세서(또는 다른 회로)가 활성화될 때, 그 프로세서는 SOC를 PMA 전력 상태로 구성하기 위해 PMA_req 신호를 어써트할 수 있다. 이러한 PMA 전력 상태 동안, 모뎀 프로세서는 매우 낮은 레이턴시로 메인 메모리에 액세스할 수 있다. 모뎀의 프로세서가 (메모리 액세스들에 관해) 유휴 상태에 진입할 때, 모뎀은 SOC를 PMNA 전력 상태로 전환하기 위해 PMNA_req 신호를 어써트할 수 있다. PMNA 전력 상태의 구성은 모뎀이 메인 메모리에 액세스할 수 있는 것을 방지할 수 있다. 그러나, PMNA 전력 상태는 PMA 전력 상태의 것들에 더하여 추가적인 전력 절약 대책을 채용할 수 있다. 예시이지만 제한은 아닌 예로서, PMNA 전력 상태의 구성은 메모리를 셀프 리프레시 모드로 두는 것 및/또는 그렇지 않으면 클록 시그널링을 용이하게 하는 하나 이상의 위상 잠금 루프들(phase locked loops)(PLL들)을 디스에이블하는 것을 포함할 수 있다. 단일의 20 ms 페이징 사이클 동안, SOC는 PMA 전력 상태와 PMNA 전력 상태 사이에 여러 번 전환할 수 있다.
도 6은 SOC의 전력 관리가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블록도이다. 시스템(600)은 본 명세서에서 설명되는 임의의 실시예에 따른 컴퓨팅 디바이스를 나타내고, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게이밍 또는 엔터테인먼트 제어 시스템, 스캐너, 복사기, 프린터, 또는 다른 전자 디바이스일 수 있다. 시스템(600)은 시스템(600)에 대한 프로세싱, 동작 관리, 및 명령들의 실행을 제공하는 프로세서(620)를 포함할 수 있다. 프로세서(620)는 시스템(600)에 대한 프로세싱을 제공하는 임의의 유형의 마이크로프로세서, 중앙 프로세싱 유닛(central processing unit)(CPU), 프로세싱 코어, 또는 다른 프로세싱 하드웨어를 포함할 수 있다. 프로세서(620)는 시스템(600)의 전체 동작을 제어하고, 하나 이상의 프로그램가능 일반 목적 또는 특수 목적 마이크로프로세서들, 디지털 신호 프로세서들(digital signal processors)(DSP들), 프로그램가능 제어기들, 주문형 집적회로들(application specific integrated circuits)(ASIC들), 프로그램가능 로직 디바이스들(programmable logic devices)(PLD들) 등, 또는 이러한 디바이스들의 조합이거나 또는 그러한 것을 포함할 수 있다.
메모리 서브시스템(630)은 시스템(600)의 메인 메모리를 나타내고, 프로세서(620)에 의해 실행될 코드, 또는 실행 루틴에서 사용될 데이터 값들에 대한 일시적 저장을 제공한다. 메모리 서브시스템(630)은 판독전용 메모리(read-only memory)(ROM), 플래시 메모리, 하나 이상의 다양한 랜덤 액세스 메모리(random access memory)(RAM), 또는 다른 메모리 디바이스들과 하나 이상의 메모리 디바이스들, 또는 이러한 디바이스들의 조합을 포함할 수 있다. 메모리 서브시스템(630)은, 무엇보다도, 시스템(600)에서의 명령들의 실행을 위한 소프트웨어 플랫폼을 제공하는 운영 체제(OS)(636)를 저장하고 호스팅한다. 덧붙여, 다른 명령들(638)이 시스템(600)의 로직 및 프로세싱을 제공하기 위해 메모리 서브시스템(630)에 저장되고 실행된다. OS(636)와 명령들(638)은 프로세서(620)에 의해 실행된다.
메모리 서브시스템(630)은 데이터, 명령들, 프로그램들, 또는 다른 아이템들을 저장하는 메모리 디바이스(632)를 포함할 수 있다. 하나의 실시예에서, 메모리 서브시스템(630)은 시스템(600)의 SOC(690) 상에 상주하고, SOC(690) 상에 또한 상주하는 모듈들을 위한 메모리(632)에 대한 액세스를 제공하기 위해 메모리 제어기(634)를 포함한다. SOC(690)는 SOC(100)의 특징들의 일부 또는 전부를 포함할 수 있다. SOC(690)의 이러한 모듈들은, 예를 들어, 프로세서(620), 네트워크 인터페이스(650) 및/또는 시스템(600)의 다양한 다른 이러한 컴포넌트들 중 임의의 컴포넌트를 포함할 수 있다. SOC(690)의 전력 관리 유닛(power management unit)(PMU)(695)이 본원에서 논의되는 기법들에 따라, SOC의 전력 상태들을 다양하게 구성할 수 있다.
SOC(610)는 버스/버스 시스템(610)에 커플링된다. 버스(610)는 적절한 브리지들, 어댑터들, 및/또는 제어기들에 의해 접속되는 임의의 하나 이상의 별개의 물리적 버스들, 통신 라인들/인터페이스들, 및/또는 점 대 점 접속들을 나타내는 추상화물이다. 그러므로, 버스(610)는, 예를 들어, 시스템 버스, PCI(Peripheral Component Interconnect) 버스, ISA(industry standard architecture) 버스, SCSI(small computer system interface) 버스, USB(universal serial bus), 또는 IEEE(Institute of Electrical and Electronics Engineers) 표준 1394 버스(보통 "Firewire"라고 지칭됨) 중 하나 이상을 포함할 수 있다. 버스(610)의 버스들은 네트워크 인터페이스(650)에서의 인터페이스들에 또한 대응할 수 있다.
시스템(600)은 버스(610)에 커플링된 하나 이상의 입출력(I/O) 인터페이스(들)(640), 하나 이상의 내부의 대용량 저장 디바이스(들)(660), 및 주변기기 인터페이스(670)를 또한 포함할 수 있다. I/O 인터페이스(640)는 사용자가 시스템(600)과 상호작용(예컨대, 비디오, 오디오, 및/또는 영숫자 인터페이싱)하게 하는 하나 이상의 인터페이스 컴포넌트들을 포함할 수 있다. 네트워크 인터페이스(650)는 하나 이상의 네트워크들을 통해 원격 디바이스들(예컨대, 서버들, 다른 컴퓨팅 디바이스들)과 통신하는 능력을 시스템(600)에 제공한다. 네트워크 인터페이스(650)는 이더넷 어댑터, 무선 상호접속 컴포넌트들, USB(universal serial bus), 또는 다른 유선 또는 무선 표준들 기반 또는 사설 인터페이스들을 포함할 수 있다.
저장소(660)는 하나 이상의 자기적, 고체 상태, 또는 광학 기반 디스크들, 또는 조합과 같이 비휘발성 방식으로 대량의 데이터를 저장하는 임의의 기존의 매체일 수 있거나 또는 그러한 매체를 포함할 수 있다. 저장소(660)는 코드 또는 명령들 및 데이터(662)를 지속적인 상태로 유지한다(즉, 그 값은 시스템(600)으로의 전력의 중단에도 불구하고 유지된다). 저장소(660)는 "메모리"인 것으로 일반적으로 간주될 수 있지만, 메모리(630)는 명령들을 프로세서(620)에게 제공하는 실행 또는 동작 메모리이다. 저장소(660)가 비휘발성인데 반하여, 메모리(630)는 휘발성 메모리를 포함할 수 있다(즉, 데이터의 값 또는 상태는 시스템(600)에 전력이 중단된다면 불확정적이다).
주변기기 인터페이스(670)는 위에서 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변기기들은 시스템(600)에 종속적으로 접속하는 디바이스들을 일반적으로 지칭한다. 종속적 접속은 시스템(600)이 동작이 실행되는 그리고 사용자가 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 제공하는 접속이다.
도 7은 SOC의 전력 관리가 구현될 수 있는 모바일 디바이스의 일 실시예의 블록도이다. 디바이스(700)는 모바일 컴퓨팅 디바이스, 이를테면 컴퓨팅 태블릿, 모바일 폰 또는 스마트폰, 무선가능 e-리더, 또는 다른 모바일 디바이스를 나타낸다. 컴포넌트들 중 특정한 것들이 일반적으로 도시되고, 이러한 디바이스의 모든 컴포넌트들이 디바이스(700)에서 도시된 것은 아니라는 것이 이해될 것이다.
디바이스(700)는 디바이스(700)의 기본 프로세싱 동작들을 수행하는 프로세서(710)를 포함할 수 있다. 프로세서(710)는 하나 이상의 물리적 디바이스들, 이를테면 마이크로프로세서들, 애플리케이션 프로세서들, 마이크로제어기들, 프로그램가능 로직 디바이스들, 또는 다른 프로세싱 수단을 포함할 수 있다. 프로세서(710)에 의해 수행되는 프로세싱 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제의 실행을 포함한다. 프로세싱 동작들은 인간 사용자와의 또는 다른 디바이스들과의 I/O(input/output)에 관련된 동작들, 전력 관리에 관련된 동작들, 및/또는 디바이스(700)를 다른 디바이스에 접속시키는 것에 관련된 동작들을 포함한다. 프로세싱 동작들은 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 또한 포함할 수 있다.
하나의 실시예에서, 디바이스(700)는 오디오 기능들을 컴퓨팅 디바이스에 제공하는 것에 연관된 하드웨어(예컨대, 오디오 하드웨어 및 오디오 회로들) 및 소프트웨어(예컨대, 드라이버들, 코덱들) 컴포넌트들을 나타내는 오디오 서브시스템(720)을 포함한다. 오디오 기능들은 스피커 및/또는 헤드폰 출력, 뿐만 아니라 마이크로폰 입력을 포함할 수 있다. 이러한 기능들을 위한 디바이스들은 디바이스(700) 속에 통합되거나, 또는 디바이스(700)에 접속될 수 있다. 하나의 실시예에서, 사용자가 프로세서(710)에 의해 수신되는 그리고 프로세싱되는 오디오 커맨드들을 제공함으로써 디바이스(700)와 상호작용한다.
디스플레이 서브시스템(730)은 컴퓨팅 디바이스와 상호작용하기 위한 시각적 및/또는 촉각적 표시를 사용자에게 제공하는 하드웨어(예컨대, 디스플레이 디바이스들) 및 소프트웨어(예컨대, 드라이버들) 컴포넌트들을 나타낸다. 디스플레이 서브시스템(730)은 디스플레이 인터페이스(732)를 포함할 수 있는데, 이 디스플레이 인터페이스는 디스플레이를 사용자에게 제공하는데 사용되는 특정 스크린 또는 하드웨어 디바이스를 포함할 수 있다. 하나의 실시예에서, 디스플레이 인터페이스(732)는 디스플레이에 관련된 적어도 일부 프로세싱을 수행하기 위한, 프로세서(710)와는 별개인 로직을 포함한다. 하나의 실시예에서, 디스플레이 서브시스템(730)은 사용자에게 입력 및 출력 둘 다를 제공하는 터치스크린 디바이스를 포함한다.
I/O 제어기(740)는 사용자와의 상호작용에 관련된 하드웨어 디바이스들 및 소프트웨어 컴포넌트들을 나타낸다. I/O 제어기(740)는 오디오 서브시스템(720) 및/또는 디스플레이 서브시스템(730) 중 일부인 하드웨어를 관리하도록 동작할 수 있다. 덧붙여, I/O 제어기(740)는 사용자가 시스템과 상호작용하게 할 디바이스(700)에 접속되는 추가적인 디바이스들에 대한 접속 지점을 예시한다. 예를 들어, 디바이스(700)에 결부될 수 있는 디바이스들은 마이크로폰 디바이스들, 스피커 또는 스테레오 시스템들, 비디오 시스템들 또는 다른 디스플레이 디바이스, 키보드 또는 키패드 디바이스들, 또는 카드 판독기들 또는 다른 디바이스들과 같은 특정 애플리케이션들과 함께 사용하기 위한 다른 I/O 디바이스들을 포함할 것이다.
위에서 언급된 바와 같이, I/O 제어기(740)는 오디오 서브시스템(720) 및/또는 디스플레이 서브시스템(730)과 상호작용할 수 있다. 예를 들어, 마이크로폰 또는 다른 오디오 디바이스를 통한 입력이, 디바이스(700)의 하나 이상의 애플리케이션들 또는 기능들을 위한 입력 또는 커맨드들을 제공할 수 있다. 덧붙여, 오디오 출력이 디스플레이 출력 대신 또는 디스플레이 출력에 더하여 제공될 수 있다. 다른 예에서, 디스플레이 서브시스템이 터치스크린을 포함한다면, 디스플레이 디바이스는 I/O 제어기(740)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 또한 역할을 한다. I/O 제어기(740)에 의해 관리되는 I/O 기능들을 제공하는, 디바이스(700) 상의 추가적인 버튼들 또는 스위치들이 또한 있을 수 있다.
하나의 실시예에서, I/O 제어기(740)는 디바이스(700)에 포함될 수 있는 가속도계들, 카메라들, 광 센서들 또는 다른 환경관련(environmental) 센서들, 자이로스코프들, 글로벌 포지셔닝 시스템(GPS), 또는 다른 하드웨어와 같은 디바이스들을 관리한다. 입력은 직접적인 사용자 상호작용의 부분일, 뿐만 아니라 시스템에 대한 그것의 동작들(이를테면 잡음에 대한 필터링, 밝기 검출을 위한 디스플레이들의 조정, 카메라를 위한 플래시의 적용, 또는 다른 특징들)에 영향을 미치는 환경관련 입력을 제공하는 것일 수 있다.
하나의 실시예에서, 디바이스(700)는 배터리 전력 사용, 배터리의 충전, 및 전력 절약 동작에 관련된 특징들을 관리하는 전력 관리(750)를 포함한다. 메모리 서브시스템(760)은 디바이스(700)에 정보를 저장하기 위한 메모리 디바이스(들)(762)를 포함할 수 있다. 메모리 서브시스템(760)은 비휘발성(메모리 디바이스에의 전력이 중단된다면 상태는 변하지 않음) 및/또는 휘발성(메모리 디바이스에의 전력이 중단된다면 상태는 불확정적이 됨) 메모리 디바이스들을 포함할 수 있다. 메모리(760)는 애플리케이션 데이터, 사용자 데이터, 음악, 사진들, 문서들, 또는 다른 데이터, 뿐만 아니라 시스템(700)의 애플리케이션들 및 기능들의 실행에 관련된 시스템 데이터(장기적이든 또는 일시적이든)를 저장할 수 있다.
하나의 실시예에서, 메모리 서브시스템(760)은 메모리 제어기(764)(이는 시스템(700)의 제어의 일부라고 또한 간주될 수 있음)를 포함한다. 디바이스(700)는 메모리 제어기(764)와 메모리 제어기(764)를 통해 메모리(762)에 다양하게 액세스하는 것들인 하나 이상의 모듈들(예컨대, 프로세서(700), 모뎀(778) 등을 포함함)을 포함하는 SOC(705)를 포함할 수 있다. SOC(705)는 SOC(100)의 특징들의 일부 또는 전부를 포함할 수 있다. 전력 관리(750)는 상이한 시간들에서 SOC(705)의 상이한 전력 상태들을 다양하게 구성할 수 있는데, 전력 상태들은 본 명세서에서 논의되는 바와 같은 PMA 전력 상태 및 PMNA 전력 상태를 포함한다.
접속성(connectivity)(770)은 디바이스(700)가 외부 디바이스들과 통신하는 것을 가능하게 하는 하드웨어 디바이스들(예컨대, 무선 및/또는 유선 커넥터들 및 통신 하드웨어)과 소프트웨어 컴포넌트들(예컨대, 드라이버들, 프로토콜 스택들)을 포함할 수 있다. 디바이스는 별도의 디바이스들, 이를테면 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들, 뿐만 아니라 헤드셋들, 프린터들, 또는 다른 디바이스들과 같은 주변기기들일 수 있다.
접속성(770)은 다수의 상이한 유형들의 접속성을 포함할 수 있다. 일반화하기 위해, 디바이스(700)에는 - 예컨대, 실례가 되는 다이폴 안테나(776)를 통하는 - 셀룰러 접속성(772) 및 무선 접속성(774)이 예시된다. 셀룰러 접속성(772)은 GSM(global system for mobile communications) 또는 변형물들 또는 파생물들, CDMA(code division multiple access) 또는 변형물들 또는 파생물들, TDM(time division multiplexing) 또는 변형물들 또는 파생물들, LTE(long term evolution - 또한 "4G"라고 지칭됨), 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 바와 같은 무선 캐리어들에 의해 제공되는 셀룰러 네트워크 접속성을 일반적으로 지칭한다. 무선 접속성(774)은 셀룰러가 아닌 무선 접속성을 지칭하고, 개인 영역 네트워크들(이를테면 블루투스), 국부 영역 네트워크들(이를테면 WiFi), 및/또는 광역 네트워크들(이를테면 WiMax), 또는 다른 무선 통신을 포함할 수 있다. 무선 통신은 비-고체 매체를 통한 변조된 전자기 방사의 사용을 통한 데이터의 전송을 지칭한다. 유선 통신은 고체 통신 매체를 통해 일어난다.
주변기기 접속들(780)은 하드웨어 인터페이스들 및 커넥터들, 뿐만 아니라 주변기기 접속들을 이루어지게 하는 소프트웨어 컴포넌트들(예컨대, 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(700)는 다른 컴퓨팅 디바이스들에 대한 주변 디바이스("로(to)" 782), 뿐만 아니라 그것에 접속되는 주변 디바이스들("로부터(from)" 784)를 가질 수 있다는 것이 이해될 것이다. 디바이스(700)는 디바이스(700) 상의 콘텐츠를 관리(예컨대, 다운로딩 /또는 업로딩, 변경, 동기화)할 목적으로 다른 컴퓨팅 디바이스들에 접속하는 "도킹(docking)" 커넥터를 보통 갖는다. 덧붙여, 예를 들어, 시청각 또는 다른 시스템들로의 콘텐츠 출력을 디바이스(700)가 제어하는 것을 허용하는 특정 주변기기들에 디바이스(700)가 접속하는 것을 도킹 커넥터가 허용할 수 있다.
사설 도킹 커넥터 또는 다른 사설 접속 하드웨어 외에도, 디바이스(700)는 공통 또는 표준 기반 커넥터들을 통해 주변기기 접속들(780)을 이룰 수 있다. 일반적인 유형들은 유니버셜 직렬 버스(USB) 커넥터(이는 다수의 상이한 하드웨어 인터페이스들 중 임의의 인터페이스를 포함할 수 있음), MDP(MiniDisplayPort), HDMI(High Definition Multimedia Interface)를 포함하는 DisplayPort, Firewire, 또는 다른 유형을 포함할 수 있다.
하나의 구현예에서, SOC 회로가, 제1 모듈을 포함하는 다수의 모듈들 - 다수의 모듈들 각각은 메모리에 대한 액세스를 요청하도록 구성되는 각각의 회로를 포함함 - , 다수의 모듈들 각각에 커플링된 메모리 제어기, 및 제1 모듈의 태스크 동안 다수의 모듈들에 의한 메모리에 대한 임의의 액세스가 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하도록 구성되는 회로를 포함하는 전력 관리 유닛을 포함한다. 하나 이상의 신호에 응답하여, 전력 관리 유닛은 SOC 회로를 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태로 전환하고, 제1 전력 상태는 메모리와 제1 모듈 사이의 데이터 통신을 가능하게 하고 메모리와 제1 모듈 이외의 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지한다. 제1 모듈이 메모리 제어기를 통해 메모리와 데이터를 교환하는 것을 포함하여, 제1 모듈은 태스크의 동작을 수행하기 위해 데이터를 교환하고, 전력 관리 유닛은 제1 전력 상태와 제2 전력 상태 사이의 전환을 추가로 수행하며, 메모리와 다수의 모듈들 사이의 통신의 가능화와 메모리와 다수의 모듈들 사이의 통신의 방지 사이의, 전환으로 인한, 임의의 변경은 메모리와 제1 모듈 사이의 통신에 관한 변경이다.
일 실시예에서, SOC는 메모리를 포함한다. 다른 실시예에서, 메모리 클록 신호가 제1 전력 상태 동안 메모리에 제공되고, 메모리 클록 신호는 제2 전력 상태 동안 메모리에 제공되는 것이 방지된다. 다른 실시예에서, 클록 신호가 제1 전력 상태 동안 그리고 제2 전력 상태 동안 제1 모듈에 제공된다. 다른 실시예에서, 제1 모듈 이외의 다수의 모듈들 중 하나의 모듈은 제1 전력 상태 및 제2 전력 상태 이외의 시스템 온 칩의 전력 상태 동안 전력 레일에 커플링되고, 다수의 모듈들 중 하나의 모듈은 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태 동안 전력 레일로부터 디커플링된다.
다른 실시예에서, 다수의 모듈들 각각은 제1 전력 상태 및 제2 전력 상태 이외의 활성 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링되고, 다수의 모듈들 중에서, 제1 모듈만이 제1 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링된다. 다른 실시예에서, 다수의 모듈들 중에서, 제1 모듈만이 제2 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링된다. 다른 실시예에서, 메모리 제어기는 제1 전력 상태 동안 전력을 수신하도록 커플링된다. 다른 실시예에서, 메모리 제어기는 제2 전력 상태 동안 전력을 수신하도록 커플링된다.
다른 실시예에서, 다수의 모듈들 중에서, 제1 모듈만이 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태를 요청하도록 커플링되는 회로를 포함한다. 다른 실시예에서, 제1 전력 상태 동안, 메모리는 메모리 제어기로부터 메모리 리프레시 신호를 수신하도록 구성된다. 다른 실시예에서, 제1 전력 상태와 제2 전력 상태 사이의 전환을 수행하는 것은, 제1 모듈, 메모리 제어기 또는 메모리의 전력 게이팅을 변경하는 것을 포함한다. 다른 실시예에서, 제1 전력 상태와 제2 전력 상태 사이의 전환을 수행하는 것은, 제1 모듈, 메모리 제어기 또는 메모리의 클록 게이팅을 변경하는 것을 포함한다.
다른 구현예에서, 컴퓨터 판독가능 저장 매체가 하나 이상의 프로세싱 유닛들에 의해 실행될 때 하나 이상의 프로세싱 유닛들로 하여금 방법을 수행하게 하는 명령들을 저장하며, 상기 방법은, 시스템 온 칩(SOC)의 다수의 모듈들 중 제1 모듈의 태스크 동안, 다수의 모듈들에 의한 메모리에 대한 임의의 액세스가 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하는 단계와, 하나 이상의 신호들에 응답하여, SOC의 제1 전력 상태와 SOC의 제2 전력 상태 중 하나의 전력 상태로 전환하는 단계를 포함하고, 제1 전력 상태는 메모리와 제1 모듈 사이의 데이터 통신을 가능하게 하고 메모리와 제1 모듈 이외의 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지한다. 그 방법은 제1 전력 상태 동안, SOC의 메모리 제어기를 통해 제1 모듈과 메모리 사이에 데이터를 교환하는 것을 포함하여, 태스크의 동작을 수행하기 위해 데이터를 교환하는 단계를 더 포함한다. 그 방법은 제1 전력 상태와 제2 전력 상태 사이의 전환을 수행하는 단계를 더 포함하고, 메모리와 다수의 모듈들 사이의 통신의 가능화와 메모리와 다수의 모듈들 사이의 통신의 방지 사이의, 전환으로 인한, 임의의 변경이 메모리와 제1 모듈 사이의 통신에 관한 변경이다.
일 실시예에서, SOC는 메모리를 포함한다. 다른 실시예에서, 메모리 클록 신호가 제1 전력 상태 동안 메모리에 제공되고, 메모리 클록 신호는 제2 전력 상태 동안 메모리에 제공되는 것이 방지된다. 다른 실시예에서, 클록 신호가 제1 전력 상태 동안 그리고 제2 전력 상태 동안 제1 모듈에 제공된다.
다른 구현예에서, 방법이, 시스템 온 칩(SOC)의 다수의 모듈들 중 제1 모듈의 태스크 동안, 다수의 모듈들에 의한 메모리에 대한 임의의 액세스가 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하는 단계와, 하나 이상의 신호들에 응답하여, SOC의 제1 전력 상태와 SOC의 제2 전력 상태 중 하나의 전력 상태로 전환하는 단계를 포함하고, 제1 전력 상태는 메모리와 제1 모듈 사이의 데이터 통신을 가능하게 하고 메모리와 제1 모듈 이외의 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지한다. 그 방법은 제1 전력 상태 동안, SOC의 메모리 제어기를 통해 제1 모듈과 메모리 사이에 데이터를 교환하는 것을 포함하여, 태스크의 동작을 수행하기 위해 데이터를 교환하는 단계를 더 포함한다. 그 방법은 제1 전력 상태와 제2 전력 상태 사이의 전환을 수행하는 단계를 더 포함하고, 메모리와 다수의 모듈들 사이의 통신의 가능화와 메모리와 다수의 모듈들 사이의 통신의 방지 사이의, 전환으로 인한, 임의의 변경이 메모리와 제1 모듈 사이의 통신에 관한 변경이다.
일 실시예에서, 메모리 클록 신호가 제1 전력 상태 동안 메모리에 제공되고, 메모리 클록 신호는 제2 전력 상태 동안 메모리에 제공되는 것이 방지된다. 다른 실시예에서, 클록 신호가 제1 전력 상태 동안 그리고 제2 전력 상태 동안 제1 모듈에 제공된다. 다른 실시예에서, 제1 모듈 이외의 다수의 모듈들 중 하나의 모듈은 제1 전력 상태 및 제2 전력 상태 이외의 SOC의 전력 상태 동안 전력 레일에 커플링되고, 다수의 모듈들 중 하나의 모듈은 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태 동안 전력 레일로부터 디커플링된다. 다른 실시예에서, 다수의 모듈들 각각은 제1 전력 상태 및 제2 전력 상태 이외의 활성 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링되고, 다수의 모듈들 중에서, 제1 모듈만이 제1 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링된다.
다른 구현예에서, 시스템이, 제1 모듈을 포함하는 다수의 모듈들 - 다수의 모듈들 각각은 메모리에 대한 액세스를 요청하도록 구성되는 각각의 회로를 포함함 - , 다수의 모듈들 각각에 커플링된 메모리 제어기, 및 제1 모듈의 태스크 동안 다수의 모듈들에 의한 메모리에 대한 임의의 액세스가 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하도록 구성되는 회로를 포함하는 전력 관리 유닛을 포함하는 시스템 온 칩(SOC)을 포함한다. 하나 이상의 신호에 응답하여, 전력 관리 유닛은 SOC 회로를 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태로 전환하고, 제1 전력 상태는 메모리와 제1 모듈 사이의 데이터 통신을 가능하게 하고 메모리와 제1 모듈 이외의 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지한다. 제1 모듈이 메모리 제어기를 통해 메모리와 데이터를 교환하는 것을 포함하여, 제1 모듈은 태스크의 동작을 수행하기 위해 데이터를 교환한다. 전력 관리 유닛은, 제1 전력 상태와 제2 전력 상태 사이의 전환을 추가로 수행하고, 메모리와 다수의 모듈들 사이의 통신의 가능화와 메모리와 다수의 모듈들 사이의 통신의 방지 사이의, 전환으로 인한, 임의의 변경이 메모리와 제1 모듈 사이의 통신에 관한 변경이다. 시스템은 SOC 회로의 동작에 기초하여 무선 통신들을 교환하는 다이폴 안테나를 더 포함한다. 일 실시예에서, SOC는 메모리를 포함한다. 다른 실시예에서, 다수의 모듈들 중에서, 제1 모듈만이 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태를 요청하도록 커플링되는 회로를 포함한다.
시스템 온 칩 회로의 전력을 관리하기 위한 기법들 및 아키텍처들이 본 명세서에서 설명된다. 위의 설명에서, 설명의 목적으로, 다수의 특정 세부사항들이 특정 실시예들의 완전한 이해를 제공하기 위해 언급된다. 그러나, 특정 실시예들이 이들 특정 세부사항들 없이 실용화될 수 있다는 것은 본 기술분야의 통상의 기술자에게 명백할 것이다. 다른 경우들에서, 구조들 및 디바이스들은 그 설명을 모호하게 하는 것을 피하기 위하여 블록도 형태로 도시된다.
"하나의 실시예" 또는 "일 실시예"에 대한 본 명세서에서의 언급은 그 실시예에 관련하여 설명되는 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서의 여러 곳에서의 "일 실시예에서"라는 어구의 출현들은 반드시 모두가 동일한 실시예를 언급하는 것은 아니다.
본 명세서에서의 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작들의 알고리즘들 및 심볼적 표현들의 측면에서 제시된다. 이들 알고리즘적 설명들 및 표현들은 컴퓨팅 기술분야들의 통상의 기술자들에 의해 그들의 작업의 실체를 그 기술분야의 다른 기술자들에게 가장 효과적으로 전달하는데 사용되는 수단이다. 알고리즘은 본 명세서에서 일반적으로 원하는 결과로 이어지는 단계들의 자기 일관적 시퀀스(self-consistent sequence)인 것으로 생각된다. 이들 단계들은 물리량들의 물리적 조작들을 요구하는 하는 것들이다. 보통, 반드시 그런 것은 아니지만, 이들 양들은 저장, 전송, 조합, 비교, 및 다른 방식으로 조작되는 것이 가능한 전기적 또는 자기적 신호들의 형태를 취한다. 주로 통상적인 사용의 이유로 이러한 신호들을 비트들, 데이터, 값들, 엘리먼트들, 심볼들, 문자들, 항들(terms), 숫자들(numbers), 또는 이와 유사한 것으로서 지칭하는 것이 가끔은 편리하다는 것이 입증되었다.
그러나, 이들 및 유사한 용어들의 모두는 적합한 물리량들에 연관될 것이고 이들 양들에 적용되는 단지 편리한 라벨들일 뿐이라는 것을 명심해야 한다. 본 명세서의 논의로부터 명백하듯이 구체적으로 다르게 언급되지 않는 한, 명세서 전체를 통해, "프로세싱" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "디스플레이" 등과 같은 용어들을 이용한 논의들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자적) 양들로서 표현되는 데이터를 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 송신 또는 표시 디바이스들 내의 물리량들로 조작 및 변환하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 액션 및 프로세스들을 지칭한다는 것이 이해된다.
특정 실시예들은 본 명세서에서의 동작들을 수행하는 장치에 또한 관련된다. 이 장치는 요구된 목적들을 위해 특별히 구성될 수 있거나, 또는 그것은 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 일반 목적 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크들, 광 디스크들, CD-ROM들, 광자기 디스크들을 포함하는 임의의 유형의 디스크, 판독전용 메모리들(ROM들), 동적 RAM(DRAM)과 같은 랜덤 액세스 메모리들(RAM들), EPROM들, EEPROM들, 자기 또는 광 카드들, 또는 전자적 명령들을 저장하기에 적합하고 컴퓨터 시스템 버스에 커플링되는 임의의 유형의 매체들과 같지만 그것들로 제한되지는 않는 컴퓨터 판독가능 저장 매체에 저장될 수 있다.
본원에서 제시된 알고리즘들 및 디스플레이들은 임의의 특정 컴퓨터 또는 다른 장치에 본질적으로 관련되지 않는다. 다양한 일반 목적 시스템들이 본원에서의 교시들에 따른 프로그램들과 함께 사용될 수 있거나, 또는 요구된 방법 단계들을 수행하기 위한 더욱 특수한 장치들을 구성하는데 편리함을 제공할 수 있다. 다양한 이들 시스템들에 대한 요구된 구조는 본 명세서의 설명으로부터 나타난다. 덧붙여서, 특정 실시예들은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 본원에서 설명된 바와 같은 그러한 실시예들의 교시들을 구현하는데 사용될 수 있다는 것이 이해될 것이다.
본원에서 설명된 것들 외에도, 다양한 수정들이 개시된 실시예들 및 그것들의 구현예들에 대해 그것들의 범위로부터 벗어남 없이 만들어질 수 있다. 그러므로, 본원에서의 예시들과 예들은 실례가 되는 것으로 해석되고 제한하는 의미로는 해석되지 않아야 한다. 본 발명의 범위는 뒤따르는 청구항들에 대한 참조에 의해서만 평가되어야 한다.

Claims (25)

  1. 시스템 온 칩(system-on-chip)(SOC) 회로로서,
    제1 모듈을 포함하는 다수의 모듈들 - 상기 다수의 모듈들 각각은 메모리에 대한 액세스를 요청하도록 구성되는 각각의 회로를 포함함 - ;
    상기 다수의 모듈들 각각에 커플링된 메모리 제어기; 및
    상기 제1 모듈의 태스크 동안 상기 다수의 모듈들에 의한 상기 메모리에 대한 임의의 액세스가 상기 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하도록 구성되는 회로를 포함하는 전력 관리 유닛
    을 포함하고,
    상기 하나 이상의 신호에 응답하여, 상기 전력 관리 유닛은 상기 SOC 회로를 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태로 전환(transition)하도록 구성되고, 상기 제1 전력 상태는 상기 메모리와 상기 제1 모듈 사이의 데이터 통신을 가능하게 하고 상기 메모리와 상기 제1 모듈 이외의 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지하고, 상기 제2 전력 상태는 상기 메모리와 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지하고,
    상기 메모리 제어기를 통해 상기 메모리와 데이터를 교환하는 것을 포함하여, 상기 제1 모듈은 상기 태스크의 동작을 수행하기 위해 데이터를 교환하도록 구성되고, 상기 전력 관리 유닛은 상기 제1 전력 상태와 상기 제2 전력 상태 사이의 전환을 수행하도록 추가로 구성되고,
    클록 신호가 상기 제1 전력 상태 동안 그리고 상기 제2 전력 상태 동안 상기 제1 모듈에 제공되고,
    상기 다수의 모듈 중에서, 상기 제1 모듈만이 상기 제1 전력 상태 및 상기 제2 전력 상태 중 하나를 요청하도록 구성되는 회로를 포함하고, 상기 제1 전력 상태로부터 상기 제2 전력 상태로 전환하는 것에 응답하여, 상기 제1 모듈만이 상기 메모리와 데이터를 교환하는 것이 가능한 상태로부터 상기 메모리와 데이터를 교환하는 것이 불가능한 상태로 전환되도록 구성되는 모듈인 것을 특징으로 하는, SOC 회로.
  2. 제1항에 있어서, 상기 SOC는 상기 메모리를 포함하는, SOC 회로.
  3. 제1항에 있어서, 메모리 클록 신호가 상기 제1 전력 상태 동안 상기 메모리에 제공되고, 상기 메모리 클록 신호는 상기 제2 전력 상태 동안 상기 메모리에 제공되는 것이 방지되는, SOC 회로.
  4. 삭제
  5. 제1항에 있어서, 상기 제1 모듈 이외의 상기 다수의 모듈들 중 하나의 모듈은 상기 제1 전력 상태 및 상기 제2 전력 상태 이외의 상기 시스템 온 칩의 전력 상태 동안 전력 레일(power rail)에 커플링되고, 상기 다수의 모듈들 중 상기 하나의 모듈은 상기 제1 전력 상태와 상기 제2 전력 상태 중 하나의 전력 상태 동안 상기 전력 레일로부터 디커플링되는(decoupled), SOC 회로.
  6. 제1항에 있어서, 상기 다수의 모듈들 각각은 상기 제1 전력 상태 및 상기 제2 전력 상태 이외의 활성 전력 상태(active power state) 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링되고, 상기 다수의 모듈들 중에서, 상기 제1 모듈만이 상기 제1 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링되는, SOC 회로.
  7. 제6항에 있어서, 상기 다수의 모듈들 중에서, 상기 제1 모듈만이 상기 제2 전력 상태 동안 상기 각각의 전력 레일을 통해 전력을 수신하도록 커플링되는, SOC 회로.
  8. 제6항에 있어서, 상기 메모리 제어기는 상기 제1 전력 상태 동안 전력을 수신하도록 커플링되는, SOC 회로.
  9. 제8항에 있어서, 상기 메모리 제어기는 상기 제2 전력 상태 동안 전력을 수신하도록 커플링되는, SOC 회로.
  10. 삭제
  11. 제1항에 있어서, 상기 제1 전력 상태 동안, 상기 메모리는 상기 메모리 제어기로부터 메모리 리프레시 신호를 수신하도록 구성되는, SOC 회로.
  12. 제1항에 있어서, 상기 제1 전력 상태와 상기 제2 전력 상태 사이의 전환을 수행하는 것은, 상기 제1 모듈, 상기 메모리 제어기 또는 상기 메모리의 전력 게이팅(power gating)을 변경하는 것을 포함하는, SOC 회로.
  13. 제1항에 있어서, 상기 제1 전력 상태와 상기 제2 전력 상태 사이의 전환을 수행하는 것은, 상기 제1 모듈, 상기 메모리 제어기 또는 상기 메모리의 클록 게이팅(clock gating)을 변경하는 것을 포함하는, SOC 회로.
  14. 하나 이상의 프로세싱 유닛들에 의해 실행될 때, 상기 하나 이상의 프로세싱 유닛들로 하여금, 방법을 수행하게 하는 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    시스템 온 칩(SOC)의 다수의 모듈들 중 제1 모듈의 태스크 동안, 상기 다수의 모듈들에 의한 메모리에 대한 임의의 액세스가 상기 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하는 단계;
    상기 하나 이상의 신호들에 응답하여, 상기 SOC의 제1 전력 상태와 상기 SOC의 제2 전력 상태 중 하나의 전력 상태로 전환하는 단계 - 상기 제1 전력 상태는 상기 메모리와 상기 제1 모듈 사이의 데이터 통신을 가능하게 하고 상기 메모리와 상기 제1 모듈 이외의 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지하고, 상기 제2 전력 상태는 상기 메모리와 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지함 - ;
    상기 제1 전력 상태 동안, 상기 SOC의 메모리 제어기를 통해 상기 제1 모듈과 상기 메모리 사이에 데이터를 교환하는 것을 포함하여, 상기 태스크의 동작을 수행하기 위해 데이터를 교환하는 단계; 및
    상기 제1 전력 상태와 상기 제2 전력 상태 사이의 전환을 수행하는 단계를 포함하고,
    클록 신호가 상기 제1 전력 상태 동안 그리고 상기 제2 전력 상태 동안 상기 제1 모듈에 제공되고,
    상기 다수의 모듈 중에서, 상기 제1 모듈만이 상기 제1 전력 상태 및 상기 제2 전력 상태 중 하나를 요청하도록 구성되는 회로를 포함하고, 상기 제1 전력 상태로부터 상기 제2 전력 상태로 전환하는 것에 응답하여, 상기 제1 모듈만이 상기 메모리와 데이터를 교환하는 것이 가능한 상태로부터 상기 메모리와 데이터를 교환하는 것이 불가능한 상태로 전환되도록 구성되는 모듈인 것을 특징으로 하는, 컴퓨터 판독가능 저장 매체.
  15. 제14항에 있어서, 상기 SOC는 상기 메모리를 포함하는, 컴퓨터 판독가능 저장 매체.
  16. 제14항에 있어서, 메모리 클록 신호가 상기 제1 전력 상태 동안 상기 메모리에 제공되고, 상기 메모리 클록 신호는 상기 제2 전력 상태 동안 상기 메모리에 제공되는 것이 방지되는, 컴퓨터 판독가능 저장 매체.
  17. 삭제
  18. 시스템 온 칩(SOC)의 다수의 모듈들 중 제1 모듈의 태스크 동안, 상기 다수의 모듈들에 의한 메모리에 대한 임의의 액세스가 상기 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하는 단계;
    상기 하나 이상의 신호들에 응답하여, 상기 SOC의 제1 전력 상태와 상기 SOC의 제2 전력 상태 중 하나의 전력 상태로 전환하는 단계 - 상기 제1 전력 상태는 상기 메모리와 상기 제1 모듈 사이의 데이터 통신을 가능하게 하고 상기 메모리와 상기 제1 모듈 이외의 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지하고, 상기 제2 전력 상태는 상기 메모리와 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지함 - ;
    상기 제1 전력 상태 동안, 상기 SOC의 메모리 제어기를 통해 상기 제1 모듈과 상기 메모리 사이에 데이터를 교환하는 것을 포함하여, 상기 태스크의 동작을 수행하기 위해 데이터를 교환하는 단계; 및
    상기 제1 전력 상태와 상기 제2 전력 상태 사이의 전환을 수행하는 단계를 포함하고
    클록 신호가 상기 제1 전력 상태 동안 그리고 상기 제2 전력 상태 동안 상기 제1 모듈에 제공되고,
    상기 다수의 모듈 중에서, 상기 제1 모듈만이 상기 제1 전력 상태 및 상기 제2 전력 상태 중 하나를 요청하도록 구성되는 회로를 포함하고, 상기 제1 전력 상태로부터 상기 제2 전력 상태로 전환하는 것에 응답하여, 상기 제1 모듈만이 상기 메모리와 데이터를 교환하는 것이 가능한 상태로부터 상기 메모리와 데이터를 교환하는 것이 불가능한 상태로 전환되도록 구성되는 모듈인 것을 특징으로 하는, 방법.
  19. 제18항에 있어서, 메모리 클록 신호가 상기 제1 전력 상태 동안 상기 메모리에 제공되고, 상기 메모리 클록 신호는 상기 제2 전력 상태 동안 상기 메모리에 제공되는 것이 방지되는, 방법.
  20. 삭제
  21. 제18항에 있어서, 상기 제1 모듈 이외의 상기 다수의 모듈들 중 하나의 모듈은 상기 제1 전력 상태 및 상기 제2 전력 상태 이외의 상기 SOC의 전력 상태 동안 전력 레일에 커플링되고, 상기 다수의 모듈들 중 상기 하나의 모듈은 상기 제1 전력 상태와 상기 제2 전력 상태 중 하나의 전력 상태 동안 상기 전력 레일로부터 디커플링되는, 방법.
  22. 제18항에 있어서, 상기 다수의 모듈들 각각은 상기 제1 전력 상태 및 상기 제2 전력 상태 이외의 활성 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링되고, 상기 다수의 모듈들 중에서, 상기 제1 모듈만이 상기 제1 전력 상태 동안 각각의 전력 레일을 통해 전력을 수신하도록 커플링되는, 방법.
  23. 시스템으로서,
    시스템 온 칩(SOC) 회로; 및
    상기 SOC 회로의 동작에 기초하여 무선 통신들을 교환하는 다이폴 안테나(dipole antenna)
    를 포함하고
    상기 SOC 회로는,
    제1 모듈을 포함하는 다수의 모듈들 - 상기 다수의 모듈들 각각은 메모리에 대한 액세스를 요청하도록 구성되는 각각의 회로를 포함함 - ;
    상기 다수의 모듈들 각각에 커플링된 메모리 제어기; 및
    상기 제1 모듈의 태스크 동안 상기 다수의 모듈들에 의한 상기 메모리에 대한 임의의 액세스가 상기 제1 모듈에 의한 액세스라는 것을 나타내는 하나 이상의 신호들을 수신하도록 구성되는 회로를 포함하는 전력 관리 유닛을 포함하고,
    상기 하나 이상의 신호에 응답하여, 상기 전력 관리 유닛은 상기 SOC 회로를 제1 전력 상태와 제2 전력 상태 중 하나의 전력 상태로 전환시키고, 상기 제1 전력 상태는 상기 메모리와 상기 제1 모듈 사이의 데이터 통신을 가능하게 하고 상기 메모리와 상기 제1 모듈 이외의 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지하고, 상기 제2 전력 상태는 상기 메모리와 상기 다수의 모듈들 중 임의의 모듈 사이의 데이터 통신을 방지하고,
    상기 제1 모듈이 메모리 제어기를 통해 상기 메모리와 데이터를 교환하는 것을 포함하여, 상기 제1 모듈은 상기 태스크의 동작을 수행하기 위해 데이터를 교환하고, 상기 전력 관리 유닛은 상기 제1 전력 상태와 상기 제2 전력 상태 사이의 전환을 추가로 수행하며,
    클록 신호가 상기 제1 전력 상태 동안 그리고 상기 제2 전력 상태 동안 상기 제1 모듈에 제공되고,
    상기 다수의 모듈 중에서, 상기 제1 모듈만이 상기 제1 전력 상태 및 상기 제2 전력 상태 중 하나를 요청하도록 구성되는 회로를 포함하고, 상기 제1 전력 상태로부터 상기 제2 전력 상태로 전환하는 것에 응답하여, 상기 제1 모듈만이 상기 메모리와 데이터를 교환하는 것이 가능한 상태로부터 상기 메모리와 데이터를 교환하는 것이 불가능한 상태로 전환되도록 구성되는 모듈인 것을 특징으로 하는, 시스템.
  24. 제23항에 있어서, 상기 SOC는 상기 메모리를 포함하는, 시스템.
  25. 삭제
KR1020177004983A 2014-09-26 2015-08-24 시스템 온 칩에서의 메모리 액세스들을 위한 전력 관리 KR102244114B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/498,516 2014-09-26
US14/498,516 US20160091957A1 (en) 2014-09-26 2014-09-26 Power management for memory accesses in a system-on-chip
PCT/US2015/046508 WO2016048513A2 (en) 2014-09-26 2015-08-24 Power management for memory accesses in a system-on-chip

Publications (2)

Publication Number Publication Date
KR20170034423A KR20170034423A (ko) 2017-03-28
KR102244114B1 true KR102244114B1 (ko) 2021-04-26

Family

ID=55582229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177004983A KR102244114B1 (ko) 2014-09-26 2015-08-24 시스템 온 칩에서의 메모리 액세스들을 위한 전력 관리

Country Status (7)

Country Link
US (1) US20160091957A1 (ko)
EP (1) EP3198363A4 (ko)
JP (1) JP6322838B2 (ko)
KR (1) KR102244114B1 (ko)
CN (1) CN106575145B (ko)
TW (1) TWI596468B (ko)
WO (1) WO2016048513A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9880601B2 (en) * 2014-12-24 2018-01-30 Intel Corporation Method and apparatus to control a link power state
US10539996B2 (en) * 2016-11-28 2020-01-21 Qualcomm Incorporated WiFi memory power minimization
US10984136B2 (en) * 2017-04-21 2021-04-20 Micron Technology, Inc. Secure memory device with unique identifier for authentication
US10474211B2 (en) 2017-07-28 2019-11-12 Advanced Micro Devices, Inc. Method for dynamic arbitration of real-time streams in the multi-client systems
US11054878B2 (en) * 2017-08-29 2021-07-06 Texas Instruments Incorporated Synchronous power state control scheme for multi-chip integrated power management solution in embedded systems
WO2019112606A1 (en) * 2017-12-08 2019-06-13 Hewlett-Packard Development Company, L.P. Blocking systems from responding to bus mastering capable devices
CN110007739B (zh) * 2017-12-29 2023-09-12 华为技术有限公司 一种噪声屏蔽电路及芯片
US11237617B2 (en) * 2018-12-31 2022-02-01 Micron Technology, Inc. Arbitration techniques for managed memory
US11194511B2 (en) 2018-12-31 2021-12-07 Micron Technology, Inc. Arbitration techniques for managed memory
US11687277B2 (en) 2018-12-31 2023-06-27 Micron Technology, Inc. Arbitration techniques for managed memory
US11126245B2 (en) * 2019-06-21 2021-09-21 Intel Corporation Device, system and method to determine a power mode of a system-on-chip
CN111176409B (zh) * 2019-12-16 2023-11-21 珠海亿智电子科技有限公司 一种通用可在线编程的功耗控制电路、系统与方法
WO2021056033A2 (en) * 2021-01-20 2021-03-25 Zeku, Inc. Apparatus and method of intelligent power and performance management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032947A1 (en) * 2012-07-30 2014-01-30 Nvidia Corporation Training, power-gating, and dynamic frequency changing of a memory controller
US20140149770A1 (en) * 2012-11-27 2014-05-29 Nvidia Corporation Low-power states for a computer system with integrated baseband

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693596B2 (en) * 2005-12-14 2010-04-06 Dell Products L.P. System and method for configuring information handling system integrated circuits
US20080162748A1 (en) * 2006-12-31 2008-07-03 Blaise Fanning Efficient power management techniques for computer systems
US7991992B2 (en) * 2007-03-13 2011-08-02 Intel Corporation Power reduction for system on chip
US7868479B2 (en) * 2007-06-27 2011-01-11 Qualcomm Incorporated Power gating for multimedia processing power management
US8286195B2 (en) * 2007-10-31 2012-10-09 Microsoft Corporation Controlling hardware across two or more simultaneously running operating systems
US8286014B2 (en) * 2008-03-25 2012-10-09 Intel Corporation Power management for a system on a chip (SoC)
KR101543326B1 (ko) * 2009-01-05 2015-08-10 삼성전자주식회사 시스템 온 칩 및 그 구동 방법
JP5578698B2 (ja) * 2009-04-23 2014-08-27 ルネサスエレクトロニクス株式会社 半導体データ処理装置及びデータ処理システム
CN102012736B (zh) * 2009-09-08 2015-06-17 三星电子株式会社 图像形成装置及其功率控制方法
US8706966B1 (en) * 2009-12-16 2014-04-22 Applied Micro Circuits Corporation System and method for adaptively configuring an L2 cache memory mesh
KR101664108B1 (ko) * 2010-04-13 2016-10-11 삼성전자주식회사 멀티 코어의 동기화를 효율적으로 처리하기 위한 하드웨어 가속 장치 및 방법
US8218391B2 (en) * 2010-07-01 2012-07-10 Arm Limited Power control of an integrated circuit memory
CN103534693B (zh) * 2010-11-22 2016-08-24 马维尔国际贸易有限公司 在客户端之间共享对存储器的访问的方法和设备
US8775836B2 (en) * 2010-12-23 2014-07-08 Intel Corporation Method, apparatus and system to save processor state for efficient transition between processor power states
JP2012164046A (ja) * 2011-02-04 2012-08-30 Seiko Epson Corp メモリー制御装置
US20130117589A1 (en) * 2011-11-04 2013-05-09 Anand Satyamoorthy Stability control in a voltage scaling system
WO2013074107A1 (en) * 2011-11-17 2013-05-23 Intel Corporation Method, apparatus and system for memory validation
WO2013081597A1 (en) * 2011-11-30 2013-06-06 Intel Corporation Power saving method and apparatus for first in first out (fifo) memories
KR20130110459A (ko) * 2012-03-29 2013-10-10 삼성전자주식회사 시스템-온 칩, 이를 포함하는 전자 시스템 및 그 제어 방법
US8730603B2 (en) * 2012-09-11 2014-05-20 Lsi Corporation Power management for storage device read channel
KR102001414B1 (ko) * 2012-09-27 2019-07-18 삼성전자주식회사 데이터 트랜잭션에 따라 전력공급을 제어하는 시스템-온-칩 및 그 동작방법
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
US9430014B2 (en) * 2013-07-18 2016-08-30 Qualcomm Incorporated System and method for idle state optimization in a multi-processor system on a chip

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032947A1 (en) * 2012-07-30 2014-01-30 Nvidia Corporation Training, power-gating, and dynamic frequency changing of a memory controller
US20140149770A1 (en) * 2012-11-27 2014-05-29 Nvidia Corporation Low-power states for a computer system with integrated baseband

Also Published As

Publication number Publication date
WO2016048513A3 (en) 2016-05-06
JP6322838B2 (ja) 2018-05-16
CN106575145B (zh) 2021-05-11
KR20170034423A (ko) 2017-03-28
TWI596468B (zh) 2017-08-21
TW201626155A (zh) 2016-07-16
US20160091957A1 (en) 2016-03-31
CN106575145A (zh) 2017-04-19
JP2017529600A (ja) 2017-10-05
EP3198363A2 (en) 2017-08-02
EP3198363A4 (en) 2018-05-30
WO2016048513A2 (en) 2016-03-31

Similar Documents

Publication Publication Date Title
KR102244114B1 (ko) 시스템 온 칩에서의 메모리 액세스들을 위한 전력 관리
US20180307298A1 (en) Hsic communication system and method
US8601304B2 (en) Method, apparatus and system to transition system power state of a computer platform
US8924755B2 (en) Connected standby sleep state
US8386618B2 (en) System and method for facilitating wireless communication during a pre-boot phase of a computing device
US20160077568A1 (en) Method and apparatus for saving power of a processor socket in a multi-socket computer system
US20170187187A1 (en) Multiple input single inductor multiple output regulator
US20140281616A1 (en) Platform agnostic power management
US10948968B2 (en) Controlling processor performance scaling based on context
RU2664398C2 (ru) Архитектура с ультранизкой мощностью для поддержки постоянно включенного пути к памяти
US9549373B2 (en) Method for waking a data transceiver through data reception
US9323307B2 (en) Active display processor sleep state
US10496298B2 (en) Configurable flush of data from volatile memory to non-volatile memory
US10168765B2 (en) Controlling processor consumption using on-off keying having a maxiumum off time
US10254821B2 (en) Managing surprise hot plug in low power state
CN113253824B (zh) 一种基于risc-v内核的mcu系统、供电方法以及终端设备
US20230280809A1 (en) Method and apparatus to control power supply rails during platform low power events for enhanced usb-c user experience
TW201317749A (zh) 雙顯卡模組之電源控制方法及應用該方法之電腦裝置

Legal Events

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