M.2 NMVE PICE 转接卡

最近在做Modern Standby 的实验,测试结果显示CPU进入了PC10,但是一直被硬盘 Block。板子上使用的是通过 PCIE-M.2 转接板转接后插在 PCIE Slot 上的 NVME SSD 。于是,我觉得问题出在转接板上。

PCIE M.2转接卡

对于M.2 上的ModernStandby来说,NVME 上的CLKREQ 拉高通知 PCH/SOC 停止发送 PCIE Clock。如果出现问题通常都是这个Pin导致的。于是,怀疑转接卡是否将 PCIE 上的CLKREQ Pin正确转接到了 M.2 接口上。

CLKREQ 在 PCIE金手指上的位置 【参考1】

接下来找到 M.2 的引脚定义【参考2】:

M.2 引脚定义
M.2 CLKREQ Pin和实物对应(特别注意,为了方便对应右侧的照片是旋转之后再左右镜像的)

进一步追查,这个Pin连接了一个LED,然后到了GND 上(万用表测试)。

CLKREQ 在转接板上的位置

为了验证上面的正确性,再挑选一个PICIE 金手指上的 REFCLKp pin(A侧13,参考本文第一幅),使用万用表测量,找到M.2上面的引脚如下:

这个说明参考的M.2的引脚资料是正确的。

进一步结论:转接卡没有将 PCIE 上的 CLKREQ 转接给M.2。

最终,通过飞线的方式,将 M.2 的CLKREQ 和PCIE Slot 上的 CLKREQ 相连,在 RVP (CML-V)上测试无问题,运行 ModerStandby 的 Stress Test,一晚跑50次顺利通过。这个从侧面也印证了:M.2 上的 PCIE 和 PCIE Slot 没有本质差别。很多时候如果你发现供应商提供的某些 M.2 接口的设备无法在你的设计上影响 MS 功能,不妨转接在 RVP 上验证之。

参考:

1. https://baike.baidu.com/item/pcie

2. http://read.pudn.com/downloads794/doc/project/3133918/PCIe_M.2_Electromechanical_Spec_Rev1.0_Final_11012013_RS_Clean.pdf  

《M.2 NMVE PICE 转接卡》有4个想法

  1. 我最近也在研究PCIe to NVME M.2转接。中的CLKREQ#信号,并有很多疑惑。您实验中说是M.2的CLKREQ#连接到了一个LED?其实您这里看错了,其实是这个LED右边的一颗接地的电阻。PCB的走线干扰了您的判断。那个LED指示灯是SSD的工作状态。
    ASUS的转接卡有上拉和下拉电阻配置,但是都没有贴装电阻,也属于悬空;浦科特的PCIe SSD其实是个转接卡+M.2,而它的CLKREQ却很奇怪,通过一个电阻网络接到了一个PCIe金手指的上(此引脚本来是地,这样插入后会连接到地);而我还看到一个所谓联想服务器用的转接卡,是10K电阻上拉到3.3V;这样看来各种方法五花八门,有没有链接到PCIe CLKREQ上的很少见,并且有的规范上没有明确定义PCIe插槽上的CLKREQ,是保留信号引脚,真实混乱。搞得我都不知用那种方式了。
    我们可以多交流。

    1. 谢谢哈,应该是我看错了。我记得 CLKREQ 在之前的 PCIE Spec 上是 Reserved ,所以在一些电路图上是正常的。并且这个信号只在做 ModernStandby 的时候才有作用,所以对于目前市面上的卡来说不影响功能的。

      如果你感兴趣,可以自己做一下转接卡,PCB 价格不高的,我自己设计过一个,可以工作。

  2. 各种转接板 CLKREQ这个引脚不接的很多很多,值得注意。
    新一点的M2网卡都需要用到这个脚,跟低功耗模式有关系。

发表回复

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