NVM Sub-Layer

The NVM abstraction manages the following functionality:

From the above points, the PDS module is designed in such a way that a row can be treated as the smallest possible NVM element that can be maintained with least possible code. In SAM R34, the size of the NVM Row is 256 bytes. In the NVM sub-layer, each row is given a logical row number in EEPROM Flash section or code Flash section. So, this abstraction manages the map that involves in the translation of logical row number to physical address. If more memory is required it can be added by updating this mapping table.

The integrity of the data storage is done by calculating the 16-bit CRC for the data to be stored. This calculated CRC is also stored along with the data in NVM, so that while reading back the integrity of the data can be checked.