论文部分内容阅读
闪存因具有良好的读写性能,所应用的范围越来越广泛。然而,闪存芯片的工艺制程减小和密度提高,却使得闪存芯片可靠性降低,造成基于闪存的固态盘更容易发生保留错误。固态盘发生保留错误的原因有两个:一方面,随着闪存物理块已擦写次数的增加,氧化层的退化造成电荷更易泄露;另一方面,电荷的自发移动也影响阈值电压。为了尽量减少保留错误,提出了保留时间感知的闪存转换层(Retention-time Aware Flash Translation Layer,RA-FTL),以保证固态盘的可靠性。保留时间感知的闪存转换层包括物理块分类模块、控制数据布局的地址映射模块、保留时间检测模块、重映射模块和动态阈值的垃圾回收模块。首先,将闪存物理块根据其保留时间分类,分为最长保留时间物理块、次长保留时间物理块和普通保留时间物理块。其次,地址映射时,为待写入的数据分配普通保留时间物理块。保留时间检测模块定期对有效物理块的保留时间进行检测,将低于阈值的有效物理块的有效页交由重映射模块进行迁移。重映射模块选择最长保留时间物理块作为迁移目的物理块。随后,垃圾回收时,综合考虑闪存物理块的无效页数量与有效数据页的已保留时间选取待回收块,将接近保留时间阈值的有效数据提前迁移,选择次长保留时间物理块作为迁移目的物理块。RA-FTL利用其地址映射、保留时间检测、重映射以及垃圾回收过程实现对数据的分类存储。写入的数据默认映射到普通保留时间物理块;交由重映射模块迁移的有效数据所需的保留时间最长,放置到最长保留时间物理块;垃圾回收时有效数据迁移到次长保留时间物理块。测试结果表明,与定期重映射方案相比,RA-FTL方案平均减少37.1%的擦除次数和10.3%的写平均响应时间;和更新最小化方案相比,RA-FTL方案平均减少2.3%的擦除次数和12.1%的写平均响应时间。因此,RA-FTL方案既减少了保留错误,又降低了对固态盘寿命和性能的影响。