RAM is Random Access Memory. It is very fast to read and write to this memory. But the data does not stay for long and needs to be constantly refreshed. The controllers does this automatically but this means you need power to them in order for them to store data. ROM is Read Only Memory. These are programmed with the data at the factory and can never be changed in any way. Usually the data is stored in the wiring of the chip.
We then invented PROM which is programmable ROM. It allows you to program it with data in the field but you can never change the data. This is still used today for security reasons. Then we came out with EPROM or erasable PROM. These chips can be reset in order to upgrade the data. The reset procedure uses UV light to power the transistors in each cell so the chip package usually have a window to the chip, often covered with a sticker to prevent accidental exposure. We then invented EEPROM or Electronically Erasable PROM. These can be erased with an electronic signal so no sticker and UV light is needed.
It should be noted that an EEPROM have a limited number of times it can be erased. So you can not use it to store random bits of data like RAM. And the erasure procedure takes some time and power. In general EEPROM is good to store firmware or fixed data that is rarely updated.
The EEPROM technology have improved which is called Flash memory. This is the technology you find in SD cards and SSD hard drives and such. There are still limitations on the amount of times you can erase each block but you can erase several orders of magnitudes more often then an EEPROM and much faster. The controller also balances the erasing between the blocks and even have spare blocks for when you wear out the hardware.
Latest Answers