Have a Question?

如果您有任务问题都可以在下方输入,以寻找您想要的最佳答案

固态硬盘m.2接口和nvme区别在哪,PCIe与NVMe的关系是什么

固态硬盘m.2接口和nvme区别在哪

题图来自Unsplash,基于CC0协议

导读

  • M.2接口和NVMe协议有什么区别
  • M.2固态硬盘SATA和NVMe区别
  • NVMe协议与AHCI协议的区别
  • M.2接口支持哪些协议(SATA/NVMe)
  • PCIe与NVMe的关系是什么
  • M.2接口和NVMe协议是两类不同的技术,但经常被一起提及。就好比同是有线耳机这个后缀,但并不意味着苹果耳机和索尼耳机是一码事。

    M.2接口: 这是指一种物理接口的标准和形态规范,你可以把它想象成一个卡槽的形状、大小和针脚定义。也就是SSD硬盘或者无线网卡这些小东西插进去的地方。主板上的M.2插槽就是按照这个规范设计的。它就像公路网的物理标准,规定了车辆怎么走。

    NVMe: 这是指Non-Volatile Memory Express,中文叫做非易失性内存快速协议。它是一种电脑用来跟闪存(Flash Memory,也就是SSD硬盘内部的那个)通讯的新型标准和语言。类似于传统的SATA协议,它也是一种定义了数据传输规则的标准,只不过NVMe是专门为了高速NAND闪存设计的,目的是实现更快的速度。

    简单来说: 就像你可以有不同的USB接口(比如传统的USB-A,现在也有USB-C物理接口),你可以有不同的网卡接口(PCIe、PCI、USB等),M.2接口就是在主板上预留的一种特定类型的接口,来插装固态硬盘。

    Intel在制定SATA标准时,也包含了一套叫AHCI的标准来让操作系统驱动不同品牌的SATA设备。对于NVMe,操作系统和厂商则用一套叫做NVMe的协议来驱动硬盘。 所以前后端不匹配就会出问题。

    比较关键的点

    1. M.2接口是一个“外壳”和“插槽标准”
    2. NVMe是一种“数据传输协议”或“驱动/语言”

    如果一个固态硬盘是NVMe接口类型,说明它使用的是NVMe协议,并且通常需要插在M.2 NVMe插槽或者PCIe插槽上。 同时,现在确实有些M.2接口规格(比如传统的SATA M.2接口,它通常标着SATA字样,或者仅仅是M.2接口,不指明协议)用SATA协议进行数据传输。这种使用SATA协议的M.2 SSD,其速度上限被限制在SATA III的标准(通常600MB/s)。

    总结一下:

    • 想想USB Type-C接口:它本身是物理接口标准(外壳),但现在有当成USB接口用,也有些当成了Thunderbolt 3接口(物理形态相同,但本质上是PCIe/NVMe下游通道+Thunderbolt协议)。M.2也是如此,M.2是一种接口形式。
    • NVMe协议的出现是为了榨干SS旋钮(节省读写速度的SSD)的性能,它就像跑在高速公路上的货车协议,而老旧的SATA就像老的单行道协议啊。
    • 一台电脑或主板理解协议,但只能识别部分,就像你买了Type-C接口的硬盘,却发现BIOS需要选择支持NVMe或传统的AHCI模式。

    关于各种技术点我会细说:

    我刚才说NVMe是一种协议,AHCI是另一种协议。它们就像Windows系统下的NTFS和FAT文件系统,都是用来管理数据的,但NVMe是为了适应现在新型的PCIe接口SSD设计的,比传统的SATA接口SSD专用的AHCI协议(是一种在SATA控制器上运行的协议扩展)更高效。 所以,如果你是个SSD,用了NVMe协议,那么你前端不行可能会因为罪不够大却又不够小,导致啊,有时候问题。

    看一下这些不同的协议傻傻分不清楚:

    • AHCI协议:是基于SATA物理层之上的一层控制层,用来和操作系统沟通。传统SATA SSD和部分非常早期的NVMe SSD(兼容模式)是用AHCI驱动的。
    • NVMe协议:是为PCIe通道的非易失性内存设备(主要是SSD)定义的新一代驱动接口,性能远超AHCI,能充分发挥PCIe高速、低延迟的优势。
    • SATA协议(通常与AHCI一起使用):是最传统的HDD和SSD的接口标准和协议,速度较慢,属于串行接口,在SATA硬件世界里面,也用AHCI来操作。

    M.2是一个接口,你可以选择给它配M.2接口配套使用的是什么协议

    举个例子:

    • 你有一个M.2接口,你可以选择配套支持SATA协议的SSD,这种是通用型的(需要AHCI驱动才能被传统主板识别)。
    • 或者你选择配套支持NVMe协议的SSD,这种通常是插在主板上的独立M.2 NVMe插槽或者PCIe插槽里的。

    所以,如果你看到一块标为NVMe的SSD,它很可能是在M.2 NVMe插槽或者全高PCIe x16插槽上使用,因为前者的PCIe带宽可能比后者的高很多啊。 而如果一套硬件(如你的电脑操作系统)采用了NVMe驱动但系统配置时误选择了只用AHCI模式,那就可能导致NVMe看不到,或者说性能无法打开,或者说压根点不出来。你可以说阿西比,这里机制不兼容。

    所以,最关键的区分在于看后端协议(NVMe还是淘汰的AHCI/SATA)以及与之匹配的前端接口(M.2 NVMe插槽或者PCIe插槽)。

    最好将物理接口(M.2 NVMe)和协议标准(NVMe)分开,它们一个决定你东西能不能插进去,另一个则决定你的东西有多快和稳定。选购时,找那种既明确标着NVMe又匹配你的主板插槽,还要连驱动都能完美适配,这样的东西最重要。

    © 版权声明

    本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com