本部分详细介绍了 Microsoft 的内置 SATA 驱动程序(StorAHCI)如何管理电源以及可用的配置选项。
HIPM/DIPM
默认情况下,启用了“仅 HIPM”,StorAHCI 管理“部分”到“睡眠”的转换。 当设备处于 D0 状态时,在链接进入“部分”状态 100 毫秒后,StorAHCI 将转换为“睡眠”状态。 StorAHCI 允许控制器通过启用 SATA-I/O 标准的“主动部分功能”来处理从活动到部分的转换。
设备进入 D3 后,StorAHCI 将立即将链接转换为 Slumber。
仅选择 HIPM,因为 StorAHCI 直接控制 DEVSLP 转换,而通常支持 DEVSLP 的控制器表明只能通过 Slumber 状态访问 DEVSLP。 因此,StorAHCI 还需要控制到“睡眠”状态的转换。
DEVSLP
StorAHCI 直接控制 DEVSLP,以有效平衡电源、响应能力和可诊断性。 因此,StorAHCI 不会根据 SATA-I/O 规范使用硬件控制的 DEVSLP 功能(a.k.a.“攻击性 DEVSLP”。
DEVSLP 映射到单个逻辑空闲电源状态或“F 状态”,即 F1。
下表显示了 SATA 设备在转换为不同系统电源状态下的 DEVSLP 之前必须处于空闲状态的时间。 请注意,如果控制器已指定必须从 Slumber 输入 DEVSLP,StorAHCI 将首先过渡到 Slumber,然后在完成到 Slumber 的转换后,它将立即转换为 DEVSLP。 如上所述,这意味着必须支持 HIPM。
系统电源状态 | DEVSLP 空闲超时 |
---|---|
S0(工作正常) | 6 秒 |
S0 低功耗空闲(新式待机 (MS)) | 50 毫秒 |
自适应 D3 空闲超时
现在,新式待机系统上支持具有旋转介质的 SATA 驱动器,因此需要平衡电源节省与设备可靠性。 在现代待机模式下,设备需要更激进地关闭,以满足系统的电源要求。 但是,过于咄咄逼人地关闭旋转驱动器可能会导致驱动器的机械部件过度磨损。 为了帮助减少磨损,Windows 10 包含自适应 D3 闲置超时,该功能会跟踪设备的电源循环计数,并与根据典型设备保修期制定的最坏情况模型进行比较(最坏的情况是驱动器仅能使用几年)。 如果实际电源周期频率趋势过于接近最差情况模型,则 D3 空闲超时会增大,使趋势恢复成更安全的数字。 如果电源周期频率足够低,使设备没有出现过度磨损的危险,则 D3 空闲超时值将大幅缩短,以确保驱动器在现代待机中空闲后快速关闭电源。
StorAHCI 指定旋转驱动器的最小功率周期为 5 分钟。 这意味着,如果此类驱动器的电源循环频率超过每 5 分钟一次,它将在短暂空闲时保持通电状态,以进行补偿。 若要根据设备供应商的指导修改最小电源周期周期,可以使用以下注册表项:
- 名称:MinPowerCyclePeriodInSecs
- 类型:MULTI_SZ
- 路径:HKLM\System\CurrentControlSet\Services\storahci\Parameters\Device
- 值:
<Product ID> <Value>
例如“ST31000528AS 300”或“WDC WD4* 360”- 若要指定匹配多个产品 ID 的模式,请使用:
- ‘?’ 来匹配任何单个字符
- “*”用于匹配任何剩余字符
- 值本身以秒为单位。
- 若要指定匹配多个产品 ID 的模式,请使用:
设备维护时间
由于现在可以给旋转驱动器留出大量的时间来关闭电源,因此 Windows 10 还提供了一种机制,该机制为驱动器留出一些启动空闲时间(每隔 24 小时 1 分钟)来执行内部维护。 仅当系统连接到 AC 电源以保持电池使用时间,当系统处于新式待机状态时,才发生此情况,以确保磁盘活动至少处于最低状态。 设备维护不可配置。
新式待机和 DRIPS
从 Windows 10 开始,新式待机系统支持具有旋转媒体(HDD 或 SSHD)的驱动器。 由于自适应 D3 空闲超时使磁盘在 D0 状态所处的时间更长,HDD 可能会导致功耗增加。 HDD 还可能导致从新式待机退出时的延迟时间更长。 但是,具有 HDD 的新式待机系统不受 1s 系统恢复延迟要求的约束。 如果可能,建议使用 SSD,尤其是对于主启动驱动器。
无论系统上的存储设备的媒体类型如何,为了支持新式待机,平台都需要在以下任一项上指定约束:
- 每个 SATA 端口;或
- AHCI 控制器
此约束由 Power Engine 插件 (PEP) 使用,应允许系统在出现以下任一情况时进入其最深运行时空闲电源状态 (DRIPS):
- 所有 SATA 驱动器都进入 DEVSLP (F1) 或更深 (D3 被视为比 F1 更深):或
- AHCI 控制器进入 F1 或更深的状态。
具体说明是特定于平台的,不在本文档的范围之外。
注释
Microsoft 不建议让 SATA SSD/HDD 支持自动从“部分”转换到“睡眠”(APST)。 APST 将自动禁用。
PCIe-连接的 AHCI SSD
在 Windows 10 开发期间,我们遇到的 PCIe 连接的 AHCI SSD 均未向 StorAHCI 公开 DEVSLP 状态。 这意味着在管理这些设备的电源方面,Windows 10 几乎没有选择。 在这种情况下,设备和平台承担大部分电源管理责任。