Saving memory to internal / external flash

As already stated by allanhursdt, IMO a circular buffer and wear levelling to emulate EEPROM in Flash is by far the best option. There is an application note from Atmel for wear levelling: