Font Size: a A A

The Analysis And Improvement On Journaling Flash File System

Posted on:2005-04-09Degree:MasterType:Thesis
Country:ChinaCandidate:Q H LiuFull Text:PDF
GTID:2168360152969240Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
JFFS2 is a log-structured file system designed specifically for use on Flash Memory in embedded systems. As a purely log-structured file system, JFFS2 adopts a new storage format, which supports wear leveling and supply power-failure protection. Therefore, as compared with EXT2, JFFS2 is more efficient for use in embedded systems based on Flash memory. At present, JFFS2 file system has trended toward maturity and perfectness. But there is still a certain distance between JFFS2 itself and special requirements of embedded applications. It primarily behaves in three aspects: longer mount time, absent fault tolerance, ineffecient data storage management. Therefore, it's necessary to improve JFFS2 on the basic of understanding Linux kernel in order to satisfy special requirements of embedded applications.Firstly, to resolve the problem that it takes long time to mount JFFS2 in embedded equipments, a new nodetype is defined and implemented, which is used to describe related information on Flash eraseblock, and which makes it enable that JFFS2 can directly read this kind of raw nodes to establish a related block-map in memory. Meantime, in respect that R/W operations are comparatively less in use of embedded products, we can bring building a full map of data for each inode forward before the file operations in order to reduce the time for reading data on Flash in mount process.Secondly, considering the data characteristic in embedded applications and the limitation of JFFS2 check mechanism itself, a fault tolerance is proposed which is based on storage contents. In Flash file system, according to difference integrality requirements, the data is divided into several classes, such as 0_class pure data and 1_class multimedia data. Then for different class data, different check arithmetic are adopted: Extended Hamming Code is used for 0_class data, which will automatically modify bit_error in time to insure the integrality and reliability of key data; CRC arithmetic is used for 1_class data, which will find errors before the related data nodes is marked "obsoleted".
Keywords/Search Tags:Embedded System, Flash Memory, JFFS2, Virtual File System, CRC, Extended Hamming Code
PDF Full Text Request
Related items