Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

Changing non-volatile registers at bootup – KBA239670

Changing non-volatile registers at bootup – KBA239670

50 replies posted 25 likes received 25 replies posted

It is not recommended to change non-volatile (NV) registers at every boot up because NV registers have limited program/erase (P/E) cycles. Frequent changing of non-volatile registers will wear out NV registers soon and are vulnerable to sudden power loss events that can corrupt the NV registers.

Non-volatile register settings survive from power cycle and hardware reset. Normally, non-volatile register settings are used at flash initialization (i.e., power up or hardware reset). To reconfigure registers after every boot, it is suggested to change volatile registers.

During power up, hardware reset, or software reset, the values of volatile registers are automatically loaded from the non-volatile registers. When writing to non-volatile registers, the corresponding volatile registers are also updated with the new data. When writing volatile registers, the non-volatile registers are not impacted and retains the old data. The flash device behavior is determined by the volatile register’s settings.

When writing to the non-volatile registers, ensure that there is a stable power supply without any disruptions, and that no hardware reset is initiated. If a power loss occurs or a hardware reset is initiated while writing to a non-volatile register, the write register transaction gets interrupted and the non-volatile register data can be corrupted. It is recommended to minimize the write operations to non-volatile registers unless absolutely necessary.