NVMe 支持——隐式还是显式?

NVMe 支持——隐式还是显式?

在仔细研究了可用的 Z170 主板后,我对 NVMe 兼容性感到困惑。您能否澄清一下我的假设是否正确或完全错误。

考虑主板X。它有一个 M.2 插槽,支持“SSD 和 PCIe (3.0 x4)”模式。它没有 U.2 连接器,规格或手册中也没有提到 NVMe。假设:无法保证 NVMe 支持,但这是一个 BIOS 问题,而不是硬件缺陷,也就是说,可以通过 BIOS 修订版来实现。

考虑主板。它有一个 M.2 插槽,支持“SSD 和 PCIe (3.0 x4)”模式。它有一个 U.2 连接器,但如上所述,在 NVMe 的规格或手册中没有提及。假设:至少通过 U.2 连接器隐含 NVMe 支持,因为您无法获得非 NV​​Me 的 U.2 驱动器。因此,M.2 驱动器也支持 NVMe,类似于下面的假设。

考虑主板。它有一个 M.2 插槽,支持“SSD 和 PCIe (3.0 x4)”模式。它有一个 U.2 连接器,并在广告宣传中指出您可以通过 U.2 连接器使用 NVMe 驱动器,但没有提及 M.2。假设:M.2 NVMe 设备同样兼容,因为 M.2 插槽使用与 U.2 相同的 PCIe 通道。

三星 SM951 有以下版本高级智能接口NVMe- 两者都使用 PCIe,这也许就是我产生误解的原因。在上面的例子中,X基于来自同一制造商的三款真实 Z170 主板的规格;我依靠它们措辞的一致性来理解这一点,这可能是也可能不是一个好主意。

答案1

主板上的 NVMe 支持仅有的关于固件(BIOS/UEFI)。这是因为 NVMe 不是物理连接器或电子传输协议(如 PCI Express)。相反,它是一种与 SSD 控制器通信的方式,就像 AHCI 是与 SATA HBA(或向后兼容的 PCIe SSD)通信的方式一样。

也是仅有的关于启动. 此后,操作系统接管。

对于 M.2/U.2,有两种类型連接

  • SATA(由 U.2 端口和 B 或 M 键 M.2 插槽支持)
  • PCIe(由 U.2 端口和 A、B、E 或 M 键 M.2 插槽支持)

SATA M.2/U.2 SSD 使用 SATA 协议与外部(不是 SSD 而是主板)SATA HBA(主机总线适配器)连接。操作系统通常使用 AHCI 与 SATA HBA 通信。一切工作方式与将 SATA 驱动器连接到 SATA 端口时相同。使用 U.2,您甚至可以使用常规 SATA 电缆。

另一方面,PCIe M.2/U.2 SSD 有两种类型。它具有与内置 SATA HBA 相当的功能。主机可以使用以下两个标准之一与此控制器通信:

  • AHCI(U.2 不支持,但仍然可用)
  • NVMe

AHCI 控制器的性能有限。但是,它提供了最佳的兼容性,因为几乎所有(但非常旧的)固件都已支持 AHCI。因此,您可以毫无问题地从此类 SSD 启动。(前提是 SSD 本身在这方面没有某种限制。)

NVMe 规范更适合 SSD 等非旋转驱动器,并通过减少开销等提供更好的性能。然而,直到最近,主板固件才支持此标准,无法从 NVMe SSD 启动。只要有合适的驱动程序,您仍然可以从操作系统访问它们。

维基百科上有一张关于这个主题的精彩图片:

安省
(请忽略它显然仅与 SATA Express/U.2 有关,在这种情况下 M.2 基本相当。)

总结:所有 NVMe SSD 均使用 PCI Express 连接。因此,无论是通过 U.2、M.2 还是全尺寸 PCI Express 插槽连接,它们在 BIOS 中看起来都一样。

但是,拥有 M.2 或 U.2 插槽并不能保证固件可以从 NVMe 存储设备启动。

是的,制造商可以稍后提供支持 NVMe 启动功能的固件。

相关内容