固态硬盘协议,分为接口协议和传输协议

博主:投稿投稿 2024-01-03 09:40:02 84 0条评论
摘要: 提到固态硬盘,大家脑子里面能想到的可能主要还是SATA固态硬盘和M.2固态硬盘,还有就是NVME协议固态硬盘,但是大家知道SATA和NVME这些是什么意思吗,其实我们在固态硬盘领域...

提到固态硬盘,大家脑子里面能想到的可能主要还是SATA固态硬盘和M.2固态硬盘,还有就是NVME协议固态硬盘,但是大家知道SATA和NVME这些是什么意思吗,其实我们在固态硬盘领域常常提起的SATA、AHCI、PCI-e、NVMe这四个英文其实指的都是协议,不过是两两对应的。SATA和PCI-E指的是接口协议,AHCI和NVMe指的是传输协议,而SATA和AHCI对应的是高延时的机械硬盘,PCI-E和NVMe对应的是低延时的板卡。

固态硬盘协议,分为接口协议和传输协议

常见接口协议:SATA/PCIE/mSATA/M.2

接口协议,也就是SSD硬盘的主要分类方式,按照接口来分类通常分为SATA、SATA-E、mSATA、M.2、U.2、PCI-E、Macbook专用接口等几种,其中应用最广泛的是SATA、mSATA、M.2、PCI-E这几种,而实际上严格来讲,就只有SATA和PCI-E这两种,因为mSATA用的也是SATA协议,只是因为接口是迷你版,而M.2分为SATA和PCI-E两种,所以实际上还是SATA和PCI-E的较量。至于SATA接口里的SATA2和SATA3我们就不再多述。

SATA接口协议:

SATA是Serial ATA(Serial Advanced Technology Attachment)亦称串行ATA,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。平时所说的SATA接口通常是指2.5寸规格的固态硬盘,它只使用AHCI协议,最大队列深度QD32,对于家用完全没有瓶颈。SATA3.0接口将持续读写速度限制在550MB/s左右。

固态硬盘协议,分为接口协议和传输协议


固态硬盘协议,分为接口协议和传输协议

PCI-E接口协议:

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽。而PCI-E的速率计算比较复杂,尽管标准已经提出5.0版本,但目前主流应用过的还是3.0版本,4.0版本正在普及。而一个PCIe 3.0 x16的通道,x16 的可用带宽为 7.877 * 16 = 126.031 Gbps = 15.754 GB/s,也就是我们所说的16GB/s的高速。

PCIe接口协议支持AHCI和NVMe两种协议。其接口比较有特色。为了向下兼容,可以将其当作两个普通SATA去使用;也可以用一整个宽的接口,走PCIe×1或PCIe×2。虽然这个接口相对于SATA3.0来讲,速度翻倍,但是由于提升的速率有限,而且接口体积过于庞大,所以这个接口很快便被淘汰掉了。

固态硬盘协议,分为接口协议和传输协议

M.2(NGFF)接口协议:

M.2 是一种固态硬盘新型接口,是 Intel 推出的一种替代 MSATA 新的接口规范,也就是我们以前经常提到的 NGFF,英文全称为:Next Generation Form Factor。M.2 接口固态硬盘主要优势在于体积相比传统的 SATA3.0、MSATA 更小,并且读取速度更快,对于笔记本电脑兼容性更好。

M.2 接口宽度为 22mm,根据接口种类的、兼容协议的不同,分为 Socket 2 以及 Socket 3 两种接口类型,其中 Socket 2 又被称为 B Key 或 NGFF 接口,能够支持 SATA、PCIe×2 标准,最大读速可达 700MB/s,写速可达 550MB/s,Socket 3理论带宽可达4GB/s。

固态硬盘协议,分为接口协议和传输协议


固态硬盘协议,分为接口协议和传输协议

常见传输协议:传输协议AHCI和NVMe

AHIC传输协议:

AHCI(Serial ATA Advanced Host Controller Interface)串行ATA高级主控接口/高级主机控制器接口,是用来替代上一代IDE的。本质上讲还都是基于机械硬盘的设计,所以已经逐渐被淘汰,目前的主流SSD产品在安装前一定要在BIOS设置中打开AHCI模式才可以将性能发挥到最大,许多用户安装了SSD产品后发现速度只有300MB/s不到400,大部分是因为没有开启AHCI模式。

现在所用的SATA接口与AHCI标准其实是为高延时的机械硬盘而设计的,目前主流SSD依然继续使用它们,早期SSD性能不高时可能还不觉得有什么问题,但是随着SSD的性能逐渐增强,这些标准已经成为限制SSD的一大瓶颈,专为机械硬盘而设计的AHCI标准并不太适合低延时的SSD。

NVMe传输协议:

NVMe (Non-Volatile Memory express),是一种建立在M.2接口上类似AHCI的一种协议,是专门为闪存类存储设计的协议。就是因为大家发现AHCI标准并不适合低延时的SSD产品,所以为了解放SSD的性能,重新制定了新的存储规范标准,使用PCI-E通道,目前的高速SSD产品都必须支持NVMe协议才行,而速度普遍都在2000MB/s以上,性能出色的可以轻松超过3000MB/s。

NVMe其实与AHCI一样都是逻辑设备接口标准。不同于AHCI,NVMe是使用PCI-E通道的SSD一种规范,NVMe的设计之初就有充分利用到PCI-E SSD的低延时以及并行性,还有当代处理器、平台与应用的并行性。SSD的并行性可以充分被主机的硬件与软件充分利用,相比与现在的AHCI标准,NVMe标准可以带来多方面的性能提升。

NVMe的一大优势就是低延迟。这主要是因为流线型的存储堆栈,NVMe无需读取寄存器就可以发出命令。AHCI的每个命令都需要读取4个不可缓存寄存器,从而导致大约2.5μs的额外延迟。低延时和良好的并行性的优势就是可以让SSD的随机性能得到大幅度提升,在任何队列深度下都能发挥出极佳的速度。

固态硬盘协议,分为接口协议和传输协议

总结:

生活中固态硬盘常涉及到的协议是AHCI和NVMe,它们的具体原理比较复杂,这里依然以车辆在道路上行驶为例进行解释,AHCI协议相当于一个限速30的指示牌,而NVMe相当于一个限速60的指示牌。

固态硬盘协议,分为接口协议和传输协议

AHCI协议可用于SATA总线和PCIe总线。此时虽然PCIe总线代表的路“更宽”,但由于AHCI协议的限制,PCIe总线相较SATA总线的速率提升有限。NVMe协议可用于PCIe总线。“高速”的NVMe协议配合“宽阔”的PCIe总线,数据的传输速率大大增加。

PCIe总线传输数据能力强于SATA总线

NVMe协议传输速度高于AHCI协议

不同的接口都有与之匹配的总线及协议,接口的理论速度可以通过总线类型判断

怎么样才能买到适合自己电脑的固态硬盘呢?

第一步:了解自己电脑主板支持的接口及协议类型

第二步:根据文章总结的表格,查看自己电脑接口支持的接口协议。

第三步:找到满足指标关系的固态硬盘,根据价格及实际需要进行选择。

当然目前最好的肯定是M.2接口配上NVMe传输协议的固态硬盘是最佳的,但是也要综合自身电脑考虑。