KR101087429B1 - Platform power management based on latency guidance - Google Patents

Platform power management based on latency guidance Download PDF

Info

Publication number
KR101087429B1
KR101087429B1 KR1020090027647A KR20090027647A KR101087429B1 KR 101087429 B1 KR101087429 B1 KR 101087429B1 KR 1020090027647 A KR1020090027647 A KR 1020090027647A KR 20090027647 A KR20090027647 A KR 20090027647A KR 101087429 B1 KR101087429 B1 KR 101087429B1
Authority
KR
South Korea
Prior art keywords
power management
components
management controller
latency
various embodiments
Prior art date
Application number
KR1020090027647A
Other languages
Korean (ko)
Other versions
KR20090104768A (en
Inventor
자야 엘 제야실란
네일 송어
바네스 쿠퍼
폴 에스 디에펜바우
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Priority to KR1020090027647A priority Critical patent/KR101087429B1/en
Publication of KR20090104768A publication Critical patent/KR20090104768A/en
Application granted granted Critical
Publication of KR101087429B1 publication Critical patent/KR101087429B1/en

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
    • 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

Landscapes

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

Abstract

본 발명은 시스템의 제 1 복수의 구성요소로부터 전력 관리 가이드라인을 수신하고, 수신된 전력 관리 가이드라인에 적어도 일부분 기초하여 시스템의 제 2 복수의 구성요소 중 하나 이상을 관리하는 전력 관리 폴리시를 전개하는 시스템의 실시예에 관한 것이다. 다른 실시예도 설명된다.

Figure R1020090027647

The present invention deploys a power management policy that receives power management guidelines from a first plurality of components of a system and manages one or more of the second plurality of components of the system based at least in part on the received power management guidelines. An embodiment of a system is described. Other embodiments are also described.

Figure R1020090027647

Description

전력 관리 방법 및 장치{PLATFORM POWER MANAGEMENT BASED ON LATENCY GUIDANCE}Power management method and device {PLATFORM POWER MANAGEMENT BASED ON LATENCY GUIDANCE}

본 발명의 실시예는 전력 관리 분야에 관한 것으로, 특히 다양한 레이턴시 가이드라인에 기초하여 플랫폼 전력을 관리하는 방법 및 장치에 관한 것이다.Embodiments of the present invention relate to the field of power management, and in particular, to a method and apparatus for managing platform power based on various latency guidelines.

오늘날의 기술 세계에서, 전자 디바이스의 성능은 이들의 컴퓨팅 능력의 급속한 증가와 함께 급속도로 개선되고 있다. 이러한 증가로 인해, 디바이스들은 전력을 갈망하게 되는데, 즉 보다 많은 전력을 소비하게 된다. 전력을 절약하기 위해, 디바이스 내의 프로세서는 짧은 비활성 기간 동안 슬립 모드(예를 들어, 저전력 상태)로 진입할 수 있다.In today's technology world, the performance of electronic devices is improving rapidly with the rapid increase in their computing power. This increase causes devices to crave power, ie consume more power. To save power, a processor in the device may enter a sleep mode (eg, a low power state) for a short period of inactivity.

예를 들어, Hwelett-Packard®, Intel®, Phoenix® 및 Toshiba®에 의해 공동으로 개발된 ACPI(Advanced Configuration and Power Interface) 사양(예를 들어, 2005년 12월 30일에 발행된 버전 3.0a)은 ACPI-호한가능 시스템에서의 다양한 전력 상태(예를 들어, 디바이스의 정상 G0/S0 동작 상태 동안의 프로세서 전력 상태 C0-C3)를 정의한다. ACPI 사양에 따르면, C0 상태는 프로세서의 정상 실행 상태일 수 있다. 그러나, 짧은 비활성 기간 동안에서의 C1 상태에서는, 프로세서가 인스트럭션을 실행하지 않을 수 있으나, 거의 동시에 실행 상태로 복귀할 수 있는 반면, C3 상태(C1에 비해 보다 깊은 슬립 상태이고 C1보다 많은 전력을 절약함)에서는, 프로세서의 캐시가 상태를 유지할 수는 있으나 임의의 스누프(snoops)를 무시한다. 프로세서는 C1 상태로부터 복귀하는 것에 비해 C3 상태로부터 정상 실행 상태(C0)로 복귀하는데 더 많은 시간을 소요할 수 있다. C3 상태(예를 들어, 깊은 슬립, 보다 깊은 슬립 등)를 포함하여, 프로세서가 슬립하게 되는 정도(즉, 전력을 절약하기 위해 디스에이블되어야 하는 프로세서의 기능)와 기동(wake up)하는데 걸리는 시간이 다를 수 있는 각 상태에 대한 변형예가 또한 가능하다.For example, the Advanced Configuration and Power Interface (ACPI) specification jointly developed by Hwelett-Packard®, Intel®, Phoenix®, and Toshiba® (for example, version 3.0a, published December 30, 2005). Defines various power states (eg, processor power states C0-C3 during normal G0 / S0 operating states of the device) in an ACPI-enabled system. According to the ACPI specification, the C0 state may be a normal running state of the processor. However, in the C1 state during a short period of inactivity, the processor may not execute the instructions, but may return to the running state at about the same time, while the C3 state (deeper sleep compared to C1 and saves more power than C1). In this case, the processor's cache can maintain state but ignore any snoops. The processor may spend more time returning from the C3 state to the normal execution state C0 than returning from the C1 state. The amount of time it takes for the processor to sleep (ie, the processor's ability to be disabled to save power) and how long it takes to wake up, including the C3 state (for example, deep sleep, deeper sleep, and so on). Modifications to each state that may be different are also possible.

ACPI 표준에 의해 정의된 것을 포함한, 종래의 전력 관리는 프로세서 상에서 수집된 휴리스틱스(heuristics)와 운영 시스템에 의해 주어진 가이드라인에 기초하여 수행될 수 있고, 전력 관리 알고리즘은 향후 동작을 예측하기 위해 과거 프로세서 동작을 고찰할 수 있다. 예를 들어, 운영 시스템은 이 가이드라인을 제공하기 위해 중앙처리 장치 이용을 고찰할 수 있다. 이들 요소에 기초하여, 프로세서는 다수의 슬립 상태들 중 하나로 진입할 수 있다. 프로세서가 간헐적으로 저전력 상태로 진입할 수 있지만, 보다 긴 기동 시간을 갖는 다른 플랫폼 구성요소는 대개 보다 나은 성능을 보장하기 위해 이러한 저전력 상태로 진입하지 않을 수 있다.Conventional power management, including those defined by the ACPI standard, can be performed based on heuristics collected on the processor and guidelines given by the operating system, and power management algorithms can be used to predict future behavior. Consider processor operation. For example, the operating system may consider using a central processing unit to provide this guideline. Based on these factors, the processor may enter one of a number of sleep states. The processor may enter the low power state intermittently, but other platform components with longer start up times may not normally enter this low power state to ensure better performance.

도 1은 애플리케이션의 실행 동안의 활성 기간 및 비활성 상태(유휴 상태)로 이루어진 워크로드에 걸친 종래의 컴퓨팅 시스템의 플랫폼(라인 A)의 전체 전력 소비 및 그 종래 프로세서(라인 B)의 전력 소비를 예시적으로 도시한 그래프이다. 도 1을 참조하면, 프로세서는 짧은 활성 기간 동안에는 20 와트(W)까지 그리고 유휴 상태일 때는 거의 1W까지 그의 전력을 조정할 수 있다. 프로세서가 유휴 상태인 동안, 플랫폼은 연전히 ~9W의 유휴 전력 한도를 유지할 수 있고, 그 중 1W 미만의 전력은 프로세서에 기인한 것일 수 있다. 즉, 컴퓨팅 시스템에서 플랫폼 구성요소들의 나머지는 유휴 상태 동안에는 프로세서와 마찬가지로 하향 조정되지 않을 수 있다. 유상 상태에서, 이 예시적인 컴퓨팅 디바이스의 플랫폼은 약 8-10 W의 전력을 여전히 소비할 수 있는데, 그 이유는 프로세서가 유휴 기간 동안 적절한 슬립 상태로 간헐적으로 진입할 수 있지만, 보다 긴 레이턴시를 갖는(슬립 상태로부터 기동하는데 걸리는 시간이 더 긴) 시스템 리소스의 많은 부분이 보다 나은 성능을 위해 활성 상태로 유지되기 때문이다.1 illustrates the total power consumption of a platform of a conventional computing system (line A) and the power consumption of its conventional processor (line B) over a workload consisting of an active period and an inactive state (idle state) during the execution of an application. It is a graph shown as an illustration. Referring to FIG. 1, the processor can adjust its power to 20 watts (W) during short active periods and to about 1 W when idle. While the processor is idle, the platform may maintain an idle power limit of ~ 9W, of which less than 1W may be due to the processor. In other words, the rest of the platform components in the computing system may not be adjusted down like the processor during the idle state. In the idle state, the platform of this exemplary computing device can still consume about 8-10 W of power because the processor can intermittently enter an appropriate sleep state during idle periods, but with longer latency This is because a large portion of the system resources (which takes longer to wake up from sleep) remain active for better performance.

본 발명에 따라, 시스템의 제 1 복수의 구성요소로부터 전력 관리 가이드라인을 수신하고, 수신된 전력 관리 가이드라인에 적어도 일부분 기초하여 시스템의 제 2 복수의 구성요소 중 하나 이상을 관리하는 전력 관리 폴리시를 전개함으로써, 시스템의 전력을 절약할 수 있다.In accordance with the present invention, a power management policy for receiving power management guidelines from a first plurality of components of a system and for managing one or more of the second plurality of components of the system based at least in part on the received power management guidelines. By deploying, it is possible to save power in the system.

본 발명의 실시예는 유사한 참조번호는 유사한 소자를 나타내는 첨부한 도면에 예시되어 있는 예시적인 실시예를 통해 설명될 것이지만, 이러한 예시적인 실시예에 국한되는 것은 아니다.Embodiments of the present invention will be described through the exemplary embodiments illustrated in the accompanying drawings in which like reference numerals refer to like elements, but are not limited to these exemplary embodiments.

예시적인 실시예는 레이턴시 가이던스(latency guidance)에 기초하는 플랫폼 전력 관리를 위한 방법 및 장치를 포함하지만, 이것으로 제한되는 것은 아니다.Example embodiments include, but are not limited to, methods and apparatus for platform power management based on latency guidance.

