随着存储世界转向闪存,闪存转向NVMe over Fabrics,存储市场正在发生戏剧性的变化。 这个变化来自NVMe over Fabrics,它来自NVMe,它来自闪存。 Flash一直在占据越来越多的存储市场。 IDC报道,2017年第二季度,全闪存阵列(AFA)营业额同比增长75%,而整体外部企业存储阵列市场略有下降,AFA无疑是未来整个存储市场最大的增长点。 在过去,这些闪存阵列使用的几乎全部是SAS和SATA固态硬盘(SSD),长期以来闪存和SSD一直很快,但SATA和SAS接口带来了带宽瓶颈和额外的延迟。
SATA 和 SAS 控制器成为瓶颈,导致更高的延迟
SSD厂商开发了非易失性存储器Express或NVMe标准以及运行在PCIe接口上的命令。 NVMe允许更高的吞吐量,每个SSD今天可以达到20Gb / s(截至发稿这个数据又有提高,并且在不停的提升)和更低的延迟。 它消除了SAS / SATA控制器,并需要PCIe连接,通常每个SSD 4个PCIe Gen 3通道。 部署了本地闪存的许多服务器现在可以享受NVMe SSD的更高性能。
如何共享快速 SSD 的优势
但是这种方式部署的本地闪存是“被困在服务器中”,因为每个服务器只能使用自己的闪存。 不同的服务器在不同的时间需要不同数量的闪存,但是使用本地模型,必须在每个服务器中过度配置足够的闪存,以支持可能需要的最大值,即使您未来需要额外的闪存只需很短时间。 过去20年的集中存储和网络存储使用iSCSI,光纤通道协议,iSER(iSCSI over RDMA)或诸如SMB和NFS之类的NAS协议。
但是这些都使用SCSI命令,并没有针对闪存性能进行优化,它们虽然可以提供良好的性能,但不是最佳性能。 因此,包括Mellanox在内的NVMe社区创建了NVMe over Fabrics(NVMe-oF),以允许在网络上快速,高效地共享NVMe闪存。 它允许精简和高效的NVMe命令通过RDMA网络与诸如RoCE和InfiniBand之类的协议进行操作。 它同时保持NVMe的效率和低延迟,同时允许共享,远程访问,复制,故障切换等。
NVMe over Fabrics可以释放闪存但需要付出代价
一旦NVMe-oF将闪存从服务器中释放出来,需要在JBPOF(Just-A-Bunch-of-Flash)上增加额外的CPU来运行NVMe命令,如果它是一个运行存储软件的存储控制器,CPU加上更多的CPU电源, 则需要DRAM来存储缓冲区和队列,同时需要一个PCIe交换机才能连接到SSD, 并且需要能够以足够高的速度处理RDMA的rNIC,以支持所有快速的NVMe SSD。 换句话说,您必须构建完整的服务器设计,增强内部和外部连接,以支持更快的存储空间。 对于存储控制器来说,这并不罕见,但是对于JBOF而言,JBOF更为复杂和昂贵,它不像SAS或者SATA HBA和扩展器那样易于使用它们(SAS和 SATA HBA不涉及CPU,DRAM,PCIe交换机或rNIC)。
此外,由于NVMe SSD和NVMe over Fabrics协议本质上具有低延迟,因此系统中的其他软件,网络,HBA,高速缓存或DRAM访问等方面的延迟变得更加突出,减少了这些领域的延迟也尤为关键。
新的SoC是驱动NVMe-oF的最有效方式
幸运的是,有一种新的方式来构建NVMe-oF系统:除了SSD和DRAM DIMM之外,提供所需的一个单芯片; 它是Mellanox BlueField。 这包括:
?ConnectX-5高速NIC(高达2x100Gb / s端口,以太网或InfiniBand),
?多达16个ARM A72(64位)CPU内核,
?内置PCIe交换机(Gen3 / Gen4的32个通道),
?DRAM控制器和相干缓存
?快速网络将其全部连接起来
BlueField(逻辑设计图)包括一个芯片上的网络,CPU内核,缓存,DRAM控制器和PCIe 交换机。
嵌入式ConnectX-5不仅提供了200Gb / s的网络带宽,而且还提供了ConnectX-5的所有功能,包括RDMA和NVMe协议卸载。 这意味着NVMe数据流量可以直接从SSD到NIC(或NIC到SSD),而不会中断CPU。 这也意味着覆盖网络封装(如VXLAN),虚拟交换机功能(如OVS),纠删码(Erasure Coding),T10数据完整性因素签名和无状态TCP卸载都可以由NIC处理而不涉及CPU资源的介入。 CPU资源可以完全用于运行存储软件,安全性,加密或其他功能。
快速网状内部结构使得能够根据需要在PCIe,CPU,缓存和网络元件之间实现近乎瞬时的数据移动,并且比经典服务器设计更有效率,其中每个I/O在SSD和NIC之间通信的必须多次通过PCIe交换机和DRAM。 通过这种设计,可以在片内缓存中完全处理NVMe-oF数据流量队列和缓冲区,并且不需要外部DRAM的介入,只有在CPU内核上运行的其他存储功能应用于外部DRAM时才需要数据。 否则,DRAM可用于控制平面流量,报告和管理。 PCIe交换机支持Gen3或Gen4最多32个通道,因此可以向/从SSD传输超过200Gb / s的数据,并且可以为2018年即将支持的PCIe Gen4的SSD准备好。(与PCIe Gen3相比,PCIe Gen4每通道带宽增加2倍)
BlueField是第一款SoC,包含所有这些功能和性能,使其非常适合用于控制闪存阵列,特别是NVMe-oF阵列和JBOF。
BlueField是最集成的NVMe-oF解决方案
我们已经看到,在闪存存储世界中,性能非常重要。 但设计和控制成本的简单性也很重要。 通过将NVMe-oF服务器的所有组件组合到单个芯片中,BlueField使闪存阵列设计非常简单,降低了成本,包括允许更小的占用空间和更低的功耗。
BlueField与传统控制架构比较
构建基于BlueField的存储解决方案
毫不奇怪,主要的原始设计制造商(ODM)和存储原始设备制造商(OEM)已经在设计基于BlueField SoC的存储解决方案。 据悉Mellanox还正在与关键合作伙伴合作,为网络处理、云计算、安全性、机器学习和其他非存储用例创建更多的BlueField解决方案。 Mellanox已经创建了一个BlueField存储参考平台,可以处理许多NVMe SSD,并使用BlueField在使用NVMe的Fabric上进行服务。 这是完美的开发和参考平台,帮助客户和合作伙伴测试和开发自己的BlueField驱动的存储控制器和JBOF。
BlueField参考系统帮助供应商和合作伙伴快速开发基于BlueField的存储系统
BlueField是最佳Flash阵列控制器
所有组件的优化性能和紧密集成使BlueField成为完美的闪存阵列控制器,特别适用于NVMe-oF存储阵列和JBOF。 使用BlueField的设计将以更低的成本提供更多的闪存性能,并且使用比标准的基于服务器的设计更少的功耗。
本文作者:张辉 Dostor特约技术顾问