文献综述(或调研报告):
(1)文件系统
目前主流的文件系统主要有NTFS、FAT、EXT、JFFS和YAFFS等。
NTFS(New Technology File System)是微软开发的Windows专用文件系统。NTFS是一种日志文件系统,能够保证数据的安全,具有良好的稳定性,并且NTFS使用B 树的数据结构来实现[1],因此具有较高的性能。因此NTFS在PC上得到广泛应用。为保证数据读写正确无误,NTFS在文件写操作中插入许多过程数据[2]。嵌入式设备如手机、单片机、树莓派和Minisys-1B等,一般都采用NAND Flash和/或NOR Flash作为外部存储介质[3]。然而Flash的擦写次数十分有限——SLC NAND Flash每块擦写次数约10万次,而MLC NAND Flash仅1万次左右[4]。因此NTFS并不适合作为使用Flash存储器的嵌入式系统的文件系统。
FAT(File Allocation Table)文件系统具有简单、兼容性好的特点,又具有通用FAT文件系统模块FatFs的支持,因此FAT文件系统被广泛运用在手机等民用嵌入式设备上。如果在向Flash写入数据时发生系统崩溃、掉电等意外情况,可能会导致数据丢失。这是因为诸如FAT的非日志文件系统只能通过恢复的方式来修复损坏的数据。当文件系统增大,恢复的开销将随之增大。甚至如果损坏的是系统的重要文件,系统将无法启动。基于日志的文件系统就能很好地解决这个问题。
与基于日志恢复的数据库类似,日志文件系统将所有元数据按顺序写到日志中[5],以便出错时根据日志有效、快速地恢复数据,从而提高系统的可靠性。FAT和EXT(Extended File System)文件系统在存储器的固定位置集中存放其索引信息[6][7][8]:FAT文件系统的FAT表和EXT文件系统的Inode表。如前面所述,在没有日志记录的情况下,写入数据有可能导致数据丢失。将索引信息固定存放在Flash的固定区域是不明智的,因为索引信息需要频繁更新,因此索引信息存放区更容易出现因意外而导致数据丢失的情况。因此EXT2的后续版本EXT3和EXT4均采用了日志的方法来提高数据安全性[7][8]。
除了EXT3、EXT4之外,JFFS和YAFFS也是基于日志的文件系统[9][10]。
JFFS(Journalling Flash File System)是针对NOR型Flash设计的文件系统,其存储结点长度不定,加载时需要扫面整个存储区,运行效率较低[9]。Minisys-1B使用以NAND为存储介质的TF卡作为辅存,显然JFFS不适合作为Minisys-1B的文件系统。
YAFFS(Yet Another Flash File System)是专门为NAND型Flash设计的基于日志的文件系统[10]。YAFFS利用每个页面16字节或64字节的备用空间来存放ECC和文件系统的组织信息,以此来实现错误检测和坏块处理。此设计充分考虑了NAND型Flash以页面为存取单元的特点,将文件组织成固定大小的数据段,提高文件系统的加载速度。
(2)存储管理系统
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。