论文部分内容阅读
在以往嵌入式系统主要在控制领域应用,在数据存储方面的要求并不是很高。但随着信息技术的不断发展,嵌入式技术在诸多领域得到广泛应用,嵌入式系统中要存储的数据信息量不断增长,对数据存储和管理的需求越来越高,所以嵌入式文件系统的研发有着重大现实意义。由于嵌入式设备在体积、功耗、防震等方面比较苛刻。Flash存储器具有体积小,存储容量大,能耗低,性价比高等特性,相比于传统存储介质,更适合在嵌入式系统中储存数据,已经成为是嵌入式系统中主要使用的存储介质之一。目前,已经出现很多针对闪存的嵌入式文件系统,但仍然存在许多的不足,包括启动加载时间长,内存消耗多,磨损平衡不充分等。本文针对当前NAND Flash嵌入式文件系统的各种不足,分别提出了优化的方法。(1)启动加载时间长问题。在现有的NAND Flash文件系统YAFFS中,一个块中(block)同时存放文件属性信息和文件数据,启动时要扫描完整个Flash中的块。本文通过改变了文件存储格式和管理方式,将文件属性与文件数据存储于不同的擦除块,启动加载时只扫描存储属性的擦除块,从而减少启动加载时间。(2)内存消耗大问题。因为系统把大量控制信息均存储在内存中,使内存消耗大。本文借鉴程序局部性原理,仅在内存中保存最近访问的文件信息,减少文件系统对内存的占用。(3)磨损平衡问题。本文通过将数据分成冷热数据两类,把它们交替地储存在不同类型的空闲块上,从而达到擦除块间的磨损均衡。依据上述方法,在研究现有YAFFS文件系统的基础上,设计了一个新的NAND Flash文件系统—-NFFS。在测试中,NFFS启动加载时间相比减少,内存消耗也减少,磨损更加均衡,达到了预期的效果。但是系统读写数据的速度因此受到影响,有所下降。最后把该文件系统应用于一个实际项目《食品安全追溯系统》中,以文件的形式保存交易的记录,基本满足项目的要求。下一步工作就是不断改进系统的设计,进一步完善系统功能,提高系统的稳定性和鲁棒性。