KR100969223B1 - 피씨아이-이 엘원 에이에스피엠 이탈 지연을 개선하기 위한방법 및 시스템 - Google Patents

피씨아이-이 엘원 에이에스피엠 이탈 지연을 개선하기 위한방법 및 시스템 Download PDF

Info

Publication number
KR100969223B1
KR100969223B1 KR20080099687A KR20080099687A KR100969223B1 KR 100969223 B1 KR100969223 B1 KR 100969223B1 KR 20080099687 A KR20080099687 A KR 20080099687A KR 20080099687 A KR20080099687 A KR 20080099687A KR 100969223 B1 KR100969223 B1 KR 100969223B1
Authority
KR
South Korea
Prior art keywords
pci
state
packet
aspm
interface
Prior art date
Application number
KR20080099687A
Other languages
English (en)
Other versions
KR20090037357A (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 KR20090037357A publication Critical patent/KR20090037357A/ko
Application granted granted Critical
Publication of KR100969223B1 publication Critical patent/KR100969223B1/ko

Links

Images

Classifications

    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • 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
    • 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/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)
  • Power Sources (AREA)

Abstract

개시된 시스템 및 방법은 PCI 익스프레스(PCI-E) L1 액티브 상태 전력 관리(ASPM: Active State Power Management) 이탈 지연(exit latency)을, 소정의 네트워크 자극 활동에 기초하여 조기 L1 이탈을 예측적으로 개시함으로써 개선하는 것에 관련된다. 본 발명의 여러 측면들은 ASPM의 장점들을 지원하면서 동시에 더 높은 수준의 성능과 응답성을 가능하게 할 수 있다. 본 발명의 여러 측면들은 PCI-E 인터페이스를 이용하는 여러 프로세스들에서 지연 특성을 감소시킴으로써 동작 비용을 최소화할 수 있다. 본 발명의 여러 측면들은 네트워크 인터페이스 컨트롤러(NIC) 또는 그 밖에 ASPM 기능을 지원하는 PCI-E 인터페이스를 가지는 장치 내에 구현될 수 있다.

Description

