Рекомендую ознакомиться с аппнотом STM "eeprom emulation" как
список идей. Упрощённо так: модификации все в буфере в RAM,
записываем следующий, сохраняя предыдущий (copy on write), при
чтении берём последний целый(валидный). Хорошо использовать
несколько страниц для размазывания износа и возможности чтения при
ошибках. И помните, что контроллер на время записи заблокирует
флешь, где хранятся обработчики прерываний...