PCIe SSD支持的ASPM是什么?

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

现在消费级笔记本里搭载SSD已经越来越多,而搭载PCIe SSD也是必经的趋势。

做消费级SSD的厂商辣么多,常见的PCIe主控就那么几款:SMI 2260,PS5007-E7,88SS1093和88NV1140 (三星这个大流氓就不提了)

这些个主控都支持一个叫ASPM的功能,ASPM的全称是Active State Power Management.

Active前面还缺省了两个词,Hardware Initiated — ASPM的第一个重要概念:这是HW也就是主控自己触发的,不需要Host或者FW干涉。(见下图highlight部分)

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

ASPM定义的低功耗模式,有两种:L0s和L1 (见下图 – 蓝色部分)

以上各状态的定义如下:

L0: 正常工作状态

L0s:低功耗模式,恢复Latency低

L1: 更低功耗模式,恢复Latency较长

L2/L3 Ready: Power off前的过渡状态

L2: Link处于辅助供电模式,极省电

L3: Link完全没电,功耗为0

LDn:刚上电,LTSSM还未完成前Link所处状态

要看一款SSD是否支持ASPM,你需要查看它的Link Capabilities Register [11:10] (如下图)

仅仅支持是没有用的,你还需要把开关打开, Link Control Register [1:0]

关于ASPM的Control,据PCIe Spec说:

  1. L0s,即使RC和EP某一方的L0s是关闭的,如果对方要求进入L0s, 本方也要跟着进
  2. L1,打开时必须先开RC,再开EP,关掉时必须先关EP再关RC
  3. 如果RC和EP都支持ASPM L1, 那必须把EP的L1打开

 

 

L0s的比较简单:

进入:

  1. SSD可以在直接在Tx lane上启动进入L0s
  2. 如果SSD的Tx的L0s被关闭,Rx还是接受来自RC的L0s请求

退出:

  1. 双方都可以启动退出流程
  2. 发送FTS (Fast Training Sequence),然后发送一个SKP, 对方借此恢复bit and symbol lock

 

L1的流程上复杂一点:

进入:

 

EP

RC

1

Block后续的TLP

 

2

确认发送的最后一个TLP已经收到对方的ACK(确保Replay Buffer是空的)

 

3

确认FC Credit足够 (可以满足一个最大size的传输)

 

4

持续发送 PM_Active_State_Request L1 (够白话文吧)给RC,直到RC回复 PM_Request_ACK

 

5

 

收到PM_Active_State_Request L1

6

 

Block后续的TLP

7

 

确认发送的最后一个TLP已经收到对方的ACK(确保Replay Buffer是空的)

8

 

确认FC Credit足够 (可以满足一个最大size的传输)

9

 

持续发送PM_Request_ACK,直到EP发送Electrical Idle

10

收到PM_Request_ACK, Disable TLP/DLLP包的传输

 

11

发送Electrical Idle, 进入L1

 

12

 

收到Electrical Idle, Disable TLP/DLLP包的传输

13

 

进入L1

 

退出:

  1. 双方都可以启动退出流程
  1. 不是发送FTS,而是重新进行Link Training
  2. 唤醒发起方,发送TS1,走LTSSM的Recovery stage重新建立连接

 

最后说一下 Link Control Register [7], Extended Sync

这是一个神奇的bit, 置上以后从L0s和L1退出时,Device会发超多的FTS和TS1,从而让双方有更多的时间谈人生,谈理想,最终”握手”成功。

这个mode是当链路中有额外设备(例如PCIe analyzer)时,为保证能够正常的achieve bit and symbol lock 用的。

但是遇到ASPM L1回不来或者开机找不到PCIe device的情况,也可以通过设置这个bit收集更多的参考数据。

 

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

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