Datalight developers know the danger of power interruption on embedded devices, and we also know the FAT file system well. In my 10 years as a software engineer on ROM-DOS, the internals of our FAT implementation were of daily interest. Recently, I put this knowledge to use in exploring how other developers have tried to make the legacy FAT file system more reliable while remaining exchangeable.
These operations are designed to improve the reliability of FAT media, and are somewhat successful in preventing the complete corruption of the file system data structures, but are rarely effective in protecting the user data. Some solutions can go further and, similar to Linux, can journal the user data, but these mechanisms greatly reduce performance, which is a cost too high to bear for most embedded designs.