那些年呆哥错过的PCIe Reset

阿呆在成为呆哥前,也有过青春年少,不仅有错过的大雨,还有错过的PCIe Reset。

PCIe是个博大精深的协议,跟Reset相关的术语就有好些:Cold Reset, Warm Reset, Hot Reset, Conventional Reset, Function Level Reset, Fundamental Reset, Non-Fundamental Reset

一开始面对这么多概念,阿呆心里其实是拒绝的。牛人都有特殊能力,蛋博士的能力是化神奇为腐朽,透过现象看本质。

阿呆的特点是提纲挈领,快速从一大堆概念中理出头绪:

第一步,呆哥先整理这些个Reset之间的关系:

这些R[……]

阅读全文

聊聊SSD测试 (8) – PCIe Interoperability Test

PCISIG是个大家庭,没事会弄个Compliance Workshop, 各公司可以把自己的产品拿去测试:

  • Electrical Testing – Examines platform and add-in card Transmitter and Receiver characteristics
  • Configuration Testing – Examines configuration space in PCIe devices
  • Link Protocol Testing – Examines device’s link-level protocol behavior
  • Transac[……]

阅读全文

SATA RTD3是个啥?

 

DevSlp辣么好,Host还是不满足,还不断拿别人家的孩子PCIe SSD刺激SATA SSD。吹毛求疵的说DevSlp虽然功耗小,退出Latency也还行,但是进入DevSlp的时候Vcc还在,这样还是会有功耗,进而得寸进尺的要求Device在长期Idle后要把Power完全关掉…

在两者的博弈当中,SATA SSD作为Device永远是弱势的一方,需要考虑如何满足这个要求:在Host也就是系统处于S0 的情况下,让SATA SSD进入D3cold状态,这个就是 runtime D3,简称RTD3 。

了解一下以下概念能够更好的理解RTD3。

ACPI规定的Device Power[……]

阅读全文

PCIe SSD支持的ASPM是什么?

现在消费级笔记本里搭载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在某种情况下,[……]

阅读全文

聊聊SSD测试 (7) – 测DevSlp

增加了DevSlp这个feature以后,SATA IO也在原有的Partial&Slumber测试的基础上特别增加了对DevSlp的测试。

新的测试要求主要是关注DevSlp状态的进出是否正常,要实现这个必须具备两点:能让Device进入DevSlp,进去以后能够侦测到DevSlp的状态。

能否进入DevSlp的问题不用讨论,如果不能进,也不用测试了。

侦测状态,通过SATA Status Register (SCR0)就能够实现,这个Register的 [11:8] 映射到 Interface Power Management(IPM)设置。读取这个Register就能知道AH[……]

阅读全文