예시적인 실시예의 다양한 측면은 당업자가 그들의 작업의 내용을 다른 당업자에게 전달할 때 흔히 사용되는 용어를 사용하여 기술될 것이다. 그러나, 기술된 측면 중 일부만을 갖는 다른 실시예가 실시될 수 있음이 당업자에게는 명백할 것이다. 설명을 위해서, 구체적인 수, 재료 및 구성이 예시적인 실시예에 대한 철저한 이해를 제공하도록 설정되었다. 그러나, 이러한 구체적인 세부사항 없이 다른 실시예가 구현될 수 있음이 당업자에게는 명백할 것이다. 다른 예에서, 잘 알려진 예시적인 실시예를 불필요하게 흐리지 않도록 생략되거나 단순화되었다.Various aspects of the exemplary embodiments will be described using terms commonly used by those skilled in the art to convey the substance of their work to others skilled in the art. However, it will be apparent to those skilled in the art that other embodiments may be practiced with only some of the described aspects. For purposes of explanation, specific numbers, materials, and configurations have been set forth to provide a thorough understanding of the exemplary embodiments. However, it will be apparent to one skilled in the art that other embodiments may be practiced without these specific details. In other instances, well-known exemplary embodiments have been omitted or simplified in order not to unnecessarily obscure them.

또한, 다양한 동작들이 예시적인 실시예에 대한 이해를 최대한 돕는 방식으로 복수의 개별적인 동작들로서 기술될 것이지만, 이러한 동작들이 반드시 설명의 순서를 따라야 함을 의미하는 것으로 해석되어서는 안된다. 특히, 이러한 동작들은 개시된 순서대로 수행될 필요가 없다.In addition, although various operations will be described as a plurality of individual operations in a manner that facilitates an understanding of the exemplary embodiment, they should not be construed as meaning that these operations must be in the order of description. In particular, these operations need not be performed in the order disclosed.

"일부 실시예에서" 및 "다양한 실시예에서"와 같은 구절이 반복적으로 사용되었다. 이러한 구절은 일반적으로는 동일한 실시예를 지칭하지 않지만, 동일한 실시예를 지칭할 수도 있다. "포함하는", "가지는" 및 "구비하는"과 같은 용어는 문맥상 달리 지시하지 않는 한 동일한 의미이다. "A 및/또는 B"라는 구절은 "(A), (B), 또는 (A와 B)"를 의미한다. "A/B"라는 구절은 "(A), (B), 또는 (A와 B)"로서 "A 및/또는 B"와 동일하다. "A, B 및 C 중 적어도 하나"라는 구절은 "(A), (B), (C), (A 및 B), (A 및 C), (B 및 C) 또는 (A, B 및 C)"를 의미한다. "(A)B"라는 구절은 "(B) 또는 (A B)", 즉 A가 선택적임을 의미한다.The phrases “in some embodiments” and “in various embodiments” have been used repeatedly. Such phrases generally do not refer to the same embodiment, but may refer to the same embodiment. Terms such as "comprising", "having" and "including" have the same meaning unless the context indicates otherwise. The phrase "A and / or B" means "(A), (B), or (A and B)". The phrase "A / B" is equivalent to "A and / or B" as "(A), (B), or (A and B)". The phrase "at least one of A, B and C" means "(A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C). ) ". The phrase "(A) B" means "(B) or (A B)", that is, A is optional.

도 2는 다양한 실시예에 따른 전력 관리 시스템(10)의 블록도이다. 다양한 실시예에서, 전력 관리 시스템(10)은 예로서 랩탑, 휴대폰, 개인 컴퓨터, PDA, 팜탑 컴퓨터(palmtop), 셋톱 박스, 또는 임의의 다른 적절한 유형의 컴퓨팅 디바이스에서 사용될 수 있다. 다양한 실시예에서, 전력 관리 시스템(10)은 모바일 컴퓨팅 디바이스에서도 사용될 수 있다.2 is a block diagram of a power management system 10 according to various embodiments. In various embodiments, power management system 10 may be used, for example, in a laptop, cell phone, personal computer, PDA, palmtop, set top box, or any other suitable type of computing device. In various embodiments, power management system 10 may also be used in mobile computing devices.

전력 관리 시스템(10)은 전력 관리 컨트롤러(PMC)(15)를 포함할 수 있다. PMC(15)는 제 1 복수의 구성요소(20, 22, 26)에 연결될 수 있으며, 구성요소(20, 22, 26)로부터 각각 전력 관리 가이드라인(30, 32, 36)을 수신하도록 구성될 수 있다. 다양한 실시예에서, PMC 컨트롤러는 또한 아래에 개시되는 바와 같이 정보(40)를 수신할 수 있다. 수신된 전력 관리 가이드라인(30, 32, 36) 및/또는 정보(40)에 적어도 부분적으로 응답하여, PMC(15)는 제 2 복수의 구성요소 및/또는 컴퓨팅 디바이스와 관련된 소스(60, 62, 66)의 전력을 관리하는 전력 관리 폴리시(power management policy)(PM 폴리시)(50)를 생성하도록 구성될 수 있다.The power management system 10 may include a power management controller (PMC) 15. The PMC 15 may be connected to the first plurality of components 20, 22, 26 and may be configured to receive power management guidelines 30, 32, 36 from the components 20, 22, 26, respectively. Can be. In various embodiments, the PMC controller may also receive information 40 as described below. In response at least in part to the received power management guidelines 30, 32, 36 and / or information 40, the PMC 15 may generate a source 60, 62 associated with the second plurality of components and / or computing devices. 66 may be configured to generate a power management policy (PM policy) 50 that manages power.

