论文部分内容阅读
相对于传统的磁盘,固态盘具有读写速度快、能耗低、抗震性好和噪音小等优点,随着闪存芯片价格的不断降低,固态盘已经广泛应用于各行各业。如何进一步提高固态盘的性能,充分发挥固态盘的特性已经成为固态盘研究的重要内容。 固态盘通常由闪存芯片、控制器、接口、内部缓存及相应的固件构成。由于闪存的结构与磁盘不一样,因此固态盘需要一个中间转换层(FTL,Flash Translation Layer)来隐藏闪存与磁盘的不同之处。FTL的主要功能是将上层操作系统传过来的逻辑地址转换成固态盘内部的物理地址,根据映射粒度大小的不同,目前FTL通常分为页映射、块映射和混合映射三种。混合映射由于具有映射表小、效率高等优点,得到广泛的应用。在混合映射算法中,整个闪存存储空间分为数据区和日志区,当日志区写满后需要将日志区与对应的数据区合并,合并操作会产生大量的读、写和擦除过程,严重影响固态盘的性能。在固态盘中有四种并行性,通道并行性、晶圆并行性、分组并行性及芯片并行性,通过这些并行操作,可以降低固态盘的读、写及擦除操作的开销,如果能将这些并行操作应用于混合映射,特别是混合映射中的合并操作,将极大地提高固态盘的性能。通过以上分析,提出了基于虚拟块的混合映射固态盘算法VBP-FAST(Virtual Block-based Parallel--Fully Associative Section Translation),VBP-FAST算法重新构造了固态盘闪存芯片的块组织结构,称之为虚拟块。通过虚拟块,VBP-FAST算法对固态盘的读、写及擦除操作可以完全并行执行,降低了固态盘的读、写及擦除开销,特别是降低了混合映射固态盘的完全合并操作的开销。实验结果表明,在通道数为8,晶圆数为2,分组数为2的情况下,VBP-FAST算法在随机负载下响应时间比FAST(Fully Associative Section Translation)算法降低了5-8倍,在顺序负载下它的响应时间比FAST算法降低了1.7倍。 随着高性能新型存储器件的出现,特别是相变存储器(Phase Change Memory, PCM)的出现,为了进一步提高固态盘性能,通常将小容量、高性能的PCM与闪存融合在一起组成混合固态盘。PCM通常作为闪存的日志区,当日志区写满后,需要通过合并过程读取日志区及对应闪存块中的有效数据,合并后写到新的闪存块中并释放日志区空间。该合并过程开销非常高,而且每次合并一个闪存块只能释放少部分日志区空间;另外,根据空间局部性原理,替换出日志区的闪存块其相邻的闪存块在近期被访问的可能性也很低;根据闪存并行性的特点,这些相邻闪存块的操作(读、写及擦除)可以使用并行操作。基于以上三点分析,提出了并行感知的页内日志混合固态盘算法,称之为 P-aware-IPL(Parallel-Aware-In-Page Logging with PCM hybrid Solid-State Storage),P-aware-IPL对于要替换出日志区的闪存块,同时判断其相邻块是否满足替换条件,如果满足则将要替换的闪存块与其相邻块一起替换出日志区,如果相邻块不满足替换条件,则只替换该闪存块。通过这种方式,可以降低合并操作开销,提高日志区的命中率,并使每次合并操作释放更多的日志区空间,从而提高混合固态盘的性能,延长了固态盘的整体寿命。实验结果表明,P-aware-IPL在没带来其它开销的情况下对闪存的写和擦除操作比 Hybrid-IPL(In-Page Logging with PCM Hybrid Solid-State Storage)算法最高减少了10%,平均响应时间最高比Hybrid-IPL减少了22%。 固态盘内部通常会配置一个小容量的缓存,充分利用固态盘内部的缓存是提高固态盘性能的重要途径之一。由于闪存读、写的不对称性,目前固态盘内部缓存通常只做为写缓存或者只是简单的采用干净页先替换的策略,而不管这些干净页在将来是否还会再次被访问。对于以读为主的负载而言,该策略会导致缓存中存放大量一次性使用的脏数据,影响缓存的性能。针对这个问题,提出了一种基于权重的缓存管理算法,称之为2QW-Clock(2 Queue Weight-Clock),该算法通过对读、写页面赋予不同的权重,并根据该页面在缓存中的命中情况动态更新页面权值。以期在提高缓存总命中率的同时提高写命中的比例。实验结果显示,该算法缓存总命中率与2Q(2 Queue)算法相当;闪存写命中率比2Q最高提高了10%,比CFLRU(Clean-First LRU)最多提高了20%;对闪存的写次数比CFLRU算法最高减少了30%。