KR101162156B1 - 전력 관리를 위한 다운스트림 디바이스 서비스 지연 보고 - Google Patents

전력 관리를 위한 다운스트림 디바이스 서비스 지연 보고 Download PDF

Info

Publication number
KR101162156B1
KR101162156B1 KR1020090130939A KR20090130939A KR101162156B1 KR 101162156 B1 KR101162156 B1 KR 101162156B1 KR 1020090130939 A KR1020090130939 A KR 1020090130939A KR 20090130939 A KR20090130939 A KR 20090130939A KR 101162156 B1 KR101162156 B1 KR 101162156B1
Authority
KR
South Korea
Prior art keywords
state
service delay
downstream
logic
transition
Prior art date
Application number
KR1020090130939A
Other languages
English (en)
Other versions
KR20100080395A (ko
Inventor
자야 제야실란
짐 왈쉬
로버트 고흐
바네스 쿠퍼
네일 송어
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20100080395A publication Critical patent/KR20100080395A/ko
Application granted granted Critical
Publication of KR101162156B1 publication Critical patent/KR101162156B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • 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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

개시된 일 실시예의 경우에, 다운스트림 디바이스의 적어도 일부에 대해 제 1 상태로부터 제 2의 상이한 상태로의 천이가 식별될 수 있다. 제 1 및 제 2 상태는 다운스트림 디바이스의 적어도 일부에 대한 활동에 관한 상이한 레벨에 대응할 수 있다. 서비스 지연에 대응하는 데이터는 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리하기 위해 하나 이상의 업스트림 디바이스에 대해 식별된 천이에 응답하여 업스트림 디바이스로 송신될 수 있다.

Description

전력 관리를 위한 다운스트림 디바이스 서비스 지연 보고{DOWNSTREAM DEVICE SERVICE LATENCY REPORTING FOR POWER MANAGEMENT}
본 명세서에 기술되는 실시예들은 전반적으로 전력 관리에 관한 것이다.
전력 관리는 여러 디바이스 및 시스템에서 전력 효율을 개선하여 전력 소비 및/또는 열 소산을 감소시키기 위해 사용된다. 배터리 파워형 모바일 디바이스 및 시스템의 경우, 전력 관리는 기능을 확장하는데 도움을 줄 수 있다.
일부의 플랫폼 레벨 전력 관리는 플랫폼 상에서 수집된 일부의 휴어리스틱스(heuristics) 및 운영 체제에 의해 제공된 일부의 지침(guidance)에 기초를 두고 있다. 프로세서 이용률은 플랫폼 활동성의 대략적 추정치로서 사용될 수 있다. 그러나, 대량의 입/출력 활동과 소량의 프로세서 이용률이 존재할 때, 그 플랫폼은 I/O 성능에 영향을 끼치는 저전력 상태로 진입하게 될 것이다. 실제로, 플랫폼이 보다 깊은 전력 상태로 진입하게 됨에 따라, 직접 메모리 액세스(DMA) 액세스 및 인터럽트와 같은 이벤트를 차단하기 위한 그 응답 지연은 증가하게 된다. 비록 여러 I/O 디바이스들이 플랫폼으로부터 일부 고정된 최소 응답 지연에 견디도록 설계되지만, 이는 플랫폼이 진입할 수 있는 전력 상태의 깊이를 효율적으로 제한할 수 있다. 만약 플랫폼이 I/O 디바이스가 견딜 수 있는 고정된 최소값을 넘어서 응답 지연을 증가시키는 보다 깊은 전력 상태로 진입하게 되면 그 플랫폼은 기능성 및/또는 성능을 저하시킬 것이다.
아래의 상세한 설명은 전력 관리를 위한 다운스트림 디바이스 서비스 지연 보고에 관한 장치, 방법 및 시스템의 실시예를 기술하고 있다. 가령, 구조(물), 기능 및/또는 특성과 같은 특징들은 편의상 일 실시예를 참조하여 기술되며, 임의의 적당한 하나 이상의 기술된 특징을 가지고 다양한 실시예를 구현할 수가 있다.
상기한 바와 같은 본 발명에 의하면, 다운스트림 디바이스의 서비스 지연 보고에 의해 전력 효율을 개선함으로써, 전력 관리 기능을 확장할 수 있게 된다.
도 1은 하나 이상의 프로세서(110)와 프로세서에 연결된 플랫폼 제어 로 직(120)을 포함하는 일 예의 시스템(100)을 도시하고 있다. 일 실시예의 프로세서는 프로세서에 대한 전력 효율 개선을 지원하는 하나 이상의 프로세서 전력 관리 제어기(PPMC)를 가질 수 있다. 일 실시예의 플랫폼 제어 로직(120)은 시스템(100)의 전력 효율 개선을 지원하는 플랫폼 제어기 전력 관리 제어기(PCPMC)를 가질 수 있다. 일 실시예의 PCPMC(122)는 가령 시스템(100)의 하나 이상의 구성요소가 덜 활성적이거나 아이들 상태에 있을 때 다수의 저전력 상태 또는 슬립(sleep) 상태 중의 하나로 진입하는 시스템(100)의 하나 이상의 구성요소를 관리할 수 있다.
일 실시예의 PCPMC(122)는 전력 효율 개선을 지원하는 시스템(100)의 구성요소의 전력 관리 조정을 지원할 수 있다. 일 실시예의 PCPMC(122)는 PPMC(112) 및 PCPMC(122)에 대한 하나 이상의 PPMC(112)와 조정하여 하나 이상의 구성요소들이 진입할 수 있는 저전력 상태의 깊이를 보다 우수하게 식별할 수 있으며, 하나 이상의 다른 구성요소에 여전히 응답적이므로 기능 및/또는 성능 저하에 대한 우려가 감소된다.
일 실시예의 PCPMC(122)는 하나 이상의 다운스트림 디바이스, 가령 디바이스(132)로부터 그 디바이스의 서비스 지연에 해당하는 데이터를 수신할 수 있다. 일 실시예의 PCPMC(122)는 적어도 부분적으로는 수신된 데이터에 기초하여 전력을 관리할 수 있으며 따라서 PCPMC(122)는 적어도 부분적으로 대응하는 서비스 지연에 기초하여 전력을 관리할 수 있다. 일 실시예의 서비스 지연은 그 다운스트림 디바이스에 대한 서비스 지연 허용한계일 수 있다. 일 실시예의 서비스 지연은 적어부 부분적으로는 그 다운스트림 디바이스가 그의 기능 또는 성능에 악영향을 끼치지 않고 견딜 수 있는 최대 지연에 기초할 수 있다. 일 실시예의 서비스 지연은 그 다운스트림 디바이스의 적어도 일부에 대한 활동성에 관한 레벨에 대응할 수 있다. 일 실시예의 PCPMC(122)는 따라서 그 다운스트림 디바이스의 적어도 일부에 대한 활동성 레벨에 적어도 부분적으로 의존하여 그 다운스트림 디바이스로부터 시간 경과에 따른 상이한 서비스 지연을 수신할 수 있다. 일 실시예의 PCPMC(122)는 시스템(100)의 하나 이상의 구성요소가 진입할 수 있는 저전력 상태의 깊이를 보다 우수하게 식별할 수 있으며 여전히 그 다운스트림 디바이스에 응답적이므로 기능 및/또는 성능 저하에 대한 우려가 감소된다.
일 실시예의 하나 이상의 PPMC(112)는 PCPMC(122)와 조정할 수 있으며 또한 다운스트림 디바이스에 대한 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리할 수도 있다. 일 실시예의 PCPMC(122)는 디바이스에 대한 서비스 지연에 대응하는 수신된 데이터를 PPMC(112)에 대한 하나 이상의 PPMC(112)에 송신하여 그 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리할 수 있다. 일 실시예의 하나 이상의 PPMC(112)는 PCPMC(122)가 디바이스에 대한 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리하는 방법에 적어도 부분적으로 기초한 그 서비스 지연에 적어도 부분적으로 기초하여 전력을 직접 관리할 수도 있다.
일 실시예의 플랫폼 제어 로직(120)은 하나 이상의 디바이스, 가령 디바이스(132, 134)와 통신하는 하나 이상의 인터페이스 제어기(124)를 포함할 수 있다. 이러한 인터페이스 제어기(124)는 임의의 적당한 방식으로 하나 이상의 디바이스와 인터페이스하는 임의의 적당한 로직을 포함할 수 있다. 일 실시예의 하나 이상의 인터페이스 제어기(124)는 하나 이상의 표준 규격, 가령 제한없이 예로서의 임의의 USB 규격(가령, USB 규격 개정 2.0, 2000년, 4월 27일; USB 2.0 링크 전력 관리 부록 엔지니어링 변경 고시, 2007년 7월 16일; USB 3.0 규격 개정 1.0, 2008년 11월 12일) 및/또는 임의의 적당한 PCI 또는 PCI 익스프레스 규격(가령, PCI 익스프레스 베이스 규격 개정 1.0, 2002년 7월 22일; PCI 익스프레스 베이스 규격 개정 2.0, 2007년 1월 15일)과 호환될 수 있다.
일 실시예의 하나 이상의 인터페이스 제어기(124)는 하나 이상의 다운스트림 디바이스로부터 다운스트림 디바이스의 서비스 지연에 대응하는 데이터를 수신하고 그 데이터를 PCPMC(122)에 송신할 수 있다. 일 실시예의 하나 이상의 인터페이스 제어기(124)는 그 인터페이스 제어기(124) 및 하나 이상의 디바이스에 대한 커넥션 또는 링크에 대한 전력 효율 개선을 지원하는 인터페이스 제어기 전력 관리 제어기(ICPMC)를 포함할 수 있다. 일 실시예의 하나 이상의 ICPMC(126)는 하나 이상의 디바이스로부터 그 디바이스에 대한 서비스 지연에 대응하는 데이터를 수신하고 그 수신된 데이터에 적어도 부분적으로 기초하여 전력을 관리하며 따라서 대응하는 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리할 수 있다. 일 실시예의 PCPMC(122)는 하나 이상의 PCPMC(122)가 디바이스 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리하는 방법에 적어도 부분적으로 기초한 그 서비스 지연에 적어도 부분적으로 기초하여 전력을 직접 관리할 수도 있다.
일 실시예의 인터페이스 제어기(124)는 디바이스(가령, 디바이스(136))의 서비스 지연에 대응하는 데이터(가령, 다른 디바이스(가령, 디바이스(134))로부터의 다운스트림을 수신할 수 있다. 일 실시예의 디바이스(134)는 디바이스(136)으로부터, 디바이스(136)의 서비스 지연에 대응하는 데이터를 수신하고 그 데이터를 인터페이스 제어기(124)에 송신할 수 있다. 일 실시예의 디바이스(134)는 디바이스(136)로부터 디바이스(136)의 서비스 지연에 대응하는 데이터를 수신하고 수신된 데이터에 적어도 부분적으로 기초하여 디바이스(134)에 대한 전력을 관리하며 따라서 대응하는 서비스 지연에 적어도 부분적으로 기초하여 디바이스(134)에 대한 전력을 관리할 수 있다. 일 실시예의 대응하는 ICPMC(126)는 디바이스(134)가 디바이스(136)에 대한 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리하는 방법에 적어도 부분적으로 기초한 그 서비스 지연에 적어도 부분적으로 기초하여 전력을 직접 관리할 수도 있다.
일 실시예의 경우, 전력은 2007년 12월 31일에 출원된 "LATENCY BASED PLATFORM COORDINATION" 명칭의 미국 특허 출원 제12/006,251호, 2008년 3월 21일 출원된 "PLATFORM POWER MANAGEMENT BASED ON LATENCY GUIDANCE" 명칭의 미국 특허 출원 제12/059,992호, 및/또는 2008년 6월 26일 출원된 "COORDINATED LINK POWER MANAGEMENT" 명칭의 미국 특허 출원 제12/146,873호에서 기술되는 디바이스의 서비스 지연에 적어도 부분적으로 기초하여 시스템(100)에서 관리될 수 있다.
도 1에 도시된 바와 같이, 일 실시예의 시스템(100)은 또한 하나 이상의 입력 디바이스(140)와, 하나 이상의 디스플레이(150)와, 휘발성 메모리(160)와, 하나 이상의 비휘발성 메모리 및/또는 저장 디바이스(170)와, 하나 이상의 통신 인터페이스(180)를 가질 수 있다.
일 실시예의 프로세서(110)는 휘발성 메모리(160)에 인터페이스를 제공하는 하나 이상의 메모리 제어기를 포함할 수 있다. 휘발성 메모리(160)는 시스템(100)에 대한 데이터 및/또는 인스트럭션을 로딩하고 저장하는데 사용될 수 있다. 휘발성 메모리(160)는 임의의 적당한 휘발성 메모리, 가령 적당한 DRAM을 포함할 수 있다. 일 실시예의 프로세서(110)는 휘발성 메모리(160)에 대한 전력 관리를 지원하는데 PPMC(112)를 사용할 수 있다.
비록 프로세서(110)와 함께 상주하는 것으로 도시되고 있지만, 일 실시예의 하나 이상의 메모리 제어기는 플랫폼 제어 로직(120)과 함께 상주하여 플랫폼 제어 로직(120)이 휘발성 메모리(160)와 직접 통신할 수 있게 한다.
일 실시예의 플랫폼 제어 로직(120)은 프로세서(110) 및/또는 플랫폼 제어 로직(120)과 통신하는 임의의 적당한 디바이스 또는 구성요소에 대한 임의의 적당한 통신 링크를 제공하도록, 인터페이스 제어기(124)를 포함하는 임의의 적당한 인터페이스 제어기를 포함할 수 있다. 일 실시예의 플랫폼 제어 로직(120)은 플랫폼 제어 로직(120)과 통신하는 임의의 적당한 하나 이상의 디바이스 및/또는 구성요소에 대한 전력 관리를 지원하는데 PCPMC(122)를 사용할 수 있다.
일 실시예의 플랫폼 제어 로직(120)은 디스플레이(150)에 대한 인터페이스를 제공하도록 하나 이상의 그래픽 제어기를 포함할 수 있다. 디스플레이(150)는 CRT 또는 LCD와 같은 임의의 적당한 디스플레이를 포함할 수 있다. 일 실시예의 하나 이상의 그래픽 제어기는 대안으로서 플랫폼 제어 로직(120)의 외부에 존재할 수 있다.
일 실시예의 플랫폼 제어 로직(120)은 입력 디바이스(140), 비휘발성 메모리 및/또는 저장 디바이스(170) 및 통신 인터페이스(180)에 대한 인터페이스를 제공하는 하나 이상의 입력/출력(I/O) 제어기를 포함할 수 있다.
입력 디바이스(140)는 임의의 적당한 입력 디바이스, 가령 키보드, 마우스 및/또는 임의의 다른 적당한 커서 제어 디바이스를 포함할 수 있다.
비휘발성 메모리 및/또는 저장 디바이스(170)는 가령 데이터 및/또는 인스트럭션을 저장하는데 사용될 수 있다. 비휘발성 메모리 및/또는 저장 디바이스(170)는 임의의 적당한 비휘발성 메모리, 가령 플래시 메모리를 포함할 수 있고/있거나 임의의 적당한 비휘발성 저장 디바이스, 가령 하나 이상의 하드디스크 드라이브(HDD), 하나 이상의 CD 드라이브 및/또는 하나 이상의 DVD 드라이브를 포함할 수 있다.
통신 인터페이스(180)는 하나 이상의 네트워크를 통해 그리고/또는 임의의 다른 적당한 디바이스와 통신하기 위한 시스템(100)의 인터페이스를 제공할 수 있다. 통신 인터페이스(180)는 임의의 적당한 하드웨어 및/또는 펌웨어를 포함할 수 있다. 일 실시예의 통신 인터페이스(180)는 가령 네트워크 어댑터, 무선 네트워크 어댑터, 전화 모뎀 및/또는 무선 모뎀을 포함할 수 있다. 무선 통신의 경우, 일 실시예의 통신 인터페이스(180)는 하나 이상의 안테나(182)를 사용할 수 있다.
일 실시예의 다운스트림 디바이스(132, 134, 136)는 플랫폼 제어 로직(120)에 연결될 수 있는 임의의 적당한 디바이스, 가령 적당한 입력 디바이스(140), 적당한 비휘발성 메모리 또는 저장 디바이스(170), 적당한 통신 인터페이스(180) 또 는 임의의 다른 적당한 I/O 디바이스일 수 있다. 다운스트림 디바이스의 예는 커서 제어 디바이스, 저장 드라이브, 저장 디바이스, 허브 디바이스, 네트워크 라우터 또는 스위치, 배터리 충전 디바이스, 프린터, 스캐너, 캠코더, 카메라, 매체 플레이어, 셀룰러 전화기, 스마트폰, 모바일 인터넷 디바이스, 및 컴퓨터 시스템(가령, 데스크탑, 노트북, 넷북 또는 다른 컴퓨터 시스템)을 포함할 수 있다.
플랫폼 제어 로직(120)에 상주하는 것으로 도시되었지만, 일 실시예의 플랫폼 제어 로직(120)의 하나 이상의 제어기는 하나 이상의 인터페이스 제어기(124)를 포함하여, 하나 이상의 프로세서(110)와 함께 존재할 수 있으며 프로세서(110)로 하여금 하나 이상의 디바이스 또는 구성요소와 직접 통신 가능하게 한다. 일 실시예의 플랫폼 제어 로직(120)의 하나 이상의 제어기는 하나 이상의 인터페이스 제어기(124)를 포함하여, 하나 이상의 프로세서(110)의 적어도 일부와 함께 단일의 다이 상에 집적될 수도 있다. 일 실시예의 플랫폼 제어 로직(120)의 하나 이상의 제어기는 하나 이상의 인터페이스 제어기(124)를 포함하여, 하나 이상의 프로세서(110)와 함께 패키징될 수 있다.
서비스 지연 보고
도 2는 하나 이상의 업스트림 디바이스의 서비스 지연에 적어도 부분적으로 기초한 전력을 관리하도록 하나 이상의 업스트림 디바이스의 서비스 지연을 보고할 수 있는 디바이스(200)의 일 실시예의 도면이다. 일 실시예의 디바이스(200)는 가령, 도 1의 다운스트림 디바이스(132 또는 134)에 대응할 수 있으며 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리하도록 시스템(100)의 서비스 지연을 보고할 수 있다. 일 실시예의 디바이스(200)는 가령 도 1의 다운스트림 디바이스(136)에 대응할 수 있으며 서비스 지연에 적어도 부분적으로 기초하여 전력을 관리하도록 디바이스(134) 및/또는 시스템(100)의 서비스 지연을 보고할 수 있다.
도 2에 도시된 바와 같이, 일 실시예의 디바이스(200)는 디바이스 제어 로직(202), 인터페이스 제어 로직(204), 천이 식별 로직(206) 및 서비스 지연 보고 로직(208)을 포함할 수 있다. 디바이스 제어 로직(202), 인터페이스 제어 로직(204), 천이 식별 로직(206) 및 서비스 지연 보고 로직(208)은 각각 임의의 적당한 방식으로, 가령 임의의 적당한 하드웨어, 임의의 적당한 하드웨어를 수행하는 임의의 적당한 펌웨어, 임의의 적당한 하드웨어를 수행하는 임의의 적당한 소프트웨어, 또는 이들의 임의의 적당한 조합을 사용하여 구현될 수 있다. 일 실시예의 경우, 임의의 펌웨어 및/또는 소프트웨어는 디바이스(200)의 임의의 적당한 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 일 실시예의 디바이스(200)는 디바이스(200)에 대한 임의의 적당한 기능을 구현하기 위한 다른 적당한 로직, 회로 및/또는 하나 이상의 구성요소를 포함할 수 있다.
일 실시예의 디바이스 제어 로직(202)은 디바이스(200)의 기능 제어를 지원할 수 있으며 그 디바이스의 하나 이상의 구성요소에 기능을 제공하기 위해 인터페이스 제어 로직(204)을 사용하여 하나 이상의 업스트림 디바이스와 통신할 수 있다.
인터페이스 제어 로직(204)은 임의의 적당한 방식으로 디바이스(200)에 대해 데이터를 송신하고/하거나 수신하도록 디바이스 제어 로직(202)에 연결될 수 있다. 일 실시예의 인터페이스 제어 로직(204)은 임의의 적당한 하나 이상의 표준 규격, 가령 USB 규격 및/또는 임의의 적당한 PCI 또는 PCI 익스프레스 규격과 호환될 수 있다.
일 실시예의 천이 식별 로직(206)은 하나의 상태에서 다른 상이한 상태로 임의의 적당한 방식으로 디바이스(200)의 적어도 일부에 대한 천이를 식별할 수 있다. 일 실시예의 그러한 상태는 디바이스(200)의 적어도 일부에 대한 활동성에 관련된 상이한 레벨들에 대응할 수 있다. 일 실시예의 천이 식별 로직(206)은 하나의 상태에서 다른 상이한 상태로 디바이스 제어 로직(202)의 적어도 일부에 대한 천이를 식별할 수 있다. 일 실시예의 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 하나의 상태에서 다른 상이한 상태로 천이할려는 것을 식별할 수 있다. 일 실시예의 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 하나의 상태에서 다른 상이한 상태로 이미 천이하였다는 것을 식별할 수 있다.
일 실시예의 서비스 지연 보고 로직(208)은 천이 식별 로직(206)에 의한 천이 식별에 응답하여 업스트림 디바이스에 서비스 지연에 대응하는 데이터를 송신할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 임의의 적당한 방식으로 천이 식별 로직(206)으로부터 상태 천이의 식별자를 수신하도록 연결될 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 인터페이스 제어 로직(204)을 사용하여 임의의 적당한 방식으로 서비스 지연에 대응하는 데이터를 송신하도록 연결될 수 있다.
일 실시예의 서비스 지연 보고 로직(208)은 임의의 적합한 방식으로 서비스 지연을 식별할 수 있다. 일 실시예의 서비스 지연은 디바이스(200)에 대한 서비스 지연 허용오차일 수 있다. 일 실시예의 서비스 지연은 최대 지연 디바이스(200)에 적어도 일부에 기초할 수 있고, 디바이스(200)의 기능 또는 성능에 악영향을 주지 않으면서 허용할 수 있다. 일 실시예의 서비스 지연은 디바이스(200)의 적어도 일부에 대한 새로운 상태에 대응할 수 있다.
일 실시예의 서비스 지연 보고 로직(208)은 이전 또는 현재의 서비스 지연 및 상태 변환의 식별에 적어도 일부에 기초하여 새로운 서비스 지연을 식별할 수 있다. 서비스 지연 보고 로직(208)은 새로운 상태에 적어도 일부에 기초하여 새로운 서비스 지연을 식별할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 이전 또는 현재의 상태에 적어도 일부에 기초하여 새로운 상태를 식별할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 임의의 적합한 방식으로 천이 식별 로직(206)으로부터 새로운 상태의 식별을 수신할 수 있다.
디바이스(200)의 적어도 일부가 상태 간에 계속 변환할 수 있으므로, 일 실시예의 서비스 지연 보고 로직(208)은 계속해서 새로운 서비스 지연을 식별할 수 있고 이러한 서비스 지연에 대응하는 데이터를 전송할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 예컨대, 새로운 서비스 지연이 이전 또는 현재의 서비스 지연과 동일하면, 선택적으로 새로운 서비스 지연에 대응하는 데이터를 전송하지 못할 수도 있다. 일 실시예의 서비스 지연 보고 로직(208)은 상태 간의 모든 변환은 아니지만 하나 이상의 변환에 응답하여 새로운 서비스 지연에 대응하는 데이터 를 전송할 수 있다.
도 3은 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 순서도(300)를 도시한다. 도 3에 도시된 바와 같이, 디바이스(200)의 적어도 일부는 제 1 상태에 있을 수 있다(블록 302). 서비스 지연 보고 로직(208)은 제 1 상태에 대응하는 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 304). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 제 2의 상이한 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 306). 그러한 경우에, 서비스 지연 보고 로직(208)은 제 2 상태에 대응하는 제 2 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 308). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 제 1 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 310). 그러한 경우에, 서비스 지연 보고 로직(208)은 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 304). 일 실시예의 서비스 지연 보고 로직(208) 및 천이 식별 로직(206)은 이러한 방식으로 블록(304 내지 310)에 대한 동작을 계속 수행할 수 있다.
제 1 및 제 2 상태에 대응하는 제 1 및 제 2 서비스 지연과 관련하여 설명되었지만, 일 실시예의 서비스 지연 보고 로직(208)은 3 개 이상의 상태에 대응하는 서비스 지연에 대한 데이터를 전송할 수 있다.
활동 레벨에 적어도 일부 기초한 서비스 지연
일 실시예의 천이 식별 로직(206)은 상이한 활동 레벨에 대응하는 상태들 간 의 디바이스(200)의 적어도 일부에 대한 변환을 식별할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 높은 활동 레벨에 대응하는 상태로의 변환을 위해 낮은 데이터 지연에 대응하는 데이터를 전송할 수 있고, 낮은 활동 레벨에 대응하는 상태로의 변환을 위해 높은 서비스 지연에 대응하는 데이터를 전송할 수 있다. 일 실시예의 천이 식별 로직(206)은 디바이스(200)가 업스트림 디바이스와 데이터 통신하는 활성 상태와 디바이스(200)가 업스트림 디바이스와 데이터 통신하지 않는 대기 상태 사이의 디바이스(200)의 적어도 일부에 대한 변환을 식별할 수 있다.
일 실시예의 디바이스(200)의 적어도 일부는 때때로 상이한 상태 사이에서 빈번하게 변환할 수 있다. 일례로서, 일 실시예의 디바이스(200)의 적어도 일부는 활동의 버스트를 가질 수 있으므로 때때로 낮은 활동 또는 대기 상태로 그리고 낮은 활동 또는 대기 상태로부터 벗어나 빈번하게 변환할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 서비스 지연에 대응하는 데이터를 전송하기 전에 상태 변환의 식별 후에 사전결정된 시간 구간을 대기하여, 디바이스(200)의 적어도 일부가 새로운 상태에 남아있을 것 같은지 여부를 식별하는 것을 도울 수 있다. 이 방식으로, 일 실시예의 서비스 지연 보고 로직(208)은 하나 이상의 업스트림 디바이스에 대한 전력 관리의 효율성을 감소시킬 수 있는 상이한 서비스 지연에 대응하는 데이터의 빈번한 전송을 방지할 수 있다.
일 실시예의 서비스 지연 보고 로직(208)은 현재의 서비스 지연보다 높은 서비스 지연에 대응하는 상태로의 변환의 식별 후에 사전결정된 시간 구간을 대기할 수 있지만, 현재의 서비스 지연보다 낮은 서비스 지연에 대응하는 상태로의 변환의 식별 후에는 아니다. 일례로서, 일 실시예의 서비스 지연 보고 로직(208)은 낮은 활동 또는 대기 상태로의 변환의 식별 후에 사전결정된 시간 구간을 대기할 수 있지만, 높은 활동 상태로의 변환의 식별 후에는 아니다.
도 4에 도시된 바와 같이, 일 실시예의 서비스 지연 보고 로직(208)은 새로운 상태 변환의 식별 후의 대기 시간을 식별하는 타이머(402)를 가질 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 그 대기 시간과 사전결정된 임계치를 비교하고, 새로운 상태 변환에 대한 서비스 지연에 대응하는 데이터를 전송하기 전에 대기 시간이 사전결정된 임계치와 같거나 이를 초과할 때까지 대기할 수 있다. 만일 천이 식별 로직(206)이 사전결정된 임계치가 도달되기 전에 새로운 상태 변환을 식별하면, 일 실시예의 서비스 지연 보고 로직(206)은 새로운 변환을 위해 타이머(402)를 재시동할 수 있다. 그 대신에 일 실시예의 서비스 지연 보고 로직(206)은 예컨대, 새로운 변환에 대한 상태에 적어도 의존하여, 타이머(402)를 리셋하고 새로운 변환에 대한 서비스 지연에 대응하는 데이터를 전송할 수 있다.
도 5는 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 순서도(500)를 도시한다. 도 5에 도시된 바와 같이, 디바이스(200)의 적어도 일부는 낮은 활동 또는 대기 상태에 있을 수 있다(블록 502). 서비스 지연 보고 로직(208)은 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 504). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 높은 활동 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 506). 그러한 경우에, 서비스 지연 보고 로직(208)은 제 2 서비스 지연에 대응하 는 데이터를 전송할 수 있다(블록 508). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 낮은 활동 또는 대기 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 510). 그러한 경우에, 서비스 지연 보고 로직(208)은 사전결정된 시간 구간을 대기할 수 있다(블록 512). 만일 디바이스(200)의 적어도 일부가 여전히 낮은 활동 또는 대기 상태에 있으면(블록 514), 서비스 지연 보고 로직(208)은 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 504). 일 실시예의 서비스 지연 보고 로직(208) 및 천이 식별 로직(206)은 이러한 방식으로 블록(504 내지 514)에 대한 동작을 계속 수행할 수 있다.
낮은 활동/대기 및 활성 상태에 대응하는 대기 및 활성 서비스 지연과 관련하여 설명되었지만, 일 실시예의 서비스 지연 보고 로직(208)은 상이한 레벨의 활동에 대응하는 하나 이상의 상태와 같은 하나 이상의 추가적인 상태에 대응하는 서비스 지연에 대한 데이터를 전송할 수 있다.
장치 버퍼링에 적어도 일부 기초한 서비스 지연
일 실시예의 디바이스(200)는 업스트림 디바이스로 전송할 데이터를 다른 장치로부터 수신할 수 있다. 도 6에 도시된 바와 같이, 일 실시예의 장치 제어 로직(202)은, 인터페이스 제어 로직(204)을 사용하여 버퍼(602)로부터 업스트림 디바이스로 후속 전송할 데이터를 임의의 적합한 무선 링크를 포함하는 임의의 적합한 통신 링크를 통해 다른 장치로부터 수신하는 버퍼(602)를 포함할 수 있다. 일 실시예의 디바이스(200)는 예컨대, 이더넷 네트워크 인터페이스 제어기(NIC)일 수 있 다.
디바이스(200)의 적어도 일부가 낮은 활동 또는 대기 상태에 있는 일 실시예의 경우에, 디바이스(200)는 데이터를 수신하는 디바이스(200)에 대한 버퍼(602)의 이용가능 용량에 적어도 일부에 기초하여 서비스 지연에 대응하는 데이터를 전송할 수 있다. 이 방식으로, 일 실시예의 업스트림 디바이스는 서비스 지연 구간 내에서 버퍼(602)의 이용가능 용량이 차기 전에 버퍼(602)로부터 데이터 수신을 시작하도록 여전히 응답할 수 있다. 만일 서비스 지연이 높았으면, 업스트림 디바이스는 깊고 낮은 전력 상태에 진입할 가능성이 있지만, 제시간에 응답하지 않아서, 버퍼(602)가 넘치게 하고 전송된 데이터가 손실되는 성능 손실을 발생시킬 수 있다.
일 실시예의 천이 식별 로직(206)은 버퍼(602)에서 데이터를 수신하고 버퍼(602)로부터 데이터를 재전송하도록 낮은 활동 또는 대기 상태로부터 활성 상태로의 변환을 식별할 수 있다. 이어서 일 실시예의 서비스 지연 보고 로직(208)은 낮은 서비스 지연에 대응하는 데이터를 업스트림 디바이스로 전송할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 데이터를 수신하는 디바이스(200)에 대한 버퍼(602)의 보존 용량에 적어도 일부에 기초하여 서비스 지연에 대응하는 데이터를 전송할 수 있다. 이 방식으로, 데이터가 버퍼(602)로부터 업스트림 디바이스로 전송되기 시작하므로 디바이스(200)는 버퍼(602)에서 데이터를 계속 수신할 수 있다.
도 7은 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 순서도(700)를 도시한다. 도 7에 도시된 바와 같이, 디바이 스(200)의 적어도 일부는 낮은 활동 또는 대기 상태에 있을 수 있다(블록 702). 서비스 지연 보고 로직(208)은 이용가능한 버퍼 용량에 적어도 일부에 기초하여 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 704). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 다른 장치로부터 데이터를 수신하고 재전송하도록 활성 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 706). 그러한 경우에, 서비스 지연 보고 로직(208)은 보존 버퍼 용량에 적어도 일부에 기초하여 제 2 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 708). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 낮은 활동 또는 대기 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 710). 그러한 경우에, 서비스 지연 보고 로직(208)은 이용가능한 버퍼 용량에 적어도 일부에 기초하여 서비스 지연에 대응하는 데이터를 전송할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 데이터를 전송(블록 704)하기 전에 상태 변환의 식별(블록 710) 후에 선택적으로 사전결정된 시간 구간을 대기할 수 있다. 일 실시예의 서비스 지연 보고 로직(208) 및 천이 식별 로직(206)은 이러한 방식으로 블록(704 내지 710)에 대한 동작을 계속 수행할 수 있다.
일 실시예의 서비스 지연 보고 로직(208)은 서비스 지연을 식별하도록 데이터를 수신할 때 데이터 레이트 및/또는 업스트림 디바이스에 대한 성능 요구를 설명할 수 있다.
낮은 활동/대기 및 활성 상태에 대응하는 대기 및 활성 서비스 지연과 관련하여 설명되었지만, 일 실시예의 서비스 지연 보고 로직(208)은 하나 이상의 추가 적인 상태에 대응하는 서비스 지연에 대한 데이터를 전송할 수 있다. 일 실시예의 경우에, 서비스 지연 보고 로직(208)은 디바이스(200)가 다른 장치로부터 데이터를 수신할 수 있는 데이터 레이트의 상이한 범위에 대응하는 상태에 대응하는 서비스 지연에 대한 데이터를 전송할 수 있다. 일 실시예의 경우에, 서비스 지연 보고 로직(208)은 데이터를 수신할 때 업스트림 디바이스에 대한 상이한 성능 요구에 대응하는 상태에 대응하는 서비스 지연에 대한 데이터를 전송할 수 있다.
도 8은 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 도면을 도시한다. 도 8에 도시된 바와 같이, 버퍼(602)는 네트워크 데이터를 수신한다(802). 네트워크 데이터를 수신하기 전에, 디바이스(200)는 대기 상태에 있었고, 500 마이크로초(㎲)의 지연 허용오차 보고(LTR:latency tolerance report)에 대응하는 데이터를 업스트림 플랫폼 구성요소로 전송하였는데, 이는 버퍼(602)의 이용가능 용량 및 네트워크 데이터가 버퍼(602)에 수신되는 레이트에 적어도 일부에 기초한다. 디바이스(200)가 네트워크 데이터를 처음 수신할 때, 디바이스(200)는 활성 상태로 변환하거나 변환하려고 하고, 100 ㎲의 LTR(802)에 대응하는 데이터를 업스트림 플랫폼 구성요소로 전송한다. 100 ㎲ LTR은 버퍼(602)의 보존 용량 및 네트워크 데이터가 버퍼(602)에 수신되는 레이트에 적어도 일부에 기초한다. 100 ㎲ LTR은 버퍼(602)가 네트워크 데이터를 수신하는 동안 이전 500 ㎲ LTR 구간 내에서 유효하다.
업스트림 플랫폼 구성요소는 버퍼(602)로부터 데이터를 수신하도록 100 ㎲ LTR 내에서 응답한다(804, 806, 808). 디바이스(200)가 더 이상 네트워크 데이터 를 수신하지 않으면(810), 디바이스(200)는 대기 상태로 변환하고, 타임아웃(Timeout)으로서 사전결정된 시간을 대기하며, 업스트림 플랫폼 구성요소로 500 ㎲ LTR에 대응하는 데이터를 전송한다(812). 도 8에 도시된 바와 같이, 업스트림 플랫폼 구성요소는 LTR에 적어도 일부에 기초하여 다양한 전력 상태에 진입하고, 응답하여 버퍼(602)로부터 데이터를 수신한다.
전력 상태에 적어도 일부 기초한 서비스 지연
일 실시예의 천이 식별 로직(206)은 상이한 전력 레벨에 대응하는 상태들 간의 디바이스(200)의 적어도 일부에 대한 변환을 식별할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 고전력 상태로의 변환을 위해 낮은 서비스 지연에 대응하는 데이터를 전송하고, 저전력 상태로의 변환을 위해 높은 서비스 지연에 대응하는 데이터를 전송할 수 있다.
도 9에 도시된 바와 같이, 일 실시예의 장치 제어 로직(202)은 디바이스(200)에 대한 전력 효율을 증가시키는 것을 돕는 장치 전력 관리 제어기(DPMC)(902)를 포함할 수 있다. 일 실시예의 DPMC(902)는 예컨대, 보다 적은 활성 또는 대기 상태인 경우에, 디바이스(200)의 적어도 일부가 하나 이상의 저전력 또는 슬립 상태에 진입하도록 관리할 수 있다.
도 10은 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 순서도(1000)를 도시한다. 도 10에 도시된 바와 같이, 디바이스(200)의 적어도 일부는 저전력 상태에 있을 수 있다(블록 1002). 서비스 지연 보고 로직(208)은 저전력 상태에 대응하는 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 1004). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 고전력 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 1006). 그러한 경우에, 서비스 지연 보고 로직(208)은 고전력 상태에 대응하는 제 2 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 1008). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 저전력 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 1010). 그러한 경우에, 서비스 지연 보고 로직(208)은 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 1004). 일 실시예의 서비스 지연 보고 로직(208) 및 천이 식별 로직(206)은 이러한 방식으로 블록(1004 내지 1010)에 대한 동작을 계속 수행할 수 있다.
저전력 상태 및 고전력 상태에 대응하는 제 1 및 제 2 서비스 지연과 관련하여 설명되었지만, 일 실시예의 서비스 지연 보고 로직(208)은 3 개 이상의 전력 상태에 대응하는 서비스 지연에 대한 데이터를 전송할 수 있다.
도 11은 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 도면을 도시한다. 도 11의 디바이스(200)는 예컨대, WLAN 장치일 수 있다. 도 11에 도시된 바와 같이, DPMC(902)는 디바이스(200)의 라디오를 전력 관리할 수 있고, 저전력 또는 슬립 상태에 진입할 수 있다(1102). 일 실시예의 도 11의 디바이스(200)는 디바이스(200)가 예컨대, 디바이스(200)가 액세스 포인트 또는 기지국에게 디바이스(200)가 저전력 상태에 진입하고 있음을 나타내게 하도록 전력 관리 특징을 지원하는 무선 프로토콜을 사용할 수 있다. 저전력 상태 에 있을 때에는 어떠한 데이터도 디바이스(200)로 전송되지 않을 것이다.
저전력 상태에 진입하기 전에, 디바이스(200)는 고전력 상태에 있었고, 업스트림 디바이스로 100 마이크로초(㎲)의 지연에 대응하는 데이터를 전송하였다(1104). 디바이스(200)가 저전력 상태로 변환하려고 할 때, 디바이스(200)는 업스트림 디바이스로 1 밀리초(㎳)의 지연에 대응하는 데이터를 전송한다(1106). 디바이스(200)가 데이터를 이동시키고 고전력 상태로 변환하려고 할 때, 디바이스(200)는 업스트림 디바이스로 100 ㎲의 지연에 대응하는 데이터를 전송한다(1108).
태스크 성능에 적어도 일부에 기초한 서비스 지연
일 실시예의 천이 식별 로직(206)은 상이한 태스크 성능 레벨에 대응하는 상태들 간의 디바이스(200)의 적어도 일부에 대한 변환을 식별할 수 있다. 일 실시예의 서비스 지연 보고 로직(208)은 높은 태스크 성능 상태로의 변환을 위해 낮은 서비스 지연에 대응하는 데이터를 전송할 수 있고, 낮은 태스크 성능 상태로의 변환을 위해 높은 서비스 지연에 대응하는 데이터를 전송할 수 있다. 일 실시예의 높은 태스크 성능 상태는 예컨대, 하나 이상의 미결 태스크를 가진 상태에 대응할 수 있다. 일 실시예의 낮은 태스크 성능 상태는 예컨대, 미결 태스크가 없거나 하나 이상의 태스크의 완료를 가진 상태에 대응할 수 있다.
일 실시예의 장치 제어 로직(202)은 디바이스(200)에 대한 하나 이상의 태스크를 수행할 수 있다. 일 실시예의 장치 제어 로직(202)은 하나 이상의 태스크의 성능을 단독으로 개시할 수 있다. 일 실시예의 장치 제어 로직(202)은 다른 장치의 요청시에 하나 이상의 태스크를 수행할 수 있다. 일 실시예의 장치 제어 로직(202)은 업스트림 디바이스의 요청시에 하나 이상의 태스크를 수행할 수 있다.
도 12는 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 순서도(1200)를 도시한다. 도 12에 도시된 바와 같이, 디바이스(200)의 적어도 일부는 낮은 태스크 성능 상태에 있을 수 있다(블록 1202). 서비스 지연 보고 로직(208)은 낮은 태스크 성능 상태에 대응하는 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 1204). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 높은 태스크 성능 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 1206). 그러한 경우에, 서비스 지연 보고 로직(208)은 높은 태스크 성능 상태에 대응하는 제 2 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 1208). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 낮은 태스크 성능 상태로 변환하였는지 또는 변환하려고 하는지 여부를 식별할 수 있다(블록 1210). 그러한 경우에, 서비스 지연 보고 로직(208)은 제 1 서비스 지연에 대응하는 데이터를 전송할 수 있다(블록 1204). 일 실시예의 서비스 지연 보고 로직(208) 및 천이 식별 로직(206)은 이러한 방식으로 블록(1204 내지 1210)에 대한 동작을 계속 수행할 수 있다.
낮은 태스크 성능 상태 및 높은 태스크 성능 상태에 대응하는 제 1 및 제 2 서비스 지연과 관련하여 설명되었지만, 일 실시예의 서비스 지연 보고 로직(208)은 상이한 태스크 성능 레벨에 대응하는 3 개 이상의 상태에 대응하는 서비스 지연에 대한 데이터를 전송할 수 있다.
외부적으로 제어된 서비스 지연
일 실시예의 서비스 지연 보고 로직(208)은 업스트림 디바이스에 의해 식별된 서비스 지연에 대응하는 데이터를 업스트림 디바이스로 전송할 수 있다. 일 실시예의 디바이스(200)는 예컨대, 디바이스(200)가 엄중한 서비스 지연을 갖지 않거나 드물게 변하는 서비스 지연을 가지면, 업스트림 디바이스에 의해 식별될 수 있는 서비스 지연을 가질 수 있다. 일 실시예의 디바이스(200)는 예컨대, 디바이스(200)가 업스트림 디바이스에 의해 스케줄링된 하나 이상의 태스크를 수행하면, 업스트림 디바이스에 의해 식별될 수 있는 서비스 지연을 가질 수 있다. 일 실시예의 업스트림 디바이스는 태스크가 스케줄링되기 전에 디바이스(200)에 대한 낮은 서비스 지연을 식별할 수 있고, 스케줄링된 모든 태스크가 완료될 때 디바이스(200)에 대한 높은 서비스 지연을 식별할 수 있다.
일 실시예의 업스트림 디바이스는 디바이스(200)로 업스트림 디바이스에 의해 식별된 서비스 지연에 대응하는 데이터를 전송할 수 있다. 일 실시예의 업스트림 디바이스는 디바이스(200)에 대한 서비스 지연을 식별하는 소프트웨어를 실행할 수 있다. 일 실시예의 이러한 소프트웨어는 예컨대, 디바이스(200)에 대한 드라이버 소프트웨어일 수 있다.
도 13에 도시된 바와 같이, 일 실시예의 서비스 지연 보고 로직(208)은 업스트림 디바이스로부터 서비스 지연에 대응하는 데이터를 수신하기 위한 메모 리(1302)를 포함할 수 있다. 일 실시예의 메모리(1302)의 적어도 일부는 업스트림 디바이스의 메모리 공간으로 매핑될 수 있다. 일 실시예의 메모리(1302)는 하나 이상의 레지스터를 포함할 수 있다. 일 실시예의 메모리(1302)는 메모리 매핑된 입/출력(MMIO) 레지스터일 수 있다.
도 14는 업스트림 디바이스에 서비스 지연을 보고하기 위해 디바이스(200)의 일 실시예의 예시적인 흐름도(1400)를 도시한다. 도 14에 도시된 바와 같이, 서비스 지연 보고 로직(208)은 업스트림 디바이스에 의해 식별된 서비스 지연에 대응하는 데이터를 업스트림 디바이스로부터 수신할 수 있다(블록 1402). 일 실시예의 업스트림 디바이스는 소프트웨어를 수행함에 있어 이러한 데이터를 송시날 수 있다. 서비스 지연 보고 로직(208)은 블록(1402)에 대해 수신된 데이터에 적어도 부분적으로 기초하여 서비스 지연에 대응하는 데이터를 업스트림 디바이스에 송신할 수 있다(블록 1404).
주기적 천이에 적어도 부분적으로 기초하는 서비스 지연
일 실시예의 디바이스(200)의 적어도 일부는 실질적으로 고정된 시간 구간에서 제 1 상태로부터 제 2의 상이한 상태로 천이할 수 있다. 일 실시예의 디바이스(200)의 적어도 일부는 실질적으로 고정된 시간 구간에서 저 활동 또는 유휴 상태로부터 보다 높은 활성 상태로 천이할 수 있다. 일례로서, 디바이스(200)는 실질적으로 고정된 시간 구간에서 업스트림 디바이스와 통신할 수 있다.
도 15에 도시된 바와 같이, 일 실시예의 천이 식별 로직(206)은 디바이 스(200)의 적어도 일부에 대해 제 1 상태로부터 제 2의 상이한 상태로의 천이의 식별 이후에 고정된 시간 구간의 만료를 식별하고, 디바이스(200)의 적어도 일부에 대해 제 1 상태로부터 제 2 상태로의 다른 천이를 식별하기 위한 타이머(1502)를 가질 수 있다. 일 실시예의 경우에, 디바이스 제어 로직(202)은 제 1 상태로부터 제 2 상태로 디바이스(200)의 적어도 일부의 천이를 제어하기 위한 타이머를 가질 수 있고 일 실시예의 천이 식별 로직(206)은 임의의 적절한 방식으로 디바이스(200)의 적어도 일부에 대해 이러한 천이를 식별할 수 잇다.
도 16은 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예 대한 예시적인 흐름도(1600)이다. 도 16에 도시된 바와 같이, 디바이스(200)의 일부는 제 1 상태일 수 있다(블록 1602). 서비스 지연 보고 로직(208)은 제 1 상태에 대응하는 제 1 서비스 지연에 대응하는 데이터를 송신할 수 있다(블록 1604). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 제 2 상태로 천이되었거나 또는 천이되려고 하는지를 식별할 수 있다(블록 1606). 그러한 경우, 서비스 지연 보고 로직(208)은 제 2 상태에 대응하는 제 2 서비스 지연에 대응하는 데이터를 송신할 수 있다(블록 1608). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 제 1 상태로 천이되었거나 또는 천이되려고 하는지를 식별할 수 있다(블록 1610). 그러한 경우, 서비스 지연 보고 로직(208)은 제 1 서비스 지연에 대응하는 데이터를 송신할 수 있다(블록 1612). 천이 식별 로직(206)은 디바이스(200)의 적어도 일부가 제 2 상태로 천이되었거나 또는 천이되려고 하는지를 식별할 수 있다(블록 1614). 일 실시예의 경우에, 이러한 식별은 제 1 상태로부터 제 2 상태로의 이전위 천이 식별 이후에 고정된 시간 구간의 만료 시에 적어도 부분적으로 기초하여 행해질 수 있다. 블록(1614)에 대해 그러한 경우, 서비스 지연 보고 로직(208)은 제 2 서비스 지연에 대응하는 데이터를 송신할 수 있다(블록 1608). 일 실시예의 서비스 지연 보고 로직(208) 및 천이 식별 로직(206)은 이러한 방식으로 블록(1608, 1614)에 대한 동작을 계속해서 수행할 수 있다.
도 17은 업스트림 디바이스에 서비스 지연을 보고하는 디바이스(200)의 일 실시예의 예시적인 도면이다. 도 17에 대한 디바이스(200)는 실질적으로 고정된 시간 구간에서 유휴 상태로부터 보다 높은 활성 상태로 천이로 턴이하여, 다음 시간 구간의 만료 이전에 유휴 상태로 복귀할 수 있다. 도 17에 대한 디바이스(200)는, 예를 들어, VOIP(voice over internet protocol) 디바이스일 수 있다.
도 17에 도시된 바와 같이, (1702)에서 디바이스(200)는 디바이스(200)와 업스트림 디바이스 사이의 데이터 전송에 의해 나타내어지는 보다 높은 활성 상태로부터 유휴 상태로 천이할 수 있고, 1 밀리초(ms) 서비스 지연에 대응하는 데이터를 업스트림 디바이스에 송신할 수 있다. (1704)에서 디바이스(200)는 디바이스(200)가 보다 높은 활성 상태로 다시 진입하려고 할 때 20 밀리초(ms) 서비스 지연에 대응하는 데이터를 업스트림 디바이스에 송신할 수 있다. 디바이스(200)가 실질적으로 20ms 시간 구간에서 보다 높은 솰성 상태로 진입함에 따라, 디바이스(200)는 실질적으로 20ms 시간 구간에서 20ms 서비스 지연에 대응하는 데이터를 업스트림 디바이스에 송신할 수 있다.
전술한 설명에서, 예시적인 실시예가 기술되었다. 첨부되는 특허 청구 범위 의 범위로부터 벗어나지 않고 각종 변경 및 변경이 행해질 수 있다. 따라서, 상세한 설명 및 도면은 제한적인 의미가 아니라 예시적인 의미로 간주된다.
실시예들은 예로서 기술되며, 유사한 참조 부호가 유사한 구성요소를 나타내는 첨부 도면의 형상에 대해 어떠한 제한도 두지 않는다.
도 1은 하나 이상의 다운스트림 디바이스로부터의 서비스 지연 보고에 적어도 부분적으로 기초하여 전력 관리를 수행하는 일 실시예의 시스템의 블럭도이다.
도 2는 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 3은 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 4는 제 1 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 5는 제 1 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스에 대한 일 실시예의 흐름도이다.
도 6은 제 2 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 7은 제 2 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 8은 제 2 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 9는 제 3 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운 스트림 디바이스의 일 실시예의 블럭도이다.
도 10은 제 3 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림의 일 실시예의 흐름도이다.
도 11은 제 3 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 도면이다.
도 12는 제 4 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 흐름도이다.
도 13은 제 5 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 14는 제 5 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 흐름도이다.
도 15는 제 6 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 블럭도이다.
도 16은 제 6 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 흐름도이다.
도 17은 제 6 기법에 따라 업스트림 디바이스에 서비스 지연을 보고하는 다운스트림 디바이스의 일 실시예의 도면이다.
도면의 형상은 전적으로 실척으로 도시되지는 않는다.
*도면의 주요 부분에 대한 부호의 설명*
110: 프로세서 120: 플랫폼 제어 로직
202: 디바이스 제어 로직 204: 인터페이스 제어 로직
206: 천이 식별 로직 208: 서비스 지연 보고 로직