다양한 실시예에서, 제 1 복수의 구성요소(20, 22, 26)는 컴퓨팅 디바이스와 관련된 하나보다 많은 하드웨어/소프트웨어를 포함할 수 있다. 다양한 실시예에 서, 구성요소(20, 22, 26)는 예로서 컴퓨팅 디바이스에 연결된 외부 디바이스 및/또는 컴퓨팅 디바이스 내부의 디바이스/하드웨어를 포함할 수 있으며, 이것은 유니버설 시리얼 버스(USB) 장치(예로서 USB 2.0, 3.0 등과 같은 다양한 버전의 USB 표준과 호환가능한 디바이스를 포함함), 주변 구성요소 상호접속(PCI) 디바이스, PCI 익스프레스(PCIe) 디바이스, 네트워크 인터페이스 카드, 주변 장치, 프린터, 스캐너, 디스크 드라이브, 카메라, 네트워크 아답터, SATA(serial advanced technology attachment), PATA(parallel advanced technology attachment) 등을 포함하지만 이것으로 제한되는 것은 아니다. 다양한 실시예에서, 구성요소(20, 22, 26)는 컴퓨팅 디바이스 내의 하나 이상의 디바이스/기능을 제어하도록 구성된 하나 이상의 컨트롤러를 포함할 수 있으며, 이는 USB 호스트 컨트롤러, 메모리 컨트롤러, 이더넷 컨트롤러, 그래픽 컨트롤러, 하드 디스크 컨트롤러(HDD), 오디오 컨트롤러, 어드밴스드 호스트 컨트롤러 인터페이스(AHCI) 등을 포함하지만 이것으로 제한되는 것은 아니다. 다양한 실시예에서, 구성요소(20, 22, 26)는 컴퓨팅 디바이스, 하나 이상의 디바이스 드라이버, 운영 시스템 등에서 실행되는 하나 이상의 소프트웨어 애플리케이션도 포함할 수 있다.In various embodiments, the first plurality of components 20, 22, 26 may include more than one hardware / software associated with the computing device. In various embodiments, components 20, 22, and 26 may include, for example, external devices connected to the computing device and / or devices / hardware within the computing device, which may be Universal Serial Bus (USB) devices (e.g., (Including devices compatible with various versions of the USB standard, such as USB 2.0, 3.0), peripheral component interconnect (PCI) devices, PCI Express (PCIe) devices, network interface cards, peripherals, printers, scanners, disks Drives, cameras, network adapters, serial advanced technology attachments (SATA), parallel advanced technology attachments (PATA), and the like. In various embodiments, components 20, 22, and 26 may include one or more controllers configured to control one or more devices / functions within the computing device, which may include USB host controllers, memory controllers, Ethernet controllers, graphics controllers, Hard disk controllers (HDDs), audio controllers, advanced host controller interfaces (AHCI), and the like, but are not limited to these. In various embodiments, components 20, 22, 26 may also include one or more software applications running on a computing device, one or more device drivers, an operating system, or the like.

다양한 실시예에서, 각각의 구성요소(20, 22, 26)는 PMC(15)에게 전력 관리 가이드라인(30, 32, 36)을 각각 동적으로 전송할 수 있다. 전력 관리 가이드라인은 각 구성요소의 하나 이상의 레이턴시 파라미터를 포함할 수 있다. 예를 들어, 전력 관리 가이드라인은 구성요소의 레이턴시 공차(latency tolerance)를 포함할 수 있다. 다양한 실시예에서, 레이턴시 공차는 구성요소가 자신의 성능에 부정적으로 영향을 받지 않고 허용될 수 있는 최대 레이턴시에 적어도 부분적으로 기초할 수 있다. 예를 들어, 구성요소(20)의 레이턴시 공차는 컴퓨팅 디바이스의 하나 이상의 구성요소가 슬립 모드에 있고 구성요소(20)와 관련된 제 1 명령이 정상/실행 상태(예로서, C0)에 진입함에 따라 실행되는 한편, 구성요소(20)가 프로세서 고장 상황의 발생(예로서, 하드웨어(HW) 인터럽트)으로부터 허용될 수 있는 최대 레이턴시에 적어도 부분적으로 기초할 수 있다. 다양한 실시예에서, 시스템의 구성요소 및/또는 다른 구성요소가 슬립 모드로부터 정상/실행 상태로 전이할 때, 구성요소의 레이턴시 공차는 구성요소가 자신의 성능에 부정적으로 영향을 미치지 않고 허용될 수 있는 지연에 적어도 부분적으로 기초할 수 있다.In various embodiments, each component 20, 22, 26 may dynamically transmit power management guidelines 30, 32, 36 to the PMC 15, respectively. The power management guidelines may include one or more latency parameters of each component. For example, power management guidelines may include latency tolerances of components. In various embodiments, the latency tolerance may be based at least in part on the maximum latency that a component can tolerate without negatively affecting its performance. For example, latency tolerance of component 20 may occur as one or more components of the computing device are in sleep mode and as a first instruction associated with component 20 enters a normal / executive state (eg, C0). While executed, component 20 may be based at least in part on the maximum latency that can be tolerated from the occurrence of a processor failure situation (eg, hardware (HW) interrupt). In various embodiments, when a component of the system and / or other components transition from sleep mode to normal / running state, the latency tolerance of the component may be tolerated without the component having a negative impact on its performance. The delay may be based at least in part.

다양한 실시예에서, 하나의 구성요소의 PM 가이드라인은 그 구성요소의 서비스 품질(QoS) 파라미터, 인터럽트 주파수와 같은 내부 휴리시틱스(internal heuristics), 입/출력(I/O) 트래픽 패턴, 유휴 지속 시간(즉, 만약 구성요소가 다음 스케줄링된 타이머 인터럽트까지의 시간을 알고 있다면), 워크로드 예상치, 및/또는 PM 폴리시(50)를 생성하기 위한 PMC(15)에 유용할 수 있는 구성요소에 관한 임의의 다른 적당한 정보를 포함하는 하나 이상의 다른 요소를 포함할 수 있지만, 이에 국한되는 것은 아니다. 다양한 실시예에서, 하나 이상의 구성요소(20, 22, 26)는 그 PM 가이드라인 내에서 그 구성요소의 메모리 액세스 레이턴시를 포함할 수 있다.In various embodiments, a component's PM guidelines may include quality of service (QoS) parameters of the component, internal heuristics such as interrupt frequency, input / output (I / O) traffic patterns, idle On components that may be useful for PMC 15 to generate a duration (ie, if the component knows the time to the next scheduled timer interrupt), workload estimates, and / or PM policy 50. It may include, but is not limited to, one or more other elements including any other suitable information relating thereto. In various embodiments, one or more components 20, 22, 26 may include memory access latency of the components within their PM guidelines.

다양한 실시예에서, 가령, 구성요소들(20, 22, 26) 중의 하나는 오디오 재생 소프트웨어 애플리케이션일 수 있다. 이 오디오 재생 애플리케이션은 오디오 파일을 능동적으로 재생하는 동안 임의의 레이턴시를 허용할 수는 없다. 그러나, 유휴(idle)인 경우, 즉 임의의 오디오 파일을 수신/재생하지 않을 때, 오디오 재생 애플리케이션은 보다 큰 레이턴시를 허용할 수 있는데, 이는 적어도 부분적으로는 애플리케이션이 오디오 파일을 수신하는 것을 개시하는 시간과 그 애플리케이션이 임의의 데이터를 상실하는 것을 방지하기 위해 오디오 파일을 재생하는 것을 개시해야만 하는 시간에서의 차에 기반할 수 있다. 일부 당업자에게는 애플리케이션의 레이턴시 공차가 부분적으로는 그 버퍼링 능력에 기반할 수도 있다는 것이 분명할 것이다. 다양한 실시예에서, 상기 애플리케이션은 전원 관리 가이드라인의 부분으로서의 PMC(15)에 레이턴시 공차를 동적으로 송신할 수 있다. 따라서, 오디오 파일 재생 동안, 오디오 재생 애플리케이션은 PMC(15)에 제로 또는 최소의 레이턴시 공차를 송신할 수 있는 반면, 유휴 상태 동안에는 상기 애플리케이션은 보다 큰 레이턴시 공차를 송신할 수 있다.In various embodiments, for example, one of the components 20, 22, 26 may be an audio playback software application. This audio playback application cannot tolerate any latency while actively playing audio files. However, when idle, i.e. when not receiving / playing any audio file, the audio playback application may allow for greater latency, which at least partially initiates the application receiving the audio file. It can be based on the difference in time and the time that the application must start playing the audio file to prevent the loss of any data. It will be apparent to some skilled in the art that the latency tolerance of the application may be based in part on its buffering capabilities. In various embodiments, the application may dynamically transmit latency tolerances to PMC 15 as part of power management guidelines. Thus, during audio file playback, the audio playback application may send zero or minimal latency tolerance to the PMC 15, while the application may transmit a greater latency tolerance during the idle state.

다양한 실시예에서, 구성요소는 활성 간격들 내에서는 가수면 상태(doze)가 될 수 있다. 가령, 광역 네트워크(WLAN) 클라이언트는 IEEE 802.11 표준(가령, 802.11e-2005 수정)에 의해 규정되는 바와 같이, 유휴 상태일 때마다 절전(가수면) 상태로 진입할 수 있다. WLAN 클라이언트는 가령, IEEE 802.11 표준의 WiFi 멀티미디어(WMM) 절전 모드에 의해 규정되는 기간 동안 무선을 턴오프할 수 있으며, 그 시간 동안 액세스 포인트(AP)는 클라이언트를 위해 데이터를 버퍼링할 수 있다. 이러한 가수면 기간은 수 밀리초 정도일 수 있다. WLAN 네트워크 인터페이스 카드(NIC)는 언제 무선을 턴온할지, 언제 WLAN 클라이언트를 기동할지 그리고 언제 통신을 개시할 지를 알 수 있다. 도 5는 본 발명의 다양한 실시예에 다른 WMM 절전 모드의 레이턴시 공차 보고 시스템의 블럭도이다. 도 5에 도시된 바와 같이, WLAN 클라이언트가 기동될 때, 클라이언트는 가령 100마이크로초의 작은 레이턴시를 허용할 수 있다. 그러나, 가수면 동안, 클라이언트는 보다 큰 레이턴시, 가령, 대략 1밀리초를 허용할 수 있다. 다양한 실시예에서, NIC는 그에 따라 클라이언트 기동 상태 동안 PM 가이드라인의 부분으로서의 PMC(15(도 1)DP 10마이크로초의 레이턴시 공차를 송신할 수 있다. 그러나, 클라이언트가 가수면 상태인 동안, NIC는 PMC(15)에 1밀리초의 레이턴시 공차를 송신할 수 있다.In various embodiments, a component may be doze in active intervals. For example, a wide area network (WLAN) client may enter a sleep (sleep) state whenever idle, as defined by the IEEE 802.11 standard (eg, 802.11e-2005 modification). The WLAN client may turn off the radio for a period of time, for example, defined by the WiFi Multimedia (WMM) power saving mode of the IEEE 802.11 standard, during which the access point (AP) may buffer data for the client. This mantissa period may be on the order of several milliseconds. The WLAN network interface card (NIC) may know when to turn on the radio, when to wake up the WLAN client and when to initiate communication. 5 is a block diagram of a latency tolerance reporting system in WMM power saving mode according to various embodiments of the present invention. As shown in FIG. 5, when a WLAN client is launched, the client may allow a small latency of, for example, 100 microseconds. However, during the mantissa, the client may allow for greater latency, such as approximately 1 millisecond. In various embodiments, the NIC may thus transmit a latency tolerance of PMC 15 (FIG. 1) DP 10 microseconds as part of the PM guidelines during the client wake-up state, however, while the client is in the sleep state, the NIC may One millisecond latency tolerance can be transmitted to the PMC 15.

도 2를 참조하면, 다양한 실시예에서, PMC(15)는 전원 관리 폴리시(50)를 생성하는 데 사용될 수 있는 정보(40)를 수신할 수 있다. 가령, 다양한 실시예에서, 정보(40)는 그 프로세서를 포함하여 컴퓨팅 장치 및/또는 그 구성요소의 트래픽 및 동작 패턴에 대한 휴어리스틱스를 포함할 수 있다. 다양한 실시예에서, 정보(40)는 당업자에게 알려진 추가 정보, 가령 종래의 ACPI 호환 시스템 또는 다른 종래의 전원 제어 시스템에서 전원을 제어하는 데 필요한 정보를 포함할 수 있다. 다양한 실시예에서, 컴퓨팅 장치의 OS 및/또는 프로세서는 정보(40)를 생성할 수 있다.Referring to FIG. 2, in various embodiments, PMC 15 may receive information 40 that may be used to generate power management policy 50. For example, in various embodiments, information 40 may include heuristics about traffic and behavioral patterns of computing devices and / or components thereof, including their processors. In various embodiments, information 40 may include additional information known to those skilled in the art, such as information needed to control a power source in a conventional ACPI compatible system or other conventional power control system. In various embodiments, the OS and / or processor of the computing device may generate information 40.

적어도 부분적으로는 수신된 전원 관리 가이드라인(30, 32, 36) 및 정보(40)에 응답하여, PMC(15)는 컴퓨팅 장치와 관련된 제 2 복수의 구성요소 및/또는 리소스(60, 62, 66)의 전원을 관리하는 PM 폴리시(50)를 생성하도록 구성될 수 있다. 다양한 실시예에서, 제 2 복수의 구성요소 및/또는 리소스(60, 62, 66)는 컴퓨팅 장치, 가령, 프로세서, 전원 조절기, 디스플레이 패널, 클럭 생성기, 위상 동기 루 프 등의 다양한 코어 구성요소 및 플랫폼 구성요소를 포함할 수 있다. 다양한 실시예에서, 제 1 복수의 구성요소(20, 22, 26) 및 제 2 복수의 구성요소 및/또는 리소스(60, 62, 66)는 하나 이상의 구성요소를 구비할 수 있다. 가령, 다양한 실시예에서, PMC(15)는 USB 호스트 제어기로부터 PM 가이드라인을 수신할 수 있으며, 상기 호스트 제어기를 위해 PM 폴리시(50)를 생성할 수도 있다.In response at least in part to the received power management guidelines 30, 32, 36 and information 40, the PMC 15 may generate a second plurality of components and / or resources 60, 62, associated with the computing device. 66 may be configured to generate a PM policy 50 that manages the power of the device. In various embodiments, the second plurality of components and / or resources 60, 62, 66 may include various core components such as computing devices, such as processors, power regulators, display panels, clock generators, phase locked loops, and the like. It may include platform components. In various embodiments, the first plurality of components 20, 22, 26 and the second plurality of components and / or resources 60, 62, 66 may have one or more components. For example, in various embodiments, PMC 15 may receive PM guidelines from a USB host controller and may generate PM policy 50 for the host controller.

다양한 실시예에서, PM 폴리시(50)는 복수의 슬립 레벨 중 하나로 들어가기 위해 구성요소(60, 62) 중 하나 이상을 지정할 수 있다. 예를 들어, 모든 구성요소(20,22,26)가 각 PM 가이드라인의 적어도 1 msec의 지정된 레이턴시 공차를 갖는 경우, PMC(15)는 두 번째 복수의 구성요소 및/또는 리소스(60,62,66) 중 하나 이상으로 하여금 복수의 슬립 레벨 중 하나로 진입할 것을 지시하여, 하나 이상의 구성요소가 중단, 가령, 프로세서 고장 이벤트, HW 중단 등에 응답하여 각 슬립 레벨로부터 깨어 나는 데에 1msec 미만이 걸리게 된다. 이와 유사하게, 모든 구성요소(20,22,26)의 지정된 최대 레이턴시 공차가, 예를 들어, 적어도 5 msec인 경우, PM 폴리시(50)는 두 번째 복수의 구성요소 및/또는 리소스(60,62,66) 중 하나 이상으로 하여금 더 깊은 슬립 레벨로 진입할 것을 지시하여 이 구성요소는 깨어 나는 데에 5 msec 미만이 걸릴 것이다. 다양한 실시예에서, 복수의 가능한 슬립 레벨은 ACPI 사양에서 지정된 C-상태 및/또는 당업자에 의해 생각될 수 있는 다른 슬립 레벨에 유사할 수 있다. 즉, 구성요소(20,22,26)의 PM 가이드라인의 레이턴시 공차 및 다른 정보를 인식함으로써, PM 폴리시(50)는 구성요소(60,62,66) 중 하나 이상으로 하여금 레이턴시 공차가 충분히 높을 때마다 적합한 슬립 모드로 진입할 수 있게 하므로, 구성요소(20,22,26)의 성능에 부정적인 영향을 주지 않고 전력을 절감할 수 있다.In various embodiments, PM policy 50 may designate one or more of components 60 and 62 to enter one of a plurality of sleep levels. For example, if all of the components 20, 22, 26 have a specified latency tolerance of at least 1 msec of each PM guideline, the PMC 15 may generate a second plurality of components and / or resources 60,62. 66) instruct one or more of the plurality of sleep levels to enter one of the plurality of sleep levels such that it takes less than 1 msec for one or more components to wake up from each sleep level in response to an outage, such as a processor failure event, a HW outage, or the like. do. Similarly, if the specified maximum latency tolerance of all components 20, 22, 26 is, for example, at least 5 msec, the PM policy 50 may generate a second plurality of components and / or resources 60, 62, 66) directs one or more of the deeper sleep levels to take this component to less than 5 msec to wake up. In various embodiments, the plurality of possible sleep levels may be similar to the C-states specified in the ACPI specification and / or other sleep levels contemplated by those skilled in the art. That is, by recognizing the latency tolerances and other information of the PM guidelines of the components 20, 22, 26, the PM policy 50 causes one or more of the components 60, 62, 66 to have a sufficiently high latency tolerance. By allowing the user to enter a suitable sleep mode each time, power can be saved without negatively impacting the performance of the components 20, 22, and 26.

