[go: up one dir, main page]

KR101533572B1 - 전력 관리 방법 - Google Patents

전력 관리 방법 Download PDF

Info

Publication number
KR101533572B1
KR101533572B1 KR1020090043884A KR20090043884A KR101533572B1 KR 101533572 B1 KR101533572 B1 KR 101533572B1 KR 1020090043884 A KR1020090043884 A KR 1020090043884A KR 20090043884 A KR20090043884 A KR 20090043884A KR 101533572 B1 KR101533572 B1 KR 101533572B1
Authority
KR
South Korea
Prior art keywords
value
processor
power level
reference time
lowering
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020090043884A
Other languages
English (en)
Other versions
KR20100124928A (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 삼성전자주식회사
Priority to KR1020090043884A priority Critical patent/KR101533572B1/ko
Priority to US12/662,106 priority patent/US8245057B2/en
Publication of KR20100124928A publication Critical patent/KR20100124928A/ko
Application granted granted Critical
Publication of KR101533572B1 publication Critical patent/KR101533572B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)

Abstract

프로세서를 포함하는 시스템의 전력 관리를 위하여, 프로세서의 작업 부하율을 검출하고, 검출된 작업 부하율을 상향 기준 시간 동안 평균한 제1 값에 기초하여 프로세서의 전력 레벨을 상승시킨다. 검출된 작업 부하율을 상향 기준 시간보다 긴 하향 기준 시간 동안 평균한 제2 값에 기초하여 프로세서의 전력 레벨을 하강시킨다. 시간적 가중치를 적용한 히스테레시스 방식에 의해 전력을 관리함으로써 소모 전력을 효율적으로 절감하고 프로세서의 동작 안정성을 유지할 수 있다.

Description

