你好,游客 登录
背景:
阅读新闻

闪存阵列的垃圾回收及“写断崖”

[日期:2018-05-09] 来源:浪潮解决方案  作者: [字体: ]

  随着成本降低和技术进步,闪存越来越多的被企业级数据中心作为存储介质使用。相比传统的磁盘介质,闪存的优势显而易见:速度快,耗电低,省空间。特别在速度方面,闪存具有压倒性的优势。

  比方说,客户原来采用某款高端磁盘阵列的时候,处理某个业务,需要花费10个小时。后来替换为闪存阵列,同样处理该业务,只需要2个小时就可以完成。闪存带来的性能优势非常的明显。

  但客户在使用用闪存阵列时发现:刚开始处理业务只用2个小时,可是运行了一段时间之后,忽然有一天,客户发现处理业务用了2小时30分钟。于是,问题来了,客户一方面觉得2小时30分钟比过去的10小时还是快多了,一方面也会想,为啥比起2小时,现在处理作业的时间慢了25%?

  由此,我们来了解一下,闪存中的“写断崖(Write-Cliff)”现象。

  什么是垃圾回收?

  闪存是电子类介质,其处理数据的写入方式和传统的磁类介质(磁盘或者磁带)的覆盖写不同:新数据写入的区块,必须是空白区块,如果该区块存有旧数据,那么必须先对旧数据进行“擦除”(Erase)。尤其是当写入的数据总量达到闪存提供的所有容量之后,再次写入更新时,就必然会产生“擦除”。

  相比于常规的读取和写入操作,擦除有2个特点。

  第一,擦除的速度比读写要慢。擦除时间可能是写入时间的10倍以上,基本达到ms级别;

  第二,擦除的处理单位要比读写大:读写的处理单元是page(一般4KB大小,或者更大),擦除的单元是block(多个page组成,一般不少于512KB)。

  如此,极端情况下,要写入4KB的数据到某个已存有4KB旧数据的区块,有可能首先先擦除其周边512KB的区块空间。

  这种将Block中的有效Page合并到一个新的Block中,并将旧的Block进行擦除,留出更多的空闲Block的机制就叫做垃圾回收(Garbage Collection)。垃圾回收就相当于固态硬盘的碎片整理,目前基本已是SSD的标配机制,在全闪存阵列设计优化中也有涉及。

  闪存“垃圾回收”带来的“写断崖”和“写放大”

  回到文章一开始客户遇到的性能下降25%的问题,在了解完闪存垃圾回收的过程之后,就很容易理解了。一台40TB可用容量的闪存阵列应用到客户现场,起始都是“干净”的空白小块,写入速度很快。但随着数据的不断更新,必然会出现对应的数据搬运,数据擦除等后台垃圾回收的相关操作,从而提供“干净”的小块给后续的写入操作。若这些操作若和前端应用程序并行,将可能导致了性能的下降,我们称之为“写断崖(Write-Cliff)”。

  “写断崖”仅仅是垃圾回收带来的问题之一。垃圾回收还带来的另外一个问题,叫做“写放大”:闪存的每个Cell(颗粒)都是有写入次数的寿命限制的。垃圾回收导致了额外的Cell写入,加速了Cell寿命消耗。我们称之为“写放大(Write-Amplification)”。

  如何处理“写断崖”和“写放大”

  写断崖和写放大都是闪存介质与生俱来的特性,无论是SSD固态硬盘,还是目前的全闪存阵列厂商,都无法避免这两个问题。

  闪存阵列厂商一般会通过介质材料,算法以及架构的优化等手段,来将这两种影响控制在一定的范围内。比如某厂商,通过以下手段来优化写断崖的问题:

  首先,采用“超供给”( Over-Provisioning)方式,通过提供更多的颗粒数量(比如用户可见容量40TB,而实际物理容量超过67TB),用于减缓整体闪存寿命的磨损,并实现更为灵活的预防性垃圾回收。

  同时,采用了灵活的垃圾回收处理机制,配置闲时垃圾回收引擎,从而不占用处理前端应用数据IO的硬件资源。

  最后,通过全局FTL和优化的上层写入机制,将随机IO整理顺序化,减少底层实际读写次数。

  此外,还有均衡磨损算法,监测机制等手段,来优化缓解这两个问题。

  总之,对该问题处理的效果,也是衡量闪存阵列能力的因素之一。

  消除误区,“写断崖”并不可怕

  最后,需要说明的是,写断崖并不可怕。

  即使写断崖带了的性能的降低,但速度降下来之后,若闪存阵列处理得当,其性能还是要远远高于传统磁盘阵列。好比您以100块钱的价格买了一种纪念币,最好的时候纪念币价格飙升到了300块钱,但后来降到了280块钱,并在280块钱平稳下来。那么整体来看,收益还是很好的。

 

  所以在对闪存阵列选型时,一定要搞清楚闪存阵列厂商是否对该问题进行过优化,并最好让厂商给出一些有说服力的数据或者测试报告。

收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论