论文部分内容阅读
随着信息技术的快速发展,数据量急剧猛增,对存储系统的性能提出了越来越高的要求。而广泛应用在存储系统中的机械磁盘,其性能增长速度远远落后于CPU、内存和网络带宽的增长速度,成为制约存储系统性能提高的瓶颈。因此,一些新型存储器件被广泛的研究和应用,其中以基于NAND闪存的SSD(Solid State Disk)发展最为迅速。SSD具有读写速度快、功耗低、体积小、抗震性等优点,被广泛应用到存储系统中来提高存储系统的性能。本文在系统缓存算法、性能、可靠性、性价比等方面对SSD做RAID缓存时的相关技术进行了深入的讨论。 设计了一种名为“生长树”的数据访问信息统计方法和一种基于SSD缓存大小的缓存替换算法。因为SSD不同于DRAM的物理特性,传统的基于DRAM缓存的缓存算法在应用到SSD缓存时会带来一些问题。在数据访问信息的统计方法上,设计了一种名为“生长树”的结构,它主要是利用数据访问的倾斜性和空间局部性原理,将访问信息的统计粒度从数据块扩大为虚拟块(多个连续的数据块),可以在不明显丧失统计精度的情况下大大减少信息统计的元数据量。本文中所提出的缓存替换算法使用SSD缓存的大小作为决定数据块替换的依据,避免了使用固定阈值时缓存替换不能及时响应请求变化的缺点,使得SSD缓存能充分发挥其性能优势。在缓存替换时,充分考虑SSD的寿命问题,将传统的及时性缓存替换变为周期性替换,并且限制每次进行替换的数据块数量,从而减少了对SSD的写操作。实验结果表明,相对于传统的缓存算法,本文所设计的缓存算法在平均响应时间、缓存命中率以及块擦除次数都表现出更加良好的性能。 在性能提升方面,提出了一种利用SSD缓存保留区中无效数据来优化RAID写性能的延迟擦除技术。根据SSD的物理特性,写请求的数据被写到空白的数据页上,而原来的旧数据被置为无效数据,存在SSD的保留区中等待垃圾回收。本文的想法是延迟擦除这些无效数据,并将它们用于优化RAID5/6小写时的校验更新操作,通过在校验更新时从SSD中不是从磁盘中读取旧数据来减少磁盘操作次数,从而提高了RAID的写性能,进而提高了系统性能。 在可靠性提升方面,提出了一个利用RAID空闲空间构建SSD缓存异构副本来提高系统可靠性的缓存系统。这个异构副本被命名为虚拟SSD。设计了一种名为快速写入的技术来提升虚拟SSD的写性能,使其写速度能够和物理SSD相匹配。快速写入技术主要利用的是磁盘上日志写的性能优势和磁盘间的高并行性优势。对于使用日志结构的虚拟SSD中的垃圾回收,也设计了一种名为SRRW的策略来减少垃圾回收时的磁盘操作,大幅提高垃圾回收的效率。 基于延迟擦除技术和快速写入技术,设计了一个名为DEFT-Cache的缓存系统。该缓存结构利用延迟擦除技术来进一步提升系统性能,利用虚拟SSD来提高系统可靠性和性价比,从而使得DEFT-Cache成为一个针对RAID存储系统的高性能、高可靠性和高性价比的缓存系统。通过测试表明,DEFT-Cache可以提升26.81%到56.26%的系统性能,而且具有非常高的性价比。