固态存储设备的垃圾回收技术优化文献综述
2020-04-25 20:19:53
1.1研究背景与意义
计算机技术发展到现在,CPU和主存等部件的性能和集成度都基本按照摩尔定律每18个月翻一倍,但是外设磁盘的性能增长却十分缓慢,达不到相应的要求。这主要是因为机械磁盘访问数据时需要磁头的旋转、定位,这种访问方式导致了数据传输速率与主存相差太大。基于这种现状,固态盘(Solid State Disk,SSD)的出现满足了系统对磁盘性能的要求。固态盘由控制器和固态存储单元组成,与传统的磁盘相比,由于其内部没有机械运动部件,存取速度可以达到磁盘的30倍,这在很大程度上改善I/O性能,是未来外部设备存储器发展的趋势。
在固态盘的使用过程当中,由于其异地更新策略,无效的页、块会越来越多,就必须触发垃圾回收,将无效的数据擦除,使其可以重新存放数据。但是现有的FTL算法和垃圾回收策略并不一定是最优秀的,当固态存储设备中的空闲页数目降到一个较低值时,若有批量的写请求到达,系统需要为这些写请求分配空闲页,有可能在短时间内触发大量的垃圾回收请求,导致垃圾回收的集中爆发。垃圾回收过程中可能涉及到多次读写和至少一次擦除操作,它的开销是很大的,SSD的性能将受到很大的影响,后续请求也会经历很大的延迟,系统响应时间增加,稳定性也会下降。因此,垃圾回收算法是影响SSD性能的重要因素之一。
1.2国内外研究现状分析(文献查阅报告)
通过查阅文献资料,我基本了解了目前国内外主要的垃圾回收算法 。每一个垃圾回收算法都必须考虑“何时触发垃圾回收操作”,对于何时产生垃圾回收操作,现有的垃圾回收算法通常有两种方法:
(1)设置一个确定的阈值,当固态盘中的空闲页数目少于这一阈值时,就产生垃圾回收。该方法的优点是:当固态盘中有足够的空闲空间时是不会触发垃圾回收操作,这时其读写性能较好。而当垃圾回收被触发,说明固态盘中的空闲页比例较低,无效页的比例较高,这样对被选中块进行操作时,迁移的有效数据就较少,有利于提高垃圾回收的效率。这种方法也有明显的缺点:当固态盘中的空闲页数目降到一个接近阈值是,这时有大量的写请求到达,系统要分配空闲页,这样就很可能会产生大量的垃圾回收请求,导致写请求的延时,严重降低系统的性能。
(2)根据固态盘的参数,如擦除次数、页的状态等,在固态盘空闲时决定是否执行垃圾回收。该方法的优点是:在系统空闲时进行垃圾回收操作,可以保证读写操作的及时响应,并且考虑状态,有利于得到较高的回收效率。它的缺点是:不能保证固态盘中有足够的空闲空间,大量的写请求到来,而一直不进行垃圾回收操作,这就可能导致空闲页的大幅度下降,不能及时响应每个写请求。同时,这也要求能准确预测请求的到来时间,以免在进行垃圾回收操作时,有请求到来而无法响应。
(3)此外,目前还有针对考虑块磨损状态的研究,有文献提出一个能意识到块磨损的垃圾回收机制——WECO(Wear Conscious)。WECO由两个主要策略组成:(1)具有磨损意识的牺牲块选择策略,(2)自主数据分离策略。WECO通过综合性能与损耗设置合理的公式来给每个块评分,来选取回收块;并且通过分离冷热数据来提高垃圾回收的效率和保护磨损厉害的块,以增加使用寿命。该方法优点是在垃圾回收时考虑块的磨损均衡,有效提高固态盘使用寿命;缺点是固态盘的性能与其他算法相比提升的空间几乎没有,且有所下降。
2. 研究的基本内容与方案
{title}2.1 目标
在SSDsim上设计并实现一种可以对现有的垃圾回收算法进行优化的算法。并与现有的垃圾回收算法作比较,包括SSD的请求平均响应时间和Flash块的平均擦除次数。