接口/总线/驱动
企业级 SSD 接口技术创新
1. PCIe 接口
PCIe 采用差分传输形式,提高抗干扰能力,支持更大规模的数据传输。PCIe高速串行总线作为差分传输,能够通过两根近距离传输线上传输相反、幅值相等的信号,实现对于外界净电场的辐射抵消,同时保证两条信号线在受到干扰时产生同等变化,显著增强干扰抑制能力。PCIe 连接中每条通道包含两对导线,分别用于数据包的发送和接收,并采用全双工传输设计,允许同时发送和接收数据。最小的 PCIe 连接“x1”仅有一个通道四根导线,单方向传输速率为一个时钟周期内传输 1 比特。不同 PCIe 规范所要求的传输速率不同,PCIe x16 单方向传输速度可达到 6.4GB/s。PCIe 的高速传输,能够支持 GB 级网络连接、声卡、应用等多场景要求。
2. SAS 接口
SAS 接口具备更为庞大的协议体系,适应企业级 SSD 差异化应用需求。SAS(Serial Attached SCSI,串连式 SCSI)接口采用电脑集线的技术,用于外围零件的数据传输,包括硬盘、CD-ROM 等,根据连接的不同设备选用相应协议进行数据传输。SAS 接口由三种传输协议组成,一是串行 SCSI 协议 (SSP),用于和 SCSI设备间的数据传输;二是串行 ATA 通道协议 (STP),用于和 SATA 设备间的数据传输;三是 SCSI 管理协议 (SMP),用于维护和管理 SAS 设备。
SAS 技术通过双端口设计、全双工模式、后端存储网络等方式,优化企业级SSD 操作系统效能,增强可用性、扩展性和兼容性。SAS 双端口功能是应用于企业级 SSD 的关键设计。SAS 接口的信号区和电源区之间没有缺口,并在此基础上增加了一组传输信号以实现双端口功能,为企业级的多路径应用提供支持。而SATA 接口中间存在缺口,因此可以正常连入SAS 背板连接器,确保 SAS 能兼容 SATA。
SAS 接口双端口功能和全双工工作模式,使其在收发信号时,拥有两对差分信号对。通过 SAS 网络可以将一定量的存储盘进行互连,形成后端存储网络,涵盖内部连接线缆和外部连接线缆两大类。常用于内部的硬盘连接线缆,同时带有电源和信号线,可以直接连接硬盘;为节约空间,使用内部 Mini SAS线缆连接器,其信号定义如表 4 和接口定义图 11 所示,最多可以支持 4 个 PHY的互连,内部 Mini-SAS HD 接口体积则更小。SAS 外部互连线缆同样可以采用mini-SAS 和 mini-SAS HD 进行连接,并使用支持 4PHY SAS 互连的 QSFP 连接器。
3. U.2 接口
U.2 接口具备兼容性、高速率、低延迟、低功耗优势,适用于企业级 SSD。U.2接口又被称为 SFF-8639(SSD Form Factor 8639),U.2 SSD 是一种高性能数据存储设备,旨在使用 SFF(small form factor,小尺寸)连接器支持 PCIe 接口,同时兼容标准化的 SAS 和 SATA 旋转磁盘和 SSD。
U.2 接口能够兼容 SATA、SAS、PCIe。U.2 接口支持 1 个 SATA 接口、2 个 SAS 接口或 PCIe 企业级 SSD 硬盘中最多 4 个并行通道的 I/O,理论传输速度高达 32Gbps,而 SATA 只有 6Gbps,比SATA 速度提高 5 倍以上。在双控制器存储阵列中,每对双通道 PCIe 链路相互独立运行,允许一个控制器出现故障,SFF-8639 连接器上已定义信号能够显示驱动器是在单端口还是双端口模式下工作。U.2 接口比 M.2 接口尺寸更大,因此最大存储容量也相应增多,同时 U.2 散热能力更强,耐受更高的工作温度,在高密度写入操作时,U.2 性能不会因为驱动器升温而降低性能。
企业级 SSD 传输协议创新
1. NVMe
NVMe 简化了协议复杂性,显著提高了 SSD 的读写性能。NVMe 充分利用PCIe 通道的低延时以及并行性,通过降低协议交互时延,增加协议并发能力,并且精简操作系统协议堆栈。NVMe 协议支持大规格 IO 队列和大并发,最大支持64K 个 IO 队列,每个 IO 队列支持 64K 个 IO 并发。通过 IO 队列和 CPU 核对应,避免多个 CPU 核竞争 IO 队列,IO 流程天生免锁设计,实现更低的时延,降低 CPU 资源消耗,充分发挥 NVMe SSD 的性能。
和传统 SCSI 体系比较,NVMe 协议更为简单高效。从协议路径上看,在主机侧,NVMe 驱动协议栈去掉了传统 IO 系统中的 IO 调度层和复杂的 SCSI 协议层,换成轻量级的 NVMe 协议。从硬件传输路径上看,在存储侧,无需 SAS 控制器和 SAS Expander,SSD 通过 PCIe 总线连接,实现更低的时延,更大的带宽,更少的 CPU 资源消耗。
2. NVMe-oF
NVMe-oF 可以实现大规模计算机集群与其他多个设备互联,把 NVMe 协议在单系统中的高性能、低延迟和低协议负担优势应用于整个数据中心。NVMe-oF(NVMe over Fabrics)协议使用基于消息的模型在主机和目标存储设备之间进行通信,能够将 NVMe 映射到以太网、光纤通道、RoCE 或 InfiniBand 等多个 Fabrics传输协议中。NVMe-oF 使用 Fabrics(如 RDMA 或光纤通道)代替 PCIe 在互联架构上进行传输映射,使主机能够访问节点外的 NVMe SSD 资源。使用 Fabrics的前提是端点之间发送和接收消息不需要共享内存。NVMe-oF 中的目标被称为命名空间,NVMe-oF 允许主机跨越更远的距离与存储目标通信,同时保持超低的微秒级延时,与 SCSI 和 SATA 协议相比,将访问时间缩短了几个数量级。
NVMe-oF 与 NVMe 一样,能够支持 65000 个队列,每个队列深度最多为 65000个命令,使得 NVMe-oF 能够在主机和驱动器之间实现高度并行的架构,保证每个设备使用单独队列。
NVMe-oF 扩展了 NVMe 规范在 PCIe 总线上的实现,把 NVMe 映射到多种物理网络传输通道,实现高性能的存储设备网络共享访问。NVMe-oF 通过把NVMe 映射到多个物理网络传输通道,在各种物理传输层上实现高效 NVMe 命令,达到降低存储网络协议栈处理开销并实现高并发、低时延的目的。NVMe-oF 和 NVMe 之间的主要区别是传输命令的机制,基于网络远程访问 NVMe 设备,实现 NVMe 设备高效共享访问,借助 NVMe-oF,可以实现 RACK 级别的 NVMe。
使用 NVMe-oF,能够在性能、扩展能力、易用性等方面形成优势。NVMe-oF 网络延迟低,能够处理并行请求,提高和优化性能,包括存储阵列性能等,减少服务器端 OS 存储堆栈的长度,实现高速率和高可扩展性;支持 NVMe 主机启动器与存储系统之间同时存在多条路径,能够一次从许多主机和存储子系统发送和接收命令。
将 NVMe-oF 与 RDMA、FC 或 TCP 一起使用,可以形成完整的端到端NVMe 存储解决方案,在显著提升性能的同时,通过 NVMe 实现极低时延。NVMe-oF over RDMA(NVMe/RDMA)使用 TCP 传输协议在 IP 网络上传递数据,典型的 RDMA 应用包括虚拟接口架构(Virtual Interface Architecture)、RDMA over Converged Ethernet(RoCE)、InfiniBand、omnipath 和 iWARP,其中使用最多的是 RoCE、InfiniBand 和 iWARP;NVMe over Fibre Channel(FC-NVMe)使用 16GB FC 或 32GB FC 的 HBA 和 SAN 交换机,可以将 NVMe 协议封在 FC 架构中,是 SAN 基础设施的最佳解决方案;NVMe over TCP/IP(NVMe/TCP)使用 NVMe-oF 和 TCP 协议在以太网传输数据,与 RDMA 和 FC 相比,是一种更便宜、更灵活的替代方案。
3. ZNS
Zoned Namespaces(ZNS)是从 Open Channel(开放通道)SSD 基础上发展而来的。这个概念在 NVMe 标准工作组技术提案,这个方案把 Namespace 的逻辑地址空间切分成多个 zone,因此它继承了 Open Channel SSD I/O 分离、可预测性延迟等优势。并且 ZNS 协议简化了软件架构,用户可以定制开发,所以应用范围更加广泛。
ZNS 允许根据数据的使用和访问频率对数据进行分组,并按顺序存储在 SSD的独立区域中。无需移动和重新排列数据,ZNS SSD 可以显著减少写入操作的数量,降低驱动器的写入放大因子 (WAF)——与主机系统最初指示的写入相比,驱动器执行的实际写入量。WAF 越接近 1,SSD 的效率就越高,持续的时间就越长。
ZNS SSD 可以实现 WAF (Write amplification) 接近1,相比于一般服务器SSD 的 WAF 值在 3 到 4 之间,这是一个重大进展。这将使驱动器的使用寿命是传统的非易失性内存主机控制器接口规范 (NVMe) SSD 的四倍,使其成为服务器基础架构更环保、更可持续的解决方案。ZNS 还允许用户利用 SSD 的全部容量,消除对预留空间的需求,而预留空间要求为背景任务保留一些存储空间。这些改进使企业客户能够以更高的效率处理大数据和人工智能应用程序。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !