Different Types of Memory Modules used in Embedded System

An embedded system uses different types of memory modules for a wide range of tasks such as storage of software code and instructions for hardware. These software codes and instructions are used to program the microcontroller.

Different types of memory
Different types of memory

A Memory module is a physical device which is used to store programs or data on a temporary or permanent basis for use in digital electronics. There are different varieties of memories in embedded system, each having their own particular mode of operation. An efficient memory increases the performance of embedded systems.

2 Types of Memory Modules

Different types of memory modules for any system depend on the nature of application of that system. The memory performance and capability requirements are small for low cost systems. Selection of a memory module is the most critical requirement in a designing a microcontroller based project.

The following general types of memory module can be used in an embedded system.

  • Volatile Memory
  • Non-Volatile Memory

Volatile Memory Module – RAM

Volatile memory devices are types of storage devices which hold their content till power is applied to them.

When power is switched off, these memories lose their content.


An example of volatile memory device is Random Access Memory (RAM)

Volatile Memory Module-RAM
Volatile Memory Module-RAM

The RAM memory chip, referred to as a main memory, is a storage location that allows information to be stored and accessed quickly from random location with memory module. The memory cell which can be accessed for information transfer to or from any desired random location is called a Random Access Memory.

A RAM memory is designed with a collection of storage cells. Each cell contains either BJT or MOSFET based on type of memory module. For example, 4*4 RAM memory can store 4 bit of information.

Every instruction of a row and column in this matrix is a memory cell. Each block labeled BC, represents the binary cells with its 3 inputs and 1 output. Each block consists of 12 binary cells.

Internal Data Storage Circuit for RAM Memory

To each memory block, each word output from the decoder is the select input. The decoder is enabled with the memory enable input. When the memory enable pin is at logic low level, all outputs of the decoder are at logic low level and memory doesn’t select any word.  When the enable pin is at logic high level, the parallel output corresponding to the serial input is given as select input to each memory block.

Internal Data storage circuit for RAM memory chip
Internal Data storage circuit for RAM memory chip

Once the word has been selected, the read and write pin for each block, determines the operation. If the read/write pin is at logic low level, the input is written onto the memory block. If the read/write pin is at logic high level, the output is read from each block.

Non- Volatile Memory-ROM Memory

Non-volatile memories are permanent storage types of memory chips which can get back stored information even when the power is switched off. An example of non-volatile memory device is Read Only Memory (ROM).

The ROM stands for Read Only Memory. ROM can only be used to read from, but cannot be written upon. These memory devices are non-volatile.

Non volatile memory-ROM Memory
Non volatile memory-ROM Memory

The information is stored permanently in such memories during manufacture. The ROM can store instructions which are required to start computer when power is given to the computer. This operation is referred to as bootstrap.

A ROM memory cell is designed with a single transistor. The ROM memory is not only used in   the computers but also in other electronic devices like controllers, micro ovens, washing machines etc.

A ROM family is designed with collection of storage cells. Each memory cell contains either bipolar or MOSFET transistor based on types of memory.

Types of RAM Chips Available

The RAM family includes two important memory devices which are;

Static Random Access Memory (SRAM)

The Static Random Access Memory module is a type of RAM that retains the data bits in its memory as long as power is being supplied. The SRAM does not need to be refreshed periodically. The static RAM provides faster access to the data and is more expensive than DRAM.

Static random Access memory (SRAM)
Static random Access memory (SRAM)

Each bit in an SRAM is stored in four transistors that form two cross coupled inverters.  Two additional transistors – types serve to control the access to the storage cells during read and write operations. A typically SRAM uses six transistors to store each memory bit. These Storage Cells have two stable states which are used to denote ‘0’ and ‘1’.


  • The external SRAM provide large storage capacities than on-chip memories.
  • The SRAM devices can be even found in smaller and larger capacities.
  • The SRAMs typically have very low latency and high performance.
  • The SRAM memory can be designed and interfaced very easily compared to other memories


  • The external SRAM is quite effective as a faster buffer for medium size block of data. You can use external SRAM to buffer data that does not fit in to on-chip memory and requires lower latency than what DRAM provides.
  • If your system requires a block of memory larger than 10 MB, you can consider different types of memories such as SRAM.

Dynamic Random Access Memory:

The Dynamic Random Access Memory is a type of RAM module that stores each bit of data within a separate capacitor.  This is an efficient way to store the data in memory because it requires less physical space to store the data.

Dynamic Access Random Memory (DRAM)
Dynamic Access Random Memory (DRAM)

