Кольцевая запись во флеш-память это один из самых распространенных методов продления ее ресурса. Однако в дополнение к нему неплохо бы предусмотреть способ записи только в аварийной ситуации, когда пропадает питание или требуется перезагрузка. А уж для трех-то слов и в ОЗУ должно найтись место. ОЗУ не изнашивается так, как Flash. ИМХО внутренняя Flash вообще не предназначена для журналирования. В INFO принято хранить какие-нибудь настроечные/калибровочные/пользовательские данные, которые не меняются столь часто. А для журналирования более подходит внешняя DataFlash, EEPROM, SD/MMC и т.д. с той же самый колцевой записью данных. Но это именно для журнала событий, который имеет большой размер и должен копиться продолжительное время. Например, в течение 2-3 лет, пока прибор не будет подвергнут очередной поверке. Если же требуется сохранять часто, понемногу и не нужно копить эти данные, то предпочтительнее реализовать отдельную цепь, которая будет сигнализировать об аварийной ситуации или использовать энергонезависимое ОЗУ (часто в RTC имеется место) или FRAM какую-нибудь. И производить сохранение данных, только в аварийном режиме. Кстати, DataFlash для этого подходит весьма неплохо, т.к. имеет свой собственный буфер. А запись из буфера во Flash одной командой выполняется.
|