NVRAM 和FLASH的区别
NVRAM: Non-Volatile RAM. The target is to have a electrical device that could be accessed quite fast, most of the time the content is calculated by bytes and the content could be saved after power down. There are different technical
ways to implement this concept such as EEPROM which is very common. Please note, in mobile phone design, most of the time one or two sectors of ROM (most of the time it is FLASH) will be used to simulate NVRAM, the only reason is cost saving since ROM is a
"must" but NVRAM is not.
FLASH: One kind of ROM and the difference to other ROM is semiconductor level. Please note, FLASH must be read/write by sectors but NVRAM should be read/write by bytes. It is why NVRAM driver have to implement an algorithm such as copying all the content in
one sector to RAM first.
NVM: Non-volatie memory. It is more generic concept and covers all the memory components that could keeps its content after power off. It is useful during architecture design when the technical detail could be skipped. In fact, in one project, a DRAM with battery
played as NVM and it worked quite good in that case