다양한 실시예에서, PM 폴리시(50)를 개발하는 동안 여러 다른 요인도 고려될 수 있다. 예를 들어, 구성요소(20,22,26) 중 하나가 그 PM 가이드라인의 예를 들어 높은 QoS 파라미터 및 100 μsec의 레이턴시 공차를 지정하는 경우, PMC(15)는 구성요소(60,62,66)에 대한 슬립 레벨을 결정하여 구성요소가 100 μsec 훨씬 이전에 깨어날 수 있어서, 높은 QoS 파라미터를 만족시킬 수 있다.In various embodiments, various other factors may also be considered while developing the PM policy 50. For example, if one of the components 20, 22, 26 specifies a high QoS parameter and a latency tolerance of 100 μsec, for example, of the PM guidelines, the PMC 15 may be configured with the components 60, 62, Determining the sleep level for 66) allows the component to wake up well before 100 μsec, satisfying high QoS parameters.

다양한 실시예에서, PMC(15)는 구성요소(60,62,66)의 일부(less than all)로 하여금 슬립 모드로 진입하게 지시하면서 하나 이상의 다른 구성요소로 하여금 슬립 모드로 진입하지 않게(또는 다른 슬립 모드로 진입하게) 할 수 있다. 예를 들어, 전압 조정기 및 클록 생성기가 구성요소(60,62,66) 중 둘이고 클록 생성기에 비교해서 전압 조정기가 깨어 나는 시간이 더 긴 경우, PMC(15)는 구성요소(20,22,26)으로부터 수신되는 주어진 레이턴시 공차에 대한 클록 생성기에 대한 더 깊은 슬립 레벨에 비교할 때 전압 조정기로 하여금 더 얕은 슬립 레벨로 진입할 것으로 지시할 수 있다. 그러나, 구성요소(20,22,26)으로부터 수신된 레이턴시 공차가 충분히 높은 경우, 전압 조정기와 클록 생성기 모두가 PM 폴리시(50)에 기초하여 더 깊은 슬립 레벨로 진입할 수 있다.In various embodiments, PMC 15 instructs less than all of components 60, 62, and 66 to enter sleep mode while not allowing one or more other components to enter sleep mode (or Enter another sleep mode). For example, if the voltage regulator and the clock generator are two of the components 60, 62, 66, and the voltage regulator wakes up longer than the clock generator, the PMC 15 may use the components 20,22, Compared to the deeper sleep level for the clock generator for a given latency tolerance received from 26) it may direct the voltage regulator to enter a shallower sleep level. However, if the latency tolerances received from components 20, 22, and 26 are sufficiently high, then both the voltage regulator and the clock generator may enter a deeper sleep level based on the PM policy 50.

다양한 실시예에서, 슬립 레벨이 깊어질 수록 구성요소의 기능성은 불능화되고 전력이 더 많이 절감될 수록 구성요소가 정상 실행 상태로 복귀하는 시간(즉, 깨어 나는 시간)이 길어질 것이다.In various embodiments, the deeper the sleep level, the more functional the component will be disabled, and the more power saved, the longer the component will return to normal execution (ie, the time to wake up).

다양한 실시예에서, 두 번째 복수의 구성요소 및/또는 리소스(60,62,66)의 일부, 가령, 클록 생성기, 전압 조정기, PLL의 일부는 단지 온 및 오프로만 전환될 수 있다. 즉, 이들 구성요소의 일부에 있어서, 단 하나의 슬립 레벨(가령, 저전력 모드)이 존재할 수 있는데, 이는 구성요소(20,22,26)의 레이턴시 공차가 충분히 높은 경우에 이들 구성요소의 전력을 임시로 차단할 수 있다. 따라서, PM 폴리시(50)는 이들 구성요소의 일부/전부의 온 및 오프 전환을 제어할 수도 있다.In various embodiments, portions of the second plurality of components and / or resources 60, 62, 66, such as clock generators, voltage regulators, and portions of the PLL, may only be switched on and off. That is, for some of these components, there may be only one sleep level (eg, low power mode), which means that the power of these components will be reduced if the latency of components 20, 22, 26 is sufficiently high. You can temporarily block it. Thus, the PM policy 50 may control on / off switching of some / all of these components.

다양한 실시예에서, 구성요소(20,22,26)는 각 PM 가이드라인을 PMC(15)에 연속적으로 전송할 수 있다. 이와 달리, 구성요소(20,22,26)는 규칙적인 간격으로 각 PM 가이드라인을 전송할 수 있다. 다양한 다른 시나리오도 가능한데, 각 PM 가이드 라인을 규칙적인 간격으로 구성요소의 일부가 연속적으로 전송하는 동안 나머지는 주기적으로 전송한다. 다양한 실시예에서, 구성요소는 시작 부분에 PM 가이드라인을 전송할 수 있고 PM 가이드라인에 변경이 있을 때에만 PM 가이드라인을 재전송할 수 있다.In various embodiments, components 20, 22, and 26 may send each PM guideline to PMC 15 continuously. Alternatively, components 20, 22, and 26 may transmit each PM guideline at regular intervals. Various other scenarios are possible, with each PM guideline being transmitted at regular intervals while some of the components transmit continuously. In various embodiments, the component may send PM guidelines at the beginning and may only resend PM guidelines when there is a change in the PM guidelines.

도 3은 본 발명의 다양한 실시예에 따른 전력 관리 시스템(100)의 블록도이다. 다양한 실시예에서, 시스템(100)은 입력/출력(I/O) 복합 전력 관리 제어기(IOPMC)(110)에 결합되는 프로세서 복합 전력 관리 제어기(PCPMC)(105)를 포함할 수 있다. 다양한 실시예에서, PCPMC(105)는 연산 장치의 중앙 프로세싱 복합체에 배치될 수 있으며 IOPMC(110)는 연산 장치의 I/O 복합체에 배치될 수 있다.3 is a block diagram of a power management system 100 according to various embodiments of the present disclosure. In various embodiments, system 100 may include a processor composite power management controller (PCPMC) 105 coupled to an input / output (I / O) composite power management controller (IOPMC) 110. In various embodiments, PCPMC 105 may be located in a central processing complex of a computing device and IOPMC 110 may be located in an I / O complex of a computing device.

당업자가 쉽게 인식할 바와 같이, 도 3은 단지 2개의 전력 관리 제어기(PCPMC(105) 및 IOPMC(110))만을 도시하고 있지만, 다양한 실시예에서, 2개 이상 의 전력 관리 제어기가 존재할 수 있다. 예를 들어, 멀티-프로세서 환경에서, 각 프로세싱 복합체는 연관되는 프로세서 복합체 전력 관리 제어기를 가질 수 있다. 다양한 실시예에서, 단일 프로세싱 복합체가 하나 이상의 프로세서 복합 전력 관리 제어기를 포함할 수 있다. 다양한 실시예에서, 전력 관리 제어기는 연산 장치의 다양한 다른 영역에 배치될 수도 있지만, 도 3에는 도시되어 있지 않다.As will be readily appreciated by those skilled in the art, FIG. 3 illustrates only two power management controllers (PCPMC 105 and IOPMC 110), but in various embodiments, there may be more than one power management controller. For example, in a multi-processor environment, each processing complex may have an associated processor complex power management controller. In various embodiments, a single processing complex may include one or more processor complex power management controllers. In various embodiments, the power management controller may be located in various other areas of the computing device, but is not shown in FIG. 3.

각종 실시예에서, PCPMC(105)는 다수의 소프트웨어(SW) 애플리케이션, 디바이스 드라이버, 및/또는 운영 체제(OS)(150)로부터 PM 가이드라인을 수신할 수 있다. 단일의 블록(150)으로서 도시되어 있으나, 당 분야에서 통상의 지식을 가진 자라면 다수의 구성요소를 나타낼 수 있음이 명백할 것이다. 각종 실시예에서, 레이턴시 공차를 포함하는 SW/OS PM 가이드라인은 레지스터 인터페이스를 통해 및/또는, 예를 들어, ACPI 호환 가능한 C 상태 인터페이스에 대한 확장을 통해 PCPMC(105)에 전달될 수 있다. PM 가이드라인은 최대 레이턴시 공차를 포함할 수 있으며 OS 인식은 프로세서 차단 이벤트의 발생으로부터 허용될 수 있는 한편 슬립 상태 및 제 1 인스트럭션에서, 정상/실행 상태로 진입할 때에, 실행된다.In various embodiments, PCPMC 105 may receive PM guidelines from multiple software (SW) applications, device drivers, and / or operating system (OS) 150. Although shown as a single block 150, it will be apparent to one of ordinary skill in the art that many of the components may be represented. In various embodiments, SW / OS PM guidelines including latency tolerances may be communicated to the PCPMC 105 via a register interface and / or through an extension to, for example, an ACPI compatible C state interface. The PM guideline may include a maximum latency tolerance and OS awareness may be allowed from the occurrence of a processor shutdown event while executing in the sleep state and the first instruction, when entering the normal / running state.

