论文部分内容阅读
近年来,NAND闪存凭借其抗震能力强、低能耗、非易失性和高性能等优点,正逐步的应用于嵌入式系统和企业级服务器之中。相对于传统的磁盘,NAND闪存具有异地更新、I/O读写速度不对称和写前擦除的特点。当前对于NAND闪存缓冲区管理算法的研究,其地址映射的算法没有考虑地址请求本身的特性,从而缺乏精确性及灵活性。同时,目前的页面替换算法中没有很好的结合页面访问的局部性特点,其性能仍有待提高。本文从两个方面针对闪存的特性设计了新颖的缓冲区管理算法,分别是页地址映射算法和页面替换算法,最后通过实验分别验证了所提出方法的有效性。本文的创新点和主要工作体现在如下方面:1.针对现有的页地址映射算法中没有根据工作负载,有选择性的去缓存页地址,本文提出了一种名为DPAM(Demand-based Page-level Address Mappings)的基于请求的NAND闪存页地址映射算法。根据映射信息访问的频繁程度,使用冷地址映射表和热地址映射表,在冷地址映射信息表中进行替换操作。此外还加入了地址连续的概念,以此扩大缓存映射表的地址映射范围,提高映射的命中率。2.针对现有的页面替换算法中,没有针对页面访问的局部性特点而导致的命中率不高的问题,本文提出了一种名为PR-LRU(Probability of Reference LRU)的基于访问概率的NAND闪存缓冲区页面替换算法来提高闪存性能。将之前访问页面的历史记录通过变量的方式计算页面的访问概率,预测一个页面在未来是否可能继续被访问。此外,本方法还额外使用了一个驱逐LRU队列,给予本应该被替换出缓存的页面第二次机会,以此提升页面命中率。3.本文使用了FlashSim和FlashDBSim两款仿真的闪存实验平台,模拟了闪存的芯片,实现了DPAM算法和PR-LRU算法。通过多组实验分析,从命中率、写操作数和运行时间方面验证了本文方法的有效性。经过对比实验后发现DPAM与DFTL算法相比较提高了7.11%命中率和降低了7%块擦除次数。本文的PRLRU与的AD-LRU算法相比在命中率方面提高了7%,在运行时间方面提高了5.1%。