AHCI 和 NVMe 都是数据传输协议,它们在接口之上工作以确定数据传输方法。除此之外,还有其他的数据传输协议,比如IDE(这个协议比较老了)。
AHCI是英特尔公司制定的技术标准,它规定了一种硬件机制,允许软件与SATA存储设备进行信息通信。AHCI 可以使 SATA 存储设备激活高级 SATA 功能,例如支持 32 端口、消除主/从处理、热插拔等。
也就是说,AHCI协议可以发挥SATA接口的最大潜力。使每个传输队列承载32条指令,优化硬盘队列,利用NCQ技术使硬盘访问数据快速流畅,减少磁头移动造成的时间浪费。
但是AHCI协议是为传统HHD设计的,无法发挥SSD的潜力。即使 M.2 SSD 使用 PCI-E 总线,使用 AHCI 协议时的读写速度仍然不能超过 600 MB/s。因此,NVMe 协议应运而生。
NVMe(Non-Volatile Memory express)协议于2011年首次发布。与AHCI相比,它在下达命令时无需访问寄存器,可以大大减少延迟时间。
此外,它可以支持64个队列,每个队列可以承载64000条指令,大大提高了IOPS能力。总之,NVMe可以极大地激发SSD的潜力。
让我们做一个结论:如果 M.2 SSD 只支持 AHCI 协议,其读写性能与 SATA SSD 相同。如果 M.2 SSD 使用 NVMe 协议,其性能会比 SATA SSD 好很多。