几种Nand flas文件系统的对比1.来源:NLE-FFS: A Flash File System with PRAM forNon-linear EditingFor thesedevices, NAND flash memory has became the most attractive storage medium due to outstanding characteristics such as its increased capacity, low power consumption, small size and light weight. For the efficient management of NAND flashmemory, several flash file systems have been proposed, including JFFS2, YAFFS2, CFFS and PFFS. several file systems such as MNFS,NAMU and ScaleFFS have been designed forreal-time recording /playback and large-capacity storage. A. YAFFS2YAFFS2 is the most widely employed file system for NAND flash memory. YAFFS2 essentially saves the object ID (file ID) and the chunk (page) number in the spare region to show the offset of a page and the owner file of the page. Therefore, YAFFS2 reads the spare regions and object headers to establish the metadata in memory.Although YAFFS2 is designed to support NAND flash memory, it has scalability problems. With YAFFS2, the location of the updated page is saved in NAND flash pages or spare regions, as shown in Fig. 10 (a); hence, the file systemshould scan the entire flash space at the mounting time. Moreover, the entire directory and file system structures must be saved in main memory at that time. Thus, the mounting time and the memory usage are increased linearly according to the NAND flash size and the number of files.YAFFS2 has another problem in which many pages are consumed during metadata updates. The metadata are frequently updated and most of the metadata updates are performed in several bytes. Metadata updating creates large numbers of invalid pages. This severely degrades the write performance due to garbage collection, as byte-level updates and in-place updates are not allowed in NAND flash.B. PFFSTo address the problems with YAFFS2, PFFS wasproposed [4]. In PFFS, an architecture using PRAM and NAND flash memory is employed. In this file system,metadata are separated and stored in the PRAM region,whereas the other data are stored in the NAND flash memory region, as shown in Fig. 10 (b). Metadata separation has two advantages. First, the overhead of metadata updates is reduced. As shown in Fig. 10 (a),YAFFS2 writes 2KB of a NAND flash page for each metadata update. As the metadata are frequently updated and most of the metadataupdates are performed in several bytes, metadata updates with YAFFS2 create many invalid pages. This leads to severe performance degradation due to garbage collection. However, PFFS writes metadata in units of bytes, as it maintains metadata in the PRAM region as shown in Fig. 10 (b). Consequently, metadata separation by PFFS reduces the number of page-writes on account of in-place updating and byte-level updating. Second, PFFS requires only a short mounting time and uses a fixed amount of memory, whereas other flash file systems such as YAFFS2 require a considerable amount of time to scan NAND pages to construct in-memory file and directory structures.However, PFFS is also a general-purpose file system; thus,it does not sufficiently consider NLE operations. In this paper,to effectively support NLE, NLE-FFS is proposed. It is based on the architecture shown in Fig.3.2.来源:An Efficient Multimedia File System for NAND Flash MemoryStorageJFFS2 (Journaling Flash File System 2) [4] is a log structured file system designed for NAND flash memory in embedded systems. It has been widely used due to its excellent stability. JFFS2 saves only the altered contents into the file system. JFFS2 compresses both metadata and file data to reduce write overhead and to utilize the space efficiently.JFFS2 loads valid pages from NAND flash memory into main memory during mount and generates file metadata and index entries of file data by reading the pages from cache or NAND flash memory whenever a file is accessed. Therefore, because all the valid pages must be read in during mount, the two main problems of JFFS2 are mount time and memory usage. In addition, JFFS2 has high read/writeoverheads.YAFFS (Yet Another Flash File System) [5], the first file system developed for NAND flash memory, has better performance than JFFS2 in terms of read and write operations,file system mount time and memory usage. YAFFS2 [5] has been developed based on YAFFS to support large block flash memory. For file write operations, YAFFS stores metadata of a file first into a page, and saves the file ID in the spare area of all pages belonging to the file. Because YAFFS does not compress data while JFFS does and manages data in page units, the size of file data’s index is smaller than that of JFFS2. Further, since all metadata of files and index entries of file data are stored in main memory, page access latency of YAFFS is shorter than that of JFFS2. YAFFS reduces the mount time when compared to JFFS2 by scanning only the spare areas instead of the entire NAND flash memory during mount, but its mount time still increases linearly as the size of the NAND flash memory increases.NFFiS (Nand Flash memory File System) [6], which is afile system based on YAFFS, utilizes a logical block. Each logical block consists of two or more contiguous physical blocks, and the indexes of all file data existing in the logical block are stored in its last page. Thus, it needs to scan justthe last page of each logical block during mount. NFFiS’s mount time also increases linearly as YAFFS2, but is shorter than YAFFS2’s. Data loss may occur, if a file system terminates abnormally due to unexpected hardware errors such as power down. NFFiS rolls back files which have not been closed yet at the time of error to its previous safe state for error recovery. In addition, since NFFiS adopts a caching policy based on a careful analysis of file usage patterns, NFFiS’s read/write performances are better than both JFFS2’s and YAFFS2’s.CFFS (Core Flash File System) [7], which is another file system based on YAFFS, stores index entries and metadata into index blocks which are distinct from data blocks. Since CFFS just reads in the index blocks during mount, it has a faster mount time than YAFFS2. Furthermore, frequently modified metadata are collected and stored into index blocks, garbage collection performance o f CFFS is better than YAFFS2’s. However, since CFFS stores the physical addresses of index blocks into the first block of NAND flash memory in order to reduce mount time, and the first block is frequently erased, wear-leveling performance of CFFS get worse.The performance of sequential reading and writing of NANDflash memory is 20~30% better than that of its random reading and writing [10]. It is important to attempt sequential writing as long as possible for fast reading performance especially for large-capacity files such as multimedia files.The existing file systems have not paid any attention to supporting the sequential read and write operations of NAND flash memory. In addition, since the file systems manage data in page units, their memory usage increases linearly as the number of used pages increases.。