도 3을 참조하면, IOPMC(110)는 다수의 디바이스(112, 114, 116, 118), 다수의 링크(122, 124, 126, 128), 및/또는 다수의 서브시스템(132, 134 및 136)으로부터 PM 가이드라인을 수신할 수 있다. 링크 및/또는 서브시스템은 하나 이상의 디바이스를 컴퓨팅 디바이스에 결합하도록 사용될 수 있다. 예를 들어, 디바이스(112)는 USB 디바이스일 수 있고, 대응하는 서브시스템(132)은 USB 제어기일 수 있으며, 링크(122)는 USB 링크일 수 있고, 각각은 그 자신의 레이턴시 제약을 가질 수 있다. 각종 실시예에서, 다수의 디바이스(예를 들어, 116 및 118)는 단일의 서브시스템에 결합될 수 있다. 각종 실시예에서, 서브시스템(132, 134 및/또는 136)은 USB 호스트 제어기, 메모리 제어기, 이더넷 제어기, 또는 그래픽 제어기를 포함할 수 있으며, 이들로만 제한되지 않는다. 각종 실시예에서, 디바이스(112,..,118)의 각각은 전력 관리 가이드라인을 그 각각의 링크에 송신할 수 있다. 각종 실시예에서, 링크(122,...,128) 중 하나 이상은 디바이스 전력 관리 가이드라인을 링크 전력 관리 가이드라인으로 확장할 수 있으며 서브시스템(132, 134 및 136) 중 하나에 송신할 수 있다.Referring to FIG. 3, IOPMC 110 may include multiple devices 112, 114, 116, 118, multiple links 122, 124, 126, 128, and / or multiple subsystems 132, 134, and 136. PM guideline) can be received. Links and / or subsystems may be used to couple one or more devices to a computing device. For example, device 112 may be a USB device, corresponding subsystem 132 may be a USB controller, link 122 may be a USB link, and each may have its own latency constraint. have. In various embodiments, multiple devices (eg, 116 and 118) may be combined in a single subsystem. In various embodiments, subsystems 132, 134, and / or 136 may include, but are not limited to, a USB host controller, memory controller, Ethernet controller, or graphics controller. In various embodiments, each of the devices 112,... 118 may transmit power management guidelines to their respective links. In various embodiments, one or more of links 122,..., 128 may extend the device power management guidelines to link power management guidelines and transmit to one of subsystems 132, 134, and 136. have.

서브시스템(132, 134 및 136)은 각각의 링크로부터 수신된 PM 가이드라인 및/또는 서브시스템 PM 가이드라인을 생성하기 위한 디바이스를 고려하여 이를 IOPMC(110)에 송신할 수 있다. 예를 들어, USB 디바이스(112)는 연관된 USB 제어기(서브시스템(132))가 1msec 및 800μsec의 레이턴시 공차를 각각 가지면, USB 제어기는 서브시스템 PM 가이드라인, 2개의 레이턴시 공차 중 낮은 것, 즉, 800μsec을 포함하며, 이를 IOPMC(110)에 송신할 수 있다.Subsystems 132, 134, and 136 may consider the device for generating PM guidelines and / or subsystem PM guidelines received from each link and transmit them to IOPMC 110. For example, if USB device 112 has an associated USB controller (subsystem 132) with latency tolerances of 1 msec and 800 μsec, respectively, then the USB controller is a subsystem PM guideline, the lower of the two latency tolerances, i.e. 800 μsec, which may be transmitted to the IOPMC 110.

각종 실시예에서, 디바이스(116, 118), 링크(126, 128), 및/또는 서브시스템(136)은 (상이한 레이턴시 공차를 포함하는) 상이한 PM 가이드라인을 가지면, 서브시스템(136)은 (그 자신의 PM 가이드라인과 함께) 수신된 PM 가이드라인의 각각을 간단하게 IOPMC(110)에 재송할 수 있다. 이와 달리, 각종 실시예에서, 서브시스템(136)은 모든 수신된 PM 가이드라인을 고려하여 통일된 서브시스템 PM 가이드라인을 개발할 수 있다. 예를 들어, 서브시스템(136)은 디바이스(116, 118), 링 크(126, 128), 및/또는 서브시스템(136) 중 최소의 것을 IOPMC(110)에 송신할 수 있다. In various embodiments, if devices 116, 118, links 126, 128, and / or subsystem 136 have different PM guidelines (including different latency tolerances), subsystem 136 may ( Each of the received PM guidelines (along with its own PM guidelines) may simply be resent to IOPMC 110. Alternatively, in various embodiments, subsystem 136 may develop a unified subsystem PM guideline in view of all received PM guidelines. For example, subsystem 136 may transmit the least of devices 116, 118, links 126, 128, and / or subsystem 136 to IOPMC 110.

디바이스(112,...,118), 링크(122,...,128), 및/또는 서브시스템(132,...,136) 및/또는 애플리케이션은 디바이스 드라이버, OS(150)는 송신된 PM 가이드라인에 추가적인 정보를 포함할 수 있다. 예를 들어, 각종 실시예에서, PM 가이드라인은 QoS 파라미터, 인터럽트 주파수와 같은 휴리스틱스, I/O 트래픽 패턴, 유휴 지속 기간 시간(즉, 디바이스/서브시스템이 다음 스케줄링된 타이머 인터럽트에 대한 시간을 알고 있는 경우), 워크로드 예상, 및/또는 전력 관리 제어기에 대해 유용할 수 있는 다른 적절한 정보를 포함할 수 있으며, 이들로만 제한되지 않는다. 각종 실시예에서, 하나 이상의 디바이스/서브시스템은 이들의 PM 가이드라인에 각각의 메모리 액세스 레이턴시를 또한 포함할 수 있다. 각종 실시예에서, PM 제어기는 적절한 PM 가이드라인을 생성하도록, 레이턴시 공차와 함께, 메모리 액세스 레이턴시를 고려할 수 있다. 각종 실시예에서, 레이턴시 공차는 연관된 메모리 액세스 레이턴시에 적어도 부분적으로 근거할 수 있다.Devices 112, ..., 118, links 122, ..., 128, and / or subsystems 132, ..., 136 and / or applications are device drivers, and OS 150 transmits The PM guidelines may include additional information. For example, in various embodiments, the PM guidelines may specify QoS parameters, heuristics such as interrupt frequency, I / O traffic patterns, idle duration times (i.e., time for the next scheduled timer interrupt by the device / subsystem). If known), workload estimates, and / or other suitable information that may be useful for the power management controller. In various embodiments, one or more devices / subsystems may also include respective memory access latency in their PM guidelines. In various embodiments, the PM controller may consider memory access latency, along with latency tolerance, to generate appropriate PM guidelines. In various embodiments, the latency tolerance may be based at least in part on the associated memory access latency.

일단 PCPMC(105) 및 IOPMC(110)가 애플리케이션, 디바이스 드라이버, OS, 디바이스, 링크, 및/또는 서브시스템으로부터 전력 관리 가이드라인을 수신하면, PCPMC(105) 및 IOPMC(110)는 가이드라인을 교환하고, 절충하며/하거나 컴퓨팅 디바이스, 예를 들어, 프로세서, 전압 조절기, 디스플레이 패널, 클록 생성기, 및/또는 위상 동기 루프를 포함하되, 이들로만 제한되지 않는 컴퓨팅 디바이스의 각종 코어 구성요소 및 플랫폼 구성요소와 연관된 다수의 구성요소에 대해 동적 전력 관리 폴 리시(policy)를 공동으로 공식화할 수 있다. 각종 실시예에서, 개발된 전력 관리 폴리시는 도 2의 PM 폴리시(50)와 유사할 수 있다. Once PCPMC 105 and IOPMC 110 receive power management guidelines from an application, device driver, OS, device, link, and / or subsystem, PCPMC 105 and IOPMC 110 exchange guidelines. And / or various core components and platform components of a computing device, including but not limited to, a computing device, such as, but not limited to, a processor, a voltage regulator, a display panel, a clock generator, and / or a phase locked loop. Dynamic power management policy can be jointly formulated for multiple components associated with. In various embodiments, the developed power management policy may be similar to the PM policy 50 of FIG. 2.

각종 실시예에서, PCPMC(105) 및 IOPMC(110)는 PM 폴리시를 개발하면서 다른 인자를 고려할 수 있다. 예를 들어, 컴퓨팅 디바이스가 직접 매체 인터페이스(direct media interface : DMI)를 포함하는 경우, PM 폴리시를 개발하면서 DMI의 레이턴시가 또한 고려될 수 있다.In various embodiments, PCPMC 105 and IOPMC 110 may consider other factors while developing a PM policy. For example, if the computing device includes a direct media interface (DMI), the latency of the DMI may also be considered while developing a PM policy.

각종 실시예에서, 애플리케이션, 드라이버, 및/또는 OS(150), 디바이스(112,...,118), 링크(122,...,128), 및/또는 서브시스템(132,...,136)은 이들 각각의 PM 가이드라인에 성능 어드바이스(advice)를 포함할 수 있으며, 성능 어드바이스는 이들 구성요소 중 이용 가능하다면, 현재의 성능 레벨 및 예측된 향후의 성능 레벨을 포함할 수 있다. 각종 실시예에서, 전력 관리 제어기는 수신된 성능 어드바이스로부터 이들 구성요소의 레이턴시 공차를 연산할 수 있다. 이와 달리, 송신된 성능 어드바이스가 레이턴시 공차를 포함할 수 있다. In various embodiments, applications, drivers, and / or OS 150, devices 112,... 118, links 122,..., 128, and / or subsystems 132,... 136 may include performance advice in each of these PM guidelines, which may include current performance levels and predicted future performance levels, if available among these components. In various embodiments, the power management controller may calculate latency tolerances of these components from the received performance advice. Alternatively, the transmitted performance advice may include latency tolerance.

