计算机存储接口经历了SATA、mSATA、SATAExpress、M.2、U.2多次迭代,这些是物理上的接口形式。我们无法通过外观分别具体使用的通信协议。存储系统的性能与兼容性,不仅取决于硬件设备的容量和速度,更与 物理接口、传输协议、以及上层逻辑协议 密切相关。
存储【接口、协议介绍】#

硬件接口#
物理接口是指存储设备与计算机主板之间进行 物理连接 的硬件接口,包括 连接器类型、引脚定义、电气特性、传输速率上限 等。
接口形态#
| 接口名称 | 描述 |
|---|---|
| SATA(Serial ATA) | L 形接口;7 针连接器传输数据 、 15 针连接器用于供电 |
| mSATA | mSATA 是一种专为小型化设备设计的接口。它的出现是为了在不牺牲性能的前提下,将 SSD 集成到更薄、更小的设备中。采用 52 针连接器,直接插入主板上类似于 Mini PCIe 的插槽中。 |
| M.2 | 扁平卡式接口,直接插入主板插槽;B-Key、M-Key 或 B+M Key 决定了支持的协议和 PCIe Lane 数量。 |
| U.2 | 2.5 英寸 硬盘形态,但连接器更大、更复杂;企业级标准:专为高性能和高可靠性设计,支持 NVMe (PCIe) 协议。支持热插拔。 |
| PCIe插槽 | 标准 PCIe 扩展卡形态 (AIC - Add-In Card),直接插入主板长槽;最高性能:利用主板上的 PCIe Lane,通常用于最高端的 NVMe SSD 或 RAID 解决方案。 |
传输协议#
传输协议定义了 数据在物理接口上是如何被组织、调度和传输的 ,定义了如何在物理线缆上传输数据、握手、错误检测和链路管理等;是存储设备与主机控制器之间的"通信语言"。
| 传输协议 | 层次 | 标准 | 作用 |
|---|---|---|---|
| SATA | 通道协议 | SATA (Serial ATA) | 物理和链路层协议。定义了串行信号如何在 SATA 线缆上传输、握手和错误控制。 |
| PCIe | 通道协议 | PCIe (PCI Express) | 物理和链路层。定义了数据如何在 PCIe Lane 上并行传输(例如 x2, x4, x8, x16)。 |
一、SATA#
历史悠久,简单稳定,是传统 HDD 和早期 SSD 的标准。速度上限通常为 600 MB/s (SATA 3.0)。
二、PCIe#
PCIe(Peripheral Component Interconnect Express)本身是一个高速串行总线标准,定义了数据如何在主板上的插槽和芯片之间传输,它是一种通道协议。在其之上,有多种协议用于不同类型的设备。在高性能 SSD(如 M.2 NVMe SSD)的标准。速度可达数 GB/s,远超 SATA。
PCIe 不仅用于存储,还是现代计算机中连接所有高速外设的基础通道:
- GPU (显卡): 直接使用 PCIe 协议传输图形数据。
- 网卡 (NICs): 高速网卡(如 10G/25G/40G/100G/200G/400G Ethernet)通过 PCIe 传输网络数据。
- USB 控制器: USB 主控制器通过 PCIe 与 CPU 通信。
- linux查看PCIe通道、速率
- Width与插槽、配件带宽有很大关系。通常这里也可以在BIOS中调整(X8X8、X16、X8X4X4)
[root@debian ~]# lspci -s 9b:00.0 -vvv | grep LnkSta
LnkSta: Speed 16GT/s (ok), Width x16 (ok)
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ EqualizationPhase1+
上层协议#
| 协议名称 | 兼容接口 | 特点 | 优势 | 局限 |
|---|---|---|---|---|
| AHCI | SATA | 为 SATA 设计,支持 NCQ(原生指令队列) | 兼容性好,支持热插拔 | 延迟较高,不适用于 NVMe SSD |
| NVMe | PCIe、M.2、U.2 | 专为 闪存/非易失性存储 设计,基于 PCIe | 极低延迟,高并发,高吞吐 | 需要 PCIe 接口,不兼容 SATA |
一、AHCI#
上层协议理解为 主机控制器接口 ,定义了操作系统(Host,主机)如何与 SATA 硬盘的控制器进行通信和编程的标准。Intel 提出的一种新的编程标准,用于定义操作系统如何与 SATA 芯片组/控制器交互。
核心功能:
- NCQ (Native Command Queuing, 原生命令队列): 允许硬盘优化读取和写入命令的执行顺序。这对于机械硬盘(HDD)尤其重要,因为它能通过优化磁头移动来显著提高性能。对于 SSD 也有性能提升。
- 热插拔 (Hot-Plugging): 允许用户在不关闭计算机电源的情况下连接或断开 SATA 硬盘。
二、NVMe#
NVMe(非易失性内存主机控制器接口规范) 是专门为 SSD 闪存设计的全新标准,它通过 PCIe 通道直接连接 CPU,并取代了 AHCI:
- 消除瓶颈: 绕过了 SATA 接口的 600MB/s 速度限制。
- 优化队列: NVMe 支持高达 64000 个命令队列,每个队列支持 64000 个命令。而 AHCI 只有一个队列,最多只能处理 32 个命令。这极大地提高了固态硬盘的并发性能和低延迟表现。
NVMe-oF#
为什么需要 NVMe-oF?
机械硬盘时代,因为硬盘性能太低,需要把多个机械硬盘连接在一起形成磁盘阵列,从而提供更高的性能或更大的容量。随着固态硬盘的发展,固态硬盘结合机械硬盘可以做成缓存分层,或者全闪存满足应用需求。随着近一步发展,NVMe SSD普及,计算机已经不能完全发挥NVMe SSD的性能。目前有两种方式:减少软件开销、计算与存储分离。计算与存储分离带来了新问题,如何解决网络带宽和延迟。
对于 NVMe-oF ,使用 RDMA (包含InfiniBand、RoCE、iWARP) 的 NVMe-oF和使用 FC-NVMe 的NVMe-oF。RMDA 支持在不涉及处理器的情况下将数据传输到两台计算机的内存。提供低延迟和高吞吐量。
- NVMe over RDMA对比NVMe over PCIe;NVMe over RDMA在软件上的开销很小,基本可以忽略,可以认为跨网络访问和本地访问一样快。
结语#
存储接口的演进史,就是一部计算机追求速度、效率与小型化的历史。从最初的 IDE/PATA 到串行化的 SATA,再由 AHCI 引入 NCQ 优化机械性能。然而,固态硬盘(SSD)的出现彻底颠覆了格局,催生了基于 PCIe 通道的 NVMe 协议,从而打破了 SATA 的速度瓶颈,极大提升了数据并发处理能力和延迟表现。未来,存储将继续向更高带宽、更低延迟,以及更紧凑的 M.2 形态迈进。
参考



