论文部分内容阅读
计算机技术在飞速地发展,而磁盘的存取速度却提升缓慢,成为了影响计算机系统性能的主要因素。新型的存储介质固态盘(Solid State Driver, SSD)的迅猛发展给存储系统注入了新的活力,SSD读写速度快,特别是随机I/O能力很优秀,只是容量较磁盘小很多,而且价格昂贵。在磁盘向SSD过渡期间,混合存储技术能发挥磁盘和SSD各自的优点,平衡成本和性能需求。开源项目flashcache是混合存储技术的一种实现,它使用SSD作为磁盘和内存之间的缓存,以达到提升性能的目的。Flashcache是一个完整可用的混合存储方案,但其缓存调度方式过于简单,不能充分利用SSD的高性能,可以作进一步改进。在分析了flashcache具体实现的基础上,结合SSD的特性,从性能和数据可靠性两方面考虑,提出了对flashcache的改进方案。使用基树组织管理缓存,对SSD上的缓存块进行全局的调配,提高SSD的利用率和缓存命中率,缩短检索时间。利用双LRU链表的方式识别热点缓存块,当缓存块要被替换时同时回收地址相邻的非热点缓存块,保留了最有缓存价值的缓存块,同时使得对SSD的写入接近于大块写,更好的发挥SSD的性能和维护其写入寿命。引入NVRAM以日志的方式实时保存缓存块元数据改变,一方面可以保证在系统故障恢复后的数据有效性,另一方面避免了元数据实时写入到SSD给混合存储系统带来的性能影响。在flashcache的框架基础上,实现了对flashcache的改进方案,并进行了对比测试。测试结果表明,相对于纯磁盘方案,混合存储方案可以有效的提升数据访问速度、减小访问响应时间,对flashcache进行改进后,性能得到进一步提升。