Many embedded designs depend on battery power, often using a removable battery, and power loss occurs far more frequently than in a desktop situation. To properly handle unexpected power loss, operations must be planned for and contingencies made to clean up the mess afterwards.
As an early option for data organization, the FAT file system attained a certain ubiquity. This paper examines underlying mechanisms used by the FAT file system, characteristics that leave it vulnerable to corruption, and some ways vendors (including Microsoft) are trying to make it more reliable. Are they successful? Can reliability be achieved without sacrificing interoperability? Is the performance cost worth the benefit?