SATA DevSlp是什么?

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

从SATA 3.2开始,有了一个新的功能 DevSlp。DevSlp是一个信号,通过发送这个信号让盘进入一个非常非常省电的状态。

自古以来,钓鱼岛就是中国的,SATA也一直允许盘进入省电模式,那就是Partial 和Slumber模式

1. Partial模式 – PHY处于低功耗状态, exit Latency<10 us

2. Slumber – PHY处于低低功耗状态, exit Latency < 10 ms

下图可以看到Partial/Slumber把功耗从Active State的1000 mW降低到了100 mW 左右 (不错,但是还不够)

 

因Partial/Slumber的省电模式下,盘都必须让自己的传输电路保持在工作模式,以便在SATA Host需要的时候能把盘唤醒,这样的话,其实盘睡的不舒服,省电效果也不好。

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

DevSlp以后效果如下 (妈妈再也不用担心我笔记本没电了)

功耗降低到了5mW左右,而Exit Latency进一步加长20ms级别,但是PC用户层面根本感觉不出10us,10ms,20ms的区别好吧。

 

这个多出来的Pin从哪里来?

原本标准的2.5/3.5寸SATA接口上已经没有多余的Pin脚了,SATA 3.2把Pin 3单独拿出来用于DevSlp,而原本Pin1,Pin2 和Pin3是用于3.3V供电的。

下图是SATA 3.0的Pin脚定义


 
 

到了SATA 3.2,Pin3用来做DevSlp控制

 

 

DevSlp注意事项

必须Host,盘都支持才可以工作,Host置位DevSlp信号前需要确保:

  • OOB结束以后的Identify Device Command,Device回复说支持DevSlp
  • Host已经通过Set Feature Command打开Device的DevSlp
  • 没有Outstanding的command

DevSlp 置位DevSlp时:

  • MDAT: Host要么不弄,要弄必须保持置位状态〉=10ms (或者Identify Device Data log里规定的时间)
  • DMDT: Device 在DevSlp置位后需要在10us内detect到
  • Host和Device可以把PHY和其他东西(PLL,时钟,NAND)都关掉
  • DevSlp置位后,Host和Device 双方都不可以主动通过PHY进行通信,即使一方通信,另一方也不准搭理

退出DevSlp时:

  • DETODevice必须在20ms(或者Identify Device Data log里规定的时间)内detect到OOB信号
  • 双方使用COMWAKE或者COMRESET/COMINIT进行重新建立连接

文章最后,感谢Marvell的”笑笑爸爸”赞助的SATA 3.2 Spec

 

分类目录 金士顿SSD评测.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。