存储硬件设备电源管理

介绍

本文档旨在指导 OEM 和设备制造商在 Windows 10 2019 年 5 月 10 日更新或更高版本上使用Microsoft的内置 SATA 和 NVMe 驱动程序。 Microsoft的一般指导是在平衡性能、响应能力和能效方面提供能够正常工作的内置解决方案。 与整体系统性能一样,性能不佳的设备硬件可能会降低整体效率和电池使用时间。 一般情况下,系统会尝试将电源效率与性能相平衡。

下图展示ACPI定义的设备电源状态从D0(工作)到D3(关闭)。 请注意,当设备转换为更深层次的电源状态时,能耗会降低,但延迟会增大。 另请注意,Windows 支持不同的功能状态(F 状态),可用于控制 D0 状态内的精细级别功能和电源。 这对于运行时电源管理非常有用,其中系统需要保持高度响应,但仍需要节省电源。

电源状态

ACPI-Defined 睡眠状态电源管理

当系统未使用时,Windows 可能会以机会将系统置于 ACPI 定义的睡眠状态,以节省能源。 同样,Windows 可能会随着时间的推移选择深度睡眠状态来节省更多电源。 例如,系统可能在一段时间内转换为 S3,并最终转换为 S4 休眠。 当系统转换为睡眠状态时,一般的经验法则是将设备置于尽可能最深的 D 状态,除非该设备支持唤醒,并且已设置为可唤醒状态。 在这些情况下,较浅的 D 状态可能合适。 同样,当系统唤醒时,设备将切换回 D0。

运行时电源管理

为了达到最大功率效率,某些组件将实现非常精细的空闲逻辑,以确定设备何时可以关闭电源,即使系统处于活动使用状态。 例如,如果驱动程序认为在一段时间内未使用某些功能块,高端存储设备可能会在运行时禁用某些功能块。 只有当这些功能块能够迅速重新上线并恢复功能时,用户才不会感受到明显的延迟。

新式待机电源管理

当系统未使用时,Windows 可能会以机会方式关闭某些设备集的电源,以节省能源。 在现代待机中,系统仍保留在 S0 中。 即使在 S0 中,所有外围设备最终也可能由于空闲超时而断电。 此状态定义为「S0 低功耗空闲」。 一旦所有设备处于低功耗状态,更多的系统基础结构(例如总线、计时器等)可能会关闭。 通常的规则是,当设备处于空闲状态时,即使系统状态为 S0,也应尽量使设备进入最深的 D 状态。 根据处理器复杂体系和平台设计的实现详细信息,外围设备可能需要进入 F 状态、D3 热或 D3 冷状态(电源已切断)。 为了减少对功能驱动程序管理这些实现细节的需求,驱动程序应该进入最深的适当设备状态,以最大程度地延长电池寿命。

D3 支持

当系统未使用时,Windows 可能会以机会方式关闭某些设备集的电源,以节省能源。 在现代待机中,系统仍保留在 S0 中。 即使在 S0 状态下,所有外围设备也可能由于空闲超时而断电。 此状态定义为“S0 低功耗空闲”。 一旦所有设备处于低功耗状态,更多的系统基础设施(例如总线、计时器等)也可能被关闭。 一般的经验法则是在设备空闲时将其置于尽可能最深的 D 状态,即使系统状态为 S0 也是如此。 根据处理器复合体和平台设计的实施细节,外围设备可能需要进入 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,并且设备向 PoFx 报告 F1(即支持 DEVSLP 或者它是新式待机系统中的 SSD),则允许控制器在设备处于 F1 时进入 D3。

本部分内容

主题 DESCRIPTION

NVMe

本主题介绍 NVMe 存储设备的电源管理指南。

SATA/AHCI

本主题介绍 SATA/AHCI 存储设备的电源管理指南。