도 3에서 디바이스(112,..., 118) 및 서브시스템(132,...,136)이 IOPMC(110)에 연결되는 것으로 도시되어 있지만, 다양한 실시예에서, 이들 디바이스 및 서브시스템 중 일부는 IOPMC(110) 대신에(혹은 선택적으로나, 이에 더해서) PCPMC(105)에 연결될 수도 있다. 예컨대, PCIe 그래픽(PEG) 포트 상의 외부 버스 및/또는 그래픽 카드가 PCPMC(105)에 연결되어서 각각의 PM 가이드라인을 PCPMC(105)에 제공할 수도 있다. Although devices 112,... 118 and subsystems 132,... 136 are shown in FIG. 3 connected to IOPMC 110, in various embodiments, some of these devices and subsystems are shown. May be connected to PCPMC 105 instead of (or optionally, in addition to) IOPMC 110. For example, an external bus and / or graphics card on a PCIe graphics (PEG) port may be connected to the PCPMC 105 to provide each PM guideline to the PCPMC 105.

도 4는, 다양한 실시예에 따른, 도 2 및 3의 전력 관리 시스템에 적합한 전 력 관리 방법(200)의 흐름도이다. 도 2 및 3을 참조하면, 단계 210에서 PCPMC(105) 및 IOPMC(110)는 애플리케이션, 디바이스 드라이버 및 OS(150) 중 하나 이상, 디바이스(112,..,118), 링크(122,...,128) 및/또는 서브시스템(132,...,136)을 포함하는 제 1 복수의 구성 요소로부터 전력 관리 가이드라인을 수신할 수 있다. 단계 220에서, PCPMC(105) 및 IOPMC(110)는 함께 하나 이상의 코어 구성 요소, 및 예컨대, 프로세서, 전압 조정기, 디스플레이 패널, 클록 발생기 및/또는 페이즈 로크 루프와 같은 컴퓨팅 디바이스의 플랫폼 구성 요소를 포함하는 제 2 복수의 디바이스에 대한 PM 폴리시를 공동으로 전개한다. 4 is a flowchart of a power management method 200 suitable for the power management system of FIGS. 2 and 3, in accordance with various embodiments. 2 and 3, in step 210 the PCPMC 105 and the IOPMC 110 may include one or more of an application, a device driver, and an OS 150, devices 112,... 118, links 122,. ... 128 and / or subsystems 132,... 136 may receive power management guidelines from a first plurality of components. In step 220, PCPMC 105 and IOPMC 110 together comprise one or more core components and platform components of a computing device such as, for example, a processor, voltage regulator, display panel, clock generator and / or phase lock loop. The PM policies for the second plurality of devices are jointly developed.

단계 230에서는, 이 전개된 PM 폴리시에 적어도 부분적으로 기초해서, 제 2 복수의 구성 요소 및/또는 리소스 중 하나 이상이 슬립 모드(예컨대, 저전력 모드)에 들어갈지 결정한다. 어떤 구성 요소도 슬립 모드에 들어가지 않으면, 단계 210에서 PCPMC(105) 및 IOPMC(110)는, 제 1 복수의 구성 요소로부터 전력 관리 가이드라인을 계속 수신할 수 있다. In step 230, based at least in part on this deployed PM policy, determine whether one or more of the second plurality of components and / or resources enter a sleep mode (eg, a low power mode). If no component enters the sleep mode, in step 210 the PCPMC 105 and IOPMC 110 may continue to receive power management guidelines from the first plurality of components.

단계 230에서, 이 전개된 PM 폴리시가 제 2 복수의 구성 요소 및/또는 리소스 중 하나 이상이 슬립 모드에 들어간다는 것을 표시하면, 표시된 구성 요소는 단계 240에서 이 전개된 PM 폴리시에 적어도 부분적으로 기초해서, 적절한 슬립 모드에 들어갈 수 있다. 예컨대, 프로세서 차단 이벤트, HW 인터럽트 혹은 당업자에게 공지된 다른 적절한 인터럽트와 같은 인터럽트가 없으면, 구성 요소는 슬립 모드로 남아있을 수 있다. 단계 250에서 이러한 인터럽트를 검출하면, 단계 260에서, 구성 요소는 슬립 모드로부터 나와서 정상 실행 상태로 들어가고, 단계 210에서 PCPMC(105) 및 IOPMC(110)는 제 1 복수의 구성 요소로부터 전력 관리 가이드라인을 계속 수신한다. In step 230, if the deployed PM policy indicates that one or more of the second plurality of components and / or resources enter a sleep mode, then the indicated component is based at least in part on this deployed PM policy in step 240. Thus, an appropriate sleep mode can be entered. In the absence of an interrupt, such as, for example, a processor shutdown event, an HW interrupt, or other suitable interrupt known to those skilled in the art, the component may remain in sleep mode. Upon detecting such an interrupt in step 250, in step 260, the component exits the sleep mode and enters a normal run state, and in step 210, the PCPMC 105 and IOPMC 110 perform power management guidelines from the first plurality of components. Keep receiving.

도 6은, 전력 관리 가이드라인을 수신하고, 수신된 전력 관리 가이드라인에 적어도 부분적으로 기초해서 전력 관리 폴리시를 전개하는 시스템을 포함하는, 실시예의 일부를 실행하기에 적합한 예시적인 컴퓨터 시스템(500)의 블록도를 나타낸다. 일부 실시예에서, 컴퓨터 시스템(500)은 정보를 통신하는 통신 메커니즘 혹은 버스(511), 및 버스(511)에 연결되어서 정보를 처리하는 프로세서(512)와 같은 집적 회로 구성 요소를 포함할 수 있다. 6 illustrates an example computer system 500 suitable for implementing some of the embodiments, including a system that receives power management guidelines and deploys a power management policy based at least in part on the received power management guidelines. Shows a block diagram of. In some embodiments, computer system 500 may include a communications mechanism or bus 511 to communicate information, and integrated circuit components such as a processor 512 coupled to bus 511 to process information. .

컴퓨터 시스템(500)은, 버스(511)에 연결되어서, 정보 및 프로세서(512)가 수행할 지시를 저장하는 RAM(a random accesss memory) 또는 다른 동적 저장 장치(504)(메인 메모리라 함)를 더 포함한다. 메인 메모리(504)는 프로세서(512)가 지시를 수행하는 동안 임시 변수 혹은 다른 중간 정보를 저장하는데도 사용될 수 있다. Computer system 500 is connected to bus 511 to store a random accesss memory (RAM) or other dynamic storage device 504 (called main memory) that stores information and instructions for processor 512 to perform. It includes more. Main memory 504 may also be used to store temporary variables or other intermediate information while processor 512 performs instructions.

펌웨어(503)는, 자신에게 기록되어 있는 경로에 대한 연산을 갖고 있는 EPROM(Electronically Programmable Read-Only Memory)과 같이, 소프트웨어 및 하드웨어의 조합이 될 수 있다. 펌웨어(503)는 내장된 파운데이션 코드, BIOS(Basic Input/Output System) 코드 혹은 다른 유사한 코드가 될 수 있다. 펌웨어(503)를 통해서 컴퓨터(500)는 자체적으로 부팅할 수 있다. The firmware 503 may be a combination of software and hardware, such as an EPROM (Electronically Programmable Read-Only Memory) having an operation on a path recorded therein. The firmware 503 may be embedded foundation code, basic input / output system (BIOS) code, or other similar code. The firmware 500 allows the computer 500 to boot itself.

컴퓨터 시스템(500)은, 버스(511)에 연결되어서, 프로세서(512)용 정적 정보 및 지시를 저장하는 ROM(a read-only memory) 및/또는 다른 정적 저장 장치(506)를 포함할 수도 있다. 정적 저장 장치(506)는 OS 레벨 및 애플리케이션 레벨의 소프트웨어를 저장할 수 있다. Computer system 500 may include a read-only memory (ROM) and / or other static storage device 506, coupled to bus 511, that stores static information and instructions for processor 512. . The static storage device 506 can store software at the OS level and at the application level.

컴퓨터 시스템(500)은, 버스(511)에 연결되어서, 정보를 컴퓨터 사용자에게 표시하는 음극선관(CRT) 혹은 LCD(liquid crystal display)와 같은 디스플레이 장치(521)에도 연결될 수 있다. 칩셋(536)과 같은 칩셋이 디스플레이 디바이스(521)와 인터페이스할 수 있다. Computer system 500 may be coupled to bus 511 and to a display device 521 such as a cathode ray tube (CRT) or liquid crystal display (LCD) that displays information to a computer user. A chipset, such as chipset 536, may interface with display device 521.

정보 및 커맨트 선택을 프로세서(512)에 통신하기 위해서, 문자와 숫자 및 다른 키를 포함하는 자판 입력 디바이스(키보드)(522)가 버스(511)에 연결될 수도 있다. 추가적인 사용자 입력 디바이스로는, 버스(511)에 연결되어서, 방향 정보 및 커맨트 선택을 프로세서(512)에 통신하고, 디스플레이 디바이스(521) 상에서 커서 이동을 제어하기 위한, 마우스, 트랙볼, 트랙패드, 스타일러스 혹은 커서 방항키와 같은 커서 제어 디바이스(523)가 있다. 칩셋(536)과 같은 칩셋이 입출력 디바이스와 인터페이스할 수 있다. In order to communicate information and command selections to the processor 512, a keyboard input device (keyboard) 522 that includes letters and numbers and other keys may be coupled to the bus 511. Additional user input devices include a mouse, trackball, trackpad, stylus, connected to the bus 511 to communicate direction information and command selections to the processor 512 and to control cursor movement on the display device 521. Or a cursor control device 523, such as a cursor navigation key. A chipset, such as chipset 536, may interface with the input / output device.

버스(511)에 연결될 수 있는 다른 디바이스는 종이, 필름, 또는 유사한 유형의 매체와 같은 매체 상에 인스트럭션, 데이터 또는 그 밖의 정보를 인쇄하는 데 사용될 수 있는 하드카피 디바이스(524)이다. 또한, 스피커 및/또는 마이크로폰(도시하지 않음)과 같은 녹음 및 재생 디바이스는 선택적으로 컴퓨터 시스템(500)과의 오디오 인터페이스 접속을 위한 버스(511)에 연결될 수 있다. 버스(511)에 연결될 수 있는 다른 디바이스는 유선/무선 통신 장치(525)이다.Another device that may be connected to the bus 511 is a hardcopy device 524 that can be used to print instructions, data or other information on a medium such as paper, film, or similar type of medium. In addition, recording and playback devices such as speakers and / or microphones (not shown) may optionally be connected to the bus 511 for audio interface connection with the computer system 500. Another device that may be connected to the bus 511 is a wired / wireless communication device 525.

