BIOS知识枝桠——硬盘的总线接口与协议

发布时间:2024年01月18日


前言

总线(bus)、协议(protocol)、接口(interface)都能限制一块硬盘的性能发挥,而且三者相辅相成。


一、协议和总线

1.介绍

计算机内部有很多的电子元器件,他们之间会有数据沟通和传输的需求,如果A元器件想给B元器件传输数据,那就需要建立通路,比如CPU想和显卡交互数据那就需要拉一条通往显卡的电路,像这种不同设备之间交互数据的通路就被称为总线(下图白色线条)。
在这里插入图片描述
无论是什么线路都是基于目前的物理准则之上的,总线也是有一定的承载能力的,不可能做到所有数据秒传,总线在单位时间内也只能传输一定量的数据,而总线在单位时间内能传输的数据量,就是总线的带宽。

固态硬盘的接口与相容性与协议息息相关,协议一种守则,规定了在电脑中设备如何识别对方,如何建立连接,使用的讯号类型,数据的编码解码方式,数据传输类型,数据传输方式以及物理层面上的电压电流保持和截止时间等等。当两个设备只有协议一致或者完全相容,协议之间才可以进行通讯。协议简单说就是一种双方提前约定好采用某种形式,以某种规格利用某种物体把数据传输出去,而另一方再以同样的规格和流程去接受数据的约定制度或者规章。

假设AB元器件之间有一根总线可以通电断电,如果不做任何约束,那么这根总线除了通电断电没有任何其他功能,倘若规定一秒为10个周期,通电为1断电为0,A只需要通过大量的通电断电就可以把想发送的信息以1秒10bit的速度传输给B,而这个1秒10周期,通电为1断电为0,就是AB之间的通讯协议,电脑内真正运作的协议远比这个复杂得多。
AB通讯协议举例
若A不按照协议发送数据,或者B不按照协议接收数据,那么AB之间就无法达成有效的沟通,所以,只有当协议相同或相容(B一秒5周期)时候,元器件之间才可以达成有效的数据传输。除此之外,一个高效率的沟通协议可以极大提高两者的沟通效率,但是,高效率的协议同样需要硬件作为后背的支撑才能得以实现。

2.总线分类

SATA是Serial ATA的缩写,即串行ATA,总线主要功能是用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输,由于采用串行方式传输数据而得名,还具有结构简单、支持热插拔的优点。SATA总线使用了嵌入式时钟频率信号,具备了比以往更强的纠错能力,能对传输指令(不仅是数据)进行检查,如果发现错误会自动矫正,提高了数据传输的可靠性。

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。PCIe它沿用了现有的PCI编程概念及通讯标准,但基于更快的串行通信系统。属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。它的主要优势就是数据传输速率高,而且还有相当大的发展潜力。

SATA是传统 IDE硬盘的串行版本,承载的是 ATA协议,主要针对个人电脑应用;而SAS (Serial Attached SCSI)是传统 SCSI 硬盘的串行版本,承载的是 SCSI协议,主要针对企业级、服务器的应用。SAS 和 SATA采用类似的物理层,但是连接器不一样,其数据速率可以为 3Gbps、6Gbps,以及目前的 12Gbps 标准,同时 24Gbps的 SAS 标准也在计划中。一般 SAS 硬盘的转速和平均寻道时间比 SATA 硬盘要快,平均无故障时延也要更长。同时SAS 在数据恢复、纠错等方面比 SATA 更加复杂和可靠。

3.协议分类

AHCI(Serial ATA Advanced Host Controller Interface)是一种专为机械硬盘设计的协议,它使用了Serial ATA(SATA)接口。AHCI协议的特点包括:低延时:由于AHCI需要使用寄存器来执行命令,这会增加一定的延迟。高性能:尽管AHCI不支持一些现代存储技术的高级特性,但它仍然能够在成本较低的情况下提供可靠的数据传输性能。

NVME(Non-Volatile Memory Express)是一种高性能、低延迟的存储协议,主要用于固态硬盘(SSD)和闪存存储设备。相比较传统的存储协议如SATA和SCSI,NVME在数据传输速度、I/O效率和可扩展性方面有显著的提升。NVME协议采用了基于PCI Express总线的架构,直接连接到主机的PCIe总线上,通过高速点对点通信通道实现与主机的通信。与传统的SATA接口相比,NVME充分利用了PCIe总线的高带宽和低延迟特性,大大提升了存储设备的传输性能。

