The MAX15301 runs a CRC calculation on the contents of the flash memory to check for errors or degradation. This CRC is executed byte-by-byte as part of the 50ms firmware “real-time” service loop, so it takes about 27 minutes and 20 seconds for the full calculation to complete, after initial application of power to the IC.
If the contents of the flash memory change while the part is regulating, during the first 27m20s of operation, the running CRC math is not correctly restarted to check the entire newly-changed contents of the flash, so when it finishes processing a mix of old and new data and makes a compare against the new check value now stored in flash, it fails, and locks down the part on the suspicion of a memory fault.
The cure is to de-power and restart the MAX15301 sometime after doing the STORE_ operation, before the CRC finishes and shuts down. Alternatively, if the STORE_ command is sent after the first 27m20s of operation, there is no CRC in progress to be “broken.”