论文部分内容阅读
近几十年来,随着计算机体系结构技术及芯片加工工艺的不断进步,计算机系统的CPU性能与IO性能的差距不断扩大。同时,云计算、大数据、物联网等技术的快速发展也对数据存储提出了更高的要求。这就使得存储系统成为计算机系统的性能瓶颈。相比于传统的硬盘,固态硬盘具有许多优良特性:读写速度快、低功耗和高可靠性等,因此固态硬盘已广泛应用到多个领域。但是固态硬盘也继承了闪存的缺点,如读写不对称性、写前擦除、擦除次数有限等。在固态硬盘中引入缓存区可以有效地缓存频繁访问的数据,减少对闪存的写入次数,从而提升固态硬盘性能。因此固态硬盘的缓存区设计一直是研究热点。首先,已有的页级缓存区算法有较高的命中率,但是会导致擦除次数的增多,而已有的块级缓存区算法则与页级算法的表现相反。所以,已有的算法无法在命中率和擦除次数两方面达到平衡。针对这个问题,本文提出一种基于聚合的缓存区管理算法--GBBM(Group-based Buffer Management)。GBBM 算法将缓存区分成 Page Region和Group Region。页区域以页作为管理粒度,聚合区域则存放从页区域剔除的数据页,并将属于同一个闪存块的数据页聚合在一起管理。本文使用SSDSim模拟器进行仿真实验。实验结果表明,当页区域与聚合区域的空间配置为3:7时,GBBM的性能最佳。与页级算法相比,GBBM的命中率有所下降,但是其擦除次数明显减少;与块级PAB算法相比,GBBM的擦除次数有所增加,但是其命中率显著提升。所以,GBBM在命中率和擦除次数两方面达到了一定程度的均衡。由于2QW-Clock算法没有考虑到写请求大小与更新频率之间的关系,本文对2QW-Clock算法进行改进,提出了一种基于权重的缓存区管理算法--WBBM(Weight-based Buffer Management)。WBBM 引入 LAST算法中的局部性识别模块,将写请求分为Small Request和Big Request,实现了对2QW-Clock算法中写请求的进一步区分。本文使用SSDSim模拟器进行仿真实验。针对写比重大且写请求平均长度较小的Financiall负载,相比于2QW-Clock算法,WBBM的各方面性能更加突出。针对其他类型负载,WBBM与2QW-Clock的表现相近。