SCSI(Small Computer System Interface)是一种计算机硬件接口标准,用于在计算机系统与外部设备之间传输数据。SCSI协议最初被设计用于连接计算机主机和外部存储设备,如硬盘驱动器、磁带机和光盘驱动器等。它提供了高带宽和高可靠性的数据传输,支持多设备间的并行交互。由于其灵活性和可靠性,SCSI在企业级服务器和存储系统中得到广泛应用。除了用于外部存储设备,SCSI协议也可以用于连接其他类型的外部设备,如打印机、扫描仪和光纤通道等。它能够支持多个设备通过同一个总线进行通信,允许主机同时与多个设备进行数据交换。

SATA(Serial ATA)协议:SATA是一种传统的硬盘接口协议,也可以用于M.2固态硬盘。采用SATA协议的M.2固态硬盘读写速度与传统SATA固态硬盘相似。

二、接口及其分类

硬盘想要和其他电脑元器件交互数据,就一定需要数据协议作为沟通,传输总线作为媒介,还需要物理接口硬盘让硬盘能够接入,大众民用的IDE(早期民用,已淘汰)、AHCI和NVMe以及服务器用的比较多的SCSI协议。关于总线,目前国内电脑传输数据的总线也是三种:SATA、PCIE、SAS(服务器用)。物理层面接口,民用硬盘接口主要有五种:SATA、MSATA、SATA Express、PCIE 、M.2(分为B-Key、M-KeyB&M key);企业硬盘常用的就是U.2和SAS。
在这里插入图片描述
协议、总线、接口都能限制一块硬盘的性能发挥,协议强大的同时需要匹配的总线和接口,否则无法运行或者数据无法高速传输,三者是相辅相成的。厂商会保证三者处于匹配状态,比如一块性能强大的固态,一定会设计出匹配的协议与总线以及匹配的接口才会推广产品,所以大部分时候是不需要考虑协议层面和接口层面。只要看传输总线的承载能力即可。因此,大部分硬盘的性能发挥其实是受制于传输总线,判断出一个硬盘的传输总线的承载能力就能基本上判断出一个硬盘的接口的速度上限,实际上硬盘能跑多快还是要看本身硬盘的设计与用料。

下表为比较普遍使用的,其中CIE的带宽和长度有关系,x4的速率就是x1的4倍,x16就是x4速率的4倍。

类型理论带宽编码换算windows内显示传输速度
SATA6Gbps8:10600MB/S
PCIE 3.08Gbps128b/130/b984.6MB/s(x1)
PCIE 4.016Gbps128b/130/b1.969MB/s(x1)
SAS 3.012Gbps8:101.2GB/S

1.SATA

SATA接口使用的是SATA传输总线,协议是AHCI,目前几乎所有的民用的3.5寸和2.5寸机械硬盘,2.5寸固态硬盘使用的都是这个接口。SATA接口分为两部分,长一点的是供电,短一点的是数据供电接驳在电脑电源上,数据则是用SATS数据线接驳到主板上。
SATA
除了用线缆连接一些服务器或者硬盘架,也有提供供电一体式的母口,可以直接插入硬盘,供电数据就会自动对齐,由于SATA3总线速率上限就是600MB/S,再加上各种损耗和干扰,所以接口一般速度最多只能跑到五百多兆每秒。所以,用SATA作为载体的不论是固态硬盘还是机械硬盘,速率都不可能突破这个数值。

2.mSATA

MSATA同样是SATA总线,AHCI协议,在已经淘汰的老旧笔记本上非常常见,诞生目的就是给SATA接口的固态缩小体积,这个接口也没有逃过总线速度500MB/S的限制,由于速率没有提升也没有高带宽只是单纯提供体积的缩小,因此接口在M.2普及了以后就消失了。
mSATA

3.SATA Express

SATA Express使用的PCIE2总线,既可以走AHCI协议也可以走NVMe协议,这类结构也很有特色,为了向下兼容,可以当成两个普通SATA用,也可以用一整个宽的接口,然后走PCIE1或者PCIE*2,但由于提升速率有限而且由于体积过于庞大对未来没有前瞻性所以这个接口基本上出现一两年就被淘汰掉了,市面上已经基本没有这个产品。
在这里插入图片描述

4.M.2

M.2在接口行业规范的别名是NGFF(Next Generation Form Factor),是Intel推出的一种替代MSATA新的接口规范。M.2接口既可以走SATA总线AHCI协议(此时与普通的SATA盘没有区别,速率同样会被限制在500MB/S左右,只是体积小一点),也可以走PCIE总线AHCI协议,比如数量稀少的三星SM951 AHCI版本,速率上限由PCIE版本和长度决定。M.2也可以走PCIE总线NVME协议,速率上限同样由PCIE版本和长度决定,使用NVMe协议的M.2固态硬盘可以达到更快的读写速度。这个也使用最广泛的组合。这种类型的M.2固态硬盘适用于需要快速读取和写入大量数据的高性能应用程序,如视频编辑和3D渲染。

