SSD存储中的规格、接口和协议

SSD Form Factor-外形规格

决定了硬盘的尺寸规格形状。

SATA

长宽:宽30mm,长51mm。
厚度:单面颗粒厚度为4.85mm。
线缆:SATA硬盘需要两根线缆,一条用于和主板之间传输数据,另一条需要电源供电。

M.2

长宽:宽度在12、16、22、30mm,长度在16、26、30、38、42、60、80、110mm,比如最常见的"M.2 2280"就表示宽22mm长80mm规格的盘。
厚度:单面颗粒厚度在2.75mm,双面颗粒厚度在3.85mm。

Interface-接口

SATA (Serial Advanced Technology Attachment)

SATA interface只能用SATA SSD。

PCIe (Peripheral Component Interconnect Express)

PCIe通道

PCIe可以有多条通道(lane)并行传输数据,每个PCIe通道包含两条铜线,一条用于向CPU发送数据,另一条用于接受数据,PCIe lane是全双工的所以要注意区分单向和双向带宽。
比如GPU往往需要16通道才能达到最佳性能,最近几代PCIe的显卡可以在至少8个PCIe通道的情况下对渲染程序提供最佳性能。
PCIe有两类通道,CPU PCIe通道直接与CPU相连,而普通的PCH PCIe通道还是需要通过DMI (Direct Media Interface)连接到CPU(需要CPU有专门支持的CPU PCIe通道),由于这个总带宽有限,还会连USB、网卡之类的,所以链路可能会饱和使得性能下降。
https://zhuanlan.zhihu.com/p/584802526

PCIe插槽

主板的PCIe插槽上有x1、x4、x8、x16配置,决定的是PCIe连接器的物理尺寸,插槽的配置数不一定等于通道数,有可能有x16的插槽但是只有8个通道。

PCIe带宽

从PICe 1.0到5.0,每一代带宽都会翻倍。PCIe的接口带宽需要使用每通道带宽乘以通道数,注意每通道带宽是要算有效数据传输效率,而不是数据传输速率。
具体地,PCIe1.0-2.0每传8个bit有效数据需要用10bit(编码方案8b/10b),而PCIe 3.0-5.0是128b/130b,PCIe 6.0-7.0是1b/1b。所以,实际吞吐量=传输速率*编码效率。
https://zhuanlan.zhihu.com/p/646920500

上层软件协议

AHCI、SCSI

以前的协议,关于协议分类可以看:
https://www.zhihu.com/question/592159651/answer/3010648376

NVMe (Non-Volatile Memory Express)

NVMe就是专门为高速PCIe接口上的NAND、闪存等非易失性存储设计的(虽然理论上也可以不用在PCIe接口上),从而突破SATA接口的速度限制。

命令集

NVMe简化了命令集,相比于IDE和SCSI,所需要的CPU指令数减少了一半。

Queue和Queue Depth

最大支持64K-1(65535)个queue,最大支持64000QD。

本文由博客一文多发平台 OpenWrite 发布!

你可能感兴趣的:(后端)