In general ECC error in FLASH may have following reason:
- Unexpected reset during flash erase or flash program operation
- Wear out of particular flash sector = number of program/erase cycles that device’s flash is capable to withstand is exceeded (in practice, real endurance is greater than specified minimum).
- Over-programming of particular flash area that is programming without erasing. It is basically software fault.
- Soft error (radiation, electro-magnetic interference, or electrical noise) during reading or executing from flash memory
As EEEPROM state machine is autonomous, over-programming does not happen.
Unexpected reset is typical reason of loosing data, EEEPROM is capable to restore previous data.