Non-volatile Memory Access (NVMEM)

The SLSC chassis firmware reads and caches the module non-volatile memory (NVMEM) at boot time.

This takes several seconds, depending on the size of memory present on the module. Caching the contents allows for the contents to be rapidly accessed when requested through the API.

The Get NVMEM Bytes VI accesses the cached NVMEM contents. To read the cache, the current session must have the specified device reserved for Read-Only or Read/Write access and the logged in user must have the ReadNVMEM permission. Get NVMEM Bytes will return an error if there are uncommitted changes to the NVMEM area.

To avoid wearing out the non-volatile memory by performing unnecessary erase cycles, writing to NVMEM is a two-step process: set the bytes to write, then commit them to hardware. Setting NVMEM updates a per-session, per-module cache, and committing NVMEM writes the cache to hardware with a single erase/write operation. If you close the session without committing the NVMEM areas, the cached data is discarded, including any uncommitted changes. For both set and commit operations, the current session must have the specified device reserved for Read/Write access and the logged in user must have the WriteNVMEM permission.

Changes to NVMEM capabilities or identification areas will become active only after resetting the module. Resetting the module repopulates the NVMEM cache from hardware and applies the newly read configuration, which requires several seconds to complete.