통신 시스템(500)은, 당업자라면 최소한 본 명세서에 제공된 교시내용에 기 초하여 이해할 수 있는 바와 같이, 배터리와 같은 전원(528), AC 전력 플러그 커넥션 및 정류기 등을 구비한다.The communication system 500 includes a power source 528, such as a battery, an AC power plug connection, a rectifier, and the like, as those skilled in the art will understand at least based on the teachings provided herein.

다양한 실시예에서, 도 2의 PMC(15) 및/또는 도 3의 PCPMC(105)/IOPMC(110)와 유사한 전력 관리 제어기(도 6에는 도시하지 않음)는 도 6의 컴퓨터 시스템(500)에 포함될 수 있다. 다양한 실시예에서, 전력 관리 제어기는 버스(511)에 연결될 수 있고, 컴퓨터 시스템(500)의 다수의 구성요소, 예를 들어 프로세서(512)에 의해 실행되도록 구성된 하나 이상의 애플리케이션, 컴퓨터 시스템(500)의 OS, 컴퓨터 시스템(500)의 하나 이상의 디바이스 드라이버, 펌웨어(503), 칩 세트(536), 컴퓨터 시스템(500)의 하나 이상의 제어기(예를 들어, 도면에는 도시하지 않은 USB 호스트 제어기, 메모리 제어기, 이더넷 제어기, 그래픽 제어기 등), 컴퓨터 시스템(500)에 연결된 하나 이상의 디바이스(디스플레이 디바이스(521), 키보드(522), 커서 제어 디바이스(523), 하드카피 디바이스(524), 통신 인터페이스(525) 등을 포함하되, 이들로 제한되지는 않음)로부터 전력 관리 가이드라인을 수신할 수 있다. 다양한 실시예에서, 전력 관리 제어기는 컴퓨터 시스템(500)의 다수의 구성요소, 예를 들어, 컴퓨터 시스템(500)의 하나 이상의 플랫폼 구성요소, 프로세서(512), 칩 세트(536), 컴퓨터 시스템(500)에 포함된 하나 이상의 전압 조절기 및 클록 발생기, 위상 고정 루프, 디스플레이 패널(예를 들어, 디스플레이 디바이스(521) 등에 대한 전력 관리 가이드라인을 개발할 수 있다. 다양한 실시예에서, 프로세서(512)는 다수의 작업을 실행하여 운용 체제 서비스, 디바이스 드라이버 서비스, 및/또는 하나 이상의 애플리케이션 기능을 제공하도록 구성될 수 있다. 다양한 실시예에서, 전력 관리 제어기는, 이전에 논의된 바와 같이, 프로세서(512)에 의해 실행된 작업 중 하나 이상의 작업으로부터 전력 관리 가이드라인 및 성능 어드바이스를 수신할 수 있다. In various embodiments, a power management controller (not shown in FIG. 6) similar to the PMC 15 of FIG. 2 and / or the PCPMC 105 / IOPMC 110 of FIG. 3 is incorporated into the computer system 500 of FIG. 6. May be included. In various embodiments, the power management controller may be connected to the bus 511 and one or more applications, computer system 500 configured to be executed by a number of components of computer system 500, such as processor 512. OS, one or more device drivers of computer system 500, firmware 503, chip set 536, one or more controllers of computer system 500 (e.g., USB host controller, memory controller not shown in the figure) , Ethernet controller, graphics controller, etc.), one or more devices (display device 521, keyboard 522, cursor control device 523, hardcopy device 524, communication interface 525) connected to computer system 500. Power management guidelines), including, but not limited to, and the like. In various embodiments, the power management controller may include a number of components of computer system 500, such as one or more platform components of computer system 500, processor 512, chip set 536, computer system ( Power management guidelines may be developed for one or more voltage regulators and clock generators, phase locked loops, display panels (eg, display device 521, etc.) included in 500. In various embodiments, the processor 512 may It may be configured to execute a number of tasks to provide operating system services, device driver services, and / or one or more application functions In various embodiments, the power management controller, as discussed previously, may include a processor 512. Power management guidelines and performance advice may be received from one or more of the tasks executed by.

다양한 실시예에서, 프로세서(512) 및 전력 관리 제어기는 집적 회로 상에 공동 배치될 수 있다. 전력 관리 제어기가 PCPMC 및 IOPMC를 포함한다면(도 3과 유사함), 다양한 실시예에서, 프로세서(512) 및 PCPMC는 집적 칩 상에 공동 배치될 수 있으며, 다양한 실시예에서, IOPMC는 컴퓨터 시스템(500)의 I/O 복합체(도면에는 도시하지 않음) 내에 배치될 수 있다. 다양한 실시예에서, 프로세서(512)는 이전에 논의된 전력 관리 제어기 중 하나 이상의 전력 관리 제어기로서 동작하도록 구성될 수 있다. 다양한 실시예에서, 프로세서(512), 다양한 하드웨어 구성요소 및/또는 전력 관리 제어기를 포함하는 컴퓨터 시스템(500)은 컴퓨터 시스템(500)이 이동 컴퓨팅에 용이하게 사용되게 하도록 구성되는 치수 또는 형상을 가질 수 있다. 다양한 실시예에서, 컴퓨터 시스템(500)은 이동 전화, 랩톱, PDA, 팜톱, MP3 재생기, PC, 셋톱 박스, 또는 적절한 유형의 기타 컴퓨팅 디바이스로서 사용될 수 있다. 다양한 실시예에서, 컴퓨터 시스템(500)은 이동 컴퓨팅 디바이스로서 사용될 수 있다. 다양한 실시예에서, 컴퓨터 시스템(500)의 프로세서(512) 및 다양한 구성요소는 컴퓨터 시스템이 용이하게 이동 컴퓨팅에 사용되게 하도록 구성되는 치수 또는 형상을 갖는 바디에 하우징될 수 있다.In various embodiments, processor 512 and power management controller may be co-located on integrated circuits. If the power management controller includes a PCPMC and an IOPMC (similar to FIG. 3), in various embodiments, the processor 512 and the PCPMC may be co-located on an integrated chip, and in various embodiments, the IOPMC may be a computer system ( 500) may be disposed within an I / O composite (not shown). In various embodiments, the processor 512 may be configured to operate as one or more of the power management controllers discussed previously. In various embodiments, computer system 500 including processor 512, various hardware components, and / or power management controllers may have dimensions or shapes configured to facilitate computer system 500 for mobile computing. Can be. In various embodiments, computer system 500 may be used as a mobile phone, laptop, PDA, palmtop, MP3 player, PC, set-top box, or other computing device of the appropriate type. In various embodiments, computer system 500 may be used as a mobile computing device. In various embodiments, processor 512 and various components of computer system 500 may be housed in a body having a dimension or shape that is configured to facilitate computer system use in mobile computing.

본 명세서에는 특정 실시예가 예시되고 설명되었지만, 당업자라면, 본 발명의 실시예의 범주로부터 벗어남이 없이, 광범위한 대안 및/또는 등가 구현이 도시 되고 설명된 특정 실시예를 대체할 수 있음을 이해할 수 있을 것이다. 이 출원서는 본 명세서에서 논의된 실시예의 임의의 적응 또는 변형을 포괄하도록 의도된다. 따라서, 본 발명의 실시예는 명백히 특허청구범위 및 그것의 등가물에 의해서만 제한되는 것으로 의도된다.While specific embodiments have been illustrated and described herein, those skilled in the art will appreciate that a wide variety of alternatives and / or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the embodiments of the invention. . This application is intended to cover any adaptations or variations of the embodiments discussed herein. Accordingly, embodiments of the invention are expressly intended to be limited only by the claims and the equivalents thereof.

도 1은 예시적인 컴퓨팅 시스템의 플랫폼의 전체 전력 소비와 그 프로세서의 전력 소비에 대한 예시적인 그래픽 표현,1 is an exemplary graphical representation of total power consumption of a platform of an exemplary computing system and power consumption of its processor;

도 2는 다양한 실시예에 따른 전력 관리 시스템의 블록도,2 is a block diagram of a power management system according to various embodiments of the present disclosure;

도 3은 다양한 실시예에 따른 전력 관리 시스템의 또 다른 블록도,3 is another block diagram of a power management system according to various embodiments;

도 4는 다양한 실시에에 따른 전력 관리 방법의 흐름도,4 is a flowchart of a power management method according to various embodiments of the present disclosure;

도 5는 다양한 실시예에 따른 Wi-Fi 멀티미디어 (WMM) 전력 절약 모드의 레이턴시 공차 보고 시스템의 예시적인 흐름도,5 is an exemplary flowchart of a latency tolerance reporting system in a Wi-Fi multimedia (WMM) power saving mode, in accordance with various embodiments;

도 6은 일부 실시예를 실시하기에 적합한 예시적인 컴퓨터 시스템의 블륵도.6 is a black diagram of an example computer system suitable for practicing some embodiments.

Claims (14)

플랫폼의 전력 관리 제어기에 의해, 상기 플랫폼을 호스팅하는 시스템과 관련된 제 1 복수의 구성요소로부터 전력 관리 가이드라인을 수신하는 단계와,Receiving, by a platform's power management controller, power management guidelines from a first plurality of components associated with a system hosting the platform; 상기 전력 관리 제어기에 의해, 상기 수신된 전력 관리 가이드라인에 적어도 일부분 기초하여 상기 시스템의 제 2 복수의 구성요소 중 하나 이상을 관리하기 위한 전력 관리 폴리시(power management policy)를 전개(developing)하는 단계를 포함하되,Developing, by the power management controller, a power management policy for managing one or more of the second plurality of components of the system based at least in part on the received power management guidelines Including but not limited to: 상기 수신하는 단계는, 상기 전력 관리 제어기에 의해, 상기 제 1 복수의 구성요소 중 하나 이상으로부터 상기 제 1 복수의 구성요소 중 하나 이상의 구성요소의 레이턴시 공차(latency tolerances)를 수신하는 단계를 포함하는The receiving step includes receiving, by the power management controller, latency tolerances of one or more of the first plurality of components from one or more of the first plurality of components. 방법.Way. 제 1 항에 있어서,The method of claim 1, 상기 전개하는 단계는, 상기 전력 관리 제어기에 의해, 상기 제 2 복수의 구성요소 중 적어도 하나에 대한 슬립 레벨(a sleep level)을 결정하는 단계를 포함하는The deploying includes determining, by the power management controller, a sleep level for at least one of the second plurality of components. 방법.Way. 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 전개하는 단계는, 상기 전력 관리 제어기에 의해, 상기 제 2 복수의 구성요소 중 하나 이상이 상기 구성요소에 관해 결정되는 슬립 레벨로부터 깨어나는 데 걸리는 시간이 상기 제 1 복수의 구성요소 중 하나 이상의 구성요소의 상기 레이턴시 공차 미만이 되도록, 상기 제 2 복수의 구성요소 중 하나 이상에 대한 복수의 슬립 레벨을 결정하는 단계를 포함하는The deploying step includes the time taken by the power management controller to wake up one or more of the second plurality of components from a sleep level determined with respect to the component. Determining a plurality of sleep levels for one or more of the second plurality of components such that the component is less than the latency tolerance of the component. 방법.Way. 제 1 항에 있어서,The method of claim 1, 상기 수신하는 단계는, 상기 전력 관리 제어기에 의해, 상기 제 1 복수의 구성요소 중 적어도 하나의 워크로드 예상치(workload expectation), 서비스 품질 파라미터(quality of service parameter) 및/또는 레이턴시 공차를 수신하는 단계를 포함하는The receiving may include receiving, by the power management controller, a workload expectation, a quality of service parameter and / or a latency tolerance of at least one of the first plurality of components. Containing 방법.Way. 제 1 항에 있어서,The method of claim 1, 상기 전개하는 단계는, 상기 전력 관리 제어기에 의해, 상기 시스템의 트래픽 패턴 및/또는 활동 패턴에 대해 수집된 휴리스틱스(heuristics)에 적어도 부분적으로 더 기초하여 상기 전력 관리 폴리시를 전개하는 단계를 포함하는The deploying includes deploying, by the power management controller, the power management policy based at least in part on heuristics collected for traffic and / or activity patterns of the system. 방법.Way. 제 1 항에 있어서,The method of claim 1, 상기 수신하는 단계는, 상기 전력 관리 제어기에 의해, 소프트웨어 애플리케이션, 디바이스 드라이버, 상기 시스템에 결합된 외부 디바이스, 상기 시스템에 상기 외부 디바이스를 결합하는 링크, 제어기 및 운영 체제로 구성된 그룹으로부터 선택된 구성요소로부터 전력 관리 가이드라인을 수신하는 단계를 포함하는The receiving step is performed by the power management controller from a component selected from the group consisting of a software application, a device driver, an external device coupled to the system, a link coupling the external device to the system, a controller and an operating system. Receiving power management guidelines 방법.Way. 제 1 항에 있어서,The method of claim 1, 상기 전개하는 단계는, 상기 전력 관리 제어기에 의해, 상기 제 2 복수의 구성요소 중 하나 이상에 전력 공급을 일시적으로 차단하는 것을 포함하는 전력 관리 폴리시를 전개하는 단계를 포함하는The deploying includes deploying, by the power management controller, a power management policy comprising temporarily shutting off power supply to one or more of the second plurality of components. 방법.Way. 제 1 복수의 구성요소로부터 상기 제 1 복수의 구성요소 중 하나 이상의 구성요소의 레이턴시 파라미터를 수신하고, 상기 수신된 레이턴시 파라미터에 적어도 부분적으로 기초하여 제 2 복수의 구성요소의 전력 소비를 관리하는 전력 관리 폴리시를 결정하도록 구성된 전력 관리 제어기를 포함하되,Power to receive latency parameters of one or more of the first plurality of components from a first plurality of components and to manage power consumption of the second plurality of components based at least in part on the received latency parameters; A power management controller configured to determine a management policy, 상기 제 1 복수의 구성요소 중 하나 이상의 구성요소의 상기 수신된 레이턴시 파라미터는 제각기의 레이턴시 공차를 포함하는The received latency parameters of one or more of the first plurality of components include respective latency tolerances. 장치.Device. 제 9 항에 있어서,The method of claim 9, 상기 전력 관리 제어기는,The power management controller, 플랫폼의 중앙 처리 복합체(central processing complex)에 배치되고 상기 제 1 복수의 구성요소 중 제 1 구성요소의 레이턴시 파라미터를 수신하도록 구성된 프로세서 전력 관리 제어기와,A processor power management controller disposed in a central processing complex of the platform and configured to receive latency parameters of a first of the first plurality of components; 상기 플랫폼의 I/O 처리 복합체에 배치되고 상기 제 1 복수의 구성요소 중 제 2 구성요소의 레이턴시 파라미터를 수신하도록 구성된 입/출력(I/O) 전력 관리 제어기를 포함하되,An input / output (I / O) power management controller disposed in the I / O processing complex of the platform and configured to receive latency parameters of a second of the first plurality of components, 상기 프로세서 전력 관리 제어기 및 상기 I/O 전력 관리 제어기는 또한 상기 수신된 레이턴시 파라미터를 교환하고 상기 제 2 복수의 구성요소에 대한 상기 전력 관리 폴리시를 공동으로 결정하도록 구성되는The processor power management controller and the I / O power management controller are further configured to exchange the received latency parameters and to jointly determine the power management policy for the second plurality of components. 장치.Device. 제 9 항에 있어서,The method of claim 9, 상기 제 2 복수의 구성요소 중에는 프로세서, 전압 조정기, 디스플레이 패널, 클록 발생기 및 위상 고정 루프로 구성된 그룹으로부터 선택되는 구성요소가 포함되는The second plurality of components includes a component selected from the group consisting of a processor, a voltage regulator, a display panel, a clock generator, and a phase locked loop. 장치.Device. 제 9 항에 있어서,The method of claim 9, 상기 전력 관리 제어기는 또한 상기 제 2 복수의 구성요소 중 하나 이상이 상기 구성요소에 관해 결정되는 슬립 레벨로부터 깨어나는 데 걸리는 시간이 상기 제 1 복수의 구성요소 중 하나 이상의 구성요소의 상기 레이턴시 공차 미만이 되도록, 상기 제 2 복수의 구성요소 중 하나 이상에 대한 복수의 슬립 레벨을 결정함으로써 상기 전력 관리 폴리시를 결정하도록 구성되는The power management controller also has a time for one or more of the second plurality of components to wake up from a sleep level determined with respect to the component is less than the latency tolerance of one or more of the first plurality of components. And determine the power management policy by determining a plurality of sleep levels for one or more of the second plurality of components. 장치.Device. 제 10 항에 있어서,11. The method of claim 10, 상기 제 1 구성요소는 소프트웨어 애플리케이션, 디바이스 드라이버 및 운영 체제로 구성된 그룹으로부터 선택되고,The first component is selected from the group consisting of a software application, a device driver and an operating system, 상기 제 2 구성요소는 상기 장치에 결합된 외부 디바이스, 상기 디바이스가 결합되는 상기 장치 내의 서브시스템 및 상기 장치의 기능을 제어하는 제어기로 구성된 그룹으로부터 선택되는The second component is selected from the group consisting of an external device coupled to the apparatus, a subsystem within the apparatus to which the device is coupled, and a controller controlling the functionality of the apparatus. 장치.Device. 제 9 항에 있어서,The method of claim 9, 상기 장치는 이동 컴퓨팅용으로 구성된 컴퓨팅 디바이스에 배치되도록 구성된 플랫폼인The apparatus is a platform configured to be deployed on a computing device configured for mobile computing. 장치.Device.
KR1020090027647A 2008-03-31 2009-03-31 Platform power management based on latency guidance KR101087429B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090027647A KR101087429B1 (en) 2008-03-31 2009-03-31 Platform power management based on latency guidance

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/059,992 2008-03-31
KR1020090027647A KR101087429B1 (en) 2008-03-31 2009-03-31 Platform power management based on latency guidance

Publications (2)

Publication Number Publication Date
KR20090104768A KR20090104768A (en) 2009-10-06
KR101087429B1 true KR101087429B1 (en) 2011-11-25

Family

ID=41534537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090027647A KR101087429B1 (en) 2008-03-31 2009-03-31 Platform power management based on latency guidance

Country Status (1)

Country Link
KR (1) KR101087429B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176570B2 (en) 2012-12-29 2015-11-03 Intel Corporation System and method for providing universal serial bus link power management policies in a processor environment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026820B2 (en) * 2012-12-29 2015-05-05 Intel Corporation Communication link and network connectivity management in low power mode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100563691B1 (en) * 2003-06-09 2006-03-28 엘지전자 주식회사 Apparatus and method for managing power in computer system
US20070234088A1 (en) * 2006-04-04 2007-10-04 Microsoft Corporation Identifying a target processor idle state

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100563691B1 (en) * 2003-06-09 2006-03-28 엘지전자 주식회사 Apparatus and method for managing power in computer system
US20070234088A1 (en) * 2006-04-04 2007-10-04 Microsoft Corporation Identifying a target processor idle state

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176570B2 (en) 2012-12-29 2015-11-03 Intel Corporation System and method for providing universal serial bus link power management policies in a processor environment

Also Published As

Publication number Publication date
KR20090104768A (en) 2009-10-06

Similar Documents

Publication Publication Date Title
US8176341B2 (en) Platform power management based on latency guidance
KR101519082B1 (en) Sleep processor
KR102082241B1 (en) Power efficient processor architecture
US6760850B1 (en) Method and apparatus executing power on self test code to enable a wakeup device for a computer system responsive to detecting an AC power source
JP5410109B2 (en) Power control system and power control method
US9600059B2 (en) Facilitating power management in a multi-core processor
JP5340335B2 (en) Information processing device
EP4273666A2 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
US7334138B2 (en) Windows-driven power management for peripheral devices in a computer system
KR20080072095A (en) Method and apparatus for a zero voltage processor sleep state
CN104024980A (en) Connected standby sleep state
JPH096465A (en) Information processor and its control method
US20070079154A1 (en) Method for optimizing platform power delivery
US6477655B1 (en) System and method to set PME—status bit and wake up the system, and selectively load device driver by searching who set the bit without requiring clock
JP4846862B2 (en) Information processing apparatus and power saving control method
KR101087429B1 (en) Platform power management based on latency guidance
JP2013176878A (en) Image forming apparatus, control method of image forming apparatus and program
CN112771470A (en) System, apparatus and method for common power control of multiple intellectual property bodies and shared power rails
CN103970253B (en) Power-saving operation method and electronic device
US7272731B2 (en) Information handling system having reduced power consumption
Macht GreenIT: Power Consumption and-Optimization of PCs
KR20060056643A (en) Method and apparatus for power management on computer system

Legal Events

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

Payment date: 20141031

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 9