NVMe标准推广速度之快出乎意料,如今U.2接口已成为x86服务器标配,作为御用接口(兼容SAS/SATA),如此也就扫除NVMe PCIe SSD盘最后障碍。一句话,SSD盘也实现PCIe连接了,卡和盘的界限消失了。
从卡到盘的演进
通过NVMe协议,SSD盘透过PCIe直连CPU,不似以往还要转换为SAS/SATA,因而开启了一个新时代。
从技术上,在磁盘(HDD)的时代,由于磁盘属于低速设备,因此SAS/SATA协议自身带来的开销可以忽略不计。但在SSD时代,SSD太快了,以至于SAS/SATA协议开销变得没法接受,作为SAS/SATA换代的协议,NVMe协议专为闪存介质设计,可以最大释放SSD的性能,特别是延迟的能力。
相比PCIe闪存卡的形式,以往外置SSD要经过SAS/SATA,延迟高,在性能上存在差距,因此在需要数据加速的应用场景,如数据库的OLTP应用,PCIe闪存卡就成为了不二选择。Fusion IO首创了PCIe闪存卡产品形态,随后Intel、三星、宝存(Shannon Systems)、Memblaze等纷纷涉足PCIe闪存卡市场,根据设计方式不同,PCIe闪存卡可以区分Host-Based、Device-Based两种类型,其中差别在于嵌入式处理器的使用,其中Host-Base依赖主机处理器性能,自身不配处理器,在成本、功耗上表现优异。Device-Based则摆脱了闪存颗粒对于主机处理器资源的依赖,适用性更好。
宝存科技CEO阳学仕
“从卡到盘,只是封装形式的不同,其本质是一样的。” 宝存科技CEO阳学仕强调说。
“以往主机没有PCIe外置接口,要使用就只有基于主板上的接口,这就有了PCIe闪存卡这种形态。如今,U.2接口让PCIe外置,NVMe外置SSD盘是水到渠成的事情。”他说。
适配应用层是关键
在盘的世界中, Intel、三星、东芝、希捷、西部数据、HGST等是真正的“大咔”。从卡的世界来到盘的市场,宝存、Memblaze这样品牌如何才能够实现“猛龙过江”呢?
“我们和这些大品牌的竞争始终存在,并非始自闪存卡‘红利’的消失。”阳学仕说。
阳学仕表示:需要看到,Intel、三星这样的厂商都有PCIe闪存卡的产品,在竞争中,宝存之所以在市场表现优异,是有其深刻原因的。
“本质上说,闪存存储介质并不是一个可靠的介质,存在着写入寿命受限等问题,需要通过校验、RAID和磨损均衡设计等一系列措施,让SSD设备能够满足应用的需要。这需要上层的应用软件,如数据库等和SSD硬件管理紧密配合,如此才能够最大释放闪存的优势。” 阳学仕说。
与国际厂商相比,国内厂商在本地化服务和响应速度上占有明显优势,深入应用,密切配合这是国内品牌取成功的重要原因。
“这些优势,以及技术上的沉淀积累,并不会因为硬件形态的改变而消失。”阳学仕说。
软件定义,殊途同归
在闪存卡加速卡世界中,Host-Based、Device-Based之争曾是一道亮丽的风景。如今,在NVMe的时代,由于早期的NVMe标准采用Device-Based方式,Host-Based似乎也处于下风。会有很多人认为,Host-Based很难转型到Device-Based,即使转型,经验积累不够也使其难以实现超越。
实际上,阳学仕曾是Mavell第一代闪存控制器的技术负责人,对于闪存控制器技术非常熟悉。但在2011年,当他举家归国创办上海宝存信息科技有限公司的时候,他却选择了Host-Based,也就是没有CPU处理器的方案。
谈到其中的原因,阳学仕表示:用户并不关注Host-Based还是Device-Based,用户关注的是如何最大程度发挥闪存的能力,解决实际应用中的性能瓶颈问题。
“我们不说Host-Based和Device-Based,我们说嵌入式设计和软件定义设计。我们认为软件定义的方式更加有利于释放闪存的特性。此外,在可靠性、功耗,以及成本上,软件定义均占有优势。” 阳学仕说。
NVMe标准从1.0,到1.2、1.3始终坚持开放的策略,其中,类似HMB(Host Memory Buffer)、CMB(Controller Memory Buffer)、 open-channel SSD这样技术,NVMe over Fabric等就是要将原本嵌入式控制器承担资源和任务向主机、网络进行迁移。所以未来,嵌入式和软件定义应该是殊途同归。
阳学仕表示:“未来的技术趋势,就是将适合的软件向主机进行迁移。”
DRAM-less的话题
DRAM-less设计,是宝存在产品可靠性上独有的技术优势,确保在极少量控制器缓存的情况下,应对在突发掉电情况下,由于缓存数据没有落盘(没有写入NAND颗粒)所导致的数据丢失。
但是片上缓存的减少是否会影响系统的性能呢?以写放大为例,对于SSD来说是要努力减少的,理论是缓存计算应该非常有效的办法。对此,阳学仕指出,理论上是可以的,但在实际的产品实践中,这个度是非常难以把握的。如果不是从单一产品(如盘)而是从系统应用的角度,系统会有非常多层缓存(buffer)的设计,但主机侧的缓存是最为有效的,这也是为什么宝存坚持采用软件定义设计方式的原因之一。
目前为止,宝存对外提供多种形式的产品方案。从软件定义的Direct-IO PCIe Flash到Hyper-IO NVMe G5,包括SATA3 SSD的产品。宝存始终坚持针对应用软件进行定制化和优化,在性能保持和通用型产品的技术优势。“以原子写技术为例,宝存是少数能够将其产品化的厂商之一。” 阳学仕说。
小结
NVMe时代到来,推动闪存技术应用跨越了一个新的台阶,但这并不意味通用型产品时代的到来。技术的差异始终是存在的。其中,很多差异没有办法用简单的方法分辨出来,特别是可靠性、稳定性需要时间的检验。在应用产品初期,产品之间来不开差距,但是随着时间的累积,SSD坏块的增加,不同的设计方案就会变现出很大的差异。
一句话,技术还在不断进步之中,Host还是Device,嵌入式还是软件定义,远没有到水落石出的时候!
预告:
由DOIT/Dostor联合中国计算机学会存储专委会联合举办的第四届中国闪存峰会,今年6月举行,会议现在已经开放注册(http://cff.dostor.com/index_app.html)。本次峰会将从NAND颗粒制造、闪存控制器、SSD、NVMe、全闪存阵列、分布式闪存存储、软件定义存储、超融合、数据库、大数据应用多个角度,探讨闪存技术和应用,欢迎各界人士莅临。