디바이스 저전력 상태

디바이스 전원 상태 D1, D2 및 D3은 디바이스 저전력 상태입니다. Windows 8부터 D3는 D3hot 및 D3cold라는 두 개의 하위 단계로 나뉩니다.

D1 및 D2는 중간 저전력 상태입니다. 디바이스의 많은 클래스는 이러한 상태를 정의하지 않습니다. 모든 디바이스는 D3hot을 정의해야 합니다.

다음 섹션에서는 D1, D2 및 D3에 대해 설명합니다.

디바이스 전원 상태 D1

디바이스 전원 상태 D1은 전원이 가장 높은 디바이스 저전력 상태입니다. 다음과 같은 특징이 있습니다.

전력 소비
사용량은 D0 상태보다 작지만 D2 상태보다 크거나 같습니다. D1은 디바이스가 디바이스의 하드웨어 컨텍스트를 유지하기에 충분한 전원을 수신하는 시계 제어 상태인 경우가 많습니다. 일반적으로 D1을 지원하는 버스 또는 디바이스 클래스의 사양은 이 상태를 더 자세히 설명합니다.

디바이스 컨텍스트
일반적으로 디바이스 컨텍스트는 하드웨어에서 유지되며 드라이버에서 복원할 필요가 없습니다. D1을 지원하는 버스 또는 디바이스 클래스에 대한 사양은 일반적으로 이 컨텍스트를 보존하기 위한 자세한 요구 사항을 제공합니다.

디바이스 드라이버 동작
드라이버는 하드웨어에서 손실된 컨텍스트를 저장하고 복원하거나 다시 초기화해야 합니다. 그러나 일반적으로 디바이스는 이 상태를 입력할 때 컨텍스트를 거의 잃지 않습니다.

복원 시간
일반적으로 D1에서 D0으로 디바이스를 복원하는 데 필요한 시간은 D2에서 D0으로 복원하는 것보다 적어야 합니다.

절전 모드 해제 기능
D1의 디바이스는 모닝콜을 요청할 수 있습니다. 이 상태가 절전 모드 해제 신호를 지원할 수 있는지 여부에 대한 정보를 제공하려면 버스 드라이버가 DEVICE_CAPABILITIES 구조를 사용하거나 windows 8부터 GUID_D3COLD_SUPPORT_INTERFACE 드라이버 인터페이스를 사용합니다.

일반적으로 D1을 사용하는 디바이스는 이 상태에서 다시 시작해도 드라이버가 디바이스의 전체 하드웨어 컨텍스트를 복원할 필요가 없으므로 이 작업을 수행합니다. 사용자의 지연 인식을 최소화하려면 D1에서 D0으로 디바이스를 복원하는 데 가장 적은 지연이 발생합니다. 전력 소비를 줄이는 것보다 상태 전환의 지연을 최소화하는 것이 더 중요합니다.

디바이스 전원 상태 D2

D2는 다음과 같은 특성을 가진 중간 디바이스 저전력 상태입니다.

전력 소비
사용량은 D1 상태의 소비량보다 작거나 같습니다.

디바이스 컨텍스트
일반적으로 대부분의 디바이스 컨텍스트는 하드웨어에 의해 손실됩니다. 이 상태는 절식 이벤트를 신호하는 데 사용되는 컨텍스트 부분을 유지하는 경우가 많습니다. D2를 지원하는 버스 또는 디바이스 클래스에 대한 사양은 일반적으로 이 컨텍스트를 보존하기 위한 자세한 요구 사항을 제공합니다.

디바이스 드라이버 동작
디바이스 드라이버는 하드웨어에서 손실된 컨텍스트를 저장 및 복원하거나 다시 초기화해야 합니다. 일반적인 디바이스는 D2에 들어갈 때 대부분의 컨텍스트를 잃게 됩니다.

복원 시간
D2에서 D0으로 디바이스를 복원하는 데는 D1에서 D0으로 디바이스를 복원하는 데 적어도 시간이 걸립니다. 큰 프레임 버퍼가 있는 그래픽 어댑터는 D2에서 D0으로 전환한 후 복원할 하드웨어 컨텍스트가 많은 디바이스의 예입니다. 이러한 디바이스의 경우 D2의 복원 시간이 D1의 복원 시간보다 훨씬 클 수 있습니다.

