总线,协议,接口

最近发现自己退化的厉害,故为了防止病情的进一步恶化,我尝试简单的总结一下我最近学的相关知识,主要是与硬盘相关,毕竟这东西经常买,多知道一点还是有不少的好处的。

而在这篇文章中,我们不讨论机械硬盘或者固态硬盘中硬件原理,而是专门的总结一下与其相关的总线接口,以及协议的相关知识。

  • 总线:总线的任务主要是进行数据的传输,总线的性能主要是用带宽(bandwidth)来进行描述,其定义为总线在单位时间内所能传输的数据量,现在常见的总线有SATA, PCIE, SAS
  • 接口: 硬盘中用来和主板接入的实际接触部分,没有这个东西你就没法把硬盘塞到主板上。
  • 协议: 用来定义和实现通信的一组规则,简而言之的话,就是硬件之间沟通的具体方法,现在常用的协议有ACHINVMESCSI

通常来讲这三者要互相匹配,并且整体的速度上限往往是由总线来决定的,这里借用一张硬件茶谈中的图来进行描述。

如果以我们常买的固态硬盘为例的话,一般会为M.2接口,PCIe总线,NVMe协议这个组合。

这里顺便记录下常见的总线带宽上限,让自己稍微有个速度上定量的概念。

  • SATA3.0
理论带宽 编码 换算为windows内显示传输速度
6Gbps 8:10 600MB/S
  • PCIE
PCIE版本 编码 x1 x4 x8 x16
3.0 128b/130b/b 984.6MB/S 3.938GB/S 7.877GB/S 15.754GB/S
4.0 128b/130b/b 1.969GB/S 7.877GB/S 15.754GB/S 31.505GB/S
  • SAS 3.0
理论带宽 编码 换算为windows内显示传输速度
12Gbps 8:10 1.2GB/S

这里PCIE的速率会随着你所使用的总线通道而上升,故给出多组数据。

参考

【硬件科普】硬盘的SATA M.2 NGFF NVME是什么意思,详解硬盘的总线协议与接口