
NvMe协议和SATA协议的硬盘为什么读写速度差距那么大?
最近有小伙伴就很疑惑了:为啥同样都是固态硬盘,NvMe协议和SATA协议的固态硬盘为啥读写速度差距那么大?
好问题!
答案就是:一个跑在国道上,限速60-80迈;一个跑在高速上,限速80+迈。(这只是个比喻,倍数肯定是不对的,但是这样容易理解)
好了,今天的文章就到这里了。
哈哈哈哈……
今天咱们就来唠唠这件事情!
01.
传输通道:PCIe高速直连 vs SATA绕路中转
NVMe协议硬盘(主要是M.2 NVMe固态)通过PCIe总线直接与CPU通信。这就好比在CPU和硬盘之间修了一条“点对点”的专属高速路,数据直达,指挥调度效率极高,最大程度缩短了物理传输路径上的延迟。

SATA协议硬盘使用的是SATA总线。数据先从硬盘到SATA控制器,再经过芯片组(南桥) 绕路与CPU通信,整个过程就像一个“中转接力”,交通拥堵和指挥延迟自然就高。
嗯,所以SATA慢,NvMe快。目前市面上的消费级硬盘协议一共就两种:SATA和NvMe。但是不知道抽的什么风,最近小伙伴又看到了有PCIe协议的硬盘,其实NvMe协议也是PCIe协议。只不过为了更好地区分,所以现在看到的都是PCIex.xx*x的样式。
SATA 3.0:理论带宽 6Gbps。受编码等因素影响,实际读写速度的天花板就在 550-560 MB/s 左右。
PCIe 3.0x4:理论带宽约 32Gbps,实际速度可达 3500 MB/s左右。
PCIe 4.0x4:理论带宽约 64Gbps,实际速度可达 7000 MB/s左右。
PCIe 5.0x4:带宽更上一层楼,理论速度可达 14000 MB/s左右。
02.
NVMe专为SSD设计 vs AHCI为机械硬盘而生
两种协议本质上是为不同的介质而定制的。NVMe协议可以说是专为SSD这类高速闪存介质服务的,而SATA协议使用的AHCI诞生于2004年,主要是为机械硬盘“优化”的。
从这里看,不难得知:NvMe协议的硬盘性能会更好。因为:NVMe 协议 (专用规则)支持多队列,最多65535个(意味着每队列可达65,536条命令);而AHCI 协议 (旧规则)仅支持单队列,深度仅为32条。
看到这段,小伙伴又要说:看不懂!
没关系,咱们把NVMe理解为多车道模式,能同时处理海量读写请求,而AHCI就是单车道模式,面对高并发小文件读写时极易堵塞,这样就行了。
03.
为啥会有SATA接口的固态硬盘出现?
简单来说就是:有市场就会有产品,而且这个市场是庞大的!有很多很多的老机器没办法直接安装m.2接口的NvMe协议硬盘,所以就有了SATA接口SATA协议的固态硬盘。

在很多很多场景下,SATA接口的固态硬盘比SATA接口的机械硬盘性能要好太多太多。许多小伙伴的电脑卡到不行的情况下,又不想入手新电脑,此时更换一个SATA接口的固态硬盘就能再用好几年了。