12.3 Data Flash Memory (DFM)

The data Flash memory is a nonvolatile memory array, also referred to as EEPROM. The DFM is separate from the Program Flash Memory, which is used for long-term storage of program data. The DFM is mapped above program memory space and is indirectly addressed through the NVM Special Function Registers (SFRs). The DFM is readable and writable during normal operation over the entire VDD range.

Five SFRs are used to read and write to the data DFM. They are:

  • NVMCON0
  • NVMCON1
  • NVMCON2
  • NVMDAT
  • NVMADR

The DFM can only be read and written one byte at a time. When interfacing to the data memory block, NVMDATL holds the 8-bit data for read/write and the NVMADR register holds the address of the DFM location being accessed.

The DFM is rated for high erase/write cycle endurance. A byte write automatically erases the location and writes the new data (erase-before-write). The write time is controlled by an internal programming timer; it will vary with voltage and temperature as well as from chip-to-chip. Refer to the data EEPROM memory parameters in the electrical specifications section for the limits.