固态硬盘简介。 第 2 部分。界面

固态硬盘简介。 第 2 部分。界面

В 最后部分 循环《SSD入门》我们讲了磁盘出现的历史。 第二部分将介绍与驱动器交互的接口。

处理器和外围设备之间的通信根据称为接口的预定义约定进行。 这些协议规范了交互的物理和软件级别。

接口——系统元素之间交互的一组手段、方法和规则。

接口的物理实现会影响以下参数:

  • 通信通道的吞吐量;
  • 同时连接的设备的最大数量;
  • 发生的错误数。

磁盘接口建立在 输入/输出端口,这与内存 I/O 相反,不占用处理器地址空间中的空间。

并行端口和串行端口

根据数据交换的方式,I/O端口分为两种类型:

  • 平行;
  • 持续的。

顾名思义,并口一次发送一个机器字,由若干位组成。 并行端口是最简单的数据交换方式,因为它不需要复杂的电路解决方案。 在最简单的情况下,机器字的每一位都在自己的信号线上发送,并使用两条服务信号线进行反馈: 数据准备就绪 и 接受数据.

固态硬盘简介。 第 2 部分。界面
乍一看,并行端口的扩展性很好:更多的信号线 - 一次传输更多的位,因此吞吐量更高。 但是,由于信号线数量的增加,它们之间会产生干扰,导致传输的信息失真。

串口与并口相反。 数据一次发送一位,这减少了信号线的总数,但使 I/O 控制器复杂化。 发送器控制器一次接收机器字并且必须一次发送一位,而接收器控制器又必须接收这些位并以相同的顺序存储它们。

固态硬盘简介。 第 2 部分。界面
少量的信号线可以让你在不受干扰的情况下增加信息传输的频率。

SCSI

固态硬盘简介。 第 2 部分。界面
小型计算机系统接口 (SCSI) 出现于 1978 年,最初设计用于将各种配置文件的设备组合到一个系统中。 SCSI-1 规范规定最多可连接 8 个设备(连同控制器),例如:

  • 扫描仪;
  • 磁带机(流媒体);
  • 光驱;
  • 磁盘驱动器和其他设备。

SCSI 最初被命名为 Shugart Associates System Interface (SASI),但标准委员会不同意以该公司的名字命名,经过一天的头脑风暴,小型计算机系统接口 (SCSI) 这个名称诞生了。 SCSI 之父 Larry Boucher 打算将首字母缩写词发音为“性感”,但是 达尔艾伦 阅读“sсuzzy”(“告诉”)。 随后,“tell”的发音被牢牢地固定在这个标准中。

在 SCSI 术语中,连接的设备分为两种类型:

  • 发起人;
  • 目标设备。

发起者向目标设备发送命令,然后目标设备向发起者发送响应。 启动器和目标连接到公共 SCSI 总线,在 SCSI-1 标准中,该总线的带宽为 5 MB/s。

使用的“公共总线”拓扑有许多限制:

  • 在总线的末端,需要特殊的设备——终结器;
  • 总线带宽在所有设备之间共享;
  • 同时连接的设备的最大数量是有限的。

固态硬盘简介。 第 2 部分。界面

总线上的设备由一个称为 SCSI 目标 ID. 系统中的每个 SCSI 单元由至少一个逻辑设备表示,该逻辑设备由物理设备中的唯一编号寻址。 逻辑单元号 (伦)。

固态硬盘简介。 第 2 部分。界面
SCSI 中的命令以以下形式发送 命令描述块 (Command Descriptor Block,CDB),由操作码和命令参数组成。 该标准描述了 200 多个命令,分为四类:

  • 强制性 — 必须由设备支持;
  • 可选 - 可以实施;
  • 供应商特定 - 由特定制造商使用;
  • 过时的 - 过时的命令。

在众多命令中,只有三个命令是设备必须执行的:

  • 测试装置就绪 ——检查设备的准备情况;
  • 请求感知 — 请求上一条命令的错误代码;
  • 查询 ——要求设备的主要特性。

目标设备接收并处理命令后,向发起方发送一个状态码,描述执行的结果。

SCSI(SCSI-2 和 Ultra SCSI 规范)的进一步改进扩展了使用的命令列表,并将连接设备的数量增加到 16 个,总线上的数据交换速率高达 640 MB/s。 由于 SCSI 是一个并行接口,增加数据交换的频率与最大电缆长度的减少相关,并导致使用不便。

从 Ultra-3 SCSI 标准开始,出现了对“热插拔”的支持——在电源打开时连接设备。

第一个已知的 SCSI SSD 是 M-Systems FFD-350,于 1995 年发布。 该光盘成本高,未被广泛使用。

目前,并行 SCSI 不是流行的磁盘接口,但命令集仍在 USB 和 SAS 接口中积极使用。

亚太旅游协会/亚太旅游协会

固态硬盘简介。 第 2 部分。界面
接口 ATA (高级技术附件),也称为 PATA (Parallel ATA)由西部数据于1986年开发。 IDE 标准的营销名称(Eng. Integrated Drive Electronics - “驱动器内置电子设备”)强调了一项重要的创新:驱动控制器集成到驱动器中,而不是在单独的扩展板上。

将控制器置于驱动器内的决定立即解决了几个问题。 首先,驱动器到控制器的距离缩短了,这对驱动器的性能产生了积极影响。 其次,内置控制器仅针对特定类型的驱动器“锐化”,因此更便宜。

固态硬盘简介。 第 2 部分。界面
ATA和SCSI一样,采用的是并行I/O方式,这体现在所使用的电缆上。 使用 IDE 接口连接驱动器需要 40 芯电缆,也称为扁平电缆。 最近的规范使用 80 线短截线,其中一半以上是接地环路,以减少高频干扰。

ATA 电缆上有两到四个连接器,其中一个连接到主板,其余连接到驱动器。 在一个回路中连接两个设备时,其中一个必须配置为 总音量, 第二个作为 奴隶. 第三个设备只能以只读模式连接。

固态硬盘简介。 第 2 部分。界面
跳线的位置决定了特定设备的作用。 与设备相关的术语主站和从站并不完全正确,因为与控制器相关,所有连接的设备都是从站。

ATA-3 的一项特殊创新是外观 自我监控, 分析和报告技术 (SMART). 五家公司(IBM、Seagate、Quantum、Conner 和 Western Digital)已联手标准化硬盘健康评估技术。

自 1998 年发布的标准第 33.3 版以来,就一直支持固态硬盘。 此版本的标准提供高达 XNUMX MB/s 的数据传输速率。

该标准对ATA线缆提出了严格的要求:

  • 羽流必须是扁平的;
  • 最大火车长度 18 英寸(45.7 厘米)。

又短又宽的火车很不方便,而且会影响冷却。 随着标准的每个后续版本,提高传输频率变得越来越困难,ATA-7 从根本上解决了这个问题:并行接口被串行接口取代。 之后,ATA 获得了 Parallel 一词并被称为 PATA,而该标准的第七版获得了不同的名称 - Serial ATA。 SATA 版本编号从一开始。

的SATA

固态硬盘简介。 第 2 部分。界面
串行 ATA (SATA) 标准于 7 年 2003 月 XNUMX 日推出,通过以下更改解决了其前身存在的问题:

  • 并口换成串口;
  • 宽 80 线电缆替换为 7 线;
  • “公共总线”拓扑结构已被“点对点”连接所取代。

尽管 SATA 1.0(SATA/150,150 MB/s)比 ATA-6(UltraDMA/130,130 MB/s)略快,但向串行通信的转变为速度“奠定了基础”。

ATA 中用于数据传输的 1.0 条信号线被两对双绞线取代:一根用于传输,另一根用于接收。 SATA 连接器的设计更能抵抗多次重新连接,SATA XNUMX 规范使热插拔成为可能。

驱动器上的某些引脚比其他所有引脚都短。 这样做是为了支持“热插拔”(Hot Swap)。 在替换过程中,设备以预定顺序“丢失”和“找到”线路。