A particular size of DRAM can hold more amounts of data than a SRAM chip with the same size. The capacitors in DRAM need to be constantly recharged to keep their charge. This is the reason why DRAM requires more power.

Each DRAM memory chip consists of a storage locations or memory cells.  It is made up of capacitor and transistor which can hold either active or inactive state. Each DRAM cell is referred to as a bit.

When the DRAM cell holds a value at active state ‘1’, the charge is at high state. When the DRAM cell holds a value at inactive state ‘0’, the charge is below a certain level.


  • The storage capacity is very high
  •  It is a low cost device


  • It is used for storing large block of data
  • It is used in executing microprocessor code
  • Applications where low latency memory access is required.

Types of ROM Memories

Different types of memory in the ROM family have four important memory devices which are:

Programmable Read Only Memory:

The Programmable read only memory (PROM) can be modified only once by the user. The PROM is manufactured with series of fuses. The chip is programmed by the PROM programmer wherein some fuses are burnt.  The open fuses are read as ones, while the burned fuses are read as zeros.

Programmable Read Only Memory
Programmable Read Only Memory

Erasable Programmable Read Only Memory:

Erasable Programmable Read Only Memory
Erasable Programmable Read Only Memory

The erasable programmable read only memory is one of the special types of memory modules that can be programmed any number of times to correct the errors. It can retain its contents until exposed to ultraviolet light.

The ultraviolet light erases its contents making its possible to program the memory. To write and erase the EPROM memory chip, we need a special device called PROM programmer.

The EPROM is programmed by forcing electrical charge on a small piece of poly silicon metal known as floating gate, which is located in the memory cell. When charge is present in this gate the cell is programmed, i.e. memory contains ‘0’. When charge is not present in the gate, the cell is not programmed, i.e. memory contains ‘1’.

Electrical Erasable Programmable Read Only Memory:

EEPROM is a user modified read only memory chip that can be erased and programmed for a number of times.

Electrically Erasable Programmable Read Only Memory
Electrically Erasable Programmable Read Only Memory

These memory devices are used in computers and other electronic devices to store small amount of data that must be saved when the power supply is removed. The content of EEPROM is erased by exposing it to an electrical charge.

The EEPROM data is stored and removed 1 byte of data at a time. The EEPROM does not need to be removed from the computer to be modified. The changing the content does not requires the additional equipment.

The modern EEPROM allows multi byte page operations and has limited life. The EEPROM can be designed 10 to 1000 write cycles. When the number of write operations is completed, the EEPROM stops working.

 EEPROM is a storage device that can be implemented with fewer standards in cell design. The more common cell is composed of two transistors. The storage transistor has a floating gage similar to EPROM. The EEPROMs has two families which are serial EEPROM and parallel EEPROM.  The parallel EEPROM is faster and cost effective then serial memory.

Flash Memory:

The flash memory is the most widely used device for electronics and computer devices. The flash memory is among the special types of memory that can be erased and programmed with a block of data. The flash memory keeps its data even with no power at all.  The flash memory is popular because it works fast and efficiently than EEPROM.

Flash memory
Flash memory

The flash memory module is designed for about 100000 -10000000 write cycles. The main constraint with the flash memory is number of times data can be written to it. The data can be read from flash memory as many times as desired, but after a certain number of write operations, it will stop working.

On-Chip Memory

The On-Chip memory is referred to any memory module like RAM, ROM or other memories but that physically exits on the microcontroller itself.  Different microcontrollers -types like 8051 microcontroller has limited On-Chip ROM memory. However it has a capability of expanding to a maximum of 64KB of external ROM memory and 64KB external RAM memory.

On-chip memory
On-chip memory

The /EA pin is used to control the external and internal memories of the microcontroller. If /EA pin is connected to 5V, then data is fetched to or from the internal memory of the microcontroller. When /EA pin is connected to the ground, the data is fetched to or from the external memories.

I hope by now you must be having a clear understanding about different types of memory. Here is a basic question for you- To design any embedded system, which type of ROM and RAM is usually used and why?

Give your answers in the comment section below.

Photo Credit:

Different types of memory modules by klbict
Volatile Memory module-RAM by wikimedia
Non Volatile memory module-ROM memory by yuvayana
Static Random Access Memory by 2.bp.blogspot
Dynamic Random Access Memory by directindustry
Programmable Read Only Memory by touque
Erasable Programmable Read Only Memory by qcwo
Electrical Erasable Programmable Read Only Memory by amitbhawani
Flash Memory by encrypted-tbn1.gstatic