这些接口、协议经常出现,搞的自己晕头转向,所以特意找资料总结一下,本文不涉及详细的接口标准及协议内容。在遇到这些名称的时候,能帮助区分它们的不同就好。
首先有三个总的分类,即 通讯协议、物理接口标准(规范)、传输通道。
AHCI:是一种通讯协议;
NVMe:是一种通讯协议;
SATA:是一种物理接口标准,也是总线(通道)标准,该接口使用AHCI通讯协议;
PCIe:是一种物理接口标准,也是总线(通道)标准,该通道使用NVMe通讯协议。
知乎上有一张图很好的解释了各接口、协议、通道之间的关系。
SATA接口(小门)只能使用AHCI协议(自行车),走SATA通道(窄路)。
M.2接口(大门)既可以使用AHCI协议(自行车),走SATA通道(窄路),也可以使用NVMe协议(汽车)走PCIe通道(大路)。
再详细说一下物理接口。
常见的接口有SATA、mSATA、PCIe、M.2四种,目前mSATA越来越少,逐渐被m.2取代。
SATA是机械硬盘HDD、固态硬盘SSD最常用的接口,目前已经发展到SATA3.0,总线最大传输带宽提升到6Gbps。SATA接口如下图。

mSATA接口
mSATA (mini-SATA)是迷你版本SATA接口,外型和针脚排布与mini PCI-E完全相同,但针脚信号定义不同,两者互不兼容。mSATA接口的外观跟M.2有点像,但是M.2的尺寸更小巧。因为都是用的是SATA协议,所以传输速度和SATA是一样的。
注:mini PCI-E与PCI-E x1接口是一样的。

PCIE接口
PCIE接口有不同的长度,各长度插槽、各版本协议,传输速度如下表。
协议 \ 插槽 | x1 | x2 | x4 | x8 | x16 |
PCIe 1.0 | 250MB/s | 500MB/s | 1GB/s | 2GB/s | 4G |
PCIe 2.0 | 500MB/s | 1GB/s | 2GB/s | 4GB/s | 8GB/s |
PCIe 3.0 | 1GB/s | 2GB/s | 4GB/s | 8GB/s | 16GB/s |
PCIe 4.0 | 2GB/s | 4GB/s | 8GB/s | 16GB/s | 32GB/s |
目前主板上基本是PCIEx1、x4、x16,英特尔7260AC网卡使用的就是PCIEx1的插槽,显卡都使用PCIEx16插槽。下图是常见主板上的PCIE插槽类型。

M.2:是物理接口标准,曾用名NGFF。M.2接口有两种,分为B Key和M Key,目前M Key是主流。具体区别如下图。

M.2硬盘还有多种长度规格,常见有2242、2260、2280,前面两位数字代表硬盘宽度,后面两位数字代表硬盘长度,如下图。

由于M.2接口既可以SATA通道 / SATA协议,也可以走PCIE通道 / NVME协议,所以购买SSD的时候需要注意甄别。
如果买了SATA协议的,理论速度最高也只能达到6Gb/s,实际测试大概在550MB/s左右。
只有使用NVME协议的才能达到理论16Gb/s速度,相当于2000MB/s,实际测试也能达到1500MB/s左右。