M.2分为B-Key(左边缺口6个金手指)和M-Key(右边缺口5个金手指)和B&M key(左右各两个缺口),B的豁口在左边,M的在右边。B被称为Socket2支持SATA总线和PCIE2总线,M被称为Socket3支持SATA总线和PCIE4。具体接口走什么总线需要看主板官网描述和接口说明书。
硬盘插槽和接口
现在市面上B key的产品已经比较少见了,大部分都采用B&M key接口了,因为这种接口通用电脑硬盘插槽上的B key/M key两种接口。需要注意的是,M.2固态硬盘的接口和协议之间存在一定的对应关系。根据接口的不同,M.2固态硬盘可以使用不同的协议。一般来说,NVMe协议的M.2固态硬盘采用M key或B&M key接口。

5.PCIE

PCIE既可以作为总线承担传输通道存在,也可以直接以接口的形式存在,如果在PCIE插槽安装固态硬盘,使用的就是PCIE总线NVMe协议,早期的企业级固态也有使用PCIE通道SCSI协议的,英特尔的SSDI910本质上是多个SCSI协议的SAS盘通过LSISAS控制器组建阵列然后接入PCIE总线。主板上横着的长槽和短槽就是PCIE插槽,接口除了插显卡之外还可以插无线网卡,有线网卡,声卡,采集卡,转接卡之类的也可以直接插走PCIE通道NVME协议的固态硬盘,目前直接以PCIE为接口的固态硬盘常见于超高性能等级一级企业级固态硬盘上,民用固态硬盘大多数以M.2接口为主。

PCIE

6.SAS

SAS是新一代的SCSI技术,和Serial ATA(SATA)硬盘都是采用串行技术,以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与SATA硬盘的兼容性。

SAS接口使用的是SAS总线SCSI协议,这个接口通常来讲在服务器上使用非常多,可以理解为强化的SATA接口,在SATA上增加了很多功能并且支持更高速率的SAS总线,SAS总线还可以一分多以满足服务器硬盘柜多硬盘要求,由于直接在SATA接口上改款而来的,所以SAS接口可以向下兼容SATA硬盘走AHCI协议,需要注意的是,这里SAS兼容SATA硬盘而SAS硬盘本身是SAS总线SCSI协议所以只能在支持SAS总线的接口上用,SAS接口除了硬盘架上这种数据供电一体的母口之外,还有很多使用线缆接驳的各种分支形状。
SAS

7.U.2

U.2接口则是在SAS接口上继续改款而来,除了兼容下面的SATA还可以兼容SAS,额外提供了PCIE*4 总线的支持,这个接口也是在服务器和高端HEDT平台是使用的比较多,很多的企业固态都是使用的这种接口,和SAS一样,SAS接口除了硬盘架上这种数据供电一体的母口之外,还有很多使用线缆接驳的各种分支形状。
在这里插入图片描述
U.2在主板上的接口非常类似,两个USB摞起来的形状。
在这里插入图片描述

常用类型

PCIE总线的硬盘,他们之间的接口大部分都是可以互相转换的,比如PCIE可以转成U.2也可以转成M.2,反过来M.2也可以转成PCIE,所以接口并不是完全限制速率发挥的因素,还是需要看硬盘本身的设计材料,以下为一些常用的类型。

类型接口总线协议速度
SATA3机械西数蓝盘1TSATASATA3.0AHCI600MB/S
固态铠侠TC10SATASATA3.0AHCI600MB/S
三星860EVO M.2B&M keySATA3.0AHCI600MB/S
三星SM951 ACHIM.2 M-keyPCIE3.0x4AHCI4GB/S
三星XP941M.2 M-keyPCIE2.0x4NVME2GB/S
三星980PROM.2 M-keyPCIE4.0x4NVME8GB/S
三星983ZETPCIEPCIE3.0x4NVME4GB/S
西部数据SN500M.2 M-keyPCIE3.0x2NVME2GB/S
西部数据SN750M.2 M-keyPCIE3.0x4NVME4GB/S
IntelI910PCIEPCIE2.0x8SCSI4GB/S
希捷银河4TSASSAS3.0SCSI1.2GB/S
IntelP4510U.2PCIE3.0x4NVME4GB/S

文章参考内容为2020年视频,BV1Qv411t7ZL,只供参考。

文章来源:https://blog.csdn.net/weixin_45279063/article/details/135607370
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。