피씨아이-이 엘원 에이에스피엠 이탈 지연을 개선하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR IMPROVING PCI-E L1 ASPM EXIT LATENCY}
본 발명은 일반적으로 피씨아이-이(PCI-E) 인터페이스에 관한 것이다.
PCI-E(Peripheral Component Interconnect Express) 인터페이스는 서버, 데스크톱 및 모바일 PC들에서 찾아 볼 수 있다. PCI-E의 중요한 전력 절감 기능이 바로 액티브 상태 전력 관리(ASPM: Active State Power Management)이다. 어떤 주어진 PCI-E 링크 상에서 L1 ASPM이 구동될 경우에, 그리고 그 링크가 소정의 시간 구간(예를 들어 수십 또는 수백 마이크로초) 동안 비활성화 상태였을 경우에는, PCI-E 링크는 최대 전력으로 전기능이 동작하는 L0 (온) 상태일 때보다 훨씬 적은 전력을 소모하는 L1 상태로 전환(transition)될 것이다. L1 상태에 있는 동안에는 PCI-E 클럭은 중단될 수 있고, PLL은 전력을 절약할 수 있도록 단전될 수 있다. 그러나, 어떤 주어진 장치가 DMA를 시작하고 PCI-E 링크를 거쳐 데이터를 전송하기 위해서는, 상기 링크는 반드시 L0 상태로 복귀되어야만 한다.
L1 에서 L0로 전환하는 프로세스는 순식간에 이뤄지는 것이 아니다. 이러한 시간 구간은 "L1 이탈 지연(L1 exit latency)"라고 불린다. 이러한 L1 이탈 지연은 어떤 장치가 자신이 PCI-E 트랜잭션(transaction)(예를 들어 DMA 동작)을 수행해야 할 필요가 있다고 결정하고 L0 상태로 전환을 개시하는 시점부터 시작된다. L1 이탈 지연은 PCI-E 링크가 L0 상태로 완전히 전환되었을 때에 종료한다. 정확한 L1 이탈 지연은 PCI-E 링크의 양쪽 말단에 연결된 장치들의 설계에 의존하겠지만, 이 값은 만약 PLL이 전원 차단되지 않았다면 20 마이크로초보다 더 클 것이고, 만약 PLL이 전원 차단된 경우에는 100 마이크로초보다 더 클 것이다.
기가비트 이더넷 컨트롤러 및 고속 이더넷 컨트롤러는 PCI-E가 널리 이용되는 고속 주변 기기 인터페이스이기 때문에, PC에 대해 인터페이스하는 데에 PCI-E 버스를 이용할 수 있다. 또한, 이렇게 PCI-E 인터페이스를 가지는 이더넷 컨트롤러들이 L1 ASPM을 지원하여 그러한 PCI-E 링크가 그 인터페이스의 비활동 구간 동안에 저전력 상태로 자동으로 들어갈 수 있게 하는 것이 매우 바람직하다. 그러나, 긴 L1 지연 특성들은 네트워크 응답성 및 성능에 부정적인 영향을 미칠 수 있다. 이는 L1 이탈 지연이 어느 한 네트워크 단말국이 다른 네트워크 단말국에 의해 전송된 네트워크 패킷을 처리하고 그에 응답하는 데에 걸리는 지연 시간(latency)에 영향을 줄 수 있기 때문이다. 기가비트 급의 이더넷 속도에서는, 심지어 10 마이크로초 정도의 지연이 추가되는 것도 지연 특성에 민감한 어플리케이션들 또는 벤치마크를 수반하는 일부 시나리오들에서는 바람직하지 않을 수 있다.
어떤 장치의 L1 이탈 지연 특성은 그 장치에 관한 물리 계층(physical layer)의 설계에 의존한다. 성능, 비용 및 물리 계층 설계에 수반된 복잡성 사이에서 타협(trade-offs)이 이루어질 수 있다. 따라서, L1 이탈 지연 특성의 범위는 10 마이크로초보다 약간 적은 정도에서 수백 마이크로초에 이르기까지 크게 변동할 수 있다. 심지어 "낮은" L1 이탈 지연을 가지는 장치들도, 만약 PCI-E 기준 클럭 및 PLL이 전원 차단된 상태에서는 L0로 전환할 때에 그러한 클럭이 재시동되어야만 하고 또한 PLL이 록(lock) 상태를 재획득하여야만 하기 때문에, L1 상태로부터 30(종종 100 이상) 마이크로초보다 더 큰 이탈 지연을 가질 수도 있다.
종래의 통상적인 접근에 따른 그 밖의 제한들 및 단점들은 도면을 참조하여 본 출원의 나머지 부분에서 언급되는 바와 같은 본 발명의 몇몇 측면들과 이러한 시스템의 대비를 통해 당업자에게 자명하게 드러날 것이다.
시간 상으로 소정의 이른 시점에서 전환을 예측적으로 개시함으로써 효율적인 PCI-E L1 ASPM 이탈 지연을 개선하는 방법 및 시스템은, 실질적으로 도면들 중 적어도 하나와 관련되어 나타내어지거나 또는 설명되며, 청구항에서 더욱 완전하게 기재되는 바와 같다.
일 측면에 따르면, 액티브 상태 전력 관리(active state power management) 동작 중의 지연(latency)을 개선하는 방법이 제공되며, 상기 방법은,
저전력(low power) PCI-E 상태에 진입하는 단계;
최대 전력(full power) PCI-E 상태를 필요로 할 트랜잭션(transaction)을 예측하는 단계; 및
상기 예측된 트랜잭션에 기초하여 상기 최대 전력 PCI-E 상태로 전환하는 단계를 포함한다.
바람직하게는, 상기 트랜잭션을 예측하는 단계는 이벤트를 스케쥴링하는 단계를 포함하며, 상기 이벤트는 타이머가 만료되는 때에 개시된다.
바람직하게는, 상기 이벤트는 상태 갱신(status update)을 포함한다.
바람직하게는, 상기 이벤트는 인터럽트(interrupt) 발생을 포함한다.
바람직하게는, 상기 이벤트는 호스트로의 통계 정보 전송을 포함한다.
바람직하게는, 상기 최대 전력 상태로 전환하는 단계는 소정의 딜레이(delay)가 있은 후에 일어난다.
바람직하게는, 상기 딜레이는 시간에 기초한다.
바람직하게는, 상기 트랜잭션을 예측하는 단계는
패킷(packet)을 수신하는 단계; 및
상기 패킷과 연관된 어드레스(address)를 검증하는 단계를 포함한다.
바람직하게는, 상기 최대 전력 PCI-E 상태로 전환하는 단계는 소정의 딜레이가 있은 후에 일어난다.
바람직하게는, 상기 딜레이는 시간에 기초한다.
바람직하게는, 상기 딜레이는 수신된 데이터의 양에 기초한다.
바람직하게는, 상기 딜레이는 상기 패킷의 길이에 상대적인 수신된 데이터의 양에 기초한다.
바람직하게는, 상기 방법은 최대 전력 PCI-E 상태로 전환한 후에 오류에 관하여 패킷을 검사하고, 비활동 타이머가 만료된 후에 저전력(L1) 상태로 다시 전환을 개시하는 단계를 포함한다.
일 측면에 따르면, 액티브 상태 전력 관리(active state power management) 동작 중의 전환(transitions) 횟수를 줄이는 방법이 제공되며, 상기 방법은
DMA 트랜잭션을 예측하는 단계; 및
상기 예측된 트랜잭션에 기초하여 비활동 타이머(inactivity timer)를 리셋하는 단계를 포함한다.
다른 일 측면에 따르면, 액티브 상태 전력 관리(active state power management) 동작 중의 지연(latency)을 개선할 수 있는 시스템이 제공되며, 상기 시스템은
저전력 PCI-E 상태 및 최대 전력 PCI-E 상태를 포함하는 전력 관리 기능을 가지는 인터페이스; 및
상기 최대 전력 PCI-E 상태에 대한 필요성(requirement)을 예측하며, 그러한 경우에 상기 인터페이스로 하여금 상기 저전력 PCI-E 상태로부터 상기 최대 전력 PCI-E 상태로의 전환을 개시하도록 지시하는 컨트롤러를 포함한다.
바람직하게는, 상기 컨트롤러는 이더넷 MAC이다.
바람직하게는, 상기 컨트롤러는 WLAN 컨트롤러이다.
바람직하게는, 상기 컨트롤러는 저전력 PCI-E 상태로부터 최대 전력 PCI-E 상태로 전환을 개시하기에 앞서 패킷이 어드레스 필터링을 통과하였는지 여부를 결정한다.
바람직하게는, 상기 컨트롤러는 최대 전력 PCI-E 상태 필요의 예측 시점과 전환의 개시 시점 사이의 딜레이를 발생시킨다.
바람직하게는, 상기 딜레이는 시간에 기초한다.
바람직하게는, 상기 딜레이는 수신된 데이터의 양에 기초한다.
바람직하게는, 상기 딜레이는 상기 패킷의 길이에 상대적인 수신된 데이터의 양에 기초한다.
바람직하게는, 상기 컨트롤러는 하나 또는 여러 가지 속도에서 동작할 수 있다.
바람직하게는, 상기 전환 필요 예측 시점과 전환을 개시하는 시점 사이의 시간은 상기 컨트롤러가 동작하는 상기 속도에 따라 결정된다.
일 측면에 따르면, 액티브 상태 전력 관리(active state power management) 동작 중의 전환(transitions) 횟수를 줄일 수 있는 시스템이 제공되며, 상기 시스템은,
전력 관리 기능을 가진 인터페이스; 및
DMA 트랜잭션이 예측되는 경우에 비활성 타이머를 리셋하는 컨트롤러를 포함한다.
본 발명의 이러한 장점들 및 그 밖의 장점들, 측면들 및 신규한 특징들 뿐만 아니라 본 발명의 기재된 실시예의 자세한 설명은 후술하는 상세한 설명과 도면으로부터 더욱 충분히 이해될 것이다.
본 발명의 여러 측면들은 ASPM의 장점들을 지원하면서 동시에 더 높은 수준의 성능과 응답성을 가능하게 할 수 있다. 본 발명의 여러 측면들은 PCI-E 인터페이스를 이용하는 여러 프로세스들에서 지연 특성을 감소시킴으로써 동작 비용을 최소화할 수 있다. 본 발명의 여러 측면들은 네트워크 인터페이스 컨트롤러(NIC) 또는 그 밖에 ASPM 기능을 지원하는 PCI-E 인터페이스를 가지는 장치 내에 구현될 수 있다.
본 발명의 여러 측면들은 소정의 네트워크 자극 활동(network stimulus)에 기초하여 예측적으로 조기 L1 이탈을 개시함으로써 PCI 익스프레스(PCI-E)의 L1 액티브 상태 전력 관리(ASPM) 이탈 지연을 개선하는 것에 관련되어 있다. 개선된 지연 특성은 ASPM의 장점을 지지하는 동시에 좀더 높은 수준의 성능과 응답 능력을 가능하게 한다. 본 발명의 여러 측면들은 ASPM을 지원하는 PCI-E 인터페이스를 가진 네트워크 인터페이스 컨트롤러(NIC: Network Interface Controller) 내에서 구현될 수 있다. 비록 다음의 설명이 PCI-E 인터페이스에 관한 특정한 실시예를 참조하는 것일 수 있지만, 그 밖의 많은 실시예들도 또한 이 시스템들 및 방법들을 이용할 수 있을 것이다. 본 발명의 여러 측면들은 PCI-E 인터페이스를 이용하는 다른 프로세스들에서도 지연 특성을 줄일 수 있다.
본 발명의 다양한 실시예들에 따르면, 지능형 NIC는 소정의 네트워크 자극 활동에 기초하여 정상보다 훨씬 일찍, 즉 NIC가 실제로 DMA를 개시해야 할 시점보다 훨씬 이전에 L1 상태에서 빠져나올 필요성을 예측할 수 있다. 다른 말로 하면, 본 발명의 측면들은 NIC로 하여금, 그 장치가 개시될 준비가 되어 수행 상태가 된(pending) PCI-E 트랜잭션(예를 들어 DMA 읽기 또는 쓰기)을 가지게 되기 훨씬 이전에, L1에서 L0로 전환을 개시할 수 있게 한다. 본 발명의 여러 측면들에 따르면, NIC는 저 전력인 L1 상태로부터 최대 전력인 L0 상태로 전환을 예측적으로 개시할 수 있다. 이러한 전환을 예측하고 좀더 일찍 개시함으로써, L1 이탈 지연 중 의 일부가 가려질(mask) 수 있을 것이고, PCI-E 링크는 달리 동작할 경우에 비해 좀더 빠르게 L0 상태로 되돌아갈 수 있다. L0 상태로 좀더 빠르게 회복되는 것은 PCI-E 액티브 상태 전력 관리 기능을 지원하는 네트워크 컨트롤러의 성능과 응답성을 개선할 수 있다.
L1-L0 전환은 어떤 장치가 일단 PCI-E 트랜잭션을 개시할 것을 요청받은 경우에 그 장치에 의해 개시될 수 있다. 만약 어떤 NIC가 패킷을 수신하면, 그 패킷은 전부 버퍼링될 것이며, DMA 요청 전에 그 패킷 데이터가 호스트 메모리에 전달되어야 하는 지를 검증받을 것이다. 기가비트 NIC(및 그보다 빠른 NIC)들은 DMA를 요청하기 전에 패킷을 전부 버퍼링시킬 수 있다. 그보다 더 느린 NIC들은 DMA를 요청하기 전에 패킷의 일부만 버퍼링할 수 있을 것이다.
지연 시간(latency)을 줄일 수 있도록, L1-L0 전환은 해당 장치가 실제로 수행 상태의(pending) PCI-E 트랜잭션을 가지게 되기 이전에, 예측에 기초하여 개시될 수 있다. L1-L0 전환은 위의 NIC가 자신이 가까운 미래에 DMA 요청을 수행할 필요가 있을 가능성이 매우 높다는 판정을 내릴 수 있게 될 때에 시작될 수 있다. 이는 10 마이크로초 이상의 선행 출발(head start)을 제공할 수 있다.
도 1은 본 발명의 예시적인 실시예에 따라 PCI-E L1 ASPM 이탈 지연 특성을 개선하기 위한 첫 번째 예시적인 방법을 설명하는 순서도이다. 단계(101)에서, NIC는 패킷을 수신할 수 있는 상태이다. 단계(103)에서, 충분한 만큼의 인커밍 패킷 부분이 도달하는 즉시, NIC는 그 패킷이 어드레스 필터링을 통과하는지 여부를 검증한다. 이 패킷은 오류가 없으며 따라서 호스트 메모리로 DMA 전송될 필요가 있다 고 예측될 수 있을 것이다.
단계(105)에서는, 상기 NIC는 PCI-E 인터페이스가 현재 유지하는 중인 상태가 어떤 상태인지 판정할 수 있다. 만약 PCI-E 인터페이스가 L0 상태에 있다면, 상기 장치의 PCI-E 비활동 타이머(inactivity timer)는 단계(107)에서 리셋되고, 상기 NIC는 단계(101)에서 패킷을 위해 대기하는 상태로 되돌아간다. 만약 PCI-E 인터페이스가 L1 상태에 있고, 단계(109)에서 상기 장치가 PCI D3 상태에 있는 것으로 밝혀지면, 상기 NIC는 단계(101)에서 패킷을 위해 대기하는 상태로 되돌아간다. 만약 PCI-E 인터페이스가 L1 상태에 있으며 단계(109)에서 상기 장치가 PCI D3 상태에 있지 않은 것으로 밝혀지면, 상기 NIC는 단계(111)에서 L1-L0 전환을 개시하고 PCI-E 비활동 타이머를 리셋시킬 수 있다. 이 시점은 전체 패킷이 수신되기 한참 이전이 될 수 있으며, NIC로 하여금 만약 그 NIC가 DMA 전송을 DMA 엔진이 요청하길 기다렸을 때의 경우보다 10 마이크로초 이상 더 일찍 L1-L0 전환을 시작할 수 있게끔 할 수 있다.
"조기" L1-L0 전환을 예측적으로 요청함으로써, 상기 NIC는 실제로 DMA 요청을 해야 할 필요 없이 버스를 L0 상태로 전환할 수 있다. 만약 상기 NIC가 상기 패킷이 오류(예를 들어 FCS 오류)를 가졌다고 최종적으로 판정할 경우에는, 상기 NIC는 해당 패킷을 폐기할 수 있으며, 그 패킷의 데이터에 관하여 DMA 요청을 개시하지 않을 수 있다.
PCI-E 규격은 L0 상태로 전환에 관하여, 만약 그러한 전환이 곧장 PCI-E 트랜잭션으로 이어지지 않은 경우에도 그러한 전환을 허용한다. L1 상태에서 L0 상태 로 불필요한 전환을 할 경우의 단점은 버스가 소정의 짧은 시구간 동안 조금 더 많은 전력을 소비하게 될 것이라는 점이다. 단계(113)에서, 비활동 타이머(inactivity timer)는 상기 장치가 비활동으로 인하여 링크를 L0에서 L1으로 다시 전환해야 하는 시점을 결정하는 데에 이용된다. 단계(115)에서, 상기 버스는 비활동을 이유로, L1 상태로 다시 전환한다. 만약 "불필요한" L1-L0 전환들의 횟수가 최소 수준에서(예를 들어 5% 이하) 유지된다면, 전력 소모에 관한 부정적인 영향은 무시할 수 있는 수준일 것이며, L1 이탈 지연에서의 개선은 눈에 띌 정도이고 고무적인 수준이 될 것이다. 기가비트 이더넷 네트워크에서 오류율은 10-10(규격마다 다름)보다 낮은데, 대부분의 매체 형태에 관하여서는 10-12보다 더 낮을 수 있다. 따라서, 이더넷 네트워크에 관하여 패킷 오류율도 1%보다 훨씬 적을 것이다.
불필요한 L0-L1-L0 전환을 방지하기 위해서, 상기 NIC는 단계(107 및 111)에서, 동일한 조기 징후(early indication)를 이용하여 상기 NIC의 PCI-E 비활동 타이머를, 만약 다른 경우였다면 이 타이머가 리셋되었을 시점보다 더 일찍 리셋되도록 할 수 있다. 특정 이벤트가 발생하였을 때(예를 들어, 패킷이 수신되었지만, 그 패킷을 위한 DMA가 준비되기 전)에 타이머를 좀더 일찍 리셋함으로써, 불필요한 L1 전환의 경우들이 회피될 수 있다. PCI-E 비활동 타이머는 심지어 PCI-E 링크가 L0 상태에서 네트워크 및 PCI 트래픽을 처리하고 있는 중에도 리셋될 수 있다. 이러한 리셋 방법이 L1 이탈 지연을 개선시키지는 않을 테지만, 이는 DMA 트랜잭션이 발생되는 시점보다 일찍 비활동 타이머를 해제함으로써, 불필요한 L0-L1-L0 전환 동작 을 줄일 수 있다.
도 2는 본 발명의 예시적인 실시예에 따라 PCI-E L1 ASPM 이탈 지연 특성을 개선하기 위한 두 번째 예시적인 방법을 설명하는 순서도이다.
단계(201)에서, DMA 이벤트가 DMA 이벤트 타이머를 이용하여 스케쥴링된다. 일단 DMA 이벤트 타이머가 단계(205)에서 만료되면, DMA 이벤트가 단계(207)에서 개시될 수 있다. 상기 DMA 이벤트는 호스트에서 구동 중인 드라이버를 현재의 하드웨어 상태(hardware status)를 가지고 갱신하고 인터럽트를 생성하는 "호스트 병합(host coalescing)" 이벤트일 수 있다. 이러한 DMA 이벤트는 또한 현재의 온칩 통계 카운터들을 호스트로 전송하는 동작일 수도 있다. 단계(203)에서, DMA 이벤트 타이머가 만료하기 전에 L1-L0 전환이 시작될 수 있다. DMA 타이머가 설정된 후에, 그렇지만 그 타이머가 만료되기 훨씬 이전에 L1-L0 전환을 개시함으로써, 상기 장치는, L1-L0 전환이 타이머가 만료되기 바로 직전에 완료되고, 그리하여 L1 이탈 지연 시간을 완벽하게 가릴(mask) 수 있도록 구성될 수 있다.
도 3은 본 발명의 예시적인 실시예에 따라 PCI-E L1 ASPM 이탈 지연 특성을 개선하기 위한 예시적인 시스템을 설명하는 순서도이다. 도 3은 기가비트 이더넷 컨트롤러(300)를 설명한다. 그렇지만, 다음의 기술 내용은 WLAN 장치들과 같이 PCI-E 버스를 가지는 기타 종류의 네트워크 장치들에도 역시 적용될 수 있다.
MAC(301)은 1) 이더넷 매체 접근 제어(MAC: Medium Access Control) 기능들, 2) 이더넷 802.3 프로토콜, 3) 물리 계층(PHY)에 대한 인터페이스, 4) 패킷 분류, 5) 수신 패킷들에 대한 오류 탐지 로직 내지는 6) 임시적인 패킷 버퍼링을 위한 메 모리 기능을 지원할 수 있다. 상기 MAC(301)는 또한 1) 체크섬 계산의 부하 절감을 위한 로직, 2) TCP/IP나 IPSEC 트래픽을 위한 가속기 기능, 내지 3) 추가적인 내장 프로세서들을 포함할 수 있다. DMA 엔진(303)은 PCI-E 코어(305)로 DMA 읽기 및 쓰기 요청들을 개시하는 것을 담당한다. PCI-E 코어(305)는 PCI-E 버스에 실제의 DMA 요청을 발생시키고, PCI-E 프로토콜을 지원하며, 또한 PCI-E 타겟 지원을 제공하는 책임을 진다.
패킷이 이더넷 네트워크에 수신되면, 패킷 내의 데이터는 칩 내의 다수의 블록들을 통과할 것이다. 수신된 패킷에 대하여, 데이터는 네트워크 인터페이스(307)를 통해 PHY(309)에서 상기 장치로 들어오며, MAC(301)에 의해 처리된다. 상기 패킷이 FCS(다른 명칭으로는 CRC) 오류를 가지지 않음을 MAC이 확신하기 위해서는 전체 패킷이 수신되어야 한다. 만약 이 패킷에 아무런 오류가 없고, 또한 그 패킷이 해당 시스템을 목적지로 하는 경우에는, 상기 DMA 엔진(303)은 상기 패킷을 PCI 버스(311)를 거쳐 호스트 메모리 내로 전송해 줄 것을 PCI-E 코어(305)로 요청하는 DMA 요청(DMA requests)을 형성할 것이다.
기가비트 이더넷 NIC들은 1 Gb/s의 동작을 지원할 수 있지만, 더 느린 속도 예를 들어 100 mb 및 10 mb와 같은 속도들에서의 동작도 지원할 수 있다. 느린 네트워크 속도에서 동작할 경우에, 수신되는 네트워크 패킷들은 더 천천히 도달한다. 최대 크기의 이더넷 패킷(1518B)을 100 mb에서 수신하는 데에 걸리는 시간은 대략 122 마이크로초가 될 수 있는데, 이러한 양의 시간은 L1 이탈 지연보다 더 큰 값일 수 있다. L1 이탈 지연은 만약 L1 상태에서 PLL 전력 차단이 비활성화된 경우라면, 10 마이크로초보다 더 길 수 있지만 64 마이크로초보다는 짧을 것이다. 그러나, 만약 PLL 전원 차단이 활성화된 경우라면, L1 이탈 지연은 100 마이크로초보다 더 커질 수 있다. 따라서, 10 mb 또는 100 mb에서 동작할 경우에, 그리고 L1 상태에 있는 동안에 패킷을 수신하는 경우에는, 인가되는 수신 패킷 도중의 좀더 나중 시점에 상응하는 시간 상의 시점에서 L1-L0 전환이 개시되는 것이 바람직할 수 있다. 예를 들어, 100 mb에서 동작하는 장치가 최대 크기인 1518 바이트 이더넷 패킷을 수신한다고 가정한다. 최대 크기의 인커밍 패킷이 도달하는 데에 걸리는 시간(대략 120 마이크로초)은 L1 이탈 지연 시간을 초과할 수 있다(즉, 만약 PLL 전원 차단이 비활성화되었을 경우). 따라서, 패킷의 MAC 헤더가 도착한 바로 직후에 L1-L0 전환을 개시하지 않고, 오히려 그 패킷의 나중 위치(예를 들어서 1000 바이트 정도)에서 개시하는 것이 더 좋을 수 있다. 이는 PCI-E 인터페이스가 상당한 양의 시간만큼 L0 상태로 시기 상조로(prematurely) 전환되지 않는 것은 바람직할 수 있다는 것이다. 따라서, 이러한 기능의 바람직한 구현예는, 상기 NIC에 관한 소프트웨어 드라이버가, 수신되는 패킷이 어드레스 필터링을 통과하였다고 NIC가 판정한 시점부터, 상기 NIC가 L1-L0 전환을 개시해야 할 시점까지의 딜레이 인자(delay factor)를 설정할 수 있도록 하는 특징을 포함할 수 있다. 이 딜레이 인자는 시간 기준(예를 들어 마이크로초 단위)이거나, 또는 주어진 패킷에 대하여 수신된 데이터의 양 기준 중 어느 한 쪽일 수 있다. 상기 소프트웨어 드라이버는 네트워크 속도, PLL 전원 차단이 인가되었는지 아닌지 여부, 그리고 특정 시스템 상에서 예상 장치 L1 이탈 지연과 같은 기준 조건을 이러한 딜레이 인자를 결정하는 기준 조건 으로서 이용할 수 있다.
조기 L1-L0 전환을 지원하기 위해, MAC(301)로부터 PCI-E 코어(305)로 전달되는 소정의 신호가 상기 PCI-E 코어로 하여금 L1-L0 전환을 개시할 것을 지시한다. 이 신호는 에지에서 촉발되는(edge triggered) 신호일 수 있으며, 상기 MAC는 자신이 PCI-E 코어에게 L0 상태로 갈 것을 "귀띰(hint)"하려고 할 때에 소정의 펄스를 생성할 수 있다. 디버그(debug) 및 진단(diagnostic) 목적을 위해서, 상기 소프트웨어는 이 신호의 사용을 활성화 또는 비활성화할 수 있다. 이는 장치 드라이버에 의해 설정될 수 있는 장치 특정 레지스터 비트들을 통해 실현될 수 있다.
상기 PCI-E 코어(305)는 이 신호 상의 펄스를 인지할 수 있는 로직을 포함할 수 있다. 만약 이러한 기능이 장치 레벨에서 가능하게 되어 있고, 상기 장치가 L1 ASPM 상태 및 D0 장치 상태에 있는 경우에는, 상기 PCI-E 코어(305)는 제기된 신호를 자신이 인지를 했을 때에(즉, 상기 코어가 이 신호의 상승 에지를 탐지하였을 때에) L1-L0 전환을 개시할 수 있다. 일단 전환이 L0 상태 쪽으로 일어나게 되면, 상기 PCI-E 코어(305)는 PCI-E 비활동 타이머를 리셋하고 그럼으로써 만약 소정의 시간 동안에 버스 상에 아무런 활동이 없을 경우에 상기 장치가 L1 상태로 다시 전환하는 것을 개시할 수 있게 한다. 이러한 신호는 만약 장치가 D3 상태에 있는 경우라면 PCI-E 코어에 의해 완전히 무시되어야 할 것이다. 만약 장치가 L1 ASPM 상태에 있지 않았고, 오히려 L0 상태에 있었다면, 상기 장치는 그러한 신호에 실린 펄스를 탐지한 때에는 즉시 자신의 PCI-E 비활동 타이머를 리셋할 것이다. 이는 조기 징후 신호가 제기되었을 때에 상기 비활동 타이머가 만료에 가까워져 있었을 경 우에, 있을 수 있는 불필요한 L0-L1-L0 전환을 제거하는 이점을 제공할 수 있다.
패킷 수신으로 인한 조기 L1-L0 전환을 지원하기 위해서, MAC(301)은, 상기 MAC(301)로 하여금, 상기 PCI-E 코어(305)가 인가되는 패킷이 어드레스 필터링을 막 통과하였다고 결정한 직후에 상기 PCI-E 코어(305)가 L1-L0 전환을 시작하도록 통지할 수 있는 펄스를 상기 PCI-E 코어(305)로 전달되는 상기 신호 상에 생성할 수 있게 하는 로직을 포함할 수 있다.
"조기 L1 이탈 지연(early L1 exit delay)" 레지스터가 추가될 수도 있는데, 이는 소프트웨어에 의해, MAC(301)로부터 PCI-E 코어(305)로 가는 펄스를 n 마이크로초만큼 또는 패킷 중의 n 바이트가 수신될 때까지 지연시킬 수 있도록 구성될 수 있다. 상기 레지스터는 통상적으로 1 Gb 네트워크 환경에서는 "0"(즉, 추가 딜레이가 없음)로 설정될 것이지만, 만약 네트워크 속도가 더 낮았다면(예를 들어 100 mb), 딜레이 값은 해당 패킷에 상응하는 DMA 쓰기 신호들이 발생되기 전에 조기 L1 이탈 펄스가 생성되어 따라서 L1 이탈 지연을 감소시킬 수 있도록 하는 값이 이용될 수 있다. 그러한 딜레이를 가지는 경우에, 상기 펄스는 상기 패킷이 먼저 어드레스 필터링을 통과할 때 정도로 일찍 발생하지는 않을 것인데, 그 이유는 그러한 딜레이는 만약 PLL 전원 차단이 적용되지 않았을 경우에는 너무 이른 L1-L0 전환으로 이끌 수 있기 때문이다. "n 바이트" 방법을 이용하면, 소프트웨어가 딜레이 문턱값을 충돌 윈도우(collision window) 바깥에 있도록(예를 들어 패킷의 첫 64 바이트) 설정할 수 있다는 점에서, 10/100 반이중식(half-duplex) 네트워크들에 관하여 이점을 가질 수 있다.
상기 딜레이 값은 패킷의 길이에 상대적일 수 있다. 패킷의 길이는 이더넷 헤더 내의 typ/len 필드 내지 비 단편화(non-fragmented) IP 패킷들의 경우에 IP 헤더 내의 IP len 필드를 조사하는 하드웨어에 의해 결정될 수 있다.
NIC들은 타이머들을 가질 수 있는데, 이 타이머들은 타이머가 만료되었을 때에 DMA가 생성되도록 만드는 것들이다. 그러한 예로는 인터럽트 이벤트들을 병합시키는 데에나, 상태 블록 갱신 이벤트들을 병합시키는 데에, 또는 호스트로 온칩 통계들에 관한 주기적인 DMA 전송을 생성하는 데에 이용되는 타이머들이 포함될 수 있다. 어떤 주어진 타이머가 언제 만료될 것인지를 예측하는 것은 가능할 수 있다. 어떤 타이머에 관하여 예측된 근접한 만료 시점으로 인한 조기 L1-L0 전환을 지원하기 위하여, 상기 MAC(301) 내의 제어 로직은 그러한 타이머가 만료되기 전의 어떤 프로그래밍된 문턱값에 도달할 때에 "조기 L1 이탈 펄스"를 생성하도록 변형될 수 있다. 예를 들어, 하나 또는 여러 레지스터들이 추가되는 것만으로도, 어떤 주어진 타이머가 만료되기 n 마이크로초 앞서서 내부 L1 이탈 신호를 상기 장치가 펄스로 생성하도록 상기 소프트웨어가 그러한 장치를 설정하는 것을 가능하게 할 수 있다. 예를 들어 만약 통상적으로 매초마다 만료되는 통계 블록 갱신 타이머에 관하여 n이 30과 같다면, 상기 장치는 상기 장치가 통계 블록 갱신 DMA 전송을 발생시킬 준비가 되기 30 마이크로초 전에 L1-L0 전환을 시작할 수 있다. 만약 상기 장치가 L1 ASPM 상태에 놓여 있다면, 이는 L1 이탈 지연 중 30 마이크로초 만큼을 가릴 수 있을 것이다. 만약 PCI-E 링크가 L0 상태에 놓여 있었다면, 상기 타이머가 만료되기 전에 있을 수 있는 불필요한 L0-L1 전환을 방지할 수 있도록 PCI-E 비활 동 타이머를 리셋할 것이다.
만약 상기 장치가 L0 상태에 놓여 있고 그 PCI-E 비활동 타이머가 만료되는 시점에 가까울 경우에는, 조기 L1-L0 전환을 하라는 신호의 발생은 상기 PCI-E 비활동 타이머의 즉각적인 리셋을 초래할 수 있으며, 이는 결과적으로 가까운 시기에 L0로부터 L1로의 전환을 방지할 수 있다. 이러한 비활동 타이머는 DMA가 곧 뒤따를 것이라는 예측적인 조기 징후에 이어 실제의 DMA 가 발생할 때에 다시 리셋될 수 있다.
만약 상기 장치가 활성화된 WoL 기능을 가지는 D3 상태에 있으면서 어떤 패킷을 수신할 경우에, L1-L0 전환은 단지 이 장치가 패킷을 수신했다는 이유만으로는 개시되지 않을 수 있다. D3에 있는 동안에는, 조기 L1 이탈 기능은 PCI-E 코어 내에서는 비활성화될 수 있다. 만약 상기 장치가 WoL 패킷을 수신하면, 상기 장치는 WAKE# 신호를 발생시킬 수 있으며, 이는 상기 시스템을 재가동(wake up)시킬 수 있고 또한 PCI-E 인터페이스의 리셋으로 이어질 수 있다.
본 발명은 하드웨어나 소프트웨어, 또는 이들을 조합한 형태로 실현될 수 있다. 본 발명은 적어도 하나의 집적 회로 내에 중앙 집중 방식으로 구현될 수도 있고, 서로 다른 요소들이 여러 개의 회로들에 걸쳐 퍼져 있는 분산 방식으로 구현될 수도 있다. 여기에 설명된 방법들을 수행할 수 있도록 설계된 어떠한 형태의 컴퓨터 시스템 또는 기타 장치도 적합하다. 통상적으로 하드웨어와 소프트웨어의 조합은 컴퓨터 프로그램이 탑재된 범용 컴퓨터 시스템이 될 수 있으며, 이때 상기 컴퓨터 프로그램은 로딩되어 실행될 경우에 상기 컴퓨터 시스템을 제어하여, 이 컴퓨터 시스템이 여기에서 설명한 방법들을 수행할 수 있게 한다.
본 발명은 또한 컴퓨터 프로그램 제품(computer program product)에 내장될 수 있다. 이때, 상기 컴퓨터 프로그램 제품은 여기서 설명한 방법들의 구현을 가능하게 하는 모든 특징들을 모두 포함하며, 컴퓨터 시스템에 탑재될 경우에는 그러한 방법들을 수행할 수 있다. 본 발명의 맥락에서 컴퓨터 프로그램이란, 어떠한 종류의 언어, 코드 또는 표기법으로 나타낸, 일단의 명령에 관한 어떠한 종류의 표현을 뜻한다. 이때, 상기 일단의 명령들이란, 정보 처리 능력을 가진 시스템이 어떤 특정한 기능을 직접적으로, 또는 다음의 (a) 다른 프로그램 언어, 코드나 표기법으로 컨버젼(conversion)되거나, (b) 상이한 물질적인 형태로 재생산을 각각 거치거나 또는 두 가지 모두를 거친 후에, 수행하도록 의도된 것들을 말한다.
본 발명이 특정한 실시예들에 관하여 설명되었지만, 본 발명의 사상에서 벗어남이 없이, 다양한 변경이 이뤄질 수 있고 또한 균등물들이 치환될 수 있다는 점은 당해 기술 분야에 숙련된 자들에게 이해될 것이다. 추가적으로, 본 발명의 사상에서 벗어남이 없이, 특정한 상황이나 물적 요건을 본 발명의 교지에 맞게 조절할 수 있도록 다양한 개조가 이뤄질 수 있다. 따라서, 본 발명은 개시된 특정한 실시예에 한정되는 것이 아니며, 본 발명은 첨부된 청구 범위의 사상 내에 들어오는 모든 실시예들을 포함한다.
도 1은 본 발명의 예시적인 실시예에 따라 PCI-E L1 ASPM 이탈 지연 특성을 개선하기 위한 첫 번째 예시적인 방법을 설명하는 순서도이다.
도 2는 본 발명의 예시적인 실시예에 따라 PCI-E L1 ASPM 이탈 지연 특성을 개선하기 위한 두 번째 예시적인 방법을 설명하는 순서도이다.
도 3은 본 발명의 예시적인 실시예에 따라 PCI-E L1 ASPM 이탈 지연 특성을 개선하기 위한 예시적인 시스템을 설명하는 순서도이다.

