论文部分内容阅读
与传统的机械硬盘相比,固态硬盘(Solid State drive,SSD)具有功耗低,读写快,防震,无噪音,轻便等优良特性,这使得它开始在多个领域取代传统机械硬盘。然而,由于闪存介质固有的物理特性,导致SSD存在读写性能不对称、写前擦除、有限的擦除次数等缺陷。此外,不同闪存介质具有不同的存储密度,读写性能以及成本,基于单一闪存介质的同质SSD在性价比上无法满足越来越多样的应用需求。针对上述问题,本文研究SSD的缓冲区管理层和混合SSD闪存转换层的优化方法,以达到提高SSD整体性能、延长SSD使用寿命的目标。本文主要工作及创新包括以下2点:(1)针对现有缓冲区管理算法适应不同负载和不同闪存转换层能力不强的缺陷,基于跨层设计思想,本文提出一种高级自适应缓冲区管理算法,简称AALRU,其创新在于能够根据上层负载特性和底层闪存转换层状态自适应调整缓冲区的结构和参数。具体来说,针对上层负载的读写特性变化,AALRU能够动态调整读、写缓冲区的比例,提升缓冲区命中率;针对脏页聚簇回写,AALRU通过写入放大系数及时感知底层闪存转换层状态,动态地选择合适的聚簇回写策略,增强底层闪存转换层写请求的连续性,降低底层闪存转换层的垃圾回收开销。实验结果显示,在不同的闪存转换层和不同类型的负载测试条件下,平均而言,相比于现有的缓冲区管理算法BPLRU、FAB、CFLRU和ADLRU,AALRU在缓冲区命中率上分别有96.9%、144.2%、3.0%和30.9%的提升,在块擦除次数上分别有21.3%、27.5%、17.7%和23.5%降低,在平均请求响应时间上分别有12.4%、24.7%、14.1%、21.6%的减少。(2)针对混合SSD的闪存转换层设计,本文提出一种按需加载的闪存转换层算法,简称HDFTL,其创新在于将映射缓冲区的设计与数据在不同介质分区的分配统一考虑,根据不同介质分区的磨损速率来调整闪存转换层映射缓冲区的设计参数。具体来说,首先,HDFTL将SLC(Single-Level Cell)介质区划分为数据块区和翻译块区,将MLC(Multi-Level Cell)介质区全部作为数据块区,翻译块区按2KB页对齐,数据块区按4KB页对齐,完整的映射表全部存储在翻译块区,访问的部分映射项按需加载到闪存转换层的映射缓存中,大大节省了映射表的缓存开销。其次,HDFTL利用映射项更新和数据更新的一致性,结合缓存映射表信息,对热数据进行识别,实现SLC和MLC中冷热数据合理的分配与迁移。最后,HDFTL用SLC和MLC的相对磨损速率动态调整缓存映射表中的热区比例系数,进而自适应调整热数据识别基准,实现SLC和MLC闪存的相对磨损均衡。实验结果显示,与现有混合SSD的闪存转换层算法CFTL和Comb FTL相比,平均而言,HDFTL的平均请求响应时间分别有34.4%和18.2%的减少,等效总擦除次数分别减少45.1%和18.5%;同时SLC和MLC的磨损程度更加一致,缓存映射表的存储空间开销缩减96%。