论文部分内容阅读
近年来,由于NAND闪存具有非易失性、低待机功耗、高密度和抗冲击性等优点,而被广泛应用于嵌入式系统中。巨大的商业前景又促进了NAND闪存技术的快速发展,新型TLC(Triple Level Cell)NAND闪存的存储密度是传统SLC(Single Level Cell)NAND闪存的3倍,是MLC(Multi Level Cell)NAND闪存的1.5倍,且成本更为低廉,逐渐成为主流的NAND闪存存储介质。然而,与传统闪存相比,TLC NAND闪存也有明显的不足,比如:读取/写入延迟高和耐久性低。这些都将成为基于TLC NAND闪存的嵌入式系统的性能瓶颈。因此三星等闪存生产商提供了一种可以在SLC存储模式和TLC存储模式之间自由转换的TLC/SLC双模闪存。为此,本文在基于TLC/SLC双模闪存的嵌入式系统中,重新设计了文件系统的闪存转换层(Flash Translation Layer,以下简称FTL),名为Balloon-FTL,它主要包含两个部分:1)针对TLC NAND闪存性能的问题,采用可以动态转换存储模式的TLC/SLC双模闪存作为嵌入式设备的外存,根据嵌入式终端用户使用特点,提出存储负载感知算法;2)根据嵌入式设备I/O数据访问特性,提出一种混合映射算法。并通过实验证明以上两个算法的有效性。本文具体工作如下:第一,基于TLC NAND闪存的嵌入式系统应用十分广泛,如果不能根据使用情况动态合理划分TLC/SLC双模闪存空间。不仅会增加数据的读/写延迟,同时也会加重对非易失性存储器的磨损。为此,根据终端用户使用特点,本文提出一个存储负载感知算法,通过智能识别系统I/O数据特点,动态划分TLC/SLC双模闪存空间,从而达到降低系统读/写数据延迟,增加非易失性存储器耐久的目的。第二,TLC NAND闪存较高的读/写延迟和较低的耐久为传统FTL的性能带来挑战。为此,根据文件系统I/O特性和时间局域性原理,本文提出一种高精度的数据混合映射策略,以提高系统使用耐久、降低访问延迟,并提升用户体验。最后,本文在Linux系统下开发了一套TLC/SLC双模闪存的仿真实验软件,并验证本文提出算法的有效性。实验结果表明,Balloon-FTL可以有效识别嵌入式终端用户使用特点,动态合理划分TLC/SLC双模闪存空间,有效利用TLC/SLC双模闪存两种存储模式的优点。并且Balloon-FTL可以精确管理I/O数据。在系统性能方面,有效降低了系统读取/写入数据延迟时间,增加了非易失性存储器耐久。