The Non-Volatile Memory Problem
All digital chips have memory embedded within them. This memory contains the program code which they execute and holds data capturing the state of the system. For the vast majority of chips, this memory is volatile – i.e., when the power goes off, the memory is lost. This is a major inconvenience, especially for anything which is battery powered or otherwise not connected to the power grid. The most common way to solve this problem is to have an addition external memory chip (such as a Flash chip) and re-load the data from this second chip at start-up or when it is needed. This takes more power, more time, more board space and is expensive. Another way to address the problem is to embed Flash memory in the digital logic chip. However, due to incompatibilities between Flash and digital logic manufacturing processes, this condemns the chip to be made on a slower and more power-hungry older technology, so this technique is less often used. Today, the industry has to live with these limitations.