论文部分内容阅读
闪存是一种可电擦除编程的只读存储器(EEPROM),由于具有非挥发性(掉电时内容不会丢失)、高密度、低功耗及抗震等优点,闪存成为嵌入式系统中磁盘存储设备的理想替代器件,如掌上电脑、智能手机,数码相机等。
闪存具有不同于其它存储介质(如磁盘)的物理特性:
(1)闪存在重写之前必须先进行块擦除且每次擦除较大的块;
(2)每个块只能擦除有限次。
针对这两点,研究者提出了很多数据结构和算法来高效地使用闪存,它们支持数据异地更新,尽量减少擦除次数,确保闪存的均衡磨损。随着电子技术的发展和闪存容量的不断增加,如何有效管理大容量闪存设备成为闪存管理技术研究领域的重要课题之一。而最初基于小容量闪存而设计的文件系统普遍存在规模可扩展问题,主要表现在:随着闪存容量增加,需要更多内存空间用于文件索引信息存储和文件系统挂载时间越来越长。
本文在对目前应用较广的JFFS2闪存文件系统深入研究的基础上,针对现有闪存文件系统管理大容量闪存出现的规模可扩展问题,从改变文件系统的基本结构入手,设计并实现了采用树型索引结构的嵌入式闪存文件系统SFFS(scalable flash file system)。SFFS在闪存上存储文件的索引信息,在不影响闪存均衡磨损的前提下在闪存固定位置存储文件系统超级块的链接信息,文件系统挂载时间和运行时的内存占用均与闪存容量无关,利用分级群聚的思想递归解决了由于在闪存上存储索引信息造成的闪存垃圾回收问题,较好地解决了大容量闪存文件系统的规模可扩展问题。
本文最后对实现的原型进行了测试,并对测试结果进行了分析和评价,结果表明该文件系统挂载速度快,内存占用少,具有较高的效率和可靠性。