절전 모드 해제 기능
D2의 디바이스가 절 해제를 요청할 수 있습니다. 이 상태가 절전 모드 해제 신호를 지원할 수 있는지 여부에 대한 정보를 제공하려면 버스 드라이버가 DEVICE_CAPABILITIES 구조를 사용하거나 windows 8부터 GUID_D3COLD_SUPPORT_INTERFACE 드라이버 인터페이스를 사용합니다.

일반적으로 D2를 지원하는 드라이버는 디바이스가 D3에서 절삭 해제를 지원할 수 없으므로 이 작업을 수행합니다. 이러한 디바이스의 경우 D2 상태의 전력 소비는 절전 모드 해제 신호에 대한 응답으로 디바이스가 복구할 수 있는 가장 낮은 수준으로 떨어집니다. 사용자가 인식하는 지연을 줄이기 위해 구현되는 D1 상태와 달리 D2 상태를 구현하는 목표는 전력을 절약하는 것입니다. 따라서 D2에서 D0까지의 복원 시간은 일반적으로 D1에서 D0까지의 복원 시간을 초과합니다. 예를 들어 D2 상태에서 버스의 전원이 끊어지면 디바이스가 일부 기능을 끌 수 있으므로 디바이스를 다시 시작하고 복원하는 데 추가 시간이 소요될 수 있습니다.

디바이스의 많은 클래스는 이 상태를 정의하지 않습니다.

디바이스 전원 상태 D3

D3은 전원이 가장 낮은 디바이스 저전력 상태입니다. 모든 디바이스는 이 상태를 지원해야 합니다.

Windows 8부터 운영 체제는 D3을 두 개의 개별 하위 상태인 D3hot 및 D3cold로 세분화합니다. 이전 버전의 Windows는 D3 상태를 정의하지만 D3hot 및 D3cold 하위 상태는 정의하지 않습니다. 그러나 PCI Bus 전원 관리 인터페이스 사양모든 버전은 별도의 D3hot 및 D3cold 하위 상태를 정의하고, 고급 구성 및 전원 인터페이스 사양버전 4 이상은 D3hot 및 D3cold 하위 상태를 정의합니다.

Windows 8 이전의 Windows 버전에서는 D3의 D3hot 및 D3cold 하위 상태를 명시적으로 정의하지 않지만 이러한 하위 상태는 이전 버전의 Windows에 암시적으로 존재합니다. 디바이스가 D3 상태이고 컴퓨터가 S0 시스템 전원 상태에 있는 경우 디바이스는 D3hot 하위 상태에 암시적으로 있습니다. D3hot에서 디바이스는 전원에 연결되고(디바이스가 낮은 전류를 그리도록 구성될 수 있음) 버스에 디바이스가 있는지 감지할 수 있습니다. 디바이스가 D3 상태이고 컴퓨터가 저전력 Sx 상태(S0 이외의 상태)인 경우 디바이스는 D3cold 하위 상태에 암시적으로 있습니다. 이 암시적 D3cold 하위 상태에서 디바이스는 세류 전류를 받을 수 있지만 절전 모드 해제 이벤트가 발생할 때까지 디바이스와 컴퓨터가 효과적으로 꺼집니다.

Windows 8부터 컴퓨터가 S0 상태로 다시 기본 동안 디바이스가 D3cold 하위 상태를 입력하고 나갈 수 있습니다. 이 새 동작을 지원하려면 D3hot 및 D3cold를 D3의 고유한 하위 상태로 명시적으로 정의해야 합니다.

D3hot은 디바이스가 D0에서 직접 입력할 수 있는 유일한 D3 하위 상태입니다. 디바이스는 디바이스 드라이버의 소프트웨어 제어 하에 D0에서 D3hot으로 전환합니다. D3hot에서는 연결하는 버스에서 디바이스를 감지할 수 있습니다. 디바이스가 D3hot 하위 상태에 있는 동안 버스는 D0 상태에서 다시 기본 합니다. D3hot에서 디바이스는 D0으로 돌아가거나 D3cold를 입력할 수 있습니다. D3cold는 D3hot에서만 입력할 수 있습니다.

