Allion Labs / Abel Hsu

何谓新式待命模式 – Modern Standby

系统待命在系统电源管理中是不可或缺的一部分,如何在有限的电池容量里取得使用时间的平衡是一个重要课题。例如没有在使用系统时,透过让系统进入待命模式来有效控制电量耗损并延长使用时间;而从待命模式中回复到正常操作环境,也比从执行关机后再开机的等待时间短。

「新式待命模式」就是一种以传统待命模式(S3)所发展出来的待命状态,这个概念最早从Windows 8开始,当时称为「Connected Standby」,经过OS操作系统的改版升级,Windows 10时代发展为「Modern Standby」。新式待命的概念主要是提供实时回复的用户体验,让系统可以从待命中快速回复到正常操作状态。

这个想法类似生活中的智能型手机,屏幕解锁后马上可以使用,当屏幕关闭时,背景持续保持网络连接,能收信、接收通讯软件的即时消息。新式待命透过背景保持网络连接并透过新的省电技术控制,在范围内维持软件运作,软硬件方面透过ACPI低电源闲置(Low Power Idle)的基础架构系统,支持power engine (PEP),D3装置电源状态支持等等,无论是传统搭配旋转式储存媒体(HDD)或是混合式储存媒体(SSD+HDD)的系统都可以支持新式待命。

和传统S3相比,新式待命模式的最大的差异是背景中维持网络连接,当系统进入新式待命时,系统会透过一系列的步骤来确认,透过优化相关行为来延后非系统关键功能(例如IO input),或是非现代待命相关的唤醒,并监控网络活动、电子邮件等;当系统都没有相关活动时,会进入「最深的运行时间闲置平台状态」(DRIPS),在这个状态则是最佳省电模式。

那么,使用新式待命模式主要有甚么优点呢?和传统S3相比,系统唤醒时间和回复较快,并且比S0更加节省电力,我们可从下表来看:

<系统状态与回复时间>

<系统状态与电力消耗>

以平台支持度来说,从Ice Lake大约70%左右的系统支持Modern Standby ,到Tiger Lake平台已经接近全面性支持Modern Standby。确认手上的系统是否支持 Modern Standby的方法很简单,可以透过Command Prompt(CMD)简单输入一串指令:「powercfg /a」,按下Enter键后,在 「Standby list」如果出现「S0 Low Power Idle」表示系统可以完整支持(参考下图),享受现代待命带来的用户实时体验:

储存媒体与新式待命的关联

以系统储存媒体支持方面来看,可以分几个面向:第一是最常见的SATA SSD,支持Device Sleep(DevSlp),可以在待命中有效增进电池寿命;另外一个则为主流储存媒介NVMe (PCIe),透过支持PCIe Power State L1.2,可以将储存媒体更有效进入低电源模式。

混合式储存媒体(SSD+HDD)可以透过将数据存放在Flash中,来加速回复时间和达到节省旋转头的省电需求;而传统旋转式储存媒体(HDD)在支持Modern Standby时,通常会透过加大快取(HDD Buffer)的方式,因为转头磁头的读写速度,会因为写入组件的移动时间而影响到回复(Resume)时间,加上旋转头旋转会增加电量的耗损。总结来说,支持Modern Standby并不需要一个相对高规的硬件需求,现有硬件即可以有效支持。

Allion LabsModern Standby Services

为确保相关组件模块能够符合规范,Intel与Microsoft以Intel参考验证平台(Intel Reference Validation Platform, RVP)与各项组件制定了相对应的现代待命认证规范以及认证测试(Modern Standby Compliance Process)。Allion为Intel所认可的现代待命认证测试实验室,提供包含符合Intel Modern Standby功能的认证测试与Microsoft Modern Standby功能的认证测试,可为不同的设备组件进行相关验证并取得认证(认证种类请参考下表):

实际测试Modern Standby 的功能与耗电案例

现代待命认证测试 – Modern Standby中有量测进入Low Power之后设备所消耗的电力,ACPI 定义D3当系统闲置时就会进入睡眠模式,这部分又分别为「D3Cold」与「D3Hot」,这两个都属于Modern Standby power status,D3 cold相对D3Hot的状态来说,为更加省电的状态,基本上在这个状态都是电源完全移除,而进入深眠的设备会消耗掉多少系统电力也攸关到整机的电池寿命。Modern Standby很重要的一个项目是回复时间,在这部分的规范是要在1000ms内将系统回复,如此一来才能提供使用者一个良好的操作感受。为使读者更加清楚,我们利用主流NVMe储存媒体来说明这些关键因素:

NVMe – D3Hot

以实测案例来看,进入D3后Power measured (mW) 平均值仅有1.5 mW, Exit Average Latency规范要在1000 ms之内,以NVMe的来看450 ms就可以从睡眠模式中唤醒,透过的PCIe的NVMe储存媒体这部分也符合用户的实时体验,当使用者按下电源1秒内系统就可以正确唤醒并开始使用。

    

NVMe – D3Cold

以实测案例来看,进入D3后Power measured (mW) 平均值为0mW (<1mW), 以NVMe来看,这部分几乎没有消耗掉系统电量,Exit Avg Latency为500 ms来观察NVMe和D3Hot完全没有消耗电量的睡眠模式仅多花50 ms的时间就可以从睡眠模式中唤醒,不但省电而且一样快速。

   

总结来说,现代待命透过软硬件的支持,提供了快且实时的系统回复;特别是电量耗损,更加让人放心。透过新世代技术,待命模式下仅有消耗微弱电量,让系统能提供用户更长的使用时间。Allion的完整Modern Standby测试服务,从组件端验证,确保系统上的组件都能符合相关认证规范,让终端产品符合良好用户体验。