> кольцевого буфера да еще по возможности self-descriptive то срок жизни флеша
> будет примерно одинаковый вне зависимости от файловой системы. Проблема FAT в том что большинство изменений файлухи приводит к записи в эту область. Чтобы было веселее - флеш крупноблочная штука и не имеет таких понятий как запись. Есть ERASE и есть PROGRAM и в конечном итоге даже мелкие операции ведут к полному циклированию всего крупного блока.
> А если у тебя надо каждые 5 миллисекунд перезаписывать старые данные
> в постоянном хранилище то или у тебя не такой уж эмбед, или ты рукожоп из рукожопов.
Проблема FAT - в сильной асимметрии распределения циклов записи по поверхности накопителя. Поэтому без костылей - блоки под FAT протрутся намного быстрее всех остальных. А заморочки с flash translation layer и wear leveling - ну, в сабже это не заявлено а выписывать ЭТО самому - последнее дело. Даже безопасно разложить FAT по erase blocks немного rocket science. А как тебе перспектива слета boot sector при всего лишь fat update? А потому что если FAT скроить абы как - бутсектор попадет в тот же erase block что и FAT. Здорово. да? :)
> Поэтому и делают FAT - она простая, 100500 реализаций откуда можно копипастить,
> если в грамотно спроектированной системе нет разницы, зачем платить больше?
FAT простой. И делался под флопики и 5.25" жесткие диски на 10 мегабайтов. И "грамотное проектирование" означает или влет на разборки с flash translation layer, или нетривиальную возню с адаптацией софта, а это извините уже не взять произвольную POSIX-совместимую программу уже. Но и перепахать весь софт от и до.
И вот получается что там разрабочтики сэкономили на спичках, а вы тут конем е..ь, да? Вот извините, но сейчас 2016 год. Купить микросхему DRAM менее чем на 32 метра еще отдельно постараться придется, и не факт что дешевле выйдет. А у пингвина например есть файлухи сразу под флеш. С wear leveling'ом встроеным а то и менеджментом дефектных блоков. Вот так вот сунешься в детали - а там дьявол.