Data Storage & Memory

  • How does a microcontroller store memory and data?

  • If I need to store more memory than what the microcontroller has space for, what can I do?

  • What if I want memory to persist after the microcontroller powers off?

  • What does non-volatile (NV) memory mean?

  • What is ROM?

  • What is an EEPROM?

  • What are registers?

  • What is FLASH?

Types of Memory Systems

ROM (Read-only Memory)

As the name suggests, a ROM is a memory system that is written once at the time of manufacturing. As shown in the ROM Cell diagram, a single MOSFET along with a physical fuse is used to indicate the stored bit. Because the fuse is physical, once written, the stored data is permanent as the fuse cannot be repaired.

Single ROM Cell

To read the data stored in a ROM system, data is sent to the word line, applying a voltage to the MOSFET gate, and the data is read through the bit line.

If the fuse is not connected or “burned,” there is no current through the MOSFET when a gate voltage is applied as an open circuit from ground has been created. Because the bit line is not connected to ground, there is no pulldown effect, indicating the cell has been configured to a 1 bit.

On the other hand, if the fuse is left intact, a circuit to ground is completed. This will pull down the bit line voltage to ground, indicating the cell has been configured to a 0 bit.

PROM (Programmable Read-only Memory)

PROM cell share the same structure as a ROM cell, but PROMs are user programmable (only once). Initially, every cell in the memory system is configured to a 0, as the fuse is left intact. The users can write information on the memory system by “burning” the fuses where a 1 bit is to be stored.

EPROM (Erasable Programmable Read-only Memory)

(placeholder)

EEPROM (Electronically Erasable Programmable Read-only Memory)

(placeholder)

Flash Memory

(placeholder)