论文部分内容阅读
随着嵌入式设备的快速发展和普及,大量的嵌入式应用被设计和开发,而NAND闪存凭借非易失性、低功耗、高性能、抗震动等特点,成为当前各类嵌入式系统的重要存储设备。由于“异地更新”和“有限擦除次数”的限制,闪存中设计有专门的存储管理系统一闪存转换层(Flash Translation Layer)来管理各项存储活动。目前,闪存存储管理系统的研究工作主要针对闪存的性能和使用寿命设计优化,并没有兼顾考虑嵌入式应用的需求和特点而做出整体设计。嵌入式应用系统中往往具有时间约束、资源受限和持久运行的需求,因此如何设计闪存存储管理系统以满足嵌入式应用的需求成为一个重要的问题。本文针对嵌入式应用的时间约束、资源受限、持久运行等需求,从地址映射、垃圾回收、均匀磨损等三个方面展开闪存存储管理系统的设计与实现技术研究,主要工作包括以下几个方面:1.针对嵌入式应用的时间约束需求,分析目前闪存存储系统无法满足给定时间约束的原因,借助空间分配和分步垃圾回收技术,在保持平均性能的基础上,设计满足最差时间约束的垃圾回收机制。在此基础上,在基于需求的页级地址映射技术中引入面向时间约束的垃圾回收技术,设计了一种数据块和地址转换块协同垃圾回收机制,提升了整个闪存存储管理系统满足时间约束的能力。2.闪存存储管理系统往往采用基于需求的页级地址映射来降低内存开销并保持高性能,然而这种地址映射可能存在大量额外开销。针对嵌入式应用的资源受限需求,通过分析由地址映射产生的额外开销对性能的影响,设计了面向地址转换页的数据聚集技术。通过维护地址转换页对应的写指针,优化闪存地址访问,降低了地址缓存和地址转换的开销,提高了资源受限下闪存存储系统的平均性能。3.针对嵌入式应用的持久运行需求,设计对应的均匀磨损和断电恢复策略,包括新数据块分配、热/冷数据交换和垃圾回收数据块选择策略,通过平衡热/冷数据和数据块各自的擦除次数,提升闪存存储系统的使用寿命。通过存储元数据和利用反向页级映射表存储技术,确保在闪存断电后可以恢复地址映射数据。4.基于上述工作,在基于Disksim的通用闪存存储系统仿真平台FlashSim上实现了闪存存储管理系统,并使用了一系列访问数据集进行评估。在此基础上,在Tiny6410嵌入式开发板上进行了实现,运行多个Benchmark进行实验评估。实验结果表明,我们的系统在满足时间、资源、持久性运行需求方面具有优势。相比现有技术,保持了较高的平均性能,降低了空间开销并能提高闪存系统的使用寿命。