Storage 하드웨어 장치용 전원 관리

소개

이 문서는 Windows 10 2019년 5월 업데이트 또는 더 최신 OS 버전에서 Microsoft의 기본 제공 SATA 및 NVMe 드라이버를 사용하는 OEM 및 장치 제조업체를 위한 가이드입니다. Microsoft의 일반적인 지침은 성능, 응답성 및 전력 효율성의 균형이 잡힌 "잘 작동"하는 기본 솔루션을 제공하는 것입니다. 전반적인 시스템 성능의 경우와 마찬가지로, 장치 하드웨어가 제대로 작동하지 않으면 전반적인 효율성과 배터리 수명이 저하될 수 있습니다. 일반적으로 시스템은 전력 효율성과 성능 사이에서 균형을 맞추려고 시도합니다.

아래 다이어그램에서는 ACPI 정의된 장치 전원 상태 D0(작동 중)에서 D3(꺼짐)까지를 보여줍니다. 장치가 더 깊은 전원 상태로 전환되면 전력 소비가 감소하지만 대기 시간이 증가합니다. 또한 Windows는 D0 상태 내에서 세분화된 수준 기능 및 전원을 제어하는 데 사용할 수 있는 다양한 기능 상태(F-상태)를 지원합니다. 이는 시스템이 높은 응답성을 유지해야 하지만 전원을 절약해야 하는 런타임 전원 관리에 유용할 수 있습니다.

Power states

ACPI 정의된 절전 상태 전원 관리

시스템이 사용 중이지 않은 경우 Windows는 에너지를 절약하기 위해 기회를 놓치지 않고 시스템을 ACPI 정의된 절전 상태에 배치할 수 있습니다. 마찬가지로, Windows는 전력을 더욱 절약하기 위해 시간이 지남에 따라 깊은 수면 상태를 선택할 수 있습니다. 예를 들어 시스템은 하나의 기간 동안 S3으로 전환되고 결국 S4 최대 절전 모드로 전환될 수 있습니다. 시스템이 절전 모드 상태로 전환되면 장치에서 절전 모드 해제가 가능하고 절전 모드 해제를 위해 준비되지 않은 한, 장치를 최대한 깊은 D 상태에 배치하는 것이 일반적인 규칙입니다. 이러한 조건에서는 더 얕은 D 상태가 적절할 수 있습니다. 마찬가지로 시스템의 절전 모드가 해제되면 장치가 D0으로 다시 전환됩니다.

런타임 전원 관리

전력 효율성을 극대화하기 위해, 일부 구성 요소는 매우 세분화된 유휴 논리를 구현하여 시스템이 활성 상태로 사용 중인 경우에도 장치의 전원을 낮출 수 있는 시간을 결정합니다. 예를 들어, 고급 스토리지 장치는 드라이버가 일정 기간 동안 특정 기능 블록이 사용되지 않았다고 판단하는 경우 런타임 중에 블록을 사용하지 않도록 설정할 수 있습니다. 이는 이러한 기능 블록이 사용자에게 현저한 대기 시간이 발생하지 않도록 충분히 빠른 시간 내에 다시 온라인 상태로 돌아와서 작동할 수 있는 경우에만 가능합니다.

최신 대기 상태 전원 관리

시스템이 사용되지 않는 경우 Windows 에너지를 절약하기 위해 기회를 놓치지 않고 일부 장치 세트에 대한 전원을 끌 수 있습니다. 최신 대기 상태에서 시스템은 S0에 남아 있습니다. S0에 있는 동안에도 모든 주변 장치는 유휴 시간 제한으로 인해 결국 전원이 꺼질 수 있습니다. 이 상태는 "S0 저전력 유휴"로 정의됩니다. 모든 디바이스가 저전력 상태이면 더 많은 시스템 인프라(예: 버스, 타이머...)의 전원이 다운될 수 있습니다. 시스템 상태가 S0인 경우에도 장치가 유휴 상태라면 최대한 깊은 D 상태에 배치하는 것이 일반적인 규칙입니다. 프로세서 컴플렉스 및 플랫폼 디자인의 구현 세부 정보에 따라, 주변 장치는 F-상태, D3 핫 또는 D3 콜드(전원이 끊김)로 전환해야 할 수 있습니다. 함수 드라이버가 이러한 구현 세부 정보를 관리해야 하는 필요성을 완화하기 위해, 드라이버는 배터리 수명을 최대화하도록 가장 깊은 적절한 장치 상태로 이동해야 합니다.

D3 지원

시스템이 사용되지 않는 경우 Windows 에너지를 절약하기 위해 기회를 놓치지 않고 일부 장치 세트에 대한 전원을 끌 수 있습니다. 최신 대기 상태에서 시스템은 S0에 남아 있습니다. S0에 있는 동안에도 모든 주변 장치는 유휴 시간 제한으로 인해 결국 전원이 꺼질 수 있습니다. 이 상태는 "S0 저전력 유휴"로 정의됩니다. 모든 디바이스가 저전력 상태이면 더 많은 시스템 인프라(예: 버스, 타이머...)의 전원이 다운될 수 있습니다. 시스템 상태가 S0인 경우에도 장치가 유휴 상태라면 최대한 깊은 D 상태에 배치하는 것이 일반적인 규칙입니다. 프로세서 컴플렉스 및 플랫폼 디자인의 구현 세부 정보에 따라, 주변 장치는 F-상태, D3 핫 또는 D3 콜드(전원이 끊김)로 전환해야 할 수 있습니다. 함수 드라이버가 이러한 구현 세부 정보를 관리해야 하는 필요성을 완화하기 위해, 드라이버는 배터리 수명을 최대화하도록 가장 깊은 적절한 장치 상태로 이동해야 합니다.

ASL Copy  
Name (_DSD, Package () { 
     
          ToUUID("5025030F-842F-4AB4-A561-99A5189762D0"), 
     
            Package () { 
 
                Package (2) {"StorageD3Enable", 1}, // 1 - Enable; 0 - Disable 
 
            } 
        } 
 ) 

위의 ACPI _DSD는 스토리지 장치에 대한 D3 지원을 옵트인하거나 옵트아웃하는 기본 방법입니다. 그러나 필요한 경우 전역 레지스트리 키를 사용하여 D3 지원을 수정할 수도 있습니다.

  • 이름: StorageD3InModernStandby
  • 형식: REG_DWORD
  • 경로: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Storage\
  • 값:
    • 0 – D3 지원 사용 안 함
    • 1 – D3 지원 사용

레지스트리 키가 구성되지 않은 경우 Storport는 _DSD 구성을 확인하여 D3를 사용하도록 설정할지 여부를 결정합니다. _DSD가 구현되지 않은 경우 Storport는 플랫폼이 D3 지원 허용 목록에 있는지 확인합니다.

전원 관리를 위한 부모/자식 관계

전원을 켜는 동안 스토리지 장치에는 항상 상위/하위 관계가 적용됩니다. 전원이 켜지는 동안 상위/하위 전원 관계가 적용되지 않는 유일한 경우는 컨트롤러가 D3Hot만 지원하고 장치가 F1을 PoFx에 보고한 다음(즉, DEVSLP가 지원되거나 최신 대기 상태 시스템에서 SSD인 경우) 장치가 F1에 있는 동안 컨트롤러가 D3에 진입할 수 있는 경우입니다.

섹션 내용

항목 설명

NVMe

이 항목에서는 NVMe 스토리지 장치에 대한 전원 관리 지침을 다룹니다.

SATA/AHCI

이 항목에서는 SATA/AHCI 스토리지 장치에 대한 전원 관리 지침을 다룹니다.