突然就卷起来了
金磊 梦晨 发自 凹非寺
非常AI | 公众号 QbitAI
是真没想到啊,网盘圈还能热闹起来。
阿里云盘开始会员收费了,单位容量价格还是主要竞品的1/4。
消息一出,便立刻成为了一则用户和行业热议的话题。
各个社区也一下子出现了各种算账党:
不过在这热议的背后,一个关键的问题便随之浮现:在百度网盘占据超过2/3市场的情况下,如果在网盘市场继续价格战,真的还有意义吗?
非常AI虽然未能获得各家详细成本资料,但通过另一种方式,独家采访到全球存储技术大佬,了解到数据中心存储技术的前沿储备。
这也许才是未来个人云存储的科技胜负手吧。
“存储领域的5G标准”
去年5月,就有海龟存储专家告诉非常AI,未来数据中心硬盘的全球新标准协议已经通过。
总结一句话来说就是——
数据中心硬盘和存储系统沟通的协议,正在发生像移动通信从4G到5G的那种变化。
具体来说,这种NVMe2.0指令集中,关于固态闪存盘(SSD)和叠瓦磁盘(SMR)都可用的新标准ZNS(Zoned Namespace)
当时的一份指令集版本里,可以看到ZNS协议的核心作者(Technical Proposal Author)们经过了四年多时间,才最终与会员达成了最终标准设定。
这时很多友友们又会问了,所以呢?
别急,接下来我们就来讲讲,这个ZNS标准和存储性能的关系。
对NVMe这个词,凡是买过SSD(固态硬盘)的人一定不会陌生。
NVMe代表“非易失性存储器规范”,最大的特点就是不必实时供电、数据传输快。
2011年首次问世以来,NVMe迅速占领市场,成为高端SSD的代名词。
从手机(苹果手机内存使用NVMe规范)、家用硬盘到企业云存储都有广泛应用。
而ZNS指令集标准正是新一代NVMe2.0中针对进一步改善SSD性能和寿命的一种新尝试。
SSD的速度和使用寿命,都受到一种“写放大效应”的影响。
在操作系统的视角看来,SSD内部会分成一个个块(Block),块里面再分成页(Page)。
基于SSD的硬件特点,写入时可以按页为单位,删除时却只能整块删除。
如果一个块里有需要保留的数据,也有需要删除的数据怎么办?
传统做法,是先把需要保留的数据挪到另一个块里,再对原来的块整体删除。
对于一次写入操作,比如写入1个G数据,实际执行的写入量还要再乘上一个写放大系数(WAF)。
可以看出,写放大系数越大,对写入速度的影响也就越大。
并且,SSD的闪存单元有固定的寿命,现在主流的三层单元(TLC)大概在1000次擦写循环,成本更低但结构更复杂的四层单元(QLC)只有300-500次。
对于QLC单元的SSD来说,写放大效应更为致命。
除了影响速度和使用寿命,写放大效应也是导致SSD需要一定预留空间的“罪魁祸首”。
如果整块盘存满,就没有空间可以去挪动要保留的数据了,所以一块SSD里至少有7%左右空间是不能用的,多的时候这种预留空间(over-provisioning)甚至会达到28%。
7%对于家用硬盘一块两块来说倒也不是不可以接受,但如果存储引擎在软件层不给力,20%以上可就太浪费了,尤其对于大规模使用的云存储行业来说,还是挺肉疼的。
为解决以上问题,需要一个全新的存储技术标准,就好像通讯技术里的5G标准一样。
ZNS指令集标准应运而生。
其发起者,是NVMe协会的Matias Bjørling,一位从20多岁起就死磕存储技术的工程师老哥。
为了能把这项技术讲明白,我们发邮件向他询问了ZNS标准制定过程中的一些细节。
他认为整个想法的来源很简单,就是ZNS把SSD的管理层一分为二。
其中管理硬件的事留在硬件内部,把数据应该存放到哪这种工作剥离出去,交给软件和操作系统来做。
最终实现方法是把SSD内部空间划分成不同区域(Zone),不同应用的数据存储至特定分区。
对于长期存放的数据,尽量完整的集中放在一些块里,便可以减少临时挪动。
虽然是很小的改动,收益却很大。
理想情况下,使用ZNS标准的SSD可以把写放大系数做到接近于1,写入速度提高的同时大大延长了使用寿命,也解放了不少预留空间。
Matias告诉非常AI,这种做法的好处显而易见,不过也需要付出一定代价。
从软件、数据库方案到操作系统,都需要针对性的做出适配,才能最大程度发挥ZNS的价值。
于是,整个标准的制定,就需要硬盘生产方、云计算系统开发方、应用方共同参与才能完成。
谁在布局ZNS?
若是搜索一下与ZNS相关的消息,其实不难发现,全球已经有许多硬盘制造商布局于此。
例如西部数据早在2020年10月便推出了全球首个ZNS SSD——Ultrastar DC ZN540。
据悉,与传统SSD相比,西部数据的这款ZNS SSD吞吐量提高4倍,QoS改善2.5倍。
仅时隔半年,另一个“硬盘大玩家”三星,紧随其后推出了基于ZNS企业服务器的SSD——PM731a系列。
据三星方面表示,这款ZNS SSD在容量方面提供2TB和4TB两种规格,最大的亮点,便是能够“延长4倍的数据寿命”。
但除了上述这两家厂商之外,若是查看NVMe的规范文档,我们可以发现全球有许多大玩家也在追随着ZNS SSD的脚步,并为推动它的发展发挥着各自的作用:
- NAND制造商:出了刚才提到的三星,还包括Intel、Micron、SK Hynix、Kioxia。
- 控制器厂商:Microchip。
- 超标量云计算提供商:微软、阿里巴巴。
还有一些知名公司包括Seagate、Oracle和NetApp等。
从受到全球产业链巨头们的热捧这一层面来看,也可以一定程度上反映出ZNS SSD发展的正确性。
而在众多贡献者之中,云计算厂商的位置非常关键,就像前面所说,ZNS硬盘要真的发挥高性能,需要在存储系统层面进行联动。
目前主流云计算厂商的分布式存储系统,也确实是不同介质、不同协议的存储硬件,都要进行接入适配的自主架构。
如果能深入到硬件层面去影响全球标准,这无疑是所有软件系统商核心能力的呈现。
为此,我们特意向Matias做了求证——云计算厂商为NVMe社区和ZNS相关工作做了哪些贡献?
他在邮件中的回复如下:
在ZNS前一代探索性的协议OpenChannel中,云厂商是首个大规模的数据中心集成应用实践者,推动了整个Open-Channel标准最终可用,这些实践支撑了ZNS标准的确立。
他们的工作对整体软件和部署复杂性有重大影响,他们降低了软件开销,提出了同时保证存储介质可靠、损耗均衡的关键意见,现在在采用ZNS时,可以显著简化一系列复杂性,能让ZNS更容易被使用。
……
不过就目前来看,虽说ZNS SSD是一种大势所趋不假,但其主要应用的场景还是聚焦在可以高度订制、更新换代较快的数据中心硬盘。正如Matias告诉非常AI:
“如果希望将(ZNS)这种新的存储标准接口(Interface)在业界推广,人们一定会问,为什么要暴露这么多接口,或者会说,我们不愿意这样改变。这个过程经过了非常多的争论,随着获得的反馈越来越多,标准也逐渐成熟。当云计算厂商开始部署这项技术,它就将会有非常高速的发展。”
目前业内的研究显示,无论是高性能块存储EBS,还是通过SMR磁盘支持的如对象存储OSS(网盘的主要存储类型),都有可能在未来受益于ZNS协议体系。
Matias甚至认为,由于ZNS本身也能很好支持SMR HDD硬盘,所以此前的存储开源软件体系也几乎可以很快复用,无论是标准的文件系统(f2fs,btrfs),或者是开源数据库软件(RocksDB, Percona MySQL等),都已经发布了支持ZNS版本。
Matias还告诉我们:“ZNS目前还加速获得手机厂商的兴趣,新的闪存盘可能会让平板和智能手机的电池续航更久、单元存储的价格更低。”
或许在不久的将来,ZNS就会应用到个人存储的方方面面。
参考链接:
[1]https://nvmexpress.org/everything-you-need-to-know-about-the-nvme-2-0-specifications-and-new-technical-proposals/
[2]http://118.31.189.123/2021/05/06/the-next-step-in-ssd-nvme-zns/
[3]https://hardware.slashdot.org/story/20/11/11/2155246/western-digitals-ultrastar-dc-zn540-is-the-worlds-first-zns-ssd?utm_source=rss1.0mainlinkanon&utm_medium=feed
[4]https://news.samsung.com/global/samsung-introduces-its-first-zns-ssd-with-maximized-user-capacity-and-enhanced-lifespan?utm_source=nr_twitter&utm_medium=social