第八章 SSD 电源管理

      从 SATA 链路、PCIe 链路、NVMe 协议以及 SSD 内部主控管理等方面介绍 SSD 上的电源管理技术。

8.1 SATA 省电模式 Partial 和 Slumber

         PHY:物理层。   

1. SATA 提供了两种低功耗模式,Partial 和 Slumber:
  (1) Partial

        PHY 处于低功耗状态,退出时间要求 < 10 μs。Partial  是让部分物理层电流进入休眠模式,能够在 10 μs 内被唤醒,让链路在不太影响性能的情况下休息一下。

  (2)Slumber

        PHY 处于更低功耗状态,要求退出时间 < 10 ms。与 Partial 模式相比,Slumber 模式下会关闭更多的电路,因此恢复要慢一些。当预测有一段相对长的 Idle 时间时,会让链路好好休息一下。

2. 发起

        主机和设备都可以发起链路电源管理,但需要对方配合才能进入 Partial 或 Slumber 模式。主机发起称为 HIPM(Host Initiated Power Management),设备发起称为 DIPM(Device Initiated Power Management)。

        PMREQ_P:请求进入 Partial 模式;

        PMREQ_S:请求进入 Slumber 模式。

        PMACK:同意请求;

        PMNAK:不同意请求。

        Listen Mode(侦听模式):AHCI 支持让没有接盘的端口进入侦听模式,此时该端口的功耗水平相当于 Slumber,但是该端口可以识别新接入的盘;

        Auto Partial to Slumber:可以让链路不需要回到 Active 状态,直接从 Partial 进入 Slumber 模式。

以主机发起为例,阐述发起过程:

(1)主机发送一个 PMREQ_P 给设备;

(2)设备回复 PMACK 或者 PMNAK;

(3)如果设备回复同意,两边一起进 Partial(一般接收方会发送多个 PMACK 以确保发起方收到);如果设备回复不同意,那就什么都不发生。

        如果需要退出 Partial 或 Slumber,需要通过 OOB(Out of Band,传输层协议使用带外数据) 重新建立连接。

8.2 SATA 超级省电模式 DevSlp

      DevSlp:Device Sleep,设备睡眠,是一个信号,通过发送这个信号可以让盘进入一个非常省电的状态。

        Partial 或 Slumber 省电模式下,盘都必须让自己的传输电路保持在工作状态,以便 SATA 主机需要的时候能把盘唤醒。如下图,进入 Partial 或 Slumber 后,SATA 总线的发送模块和接收模块仍处于工作状态,因此盘睡得并不安稳,省电效果不够好。

第八章 SSD 电源管理_第1张图片

         DevSlp 就是把这个传输电路完全关掉,然后专门加了一个低俗的管脚来负责接收唤醒通知

第八章 SSD 电源管理_第2张图片

 DevSlp 注意事项:

第八章 SSD 电源管理_第3张图片

 

8.3 SATA 终极省电模式 RTD3

        DevSlp 虽然功耗小,恢复时间也还行,但进入 DevSlp 的时候 Vcc 还在,这样还是会有功耗。

       要求:设置在长期 Idle 后,要把 Power 完全关掉。于是,RTD3 出现了!!!

        在主机,也就是系统处于 S0 的情况下,如何让 SATA SSD 进入 D3 Cold 状态,这个就是 Runtime D3,简称 RTD3。

ACPI 规定的 Device Power State:

第八章 SSD 电源管理_第4张图片

 第八章 SSD 电源管理_第5张图片

         Partial 和 Slumber 模式都是只针对 SATA 链路,而 D State 是针对整个 SSD

 

8.4 PCIe 省电模式 ASPM

      ASPM:Active State Power Management。

      ASPM 让 PCIe SSD 在某种情况下,能够从工作模式(D0 状态)通过把自身 PCIe 链路切换到低功耗模式,并且通知对方(主机)也这么干,从而达到降低整条链路功耗的目的。

      ASPM 定义的低功耗模式有两种:L0s 和 L1,

第八章 SSD 电源管理_第6张图片

       上图中,各个状态的定义如下

第八章 SSD 电源管理_第7张图片

 

8.5 PCIe 其他省电模式

        PCIe 链路在 L2 状态下,所有的时钟和电源全部关闭,能够保证最大的省电效果。但同时,L2 的退出时间相应也增加了很多

第八章 SSD 电源管理_第8张图片

 

 8.6 NVMe 动态电源管理

        NVMe 协议中的动态电源管理框图如下:

第八章 SSD 电源管理_第9张图片

       功耗目标和性能目标作为系统应用层面的输入,发送给主机端的 NVMe 驱动。

      NVMe Power State:NVMe 规定最多支持 32 个 Power State Descriptor(电源状态描述符),其中 Power State Descriptor 0 是必须支持的。

8.7 Power Domain

      Power Domain:电源域,简称 PD。

你可能感兴趣的:(SSD入门学习,嵌入式硬件)