When will Volatile Register be updated if Nonvolatile Register is modified in Semper™ Flash?
Semper Flash contains Volatile registers and Nonvolatile registers for configuring the flash behaviors. Volatile registers provide an easy way to configure flash during run-time. Nonvolatile registers retain the configuration when power is turned off. During flash power-on initialization, the nonvolatile register configurations are loaded into the volatile registers. The volatile registers then determine the flash behaviors.
During run-time, modifying volatile registers take effect immediately. The relevant nonvolatile registers remain unchanged. When modifying a nonvolatile register, (i.e., using the Write Any Register (WRAR) command programming nonvolatile register), the correspondent volatile register is also updated. The new configuration takes effect immediately.
Programming nonvolatile register takes time (tW) to complete. The correspondent volatile register is updated after the WRAR command cycle is initiated, which is right after CS# raising edge at the end of the WRAR command cycle, rather than wait for the nonvolatile register programming to complete. The application software should start using the new configuration to poll Status Register right after WRAR command to check the nonvolatile register programming completeness.
For multiple die devices, the 4-byte address is required to access higher dies with the exception of few commands that do not require the 4-byte address. Those commands will be automatically sent to all dies when they are issued by application. In the case of modifying nonvolatile register, addressing a bit from 4-byte addressing to 3-byte addressing, the volatile register in higher dies will be updated right after the WRAR command and takes effect immediately. Thus, the higher dies are changed to 3-byte addressing mode and are not accessible for the commands that require addresses. The Polling Status Register on higher dies will not work. The application software must wait for maximum programming time (tWmax) prior to sending other commands to the flash.