固态硬盘nvme和sata有什么区别接口一样吗

近日在京东上看到一些令人啼笑皆非的固态硬盘商品介绍 , 既是对知识的不尊重 , 也是对诚信宣传的负面典型 。
混乱的接口与协议
对于接口和协议 , 相对准确的描述是:接口(Interface)是组件之间的交互界面(既可以是硬件也可以指软件的交互) 。组件可以独立运作 , 并遵照协议(Protocol)与其他组件进行通信 。协议可以控制接口连接、通信和数据传输的约定或标准 。
譬如网卡是网络接口(硬件) , 可以遵照TCP/IP(协议)进行通信 , 局域网内也可以使用IPX/SPX协议进行通信 。M.2作为一种接口 , 可以使用SATA通道或PCIe通道来连接固态硬盘 。其上可以遵循AHCI或NVMe协议 。
但是 , NVMe规范文件中也有这样的描述:NVM Express (NVMe) is an interface that allows host software to communicate with a non-volatile memory subsystem. NVMe是一个允许主机软件和非易失性存储子系统通信的接口 。也就是说 , NVMe标准化组织将NVMe定义为一种"接口" 。
【固态硬盘nvme和sata有什么区别接口一样吗】源头上出现的混淆延续到终端产品的表述上就变得五花八门了 。英特尔、金士顿、希捷等将PCIe和NVMe放在一起统称为接口;浦科特将PCIe写作传输通道 , NVMe则是传输接口标准;闪迪则把NVMe写作一种协议 。
在这样的混乱环境下我们无法判定谁对谁错 。但有一些基本的认识是可以肯定的:PCIe提供了传输通道和接口 , 它的规格决定了传输带宽(顺序读写速度);NVMe实现了低延迟 。下图中的表述就是明显存在错误的:

固态硬盘nvme和sata有什么区别接口一样吗

文章插图
一秒区分NVMe与SATA?翻车也只需一秒
固态硬盘nvme和sata有什么区别接口一样吗

文章插图
透过M.2接口 , 既可以将固态硬盘连接到SATA控制器 , 也可以连接到PCIe总线(硬盘自带控制器) 。前者就是大家常说的M.2 SATA固态硬盘 , 后者则主要是当前正在快速普及的NVMe固态硬盘 。
固态硬盘nvme和sata有什么区别接口一样吗

文章插图
M.2接口定义有多种"缺口"(Key键位)来区分不同类型的设备 , 早在数年前 。出现在M.2固态硬盘上的键位主要有B Key和M Key 。
固态硬盘nvme和sata有什么区别接口一样吗

文章插图
对于M.2固态硬盘而言 , 只具备一个缺口(B Key)时可以使用PCIe x4通道(理论最高带宽4GB/s) , 基本上都属于NVMe固态硬盘 。同时具备两个缺口(B+M Key)时可以使用PCIe x2通道(理论最高带宽2GB/s) , 或者也可以使用SATA通道(理论最高带宽600MB/s) , 并不是如某厂商宣传的那样"M.2固态硬盘只要有两个缺口就肯定是SATA固态硬盘" 。
同时具备B+M Key , 使用PCIe x2通道的NVMe固态硬盘虽然相对较少 , 但随手就能举出若干例子:、、 。京东本有审核 , 却让这种明显的错误出现 , 值得深思 。
此外 , 在使用SM2263XT主控(无缓存设计)的某商品介绍中 , 赫然出现了"大缓存设计"的描述:不知是无心之失还是有意误导 。
固态硬盘nvme和sata有什么区别接口一样吗

文章插图
固态硬盘nvme和sata有什么区别接口一样吗

文章插图
下图是SATA Express接口连接不同类型固态硬盘的原理图 , 其中的SATA Express可以简单替换成M.2来看 。比较令人遗憾的是 , 单从M.2接口的外观是很难判断它究竟能支持何种类型的固态硬盘的 , 最终的判断依然要靠"插上试试看" 。

推荐阅读