构建面向未来的数据基础设施

产品
公司
技术支持

2017 年 10 月 17 日

利用 NVMe 充分释放闪存的潜能

作者:Jeroen Dorgelo,Marvell 存储事业部战略总监

当今的闪存驱动器存在一个鲜为人知的小秘密,那就是其中很多闪存仍在使用老式接口。虽然 SATA 和 SAS 协议自最初推出之时已历经数代的发展,但它们仍然是基于数十年前针对传统磁碟式硬盘的设计理念。这些传统协议成为了限制当今 SSD 发挥潜能的瓶颈。

NVMe 是专为 SSD 设计的最新存储接口标准, 采用了大规模并行传输架构,可让当今的 SSD 发挥出全部性能潜力。由于价格和兼容性的影响,NVMe 经过了一些时间才在市场上有所起色,现在终于获得了成功。

传统串行连接技术

SATA 仍然是当前最常见的存储接口。无论是硬盘驱动器,还是日益盛行的闪存存储设备,大部分都是采用 SATA 接口来工作。作为最新一代的 SATA 协议,SATA III 的带宽限制为 600 MB/s。虽然这个带宽足已满足日常消费类应用的需求,但对于企业服务器而言,还是远远不够。即便是在 I/O 密集型的消费类应用场景下(例如视频编辑)也可能受限于这个带宽。

SATA 标准最初在 2000 年作为旧式 PATA 并行接口标准的串行替代标准而发布。SATA 采用高级主机控制接口 (AHCI) 技术,单个命令队列的深度为 32 个命令。此命令队列架构非常适合传统的磁碟式硬盘存储,但用于闪存时,却存在较多限制。

如果说 SATA 是消费类驱动器的标准存储接口,那么 SAS 则在企业应用中更为常见。SAS 最初在 2004 年发布,也是传统并行标准 SCSI 的串行替代标准。SAS 存储是专为企业应用而设计,其装配成本通常比 SATA 更加昂贵,但用于数据中心时,SAS 比 SATA 具备更大的优势,比如电缆长度更长、多路径 IO 和更好的错误报告功能。SAS 的带宽限制也更高,为 1200MB/s。

尽管 SAS 支持的队列深度为 254 个命令,大大多于 SATA 的 32 个,但和 SATA 相同,SAS 依然只支持单个命令队列。虽然 SAS 具有更深的命令队列和更高的带宽限制,总体性能优于 SATA,但也远非理想的闪存接口。

NVMe – 大规模并行计算

NVMe 于 2011 年推出,从设计之初就充分考虑到闪存存储的需求。NVMe 由多家存储公司联合开发,其主要目标是克服 SATA 和 SAS 对闪存性能造成的瓶颈。

如前所述,SATA 受限于 600MB/s 而 SAS 受限于 1200MB/s 带宽,与之相反,NVMe 是在 PCIe 总线上运行,其带宽理论上只受限于 PCIe 总线速度。当前的 PCIe 标准每条通道提供 1GB/s 甚至更高带宽,而 PCIe 连接一般都会提供多条通道,其总线速度几乎从未对基于 NVMe 的 SSD 构成阻碍。

NVMe 为实现大规模并行计算而设计,提供多达 64,000 个命令队列,每个命令队列的队列深度最高可达 64,000。这种并行计算非常适合闪存存储的随机存取特性,也适合当今计算机中的多内核、多线程处理器。NVMe 的协议经过合理化设计,与 AHCI 相比,它的优化命令集可通过更少的操作完成更多的工作。与 SATA 或 SAS 相比,NVMe 的 IO 操作需要的命令通常更少,从而能够减少延迟。对于企业客户而言,NVMe 还支持很多企业存储功能,例如多路径 IO、可靠的错误报告和管理。

凭借高速度和低延迟的优势,加上处理高 IOPS 的能力,NVMe SSD 成为企业数据中心的一大热点。极度重视低延迟和高 IOP 的企业(例如高频率贸易公司和数据库,以及网络应用托管公司)是最初尝试 NVMe SSD 技术的公司,也是最忠实的支持者。

采用 NVMe 的障碍

虽然 NVMe 具有很高的性能,但从历史上来看,它也被视为一种成本相对较高的技术。高成本影响了它在消费级存储领域的普及。相对来说,当 NVMe 技术刚刚出现的时候,支持它的操作系统并不多,而且其价格高企,对一般消费者来说更加不具吸引力,不管怎样,很多消费者其实并不能完全用到其速度更快的这一优势。

但这一切正在改变。NVMe SSD 的价格正在逐渐降低,在某些情况下,其价格甚至可与 SATA 驱动器相媲美。原因不仅是市场的力量,也得益于新的技术创新,例如无 DRAM 型 NVMe SSD。

鉴于 DRAM 是 SSD 物料清单 (BoM) 成本中的大项,无 DRAM 型 SSD 成本可以降至更低,价格也更有竞争力。随着 NVMe 1.2 发布,其主机存储缓冲机制 (HMB) 的支持使得无 DRAM 型 SSD 能够借用主机系统内存作为 SSD 的 DRAM 缓冲区,从而带来了更出色的性能。无 DRAM 型 SSD 充分利用 HMB 支持,能够达到与基于 DRAM 的 SSD 相似的性能,同时节省成本、空间和能耗。

NVMe SSD 还比以往的协议更加节能。NVMe 协议本身已经非常高效,但它运行的 PCIe 链路可能会消耗大量的待机功率。新型 NVMe SSD 支持高效、自动的睡眠状态传输,让设备可以达到甚至低于 SATA SSD 的能耗水平。

所有这些都意味着,NVMe 比以往更加实用,可以用于各种各样的用例,包括大数据中心(由于 SSD 成本更低可以节省资本支出,又因为功耗更低可以节省营业费用),以及功率敏感的移动/便携应用设备,例如笔记本电脑、平板电脑和智能手机,这些现在都可以考虑使用 NVMe 技术。

满足速度需求

对于速度的追求在企业应用中是不争的趋势,但在消费类应用中,是不是真的需要 NVMe 提供的那种速度呢? 对于曾经安装过额外内存、购买过更大硬盘驱动器(或 SSD)、订购过更快互联网连接的任何用户而言,答案不言而喻。

如今的消费类用例尚未逼近 SATA 驱动器的极限,最有可能的一部分原因是 SATA 仍是消费类存储最常用的接口。当前的视频录制和编辑、游戏和文件服务器应用程序,则已经开始迫近消费类 SSD 的极限性能,而今后的用例则必将推动其继续发展。随着 NVMe 的价位现在逐渐接近 SATA,我们必须构建能够经受未来考验的存储产品。

评论已关闭。