论文部分内容阅读
NAND Flash存储器凭借其容量大、抗震动、性价比高等优点,在嵌入式系统中作为数据存储设备被广泛使用。NAND Flash专用文件系统的设计与开发也成为嵌入式开发领域的重要内容之一。特别是随着NAND Flash的容量不断提升,如何有效针对其物理特性的变化,为嵌入式系统提供高效可靠的文件系统支持,是本文研究的出发点。基于课题项目中对VxWorks下大容量NAND Flash设备存储系统设计需求,利用MPC8379E微处理器和VxWorks6.6操作系统的嵌入式开发平台,本文进行了以下研究及实现工作:1)通过研究VxWorks I/O系统下的块设备驱动机制及其文件系统特点,针对VxWorks兼容的TrueFFS驱动技术对大容量NAND Flash不能提供较好支持情况,提出了实现大容量NAND Flash设备存储系统的两种方法:移植NFTL模块或移植YAFFS2文件系统。移植的前提是首先实现NAND Flash设备驱动。2)通过分析MPC8379E硬件体系结构及其Flash控制单元(FCM)接口特点,NAND Flash的接口及操作方式,在研究了VxWorks的设备驱动机制基础上,实现了VxWorks下NAND Flash设备硬件驱动程序。3)通过研究NFTL的存储管理机制,实现NFTL向VxWorks下的移植。在此基础上实现了VxWorks下的基于TrueFFS的NAND Flash文件系统。4)通过分析NFTL应用在大容量NAND Flash存在的缺陷,利用大容量NAND Flash的硬件特性及结构特点,从挂载速度、读写效能及可靠性方面对NFTL进行了优化设计和实现。5)通过研究YAFFS2文件系统的实现原理及其Direct方式的接口特点,基于VxWorks下I/O系统与文件系统之间的关联分析,实现了YAFFS2文件系统向VxWorks操作系统的移植。最后,基于上述在VxWorks系统平台下为大容量NAND Flash实现的这两种文件系统:利用转换层NFTL与类日志结构的YAFFS,进行了性能测试对比。数据表明,这两种文件系统各有优劣,需要在不同应用环境下适时选择使用。