전력 관리 방법{Method of Power Management}
본 발명은 전력 관리 방법에 관한 것으로서, 더욱 상세하게는 프로세서를 포함하는 전자 장치에서 동적으로 전력을 관리하는 방법에 관한 것이다.
전자 장치의 컴퓨팅 능력은 점차 증가하고 있으며 연산을 수행하는 프로세서의 높은 주파수와 이에 수반되는 고전압은 소모 전력을 증가시킨다. 특히 제한된 배터리 용량에 의해 동작하는 이동통신 단말기, PDA(Personal Digital Assistant), 노트북 등의 휴대용 장치에서의 소모 전력의 증가는 큰 문제가 되고 있다. 예를 들어, 이동통신 단말기의 동작 모드는 통상적으로 트래픽 모드와 대기 모드로 구분되어 전력 절감 방안이 모색되고 있다. 대기 모드는 사용자의 입력에 대응하여 바로 동작할 수 있는 통화 대기 모드(idle mode)와 일정 시간 이상 사용되지 않을 경우 소모 전력을 감소하기 위한 수신 대기 모드(sleep mode)로 분류될 수 있다. 각 모드에 따라서 일부 구성 요소에 공급되는 전원을 차단하는 방식으로 소모 전력을 감소할 수 있으나, 프로세서의 동작을 위한 클록 신호의 관점에서는 트래픽 모드와 통화 대기 모드는 사용중 모드에 속하고, 따라서 상기 모드들에서 동일하게 높은 주파수의 클록 신호가 공급된다. 이와 같이 각각의 모드 또는 프로세서의 동작 상 태와 관계없이 필요 이상의 높은 주파수로 프로세서가 동작하는 것은 불필요한 전력 소모를 초래한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 프로세서를 포함하는 장치 및 시스템에서, 프로세서의 동작 상태에 따라 동적으로 전력 레벨을 관리하여 소모 전력을 절감함과 동시에 프로세서의 동작을 안정적으로 유지할 수 있는 전력 관리 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 전력 관리 방법을 수행하여 소모 전력이 절감되고 안정적으로 동작 가능한 프로세서를 포함하는 장치 및 시스템을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 전력 관리 방법에서, 프로세서의 작업 부하율을 검출하고, 상기 검출된 작업 부하율을 상향 기준 시간 동안 평균한 제1 값에 기초하여 상기 프로세서의 전력 레벨을 상승시킨다. 한편, 상기 검출된 작업 부하율을 상기 상향 기준 시간보다 긴 하향 기준 시간 동안 평균한 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시킨다.
일 실시예에서, 상기 프로세서의 전력 레벨을 상승시키는 단계 및 상기 프로세서의 전력 레벨을 하강시키는 단계는, 상기 프로세서의 동작을 위한 클록 신호의 주파수를 조절하는 단계를 포함할 수 있다. 또한, 상기 프로세서의 전력 레벨을 상 승시키는 단계 및 상기 프로세서의 전력 레벨을 하강시키는 단계는, 상기 프로세서의 동작을 위한 전원 전압을 조절하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 전력 관리 방법은, 상기 검출된 작업 부하율을 상기 하향 기준 시간보다 긴 정적 기준 시간 동안 평균한 제3 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계를 더 포함할 수 있다.
상기 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계는 상기 제2 값이 하향 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함할 수 있고, 상기 제3 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계는 상기 제3 값이 정적 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함할 수 있고, 상기 정적 기준 값은 상기 하향 기준 값보다 클 수 있다.
일 실시예에서, 상기 상승 또는 하강된 전력 레벨이 안정화될 때까지 상기 프로세서의 동작을 중지하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 프로세서의 작업 부하율을 검출하는 단계는, 단위 기준 시간마다 상기 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들을 순차적으로 제공하는 단계를 포함할 수 있다.
이 경우, 상기 제1 값에 기초하여 상기 프로세서의 전력 레벨을 상승시키는 단계는, m개의 상기 단위 부하율들을 평균하여 상기 제1 값을 계산하는 단계 및 상기 제1 값이 상향 기준 값보다 큰 경우 상기 프로세서의 전력 레벨을 상승시키는 단계를 포함하고, 상기 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키 는 단계는, 상기 m보다 큰 n개의 상기 단위 부하율들을 평균하여 상기 제2 값을 계산하는 단계 및 상기 제2 값이 하향 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함할 수 있다.
상기 전력 관리 방법은, 상기 n보다 큰 k개의 상기 단위 부하율들을 평균하여 제3 값을 계산하는 단계, 및 상기 제3 값이 정적 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 더 포함할 수 있고, 상기 정적 기준 값은 상기 하향 기준 값보다 클 수 있다.
일 실시예에서, 상기 복수의 단위 부하율들의 각각에 서로 다른 가중치를 곱한 값들을 평균하여 상기 제1 값 및 상기 제2 값을 계산할 수 있다. 예를 들어, 상기 복수의 단위 부하율들 중 최근의 작업 부하율을 나타내는 단위 부하율일수록 더 큰 가중치를 곱할 수 있다.
상기 전력 관리 방법은, 상기 하향 기준 시간보다 긴 정적 기준 시간 동안 평균한 제3 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계를 더 포함하고, 이 경우, 상기 복수의 단위 부하율들의 각각에 서로 다른 가중치를 곱한 값들을 평균하여 상기 제3 값을 계산할 수 있다.
일 실시예에서, 사용자의 입력을 포함하는 특정한 이벤트가 발생한 경우에 상기 프로세서의 전력 레벨을 최고 레벨로 상승시키는 단계를 더 포함할 수 있다.
상기와 같은 본 발명의 실시예들에 따른 전력 관리 방법은 시간적 가중치를 적용한 히스테레시스 방식을 사용함으로써, 프로세서의 전력 레벨이 과도하게 변경 되는 것을 방지하면서도 소모 전력을 절감할 수 있다.
또한 상기와 같은 본 발명의 실시예들에 따른 전력 관리 방법은 프로세서의 작업 부하율이 적은 정적 상태에서 적절한 전력 레벨을 검출하여 소모 전력을 더욱 절감할 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 1을 참조하면, 프로세서의 작업 부하율을 검출하고(단계 S100), 상기 검출된 작업 부하율을 상향 기준 시간 동안 평균한 제1 값에 기초하여 상기 프로세서의 전력 레벨을 상승시킨다(단계 S200). 한편, 상기 검출된 작업 부하율을 상기 상향 기준 시간보다 긴 하향 기준 시간 동안 평균한 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시킨다(단계 S300).
프로세서의 작업 부하율(workload rate) 또는 부하율은 상기 프로세서가 수행할 수 있는 최대 작업량에 대한 상기 프로세서가 수행 중인 작업량의 비율로서 정의될 수 있다. 프로세서의 아이들율(idle rate) 또는 유휴율은 상기 프로세서가 수행할 수 있는 최대 작업량에 대한 상기 프로세서가 추가적으로 수행할 수 있는 작업량의 비율로서 정의될 수 있다. 따라서 작업 부하율과 아이들율의 합은 1이 된다. 작업 부하율은 비주기적으로 필요에 따라 일정한 시간 동안 측정될 수도 있고, 주기적으로 고정된 단위 시간 동안 검출되어 순차적으로 제공될 수도 있다.
본 명세서에서 전력 레벨은 프로세서가 전력을 소모하는 정도를 나타낸다. 즉 동일한 작업 또는 애플리케이션을 수행하는 경우에, 전력 레벨이 높을수록 소모 전력이 증가한다. 한편 프로세서의 작업 속도는 전력 레벨이 증가될수록 빨라질 수 있다. 일 실시예에서, 프로세서의 전력 레벨을 상승시키는 단계(S200) 및 프로세서 의 전력 레벨을 하강시키는 단계(S300)는, 프로세서의 동작을 위한 클록 신호의 주파수를 조절하는 단계를 포함할 수 있다. 예를 들어, 전력 레벨이 증가할수록 프로세서에 공급되는 클록 신호의 주파수가 증가할 수 있다. 일반적으로 프로세서 등의 디지털 논리 회로에서 대부분의 전력 소모는 신호가 스위칭될 때, 즉 클록 신호 등의 논리 상태가 로직 하이(logic high)에서 로직 로우(logic low)로 또는 그 반대로 천이할 때 발생한다. 결과적으로, 클록 신호의 주파수가 증가할수록 프로세서의 소모 전력은 증가하게 된다. 따라서 프로세서의 부하율에 비하여 과도하게 높은 주파수의 클록 신호 및/또는 높은 전원 전압을 프로세서에 공급하는 경우에는 전체적으로 소모 전력이 불필요하게 증가하게 된다.
일 실시예에서, 프로세서의 전력 레벨을 상승시키는 단계(S200) 및 프로세서의 전력 레벨을 하강시키는 단계(S300)는, 클록 신호의 주파수의 조절과 함께 프로세서의 동작을 위한 전원 전압을 조절하는 단계를 더 포함할 수 있다. 클록 신호의 주파수가 증가할수록 트랜지스터 등으로 구현된 소자들의 스위칭 속도를 충분히 지원할 수 있도록 높은 전원 전압이 공급될 필요가 있으며, 따라서 클록 신호의 주파수 증가에 따라 프로세서에 공급되는 전원 전압을 증가할 수 있다. 일반적으로 전원 전압이 증가할수록 소모 전력이 증가한다.
전원 전압 및 클록 신호의 주파수를 변경하는 경우에는 전압 레귤레이터 및 위상 고정 루프(PLL) 등에 의해 전압 및 주파수가 안정화되기까지 일정한 시간이 필요하다. 전압과 주파수가 불안정한 상태에서는 프로세서의 오동작이 유발될 수 있으며, 따라서, 본 발명의 일 실시예에 따른 전력 관리 방법은 상승 또는 하강된 전력 레벨이 안정화될 때까지 상기 프로세서의 동작을 중지할 수 있다.
본 발명의 일 실시예에 따른 전력 관리 방법은 DVFS(Dynamic Voltage & Frequency Scaling) 방식으로 수행된다. DVFS 방식은 프로세서의 동작 상태에 따라서 전압 및/또는 주파수를 동적으로 변화시키는 방식을 말한다. 종래의 DVFS 방식에서는 단순 계산된 작업 부하율 또는 아이들율에 기초하여 전력을 관리하였으나, 본 발명의 일 실시예에 따른 전력 관리 방법은 시간적 가중치를 적용한 히스테레시스(hysteresis) 방식으로 수행된다. 즉 전력 레벨을 상승하는 경우에는 상대적으로 짧은 상향 기준 시간 동안 프로세서의 작업 부하율을 평균한 제1 값에 기초하고, 전력 레벨을 하강하는 경우에는 상대적으로 긴 하향 기준 시간 동안 프로세서의 작업 부하율을 평균한 제2 값에 기초한다. 이하 도 2 및 도3을 참조하여 시간적 가중치를 적용한 히스테레시스 방식에 대하여 더욱 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 전력 관리 방법의 히스테레시스 방식을 설명하기 위한 도면이다.
상대적으로 낮은 전력 레벨 L(n+1)에서 상대적으로 높은 전력 레벨 L(n)로의 상승(UP)은 프로세서의 작업 부하율이 점차 증가하여 상향 기준 값(Ru)보다 크게 되는 시점에서 수행된다. 작업량에 비해 프로세서의 속도가 작은 경우에는 전력 레벨의 상승에 의해 클록 신호의 주파수를 증가시킴으로써 프로세서의 오동작 및 성능 저하를 방지할 수 있다.
이와는 반대로, 상대적으로 높은 전력 레벨 L(n)에서 상대적으로 낮은 전력 레벨 L(n+1)로의 하강(DOWN)은 프로세서의 작업 부하율이 점차 감소하여 하향 기준 값(Rd) 보다 작게 되는 시점에서 수행된다. 작업량에 비해 프로세서의 속도가 불필요하게 큰 경우에는 전력 레벨의 하강에 의해 클록 신호의 주파수를 감소시킴으로써 프로세서의 소모 전력을 감소시킬 수 있다.
히스테레시스 방식은, 도2에 도시된 바와 같이, 전력 레벨의 상승 기준이 되는 상향 기준 값(Ru)보다 전력 레벨의 하강 기준이 되는 하향 기준 값(Rd)을 작게 설정함으로써 수행된다. 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 클수록 전력 레벨은 변동 없이 더 길게 유지될 수 있고, 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 작을수록 전력 레벨의 변경은 더 빈번하게 발생한다. 다시 말해, 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 클수록 소모 전력의 절감 효과가 감소되는 대신 프로세서의 동작 안정성이 증가되는 반면, 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 작을수록 전력 레벨의 빈번한 변경에 의해 프로세서의 성능이 오히려 저하될 수 있다. 따라서 각각의 프로세서의 특성 및 소모 전력의 절감 정도를 고려하여 상향 기준 값(Ru)과 하향 기준 값(Rd)을 결정하여야 한다.
도 3은 본 발명의 일 실시예에 따른 전력 관리 방법의 시간적 가중치 적용을 설명하기 위한 도면이다.
도 3에 도시된 바와 같이, 전력 레벨의 상승을 판단하기 위한 프로세서의 현재의 동작 상태는 작업 부하율을 상향 기준 시간(Tu) 동안 평균한 제1 값(A1)에 기초하여 결정되고, 전력 레벨의 하강을 판단하기 위한 프로세서의 현재의 동작 상태는 작업 부하율을 상향 기준 시간(Tu) 보다 긴 하향 기준 시간(Td) 동안 평균한 제2 값(A2)에 기초하여 결정된다. 도 2를 참조하여 설명한 바와 같이, 제1 값(A1)이 상향 기준 값(Ru)보다 크면 전력 레벨을 상승시키고, 제2 값(A2)이 하향 기준 값(Rd)보다 작으면 전력 레벨을 하강시킨다. 여기서, 하향 기준 시간(Td)을 상향 기준 시간(Tu)보다 크게 설정하는 것은 전력 레벨의 상승 요건보다 전력 레벨의 하강 요건을 강화한다는 것을 말한다. 따라서 전력 레벨의 하강의 경우에는 시간적 가중치를 높임으로써, 프로세서의 부하율이 비교적 짧은 시간 동안 일시적으로 감소하는 경우가 발생하더라도 전력 레벨을 하강시키지 않고 유지하여 프로세서의 안정적인 동작을 보장할 수 있다.
도 3에는, 단위 기준 시간마다 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들(Ui, i=1,2,3, ...)을 순차적으로 제공하는 실시예가 도시되어 있다. 제공된 단위 부하율들(Ui, i=1,2,3, ...)은 히스토리 버퍼(10)에 순차적으로 저장될 수 있다. 히스토리 버퍼(10)는 임의의 저장 수단일 수 있으며, 예를 들어, 레지스터, 정해진 어드레스에 상응하는 메모리의 특정공간 등일 수 있다. 이 경우 제1 값(A1)은 m개의 단위 부하율들을 평균하여 (U1+U2+ ... +Um)/m 으로 계산되고, 제2 값(A2)은 m보다 큰 n개의 단위 부하율들을 평균하여 (U1+U2+ ... +Un)/n 으로 계산될 수 있다.
이와 같이, 전력 레벨의 상승보다 하강시 증가된 시간적 가중치를 적용한 히스테레시스 방식을 이용하여, 소모 전력을 절감함과 동시에 프로세서 및 이를 포함하는 장치/시스템의 성능을 안정적으로 유지할 수 있다.
도 4는 본 발명의 일 실시예에 따른 전력 관리 방법에 운용되는 전력 레벨들의 일 예를 나타내는 도면이다.
도 4에는 각 전력 레벨(L(0) 내지 L(4))에 대응되는 프로세서의 클록 신호(MCLK)의 주파수 및 전원 전압(MVDD)의 크기가 예시되어 있다. 도 4에 예시된 바와 같이, 전력 레벨은 2개 또는 3개 이상의 복수의 레벨들로 세분화될 수 있고, 도 1 내지 3을 참조하여 상기 설명한 전력 관리 방법은 각 전력 레벨을 단계적으로 상승 또는 하강시키는 방식으로 수행될 수 있다.
도 5는 동일한 애플리케이션을 수행하는 프로세서의 전력 레벨에 따른 동작 상태의 일 예를 나타내는 도면이다.
도 5에 예시한 바와 같이, 프로세서가 동일한 애플리케이션(또는 작업)을 수행하는 경우에 대하여, 프로세서가 상대적으로 높은 전력 레벨(800MHz)에서 동작하는 상태(P)에서는 전력 레벨 하강의 기초가 되는 작업 부하율을 나타내는 제2 값(A2)이 40%이고, 프로세서가 상대적으로 낮은 전력 레벨(400MHz)에서 동작하는 상태(Q)에서는 전력 레벨 상승의 기초가 되는 작업 부하율을 나타내는 제1 값(A1)은 60%이다. 만약 전력 레벨의 하강 기준이 되는 하향 기준 값(Rd)이 30%이면, A2가 Rd보다 크기 때문에 전력 레벨을 하강시킬 필요가 없다고 판단되어 프로세서의 전력 레벨은 800MHz에서 그대로 유지되고, 전력 레벨의 상승 기준이 되는 상향 기준 값(Ru)이 70%이면, A1가 Ru보다 작으므로 전력 레벨을 상승시킬 필요가 없다고 판단되어 프로세서의 레벨은 400MHz에서 유지된다. 다시 말해, 프로세서의 본래의 전력 레벨에 따라서 상대적으로 높은 전력 레벨(800MHz)이 유지될 수도 있고 상대적으로 낮은 전력 레벨(400MHz)이 유지될 수도 있다. 이와 같이, 프로세서의 작업 부하율이 비교적 장시간 안정적으로 유지되는 정적 동작 상태(static operation state)의 경우에는 전력 레벨 변경의 이력(history)에 따라서 서로 다른 전력 레벨이 선택적으로 유지될 수 있고, 이 경우 낮은 전력 레벨이 선택되는 것이 소모 전력의 절감 측면에서 유리하다.
이하 설명하는 본 발명의 일 실시예에 따른 전력 관리 방법은 상기 프로세서의 작업 부하율이 비교적 장시간 안정적으로 유지되는 정적 동작 상태의 경우에 상대적으로 낮은 전력 레벨을 선택하도록 하여 소모 전력을 더욱 절감하기 위한 것이다.
도 6은 본 발명의 다른 실시예에 따른 전력 관리 방법의 히스테레시스 방식을 설명하기 위한 도면이다.
도2를 참조하여 설명한 바와 같이, 상대적으로 낮은 전력 레벨 L(n+1)에서 상대적으로 높은 전력 레벨 L(n)로의 상승(UP)은 프로세서의 작업 부하율이 점차 증가하여 상향 기준 값(Ru)보다 크게 되는 시점에서 수행된다. 작업량에 비해 프로세서의 속도가 작은 경우에는 전력 레벨의 상승에 의해 클록 신호의 주파수를 증가시킴으로써 프로세서의 오동작 및 성능 저하를 방지할 수 있다.
이와는 반대로, 상대적으로 높은 전력 레벨 L(n)에서 상대적으로 낮은 전력 레벨 L(n+1)로의 하강(DOWN)은 프로세서의 작업 부하율이 점차 감소하여 하향 기준 값(Rd) 보다 작게 되는 시점에서 수행된다. 작업량에 비해 프로세서의 속도가 불필요하게 큰 경우에는 전력 레벨의 하강에 의해 클록 신호의 주파수를 감소시킴으로써 프로세서의 소모 전력을 감소시킬 수 있다.
상기 설명한 바와 같이, 이러한 히스테레시스 방식에서, 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 클수록 전력 레벨은 변동 없이 더 길게 유지되고, 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 작을수록 전력 레벨의 변경은 더 빈번하게 발생한다. 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 클수록 소모 전력의 절감 효과가 감소되고, 상향 기준 값(Ru)과 하향 기준 값(Rd)의 차가 작을수록 전력 레벨의 빈번한 변경에 의해 프로세서의 성능이 오히려 저하될 수 있다.
도 5에서 예시하여 설명한, 동일한 애플리케이션을 상대적으로 높은 전력 레벨(L(n))에서 수행하는 프로세서의 상태(P)와 상대적으로 낮은 전력 레벨(L(n+1))에서 수행하는 프로세서의 상태(Q)가 도 6에 도시되어 있다. 도 6을 참조하면, P상태에 상응하는 제2 값(A2)은 하향 기준 값(Rd)보다 크기 때문에 전력 레벨을 하강할 필요성이 없다고 판단되어 상대적으로 높은 전력 레벨(L(n+1))이 그대로 유지된다. 그러나 프로세서가 비교적 장시간 P상태에 머무르는 경우 전력 레벨을 하강(STATIC DOWN)시켜 Q상태로 변경하면 전력 소모의 절감 측면에서 유리하다.
도 7은 본 발명의 일 실시예에 따른 전력 관리 방법의 시간적 가중치 적용을 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 전력 레벨의 상승을 판단하기 위한 프로세서의 현재의 동작 상태는 작업 부하율을 상향 기준 시간(Tu) 동안 평균한 제1 값(A1)에 기초하여 결정되고, 전력 레벨의 하강을 판단하기 위한 프로세서의 현재의 동작 상태는 작업 부하율을 상향 기준 시간(Tu) 보다 긴 하향 기준 시간(Td) 동안 평균한 제2 값(A2)에 기초하여 결정된다. 제1 값(A1)이 상향 기준 값(Ru)보다 크면 전력 레벨을 상승시키고, 제2 값(A2)이 하향 기준 값(Rd)보다 작으면 전력 레벨을 하강시 키는 것은 전술한 도1 내지 도3의 실시예와 동일하다.
도 6 및 도 7의 실시예에 따른 전력 관리 방법은, 검출된 작업 부하율을 하향 기준 시간(Td)보다 긴 정적 기준 시간(Ts) 동안 평균한 제3 값(A3)에 기초하여 프로세서의 전력 레벨을 하강시키는 단계(STATIC DOWN)를 더 포함한다. 제3 값(A3)이 정적 기준 값(Rs)보다 작은 경우 프로세서의 전력 레벨을 하강시키고, 정적 기준 값(Rs)은 하향 기준 값(Rd)보다 크도록 설정될 수 있다.
도 6을 참조하면, 프로세서가 상대적으로 높은 전력 레벨(L(n))에서 비교적 장시간 P상태에서 안정적으로 동작하고 있는 경우 하향 기준 시간(Td) 동안의 평균 작업 부하율에 상응하는 제2 값(A2)과 하향 기준 시간(Td)보다 긴 정적 기준 시간(Ts) 동안의 평균 작업 부하율에 상응하는 제3 값(A3)은 실질적으로 동일하다. 이 경우, 동적 기준에 의해서는 제2 값(A2)이 하향 기준 값(Rd)보다 작으므로 전력 레벨을 하강할 필요가 없다고 판단되지만, 정적 기준에 의해서는 제3 값(A3)이 정적 기준 값(Rs)보다 작으므로 전력 레벨을 하강할 필요가 있다고 판단되어 전력 레벨을 하강시키고, 결과적으로 프로세서는 전력 레벨이 상대적으로 낮은 Q상태에서 동작하게 되어 소모 전력을 더욱 절감할 수 있다.
도 7에는, 단위 기준 시간마다 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들(Ui, i=1,2,3, ...)을 순차적으로 제공하는 실시예가 도시되어 있다. 제공된 단위 부하율들(Ui, i=1,2,3, ...)은 히스토리 버퍼(10)에 순차적으로 저장되며, 히스토리 버퍼(10)는 레지스터, 메모리의 특정 공간 등의 임의의 저장 장치일 수 있다. 이 경우 제1 값(A1)은 m개의 단위 부하율들을 평균하여 (U1+U2+ ... +Um)/m 으로 계산되고, 제2 값(A2)은 m보다 큰 n개의 단위 부하율들을 평균하여 (U1+U2+ ... +Un)/n 으로 계산되며, 제3 값(A3)은 n보다 큰 k개의 단위 부하율들을 평균하여 (U1+U2+ ... +Uk)/k 으로 계산될 수 있다.
이와 같이, 전력 레벨의 상승보다 하강시 증가된 시간적 가중치를 적용할 뿐만 아니라, 프로세서가 비교적 안정적으로 동작하는 경우에 전력 레벨을 하강시키기 위한 정적 기준을 적용하여 소모 전력을 더욱 절감하고, 프로세서 및 이를 포함하는 장치/시스템의 성능을 안정적으로 유지할 수 있다.
도 8은 본 발명의 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 8을 참조하면, 단위 기준 시간마다 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들(Ui, i=1, 2, 3, ...)을 순차적으로 제공한다(단계 S110). 이 경우, 도 1에 도시된 제1 값(A1)에 기초하여 프로세서의 전력 레벨을 상승시키는 단계(S200)는, m개의 단위 부하율들(U1, U2, ..., Um)을 평균하여 제1 값(A1)을 계산하는 단계(S210) 및 제1 값(A1)이 상향 기준 값(Ru)보다 큰 경우(단계 S220: 예) 프로세서의 전력 레벨을 상승시키는 단계(S230)를 포함할 수 있다. 이와 유사하게, 도 1에 도시된 제2 값(A2)에 기초하여 프로세서의 전력 레벨을 하강시키는 단계(S300)는, m보다 큰 n개의 단위 부하율들(U1, U2, ..., Un)을 평균하여 제2 값(A2)을 계산하는 단계(S310) 및 제2 값(A2)이 하향 기준 값(Rd)보다 작은 경우(단계 S320: 예) 프로세서의 전력 레벨을 하강시키는 단계(S330)를 포함할 수 있다.
도 5 내지 도 7을 참조하여 설명한 바와 같이, 본 발명의 실시예에 따른 전 력 관리 방법은, n보다 큰 k개의 단위 부하율들U1, U2, ..., Uk)을 평균하여 제3 값(A3)을 계산하는 단계(S410), 및 제3 값(A3)이 정적 기준 값(Rs)보다 작은 경우(단계 S420: 예) 프로세서의 전력 레벨을 하강시키는 단계(S330)를 더 포함할 수 있다. 정적 기준 값(Rs)은 하향 기준 값(Rd)보다 큰 값으로 설정된다.
상기 설명한 일련의 단계들은 i를 증가하고(단계 S500) 반복될 수 있다. 여기서 i를 증가한다는 것은 새로이 입력된 단위 부하율이 U1이 되고 종전의 U1은 U2가 되는 것과 같이 Uj가 Uj+1로 대체되는 것을 나타낸다. 도 13을 참조하여 후술하는 바와 같이, 예를 들어, i의 증가는 단위 부하율들이 순차적으로 입력되는 쉬프트 레지스터를 이용하여 수행될 수 있다. 일 실시예에서, 가장 최근의 단위 부하율은 일정한 단위 기준 시간마다 제공될 수 있고, 상기 설명한 일련의 단계들은 하나의 단위 부하율에 상응하는 단위 기준 시간마다 반복될 수 있다.
도 8에 도시하지는 않았지만, 일 실시예에서, 사용자의 입력을 포함하는 특정한 이벤트가 발생한 경우에 프로세서의 전력 레벨을 최고 레벨로 상승시킬 수 있다. 즉, 이벤트 핸들러 등에 의해 사용자로부터 키보드, 터치 패드 등을 통한 입력 행위가 있었다는 신호를 수신하는 경우에 전력 레벨을 최고 레벨로 즉시 상승시킴으로서 사용자가 느끼는 장치의 성능을 향상시킬 수 있다.
도 9는 본 발명의 일 실시예에 따른 전력 관리 방법의 시간적 가중치 적용을 설명하기 위한 도면이다.
도 9에 도시된 바와 같이, 전력 레벨의 상승을 판단하기 위한 프로세서의 현재의 동작 상태는 작업 부하율을 상향 기준 시간(Tu) 동안 평균한 제1 값(A1)에 기 초하여 결정되고, 전력 레벨의 하강을 판단하기 위한 프로세서의 현재의 동작 상태는 작업 부하율을 상향 기준 시간(Tu) 보다 긴 하향 기준 시간(Td) 동안 평균한 제2 값(A2)에 기초하여 결정된다. 제1 값(A1)이 상향 기준 값(Ru)보다 크면 전력 레벨을 상승시키고, 제2 값(A2)이 하향 기준 값(Rd)보다 작으면 전력 레벨을 하강시키는 것은 전술한 도1 내지 도3의 실시예와 동일하다.
도 6 및 도 7을 참조하여 설명한 바와 마찬가지로, 도 9의 실시예에 따른 전력 관리 방법은 검출된 작업 부하율을 하향 기준 시간(Td)보다 긴 정적 기준 시간(Ts) 동안 평균한 제3 값(A3)에 기초하여 프로세서의 전력 레벨을 하강시키는 단계(STATIC DOWN)를 더 포함할 수 있다. 제3 값(A3)이 정적 기준 값(Rs)보다 작은 경우 프로세서의 전력 레벨을 하강시키고, 정적 기준 값(Rs)은 하향 기준 값(Rd)보다 크도록 설정될 수 있다.
도 6을 참조하여 설명한 바와 같이, 프로세서가 상대적으로 높은 전력 레벨(L(n))에서 비교적 장시간 P상태에서 안정적으로 동작하고 있는 경우 하향 기준 시간(Td) 동안의 평균 작업 부하율에 상응하는 제2 값(A2)과 이보다 긴 정적 기준 시간(Ts) 동안의 평균 작업 부하율에 상응하는 제3 값(A3)은 실질적으로 동일하다. 이 경우, 동적 기준에 의해서는 제2 값(A2)이 하향 기준 값(Rd)보다 크므로 전력 레벨을 하강할 필요가 없다고 판단되지만, 정적 기준에 의해서는 제3 값(A3)이 정적 기준 값(Rs)보다 작으므로 전력 레벨을 하강할 필요가 있다고 판단되어 전력 레벨을 하강시키고, 결과적으로 프로세서는 전력 레벨이상대적으로 낮은 Q상태에서 동작하게 되어 소모 전력을 더욱 절감할 수 있다.
도 9에는, 단위 기준 시간마다 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들(Ui, i=1,2,3, ...)을 순차적으로 제공하는 실시예가 도시되어 있다. 제공된 단위 부하율들(Ui, i=1,2,3, ...)은 히스토리 버퍼(10)에 순차적으로 저장되며, 히스토리 버퍼(10)는 레지스터, 메모리의 특정 공간 등의 임의의 저장 장치일 수 있다.
도 7의 실시예에서, 단위 부하율들을 단순히 평균하여 제1 값(A1), 제2 값(A2) 및 제3 값(A3)을 계산하는 것과는 다르게, 도 9의 실시예에서는 복수의 단위 부하율(Ui, i=1, 2, 3, )들의 각각에 서로 다른 가중치(Xi, i=1, 2, 3, )를 곱한 값들(XiUi)을 평균하여 제1 값(A1), 제2 값(A2) 및 제3 값(A3)을 계산한다. 예를 들어, 복수의 단위 부하율들 중 최근의 작업 부하율을 나타내는 단위 부하율일수록 더 큰 가중치를 곱하고, 이 곱한 값들을 평균하여 제1 값(A1), 제2 값(A2) 및 제3 값(A3)을 계산할 수 있다. 즉, Xi>Xi+1의 관계를 만족하도록 Xi들이 설정될 수 있다. 프로세서의 최근의 동작 상태를 나타내는 단위 부하율일수록 더 큰 가중치를 적용함으로써 프로세서의 현재 동작 상태를 더욱 정밀하게 판단할 수 있다.
도 9의 실시예에서, 제1 값(A1)은 m개의 단위 부하율들의 각각에 가중치를 곱한 값들을 평균하여 (X1U1+X2U2+ ... +XmUm)/(X1+X2+ ... +Xm) 으로 계산되고, 제2 값(A2)은 m보다 큰 n개의 단위 부하율들의 각각에 가중치를 곱한 값들을 평균하여 (X1U1+X2U2+ ... +XmUm)/(X1+X2+ ... +Xm) 으로 계산되며, 제3 값(A3)은 n보다 큰 k개의 단위 부하율들을 평균하여 (X1U1+X2U2+ ... +XmUm)/(X1+X2+ ... +Xm)으로 계산될 수 있다.
이와 같이, 전력 레벨의 상승보다 하강시 증가된 시간적 가중치를 적용하고 프로세서가 비교적 안정적으로 동작하는 경우에 전력 레벨을 하강시키기 위한 정적 기준을 적용할 뿐만 아니라, 최근의 작업 부하율일수록 더 큰 가중치를 적용함으로써, 소모 전력을 더욱 절감하고, 프로세서 및 이를 포함하는 장치/시스템의 성능을 안정적으로 유지할 수 있다.
도 10은 본 발명의 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 10을 참조하면, 단위 기준 시간마다 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들(Ui, i=1, 2, 3, ...)을 순차적으로 제공한다(단계 S111). 이 경우, 도 1에 도시된 제1 값(A1)에 기초하여 프로세서의 전력 레벨을 상승시키는 단계(S200)는, m개의 단위 부하율들(U1, U2, ..., Um)에 서로 다른 가중치(X1, X2, ..., Xm)를 곱한 값들(X1U1, X2U2, ..., XmUm)을 평균하여 제1 값(A1)을 계산하는 단계(S211) 및 제1 값(A1)이 상향 기준 값(Ru)보다 큰 경우(단계 S221: 예) 프로세서의 전력 레벨을 상승시키는 단계(S231)를 포함할 수 있다. 이와 유사하게, 도 1에 도시된 제2 값(A2)에 기초하여 프로세서의 전력 레벨을 하강시키는 단계(S300)는, m보다 큰 n개의 단위 부하율들(U1, U2, ..., Un)에 서로 다른 가중치(X1, X2, ..., Xn)를 곱한 값들(X1U1, X2U2, ..., XnUn)을 평균하여 제2 값(A2)을 계산하는 단계(S311) 및 제2 값(A2)이 하향 기준 값(Rd)보다 작은 경우(단계 S321: 예) 프로세서의 전력 레벨을 하강시키는 단계(S331)를 포함할 수 있다.
도 5 내지 도 7을 참조하여 설명한 바와 같이, 본 발명의 일 실시예에 따른 전력 관리 방법은, n보다 큰 k개의 단위 부하율들(U1, U2, ..., Uk)에 서로 다른 가중치(X1, X2, ..., Xk)를 곱한 값들(X1U1,X2U2, ..., XkUk)을 평균하여 제3 값(A3)을 계산하는 단계(S411), 및 제3 값(A3)이 정적 기준 값(Rs)보다 작은 경우(단계 S421: 예) 프로세서의 전력 레벨을 하강시키는 단계(S331)를 더 포함할 수 있다. 정적 기준 값(Rs)은 하향 기준 값(Rd)보다 큰 값으로 설정된다.
도 11은 본 발명의 일 실시예에 따른 전력 관리를 수행하는 장치를 나타내는 블록도이다.
도 11을 참조하면, 장치(1000)는 프로세서(100), 부하 검출기(200), 전력 관리부(300), 전압 제어부(400) 및 클록 제어부(500)를 포함한다. 도 11에 도시하지는 않았지만, 장치(1000)는 키보드, 터치 패드 등의 입력 장치, 디스플레이, 스피커 등의 출력 장치, 메모리, 인터페이스, 내장용 배터리, 그 밖의 주변 장치들을 포함할 수 있다.
프로세서(100)는 중앙 처리 유닛(CPU), 디지털 신호 처리기(DSP), 마이크로 콘트롤러, 메모리 컨트롤러 등일 수 있으며, 클록 신호에 응답하여 연산 등의 작업을 수행하는 임의의 처리기일 수 있다.
부하 검출기(200)는 프로세서의 동작 상태를 모니터링하여 작업 부하율을 검출한다. 예를 들어, 부하 검출기(200)는 단위 기준 시간마다 프로세서(100)의 작업 부하율을 검출하여 복수의 단위 부하율들(Ui)을 순차적으로 제공할 수 있다. 부하 검출기(200)는 프로세서(100)의 작업 부하율(workload rate) 또는 아이들율(idle rate)을 제공하기 위하여 다양한 방식으로 구현될 수 있다.
전력 관리부(300)는 부하 검출기로부터 제공되는 부하율 정보를 수신하고 프로세서의 전력 레벨을 나타내는 레벨 제어 신호(LCTR)를 제공한다. 전력 관리부(300)는 검출된 작업 부하율을 상향 기준 시간 동안 평균한 제1 값에 기초하여 프로세서의 전력 레벨을 상승시키고, 검출된 작업 부하율을 상기 상향 기준 시간보다 긴 하향 기준 시간 동안 평균한 제2 값에 기초하여 프로세서의 전력 레벨을 하강시키도록 레벨 제어 신호(LCTR)를 조절한다.
전력 관리부(300)는 도1 내지 도8을 참조하여 설명한 전력 관리 방법을 수행하기 위하여 별개의 하드웨어로 구현되는 물리적인 구성 요소일 수도 있고 다른 구성 요소에 적어도 일부분이 통합될 수도 있다. 예를 들어, 전력 관리부(300)는 프로세서(100)의 일부일 수도 있고 프로세서(100) 내에서 하드웨어 또는 소프트웨어로서 구현될 수도 있다. 전력 관리부(300)의 적어도 일부가 소프트웨어로서 구현되는 경우에, 실행가능한 코드의 형태로 메모리에 저장되고 저장된 코드가 프로세서(100) 등에 의해 수행됨으로써 본 발명의 실시예에 따른 전력 관리 방법이 수행될 수 있다. 전력 관리부(300)에 상응하는 프로그램이 프로세서(100)의 운영 체제(OS; Operating System)의 통제 하에 실행되는 경우에는 운영 체제에 의해 호출되는 서브루틴의 형식으로 구현될 수 있다.
전압 제어부(400)는 레벨 제어 신호(LCTR)에 응답하여 이에 상응하는 전력 레벨에 따른 전압(MVDD)을 발생하여 프로세서(100)에 제공한다. 클록 제어부(500)는 레벨 제어 신호(LCTR)에 응답하여 이에 상응하는 전력 레벨에 따른 주파수를 갖는 클록 신호(MCLK)를 발생하여 프로세서(100)에 제공한다.
도 12는 도 11의 장치에 포함된 전력 관리부의 일 예를 나타내는 블록도이다.
도 12를 참조하면, 전력 관리부(300)는 계산부(320), 비교부(340) 및 상태 머신(360)을 포함하여 구현될 수 있다.
계산부(320)는 부하 검출기로부터 제공되는 부하율 정보(Ui)를 수신하고 상기 전술한 실시예들에 따라서 제1 값(A1), 제2 값(A2) 및 제3 값(A3)을 계산하여 출력한다. 비교부(340)는 제1 값(A1), 제2 값(A2) 및 제3 값(A3)을 상향 기준 값(Ru), 하향 기준 값(Rd) 및 정적 기준 값(Rs)과 각각 비교하여 전력 레벨의 상승 또는 하강 여부를 나타내는 비교 신호(CMP)를 발생한다. 비교 신호(CMP)는 상태 머신(360)에 저장되고 상태 머신(360)은 도 11의 전압 제어부(400) 및/또는 클록 제어부(500)에 연결되어 레벨 제어 신호(LCTR)를 제공할 수 있다. 상태 머신(360)은 프로세서(100) 내부 또는 외부의 레지스터일 수 있다. 실시예에 따라서, 상태 머신(360)은 생략 가능하고, 비교 신호(CMP)가 직접 전압 제어부(400) 및/또는 클록 제어부(500)에 레벨 제어 신호로서 제공될 수도 있다.
도 13은 도 11의 전력 관리부에 포함된 계산부의 일 예를 나타내는 회로도이다.
도 13을 참조하면, 계산부(320)는 히스토리 버퍼(30), 증폭부(50), 가산부(70) 및 제산부(90)를 포함하여 구현될 수 있다. 부하율 정보(Ui)는 단위 기준 시간마다 프로세서(100)의 작업 부하율을 검출하여 순차적으로 제공되는 단위 부하율들(U1, U2, )일 수 있다.
전술한 바와 같이, 히스토리 버퍼(30)는 임의의 저장 수단일 수 있으며, 예를 들어, 레지스터, 정해진 어드레스에 상응하는 메모리의 특정공간 등일 수 있다. 히스토리 버퍼(30)는 전단으로부터 출력되는 단위 부하율(Uj)을 저장하고 일정한 지연 시간 경과 후에 다음 순번의 단위 부하율(Uj+1)로서 후단으로 출력하는 직렬 연결된 복수의 지연기들(31 내지 35)을 포함할 수 있다. 예를 들어, 지연기들(31 내지 35)은 래치(latch)들로 구현될 수 있으며, 이 경우 히스토리 버퍼(30)는 쉬프트 레지스터로서의 기능을 수행한다.
증폭부(50)는 각 단의 단위 부하율들을 증폭하여 출력하는 복수의 증폭기들(51 내지 56)을 포함하여 구현될 수 있다. 증폭기들(51 내지 56)의 이득(gain)은 도 10을 참조하여 설명한 가중치(Xi)에 상응할 수 있다.
도 10의 실시예에 따른 전력 관리 방법을 수행하는 경우에는 증폭기들(51 내지 56)의 이득은 서로 다르게 설정될 수 있다. 예를 들어, 최근의 작업 부하율을 나타내는 단위 부하율일수록 더 큰 가중치를 적용하기 위하여, Xi>Xi+1의 관계를 만족하도록 증폭기들(51 내지 56)의 이득이 설정될 수 있다. 다시 말해, 도 13에서 첫 번째 증폭기(51)의 이득(X1)이 가장 크고, 후단으로 갈수록 이득이 점차 감소하여 마지막 증폭기(56)의 이득(Xk)이 가장 작도록 설정될 수 있다.
가산부(70)는 전단의 출력과 각 증폭기의 출력을 합산하여 출력하는 복수의 덧셈기들(71 내지 75)을 포함하여 구현될 수 있다. 결과적으로 각 덧셈기는 전단의 증폭기들의 출력을 모두 합산하는 기능을 수행한다. 예를 들어, m번째 증폭기(53)의 출력을 수신하는 덧셈기(72)는 (SmA1=X1U1+X2U2+ +XmUm)의 값을 출력한다.
제산부(90)는 덧셈기의 출력을 상응하는 이득의 합(Sm, Sn, Sk)으로 나누어 출력하는 나눗셈기들(91, 92, 93)을 포함하여 구현될 수 있다. 도 13에서, 제1 나눗셈기는 m개의 단위 부하율들을 가중치를 적용하면서 평균하여 제1 값(A1)을 출력한다. 마찬가지 방식으로 제2 나눗셈기(92)는 제2 값(A2)을 출력하고, 제3 나눗셈기(93)는 제3 값(A3)을 출력한다.
각 나눗셈기(91, 92, 93)가 몇 번째 덧셈기의 출력에 연결되는가는 전술한 상향 기준 시간(Tu), 하향 기준 시간(Td) 및 정적 기준 시간(Ts)의 설정과 관련된다. 단위 부하율이 제공되는 간격에 해당하는 단위 기준 시간을 t라고 하면, 도 13에서 Tu=tm, Td=tn, Ts=tk의 관계를 만족한다.
도 8의 실시예에 따른 전력 관리 방법을 수행하는 경우에는, 가중치의 적용 없이 단위 부하율들을 단순히 평균할 수 있도록 증폭기들(51 내지 56)이 생략되거나 증폭기들(51 내지 56)의 이득이 모두 같도록 설정될 수 있다.
도 14는 본 발명의 일 실시예에 따른 전력 관리 방법의 전력 레벨 변경의 일 예를 설명하기 위한 도면이다.
도 14를 참조하면, 전압 제어부(400)는 기준 전압 발생기(410) 및 레귤레이터(420)를 포함하여 구현될 수 있다. 이 경우, 전력 관리부(300)로부터 제공된 레벨 제어 신호(LCTR)는 기준 전압 발생기(410)로 입력되고, 기준 전압 발생기(410)는 레벨 제어 신호(LCTR)에 상응하도록 기준 전압을 조절하여 레귤레이터(420)에 제공할 수 있다. 레귤레이터(420)는 상기 조절된 기준 전압과 피드백되는 출력 전원 전압(MVDD)을 비교하여 레벨 제어 신호(LCTR)에 상응하는 크기의 출력 전원 전압(MVDD)을 프로세서(100)에 제공한다.
클록 제어부(500)는 도 14에 도시된 바와 같이 위상 고정 루프(PLL)의 형태로 구현될 수 있다. 이 경우, 전력 관리부(300)로부터 제공된 레벨 제어 신호(LCTR)는 주파수 분주기(550)로 입력되고, 주파수 분주기(550)는 레벨 제어 신호(LCTR)에 상응하는 분주비에 의해 출력 클록 신호(MCLK)를 분주하여 출력한다. 위상/주파수 검출기(510)는 기준 클록 신호(RCLK)와 분주된 클록 신호를 비교하여 업/다운 신호를 발생하고, 차지 펌프(520)는 업/다운 신호에 기초하여 제어 전압을 발생한다. 전압-제어 발진기(540)는 루프필터(530)에 의해 필터링된 제어 전압에 응답하여 출력 클록 신호(MCLK)를 발생하여 프로세서(100)에 제공한다.
이와 같이, 전력 레벨을 나타내는 레벨 제어 신호(LCTR)를 이용하여 기준 전압 발생기(410)의 출력 및/또는 분주기(550)의 분주비를 조절하는 방식으로 프로세서(100)에 제공되는 전원 전압(MVDD) 및/또는 클록 신호(MCLK)의 주파수를 조절할 수 있으나, 이는 예시적인 것으로서 본 발명의 범위를 한정하는 것은 아님을 유의하여야 한다.
본 발명은 클록 신호에 응답하여 동작하는 프로세서를 포함하는 임의의 장치 및 시스템에서, 장치 및 시스템의 성능을 안정적으로 유지하면서 소모 전력을 절감하도록 유용하게 이용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으 로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
도 1은 본 발명의 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 전력 관리 방법의 히스테레시스 방식을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 전력 관리 방법의 시간적 가중치 적용을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 전력 관리 방법에 운용되는 전력 레벨들의 일 예를 나타내는 도면이다.
도 5는 동일한 애플리케이션을 수행하는 프로세서의 전력 레벨에 따른 동작 상태의 일 예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 전력 관리 방법의 히스테레시스 방식을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 전력 관리 방법의 시간적 가중치 적용을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 전력 관리 방법의 시간적 가중치 적용을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 전력 관리 방법을 나타내는 순서도이다.
도 11은 본 발명의 일 실시예에 따른 전력 관리를 수행하는 장치를 나타내는 블록도이다.
도 12는 도 11의 장치에 포함된 전력 관리부의 일 예를 나타내는 블록도이다.
도 13은 도 12의 전력 관리부에 포함된 계산부의 일 예를 나타내는 회로도이다.
도 14는 본 발명의 일 실시예에 따른 전력 관리 방법의 전력 레벨 변경의 일 예를 설명하기 위한 도면이다.
<도면의 주요부분에 대한 부호의 설명>
Tu: 상향 기준 시간 Td: 하향 기준 시간
Ts: 정적 기준 시간 Ui: 단위 부하율
A1: 제1 값 A2: 제2 값
A3: 제3 값 Ru: 상향 기준 값
Rd: 하향 기준 값 Rs: 정적 기준 값