Claims (25)

  1. 다운스트림 디바이스에 대해 제 1 상태로부터 제 2 상태로의 천이(transition)를 식별하는 제 1 로직 -상기 제 1 상태와 상기 제 2 상태는 서로 다른 상태이고, 상기 제 1 상태와 상기 제 2 상태는 상기 다운스트림 디바이스에 대한 활동과 관련된 서로 다른 레벨에 대응함- 과,
    서비스 지연(service latency)에 기초하여 전력을 관리하기 위해 하나 이상의 업스트림 디바이스에 대해서 상기 식별된 천이에 응답하여 서비스 지연에 대응하는 데이터를 업스트림 디바이스에 전송하는 제 2 로직을 포함하는
    장치.
  2. 제 1 항에 있어서,
    상기 제 2 로직은 데이터를 송신하기 이전에 상기 천이의 식별 후의 사전 결정된 시간 구간을 대기하는
    장치.
  3. 제 2 항에 있어서,
    상기 제 2 상태는 유휴 상태인
    장치.
  4. 제 1 항에 있어서,
    상기 제 2 상태는 유휴 상태이고 상기 서비스 지연은 데이터를 수신하는 상기 다운스트림 디바이스에 대한 버퍼의 이용 가능한 용량에 기초하는
    장치.
  5. 제 1 항에 있어서,
    상기 제 2 상태는 활성 상태이고 상기 서비스 지연은 데이터를 수신하는 상기 다운스트림 디바이스에 대한 버퍼의 예비 용량에 기초하는
    장치.
  6. 제 1 항에 있어서,
    상기 제 2 상태는 상기 제 1 상태에 대해 보다 낮은 전력 상태인
    장치.
  7. 제 1 항에 있어서,
    상기 제 1 상태는 상기 다운스트림 디바이스에 의한 하나 이상의 태스크의 성능에 대응하고, 상기 제 2 상태는 상기 다운스트림 디바이스에 의한 하나 이상의 태스크의 완료에 대응하는
    장치.
  8. 제 1 항에 있어서,
    상기 제 2 로직은 상기 업스트림 디바이스에 의해 식별된 서비스 지연에 대응하는 데이터를 업스트림 디바이스로 송신하는
    장치.
  9. 제 1 항에 있어서,
    상기 다운스트림 디바이스는 고정된 시간 구간에서 상기 제 1 상태로부터 상기 제 2 상태로 천이하는
    장치.
  10. 제 1 항에 있어서,
    상기 제 1 로직은 상기 다운스트림 디바이스가 상기 제 1 상태로부터 상기 제 2 상태로 천이하려고 하는지를 식별하는
    장치.
  11. 제 1 항에 있어서,
    상기 제 1 로직은 상기 다운스트림 디바이스가 상기 제 1 상태로부터 상기 제 2 상태로 천이하였는지를 식별하는
    장치.
  12. 다운스트림 디바이스에 대해 제 1 상태로부터 제 2 상태로의 천이(transition)를 식별하는 단계 -상기 제 1 상태와 상기 제 2 상태는 서로 다른 상태이고, 상기 제 1 상태와 상기 제 2 상태는 상기 다운스트림 디바이스에 대한 활동과 관련된 서로 다른 레벨에 대응함- 와,
    서비스 지연(service latency)에 기초하여 전력을 관리하기 위해 하나 이상의 업스트림 디바이스에 대해서 상기 식별된 천이에 응답하여 서비스 지연에 대응하는 데이터를 업스트림 디바이스에 전송하는 단계를 포함하는
    방법.
  13. 제 12 항에 있어서,
    데이터를 송신하기 이전에 상기 천이의 식별 후의 사전 결정된 시간 구간을 대기하는 단계를 포함하는
    방법.
  14. 제 12 항에 있어서,
    상기 제 2 상태는 유휴 상태이고 상기 서비스 지연은 데이터를 수신하는 상기 다운스트림 디바이스에 대한 버퍼의 이용 가능한 용량에 기초하는
    방법.
  15. 제 12 항에 있어서,
    상기 제 2 상태는 상기 제 1 상태에 대해 보다 낮은 전력 상태인
    방법.
  16. 제 12 항에 있어서,
    상기 제 1 상태는 상기 다운스트림 디바이스에 의한 하나 이상의 태스크의 성능에 대응하고, 상기 제 2 상태는 상기 다운스트림 디바이스에 의한 하나 이상의 태스크의 완료에 대응하는
    방법.
  17. 제 12 항에 있어서,
    상기 송신하는 단계는 상기 업스트림 디바이스에 의해 식별된 서비스 지연에 대응하는 데이터를 업스트림 디바이스로 송신하는 단계를 포함하는
    방법.
  18. 제 12 항에 있어서,
    상기 다운스트림 디바이스에 의해 고정된 시간 구간에서 상기 제 1 상태로부터 상기 제 2 상태로 송신하는 단계를 포함하는
    방법.
  19. 다운스트림 디바이스에 대해 제 1 상태로부터 제 2 상태로의 천이(transition)를 식별하는 제 1 로직 -상기 제 1 상태와 상기 제 2 상태는 서로 다른 상태이고, 상기 제 1 상태와 상기 제 2 상태는 상기 다운스트림 디바이스에 대한 활동과 관련된 서로 다른 레벨에 대응함- 과,
    서비스 지연(service latency)에 기초하여 전력을 관리하기 위해 하나 이상의 업스트림 디바이스에 대해서 상기 식별된 천이에 응답하여 상기 서비스 지연에 대응하는 데이터를 업스트림 디바이스에 전송하는 제 2 로직과,
    상기 다운스트림 디바이스의 제어 기능을 보조하는 제 3 로직을 포함하는
    다운스트림 디바이스.
  20. 제 19 항에 있어서,
    상기 제 2 로직은 데이터를 송신하기 이전에 상기 천이의 식별 후의 사전 결정된 시간 구간을 대기하는
    다운스트림 디바이스.
  21. 제 19 항에 있어서,
    상기 제 2 상태는 유휴 상태이고 상기 서비스 지연은 데이터를 수신하는 상기 다운스트림 디바이스에 대한 버퍼의 이용 가능한 용량에 기초하는
    다운스트림 디바이스.
  22. 제 19 항에 있어서,
    상기 제 2 상태는 상기 제 1 상태에 대해 보다 낮은 전력 상태인
    다운스트림 디바이스.
  23. 제 19 항에 있어서,
    상기 제 1 상태는 상기 다운스트림 디바이스에 의한 하나 이상의 태스크의 성능에 대응하고, 상기 제 2 상태는 상기 다운스트림 디바이스에 의한 하나 이상의 태스크의 완료에 대응하는
    다운스트림 디바이스.
  24. 제 19 항에 있어서,
    상기 제 2 로직은 상기 업스트림 디바이스에 의해 식별된 서비스 지연에 대응하는 데이터를 업스트림 디바이스로 송신하는
    다운스트림 디바이스.
  25. 제 19 항에 있어서,
    상기 다운스트림 디바이스는 고정된 시간 구간에서 상기 제 1 상태로부터 상기 제 2 상태로 천이하는
    다운스트림 디바이스.
