论文部分内容阅读
闪存作为一种新型的非易失性固态存储器,由于其体积小、非易失、读写速度快、抗震性强以及能耗低等优良特性被广泛应用于各领域的存储产品中,尤其是近年来基于闪存的固态硬盘技术的不断发展,闪存呈现出取代磁盘作为二级存储介质的趋势。但是,相比于传统磁盘,闪存具有完全不同的物理结构和特性,为此需要新的存储管理策略来管理闪存。
目前,闪存存储管理最主要方式是采用FTL策略(如SSD设备)。根据地址映射的粒度,FTL主要分为三种类型,即页级FTL、块级FTL和混合FTL,而混合FTL因其地址映射表较小、空间利用率更大以及高效的访存性能而被广泛的研究和应用。但是,已有的混合FTL算法无法有效的处理随机写类型数据,随机写类型数据往往会增大日志块关联度而给垃圾回收带来大量昂贵的全合并操作。针对目前存在的这些问题,本文提出分隔管理随机写和顺序写类型数据的思想,针对不同类型数据采取不同粒度地址映射,进而降低日志块关联度提高FTL算法性能。此外,考虑到MLC闪存的应用越来越广泛,但是由于MLC闪存具有块内数据页必须顺序写入和不能重复进行部分页编程两个特殊的特性,已有的FTL算法无法有效利用MLC闪存,为此本文提出了新的闪存存储空间管理策略,着重关注于解决MLC闪存的两个特殊特性,以达到降低擦除次数提高MLC闪存使用寿命的目的。本文的主要工作有:
(1)针对随机写会使得日志块关联度过大的问题提出了一种多粒度映射的混合FTL算法DGFTL。基于分隔管理随机写和顺序写数据的思想,提出针对不同类型数据采取不同粒度地址映射方式的FTL管理模式,同时借助于聚簇技术和数据迁移操作,DGFTL有效的控制了日志块的关联度,大幅降低了垃圾回收的负担,提高了闪存的性能。
(2)针对MLC闪存的两个特殊特性提出了一个基于SET为映射单位的SGFTL算法。该算法在DGFTL算法的基础上,针对MLC闪存的特殊性,提出对块级区域和页级区域采取不同的空间管理策略。其中,在块级区域引入了SET单位地址映射、Padding和Partial-Block等机制进一步的提高了闪存的空间利用率;在页级区域提出数据页冷热划分的概念,有效的降低了热数据页向块级区域迁移的几率。