Claims (13)

  1. 프로세서의 작업 부하율을 검출하는 단계;
    상기 검출된 작업 부하율을 상향 기준 시간 동안 평균한 제1 값에 기초하여 상기 프로세서의 전력 레벨을 상승시키는 단계;
    상기 검출된 작업 부하율을 상기 상향 기준 시간보다 긴 하향 기준 시간 동안 평균한 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계; 및
    상기 검출된 작업 부하율을 상기 하향 기준 시간보다 긴 정적 기준 시간 동안 평균한 제3 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함하는 전력 관리 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1 항에 있어서,
    상기 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계는 상기 제2 값이 하향 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함하고,
    상기 제3 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계는 상기 제3 값이 정적 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함하고,
    상기 정적 기준 값은 상기 하향 기준 값보다 큰 것을 특징으로 하는 전력 관리 방법.
  6. 제1 항에 있어서,
    상기 상승 또는 하강된 전력 레벨이 안정화될 때까지 상기 프로세서의 동작을 중지하는 단계를 더 포함하는 것을 특징으로 하는 전력 관리 방법.
  7. 제1 항에 있어서, 상기 프로세서의 작업 부하율을 검출하는 단계는,
    단위 기준 시간마다 상기 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들을 순차적으로 제공하는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
  8. 프로세서의 작업 부하율을 검출하는 단계;
    상기 검출된 작업 부하율을 상향 기준 시간 동안 평균한 제1 값에 기초하여 상기 프로세서의 전력 레벨을 상승시키는 단계; 및
    상기 검출된 작업 부하율을 상기 상향 기준 시간보다 긴 하향 기준 시간 동안 평균한 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함하고,
    상기 프로세서의 작업 부하율을 검출하는 단계는, 단위 기준 시간마다 상기 프로세서의 작업 부하율을 검출하여 복수의 단위 부하율들을 순차적으로 제공하는 단계를 포함하고,
    상기 제1 값에 기초하여 상기 프로세서의 전력 레벨을 상승시키는 단계는, m개의 상기 단위 부하율들을 평균하여 상기 제1 값을 계산하는 단계 및 상기 제1 값이 상향 기준 값보다 큰 경우 상기 프로세서의 전력 레벨을 상승시키는 단계를 포함하고,
    상기 제2 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계는, 상기 m보다 큰 n개의 상기 단위 부하율들을 평균하여 상기 제2 값을 계산하는 단계 및 상기 제2 값이 하향 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 포함하는 것을 특징으로 하는 전력 관리 방법.
  9. 제8 항에 있어서,
    상기 n보다 큰 k개의 상기 단위 부하율들을 평균하여 제3 값을 계산하는 단계; 및
    상기 제3 값이 정적 기준 값보다 작은 경우 상기 프로세서의 전력 레벨을 하강시키는 단계를 더 포함하고,
    상기 정적 기준 값은 상기 하향 기준 값보다 큰 것을 특징으로 하는 전력 관리 방법.
  10. 제8 항에 있어서,
    상기 복수의 단위 부하율들의 각각에 서로 다른 가중치를 곱한 값들을 평균하여 상기 제1 값 및 상기 제2 값을 계산하는 것을 특징으로 하는 전력 관리 방법.
  11. 제10 항에 있어서,
    상기 복수의 단위 부하율들 중 최근의 작업 부하율을 나타내는 단위 부하율일수록 더 큰 가중치를 곱하는 것을 특징으로 하는 전력 관리 방법.
  12. 제10 항에 있어서,
    상기 하향 기준 시간보다 긴 정적 기준 시간 동안 평균한 제3 값에 기초하여 상기 프로세서의 전력 레벨을 하강시키는 단계를 더 포함하고,
    상기 복수의 단위 부하율들의 각각에 서로 다른 가중치를 곱한 값들을 평균하여 상기 제3 값을 계산하는 것을 특징으로 하는 전력 관리 방법.
  13. 삭제
