本文来自美国雪城大学Bryan S. Kim团队,发表于HotStorage'22,分析了均衡磨损在不同的场景下,所带来的写放大效果。从测试分析中来看,均衡磨损并不总是有效,在目前的有限擦除次数的SSD中,可能会带来比较严重的写放大问题,严重影响SSD使用寿命。
作者评估了现有的几种典型均衡磨损算法,如表1所示,并测试了多个场景,包含倾斜性负载和均匀负载,表明它们确实存在异常行为,并产生高的写放大。本文探讨了放弃均衡磨损而采用SSD中的容量方差的选择,并表明容量方差将SSD的寿命延长2.94×。本文方法开源:https://github.com/ZiyangJiao/FTLSim-WL.
问题:
1. 写放大如何?
使用r/ℎ= 0.9/0.1的合成负载来测量WL引起的写放大,最多可进行100 次全盘写入(25 TiB),测试盘的逻辑空间大小为256GiB,11%OPS空间。图2为100次全盘写所对应的写放大,可以得到如下观察。
整体写放大高达11.49(PWL),其中NoWL的方法下写放大为6左右,因此5.4是WL造成的。这意味着对于每写入256 GiB的用户数据,仅WL就会带来额外的1.35 TiB数据写入。
写放大对WL阈值参数很敏感。将DP算法从10更改为5(变得更加激进)会将写入的数据量放大到1.6X。
一旦SSD老化超过80次全驱动写入,PWL 会产生11.49的高写放大。PWL 是一种自适应WL算法,在后期变得过于激进,而在早期处于休眠状态。
随着SSD老化,写放大会随着时间稳步增加,这表明SSD老化会随着写入更多数据而加速。
2. 均衡磨损的有效性如何?
测试两种场景:1)256GiB用户数据,采用全盘写入100次,如图3;2)数据只占全盘5%容量,并持续写入,如图4。对于每一种场景,测试了倾斜性较强的负载(r/h=0.9/0.1)和均匀随机负载(r/h=0.5/0.5)。
对于倾斜性较强的负载(图3a),DP和PWL的擦除次数都比NoWL更多。它们的CDF显示出一个凹陷,这表明擦除计数的双峰分布。而NoWL 显示一条几乎垂直的线,这意味着擦除数分布更紧密。这是磨损均衡的性能异常(通过检查双峰分布,发现与冷池相关的块比热池中的块更老)。对于DP算法,如果冷池中最年轻的块恰好比热池中最旧的块更老,仍然会触发两个块之间的交换,从而导致这种反转。DAGC实现了块的均衡磨损,其分布较为集中,但带来写放大18%。
对于均匀随机的负载(图3b),DP、PWL和NoWL之间的差异可以忽略不计。因为全盘写入时,数据热度接近,使得所有块都被平等地使用,并且几乎不会触发均衡磨损。然而,DAGC仍然表现出性能异常,由于其在GC时会同时考虑有效页面的比例以及块的擦除次数,因此数据写入比NoWL多15%(因为它可能会选择擦除次数较低但有效页面数量也多的闪存块)。
对于第二类场景下,负载数据集较小,大多数均衡磨损方法是有效的,如图4a和图4b中接近垂直的分布。而NoWL显示了两种负载中已使用块和未使用块之间的双峰分布。当负载倾斜时(图 4a),WL 技术通过放大数据写入量来实现这种均匀性。对于均匀负载(图 4b),数据热度接近,因此均衡磨损的整体写放大要低得多。
上述场景一考虑全盘使用,充分利用盘的容量特征,结果表明均衡磨损是一把双刃剑,可以使得均衡磨损效果比NoWL还要差(图3a),也可以实现良好的均衡磨损但其加速了闪存整体磨损(图3b)。而场景二则是针对大容量盘但是实际数据量较少的场景,其采用均衡磨损的效果较好,这部分总结如表4所示。
容量差异方法
本文提出了一种容量差异方法,即不采用均衡磨损。因为如果接口允许减少SSD的输出容量,均衡磨损就变得不必要了,因为它不需要确保所有块均匀地磨损。随着SSD的磨损使用,坏块的数量会逐渐增多,但只要剩余容量满足用户需求,该SSD仍然可以正常服务。从而避免了均衡磨损过程中带来的严重写放大问题,增加了整体写入量,从而改善SSD的总使用寿命。
致谢
感谢本次论文解读者,来自华东师范大学的博士生吕熠娜,主要研究方向为企业级高密度闪存服务质量优化技术研究。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !