I have a struct which I copy from RAM to the top of the address map, 0x0007C000. When I read the data it will occasionally be corrupted. I can not tell which process is responsible, writing or reading. This corruption is persistent and stay with the struct element. Write / read may operate correctly several times then again go bad. I have been using the code for writing to the flash and reading the data a long time and this is a recent development, within the last 6 months.