KR1020090043884A 2009-05-20 2009-05-20 전력 관리 방법 Active KR101533572B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090043884A KR101533572B1 (ko) 2009-05-20 2009-05-20 전력 관리 방법
US12/662,106 US8245057B2 (en) 2009-05-20 2010-03-31 Method of power management for dynamically controlling power in a processor in according to a workload rate of the processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090043884A KR101533572B1 (ko) 2009-05-20 2009-05-20 전력 관리 방법

Publications (2)

Publication Number Publication Date
KR20100124928A KR20100124928A (ko) 2010-11-30
KR101533572B1 true KR101533572B1 (ko) 2015-07-03

Family

ID=43125357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090043884A Active KR101533572B1 (ko) 2009-05-20 2009-05-20 전력 관리 방법

Country Status (2)

Country Link
US (1) US8245057B2 (ko)
KR (1) KR101533572B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596709B2 (en) * 2000-12-30 2009-09-29 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
WO2009138953A1 (en) * 2008-05-13 2009-11-19 Nxp B.V. Power manager and method for managing power
JP2011090577A (ja) * 2009-10-23 2011-05-06 Fujitsu Ltd 記憶装置、記憶システムおよび記憶装置起動方法
KR101617377B1 (ko) 2009-11-06 2016-05-02 삼성전자주식회사 동적 전압 주파수 스케일링 방법
US8671413B2 (en) * 2010-01-11 2014-03-11 Qualcomm Incorporated System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
US20140006835A1 (en) * 2011-03-16 2014-01-02 Nec Corporation Processing device and control method for same
US8806243B2 (en) * 2011-12-28 2014-08-12 Intel Corporation Method of and apparatus for energy savings associated with a graphics core
KR20130110459A (ko) * 2012-03-29 2013-10-10 삼성전자주식회사 시스템-온 칩, 이를 포함하는 전자 시스템 및 그 제어 방법
US9213381B2 (en) * 2012-05-24 2015-12-15 Ati Technologies Ulc Voltage regulator dynamically determining whether requested power transition can be supported
CN102819313B (zh) * 2012-07-17 2015-05-06 腾讯科技(深圳)有限公司 终端设备的运行方法和终端设备
EP2725450A4 (en) * 2012-08-30 2015-07-08 Huawei Device Co Ltd METHOD AND DEVICE FOR CONTROLLING A CENTRAL UNIT
JP6042217B2 (ja) * 2013-01-28 2016-12-14 ルネサスエレクトロニクス株式会社 半導体装置、電子装置、及び半導体装置の制御方法
US9170642B2 (en) * 2013-03-21 2015-10-27 Applied Micro Circuits Corporation Dynamic power control
KR20150085642A (ko) * 2014-01-16 2015-07-24 삼성전자주식회사 전원 공급 장치, 이를 포함하는 전자 장치 및 전원 공급 방법
US9489031B2 (en) * 2014-03-10 2016-11-08 Apple Inc. Method to reduce acoustic noise induced by processor performance state changes in response to periodic application workloads
US20160011623A1 (en) * 2014-07-09 2016-01-14 Intel Corporation Processor state control based on detection of producer/consumer workload serialization
US10365700B2 (en) 2015-11-27 2019-07-30 Samsung Electronics Co., Ltd. System and method of managing context-aware resource hotplug
KR20170124017A (ko) 2016-04-29 2017-11-09 삼성전자주식회사 동작 전압을 조절하는 메모리 장치, 메모리 장치를 제어하는 어플리케이션 프로세서 및 메모리 장치의 동작방법
US10649518B2 (en) * 2017-01-26 2020-05-12 Ati Technologies Ulc Adaptive power control loop
US10416692B2 (en) 2017-09-19 2019-09-17 Apple Inc. Method and apparatus for reducing capacitor-induced noise
CN112015259B (zh) * 2019-05-29 2022-06-21 芯原微电子(上海)股份有限公司 控制峰值功耗的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109729A (ja) * 1999-10-12 2001-04-20 Nec Corp マルチプロセッサシステムにおける消費電力制御装置および方法
KR20030085010A (ko) * 2001-03-19 2003-11-01 인텔 코오퍼레이션 다중 성능 상태 가능한 마이크로프로세서 상의 천이점판정 방법
KR20070003989A (ko) * 2004-03-30 2007-01-05 인텔 코오퍼레이션 프로세서의 동작점에 대한 조정을 요청함에 의한 전력 소비관리
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928559B1 (en) * 1997-06-27 2005-08-09 Broadcom Corporation Battery powered device with dynamic power and performance management
US6425086B1 (en) 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
US6895520B1 (en) * 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US20030061523A1 (en) * 2001-09-25 2003-03-27 Stanley Randy P. Method and apparatus to provide a user priority mode
TW546931B (en) * 2002-04-03 2003-08-11 Via Tech Inc Method and relevant device for reducing power consumption of network connecting system
US7505795B1 (en) 2004-07-07 2009-03-17 Advanced Micro Devices, Inc. Power save management with customized range for user configuration and tuning value based upon recent usage
WO2006056824A2 (en) * 2004-09-10 2006-06-01 Freescale Semiconductor, Inc. Apparatus and method for controlling voltage and frequency
US7900069B2 (en) 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
US8171319B2 (en) * 2009-04-16 2012-05-01 International Business Machines Corporation Managing processor power-performance states

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109729A (ja) * 1999-10-12 2001-04-20 Nec Corp マルチプロセッサシステムにおける消費電力制御装置および方法
KR20030085010A (ko) * 2001-03-19 2003-11-01 인텔 코오퍼레이션 다중 성능 상태 가능한 마이크로프로세서 상의 천이점판정 방법
KR20070003989A (ko) * 2004-03-30 2007-01-05 인텔 코오퍼레이션 프로세서의 동작점에 대한 조정을 요청함에 의한 전력 소비관리
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)

