闪存具有异地更新、读写代价非对称、写前擦除、读代价小、功耗低等特征,与传统的磁盘存在巨大的差异.所以针对不同的存储介质需要采用不同的管理策略.为了提高闪存效率,缓冲区的管理尤为重要.传统的磁盘缓冲区管理算法不能适应闪存特征,无法满足闪存缓冲区的高效管理.为了优化现有缓冲区替换算法以适应闪存存储介质,本文提出了一种代价敏感的缓冲区替换算法,FSO-LRU,用于提高闪存效率.该算法的优势在于考虑了不同缓存页的不同替换代价和不同重用概率,每次替换对系统性能影响最小的缓存页进行替换,从而保证了系统的性能.因此FSO-LRU算法将传统的缓冲区物理页的LRU列表分为四个LRU列表,热干净LRU列表、热脏LRU列表、冷干净LRU列表、冷脏LRU列表,根据每个LRU列表的特征,考虑四个列表的重用概率,尽量保证优先替换重用概率低的物理页,因为替换重用概率低的物理页所需的代价更低;同时考虑读和写闪存所需的代价差异很大,写闪存的代价远远高于读闪存的代价,优先替换不需要写闪存的物理页,减少系统代价.通过大量的实验结果表明本文提出的FSO-LRU具有很大的优势,对比现有算法,能提升较大的性能.
Different from traditional disk,flash memory has characteristics of out-of-place update,asymmetric I/O costs for read and write,erase-before-write,low cost for read,low energy consumption. Therefore,different storages need different management policies. The buffer management is key to improve flash performance. Current buffer management algorithms are based on disk,which don′t take flash characteristics into consideration,therefore,can′t be adopted for flash. This paper proposes a cost-aware fine grain replace-ment algorithm for buffer management in flash memory (FSO-LRU) to improve flash efficiency. The most advantage of the proposed algorithm is taking both reuse possibility of different buffer page and evict cost into consideration,evicting the page with minimal im-pact on system performance for improving performance. Therefore,FSO-LRU partitions the traditional LRU list into four lists,hot-clean LRU list,hot-dirty LRU list,cold-clean LRU list,cold-dirty LRU list,and analyzes reuse possibility for each LRU list based on each LRU list characteristic. Evict low reuse possibility page more priority for low cost. Moreover,evict page of no-write priority,be-cause the cost for write is much more than read. According to many experimental results,the proposed FSO-LRU behaves better than most current algorithms.