CPEN 120 – EMBEDDED SYSTEMS
Topic 5
Embedded Systems Memory
Intended Learning Outcomes:
At the end of this topic, the student should be able to:
1. Identify different memory technologies and memory types used in the
embedded system development.
2. Explain different factors to be considered in the selection of memory for
embedded systems
Learning Discussions
Embedded memory refers to storage devices used for storing binary
information, such as programs (instructions) and data, and supplying this information
to the Microprocessor (MPU) or Microcontroller (MCU) as needed. These storage
devices may be integrated onto the same chip, as seen in microcontrollers, or exist as
separate memory components connected via interfaces like buses or interconnects,
as is common with microprocessors.
In an embedded system, memory acts as a physical storage space for input
and output data. It also holds intermediate data produced during program execution.
The Microprocessor (MPU) or Microcontroller (MCU) accesses memory to fetch data
and instructions, processes them, and stores the resulting output back into memory
as required.
Types of Memory in Embedded Systems
As an embedded hardware engineer, it's important to understand the different
types of memory used in embedded systems as shown in Figure 5-1.
Memory
Technologies
ROM RAM
FLASH EEPROM EPROM SRAM DRAM
Figure 5-1: Types of Memory
CEIT-DCEEE 1
CPEN 120 – EMBEDDED SYSTEMS
Table 5-1 provides the various memory types used in embedded systems, highlighting
their definitions, advantages, disadvantages, application. This helps you choose the right
memory for your design and use resources efficiently to ensure the system works well.
Each memory type's unique characteristics, such as speed, cost, programmability,
and capacity, make it suitable for specific applications, enabling designers to balance
performance, cost, and functionality in their embedded system designs.
Table 5-1 : Memory Types used in Embedded System
Memory Type Definition/ Advantages Disadvantages Application
Properties
SRAM (Static Volatile memory - Fast access time SRAM (Static Volatile memory
RAM) storing data in RAM) storing data in
flip-flops; data flip-flops; data
remains as long remains as long
as power is as power is
supplied. supplied.
DRAM (Dynamic Volatile memory - Lower cost-per- - Slower access Multimedia
RAM) storing data in byte time due to devices,
capacitors; refresh communication
requires periodic requirement systems, data
refreshing. storage, large
memory
requirements
Masked ROM Non-volatile - Low production - Cannot modify Applications
memory with cost for large contents after requiring
preprogrammed quantities production permanent,
contents unchangeable
specified during data
chip production.
PROM Non-volatile, - Greater - One-time Applications
(Programmable programmable flexibility programming requiring
ROM) after compared to only customized, fixed
manufacturing, Masked ROM data
but cannot be
reprogrammed
(OTP).
EPROM (Erasable Non-volatile, - Can be erased - Higher cost than Software
PROM) reprogrammable and PROM development,
memory erasable reprogrammed testing processes
with UV light. multiple times
EEPROM Non-volatile, - Byte-level - Erased one Storing code and
electrically erasure and sector at a time, data, firmware,
erasable, byte-by- reprogramming not byte-by-byte large storage
byte - Precision control requirements
programmable over memory
memory. contents
Flash Memory High-density, - High density - Erased one High-density,
non-volatile - Low cost sector at a time, non-volatile
memory with fast - Fast read access not byte-by-byte memory with fast
read access and read access and
electrical electrical
reprogramming reprogramming
capabilities. capabilities.
CEIT-DCEEE 2
CPEN 120 – EMBEDDED SYSTEMS
NVRAM (Non- Modified SRAM - Fast access time - Higher cost Storing critical
Volatile RAM) that retains data - Retains data - Limited write data that must
without power. during power loss cycles persist during
power loss,
backup systems
Factors to Consider When Choosing the Right Memory Type for Your Embedded
System
1. Access Time
Access time measures how quickly memory can read or write data. Faster access
speeds enhance system performance but often come with higher costs. SRAM provides
the fastest access, while DRAM and flash memory have comparatively slower speeds.
2. Cost
The cost of memory significantly affects the total cost of an embedded system. SRAM
is the most expensive per byte, followed by EEPROM and flash memory. DRAM offers
the lowest cost-per-byte, making it ideal for applications needing large memory
capacities.
3. Data Retention
Data retention refers to a memory’s ability to preserve data without power. Non-volatile
memories like ROM and hybrid memory types retain data even during power loss. In
contrast, volatile memories like SRAM and DRAM lose all stored data when power is
removed.
4. Programming and Erasing Capabilities
This factor involves how easily memory can be programmed, erased, and how many
write/erase cycles it supports. ROM types like PROM and EPROM have limited
reprogramming options, while hybrid memories like EEPROM and flash memory offer
greater flexibility with electrical erasure and programmability.
5. Density and Capacity
Memory density and capacity determine how much data the memory can store. Flash
memory is known for its high-density storage at an affordable cost, making it suitable
for systems requiring large storage. In contrast, SRAM provides lower density due to
its higher cost per byte.
CEIT-DCEEE 3
CPEN 120 – EMBEDDED SYSTEMS
References:
▪ Shivu KV (2009). Introduction to Embedded Systems. Mc Graw Hill Education
▪ Vicky K. (July 9, 2023). What is Embedded Memory?
https://embeddedhardwaredesign.com/what-is-embedded-
memory/#Different_Types_of_Memory_in_Embedded_Systems
CEIT-DCEEE 4