Also Published As

Publication number Publication date
US8245057B2 (en) 2012-08-14
KR20100124928A (ko) 2010-11-30
US20100299545A1 (en) 2010-11-25

Similar Documents

Publication Publication Date Title
KR101533572B1 (ko) 전력 관리 방법
KR101617377B1 (ko) 동적 전압 주파수 스케일링 방법
KR100960163B1 (ko) 프로세서 부하에 기반한 동적 클록 주파수 조정
US20110078477A1 (en) Power management method for electronic device
US8621246B2 (en) Power management system and method to provide supply voltage to a load
KR101832821B1 (ko) 동적 전압 주파수 스케일링 방법, 어플리케이션 프로세서 및 이를 구비하는 모바일 기기
US7437580B2 (en) Dynamic voltage scaling system
US20090049314A1 (en) Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
US8181049B2 (en) Method for controlling a frequency of a clock signal to control power consumption and a device having power consumption capabilities
KR20160025145A (ko) 전원 관리 칩, 그것을 포함하는 모바일 장치 및 그것의 클록 조절 방법
US8769322B2 (en) Method for adjusting clock frequency of a processing unit of a computer system and related device
KR20120095507A (ko) 멀티코어 프로세서의 핫 플러깅 방법 및 멀티코어 프로세서 시스템
US10410688B2 (en) Managing power state in one power domain based on power states in another power domain
KR20120124528A (ko) 전압 컨버터 및 이를 포함하는 전력 관리 장치
US20030023890A1 (en) Method for reducing current consumption in a mobile communication terminal
KR20230097002A (ko) 2-스테이지 동적 전원 전압 조정
KR101263579B1 (ko) 전자 장치, 전력 제어 방법 및 전력 관리 장치
JP5353508B2 (ja) 電力制御装置及びプログラム
CN117413237A (zh) 用于联动电压调节器的负载均衡架构
CN119200796A (zh) 功能单元的控制方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20090520

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20140507

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20090520

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20150112

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20150401

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20150629

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20150629

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20180601

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20190530

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20200529

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20210528

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20220525

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20240527

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20250522

Start annual number: 11

End annual number: 11