论文部分内容阅读
非易失性Nand闪存越来越成为嵌入式移动存储平台的首选存贮介质。Nand闪存存储器的管理主要有两种方法:一种是将Nand闪存存储器模拟成可随意读写的块设备,使用传统的文件系统进行管理;另一种就是针对Nand闪存的存储特性,使用专门设计的文件系统进行管理。目前的Nand闪存文件系统的研究重点主要放在挖掘常规Nand闪存的存储特性上,研究的领域也主要集中在文件系统快速初始化、页面分配、垃圾收集、日志管理、系统崩溃恢复技术等方面。对于大容量Nand闪存以及随之而来的存储特性的改变还缺乏研究。同时对于文件系统使用和访问模式还缺乏考量,特别是对大文件出现频率的升高以及大文件随机访问频率的提高缺乏针对性的优化。本文认为,大容量Nand闪存存储器的块数相较常规Nand闪存没有突破性增长,但块内页面数量较多。基于大容量Nand闪存存储器块内页面集大的特点,可以针对性地设计文件系统。本文提出了数据区段化存贮的思想,所谓区段就是指一段连续的页面集合。所有的存储点都是以区段的方式组织的,文件数据尽可能的存放在一段连续的页中;数据的添加和删除也以区段为单位进行;区段是可伸缩的,并且可以添加、删除、合并、分割。基于数据区段化存贮思想,本文实现了大容量Nand闪存文件系统(HNFS),并详细描述了大容量Nand闪存文件系统HNFS的系统初始化、目录查找、位移定位以及数据读写等核心算法。通过在嵌入式Linux平台上进行了验证,将HNFS加入虚拟文件系统VFS构架中,并与YAFFS进行了比较数据读写性能。结果表明,HNFS文件系统在读写大数量数据时,性能较YAFFS分别有5.9%和3.62的提升。总之,大容量Nand闪存文件系统HNFS相较YAFFS,为大容量Nand闪存提供更好的支持,并具有更好的读写性能。