浪潮智能全闪存存储G2-F实现SSD固态硬盘写放大<1
SSD固态硬盘的容量和密度在不断增加,以速度赢得人心的同时,擦写寿命限制却成为其短板,而写放大是缩短SSD擦写寿命的主要原因。如何破解写放大难题,成为全闪存系统厂商的最大挑战。浪潮智能全闪存存储产品G2-F依托自主研发的创新技术,实现全流程写放大小于1,成为全闪存存储领域的专家。 SSD容量持续增长,写入寿命却不断降低 SSD的容量增长速度惊人,在10TB的机械硬盘刚出来不久,一波闪存厂商就将SSD的容量做到了单盘30TB、60TB甚至100TB。SSD的单盘容量大有赶超机械盘的态势,这得益于NAND工艺制程的进步与单位面积存储密度的提升:NAND制程已经从最开始的90nm下降到当前的10nm,NAND工艺已经完成从2D NAND到3D NAND的完美切换,3D NAND的层数更是逐年增加:24层,32层,48层,64层,一直到96层。工艺的提升带来存储密度的大幅度提升。 在SSD容量密度增加的同时,伴随着单位容量成本的下降,这对用户来说无疑是喜事。但是SSD还有一个不容忽视的指标,那就是寿命。对于最新的3D TLC、3D QLC的大容量盘,其擦写寿命限制成为不容忽视的弱点。 在SSD盘容量增大的同时,写入寿命的问题非但没有得到有效解决,反而呈现下降趋势。早些年的企业级SLC、MLC盘的DWPD(Diskful Writes Per Day ,每日整盘写入次数)是10,而最新推出的3D TLC的SSD的DWPD为0.35。DWPD是确保SSD在生命周期内(3年或者5年)每天能够对盘进行全量写入次数的指标。DWPD为10是指着每天对SSD全量写入10遍,能保证SSD在5年之内不会发生磨损耗尽。而DWPD为0.35意味着,每天写入量不能超过盘容量的0.35,否则盘坚持不了5年就会因为介质磨损而发生故障。这样的弱点让用户无法不对应用全闪存存储系统心存疑虑。 全闪阵列厂商面临的关键挑战 当SSD的写入寿命随着存储密度提升而下降成为用户的心头之痛,如何能够提供可靠的全闪存存储,便成为全闪阵列厂商所面临的关键问题。 有人可能会说,继续使用DWPD为10的SSD不就可以了?答案是否定的:一方面DWPD为10的SSD成本非常高,相同容量是DWPD为1的SSD的数倍,另一方面高DWPD的SSD的产量在逐渐缩小,再过几年,DWPD为10的SSD甚至可能面临停产。下图是闪存领导厂商三星关于SSD DWPD的预测报告,从报告可以看出,2018DWPD为10的SSD占比已经小于5%。如果全闪阵列一定要使用DWPD为10的SSD,未来几年的选择会越来越少。 写放大这个词从事存储行业的应该都不陌生,在磁盘阵列上就存在。但为什么到了全闪阵列上,写放大就成了一个关键指标?一方面,磁盘是没有写入寿命问题的,所以在磁盘阵列上写放大只和性能相关,和可靠性关系不大;而在全闪存储上,由于闪存存在写入寿命限制问题,写的越多寿命就越低,所以写放大直接和全闪阵列的可靠性相关;另一方面,全闪阵列上的写放大,远不止RAID写放大一个因素,例如,随机写入带来的SSD上垃圾回收导致的数据迁移,也会给引入巨量的写放大。 面对这样的挑战,浪潮存储作为国内领先的数据存储厂商,早在5年前就大力投入全闪存存储系统的研发,并在两年前实现革命性突破,彻底解决了全闪存存储的写放大问题。2017年10月,浪潮发布智能全闪G2-F多款型号的闪存阵列,实现全流程写放大小于1,相对于传统磁盘阵列I/O栈,写放大降低15倍。 如此强大的黑科技是如何实现的呢?其背后的技术原理又是什么? 技术1:基于时间点的变长实时压缩 传统的数据压缩方法是基于固定块大小的,输入必须是固定大小的对齐数据块,输入不对齐时,需要补齐读,影响效率;压缩后输出的数据块大小不一致,需要补零填充对齐,浪费空间;对压缩后的数据进行少量更新时,必须对整个数据块进行“解压数据块-更新数据-压缩数据块”,效率低。 浪潮全闪存存储采用基于时间点的变长实时压缩技术,解决传统的固定块大小压缩的缺点,主要设计包括: 小块变长输入:不限定输入数据块的大小,以用户下发的数据为单位进行压缩处理,用户数据的长度即是压缩输入的长度,不需要补齐读; 大块定长输出:压缩处理后,在内存中聚合数据,达到一个固定块大小时,将数据整块写盘,保证输出数据块大小一致,不需要补零填充; 追加写更新:更新压缩数据时,更新数据和新写入数据一样处理,仍然采用基于时间点的压缩,将新数据追加写入,旧数据后台回收。覆盖写时,仅压缩写入的小块数据,避免频繁“解压数据块-更新数据-压缩数据块”的过程,提高性能; 时间点亲和性:用户同时写的数据,大概率会同时读,基于时间点的压缩将同一时间点写入的数据放到同一个数据块存放,cache预读命中率大幅提升; 专用的硬件压缩卡加速:释放CPU资源,保障关键应用的响应时间; 通过以上优化,浪潮存储基于时间点的变长实时压缩技术,整体提供高达5倍压缩效率,减少数据的写入量,有效的减少了对SSD资源占用,提升全闪存储系统的使用寿命。 技术2:顺序写替代随机写 追加写替代覆盖写 RAID的写放大是由于随机写造成的,随机写入的时候,由于RAID不是满条带的,每一个小块的数据写入都需要更新校验数据,RAID6需要则更新两个校验数据,因此导致了更大倍数的写放大。但如果是顺序写入就不一样了,多个顺序I/O可以合并成一个满的条带写入,一个满条带进行一次校验数据P的更新,其写放大几乎可以忽略。 开启实时压缩时,G2-F对原有数据的修改写不会在原来的地址上进行覆盖写,而是将数据顺序地追加写入到后面的地址上,然后标记前面被覆盖写的数据为无效。由于没有覆盖写,所以SSD上的block上不会出现空洞。而通过持续的顺序追加写,浪潮的全闪存存储可以使SSD盘内部5倍的写放大降低到1,基本消除SSD内部的写放大。 技术3:全局主动垃圾回收 开启实时压缩时,浪潮全闪存存储向SSD的写入模式都是顺序追加写入,通过顺序追加写入消除RAID和SSD内部的写放大。但是持续的顺序追加写入必然会导致空间快速耗尽,要获得新的空间写入,就必须要对前面无效数据占用的空间进行整理。为解决这一问题,浪潮使用全局主动垃圾回收 (Garbage Collection) 技术来进行无效空间的整理。垃圾回收程序会在全闪阵列的所有SSD上进行扫描,找出系统中最空闲的block进行回收。如果空闲的block上没有有效的用户数据,则直接以block的粒度回收,若空闲block上仍然有有效用户数据,则垃圾回收程序会将这些有效数据进行迁移,待迁移完成后再回收。回收的时候,先使用trim命令通知SSD(如果不通知SSD直接进行写入,在SSD侧看到的将是一个覆盖写入,因此会导致写入空洞,带来写放大),这样做的目的就是为了避免SSD内部垃圾回收带来的写放大。 多项黑科技成就小于1倍的写放大 有了这些创新技术,浪潮智能全闪G2-F实现了写放大<1,也使得浪潮智能全闪G2-F具有更高的性能、稳定性、可靠性,闪存盘能够得到更好的保护,其平均使用寿命提高至5年以上。数据显示,浪潮智能全闪G2-F系统性能最大可达260万IOPS,并实现了6个9的企业级存储可靠性,是用户关键业务存储系统的合适选择。 |