D3cold는 디바이스가 버스에 물리적으로 연결되어 있지만 버스에서 디바이스의 존재를 감지할 수 없는 D3의 하위 상태입니다(디바이스가 다시 켜질 때까지). D3cold에서 다음 중 하나 또는 둘 다 true입니다.

  • 디바이스가 연결하는 버스는 저전력 상태입니다.
  • 디바이스는 버스 드라이버가 버스에서 현재 상태를 감지하려고 할 때 디바이스가 응답하지 않는 저전력 상태입니다.

D3hot에서 D3cold로의 전환은 디바이스 드라이버 상호 작용 없이 발생합니다. 대신 디바이스 드라이버는 D0에서 D3hot으로의 전환을 시작하기 전에 D3cold 전환이 준비되었는지 여부를 나타냅니다. 그 후 D3hot에서 D3cold로의 전환은 모든 조건이 이 전환을 사용하도록 설정하는 것이 적절한지 여부에 따라 발생할 수도 있고 그렇지 않을 수도 있습니다.

이러한 두 가지 조건은 동일한 전원을 사용하는 모든 디바이스가 D3hot에 있으며 D3cold 전환을 위해 준비된다는 것입니다. 이러한 디바이스의 마지막이 D3hot에 들어가면 부모 버스 드라이버 또는 ACPI 필터 드라이버가 이러한 디바이스에 전원을 끕니다. 즉, 디바이스가 D3cold를 입력한다고 합니다.

D3cold에 있는 디바이스는 D0을 입력해야만 이 하위 상태를 떠날 수 있습니다. D3cold에서 D3hot으로의 직접 전환은 없습니다.

컴퓨터가 S0 상태이고 디바이스가 D3hot 하위 상태가 되면 디바이스 드라이버는 일반적으로 디바이스의 다음 전환이 D3cold 또는 D0으로 전환될지 여부를 미리 확인할 수 없습니다. 한 가지 예외는 컴퓨터가 S0 상태를 떠날 준비를 하는 경우입니다. 이 경우 다음 전환은 D3cold로 전환됩니다.

다음 섹션에서는 D3hot 및 D3cold에 대해 설명합니다.

자세한 내용은 드라이버에서 D3cold 지원을 참조하세요.

D3hot 하위 상태

D3hot에는 다음과 같은 특성이 있습니다.

전원 소비 전력은 대부분 장치에서 제거되지만 컴퓨터 전체에서는 제거되지 않습니다. S0 상태인 컴퓨터는 이 상태에서 계속 실행되거나 S0에서 저전력 Sx 상태로 이동할 준비를 하고 있을 수 있습니다.

디바이스 컨텍스트
디바이스 드라이버는 전적으로 디바이스 컨텍스트 복원을 담당합니다. 드라이버는 모든 디바이스 컨텍스트를 유지 및 복원하거나 D0 상태로 전환할 때 디바이스를 다시 초기화해야 합니다.

디바이스 드라이버 동작
디바이스 드라이버는 일반적으로 가장 최근의 작업 구성에서 디바이스 컨텍스트를 복원하는 일을 전적으로 담당합니다.

복원 시간
총 복원 시간은 D3cold를 제외하고 디바이스 전원 상태 중 가장 높지만 일반적으로 D2의 복원 시간보다 크지는 않습니다.

절전 모드 해제 기능
D3hot 하위 상태의 디바이스는 모닝콜을 요청하거나 요청하지 못할 수 있습니다. 이 하위 상태에서 절전 모드 해제 신호를 지원할 수 있는지 여부에 대한 정보를 제공하려면 버스 드라이버가 DEVICE_CAPABILITIES 구조를 사용하거나 windows 8부터 GUID_D3COLD_SUPPORT_INTERFACE 드라이버 인터페이스를 사용합니다.

D3hot에서는 최소 세류 전류만 사용할 수 있습니다. 전원이 없을 경우 드라이버와 하드웨어를 준비해야 합니다. D3hot을 지원하는 버스 사양은 일반적으로 이 상태에서 사용할 수 있는 전원에 대한 자세한 요구 사항을 제공합니다. 디바이스를 작업 상태로 되돌리려면 디바이스의 드라이버가 BIOS에 따라 디바이스에 사용할 수 있는 옵션 ROM의 코드를 실행하지 않고도 디바이스를 복원하고 다시 초기화할 수 있어야 합니다.

