如何查明我的机器支持哪一代 NVME(什么 PCI Express 版本)?

如何查明我的机器支持哪一代 NVME(什么 PCI Express 版本)?

亚马逊有 PCIe Gen 3 NVME 和 PCIe Gen 4 NVME 出售。我什至没有看到这一点NVM Express 的维基百科页面。有没有办法查询我所在的系统支持什么?

答案1

您要查找的两个参数是 PCI Express 版本(或代)和通道数。以下是 PCIe 版本的摘要:

----------------------------------------
Generation   Released      Speed
----------------------------------------
PCIe 1.0      2003        2  GT/s
PCIe 2.0      2007        5  GT/s
PCIe 3.0      2010        8  GT/s
PCIe 4.0      2017        16 GT/s
PCIe 5.0      2019        32 GT/s
PCIe 6.0      2021        64 GT/s

我不知道有什么方法可以直接报告 NVMe 控制器的 PCIe 版本,但您可以获得链接速度,并且根据上表,很容易弄清楚。运行lspci -vv并寻找LnkCapNVMe控制器能力下的;或者如果您知道设备BDF1,您可以使用它,-s例如

lspci -vv -s 03:00.0
03:00.0 Non-Volatile memory controller: Micron Technology Device (prog-if 02 [NVM Express])
[...]
   LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <8us
           ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
[...]
   LnkSta: Speed 5GT/s, Width x2
           TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
[...]

LnkCap显示链接Cap能力:PCIe x4@ 8GT/sie 此主板支持PCIe v3.0 x4
LnkSta显示链接Status:PCIe x2@ 5GT/sie 该插槽中的 SSD 是PCIe v2.0 x2NVME。


您可以通过以下方式获得相同的信息sysfs
speed:

cat /sys/class/pci_bus/0000:03/device/0000:03:00.0/max_link_speed
8.0 GT/秒 PCIe

车道数量:

cat /sys/class/pci_bus/0000:03/device/0000:03:00.0/max_link_width
4

max将上述命令替换为current可查看当前安装的 nvme 的链接速度。


1:BDF代表Bus_number Device_number Function_number形式02:1b.0

答案2

如果我没记错的话,这取决于主板芯片组的 PCI-E 版本 + CPU 支持 + M.2 插槽的接线方式。 AFAIK 没有办法事先查询它 - 请查阅您的 MB 手册。

相关内容