论文部分内容阅读
闪存技术的飞速发展,使得固态盘凭借其体积小、能耗低、抗震性强、可靠性高等特点越来越受到人们的关注。闪存转换层(FTL)算法是固态盘控制器的关键技术之一,其性能好坏会直接影响到固态盘的读写性能。目前存在多种FTL算法,但这些算法往往只针对FTL算法的一个方面进行优化,甚至一方面性能的提升会以牺牲另一方面性能为代价。因此,提高闪存转换层算法的整体性能,对提高固态盘的读写性能具有重要意义。本文在对已有的闪存转换层算法进行研究的基础上,提出了基于页组的固态盘闪存转层优化算法(pg-FTL算法),并采用软件仿真和硬件测试的方式对该算法进行评估。首先,从研究基本的闪存转换层算法入手,分析了闪存转换层的地址映射算法、垃圾回收算法以及损耗均衡算法存在的不足之处,提出了设计闪存转换层算法的研究重点以及算法研究的总体方案。其次,本文提出了基于页组结构的地址映射算法,该算法将地址映射表分为通道、页组和页组内偏移三个层级,以解决映射表过大的问题,同时可以利用通道之间的并行性,实现多个请求之间的并行操作。为了减少数据更新引起的数据迁移和垃圾回收操作,结合pg-FTL算法的地址映射的特点,提出了基于日志页组的数据更新机制以及基于页组阈值的垃圾回收算法。为了解决不同物理块擦写次数不均衡的问题,对静态损耗均衡算法进行了优化。然后,为了验证pg-FTL算法的性能,在Flashsim仿真环境下进行了算法的软件设计并搭建了仿真平台。在仿真平台上采用四种真实负载,对pg-FTL算法分别从SRAM缓存区命中率、平均系统响应时间、系统响应时间分布、块擦除次数、垃圾回收的额外读写次数、读写性能等方面进行仿真,并与页地址映射算法、FAST算法以及DFTL算法的仿真结果进行对比分析,结果表明pg-FTL算法在多个方面性能具有优越性。最后,采用通用的硬盘测试工具Iometer,在Jasmine board硬件平台上对pg-FTL算法和页地址映射算法的连续读写速度和4K随机读写速度进行硬件验证,验证结果表明pg-FTL算法的连续读操作性能突出。