关于几个硬盘省电技术的介绍

最近看了一下关于 SATA 省电方面的技术文档,总结一下遇到的名词术语。

首先是经常能在文档上看到的 Partial 和 Slumber。简单的说这两种都是 SATA PHY 休眠的状态。

Partial: 功耗大约75mW, 比Standby状态功耗约200mW低了一多半, 从Partial状态退回Phy Rdy的时间不能超过10us.

Slumber: 功耗大约25mW, 比Partial状态功耗更低,从Slumber状态退回Phy Rdy的时间也相对较长,但不能超过10ms。

可以看到Partial和Slumber的差别在于后者睡得更深功耗更低,同时回来越慢。

Host与Device均可以发起请求 (HIPM/DIPM),进入Partial/Slumber。

  • HIPM = Host Initiated Link Power Management 
  • DIPM = Device Initiated Link Power Management

HOST  能够发起是因为HOST知道何时有读取写入请求,后面没有操作即可要求“睡一会”;DEVICE 同样能够发起是因为设备自己知道对于上面的命令什么时候能够完成操作,完成要求之后马上要求“睡一会”来省电。

此外,现在的PCH上还能看到DEVSLP Pin。在Partial/Slumber的省电模式下,硬盘都必须让自己的传输电路保持在工作状态,以便在SATA Host需要的时候能把它唤醒,这样的话硬盘需要消耗一定电力随时响应唤醒。DevSlp就是把这个传输电路完全关掉,然后专门加了一个低速的Pin来负责接收唤醒通知。

从上图可以看到,打开 DEVSLP支持后功耗降低到了5mW左右,而Exit Latency进一步加长20ms级别。

再进一步,虽然DEVSLP 告诉硬盘彻底休息,但是VCC仍然存在已久会有一些电源消耗。这时候,再引入RTD D3Cold 的概念。通常是通过某个 GPIO来实现的。当确定硬盘可以进入D3 Cold 时,主机会通过拉GPIO的方式彻底切断硬盘供电,这样硬盘就完全不需要消耗任何电力了。

我个人不喜欢 RTD3 的设计,因为从实践上来说,在断电上电过程中经常会遇到各种问题,很可能是设备本身不支持。例如:某个设备上电100ms后才能正常工作,而系统设计刚好是100ms左右即开始对其进行访问,卡在这样的点上之后很容易出现试验几百次才会fail一次的情况也让Debug变得非常困难。

从上面也可以看出,省电技术对于醒来的时间有着严格的要求。微软本身是没有打算在普通机械硬盘上实现 Modern StandBy 功能的,因为对于带有机械部件的设备来说这样的要求有些强人所难。

如果你需要进行这方面的试验,推荐使用 http://www.lab-z.com/chdevslp/ 介绍的TxBench 检查设备已经相应功能已经打开。

有兴趣的朋友推荐继续阅读,本文内容来自下面文章

1. https://mp.weixin.qq.com/s?__biz=MzIwNTUxNDgwNg==&mid=2247484118&idx=1&sn=7ff7934ae45c6f3e92567f863faf0dc1&chksm=972ef38fa0597a99b556e2181a2d12a17c353fc2f8aedc1e733a9495a23515c77b92c365003b&scene=21#wechat_redirect SATA系列专题之五:Link Power Management解析

2. http://www.ssdfans.com/blog/2016/10/01/sata-devslp%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F/  SATA DevSlp是什么?

3. https://sata-io.org/sites/default/files/documents/SATADevSleep-and-RTD3-WP-037-20120102-2_final.pdf

如果有任何错,欢迎在留言中指出。

202006024 补充:

DEVSLP 和 RTD3 是独立的,即便当前不支持 DEVSLP也可以实现 RTD3 断电功能。特别注意的是:进入 MS 之后3分钟才会使用 RTD3 切断硬盘供电,因此在测试的时候尽量时间长一些。 另外,断电需要请 HW 告知测试点,如果有可能使用带有 LED 的 SATA2M.2 转接板会更容易观察到测试结果。

《关于几个硬盘省电技术的介绍》有3个想法

  1. 博主我有个技术问题咨询下,在电脑主机关机的情况如果硬盘的12v供电不关断对硬盘有负面影响吗?我的NAS 12v直接给硬盘供电,关机后12v不关断(5v关断)请问这种状态有风险吗?
    ps:不介意电耗。

    1. 我不是很了解,但是应该没有风险,这种情况下正常关机会有有让硬盘磁头 parking 的动作。硬盘没有处于工作状态。

      或者你可以试试查看供电12小时之前和之后的 SMART 状态,上面的硬盘通电时间是否有变化。如果没有变化,那么完全不用担心。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注