这个问题听起来可能微不足道,但事实并非如此。看看这图片。您可以看到 Windows 设备管理器列出了 NVMe 控制器。我预计它会列出 NVMe 磁盘,但不列出控制器。
对我来说这没有意义,因为 NVMe 只是一种软件协议。NVMe 磁盘使用 PCIe。据我所知,它们直接连接到 PCIe。两者之间没有存储控制器。
例如,当使用 SATA 时,主板上有一个连接到 PCIe 的 SATA AHCI 控制器,可将 PCIe 转换为物理 SATA。可以有多个磁盘连接到此控制器。
但正如前面所说,NVMe 与 SATA 不同,它只是一种软件协议。没有物理 NVMe。
因此,NVMe 控制器一定是虚拟的并且位于磁盘上。
但是,如果控制器位于磁盘上,并且始终只能连接一个磁盘,那么为什么还会有控制器呢?为什么设备管理器会显示两个设备,一个是逻辑设备,一个是物理设备?
有人可以解释一下 NVMe 控制器到底是什么以及它的作用吗?
答案1
来自维基百科 NVM Express:
NVM Express (NVMe) 或非易失性存储器主机控制器接口规范 (NVMHCIS) 是一种开放的逻辑设备接口规范,用于访问通常通过 PCI Express (PCIe) 总线连接的计算机非易失性存储介质。首字母缩写词 NVM 代表非易失性存储器,通常是 NAND 闪存,具有多种物理外形,包括固态硬盘 (SSD)、PCIe 附加卡和 M.2 卡(mSATA 卡的后继产品)。NVM Express 作为一种逻辑设备接口,旨在利用固态存储设备的低延迟和内部并行性。
从建筑角度来看,NVMe 的逻辑物理存储在 NVMe 控制器芯片内并由其执行它与存储介质(通常是 SSD)物理上位于同一位置。NVMe 的版本更改(例如 1.3 到 1.4)包含在存储介质中,不会影响主板和 CPU 等 PCIe 兼容组件。
计算机看到磁盘上的控制器,然后控制器将磁盘显示给计算机。磁盘本身没有协议,只能通过其 NVMe 控制器芯片进行通信。