NVM Layout#
The non-volatile memory management system, called non-volatile memory 3 (NVM3), is a data storage driver for storing persistent data primarily, but not only, in internal flash. The term "non-volatile" and "NVM3" are synonymous in this section.
Using Third Generation Non Volatile Memory Data Storage describes in detail how NVM3 operates. The NVM3 subsystem allocates a certain range of address to both the user and the Bluetooth LE and Bluetooth mesh stacks, among other things. The following table shows what key ranges are dedicated to the stack and the user:
Domain | NVM3 Key Range |
---|---|
User | 0x00000 - 0x0FFFF |
Bluetooth stack | 0x40000 - 0x4FFFF |
The Bluetooth stack key range is shared between regular Bluetooth Low Energy and Bluetooth mesh. Within this key range, the distribution is laid out as follow:
Domain | NVM3 Key Range |
---|---|
Bluetooth internal stack data (bonding, etc.) | 0x40000 - 0x40FFF |
Bluetooth mesh stack data | 0x41000 - 0x44000 |
Reserved for future use | 0x48000 - 0x4FFFF |