人工智能在推动社会进步的同时,其极致的运算能力,也带来了全球设备高能耗的棘手难题。
作为AI智算中心存储的关键部件,SSD的低碳和可持续发展显得尤为重要。
实现低碳科技离不开低功耗设计。今天,我们来探讨一下低功耗技术——Modern Standby,以及如何将其应用于SSD的低功耗设计。
Modern Standby是Microsoft推出的一种比传统S3方案更先进的低功耗设计,用以改善电池续航时间和电源状态之间的转换,使Windows计算机能够像智能手机一样更快地在打开或关闭状态之间完成转换。
篇幅有限,小编结合低功耗开发经验筛选信息来简要阐述它和SSD之间的联系。
1、 传统S3与Modern Standby
S3:传统的待机模式S3会触发计算机关闭CPU以及所有耗电组件和设备的电源,同时将数据保留在系统内存(RAM)中。计算机只有设定的两种状态:打开和关闭。进入S3时,断开 CPU/SoC 部分的供电,这时芯片里的寄存器会被清空;退出S3时,需要重新初始化寄存器,这就是从 S3 恢复成 S0 时需要一点时间的原因。
Modern Standby:实现了动态掉电的特性,渐进式的掉电方式满足了客户后台任务需求,同时达到增加续航的目的。系统不使用的组件将逐层关闭电源,需要恢复业务时可以快速退出睡眠状态。恢复现场也有软硬件支撑完成恢复,从而在睡眠和恢复之间实现更快的转换。
Modern Standby进入:CPU/SoC 内部有一枚专门的芯片按照下图的步骤,一步步把对应寄存器区域的状态保存在 CPU/SoC 内部的RAM中,再切断电源。
如图所示,所需要功耗从上到下依次变小,且每层的任务都完成以后才会操作下一层的掉电。
首先,CPU/SoC 外部的所有设备都必须进入低功率模式,也就是 Sx 对应的 Dx 为最低的设备电源状态。在此期间,这些设备会使用较少的辅助电源来维持连接,并在必要时唤醒 CPU/SoC 。在CPU/SoC外部的所有设备都断电后,CPU/SoC 的芯片组和非处理器核心也将进入低功率模式,这可以进一步节约能源。在这之后,就是处理核心 CPU 和 GPU 以及位于最后的一些其他电路了。
如果中间有任何一个部件拒绝进入低功耗状态,那么整个链路就会中断,重新回到S0。
Modern Standby可以在屏幕关闭的状态下,继续完成后台task,直到后台task完成,再进入和S3差不多的低功耗状态。触发唤醒时,Modern Standby可以通过睡眠前备份的现场文件完成快速恢复。让设备实现既有S0响应速度,又有S3的功耗控制能力。
因此,Modern Standby的诸多优势它取代了S3睡眠模式,实现了Windows睡眠模式的安静、低功耗的目标。
2、系统 & 与设备电源状态
接着聊Modern Standby进入准S3模式后,系统电源状态与设备端的电源状态之间的关系。
ACPI(Advanced Configuration and Power Interface)该标准为系统、硬件组件等定义了不同的电源级别,其中,Sx定义了系统整体的电源状态,而Dx则定义了主板上硬件设备的电源状态(x代表等级)。
在ACPI规范中,系统整体的电源状态(即 Sx状态)从S0到S5共分六级,如下图所示:
ACPI也为硬件设备规定了不同的电源状态。
D0:类似于S0,此时设备完全开启,正常工作状态。
D3:此时设备处于关闭状态,不能工作。
D3下有两个子状态:D3hot状态中,设备仍然连接着主电源,微量耗电,总线控制器能检测到设备;而D3cold则是完全断电,无法检测到设备。
D1-D2:这是D0、D3的中间状态,设备的部分功能正常,相对于D0而言,功耗更低。
在设备管理器中,我们找到了他们的联系:
设备的电源状态由对应的驱动程序控制,驱动程序可以相对独立地控制设备状态。如图所示,显示器的系统电源状态和设备电源状态映射关系。系统在S3状态时,设备最低可以处于D3状态。
3、设备Dx状态和PCIe协议Lx的联系
Dx和Lx的对应关系,边界比较模糊。如协议所示,上行设备处于D3hot状态时,容许的上行设备只能处于D0-D3hot状态,对应SSD盘的PCIe低功耗状态只能是L1/L2/L3状态。
以beat365体育官网平台的SSD硬盘进入深度低功耗状态为例:当盘处于PS4状态时,此时对应的PCIe低功耗状态是L1.2状态,对应的设备状态是D0-D3hot状态。此时,系统电源状态参考驱动映射的关系。
4、和Nvme协议低功耗的关系
Modern Standby
在S0状态通过备份CPU/SOC寄存器,利用混合低功耗实现技术,把系统电源管理的S0状态动态的转化为S3状态,设备根据映射关系进入到D3状态。
D3状态
D3Hot设备进入D3:Vcc还在,设备可被软件枚举;通过向功耗管理控制和状态寄存器(PMCSR)的PowerState字段写入适当的值,软件将功能置于D3热态。
D3Hot退出条件:如果从设备中断电(Vcc),则从D3热态转换为D3冷态。软件可以写入Function的PMCSR寄存器的PowerState字段,将其PM状态更改为D0。
D3Cold:设备完全切断电源,重新上电时系统需要重新初始化设备。当功能断电(Vcc)时,每个PCI Express功能都进入D3冷态的功耗管理状态。当电源恢复时,设备必须进行复位或生成内部复位,将其从D3冷态转换到D0未初始化态。
在Modern Standby模式下,随着动态的电源控制,盘也会根据主机行为切换低功耗的状态。
以beat365体育官网平台1200L SSD硬盘为例,随着Modern Standby在自适应切换状态的过程中,固态硬盘也会动态的切换着低功耗等级。SSD设备根据主机端的workload信息同步动态的切换低功耗等级,由PS1逐渐切换到PS2/PS3直到系统没有业务,在Modern Standby模式下动态的进入准S3状态,SSD设备也会根据监控信息进入到PS4深度低功耗状态。
其他设备也诸如此类,从而实现系统整机功耗的降低。
软硬件设计逻辑的改进,使得Modern Standby实现了自适应的低功耗能力,随着低功耗技术的广泛的应用,低功耗技术会在上层系统设计、协议、芯片设计以及SSD固件方案上进一步地发展,节能、低碳方案将有更大的应用前景。