디바이스의 모든 클래스는 D3hot 하위 상태를 정의합니다.

D3cold 하위 상태

D3cold에는 다음과 같은 특징이 있습니다.

전력 소비
전원이 장치에서 완전히 제거되었으며 전체 시스템에서 제거되었을 수 있습니다. 디바이스는 구성에 따라 사이드 밴드 원본에서 전류를 그릴 수 있습니다.

디바이스 컨텍스트
디바이스 드라이버는 전적으로 디바이스 컨텍스트 복원을 담당합니다. 드라이버는 디바이스 컨텍스트를 유지 및 복원하거나 D0 상태로 전환할 때 디바이스를 다시 초기화해야 합니다.

디바이스 드라이버 동작
디바이스 드라이버는 일반적으로 가장 최근의 작업 구성에서 디바이스 컨텍스트를 복원하는 일을 전적으로 담당합니다.

복원 시간
총 복원 시간은 디바이스 전원 상태 중 가장 높습니다.

절전 모드 해제 기능
D3cold 하위 상태의 디바이스는 절전 모드 해제 신호를 트리거하여 절전 모드 해제 컴퓨터를 깨울 수 있습니다. 이 기능은 DEVICE_CAPABILITIES 구조 및 Windows 8부터 GUID_D3COLD_SUPPORT_INTERFACE 드라이버 인터페이스의 GetIdleWakeInfo 루틴에 의해 보고됩니다. 신호가 컴퓨터를 깨우면 디바이스 드라이버가 D3cold에서 D0으로 디바이스의 전환을 시작합니다. 자세한 내용은 다음 발언을 참조하세요.

Windows 8부터 D3cold 하위 상태의 디바이스는 S0 시스템 전원 상태에 있는 컴퓨터에 절전 모드 해제 신호를 트리거할 수 있습니다. 이 기능은 GetIdleWakeInfo 루틴에 의해 보고됩니다. DEVICE_CAPABILITIES 구조에는 이 기능에 대한 정보가 포함되어 있지 않습니다. 절전 모드 해제 신호가 도착하면 디바이스 드라이버는 D3cold에서 D0으로 디바이스의 전환을 시작합니다. 이 경우 신호가 도착하면 컴퓨터가 절전 모드에서 해제되고 디바이스만 절전 모드 해제해야 합니다.

많은 기존 하드웨어 플랫폼에서 저전력 Dx 상태의 디바이스는 절전 모드 해제 신호를 트리거하여 절전 모드 해제 컴퓨터를 절전 모드 해제할 수 있습니다. 그러나 컴퓨터가 S0 상태에서 실행되는 경우 동일한 디바이스가 절전 모드 해제 신호를 트리거하지 못할 수 있습니다. 따라서 컴퓨터가 S0 상태일 때 이 디바이스의 드라이버는 D0에서 저전력 Dx 상태로의 전환을 시작해서는 안됩니다. 그렇지 않으면 디바이스가 D0을 벗어나면 컴퓨터가 S0 상태를 떠날 때까지 사용할 수 없습니다. 이 디바이스는 컴퓨터가 S0 상태를 떠날 준비를 하는 경우에만 D0 상태를 유지해야 합니다.

저전력 Dx 상태의 디바이스가 S0 상태에서 실행되는 컴퓨터에 절전 모드 해제 신호를 트리거할 수 있는 경우 컴퓨터가 S0에 있을 때 디바이스가 D0에서 다시 기본 필요가 없습니다. 컴퓨터가 S0에 있고 디바이스가 D0에 있지만 유휴 상태인 경우 드라이버는 절전 신호를 트리거하도록 디바이스를 무장시킨 다음 D0에서 이 저전력 Dx 상태로 디바이스의 전환을 시작할 수 있습니다.

일부 디바이스 클래스는 D3cold 하위 상태를 정의합니다.

자세한 내용은 드라이버에서 D3cold 지원을 참조하세요.