Power Fail Safe FAT File Systems for Embedded Linux

“The FAT file system is a widely used file system for mobile phones and other embedded devices for Multi-media applications such as MP3, video images and recording. This is because of FAT is Desktop PC compatible. But, the FAT file system is susceptible to power-failure causing corruption of file system Meta data and user data. In embedded environment corruption of data is undesirable. This paper implements a mechanism to log all file system operation and then committing to the FAT table and directory entries. This paper modifies the FAT file system pattern on storage device without affecting Windows compatibility. The expected audience for this proposal are Engineers working on storage driver and file systems.The Design of making power-fail safe FAT file system without breaking the compatibility is depicted.”
-Keshava Munegowda (Texas Instruments)

The aim of this project is to implement the Power Fail Safe FAT File Systems for the free and open source linux OS, as suggested by Mr.Keshava Munegowda of Texas Instruments in his Paper titled “Power Fail Safe FAT File Systems”, presented at the Embedded Linux Conference, San Francisco, CA.
The need for failsafe FAT file system:
FAT File system is not power fail safe. This means during file or directory update if there is uncontrolled power loss, then it can cause incorrect file system update.
Files are data of the directories; Typically the File/directory information such as file/directory name, extension, attribute, size, and starting data cluster number are stored in the form of 32 Byte Directory Entries.
Meta Data of the file/directory means – FAT entries specify the cluster chain of the file/directory – 32 Byte Directory Entry
Incorrect Update of File system Meta data corrupts the organization of files/directories and hence creates garbage data.
File system format is typical solution to re use the storage device; but it is not recovery.
In FAT, the update of FAT entries and directory entries should be logged or should be atomic operation.


Project by:
Team from PES School Of Engineering, Bangalore

Theme provided by Danetsoft under GPL license from Danang Probo Sayekti