一年多之后,即 2004 年 3 月,SATA 规范的第二版发布。 除了加速高达 2.0 Gb/s 之外,SATA XNUMX 还引入了技术 本机命令队列 (NCQ)。 支持 NCQ 的设备能够独立组织传入命令的执行顺序,以实现最佳性能。

固态硬盘简介。 第 2 部分。界面
接下来三年,SATA 工作组致力于改进现有规范,2.6 版引入了紧凑型 Slimline 和微型 SATA (uSATA) 连接器。 这些连接器是原始 SATA 连接器的较小版本,专为笔记本电脑中的光驱和小型驱动器而设计。

虽然第二代 SATA 为 HDD 提供了足够的带宽,但 SSD 需要更多带宽。 2009 年 6 月,第三版 SATA 规范发布,带宽增加到 XNUMX Gb/s。

固态硬盘简介。 第 2 部分。界面
SATA 3.1 版本中特别关注固态驱动器。 Mini-SATA (mSATA) 连接器已经出现,旨在连接笔记本电脑中的固态驱动器。 与 Slimline 和 uSATA 不同,新连接器看起来像 PCIe Mini,尽管它与 PCIe 不兼容。 除了新的连接器之外,SATA 3.1 还拥有将 TRIM 命令与读写命令排队的能力。

TRIM 命令通知 SSD 没有携带有效载荷的数据块。 在 SATA 3.1 之前,此命令会刷新缓存并暂停 I/O 操作,然后是 TRIM 命令。 这种方法在删除操作期间降低了磁盘性能。

SATA 规范没有跟上 SSD 访问速度的快速增长,导致 2013 年在 SATA 3.2 标准中做出了妥协,称为 SATA Express。 开发人员没有再次将 SATA 的带宽加倍,而是使用了广泛使用的 PCIe 总线,其速度超过 6 Gb/s。 支持 SATA Express 的驱动器拥有自己的外形规格,称为 M.2。

SAS

固态硬盘简介。 第 2 部分。界面
与ATA“竞争”的SCSI标准也没有停滞不前,在Serial ATA出现仅一年后的2004年,又重生为串行接口。 新界面的名称是 Serial Attached SCSI(SAS) (SAS)。

尽管 SAS 继承了 SCSI 命令集,但变化很大:

  • 串行接口;
  • 带电源的29线电缆;
  • 点对点连接

SCSI 术语也得到了继承。 控制器仍然称为发起者,连接的设备称为目标。 所有目标设备和启动器组成一个 SAS 域。 在 SAS 中,连接带宽不取决于域中的设备数量,因为每个设备都使用自己的专用通道。

一个SAS域中同时连接的设备的最大数量,根据规范,超过16个,并且使用标识符代替SCSI ID来寻址 全球名称 (WWN)。

WWN 是一个 16 字节长的唯一标识符,类似于 SAS 设备的 MAC 地址。

固态硬盘简介。 第 2 部分。界面
尽管 SAS 和 SATA 连接器之间存在相似之处,但这些标准并不完全兼容。 但是,SATA 驱动器可以连接到 SAS 连接器,但反之则不行。 使用 SATA 隧道协议 (STP) 确保 SATA 驱动器和 SAS 域之间的兼容性。

SAS-1 标准的第一个版本的带宽为 3 Gb/s,而最现代的 SAS-4 将这个数字提高了 7 倍:22,5 Gb/s。

PCIe

固态硬盘简介。 第 2 部分。界面
Peripheral Component Interconnect Express(PCI Express,PCIe)是一种用于数据传输的串行接口,出现于2002年。 开发由英特尔发起,随后转移到一个特殊的组织——PCI Special Interest Group。

串行 PCIe 接口也不例外,成为并行 PCI 的逻辑延续,旨在连接扩展卡。

PCI Express 与 SATA 和 SAS 有很大不同。 PCIe 接口具有可变数量的通道。 行数等于 1 的幂,范围从 16 到 XNUMX。

PCIe中的术语“通道”并不是指特定的信号通道,而是指由以下信号通道组成的单独的全双工通信链路:

  • 接收+和接收-;
  • 传输+和传输-;
  • 四根地线。

PCIe 通道的数量直接影响连接的最大带宽。 当前的 PCI Express 4.0 标准允许您在单条线路上实现 1.9 GB / s,使用 31.5 条线路时可以达到 16 GB / s。

固态硬盘简介。 第 2 部分。界面
固态硬盘的“胃口”增长得非常快。 SATA 和 SAS 都无法增加带宽以跟上 SSD 的步伐,这导致了 PCIe 连接的 SSD 的推出。

虽然 PCIe 附加卡是用螺丝固定的,但 PCIe 是可热插拔的。 短针 PRSNT(英文 present - present)确保卡完全安装在插槽中。

通过 PCIe 连接的固态驱动器由单独的标准监管 非易失性存储器主机控制器接口规范 并体现在各种形式因素中,但我们将在下一部分中讨论它们。

远程驱动器

创建大型数据仓库时,需要允许您连接位于服务器外部的驱动器的协议。 该领域的第一个解决方案是 互联网 SCSI (iSCSI),由 IBM 和 Cisco 于 1998 年开发。

iSCSI 协议背后的想法很简单:SCSI 命令被“包装”到 TCP/IP 数据包中并发送到网络。 尽管是远程连接,但它会给客户一种驱动器已在本地连接的错觉。 基于 iSCSI 的存储区域网络 (SAN) 可以构建在现有网络基础设施上。 iSCSI 的使用显着降低了组织 SAN 的成本。

iSCSI 有一个“高级”选项 - 光纤通道协议 (FCP)。 使用 FCP 的 SAN 建立在专用的光纤通信线路上。 这种方式需要额外的光网络设备,但稳定且吞吐量高。

有许多协议可用于通过计算机网络发送 SCSI 命令。 然而,只有一种标准可以解决相反的问题并允许您通过 SCSI 总线发送 IP 数据包 - SCSI 上的 IP.

大多数 SAN 协议使用 SCSI 命令集来管理驱动器,但也有例外,例如简单的 以太网上的 ATA (范围)。 AoE 协议在以太网数据包中发送 ATA 命令,但驱动器在系统中显示为 SCSI。

随着 NVM Express 驱动器的出现,iSCSI 和 FCP 协议不再满足 SSD 快速增长的需求。 出现了两种解决方案:

  • 移除服务器外部的 PCI Express 总线;
  • 创建 NVMe over Fabrics 协议。

移除 PCIe 总线会创建复杂的交换硬件,但不会更改协议。

NVMe over Fabrics 协议已成为 iSCSI 和 FCP 的良好替代方案。 NVMe-oF 使用光纤链路和 NVM Express 命令集。

DDR-T

固态硬盘简介。 第 2 部分。界面
iSCSI 和 NVMe-oF 标准解决了将远程驱动器连接为本地驱动器的问题,而英特尔则走另一条路,让本地驱动器尽可能靠近处理器。 选择落在连接 RAM 的 DIMM 插槽上。 最大 DDR4 带宽为 25 GB/s,比 PCIe 总线快得多。 这就是英特尔® 傲腾™ DC 持久内存固态盘的诞生方式。

发明了一种将驱动器连接到 DIMM 插槽的协议 DDR-T, 与 DDR4 物理和电气兼容,但需要一个特殊的控制器来识别内存条和驱动器之间的区别。 访问驱动器的速度低于访问 RAM,但高于访问 NVMe。

DDR-T 仅适用于英特尔® Cascade Lake 一代处理器或更高版本。

结论

几乎所有的接口都经历了从串行到并行数据传输的漫长过程。 SSD 速度飞速增长,昨天 SSD 还让人好奇,而今天 NVMe 不再令人感到意外。

在我们的实验室 选择实验室 您可以自己测试 SSD 和 NVMe 驱动器。

只有注册用户才能参与调查。 登录拜托

NVMe 驱动器会在不久的将来取代传统 SSD 吗?

  • 55.5%是100

  • 44.4%80号

180 位用户投票。 28 名用户弃权。

来源: habr.com

添加评论