KR20190084443A - 반도체 장치 및 반도체 시스템 - Google Patents
반도체 장치 및 반도체 시스템 Download PDFInfo
- Publication number
- KR20190084443A KR20190084443A KR1020180002206A KR20180002206A KR20190084443A KR 20190084443 A KR20190084443 A KR 20190084443A KR 1020180002206 A KR1020180002206 A KR 1020180002206A KR 20180002206 A KR20180002206 A KR 20180002206A KR 20190084443 A KR20190084443 A KR 20190084443A
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- memory
- power
- power gating
- enable signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0008—Arrangements for reducing power consumption
- H03K19/0016—Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Power Sources (AREA)
- Semiconductor Integrated Circuits (AREA)
- Noodles (AREA)
- Bipolar Transistors (AREA)
Abstract
반도체 장치 및 반도체 시스템이 제공된다. 반도체 장치는 IP 블록(Intellectual Property block)에 대한 클럭 게이팅을 제공하는 하드웨어 자동 클럭 게이팅(Hard-Ware Auto Clock Gating, HWACG) 로직; 및 상기 HWACG 로직이 상기 IP 블록에 대해 클럭 게이팅을 수행하는 경우, 상기 IP 블록과 전기적으로 연결된 메모리에 대해 파워 게이팅을 수행하는 메모리 파워 컨트롤러(Memory Power Controller)를 포함하고, 상기 HWACG 로직은, 제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit)와, 상기 IP 블록의 동작 상태에 따라, 상기 제1 클럭 제어 회로에 클럭 요청을 전송하고, 상기 제1 클럭 소오스로부터 클럭 신호를 제공받아 상기 IP 블록에 상기 클럭 신호를 제공하는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로를 포함한다.
Description
본 발명은 반도체 장치 및 반도체 시스템에 관한 것이다.
SoC(Sytem-on-Chip)은 하나 이상의 IP 블록(Intellectual Property block), 클럭 관리 유닛(Clock Management Unit, CMU), 전력 관리 유닛(Power Management Unit, PMU) 등을 포함할 수 있다. 클럭 관리 유닛은 하나 이상의 IP 블록에 클럭 신호를 제공하는 한편, 실행 중이 아닌 IP 블록에 클럭 신호의 제공을 중지하여 SoC를 채용한 시스템에서의 불필요한 자원의 낭비를 줄일 수 있다.
이와 같이 클럭 신호의 제공을 조절하기 위해, 클럭 게이팅(clock gating) 기술이 사용된다. 클럭 게이팅을 구현하기 위해, 클럭 관리 유닛에 포함되는 다양한 클럭 소오스(clock source)들, 예컨대 다중화 회로(MUX circuit), 클럭 분주 회로(clock dividing circuit), 단기 정지 회로(short stop circuit) 및 클럭 게이팅 회로(clock gating circuit) 등은 SFR(Special Function Register)을 이용한 소프트웨어에 의해 제어될 수도 있지만, 일반적으로 소프트웨어에 의한 제어 속도는 하드웨어에 의한 제어 속도보다 느리고 성능이 낮을 수 있다. 따라서 클럭 관리 유닛의 다양한 클럭 소오스들을 하드웨어적으로 제어하여 SoC의 동작 환경에 따라 기민하게 클럭 게이팅을 수행하는 방안이 요구된다.
나아가, 전력 소모를 줄이기 위해, IP 블록에 전기적으로 연결되어 함께 동작 가능한 다양한 디바이스(예컨대 메모리)에 대한 파워 게이팅(power gating) 기술이 사용될 수 있다. 클럭 게이팅 기술과 마찬가지로, 파워 게이팅 기술 역시 하드웨어에 의한 처리 방안이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는 하드웨어에 의한 클럭 게이팅(clock gating)이 구현된 시스템에서 하드웨어에 의한 파워 게이팅(power gating)까지 구현하기 위한 반도체 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 하드웨어에 의한 클럭 게이팅이 구현된 시스템에서 하드웨어에 의한 파워 게이팅까지 구현하기 위한 반도체 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 해당 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 장치는, IP 블록(Intellectual Property block)에 대한 클럭 게이팅을 제공하는 하드웨어 자동 클럭 게이팅(Hard-Ware Auto Clock Gating, HWACG) 로직; 및 HWACG 로직이 IP 블록에 대해 클럭 게이팅을 수행하는 경우, IP 블록과 전기적으로 연결된 메모리에 대해 파워 게이팅을 수행하는 메모리 파워 컨트롤러(Memory Power Controller)를 포함하고, HWACG 로직은, 제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit)와, IP 블록의 동작 상태에 따라, 제1 클럭 제어 회로에 클럭 요청을 전송하고, 제1 클럭 소오스로부터 클럭 신호를 제공받아 IP 블록에 클럭 신호를 제공하는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 장치는, IP 블록에 대한 클럭 게이팅을 제공하는 하드웨어 자동 클럭 게이팅 로직; 및 HWACG 로직의 동작에 따라, IP 블록과 전기적으로 연결된 디바이스에 대해 파워 게이팅을 수행하는 디바이스 파워 컨트롤러(Device Power Controller)를 포함하고, HWACG 로직은, 제1 클럭 소오스를 제어하는 제1 클럭 제어 회로와, IP 블록의 동작 상태에 따라, 제1 클럭 제어 회로에 클럭 요청을 전송하고, 제1 클럭 소오스로부터 클럭 신호를 제공받아 IP 블록에 클럭 신호를 제공하는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로를 포함하고, 디바이스 파워 컨트롤러는 제2 클럭 소오스로부터 출력되는 클럭 신호에 대한 클럭 게이팅 여부에 따라 디바이스에 대한 파워 게이팅의 수행 여부를 결정한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 반도체 시스템은, IP 블록 및 IP 블록에 클럭 신호를 제공하는 클럭 관리 유닛을 포함하는 SoC; 및 SoC와 전기적으로 접속된 하나 이상의 외부 장치를 포함하고, 클럭 관리 유닛은, IP 블록에 대한 클럭 게이팅을 제공하는 하드웨어 자동 클럭 게이팅 로직; 및 HWACG 로직이 IP 블록에 대해 클럭 게이팅을 수행하는 경우, IP 블록과 전기적으로 연결된 메모리에 대해 파워 게이팅을 수행하는 메모리 파워 컨트롤러를 포함하고, HWACG 로직은, 제1 클럭 소오스를 제어하는 제1 클럭 제어 회로와, IP 블록의 동작 상태에 따라, 제1 클럭 제어 회로에 클럭 요청을 전송하고, 제1 클럭 소오스로부터 클럭 신호를 제공받아 IP 블록에 클럭 신호를 제공하는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 상태도이다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 상태도이다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 타이밍도이다.
도 6은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 7은 본 발명의 일 실시예에 따른 반도체 장치의 일 구현례를 설명하기 위한 개략도이다.
도 8은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 10은 본 발명의 일 실시예에 따른 반도체 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 상태도이다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 상태도이다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 타이밍도이다.
도 6은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 7은 본 발명의 일 실시예에 따른 반도체 장치의 일 구현례를 설명하기 위한 개략도이다.
도 8은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 10은 본 발명의 일 실시예에 따른 반도체 시스템을 설명하기 위한 블록도이다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(1)는 클럭 관리 유닛(Clock Management Unit, CMU)(100), 하나 이상의 IP 블록(Intellectual Property block, IP block)(200, 210) 및 전력 관리 유닛(Power Management Unit, PMU)(300)을 포함한다. 본 발명의 다양한 실시예에 따른 반도체 장치(1)는 SoC(System-on-Chip)으로 구현될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
클럭 관리 유닛(100)은 IP 블록(200, 210)에 클럭 신호를 제공한다. 본 실시예에서, 클럭 관리 유닛(100)은 클럭 컴포넌트(Clock Component)(120a, 120b, 120c, 120d, 120e, 120f, 120g), 채널 관리 회로(Channel Management circuit, CM)(130, 132) 및 클럭 관리 유닛 컨트롤러(Clock Management Controller, CMU Controller)(110)를 포함한다. 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)는 IP 블록(200, 210)에 제공할 클럭 신호를 생성하고, 채널 관리 회로(130, 132)는 클럭 컴포넌트(120f, 120g)와 IP 블록(200, 210) 사이에 배치되어 클럭 관리 유닛(100)과 IP 블록(200, 210) 사이의 통신 채널(Channel, CH)을 제공한다. 그리고 클럭 관리 유닛 컨트롤러(110)는 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)를 이용하여 IP 블록(200, 210)에 클럭 신호를 제공한다.
클럭 관리 유닛 컨트롤러(110)는 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g) 및 채널 관리 회로(130, 132)를 이용하여 IP 블록(200, 210)에 대한 클럭 게이팅(clock gating)을 수행할 수 있다. 상기 클럭 게이팅은 후술하는 바와 같이 하드웨어의 제어 하에 수행된다는 점에서, 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g) 및 채널 관리 회로(130, 132)를 포함하는 회로를 하드웨어 자동 클럭 게이팅(Hard-Ware Auto Clock Gating, HWACG) 로직(105)이라고 명명하도록 한다.
본 발명의 몇몇의 실시예에서, 채널 관리 회로(130, 132)가 제공하는 통신 채널(CH)은 ARM 사의 LPI(Low Power Interface), Q-채널 인터페이스(Q-Channel Interface) 또는 P-채널 인터페이스(P-Channel Interface)에 따르도록 구현될 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니고, 구현 목적에 따라 정해진 임의의 통신 프로토콜을 따르는 통신 채널(CH)로 구현될 수 있다.
클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)는 각각 클럭 소오스(Clock Source, CS)(124a, 124b, 124c, 124d, 124e, 124f, 124g)와, 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 각각 제어하는 클럭 제어 회로(Clock Control circuit, CC)(122a, 122b, 122c, 122d, 122e, 122f, 122g)를 포함한다. 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)는, 예컨대, 다중화 회로(MUX circuit), 클럭 분주 회로(clock dividing circuit), 단기 정지 회로(short stop circuit), 클럭 게이팅 회로(clock gating circuit) 등을 포함할 수 있다.
클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)는 서로 간에 부모-자식 관계를 형성한다. 본 실시예에서 클럭 컴포넌트(120a)는 클럭 컴포넌트(120b)의 부모이고, 클럭 컴포넌트(120b)는 클럭 컴포넌트(120a)의 자식이자 클럭 컴포넌트(120c)의 부모이다. 또한 클럭 컴포넌트(120e)는 2 개의 클럭 컴포넌트(120f, 120g)의 부모이고, 클럭 컴포넌트(120f, 120g)는 클럭 컴포넌트(120e)의 자식이다. 한편, 본 실시예에서 PLL(Phase Locked Loop)에 가장 가깝도록 배치된 클럭 컴포넌트(120a)는 루트(root) 클럭 컴포넌트이고, IP 블록(200, 210)에 가장 가깝도록 배치된 클럭 컴포넌트(120f, 120g)는 리프(leaf) 클럭 컴포넌트이다. 이와 같은 부모-자식 관계는 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g) 간의 부모-자식 관계에 따라 필연적으로 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g) 간, 그리고 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g) 간에도 형성된다.
클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 클럭 요청(REQ) 및 이에 대한 애크(acknowledgement)(ACK)를 주고 받으며, IP 블록(200, 210)에 클럭 신호를 제공한다.
한편, IP 블록(200)이 클럭 신호를 필요로 하지 않는 경우, 예컨대 IP 블록(200)이 슬립(sleep) 상태가 되어야 할 필요가 있는 경우, 클럭 관리 유닛(100)은 IP 블록(200)에 대한 클럭 신호의 제공을 중지할 수 있다.
구체적으로, 채널 관리 회로(130)는, 클럭 관리 유닛(100) 또는 클럭 관리 유닛 컨트롤러(110)의 제어 하에, IP 블록(200)에 클럭 신호의 제공을 중지하겠다는 제1 신호를 전송한다. 제1 신호를 수신한 IP 블록(200)은 처리 중인 작업을 완료한 후 클럭 신호가 중지되어도 좋다는 제2 신호를 채널 관리 회로(130)에 전송한다. 채널 관리 회로(130)는 IP 블록(200)으로부터 제2 신호를 수신한 후, 자신의 부모에 해당하는 클럭 컴포넌트(120f)에 클럭 신호의 제공을 중지할 것을 요청한다.
일례로, 만일 채널 관리 회로(130)가 제공하는 통신 채널(CH)이 Q-채널 인터페이스를 따르는 경우라면, 채널 관리 회로(130)는 IP 블록(200)에 제1 논리 값(예컨대, 논리 로우(logic low), 이하 L로 표시)을 갖는 QREQn 신호를 제1 신호로서 전송한다. 이후 채널 관리 회로(130)는 IP 블록(200)으로부터, 예컨대 제1 논리 값을 갖는 QACCEPTn 신호를 제2 신호로서 수신한 후, 클럭 컴포넌트(120f)에, 예컨대 제1 논리 값을 갖는 클럭 요청(REQ)를 전송한다. 이 경우, 상기 제1 논리 값을 갖는 클럭 요청(REQ)은 "클럭 제공 중지 요청"을 말한다.
채널 관리 회로(130)로부터 제1 논리 값을 갖는 클럭 요청(REQ), 즉 클럭 제공 중지 요청을 수신한 클럭 제어 회로(122f)는 클럭 소오스(124f)(예컨대, 클럭 게이팅 회로)를 디스에이블(disable)하여 클럭 신호의 제공을 중지하고, 이에 따라 IP 블록(200)은 슬립 모드로 진입할 수 있게 된다. 이 과정에서 클럭 제어 회로(122f)는 제1 논리 값을 갖는 애크(ACK)를 채널 관리 회로(130)에 제공할 수 있다. 유의할 점은 채널 관리 회로(130)가 제1 논리 값을 갖는 클럭 제공 중지 요청을 클럭 제어 회로(122f)에 전송한 후, 클럭 제어 회로(122f)로부터 제1 논리 값을 갖는 애크(ACK)를 수신했다고 해서 클럭 소오스(124f)로부터의 클럭 제공가 중지되었음이 보장되는 것은 아니다. 다만, 상기 애크(ACK)는, 채널 관리 회로(130)의 부모인 클럭 컴포넌트(120f)가 채널 관리 회로(130)에 더 이상 클럭 제공을 할 필요가 없다는 것을 클럭 제어 회로(122f)가 인지했다는 의미를 가질 뿐이다.
한편, 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)는 자신의 부모에 해당하는 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송한다. 만일 IP 블록(210) 역시 클럭 신호를 필요로 하지 않는 경우, 예컨대 클럭 제어 회로(122e)가 클럭 제어 회로(122g)로부터 클럭 제공 중지 요청을 수신한 경우라면, 클럭 제어 회로(122e)는 클럭 소오스(124e)(예컨대, 클럭 분주 회로)를 디스에이블하여 클럭 신호의 제공을 중지한다. 이에 따라 IP 블록(200, 210)은 슬립 모드로 진입할 수 있게 된다.
이와 같은 동작은 다른 클럭 제어 회로(122a, 122b, 122c, 122d)에 대해서도 마찬가지로 수행될 수 있다.
이와 다르게, 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)가 자신의 부모에 해당하는 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송하였지만, IP 블록(210)이 실행(running) 상태에 있는 경우라면, 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블할 수 없다. 이후 IP 블록(210)이 더 이상 클럭 신호를 필요로 하지 않는 경우가 되어서야 비로소 클럭 제어 회로(122e)는 클럭 소오스(124e)를 디스에이블하고 자신의 부모에 해당하는 클럭 제어 회로(120d)에 제1 논리 값을 갖는 클럭 요청(REQ)을 전송할 수 있다. 즉, 클럭 제어 회로(122e)는 자식에 해당하는 클럭 제어 회로(122f, 122g) 모두로부터 클럭 제공 중지 요청을 수신한 경우에만 클럭 소오스(124e)를 디스에이블할 수 있다.
한편, IP 블록(200, 210)이 슬립 상태에 있어서 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f)가 모두 디스에이블되었다가 IP 블록(200)이 실행 상태로 진입한 경우, 클럭 관리 유닛(100)은 IP 블록(200, 210)에 대한 클럭 신호의 제공을 재개한다.
채널 관리 회로(130)는 자신의 부모에 해당하는 클럭 컴포넌트(120f)의 클럭 제어 회로(122f)에 제2 논리 값(예컨대, 논리 하이(logic high), 이하 H로 표시)을 갖는 클럭 요청(REQ)을 전송하고, 클럭 제어 회로(122f)로부터의 애크(ACK)를 대기한다. 여기서 제2 논리 값을 갖는 클럭 요청(REQ)은 "클럭 제공 요청"을 말하고, 클럭 제공 요청에 대한 애크(ACK)는 클럭 소오스(124f)로부터 클럭 제공이 재개되었음을 의미한다. 클럭 제어 회로(122f)는 클럭 소오스(124f)(예컨대, 클럭 게이팅 회로)를 바로 인에이블(enable)하지 못하고, 부모로부터 클럭 신호가 제공되기를 대기한다.
다음으로 클럭 제어 회로(122f)는 자신의 부모에 해당하는 클럭 제어회로(122e)에 제2 논리 값을 갖는 클럭 요청(REQ), 즉 클럭 제공 요청을 전송하고, 클럭 제어 회로(122e)로부터의 애크(ACK)를 대기한다. 이와 같은 동작은 클럭 제어 회로(122a, 122b, 122c, 122d)에 대해서도 마찬가지로 수행될 수 있다.
클럭 제어 회로(122b)로부터 제2 논리 값을 갖는 클럭 요청(REQ)를 수신한 루트 클럭 컴포넌트인 클럭 제어 회로(122a)는 클럭 소오스(124a)(예컨대, 다중화 회로)를 인에이블하고 애크(ACK)를 클럭 제어 회로(122b)에 전송한다. 이와 같은 방식으로 클럭 소오스(124b, 124c, 124d, 124d, 124e)가 순차적으로 인에이블되면 비로소 클럭 제어 회로(122e)는 클럭 제어 회로(122f)에 클럭 소오스(124e)로부터 클럭 제공이 재개되었음을 알리는 애크(ACK)를 전송한다. 애크(ACK)를 수신한 클럭 제어 회로(122f)는 비로소 클럭 소오스(124f)를 인에이블하여 클럭 신호를 IP 블록(200)에 제공하고, 채널 관리 회로(130)에 애크(ACK)를 제공한다.
이와 같이 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 클럭 요청(REQ) 및 이에 대한 애크 (ACK)를 주고 받는 풀 핸드셰이크(full handshake) 방식으로 동작한다. 이에 따라, 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 하드웨어적으로 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 제어하여 IP 블록(200, 210)에 제공되는 클럭 신호를 제어하여 하나 이상의 IP 블록(200, 210)에 대한 클럭 게이팅을 수행할 수 있다.
이들 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 자체적으로 동작하여 부모에게 클럭 요청(REQ)을 전송하거나 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 제어할 수 있고, 클럭 관리 유닛 컨트롤러(110)의 제어 하에 동작할 수도 있다. 한편, 본 발명의 몇몇의 실시예에서, 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 부모와 자식 간에 주고 받는 클럭 요청(REQ)에 따라 클럭 소오스(124a, 124b, 124c, 124d, 124e, 124f, 124g)를 각각 제어하는 유한 상태 기계(Finite State Machine, FSM)를 포함할 수 있다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(2)는 HWACG 로직(105) 및 메모리 파워 컨트롤러(Memory Power Controller)(400)를 포함할 수 있다.
HWACG 로직(105)은 도 1과 관련하여 앞서 설명한 바와 같이, 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g) 및 채널 관리 회로(130, 132)를 포함하고, 이들 요소들을 이용하여 IP 블록(200)에 대한 클럭 게이팅을 제공한다.
메모리 파워 컨트롤러(400)는, HWACG 로직(105)이 IP 블록(200)에 대해 클럭 게이팅을 수행하는 경우, IP 블록(200)과 전기적으로 연결된 메모리(410)에 대해 파워 게이팅을 수행한다. 구체적으로, 메모리 파워 컨트롤러(400)는, HWACG 로직(105)의 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)의 동작에 따라 메모리(410)에 대한 파워 게이팅을 수행한다.
예를 들어, 메모리 파워 컨트롤러(400)는, HWACG 로직(105)의 클럭 소오스(124f)로부터 출력되는 클럭 신호(CLK)를 모니터링하다가, 클럭 소오스(124f)로부터 출력되는 클럭 신호(CLK)가 게이팅되는 경우, 메모리(410)에 대한 파워 게이팅을 수행하여 메모리(410)에서 소모되는 전력을 줄일 수 있다.
클럭 소오스(124f)로부터 출력되는 클럭 신호(CLK)가 게이팅되고 있다면, 이는 곧 IP 블록(200)이 슬립 상태와 같은 비 실행 상태에 있다는 뜻이고, 나아가 이는 곧 IP 블록(200)이 사용하는 메모리(410) 역시 미사용되고 있는 상태에 있음을 의미하기 때문이다. 물론 이와 같은 시나리오는 메모리(410)가 IP 블록(200)에 의해서만 사용되는 경우를 전제한 것이다. 만일 실행 상태에 있는 IP 블록(210)도 메모리(410)를 사용 중이라면, IP 블록(200)이 비 실행 상태에 있다는 사실만으로 메모리(410)에 대한 파워 게이팅을 수행할 수는 없다.
구체적으로, 메모리 파워 컨트롤러(400)는 메모리(410)에 대한 파워 게이팅을 수행하기 위한 파워 게이팅 인에이블 신호(PGEN)를 메모리(410)에 제공할 수 있다.
예컨대, 파워 게이팅 인에이블 신호(PGEN)가 제1 논리 값(예컨대, L)을 갖는 경우, 메모리(410)에 대한 파워 게이팅은 수행되지 않는다. 이와 다르게, 파워 게이팅 인에이블 신호(PGEN)가 제2 논리 값(예컨대, H)을 갖는 경우, 메모리(410)에 대한 파워 게이팅이 수행된다.
또한, 메모리 파워 컨트롤러(400)는 파워 게이팅 인에이블 신호(PGEN)와 함께, 메모리(410)에 대해 파워 게이팅이 수행되는 동안 메모리(410)에 저장된 데이터를 보존하기 위한 리텐션 신호(RETN)를 메모리(410)에 제공할 수 있다.
예컨대, 리텐션 신호(RETN)가 제1 논리 값(예컨대, L)을 갖는 경우, 메모리(410)에 대한 리텐션 동작이 수행된다. 이와 다르게, 리텐션 신호(RETN)가 제2 논리 값(예컨대, H)을 갖는 경우, 메모리(410)에 대한 리텐션 동작이 수행되지 않는다.
한편, 메모리 파워 컨트롤러(400)는 제1 칩 인에이블 신호(CEN0)를 더 출력할 수 있다. 또한 어드레스 디코더(205)는 IP 블록(200)으로부터 제공받은, 메모리(410)에 관한 동작에 필요한 어드레스 정보를 디코딩하여, 제2 칩 인에이블 신호(CEN1)로서 출력할 수 있다. 제1 칩 인에이블 신호(CEN0) 및 제2 칩 인에이블 신호(CEN1)는 소정의 논리 연산(G1)을 거친 후, 메모리(410)의 칩 인에이블 신호 핀에 제공될 수 있다.
본 실시예에서, 제1 칩 인에이블 신호(CEN0) 및 제2 칩 인에이블 신호(CEN1)에 관한 구성은 일 구현례를 설명한 것에 불과하며, 해당 기술 분야의 통상의 기술자가 이해할 수 있는 범위에서 필요에 따라 다른 구현으로 얼마든지 변경될 수 있다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 상태도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(2)의 메모리(410)는 다음과 같은 복수의 상태(M1 내지 M8) 중 어느 한 상태를 가질 수 있다.
제1 상태(M1)는 메모리(410)가 실행 상태에 있다는 것을 의미한다.
제2 상태(M2)는 칩 인에이블 신호(CEN)가 제2 논리 값(예컨대, H)을 갖는 상태로서, 이는 메모리(410)가 비 실행 상태로 전환되었음을 의미한다. 도 3에서 표시된 칩 인에이블 신호(CEN)는, 예컨대 도 2에서 설명한 바와 같이, 제1 칩 인에이블 신호(CEN0) 및 제2 칩 인에이블 신호(CEN1)가 소정의 논리 연산(G1)을 거친 후 메모리(410)의 칩 인에이블 신호 핀에 제공되는 신호를 나타낼 수 있다.
제3 상태(M3)는 리텐션 신호(RETN)가 제1 논리 값(예컨대, L)을 갖는 상태로서, 이는 메모리(410)에 대한 파워 게이팅을 하기 전에 메모리(410)에 대한 리텐션 동작이 수행되는 것을 의미한다.
제4 상태(M4)는 파워 게이팅 인에이블 신호(PGEN)가 제2 논리 값(예컨대, H)을 갖는 상태로서, 이는 메모리(410)에 공급되는 파워를 일시적으로 오프(off)하기 위한 파워 게이팅이 수행되기 시작한 것을 의미한다.
제5 상태(M5)는 파워 게이팅으로 인해 메모리(410)에 공급되는 파워가 차단되어 메모리(410)가 완전히 오프(off)된 상태에 있다는 것을 의미한다.
제6 상태(M6)는 파워 게이팅 인에이블 신호(PGEN)가 제1 논리 값(예컨대, L)을 갖는 상태로서, 이는 파워 게이팅이 종료되고 메모리(410)에 파워가 공급되는 것을 의미한다.
제7 상태(M7)는 리텐션 신호(RETN)가 제2 논리 값(예컨대, H)을 갖는 상태로서, 이는 메모리(410)에 대한 파워 게이팅이 종료되고, 이전에 저장된 데이터가 복원된 후, 메모리(410)에 대한 리텐션 동작이 종료된 것을 의미한다.
제8 상태(M8)는 칩 인에이블 신호(CEN)이 제1 논리 값(예컨대, L)을 갖는 상태로서, 이는 메모리(410)가 다시 실행 상태로 전환되었음을 의미한다.
이후 메모리(410)는 앞서 설명한 제1 상태(M1)로 전환되고, 칩 인에이블 신호(CEN), 파워 게이팅 인에이블 신호(PGEN) 및 리텐션 신호(RETN)가 트랜지션함에 따라 상태 전환을 반복할 수 있다.
도 4는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 상태도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(2)의 HWACG 로직(105)에서 동작하는 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g)는 다음과 같은 복수의 상태(C1 내지 C5) 중 어느 한 상태를 가질 수 있다. 편의상 도 1에서 부모와 자식이 모두 존재하는 것으로 도시된 클럭 제어 회로(122e)에 대해서만 설명하겠지만, 복수의 상태(C1 내지 C5)는 다른 클럭 제어 회로(122a, 122b, 122c, 122d, 122f, 122g)에도 동일하게 적용될 수 있다.
제1 상태(C1)는 클럭 제어 회로(122e)가 실행 상태에 있어, 클럭 소오스(124e)로부터 클럭 신호(CLK)가 출력되고 있다는 것을 의미한다.
제2 상태(C2)는, 리텐션 신호(RETN)가 제1 논리 값(예컨대, L)을 갖는 상태로서, 클럭 소오스(124e)가 클럭 신호(CLK)의 출력을 중단했다는 것을 의미한다.
제3 상태(C3)는, 파워 게이팅 인에이블 신호(PGEN)가 제2 논리 값(예컨대, H)을 갖는 상태로서, 클럭 제어 회로(122e)가 그 부모 클럭 제어 회로(122d)에 제1 논리 값을 갖는 클럭 요청(REQ)("클럭 제공 중지 요청")을 전송했다는 것을 의미한다.
제4 상태(C4)는, 클럭 제어 회로(122e)가 클럭 소오스(124e)를 디스에이블하여 클럭 신호의 제공을 중지한 상태를 의미한다.
제5 상태(C5)는, 파워 게이팅 인에이블 신호(PGEN)가 제1 논리 값(예컨대, L)을 갖는 상태로서, 클럭 제어 회로(122e)가 그 자식 클럭 제어 회로(122f 또는 122g)로부터 제2 논리 값을 갖는 클럭 요청(REQ)("클럭 제공 요청")을 수신했다는 것을 의미한다.
이후, 클럭 제어 회로(122e)는 앞서 설명한 제1 상태(C1)로 전환되고, HWACG 로직(105)의 풀 핸드셰이크 동작과, 파워 게이팅 인에이블 신호(PGEN) 및 리텐션 신호(RETN)의 트랜지션에 따라 상태 전환을 반복할 수 있다.
한편, 본 발명의 일 실시예에 따른 반도체 장치(2)의 HWACG 로직(105)에서 동작하는 채널 관리 회로(130)는 다음과 같은 복수의 상태(Q1 내지 Q7) 중 어느 한 상태를 가질 수 있다.
제1 상태(Q1)는 IP 블록(200)이 실행 중인 상태를 의미한다.
제2 상태(Q2)는 채널 관리 회로(130)가 IP 블록(200)에게 정지 요청을 전송하는 상태를 의미한다.
채널 관리 회로(130)와 IP 블록(200) 사이에서 정의되는 정지 요청(quiescence request)에 대한 내용은 ARM 사에서 발행한 "Low Power Interface Specification" 문서에 공지되어 있으므로, 본 명세서에서는 그 설명을 생략한다.
제3 상태(Q3)는 IP 블록(200)이 해당 정지 요청을 수락한다는 의미의 응답을 채널 관리 회로(130)에 제공하는 상태를 의미한다.
제4 상태(Q4)는 IP 블록(200)이 해당 정지 요청을 수락하여 유휴 상태(idle state)로 전환되는 상태를 의미한다.
제5 상태(Q5)는 IP 블록(200)의 유휴 상태가 종료되고 웨이크 업하는 상태를 의미한다.
이후, 채널 관리 회로(130)는 앞서 설명한 제1 상태(Q1)로 전환되어, HWACG 로직(105)의 풀 핸드셰이크 동작과 함께 상태 전환을 반복할 수 있다.
한편, 제6 상태(Q6) 및 제7 상태(Q7)는 채널 관리 회로(130)가 IP 블록(200)에게 정지 요청을 전송하였으나, IP 블록(200)이 해당 정지 요청을 거절한 경우의 상태 변화를 나타내며, 이에 대해서는 ARM 사에서 발행한 "Low Power Interface Specification" 문서에 공지되어 있으므로, 본 명세서에서는 그 설명을 생략한다.
특히, 클럭 제어 회로(122a, 122b, 122c, 122d, 122e, 122f, 122g) 중 리프 클럭 컴포넌트(120f)에 포함되는 클럭 제어 회로(122f)의 제1 상태(C1)는, 채널 관리 회로(130)의 제4 상태(Q4) 사이에서 전환될 수 있다.
구체적으로, 채널 관리 회로(130)의 제4 상태(Q4)에서 HWACG 로직(105)에서 발생하는 클럭 요청(REQ)이 제1 논리 값으로 트랜지션하면 클럭 제어 회로(122f)는 제1 상태(C1)로 전환되고, 클럭 제어 회로(122f)는 제1 상태(C1)에서 HWACG 로직(105)에서 발생하는 애크(ACK)가 제1 논리 값으로 트랜지션하면 채널 관리 회로(130)는 제4 상태(Q4)로 전환될 수 있다.
도 5는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위한 타이밍도이다.
도 5를 참조하면, "130 states"로 표시한 것은 도 4에서 앞서 설명한 채널 관리 회로(130)의 시간에 따른 상태 변화를 의미하고, "120 states"로 표시한 것은 도 4에서 앞서 설명한, 예컨대 클럭 컴포넌트(120e)의 클럭 제어 회로(122e)의 시간에 따른 상태 변화를 의미한다.
도 5에서는, 만일 채널 관리 회로(130)가 제공하는 통신 채널(CH)이 Q-채널 인터페이스를 따르는 경우를 가정하여 설명하지만, 이는 예시적인 것에 불과하고, 본 발명에서 사용되는 통신 채널(CH)이 이에 제한되는 것은 아니다.
시점(T1) 이전에는, 클럭 제어 회로(122e)가 실행 상태에서 동작하며, 클럭 소오스(124e)로부터 클럭 신호(CLK)가 출력되고 있다. 즉, 클럭 제어 회로(122e)는 도 4에서 설명한 제1 상태(C1)에 있다.
채널 관리 회로(130) 역시 실행 상태에서 동작중이다. 즉, 채널 관리 회로(130)는 도 4에서 설명한 제1 상태(Q1)에 있다.
IP 블록(200)으로부터 채널 관리 회로(130)에 전송되는 QACTIVE 신호는 현재 처리해야 할 작업들을 가지고 있다는 의미를 나타내기 위한 제2 논리 값(예컨대, H)을 갖는다. 즉, IP 블록(200)은 실행 상태에 있다.
한편, 메모리(410)에 제공되는 칩 인에이블 신호(CEN)는 제1 논리 값(예컨대, L)을 갖으므로 메모리(410)도 실행 상태에 있다.
시점(T1)에서, IP 블록(200)으로부터 채널 관리 회로(130)에 전송되는 QACTIVE 신호가 제1 논리 값(예컨대, L)로 트랜지션된다. 상기 제1 논리 값의 QACTIVE 신호는, 채널 관리 회로(130)로부터 제공되는 정지 요청(quiescence request)을 IP 블록(200)이 수락(accept)할 수 있는 상태일 수 있음을 나타낼 수 있다.
채널 관리 회로(130)와 IP 블록(200) 사이에서 정의되는 정지 요청(quiescence request)에 대한 내용은 ARM 사에서 발행한 "Low Power Interface Specification" 문서에 공지되어 있으므로, 본 명세서에서는 그 설명을 생략한다.
이에 따라, 시점(T1)에서 채널 관리 회로(130)는 도 4에서 설명한 제2 상태(Q2)로 전환된다.
시점(T2)에서, 채널 관리 회로(130)로부터 IP 블록(200)에 전송되는 QREQn 신호가 제1 논리 값(예컨대, L)로 트랜지션된다. 상기 제1 논리 값의 QREQn 신호는, IP 블록(200)에 대한 정지 요청을 의미할 수 있다.
시점(T3)에서, IP 블록(200)으로부터 채널 관리 회로(130)에 전송되는 QACCEPTn 신호가 제1 논리 값(예컨대, L)로 트랜지션된다. 상기 제1 논리 값의 QACCEPTn 신호는, IP 블록(200)이 해당 정지 요청을 수락한다는 의미의 응답을 의미한다. 이에 따라 IP 블록(200)은 유휴 상태로 진입하게 될 것이다.
이에 따라, 시점(T3)에서 채널 관리 회로(130)는 도 4에서 설명한 제3 상태(Q3)로 전환된다. 이후, 시점(T4)이 도래하기 전에, 채널 관리 회로(130)는 도 4에서 설명한 제4 상태(Q4)로 또 한 번 전환된다.
한편, 시점(T3)에서 QACCEPTn 신호가 제1 논리 값으로 트랜지션할 때, 메모리(410)에 제공되는 칩 인에이블 신호(CEN)는 제1 논리 값(예컨대, L)에서 제2 논리 값(예컨대, H)으로 트랜지션할 수 있다. 이에 따라 메모리(410)가 비 실행 상태로 전환될 수 있다. 즉, 시점(T3)은 메모리(410)가 도 3의 제1 상태(M1)에서 제2 상태(M2)로 전환되는 시점일 수 있다.
즉, 시점(T3)에서 IP 블록(200)이 유휴 상태로 진입하게 되므로, IP 블록(200)에 의해서만 사용되는 메모리(410) 역시 비 실행 상태로 전환되어 전력을 절약할 수 있다.
시점(T4)에서, 클럭 제어 회로(122f)는 도 4에서 설명한 제2 상태(C2)로 전환된다. 즉, 채널 관리 회로(130)가 시점(T4) 이전에 IP 블록(200)과의 채널(CH)에서 신호들을 주고받은 후, IP 블록(200)이 유휴 상태로 진입하였으므로, 이에 따라, 예컨대 클럭 소오스(124f)가 클럭 신호(CLK)의 출력을 중단하게 된 것이다(도 5의 "CLK enable" 참조). 그리고 채널 관리 회로(130)는 도 4에서 설명한 제4 상태(Q4)를 유지하고 있다.
한편, 시점(T4)에서, 메모리(410)에 제공되는 리텐션 신호(RETN)는 제2 논리 값(예컨대, H)에서 제1 논리 값(예컨대, L)으로 트랜지션할 수 있다. 이에 따라 메모리(410)에 대한 리텐션 동작이 수행된다.
즉, 시점(T4)은 메모리(410)가 도 3의 제2 상태(M2)에서 제3 상태(M3)로 전환되는 시점일 수 있다.
시점(T5)에서, 클럭 제어 회로(122f)는 도 4에서 설명한 제3 상태(C3)로 전환된다. 즉, 예컨대 클럭 제어 회로(122f)가 그 부모 클럭 제어 회로(122e)에 제1 논리 값을 갖는 클럭 요청(REQ)("클럭 제공 중지 요청")을 전송한 것이다. 이에 따라 클럭 제어 회로(122e)의 부모들 사이에서의 클럭 소오스 제어 동작이 수행된다.
한편, 시점(T5)에서, 메모리(410)에 제공되는 파워 게이팅 인에이블 신호(PGEN)는 제1 논리 값(예컨대, L)에서 제2 논리 값(예컨대, H)으로 트랜지션할 수 있다. 이에 따라 메모리(410)에 대한 파워 게이팅이 수행된다.
즉, 시점(T5)은 메모리(410)가 도 3의 제3 상태(M3)에서 제4 상태(M4)로 전환되는 시점일 수 있다. 이후, 시점(T7)이 도래하기 전에, 메모리(410)는 도 3에서 설명한 제5 상태(M5)로 또 한 번 전환된다.
시점(T6)에서, 클럭 제어 회로(122f)는 도 4에서 설명한 제4 상태(C4)로 전환된다. 즉, 클럭 제어 회로(122f)는 클럭 소오스(124f)를 디스에이블하여 클럭 신호의 제공을 중지한 상태에 있다.
이후 시점(T7)이 되면, IP 블록(200)으로부터 채널 관리 회로(130)에 전송되는 QACTIVE 신호가 제2 논리 값(예컨대, H)로 트랜지션된다. 즉, IP 블록(200)은 제2 논리 값의 QACTIVE 신호를 통해 웨이크 업(wake up)될 것임을 채널 관리 회로(130)에 알린다.
또한, 메모리(410)에 제공되는 파워 게이팅 인에이블 신호(PGEN)는 제2 논리 값(예컨대, H)에서 제1 논리 값(예컨대, L)으로 트랜지션할 수 있다. 이에 따라 메모리(410)에 대한 파워 게이팅이 종료된다.
즉, 시점(T7)은 메모리(410)가 도 3의 제5 상태(M5)에서 제6 상태(M6)로 전환되는 시점일 수 있다.
또한, 클럭 제어 회로(122f)는 도 4에서 설명한 제5 상태(C5)로 전환된다. 즉, 클럭 제어 회로(122f)는 (자식이 있다면 자식으로부터 "클럭 제공 요청"을 수신하고) 그 부모에게도 "클럭 제공 요청"을 전송한다.
이에 따라 시점(T8)이 되면, 예컨대 클럭 소오스(124f)가 클럭 신호(CLK)의 출력을 재개하게 된다(도 5의 "CLK enable" 참조).
시점(T9)에서, 클럭 제어 회로(122f)는 도 4에서 설명한 제1 상태(C1)로 전환된다. 즉, 클럭 제어 회로(122f)는 IP 블록(200)에 클럭 신호(CLK)를 출력하고 있다.
한편, 시점(T9)에서, 메모리(410)에 제공되는 리텐션 신호(RETN)는 제1 논리 값(예컨대, L)에서 제2 논리 값(예컨대, H)으로 트랜지션할 수 있다. 이에 따라 메모리(410)에 대한 리텐션 동작이 종료된다.
즉, 시점(T9)은 메모리(410)가 도 3의 제6 상태(M6)에서 제7 상태(M7)로 전환되는 시점일 수 있다.
시점(T10)에서, 채널 관리 회로(130)로부터 IP 블록(200)에 전송되는 QREQn 신호가 제2 논리 값(예컨대, H)로 트랜지션된다. 그리고 채널 관리 회로(130)는 도 4에서 설명한 제4 상태(Q4)에서 IP 블록(200)이 유휴 상태로부터 웨이크 업 되었음을 나타내는 제5 상태(Q5)로 전환된다.
시점(T11)이 되면, IP 블록(200)이 웨이크 업 됨에 따라 메모리(410)에 제공되는 칩 인에이블 신호(CEN)는 제2 논리 값(예컨대, H)에서 제1 논리 값(예컨대, L)에서 트랜지션할 수 있다. 이에 따라 메모리(410)는 실행 상태로 전환될 수 있다.
즉, 시점(T11)은 메모리(410)가 도 3의 제7 상태(M7)에서 제8 상태(M8)로 전환되는 시점일 수 있다.
시점(T12)는 IP 블록(200)으로부터 채널 관리 회로(130)에 전송되는 QACCEPTn 신호가 제2 논리 값(예컨대, H)로 트랜지션되고, 채널 관리 회로(130)는 다시 도 4의 제1 상태(Q1)으로 전환되어 그 동작을 반복할 수 있다.
정리하면, IP 블록(200)이 유휴 상태인 동안, 메모리(410)는 시점(T3)부터 시점(T11)까지 칩 인에이블 신호(CEN)가 제2 논리 값(예컨대, H)이 되어 비 실행 상태에 있고, 그 중 시점(T4)부터 시점(T9)까지 메모리(410)에 제공되는 리텐션 신호(RETN)가 제1 논리 값(예컨대, L)이 되어 리텐션 동작이 수행된다.
또한, 그 중 시점(T5)부터 시점(T7)까지 메모리(410)에 제공되는 파워 게이팅 인에이블 신호(PGEN)가 제2 논리 값(예컨대, H)이 되어 파워 게이팅이 수행된다.
이와 같은 방식으로, 메모리(410)에 대한 파워 게이팅이 수행되는 제1 구간(I)은 IP 블록(200)에 대한 클럭 게이팅이 수행되는 제2 구간(II) 중에 포함된다.
도 2 내지 도 5와 관련하여 지금까지 설명한 내용으로부터 알 수 있는 바와 같이, 본 발명의 일 실시예에 따른 반도체 장치(2)는 하드웨어에 의해 동작하는 HWACG 로직(105)이 IP 블록(200)에 클럭 게이팅을 수행하는 시점을 인지한 후, 이에 따라 IP 블록(200)이 사용하는 메모리(410)에 대한 파워 게이팅을 적절한 시점에 하드웨어적으로 수행함으로써, 신속하고도 정교하게 전력을 비롯한 자원 낭비를 줄일 수 있다.
도 6은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(3)는 HWACG 로직(105), 메모리 파워 컨트롤러(400) 및 선택 회로(420)를 포함할 수 있다.
도 2와 달리, 메모리 파워 컨트롤러(400)와 메모리(410)에 배치되는 선택 회로(420)는 메모리 파워 컨트롤러(400)로부터 제1 파워 게이팅 인에이블 신호(PGEN0)를 제공받을 수 있다. 한편, 선택 회로(420)는 전력 관리 유닛(Power Management Unit, PMU)(300)으로부터 제2 파워 게이팅 인에이블 신호(PGEN1)를 제공받을 수 있다.
이후, 선택 회로(420)는 제1 파워 게이팅 인에이블 신호(PGEN0)와 제2 파워 게이팅 인에이블 신호(PGEN2) 중 어느 하나를, 메모리(410)에 대한 파워 게이팅을 수행하기 위한 제3 파워 게이팅 인에이블 신호(PGEN2)로서 메모리(410)에 제공할 수 있다.
구체적으로, 선택 회로(420)는, 메모리(410)에 대해 파워 게이팅이 수행되는 동안 메모리(410)에 저장된 데이터를 보존할 필요가 있는 경우, 메모리 파워 컨트롤러(400)로부터 제공되는 제1 파워 게이팅 인에이블 신호(PGEN0)를 제3 파워 게이팅 인에이블 신호(PGEN2)로서 상기 메모리(410)에 제공할 수 있다.
이와 달리, 선택 회로(420)는, 메모리(410)에 대해 파워 게이팅이 수행되는 동안 메모리(410)에 저장된 데이터를 보존할 필요가 없는 경우, 전력 관리 유닛(300)으로부터 제공되는 제2 파워 게이팅 인에이블 신호(PGEN1)를 제3 파워 게이팅 인에이블 신호(PGEN2)로서 메모리(410)에 제공할 수 있다. 다시 말해, 메모리(410)에 저장된 데이터를 보존할 필요가 없는 경우, 전력 관리 유닛(300)이 직접 메모리(410)를 파워 오프할 수 있다.
물론, 선택 회로(420)는, 메모리(410)에 대해 파워 게이팅이 수행되는 동안 메모리(410)에 저장된 데이터를 보존할 필요가 없는 경우, 전력 관리 유닛(300)으로부터 제공되는 제2 파워 게이팅 인에이블 신호(PGEN1)를 제3 파워 게이팅 인에이블 신호(PGEN2)로서 메모리(410)에 제공할 수 있다.
본 실시예에 따르면, 메모리(410)에 저장된 데이터를 보존할 필요가 없는 경우, 전력 관리 유닛(300)을 이용하여 보다 신속하게 메모리(410)에 대한 파워 게이팅을 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 반도체 장치의 일 구현례를 설명하기 위한 개략도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(3)의 선택 회로(420)는 제1 격리 셀(isolation cell)(4202) 및 제2 격리 셀(4204)을 포함할 수 있다.
제1 격리 셀(4202)은 메모리 파워 컨트롤러(400)로부터 제공되는 제1 파워 게이팅 인에이블 신호(PGEN0)와, 전력 관리 유닛(300)으로부터 제공되는 제2 파워 게이팅 인에이블 신호(PGEN1)를 입력받아, 그 중 어느 하나를 제3 파워 게이팅 인에이블 신호(PGEN2)로서 출력한다.
제2 격리 셀(4204)은 메모리 파워 컨트롤러(400)로부터 제공되는 제1 리텐션 신호(RETN0)와, 전력 관리 유닛(300)으로부터 제공되는 제2 리텐션 신호(PGEN1)를 입력받아, 그 중 어느 하나를 제3 리텐션 신호(RETN2)로서 출력한다.
예를 들어, 메모리 파워 컨트롤러(400)가 동작하고 있는 경우에는, 메모리 파워 컨트롤러(400)가 메모리(410)에 제1 파워 게이팅 인에이블 신호(PGEN0) 또는 제1 리텐션 신호(RETN0)를 제공하여 메모리(410)에 대한 파워 게이팅을 수행할 수 있다.
이와 다르게, 메모리 파워 컨트롤러(400) 포함된 파워 도메인(power domain)에 대해 파워 게이팅이 수행된 경우에는, 메모리 파워 컨트롤러(400)도 파워 오프될 수 있으므로 직접 메모리(410)를 제어할 수 없다. 다시 말해서, 이 경우 메모리 파워 컨트롤러(400)는 메모리(410)에 제1 파워 게이팅 인에이블 신호(PGEN0) 또는 제1 리텐션 신호(RETN0)를 제공할 수 없다.
이 경우, 전력 관리 유닛(300)은 제1 격리 셀(4202)을 인에이블하여, 제1 격리 셀(4202)이 제2 파워 게이팅 인에이블 신호(PGEN1)를 제3 파워 게이팅 인에이블 신호(PGEN2)로서 출력하도록 제어할 수 있다. 또한, 전력 관리 유닛(300)은 제2 격리 셀(4204)을 인에이블하여, 제2 격리 셀(4204)이 제2 리텐션 신호(PGEN1)를 제3 리텐션 신호(RETN2)로서 출력하도록 제어할 수 있다.
그러나 본 실시예는 오로지 선택 회로(420)를 구현하기 위한 일례에 불과할 뿐이고, 선택 회로(420)는 필요에 따라 그 구현 방법이 얼마든지 달라질 수 있다.
도 8은 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(4)는 HWACG 로직(105) 및 디바이스 파워 컨트롤러(Dev Power Controller)(402)를 포함할 수 있다.
디바이스 파워 컨트롤러(400)는, HWACG 로직(105)이 IP 블록(200)에 대해 클럭 게이팅을 수행하는 경우, IP 블록(200)과 전기적으로 연결된 디바이스(412)에 대해 파워 게이팅을 수행한다. 구체적으로, 메모리 파워 컨트롤러(400)는, HWACG 로직(105)의 클럭 컴포넌트(120a, 120b, 120c, 120d, 120e, 120f, 120g)의 동작에 따라 디바이스(412)에 대한 파워 게이팅을 수행한다.
여기서 디바이스(412)는 IP 블록(200)과 함께 동작할 수 있는 임의의 전기적 디바이스를 의미한다. 특히, 본 발명의 몇몇의 실시예에서, 디바이스(412)는 리텐션 기능이 지원되는 임의의 전기적 디바이스를 의미할 수도 있다.
본 실시예는, 도 2의 실시예와 달리, 파워 게이팅의 대상이 메모리(410)에 한정되지 않음을 나타내기 위한 것으로, 실질적으로 동일한 동작 과정에 대해서는 그 중복되는 설명을 생략하도록 한다.
도 9는 본 발명의 일 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(5)는 HWACG 로직(105), 디바이스 파워 컨트롤러(402) 및 선택 회로(402)를 포함할 수 있다.
도 8와 달리, 디바이스 파워 컨트롤러(402)와 디바이스(412)에 배치되는 선택 회로(420)는 디바이스 파워 컨트롤러(402)로부터 제1 파워 게이팅 인에이블 신호(PGEN0)를 제공받을 수 있다. 한편, 선택 회로(420)는 전력 관리 유닛(300)으로부터 제2 파워 게이팅 인에이블 신호(PGEN1)를 제공받을 수 있다.
이후, 선택 회로(420)는 제1 파워 게이팅 인에이블 신호(PGEN0)와 제2 파워 게이팅 인에이블 신호(PGEN2) 중 어느 하나를, 디바이스(412)에 대한 파워 게이팅을 수행하기 위한 제3 파워 게이팅 인에이블 신호(PGEN2)로서 디바이스(412)에 제공할 수 있다.
여기서 디바이스(412)는 IP 블록(200)과 함께 동작할 수 있는 임의의 전기적 디바이스를 의미한다. 특히, 본 발명의 몇몇의 실시예에서, 디바이스(412)는 리텐션 기능이 지원되는 임의의 전기적 디바이스를 의미할 수도 있다.
본 실시예는, 도 6의 실시예와 달리, 파워 게이팅의 대상이 메모리(410)에 한정되지 않음을 나타내기 위한 것으로, 실질적으로 동일한 동작 과정에 대해서는 그 중복되는 설명을 생략하도록 한다.
도 10은 본 발명의 일 실시예에 따른 반도체 시스템을 설명하기 위한 블록도이다.
도 10을 참조하면, 본 발명의 몇몇의 실시예에 따른 반도체 시스템은 앞서 설명한 바와 같은 특징들을 포함하는 SoC(1), 프로세서(10), 메모리 장치(20), 디스플레이 장치(30), 네트워크 장치(40), 스토리지 장치(50) 및 입출력 장치(60)를 포함할 수 있다. SoC(1), 프로세서(10), 메모리 장치(20), 디스플레이 장치(30), 네트워크 장치(40), 스토리지 장치(50) 및 입출력 장치(60)는 버스(70)를 통해 서로 데이터를 주고 받을 수 있다. 여기서 메모리 장치(20)는 앞서 설명한 메모리(410)에 대응될 수 있다.
본 발명의 다양한 실시예에서 언급된 SoC(1) 내부의 IP 블록들은 메모리 장치(20)를 제어하는 메모리 컨트롤러, 디스플레이 장치(30)를 제어하는 디스플레이 컨트롤러, 네크워크 장치(40)를 제어하는 네트워크 컨트롤러, 스토리지 장치(50)를 제어하는 스토리지 컨트롤러 및 입출력 장치(60)를 제어하는 입출력 컨트롤러 중 적어도 하나를 포함할 수 있다. 또한 반도체 시스템은 이들 장치들을 제어하는 추가적인 프로세서(10)를 더 구비할 수도 있다.
이제까지 설명한 본 발명의 다양한 실시예에 따르면, 반도체 장치 및 반도체 시스템는 하드웨어에 의해 동작하는 HWACG 로직(105)이 IP 블록(200)에 클럭 게이팅을 수행하는 시점을 인지한 후, 이에 따라 IP 블록(200)이 사용하는 메모리(410)에 대한 파워 게이팅을 적절한 시점에 하드웨어적으로 수행함으로써, 신속하고도 정교하게 전력을 비롯한 자원 낭비를 줄일 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1, 2, 3, 4, 5: 반도체 장치
100: 클럭 관리 유닛
110: 클럭 관리 유닛 컨트롤러
120: 클럭 컴포넌트 122: 클럭 제어 회로
124: 클럭 소오스 130, 132: 채널 관리 회로
200, 210: IP 블록 300: 전력 관리 유닛
400: 메모리 파워 컨트롤러 402: 디바이스 파워 컨트롤러
410: 메모리 412: 디바이스
110: 클럭 관리 유닛 컨트롤러
120: 클럭 컴포넌트 122: 클럭 제어 회로
124: 클럭 소오스 130, 132: 채널 관리 회로
200, 210: IP 블록 300: 전력 관리 유닛
400: 메모리 파워 컨트롤러 402: 디바이스 파워 컨트롤러
410: 메모리 412: 디바이스
Claims (20)
- IP 블록(Intellectual Property block)에 대한 클럭 게이팅을 제공하는 하드웨어 자동 클럭 게이팅(Hard-Ware Auto Clock Gating, HWACG) 로직; 및
상기 HWACG 로직이 상기 IP 블록에 대해 클럭 게이팅을 수행하는 경우, 상기 IP 블록과 전기적으로 연결된 메모리에 대해 파워 게이팅을 수행하는 메모리 파워 컨트롤러(Memory Power Controller)를 포함하고,
상기 HWACG 로직은,
제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit)와,
상기 IP 블록의 동작 상태에 따라, 상기 제1 클럭 제어 회로에 클럭 요청을 전송하고, 상기 제1 클럭 소오스로부터 클럭 신호를 제공받아 상기 IP 블록에 상기 클럭 신호를 제공하는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로를 포함하는 반도체 장치. - 제1항에 있어서,
상기 메모리 파워 컨트롤러는 상기 메모리에 대한 파워 게이팅을 수행하기 위한 파워 게이팅 인에이블 신호를 상기 메모리에 제공하는 반도체 장치. - 제2항에 있어서,
상기 메모리 파워 컨트롤러는 상기 파워 게이팅 인에이블 신호와 함께, 상기 메모리에 대해 파워 게이팅이 수행되는 동안 상기 메모리에 저장된 데이터를 보존하기 위한 리텐션 신호를 상기 메모리에 제공하는 반도체 장치. - 제1항에 있어서,
상기 메모리 파워 컨트롤러는 상기 제2 클럭 소오스로부터 출력되는 클럭 신호에 대한 클럭 게이팅 여부에 따라 상기 메모리에 대한 파워 게이팅의 수행 여부를 결정하는 반도체 장치. - 제1항에 있어서,
선택 회로를 더 포함하고,
상기 선택 회로는,
상기 메모리 파워 컨트롤러로부터 제1 파워 게이팅 인에이블 신호를 제공받고,
전력 관리 유닛(Power Management Unit, PMU)으로부터 제2 파워 게이팅 인에이블 신호를 제공받고,
상기 제1 파워 게이팅 인에이블 신호와 상기 제2 파워 게이팅 인에이블 신호 중 어느 하나를, 상기 메모리에 대한 파워 게이팅을 수행하기 위한 제3 파워 게이팅 인에이블 신호로서 상기 메모리에 제공하는 반도체 장치. - 제5항에 있어서,
상기 선택 회로는,
상기 메모리에 대해 파워 게이팅이 수행되는 동안 상기 메모리에 저장된 데이터를 보존할 필요가 있는 경우, 상기 메모리 파워 컨트롤러로부터 제공되는 상기 제1 파워 게이팅 인에이블 신호를 상기 제3 파워 게이팅 인에이블 신호로서 상기 메모리에 제공하는 반도체 장치. - 제5항에 있어서,
상기 선택 회로는,
상기 메모리에 대해 파워 게이팅이 수행되는 동안 상기 메모리에 저장된 데이터를 보존할 필요가 없는 경우, 상기 전력 관리 유닛으로부터 제공되는 상기 제2 파워 게이팅 인에이블 신호를 상기 제3 파워 게이팅 인에이블 신호로서 상기 메모리에 제공하는 반도체 장치. - IP 블록(Intellectual Property block)에 대한 클럭 게이팅을 제공하는 하드웨어 자동 클럭 게이팅(Hard-Ware Auto Clock Gating, HWACG) 로직; 및
상기 HWACG 로직의 동작에 따라, 상기 IP 블록과 전기적으로 연결된 디바이스에 대해 파워 게이팅을 수행하는 디바이스 파워 컨트롤러(Device Power Controller)를 포함하고,
상기 HWACG 로직은,
제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit)와,
상기 IP 블록의 동작 상태에 따라, 상기 제1 클럭 제어 회로에 클럭 요청을 전송하고, 상기 제1 클럭 소오스로부터 클럭 신호를 제공받아 상기 IP 블록에 상기 클럭 신호를 제공하는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로를 포함하고,
상기 디바이스 파워 컨트롤러는 상기 제2 클럭 소오스로부터 출력되는 클럭 신호에 대한 클럭 게이팅 여부에 따라 상기 디바이스에 대한 파워 게이팅의 수행 여부를 결정하는 반도체 장치. - 제8항에 있어서,
상기 디바이스 파워 컨트롤러는 상기 디바이스에 대한 파워 게이팅을 수행하기 위한 파워 게이팅 인에이블 신호를 상기 디바이스에 제공하는 반도체 장치. - 제9항에 있어서,
상기 디바이스 파워 컨트롤러는 상기 파워 게이팅 인에이블 신호와 함께, 상기 디바이스에 대해 파워 게이팅이 수행되는 동안 상기 디바이스에 리텐션 동작을 수행하기 위한 리텐션 신호를 상기 디바이스에 제공하는 반도체 장치. - 제8항에 있어서,
선택 회로를 더 포함하고,
상기 선택 회로는,
상기 디바이스 파워 컨트롤러로부터 제1 파워 게이팅 인에이블 신호를 제공받고,
전력 관리 유닛(Power Management Unit, PMU)으로부터 제2 파워 게이팅 인에이블 신호를 제공받고,
상기 제1 파워 게이팅 인에이블 신호와 상기 제2 파워 게이팅 인에이블 신호 중 어느 하나를, 상기 디바이스에 대한 파워 게이팅을 수행하기 위한 제3 파워 게이팅 인에이블 신호로서 상기 디바이스에 제공하는 반도체 장치. - 제11항에 있어서,
상기 선택 회로는,
상기 디바이스에 대해 파워 게이팅이 수행되는 동안 상기 디바이스에 리텐션 동작을 수행할 필요가 있는 경우, 상기 디바이스 파워 컨트롤러로부터 제공되는 상기 제1 파워 게이팅 인에이블 신호를 상기 제3 파워 게이팅 인에이블 신호로서 상기 디바이스에 제공하는 반도체 장치. - 제11항에 있어서,
상기 선택 회로는,
상기 디바이스에 대해 파워 게이팅이 수행되는 동안 상기 디바이스에 리텐션 동작을 수행할 필요가 없는 경우, 상기 전력 관리 유닛으로부터 제공되는 상기 제2 파워 게이팅 인에이블 신호를 상기 제3 파워 게이팅 인에이블 신호로서 상기 디바이스에 제공하는 반도체 장치. - IP 블록(Intellectual Property block) 및 상기 IP 블록에 클럭 신호를 제공하는 클럭 관리 유닛(Clock Management Unit, CMU)을 포함하는 SoC(System-on-Chip); 및
상기 SoC와 전기적으로 접속된 하나 이상의 외부 장치(external device)를 포함하고,
상기 클럭 관리 유닛은,
상기 IP 블록에 대한 클럭 게이팅을 제공하는 하드웨어 자동 클럭 게이팅(Hard-Ware Auto Clock Gating, HWACG) 로직; 및
상기 HWACG 로직이 상기 IP 블록에 대해 클럭 게이팅을 수행하는 경우, 상기 IP 블록과 전기적으로 연결된 메모리에 대해 파워 게이팅을 수행하는 메모리 파워 컨트롤러(Memory Power Controller)를 포함하고,
상기 HWACG 로직은,
제1 클럭 소오스(clock source)를 제어하는 제1 클럭 제어 회로(clock control circuit)와,
상기 IP 블록의 동작 상태에 따라, 상기 제1 클럭 제어 회로에 클럭 요청을 전송하고, 상기 제1 클럭 소오스로부터 클럭 신호를 제공받아 상기 IP 블록에 상기 클럭 신호를 제공하는 제2 클럭 소오스를 제어하는 제2 클럭 제어 회로를 포함하는 반도체 시스템. - 제14항에 있어서,
상기 메모리 파워 컨트롤러는 상기 메모리에 대한 파워 게이팅을 수행하기 위한 파워 게이팅 인에이블 신호를 상기 메모리에 제공하는 반도체 시스템. - 제15항에 있어서,
상기 메모리 파워 컨트롤러는 상기 파워 게이팅 인에이블 신호와 함께, 상기 메모리에 대해 파워 게이팅이 수행되는 동안 상기 메모리에 저장된 데이터를 보존하기 위한 리텐션 신호를 상기 메모리에 제공하는 반도체 시스템. - 제14항에 있어서,
상기 메모리 파워 컨트롤러는 상기 제2 클럭 소오스로부터 출력되는 클럭 신호에 대한 클럭 게이팅 여부에 따라 상기 메모리에 대한 파워 게이팅의 수행 여부를 결정하는 반도체 시스템. - 제14항에 있어서,
선택 회로를 더 포함하고,
상기 선택 회로는,
상기 메모리 파워 컨트롤러로부터 제1 파워 게이팅 인에이블 신호를 제공받고,
전력 관리 유닛(Power Management Unit, PMU)으로부터 제2 파워 게이팅 인에이블 신호를 제공받고,
상기 제1 파워 게이팅 인에이블 신호와 상기 제2 파워 게이팅 인에이블 신호 중 어느 하나를, 상기 메모리에 대한 파워 게이팅을 수행하기 위한 제3 파워 게이팅 인에이블 신호로서 상기 메모리에 제공하는 반도체 시스템. - 제18항에 있어서,
상기 선택 회로는,
상기 메모리에 대해 파워 게이팅이 수행되는 동안 상기 메모리에 저장된 데이터를 보존할 필요가 있는 경우, 상기 메모리 파워 컨트롤러로부터 제공되는 상기 제1 파워 게이팅 인에이블 신호를 상기 제3 파워 게이팅 인에이블 신호로서 상기 메모리에 제공하는 반도체 시스템. - 제18항에 있어서,
상기 선택 회로는,
상기 메모리에 대해 파워 게이팅이 수행되는 동안 상기 메모리에 저장된 데이터를 보존할 필요가 없는 경우, 상기 전력 관리 유닛으로부터 제공되는 상기 제2 파워 게이팅 인에이블 신호를 상기 제3 파워 게이팅 인에이블 신호로서 상기 메모리에 제공하는 반도체 시스템.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180002206A KR102530347B1 (ko) | 2018-01-08 | 2018-01-08 | 반도체 장치 및 반도체 시스템 |
US16/107,424 US10587265B2 (en) | 2018-01-08 | 2018-08-21 | Semiconductor device and semiconductor system |
DE102018122640.3A DE102018122640A1 (de) | 2018-01-08 | 2018-09-17 | Halbleitervorrichtung und Halbleitersystem |
CN201811434521.2A CN110018712B (zh) | 2018-01-08 | 2018-11-28 | 半导体装置和半导体系统 |
TW108100221A TWI791730B (zh) | 2018-01-08 | 2019-01-03 | 半導體裝置及半導體系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180002206A KR102530347B1 (ko) | 2018-01-08 | 2018-01-08 | 반도체 장치 및 반도체 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190084443A true KR20190084443A (ko) | 2019-07-17 |
KR102530347B1 KR102530347B1 (ko) | 2023-05-08 |
Family
ID=67188565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180002206A KR102530347B1 (ko) | 2018-01-08 | 2018-01-08 | 반도체 장치 및 반도체 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10587265B2 (ko) |
KR (1) | KR102530347B1 (ko) |
CN (1) | CN110018712B (ko) |
DE (1) | DE102018122640A1 (ko) |
TW (1) | TWI791730B (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3764041A1 (en) | 2019-07-12 | 2021-01-13 | Lg Electronics Inc. | Refrigerator |
CN117409516A (zh) * | 2023-12-15 | 2024-01-16 | 杭银消费金融股份有限公司 | 一种自助终端的节能控制方法以及自助终端 |
KR102671340B1 (ko) * | 2023-01-02 | 2024-05-31 | 주식회사 잇다반도체 | 시스템 온 칩 장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3032966B2 (ja) * | 1996-12-21 | 2000-04-17 | エルジー セミコン カンパニー リミテッド | 基準クロック発生回路 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7619440B2 (en) | 2008-01-30 | 2009-11-17 | Freescale Semiconductor, Inc. | Circuit having logic state retention during power-down and method therefor |
US8438416B2 (en) * | 2010-10-21 | 2013-05-07 | Advanced Micro Devices, Inc. | Function based dynamic power control |
US8633751B2 (en) | 2011-11-10 | 2014-01-21 | Advanced Micro Devices, Inc. | Centralized power gating control for partitioned power gates |
US8799715B2 (en) * | 2012-06-26 | 2014-08-05 | Apple Inc. | System on a chip (SOC) debug controllability |
US9104421B2 (en) | 2012-07-30 | 2015-08-11 | Nvidia Corporation | Training, power-gating, and dynamic frequency changing of a memory controller |
US9323315B2 (en) * | 2012-08-15 | 2016-04-26 | Nvidia Corporation | Method and system for automatic clock-gating of a clock grid at a clock source |
CN104769841B (zh) | 2012-09-19 | 2018-11-13 | 高通股份有限公司 | 用于降低动态功率的时钟门控电路 |
US20140095896A1 (en) | 2012-09-28 | 2014-04-03 | Nicholas P. Carter | Exposing control of power and clock gating for software |
US9081577B2 (en) | 2012-12-28 | 2015-07-14 | Intel Corporation | Independent control of processor core retention states |
US9166567B2 (en) | 2013-03-15 | 2015-10-20 | University Of California, San Diego | Data-retained power-gating circuit and devices including the same |
US9411404B2 (en) | 2014-01-16 | 2016-08-09 | Apple Inc. | Coprocessor dynamic power gating for on-die leakage reduction |
KR102154080B1 (ko) * | 2014-07-25 | 2020-09-09 | 삼성전자주식회사 | 전력 관리 시스템, 이를 포함하는 시스템 온 칩 및 모바일 기기 |
KR102384347B1 (ko) * | 2015-05-26 | 2022-04-07 | 삼성전자주식회사 | 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법 |
US9823730B2 (en) * | 2015-07-08 | 2017-11-21 | Apple Inc. | Power management of cache duplicate tags |
US9542994B1 (en) | 2015-09-15 | 2017-01-10 | Arm Limited | Retention control in a memory device |
US9768756B2 (en) * | 2016-01-08 | 2017-09-19 | Samsung Electronics Co., Ltd. | Low power integrated clock gating cell with internal control signal |
US10303203B2 (en) * | 2016-01-25 | 2019-05-28 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10429881B2 (en) * | 2016-01-25 | 2019-10-01 | Samsung Electronics Co., Ltd. | Semiconductor device for stopping an oscillating clock signal from being provided to an IP block, a semiconductor system having the semiconductor device, and a method of operating the semiconductor device |
US9985610B2 (en) * | 2016-01-25 | 2018-05-29 | Samsung Electronics Co., Ltd. | Semiconductor device and a method of operating the same |
US10209767B2 (en) * | 2016-02-02 | 2019-02-19 | Apple Inc. | Power management architecture |
KR20180002206A (ko) | 2016-06-29 | 2018-01-08 | 엘지이노텍 주식회사 | 이물질 검출 방법 및 그를 위한 장치 및 시스템 |
-
2018
- 2018-01-08 KR KR1020180002206A patent/KR102530347B1/ko active IP Right Grant
- 2018-08-21 US US16/107,424 patent/US10587265B2/en active Active
- 2018-09-17 DE DE102018122640.3A patent/DE102018122640A1/de active Pending
- 2018-11-28 CN CN201811434521.2A patent/CN110018712B/zh active Active
-
2019
- 2019-01-03 TW TW108100221A patent/TWI791730B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3032966B2 (ja) * | 1996-12-21 | 2000-04-17 | エルジー セミコン カンパニー リミテッド | 基準クロック発生回路 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3764041A1 (en) | 2019-07-12 | 2021-01-13 | Lg Electronics Inc. | Refrigerator |
KR102671340B1 (ko) * | 2023-01-02 | 2024-05-31 | 주식회사 잇다반도체 | 시스템 온 칩 장치 |
CN117409516A (zh) * | 2023-12-15 | 2024-01-16 | 杭银消费金融股份有限公司 | 一种自助终端的节能控制方法以及自助终端 |
CN117409516B (zh) * | 2023-12-15 | 2024-03-22 | 杭银消费金融股份有限公司 | 一种自助终端的节能控制方法以及自助终端 |
Also Published As
Publication number | Publication date |
---|---|
DE102018122640A1 (de) | 2019-07-11 |
KR102530347B1 (ko) | 2023-05-08 |
TWI791730B (zh) | 2023-02-11 |
CN110018712A (zh) | 2019-07-16 |
US10587265B2 (en) | 2020-03-10 |
TW201931048A (zh) | 2019-08-01 |
CN110018712B (zh) | 2023-12-26 |
US20190214989A1 (en) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296065B2 (en) | Clock management using full handshaking | |
US11789515B2 (en) | Semiconductor device | |
KR102467172B1 (ko) | 반도체 장치 | |
KR20040070696A (ko) | 절전모드를 갖는 매체 엑세스 제어기 | |
US10587265B2 (en) | Semiconductor device and semiconductor system | |
JPH11145897A (ja) | 移動無線電話機 | |
KR20020042433A (ko) | 데이터 프로세서 및 데이터 처리시스템 | |
US10503674B2 (en) | Semiconductor device including a clock source for generating a clock signal and a clock control circuit for controlling the clock source in hardware, a semiconductor system including the semiconductor device, and a method of operating the semiconductor device | |
KR20160143159A (ko) | 데이터 복원을 안정적으로 제어하는 파워 게이팅 제어 회로 | |
US10209734B2 (en) | Semiconductor device, semiconductor system, and method of operating the semiconductor device | |
US7912989B2 (en) | Network interface for decreasing power consumption | |
US20170212549A1 (en) | Semiconductor device | |
TWI752067B (zh) | 半導體裝置及半導體系統 | |
KR20170088750A (ko) | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 | |
KR20170088749A (ko) | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 | |
TWI756225B (zh) | 系統晶片、半導體系統以及時鐘信號輸出電路 | |
CN108268086B (zh) | 半导体装置、半导体系统以及操作半导体装置的方法 | |
JPH06177932A (ja) | 通信装置 | |
CN108319326B (zh) | 半导体装置 | |
KR102568225B1 (ko) | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 | |
JP2004013799A (ja) | クロック切り替えシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |