Если вы ожидаете внезапного отключения питания, вам нужно отключить все кэширование / буферизацию при записи в файл. Конечно, вам также придется иметь дело с частично написанными файлами, но это должно по крайней мере предотвратить конечный мусор.
Я не знаю, какой API вы используете, но это можно сделать, подключив диск «синхронно» (например, mount -o sync
в Linux) или открыв отдельные файлы с определенными параметрами. Если вы отключите буферизацию при записи отдельных файлов, тем не менее, вы все равно рискуете повредить FAT и потерять все файлы.