If you have data that absolutely cannot be corrupted, then write the data twice in two different blocks. Write a checksum as the last byte of each block.
On power up, read the blocks and recalculate the checksums. Use the first one that matches.