△ 图源:微博达人@午后狂睡 △ 图源:B站达人@格物时间 不过在这热议的背后,一个关键的问题便随之浮现:在百度网盘占据超过2/3市场的情况下,如果在网盘市场继续价格战,真的还有意义吗? 量子位虽然未能获得各家详细成本资料,但通过另一种方式,独家采访到全球存储技术大佬,了解到数据中心存储技术的前沿储备。 这也许才是未来个人云存储的科技胜负手吧。 “存储领域的5G标准” 去年5月,就有海龟存储专家告诉量子位,未来数据中心硬盘的全球新标准协议已经通过。 总结一句话来说就是—— 数据中心硬盘和存储系统沟通的协议,正在发生像移动通信从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告诉量子位,这种做法的好处显而易见,不过也需要付出一定代价。 从软件、数据库方案到操作系统,都需要针对性的做出适配,才能最大程度发挥ZNS的价值。 于是,整个标准的制定,就需要硬盘生产方、云计算系统开发方、应用方共同参与才能完成。 谁在布局ZNS? 若是搜索一下与ZNS相关的消息,其实不难发现,全球已经有许多硬盘制造商布局于此。…
Read More