论文部分内容阅读
闪存(Flash Memory)是一种的非易失性,在断电情况下仍能保持所存储的数据信息的存储器。目前,闪存已被广泛应用于各种便携式和嵌入式设备中,如掌上电脑、智能手机、数码相机、MP3、MP4等等。随着嵌入式和移动计算技术的发展,嵌入式应用所要存储的数据量在不断增加。另一方面,随着闪存制造技术的不断发展,闪存容量也在不断增加,性价比得到进一步提高。而闪存文件系统对闪存性能的发挥起着至关重要的作用,目前闪存文件系统可分为两大类:集中索引的闪存文件系统和专门针对闪存而设计的文件系统。前者通过转换层将闪存模拟成可随意读写的块设备,然后使用传统的磁盘文件系统,如FAT32、EXT等,然而这种方式没有结合闪存硬件自身的特点,无法使闪存性能及优点充分发挥。后者针对闪存的特性,设计特殊的文件系统,为现在闪存文件系统研究的主流,目前已出现多种基于闪存的文件系统,如JFFS/JFFS2、YAFFS、LFM等。本文在充分研究了当前主流闪存文件系统JFFS2的结构的基础上,分析了它的优缺点,认为JFFS2不能适应闪存容量扩展的原因在于,JFFS2不保存文件的索引,所有文件系统的结构和索引都是通过挂载时扫描整个闪存在内存中建立起来的,这样内存的消耗及挂载时间都与闪存容量成正比,当闪存容量很大时,这个代价是非常高并且不被接受的。在本文中,我们提出了一种基于大容量NAND闪存的文件系统LFFS(Large Flash FileSystem),LFFS文件系统将文件的索引信息直接存储在闪存上,并设置闪存超级块结构,实现文件系统的快速挂载。同时,我们引入闪存区域概念,并提出区域映射表,来解决闪存上垃圾回收引起的问题。在系统测试中LFFS表现出良好的性能,但距离文件系统的实际应用还有一定距离,在以后的工作中我们将不断改进系统设计及其功能,完善系统的稳定性和健壮性。