论文部分内容阅读
随着云计算、移动互联网、大数据等新一代信息技术的高速发展,数据高效存储与访问逐渐成为存储领域亟待解决的关键问题。基于闪存的固态硬盘(Solid State Drive,SSD)在2014年后开始爆发增长,并对存储市场产生颠覆性的影响,它逐渐成为存储领域的研究热点。然而SSD存在读写性能不对称、不能原地更新、使用寿命短,且无法直接应用在传统的文件系统上等限制。此外,最新的闪存制造技术(如三维堆叠的TLC闪存)虽然使得SSD的存储密度进一步提升和单位容量成本持续下降,但是也对SSD性能与寿命提出更高的挑战。在上述背景下,本文以SSD的固件优化为研究目标,主要研究SSD的闪存转换层设计和基于闪存特性的快写策略,以解决当前SSD遇到的性能和寿命挑战。在闪存转换层的设计中,现有的DFTL及其改进算法未能很好地解决下面3个问题:1)不能充分利用负载的读写特性进行优化设计;2)脏映射项回写机制不够优化,造成翻译页更新频繁;3)用户数据写不区分冷热,造成垃圾回收效率低。针对这些问题,本文提出一种跨层感知的自适应读写分区的闪存转换层算法(ARWFTL),其创新主要在于:1)根据负载读写特性,设立读写分开的映射缓存表,自适应地根据读写映射表的单位收益来动态调整它们之间的相对大小,达到提升总收益的目标。2)提出基于干净映射项优先剔除和脏映射项聚簇回写的管理机制,大幅度减少了翻译页的更新次数。3)提出在写映射缓存表中开设热数据识别窗口,将热数据与冷数据分别存储在不同的闪存块中,以提升垃圾回收的效率。实验结果表明,与DFTL及其改进算法CPFTL、HCFTL和IRRFTL相比,ARWFTL在翻译页回写次数上分别有92.8%、80.2%、73.9%和56.3%的下降;在垃圾回收时有效页迁移次数上分别有47.7%、18.9%、13.8%和2.8%的减少;在块擦除次数上分别有31.6%、13.4%、9.1%和5.7%的降低;在闪存响应时间上分别有23.0%、15.9%、6.2%和6.0%的性能提升。通过对闪存特性调研,本文发现闪存存在数据写时间和数据保留时间可以折中的特性。具体来说,可以通过缩短数据的保留时间来提高闪存的写入速度,达到提高SSD性能的目标。为此,本文结合热写数据保留时间短的特点,提出对热数据采用快写,冷数据采用正常写的策略,以进一步提升闪存转换层的性能。基于这个目的,本文提出了热数据感知的快写管理(HDAFWM)策略,其创新在于:1)将底层闪存块划分为热块和冷块,以分别存储采用快写的热数据和采用正常写的冷数据;2)采用先入先出的策略管理快写队列,确保快写块内的有效数据的不会因保留时间到而失效;3)通过感知快写收益与重写开销来调整识别的热数据量,以实现重写开销最小化与快写收益最大化的折中。实验结果表明,相较ARWFTL,基于HDAFWM的ARWFTL,在没有明显增加块擦除次数的条件下,平均响应时间平均降低大约22%,这验证了本文提出的HDAFWM策略的有效性。