Пусть в одну страницу флеша влазит K записей лога. Пусть страница флеша N - последняя занятая. N+1 - пропускаем. N+2...N+1+K - пишем очередные записи лога по одной на страницу (этой записью в случае сбоя не испортим предыдущие) Когда они записалсь все - пакуем их в одну страницу и записываем в страницу N+1, только после этого считаем N+2 и остальные свободными. При этом сбой во время записи этой составной страницы не испортит последнюю запись лога в N+1+K и после восстановления можно заново спакетировать и затолкать в N+1 После любого сбоя по признакам в записях (последовательный номер, дата-время, ...) можно найти и N и то, сколько отдельных записей в интервале N+2...N+1+K уже есть.