笔者也是第一次使用PCIe协议分析仪这么高大上的设备,倒腾了不少时间才摸得其中门道,如有差错望指正一二,且先总结如下。
第一次打开PCIe trace,可以看到如图所示:
如果你和我一样觉得摸不着头脑,那么请往下看;上图中时PCIe 的TLP/DLLP包,确实看不出和NVMe有半毛钱的关系。我们知道NVMe 命令包是16Dword,而NVMe又是将自己的命令隐藏为PCIe Data的,所以我们从trace中看能不能找到DATALength为16Dword的TLP包,如下图笔者终于逮到一只这样的TLP包:
打开其中的DATA区为:0100780001000000 00000000 00000000 00000000 00000000 00B0FC37 04000000 0000000000000000 E89A6600 00000000 07000000 00000000 00000000 00000000;由于大小端关系命令可翻译为:00780001 00000001 00000000 00000000 00000000 00000000 0000000000000000 00000004 37FCB000 00000000 00669AE8 00000007 00000000 0000000000000000。
有没有觉得很熟悉,这就