原文链接:https://forum.51nb.com/thread-1670848-1-1.html
IT 界总喜欢发明新名词。而且同一个东西,可能有几个不同的名字。同一个名字,又可能指不同的东西。存贮设备,近年有许多新发展,因此新名词也层出不穷,造成不少混乱。这里班门弄斧整理一下,如有错误,欢迎指正。由于篇幅的关系,太旧的标准就不讨论了,如 IDE、PATA 等。这里主要讨论 SATA、PCIe、AHCI 和 NVMe。(关于 NGFF/M.2,那是物理尺寸标准,请参考 http://forum.51nb.com/thread-1669981-1-1.html)。
SATA 和 PCIe 大家应该比较熟悉。这两个都是总线标准。它们是并列发展的关系,并不是谁取代谁的关系。
SATA 由 IDE/ATA 标准发展而来,主要用途是把存贮设备(硬盘)连接到主机(主板)。SATA 经历了如下版本:
SATA revision 1.0 (1.5 Gbit/s, 150 MB/s)
SATA revision 2.0 (3 Gbit/s, 300 MB/s)
SATA revision 3.0 (6 Gbit/s, 600 MB/s)
SATA revision 3.1
SATA revision 3.2 (16 Gbit/s, 1969 MB/s)
在 IT 界,有一样很重要的东西叫“向下兼容”。SATA 在发展的过程中,也要考虑“向下兼容”因素。譬如,主板上 SATA-3 的接口,可以连接 SATA-2 的硬盘。向下兼容是为了保护用户已有的投资。但在另一方面,也造成很多掣肘,以致发展缓慢。
出于向下兼容的考虑,SATA 可以工作在两种模式:传统模式和 AHCI 模式。传统模式是为了兼容以前的 IDE/PATA。AHCI 模式则比较新,支持 SATA 独有的功能,如热插拔、原生命令队列(NCQ)等。现在基本上所有 SATA 设备都是 AHCI 模式了。(Advanced Host Controller Interface)
大家还记得 Windows 7 时代的 AH