I am designing an ARM Cortex M4 board and I have to store about 1Mbit of data that gets occasionally changed, say maybe 1000 times over 5 years. I am also adding SRAM that would be mapped into MCU address space. At start-up I copy the data from Flash into SRAM and when it changes I write it back to flash.
Can someone recommend a good storage solution, if using NOR flash I can map the memory into the MCU space while if I use NAND flash I can use the NAND controller but no longer parallel mapped addressing. NAND is cheaper but do I really have to implement ECC for those chips, apparently they came out of the manufacturer with some bad blocks. Using NOR is not that expensive considering I need a small amount of flash, any downsides (I have read the speed consideration), do I still need to implement the wear-off algorithm? I have used in the past to map SRAM into AVR devices, there was no need to program them at all just enable the registries, I would assume this is the exact case with ARM as well (I can read the datasheet and find out).
I am also thinking to battery power the SRAM and live with that, no flash at all.
What would you normally use in such situation?