Claims (10)

  1. 액티브 상태 전력 관리(active state power management) 동작 중의 지연(latency)을 개선하는 방법에 있어서,
    저전력 PCI-E 상태에 진입하는 단계;
    최대 전력 PCI-E 상태를 필요로 할 트랜잭션(transaction)을 예측하는 단계; 및
    상기 예측된 트랜잭션에 기초하여 상기 최대 전력 PCI-E 상태로 전환하는 단계를 포함하는 지연 개선 방법.
  2. 청구항 1에 있어서, 상기 트랜잭션을 예측하는 단계는 이벤트를 스케쥴링하는 단계를 포함하며, 상기 이벤트는 타이머가 만료되는 때에 개시되는 것을 특징으로 하는 지연 개선 방법.
  3. 청구항 2에 있어서, 상기 이벤트는 상태 갱신(status update)을 포함하는 것을 특징으로 하는 지연 개선 방법.
  4. 청구항 2에 있어서, 상기 이벤트는 인터럽트 발생을 포함하는 것을 특징으로 하는 지연 개선 방법.
  5. 청구항 2에 있어서, 상기 이벤트는 호스트로의 통계 정보 전송을 포함하는 것을 특징으로 하는 지연 개선 방법.
  6. 액티브 상태 전력 관리(active state power management) 동작 중의 전환(transitions) 횟수를 줄이는 방법에 있어서,
    DMA 트랜잭션을 예측하는 단계; 및
    상기 예측된 트랜잭션에 기초하여 비활동 타이머(inactivity timer)를 리셋하는 단계를 포함하는 지연 개선 방법.
  7. 액티브 상태 전력 관리(active state power management) 동작 중의 지연(latency)을 개선할 수 있는 시스템에 있어서,
    저전력 PCI-E 상태 및 최대 전력 PCI-E 상태를 포함하는 전력 관리 기능을 가지는 인터페이스; 및
    상기 최대 전력 PCI-E 상태에 대한 필요성(requirement)을 예측하며, 그러한 경우에 상기 인터페이스로 하여금 상기 저전력 PCI-E 상태로부터 상기 최대 전력 PCI-E 상태로의 전환을 개시하도록 지시하는 컨트롤러를 포함하는 시스템.
  8. 청구항 7에 있어서, 상기 컨트롤러는 이더넷 MAC인 것을 특징으로 하는 시스템.
  9. 청구항 7에 있어서, 상기 컨트롤러는 WLAN 컨트롤러인 것을 특징으로 하는 시스템.
  10. 액티브 상태 전력 관리(active state power management) 동작 중의 전환(transitions) 횟수를 줄일 수 있는 시스템에 있어서,
    전력 관리 기능(features)을 가진 인터페이스; 및
    DMA 트랜잭션이 예측되는 경우에 비활성 타이머를 리셋하는 컨트롤러를 포함하는 시스템.
KR20080099687A 2007-10-11 2008-10-10 피씨아이-이 엘원 에이에스피엠 이탈 지연을 개선하기 위한방법 및 시스템 KR100969223B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/870,756 2007-10-11
US11/870,756 US9146892B2 (en) 2007-10-11 2007-10-11 Method and system for improving PCI-E L1 ASPM exit latency

Publications (2)

Publication Number Publication Date
KR20090037357A KR20090037357A (ko) 2009-04-15
KR100969223B1 true KR100969223B1 (ko) 2010-07-09

Family

ID=40019200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080099687A KR100969223B1 (ko) 2007-10-11 2008-10-10 피씨아이-이 엘원 에이에스피엠 이탈 지연을 개선하기 위한방법 및 시스템

Country Status (6)

Country Link
US (1) US9146892B2 (ko)
EP (1) EP2048571B1 (ko)
KR (1) KR100969223B1 (ko)
CN (1) CN101420308B (ko)
HK (1) HK1130972A1 (ko)
TW (1) TWI486023B (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090110051A1 (en) * 2007-10-29 2009-04-30 Lindsay Steven B Method and system for reducing the impact of latency on video processing
TWI370976B (en) * 2008-01-10 2012-08-21 Avermedia Tech Inc Method for operating tv tuner card
US8176341B2 (en) * 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
TWI374360B (en) * 2008-09-22 2012-10-11 Realtek Semiconductor Corp Integrated transmitting circuit and method
KR20110041286A (ko) * 2009-10-15 2011-04-21 삼성전자주식회사 컴퓨터시스템 및 그 제어방법
US8856564B2 (en) * 2009-12-18 2014-10-07 Intel Corporation Method and apparatus for power profile shaping using time-interleaved voltage modulation
US8634291B2 (en) * 2010-01-26 2014-01-21 Oracle America, Inc. Energy efficient management of datalinks
EP2553545A1 (de) * 2010-03-30 2013-02-06 Siemens Aktiengesellschaft Automatisierungskomponente mit einem energiesparenden betriebszustand
TWI413907B (zh) * 2010-06-02 2013-11-01 Realtek Semiconductor Corp 一種用於訊號傳輸之省電方法及裝置
US8688926B2 (en) 2010-10-10 2014-04-01 Liqid Inc. Systems and methods for optimizing data storage among a plurality of solid state memory subsystems
JP5704904B2 (ja) * 2010-11-29 2015-04-22 キヤノン株式会社 データ処理装置、データ処理装置の制御方法及びプログラム
MY174440A (en) * 2011-10-03 2020-04-18 Intel Corp System and method for performance optimization in usb operations
US9015396B2 (en) * 2012-09-18 2015-04-21 Apple Inc. Reducing latency in a peripheral component interconnect express link
US10218645B2 (en) * 2014-04-08 2019-02-26 Mellanox Technologies, Ltd. Low-latency processing in a network node
US10467166B2 (en) 2014-04-25 2019-11-05 Liqid Inc. Stacked-device peripheral storage card
US10114784B2 (en) 2014-04-25 2018-10-30 Liqid Inc. Statistical power handling in a scalable storage system
US9798636B2 (en) 2014-06-23 2017-10-24 Liqid Inc. Front end traffic handling in modular switched fabric based data storage systems
US10362107B2 (en) 2014-09-04 2019-07-23 Liqid Inc. Synchronization of storage transactions in clustered storage systems
US10198183B2 (en) 2015-02-06 2019-02-05 Liqid Inc. Tunneling of storage operations between storage nodes
US10108422B2 (en) 2015-04-28 2018-10-23 Liqid Inc. Multi-thread network stack buffering of data frames
US10191691B2 (en) 2015-04-28 2019-01-29 Liqid Inc. Front-end quality of service differentiation in storage system operations
US10019388B2 (en) 2015-04-28 2018-07-10 Liqid Inc. Enhanced initialization for data storage assemblies
TWI559148B (zh) * 2015-05-11 2016-11-21 廣達電腦股份有限公司 自動硬體恢復方法及自動硬體恢復系統
US10078614B2 (en) 2015-08-10 2018-09-18 Sandisk Technologies Llc Systems and methods of data transfer
CN105183506A (zh) * 2015-08-17 2015-12-23 山东超越数控电子有限公司 一种解决s3唤醒时pci设备寄存器掉电重置的方法
US10255215B2 (en) 2016-01-29 2019-04-09 Liqid Inc. Enhanced PCIe storage device form factors
US11029748B2 (en) 2016-03-15 2021-06-08 Qualcomm Incorporated Adaptive peripheral component interconnect express link substate initiation for optimal performance and power savings
US11880326B2 (en) 2016-08-12 2024-01-23 Liqid Inc. Emulated telemetry interfaces for computing units
US11294839B2 (en) 2016-08-12 2022-04-05 Liqid Inc. Emulated telemetry interfaces for fabric-coupled computing units
WO2018031939A1 (en) 2016-08-12 2018-02-15 Liqid Inc. Disaggregated fabric-switched computing units
US20180150125A1 (en) * 2016-11-28 2018-05-31 Qualcomm Incorporated Wifi memory power minimization
WO2018200761A1 (en) 2017-04-27 2018-11-01 Liqid Inc. Pcie fabric connectivity expansion card
US10180924B2 (en) 2017-05-08 2019-01-15 Liqid Inc. Peer-to-peer communication for graphics processing units
US11132319B2 (en) * 2018-01-12 2021-09-28 Intel Corporation Timer control for peripheral component interconnect express components implemented with thunderbolt controllers
US10660228B2 (en) 2018-08-03 2020-05-19 Liqid Inc. Peripheral storage card with offset slot alignment
US10585827B1 (en) 2019-02-05 2020-03-10 Liqid Inc. PCIe fabric enabled peer-to-peer communications
EP3959604A4 (en) 2019-04-25 2023-01-18 Liqid Inc. MACHINE TEMPLATES FOR DEDICATED COMPUTING UNITS
WO2020219807A1 (en) 2019-04-25 2020-10-29 Liqid Inc. Composed computing systems with converged and disaggregated component pool
CN115244487A (zh) * 2020-04-03 2022-10-25 惠普发展公司, 有限责任合伙企业 对功率节省模式中的主处理器进行操作
US11442776B2 (en) 2020-12-11 2022-09-13 Liqid Inc. Execution job compute unit composition in computing clusters
KR102518317B1 (ko) 2021-04-13 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface system and method of operating the same
US11782497B2 (en) * 2021-06-01 2023-10-10 SK Hynix Inc. Peripheral component interconnect express (PCIE) interface device and method of operating the same
JP2024014337A (ja) * 2022-07-22 2024-02-01 キオクシア株式会社 メモリシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097378A1 (en) 2003-07-29 2005-05-05 Hwang Andrew S. Method and system for power management in a gigabit Ethernet chip
US20050144487A1 (en) 2003-12-30 2005-06-30 Puffer David M. Optimizing exit latency from an active power management state
US20060265612A1 (en) 2005-05-23 2006-11-23 Via Technologies, Inc. PCI express system and method of transiting link state thereof
US20060277344A1 (en) 2005-06-02 2006-12-07 Kabushiki Kaisha Toshiba Information processing apparatus and controlling method thereof

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0454605A3 (en) * 1990-04-25 1992-04-22 International Business Machines Corporation Bus request device in a direct memory access (dma) system
JPH04313863A (ja) * 1991-04-12 1992-11-05 Sony Corp クロック信号再生装置
TW241361B (ko) * 1993-05-07 1995-02-21 Philips Electronics Nv
EP0756744B1 (en) * 1994-04-21 1999-12-15 Koninklijke Philips Electronics N.V. Arrangement for reproducing n digital signals from n adjacent tracks on a record carrier
US6018803A (en) * 1996-12-17 2000-01-25 Intel Corporation Method and apparatus for detecting bus utilization in a computer system based on a number of bus events per sample period
US5938771A (en) * 1997-10-30 1999-08-17 Advanced Micro Devices, Inc. Apparatus and method in a network interface for enabling power up of a host computer using magic packet and on-now power up management schemes
US6993667B1 (en) * 2000-12-15 2006-01-31 Marvell International Ltd. Apparatus for automatic energy savings mode for ethernet transceivers and method thereof
US7287649B2 (en) * 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US7644169B2 (en) * 2001-09-27 2010-01-05 Accudata Technologies, Inc. System and method for providing connectivity between two different networks using different protocols
US7043650B2 (en) * 2001-10-31 2006-05-09 Hewlett-Packard Development Company, L.P. System and method for intelligent control of power consumption of distributed services during periods when power consumption must be reduced
US20030135676A1 (en) * 2002-01-17 2003-07-17 Koninklijke Philips Electronics N.V. Low-power bus interface
US7274762B2 (en) * 2002-03-22 2007-09-25 Infineon Technologies Ag Calculation circuit for calculating a sampling phase error
US7110485B2 (en) * 2002-09-26 2006-09-19 Stmicroelectronics, Inc. System and method for clock synchronization of multi-channel baud-rate timing recovery systems
US7350087B2 (en) * 2003-03-31 2008-03-25 Intel Corporation System and method of message-based power management
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
KR100548154B1 (ko) * 2003-06-11 2006-01-31 (주)엔텔스 유무선 통신망에서의 패킷 전송 제어 및 패킷 과금 데이터생성을 위한 방법 및 장치
US7639444B2 (en) * 2003-12-15 2009-12-29 International Business Machines Corporation Real-time channel adaptation
US20050239518A1 (en) * 2004-04-21 2005-10-27 D Agostino Anthony Systems and methods that provide enhanced state machine power management
US7181190B2 (en) 2004-04-30 2007-02-20 Microsoft Corporation Method for maintaining wireless network response time while saving wireless adapter power
US20060149977A1 (en) * 2004-12-31 2006-07-06 Barnes Cooper Power managing point-to-point AC coupled peripheral device
CN1815892B (zh) * 2005-01-31 2011-09-28 瑞昱半导体股份有限公司 一种检测相位误差并产生控制信号的电路
US20060218424A1 (en) * 2005-03-23 2006-09-28 Miron Abramovici Integrated circuit with autonomous power management
US7631199B2 (en) * 2005-06-30 2009-12-08 Intel Corporation Various methods and apparatuses for power states in a controller
JP4526458B2 (ja) * 2005-07-29 2010-08-18 富士通株式会社 パケット処理装置及びパケット処理プログラム
US7647515B2 (en) * 2005-08-29 2010-01-12 Dell Products L.P. System and method for information handling system adaptive variable bus idle timer
EP1785811B1 (en) * 2005-11-14 2018-12-05 Texas Instruments Incorporated Memory information transfer power management
US7827425B2 (en) * 2006-06-29 2010-11-02 Intel Corporation Method and apparatus to dynamically adjust resource power usage in a distributed system
JP4742013B2 (ja) * 2006-11-29 2011-08-10 富士通株式会社 データ転送装置およびデータ転送方法
US7734942B2 (en) * 2006-12-28 2010-06-08 Intel Corporation Enabling idle states for a component associated with an interconnect
US7831849B2 (en) * 2007-03-28 2010-11-09 Intel Corporation Platform communication protocol
US7984314B2 (en) * 2007-05-14 2011-07-19 Intel Corporation Power management of low power link states
US7971074B2 (en) * 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US8156353B2 (en) * 2007-09-17 2012-04-10 Intel Corporation Techniques for communications power management based on system states

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097378A1 (en) 2003-07-29 2005-05-05 Hwang Andrew S. Method and system for power management in a gigabit Ethernet chip
US20050144487A1 (en) 2003-12-30 2005-06-30 Puffer David M. Optimizing exit latency from an active power management state
US20060265612A1 (en) 2005-05-23 2006-11-23 Via Technologies, Inc. PCI express system and method of transiting link state thereof
US20060277344A1 (en) 2005-06-02 2006-12-07 Kabushiki Kaisha Toshiba Information processing apparatus and controlling method thereof

Also Published As

Publication number Publication date
CN101420308B (zh) 2011-12-14
TWI486023B (zh) 2015-05-21
EP2048571A3 (en) 2013-01-23
CN101420308A (zh) 2009-04-29
US9146892B2 (en) 2015-09-29
US20090100280A1 (en) 2009-04-16
KR20090037357A (ko) 2009-04-15
EP2048571A2 (en) 2009-04-15
EP2048571B1 (en) 2018-08-01
HK1130972A1 (en) 2010-01-08
TW200935819A (en) 2009-08-16

Similar Documents

Publication Publication Date Title
KR100969223B1 (ko) 피씨아이-이 엘원 에이에스피엠 이탈 지연을 개선하기 위한방법 및 시스템
US8661167B2 (en) DMA (direct memory access) coalescing
US8812878B2 (en) Limiting false wakeups of computing device components coupled via links
JP6125539B2 (ja) リアルタイムシステムにおける動的電力管理
US7603574B1 (en) Network interface speed adjustment to accommodate high system latency in power savings mode
KR100550195B1 (ko) 전력을 고려한 적응형 폴링
US20160378159A1 (en) Negotiating a transmit wake time
EP2950489B1 (en) Method and device for generating cnm
JP2003524312A (ja) ネットワークインターフェースにおいて割込みを示す方法および装置
US6868466B2 (en) Apparatus and method for packet ingress interrupt moderation
EP2832051B1 (en) Method, device, and system for delaying packets during a network-triggered wake of a computing device
JP2009009577A (ja) 分散システムにおける動的な電力管理を実現するためのコア動作検出のための方法、システム及び装置
US6754755B1 (en) Service request system using an activity indicator to reduce processing overhead
JP2002538729A (ja) 高速ネットワーク環境において割込みを抑止する方法および装置
US6631434B1 (en) Dynamic early indication system for a computer
US20090248927A1 (en) Interconnect bandwidth throttler
US11032208B2 (en) Information processing apparatus, information processing method, and computer program product
US9804824B1 (en) System and method for controlling flow of data through a buffer to increase time a bridge is in a low power state
US20150286271A1 (en) System and method for predicting a central processing unit idle pattern for power saving in a modem system on chip
CN116225200A (zh) 芯片及其功耗管理方法、电子装置
US11256321B2 (en) Network-driven, packet context-aware power management for client-server architecture
US20120047390A1 (en) Apparatus and method of controlling a processor clock frequency
US20090319810A1 (en) Receiving apparatus and activation control method for receiving apparatus
WO2021036748A1 (zh) 控制方法、装置、芯片与设备
WO2013159464A1 (zh) 一种多核处理器时钟控制装置及控制方法

Legal Events

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

Payment date: 20130624

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140729

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150702

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160623

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee