NVMe over Fabric将如何改变存储环境?
开篇之前,还是有必要介绍下背景。随着光纤通道技术的广泛采用,存储网络在20世纪90年代末和21世纪初开始流行起来。对于那些不想花费安装专用光纤通道硬件的人来说,几年之后,iSCSI协议提供了一种可靠的基于以太网的替代方案。这两种传输都依赖于使用SCSI作为源(启动器)和存储(目标器)之间通信的存储协议。随着存储行业开始采用闪存作为持久存储介质,我们开始看到了SCSI遇到的性能问题。
这导致了NVMe或非易失性存储器快速发展,NVMe是一种旨在超越SCSI并解决性能问题的新协议。我们来看看NVMe以及它与其他协议的不同之处。在文章中,我们还将探索NVMe如何改变存储网络的格局。
介质技术遇到瓶颈
存储网络技术是基于存储硬件的发展和集中存储的需求不断演进的。我们可以将光纤通道的起源追溯到大型机上的ESCON,这是一种基于光纤的连接协议。另一方面,SCSI是基于服务器内硬盘的物理连接。
SCSI最初是一种并行通信协议——任何熟悉将磁盘安装到服务器中的人都会记得带状电缆。随着SAS的发展,它转变为一个串行接口。与其对应的个人电脑先进主机控制器接口(AHCI)也展成了SATA。或许您可以在当前硬盘驱动器和固态硬盘上找到这两种协议。
光纤通道或以太网给服务器和存储之间提供了物理连接,SCSI仍然充当高级存储通信协议。然而,业界开发的SCSI与HDD一起工作导致响应时间比系统内存和处理器慢几个数量级。因此,虽然我们可能认为SSD硬盘速度很快,但我们发现内部硬盘存在严重的性能问题。大多数SATA驱动器仍然基于SATA 3.0规范,接口限制为6 Gbps和600 MBps的吞吐量。SAS驱动器已开始转向提供12 GBps吞吐量的SAS 3.0,但许多仍使用6 Gbps连接。
然而,对SAS和SATA来说,最主要的问题还是单个设备的并发I / O处理能力。看看硬盘的几何形状,很容易看出处理多个并发I/O请求的能力困难以至于不可能。对性能的提升也是出于偶然性,读/写头或许可以对齐多个请求;或使用一些缓冲,但它不是一个可扩展的选项。SAS和SATA都不是用来处理多个I