^^Memoria digitale. Memory in computing systems.

 

Memory Types

All the different memory units inside a microcontroller can be divided into two main types: RAM and ROM.

 

RAM Random-Access Memory  

volatile memory, used to store temporary data such as the program variables.

 

ROM Read-Only Memory

read-only poiche' non puo' essere riscritta.

non-volatile memory used to store permanent data such as the system's firmware.

 

PROM programmable read-only memory, one-time programmable ROM wp

the memory can be changed-programmed once after manufacture of the device. The data is then permanent and cannot be changed.

 

EPROM erasable programmable read-only memory wp

non volatile.

Once programmed can be erased by exposing it to strong ultraviolet light source. EPROMs are easily recognizable by the transparent window on the top of the package, through which the silicon chip is visible, and which permits exposure to ultraviolet light during erasing.

 

 

EEPROM  E2PROM electrically erasable programmable read-only memory

non-volatile memory

EEPROMs can be programmed and erased in-circuit, by applying special programming signals.

Originally, EEPROMs were limited to single-byte operations, which made them slower, but modern EEPROMs allow multi-byte page operations. An EEPROM has a limited life for erasing and reprogramming, now (2022) reaching a million operations in modern EEPROMs.

In an EEPROM that is frequently reprogrammed, the life of the EEPROM is an important design consideration.

 

Flash memory

a type of EEPROM designed for high speed and high density, at the expense of large erase blocks (typically 512 bytes or larger) and limited number of write cycles (often 10,000).

 

There is no clear boundary dividing EEPROM and Flash memory, but the term "EEPROM" is generally used to describe non-volatile memory with small erase blocks (as small as one byte) and a long lifetime (typically 1,000,000 cycles).

Many past microcontrollers included both (flash memory for the firmware and a small EEPROM for parameters), though the trend with modern microcontrollers is to emulate EEPROM using flash.

As of 2020, flash memory costs much less than byte-programmable EEPROM and is the dominant memory type wherever a system requires a significant amount of non-volatile solid-state storage. EEPROMs, however, are still used on applications that only require small amounts of storage, like in serial presence detect.