总线带宽、接口、协议决定了外设的传输速度。
存储协议目前主流的有三种,AHCI、NVMe、SCSI。 HDD 磁盘和早期 SSD 磁盘的传输协议一般采用AHCI(高级主机控制器接口,Advanced Host Controller Interface)。AHCI 为单队列模式,主机和 HDD/SSD 之间通过单队列进行数据交互。对于 HDD 这种慢速设备来说,主要瓶颈在存储设备,而非 AHCI协议。不同于 HDD 的顺序读写特点,SSD 可以同时从多个不同位置读取数据,具有高并发性。因此对于 SSD,AHCI 的单队列模式成为了限制并发性的瓶颈。随着存储介质的演进,SSD 盘的 IO 带宽越来越大,访问延时越来越低。AHCI 协议已经不能满足高性能和低延时 SSD 的需求, NVMe(NVM Express 非易失性内存主机控制器接口规范)应运而生。
ATA/SATA/SAS/FC/PCIE 都是应用于存储领域的总线,在当今的存储系统中,普遍应用的硬盘接口主要有 SATA 、SAS、PCIE 和FC , ATA 比较古老,在一些老的低端存储系统中被广泛应用,目前基本上被 SATA 所替代。主控决定了接入M.2接口的SSD是走PCI-E通道还是SATA通道。例如HyperX Predator SSD的主控是Marvell 88SS9293主控,这是一款PCI-E控制器,而金士顿G2系列 M.2 2280 SSD采用的是SATA控制器。
NGFF有两种接口:Socket 2和Socket 3,前者支持SATA、PCI-E x2接口的SSD、WWAN及其他非存储设备。Socket 3支持专为高性能存储设计,可支持PCI-E x4接口,体积更小的同时带宽高达4GB/s。
在设计总线时,总会设计出对应的满足总线速率的接口和协议。下面是常见外设的传输速度。
接口名称 | 带宽 | 颜色 |
PS/2接口 | — | 鼠标为绿色,键盘为紫色,圆形 |
USB1.1 | 0.12Gbps | 蓝绿色 |
USB2.0 | 0.48Gbps | 黑色或者白色 |
USB3.0/USB3.1Gen1 | 5Gbps | 蓝色 |
USB3.0/USB3.1Gen1*2 | 10Gbps | 双通道模式 |
USB3.0/USB3.1Gen2 | 10Gbps | 红色或浅蓝 |
USB3.0/USB3.1Gen2*2 | 20Gbps | 双通道模式 |
M.2接口也叫NGFF | NGFF有两种接口:Socket 2和Socket 3,前者支持SATA、 PCI-E x2接口的SSD、WWAN及其他非存储设备。 Socket 3支持专为高性能存储设计,可支持PCI-E x4接口, 体积更小的同时带宽高达4GB/s。 | |
B key | 左边缺口6个金手指 | |
M key | 右边缺口5个金手指 | |
B&M key B key升级版 | 左右各两个缺口(一般都是直接使用B&M key,跳过B key) | |
ATA 改名为PATA,别名IDE接口 | 1.33Gbps | 注:并行线的抗干扰性太差 |
SATA1.0 | 1.5Gbps | |
SATA2.0 | 3Gbps | |
SATA3.0 | 6Gbps | |
SATA3.1 | 6Gbps | |
mSATA (mini-SATA)尺寸更小 | 6Gbps | SATA接口标准一样的速度和可靠度 |
PCI-E1.0*X | 2Gbps*X | |
PCI-E2.0*X | 4Gbps*X | |
PCI-E3.0*X | 8Gbps*X | |
PCI-E4.0*X | 16Gbps*X | |
PCI-E5.0*X | 32Gbps*X | |
MINI PCI | 同pci | |
MINI PCI-E*X | 2Gbps*X | |
SAS | 12Gbps | 服务器接口 |
SATA-E | 12Gbps | pcie*2总线 |
附:pci总线的传输速度
标准 | 位 | 时脉 | 传输速度(双向) | |
PCI 2.3 | 32 Bit | 33 MHz | 133 MB/sec | |
PCI 2.3 | 32 Bit | 66 MHz | 266 MB/sec | |
PCI 64 | 64 Bit | 33 MHz | 266 MB/sec | |
PCI 64 | 64 Bit | 66 MHz | 533 MB/sec | |
PCI-X 1.0 | 64 Bit | 66 MHz | 533 MB/sec | |
PCI-X 1.0 | 64 Bit | 100 MHz | 800 MB/sec | |
PCI-X 1.0 | 64 Bit | 133 MHz | 1066 MB/sec | |
PCI-X 2.0 (DDR) | 64 Bit | 133 MHz | 2132 MB/sec | |
PCI-X 2.0 (QDR) | 64 Bit | 133 MHz | 4264 MB/sec |