KR1020090130939A 2008-12-31 2009-12-24 전력 관리를 위한 다운스트림 디바이스 서비스 지연 보고 KR101162156B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/346,853 2008-12-31
US12/346,853 US8601296B2 (en) 2008-12-31 2008-12-31 Downstream device service latency reporting for power management

Publications (2)

Publication Number Publication Date
KR20100080395A KR20100080395A (ko) 2010-07-08
KR101162156B1 true KR101162156B1 (ko) 2012-07-05

Family

ID=42221144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090130939A KR101162156B1 (ko) 2008-12-31 2009-12-24 전력 관리를 위한 다운스트림 디바이스 서비스 지연 보고

Country Status (6)

Country Link
US (4) US8601296B2 (ko)
JP (1) JP5385124B2 (ko)
KR (1) KR101162156B1 (ko)
CN (1) CN101853065B (ko)
DE (1) DE102009060269B4 (ko)
TW (1) TWI439863B (ko)

Cited By (2)

* 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
US9244521B2 (en) 2012-12-26 2016-01-26 Intel Corporation Supporting runtime D3 and buffer flush and fill for a peripheral component interconnect device

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176341B2 (en) * 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
US8255713B2 (en) 2008-06-26 2012-08-28 Intel Corporation Management of link states using plateform and device latencies
US8612998B2 (en) 2010-09-23 2013-12-17 Intel Corporation Coordinating device and application break events for platform power saving
US8601296B2 (en) 2008-12-31 2013-12-03 Intel Corporation Downstream device service latency reporting for power management
US8607075B2 (en) 2008-12-31 2013-12-10 Intel Corporation Idle duration reporting for power management
US8504855B2 (en) * 2010-01-11 2013-08-06 Qualcomm Incorporated Domain specific language, compiler and JIT for dynamic power management
US9235251B2 (en) 2010-01-11 2016-01-12 Qualcomm Incorporated Dynamic low power mode implementation for computing devices
US8689028B2 (en) * 2011-07-01 2014-04-01 Intel Corporation Method and apparatus to reduce idle link power in a platform
WO2013077889A1 (en) 2011-11-22 2013-05-30 Intel Corporation Collaborative processor and system performance and power management
TWI493332B (zh) * 2011-11-29 2015-07-21 Intel Corp 用於電力管理的方法與設備及其平台與電腦可讀取媒體
CN103218032B (zh) 2011-11-29 2017-07-14 英特尔公司 利用相对能量损益平衡时间的功率管理
US9264986B2 (en) * 2012-06-25 2016-02-16 Qualcomm Incorporated System and method for reducing power consumption in a wireless communication system
US9015510B2 (en) * 2012-06-29 2015-04-21 Intel Corporation Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device
US20140006826A1 (en) * 2012-06-30 2014-01-02 Mahesh Wagh Low power low frequency squelch break protocol
US20140181563A1 (en) * 2012-12-24 2014-06-26 Neil Songer System and method for determination of latency tolerance
US9158357B2 (en) 2012-12-28 2015-10-13 Intel Corporation System and method for conveying service latency requirements for devices connected to low power input/output sub-systems
US9229525B2 (en) 2013-06-17 2016-01-05 Apple Inc. Adaptive latency tolerance for power management of memory bus interfaces
US9195292B2 (en) 2013-06-26 2015-11-24 Intel Corporation Controlling reduced power states using platform latency tolerance
US9501128B2 (en) * 2013-10-30 2016-11-22 Globalfoundries Inc. Cooperative reduced power mode suspension for high input/output (‘I/O’) workloads
JP6455382B2 (ja) * 2015-09-24 2019-01-23 富士通株式会社 制御装置および制御プログラム
JP7163002B2 (ja) * 2016-05-25 2022-10-31 キヤノン株式会社 プロセッサに接続されるデバイスから通知される復帰時間に応じてプロセッサの省電力のレベルを決定する情報処理装置及びプロセッサの省電力方法
US10705591B2 (en) * 2016-10-31 2020-07-07 Microsoft Technology Licensing, Llc Aggregated electronic device power management
KR20180109142A (ko) * 2017-03-27 2018-10-08 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
DE102017117876A1 (de) * 2017-08-07 2019-02-07 Festo Ag & Co. Kg Produktionsmodul für eine Produktionsanlage
US11552892B2 (en) * 2019-08-30 2023-01-10 Ati Technologies Ulc Dynamic control of latency tolerance reporting values
US11086384B2 (en) 2019-11-19 2021-08-10 Intel Corporation System, apparatus and method for latency monitoring and response
US20220200881A1 (en) * 2020-12-21 2022-06-23 Intel Corporation Methods and devices for adaptive rate based latency tolerance reporting

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007098411A2 (en) * 2006-02-17 2007-08-30 Standard Microsystems Corporation Transmission network having an optical receiver that utilizes dual power pins and a single status pin to lower power consumption, lower manufacturing cost, and increase transmission efficiency
WO2008012483A1 (en) * 2006-07-28 2008-01-31 Arm Limited Power management in a data processing device having masters and slaves

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555383A (en) * 1994-11-07 1996-09-10 International Business Machines Corporation Peripheral component interconnect bus system having latency and shadow timers
JP2001318742A (ja) 2000-05-08 2001-11-16 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
JP2002082743A (ja) 2000-09-06 2002-03-22 Casio Comput Co Ltd 電子機器及び電子機器制御プログラムを記憶した記憶媒体
US8375415B2 (en) 2001-03-19 2013-02-12 General Instrument Corporation Dynamic upstream amplifier power management
US20030065497A1 (en) 2001-09-28 2003-04-03 Rhoads Monte J. Power management system to select a power state for a network computer system based on load
US7564810B2 (en) * 2002-05-08 2009-07-21 Microsoft Corporation Method and system for managing power consumption of a network interface module in a wireless computing device
US7372814B1 (en) * 2003-02-27 2008-05-13 Alcatel-Lucent Network system with color-aware upstream switch transmission rate control in response to downstream switch traffic buffering
JP2004320153A (ja) * 2003-04-11 2004-11-11 Sony Corp 無線通信システム及びその電力制御方法
US7188263B1 (en) * 2003-05-07 2007-03-06 Nvidia Corporation Method and apparatus for controlling power state of a multi-lane serial bus link having a plurality of state transition detectors wherein powering down all the state transition detectors except one
JP4316399B2 (ja) 2004-02-18 2009-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム、記録媒体、制御方法、及び情報処理装置
TWI311705B (en) * 2005-05-23 2009-07-01 Via Tech Inc Peripheral component interconnect express and changing method of link power states thereof
US7493228B2 (en) * 2005-06-23 2009-02-17 Intel Corporation Method and system for deterministic throttling for thermal management
US7430673B2 (en) * 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US7447824B2 (en) * 2005-10-26 2008-11-04 Hewlett-Packard Development Company, L.P. Dynamic lane management system and method
US7734853B2 (en) * 2006-02-28 2010-06-08 Arm Limited Latency dependent data bus transmission
US7752473B1 (en) * 2006-03-20 2010-07-06 Intel Corporation Providing a deterministic idle time window for an idle state of a device
US7406365B2 (en) * 2006-03-31 2008-07-29 Intel Corporation Power manager with selective load reduction
US7480753B2 (en) 2006-04-27 2009-01-20 Standard Microsystems Corporation Switching upstream and downstream logic between ports in a universal serial bus hub
TWI312927B (en) 2006-06-06 2009-08-01 Via Tech Inc Method for setting power management status of device and power-saving method of the same
US7716506B1 (en) * 2006-12-14 2010-05-11 Nvidia Corporation Apparatus, method, and system for dynamically selecting power down level
JP2008238033A (ja) 2007-03-27 2008-10-09 Kubota Corp カルシウム除去方法及びカルシウム除去装置
US7984314B2 (en) * 2007-05-14 2011-07-19 Intel Corporation Power management of low power link states
US7864720B2 (en) * 2007-06-01 2011-01-04 Intel Corporation Power management for wireless devices
GB2452778A (en) * 2007-09-17 2009-03-18 Toshiba Res Europ Ltd Linking dynamic voltage scaling in master and slave modules
US20090172434A1 (en) * 2007-12-31 2009-07-02 Kwa Seh W Latency based platform coordination
US8176341B2 (en) * 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
US8255713B2 (en) * 2008-06-26 2012-08-28 Intel Corporation Management of link states using plateform and device latencies
JP5109935B2 (ja) 2008-11-10 2012-12-26 富士通株式会社 プロセッサシステムの動作方法およびプロセッサシステム
US8607075B2 (en) * 2008-12-31 2013-12-10 Intel Corporation Idle duration reporting for power management
US8601296B2 (en) 2008-12-31 2013-12-03 Intel Corporation Downstream device service latency reporting for power management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007098411A2 (en) * 2006-02-17 2007-08-30 Standard Microsystems Corporation Transmission network having an optical receiver that utilizes dual power pins and a single status pin to lower power consumption, lower manufacturing cost, and increase transmission efficiency
WO2008012483A1 (en) * 2006-07-28 2008-01-31 Arm Limited Power management in a data processing device having masters and slaves

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244521B2 (en) 2012-12-26 2016-01-26 Intel Corporation Supporting runtime D3 and buffer flush and fill for a peripheral component interconnect device
US9746910B2 (en) 2012-12-26 2017-08-29 Intel Corporation Supporting runtime D3 and buffer flush and fill for a peripheral component interconnect device
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
CN101853065A (zh) 2010-10-06
JP2010165350A (ja) 2010-07-29
KR20100080395A (ko) 2010-07-08
US10182398B2 (en) 2019-01-15
US20100169684A1 (en) 2010-07-01
US9838967B2 (en) 2017-12-05
TW201040729A (en) 2010-11-16
TWI439863B (zh) 2014-06-01
CN101853065B (zh) 2012-11-28
DE102009060269B4 (de) 2014-10-16
DE102009060269A1 (de) 2010-07-01
US8601296B2 (en) 2013-12-03
JP5385124B2 (ja) 2014-01-08
US20170177539A1 (en) 2017-06-22
US20140095908A1 (en) 2014-04-03
US20150257101A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
KR101162156B1 (ko) 전력 관리를 위한 다운스트림 디바이스 서비스 지연 보고
JP5661874B2 (ja) 電力管理のためのアイドル期間報告
US8213864B1 (en) Method and system for a reduced USB polling rate to save power on a bluetooth host
JP5791397B2 (ja) デバイスコントローラ、usbデバイスコントローラ及び電力制御方法
US10394309B2 (en) Power gated communication controller
WO2013082030A1 (en) Dynamically entering low power states during active workloads
KR102714198B1 (ko) 스토리지 장치 및 그것의 링크 상태 제어 방법
JP4189882B2 (ja) 記録媒体、情報処理装置、制御方法、及びプログラム
JP2017520052A (ja) ユニバーサルシリアルバス(usb)通信システムおよび方法
US20200226085A1 (en) Data processing system
CN102204165A (zh) 控制备用设备的方法、主用设备和备用设备
KR20070112660A (ko) 전원관리장치 및 그 방법
US20230111984A1 (en) Methods and Apparatus for Adaptive Power Profiling in A Baseband Processing System
JP2014060686A (ja) 半導体装置
US20090172440A1 (en) Coupled low power state entry and exit for links and memory
TW202215202A (zh) 經由通訊匯流排控制的計算設備中的節能技術
CN108430098B (zh) 无线通信终端及其省电方法
CN110930293B (zh) 一种基于有限状态机的ddr读访问信用管理方法
KR102252094B1 (ko) 단말 및 단말의 전력 관리 방법

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: 20150529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 8