What is Embedded Memory?

Embedded memory refers to storage devices that store binary information, including instructions (Programs), and data, and provide that information to the MPU/MCU as and when it is required. These storage devices can be integrated onto the same chip as it is in the case of a Microcontroller, or they can be separate memory devices and connected through interfaces like buses or interconnects as it is in the case of a Microprocessor.

Memory serves as a physical storage space for input and output data in an embedded system. It also stores intermediate data generated during the execution of programs. The MPU/MCU retrieves data and instructions from memory, processes them, and stores the results back into memory as needed.

Embedded memory can include various types, such as Read-Only Memory (ROM), Random Access Memory (RAM), Flash Memory, and other specialized memory technologies.

Importance and Role of Embedded Memory in Electronic Devices

Embedded memory plays a vital role in the operation of electronic devices. It is an integral part of various embedded devices, ranging from small consumer electronics to complex industrial systems. In consumer electronics, it allows devices such as smartphones, tablets, and wearables to store operating systems, applications, user data, and settings.

In automotive systems, embedded memory is used for storing firmware, engine control algorithms, and sensor data. Industrial systems rely on embedded memory to store control programs, monitoring data, and configuration parameters.

The efficiency and performance of embedded memory are crucial for the seamless operation of these devices and systems. It enables fast access to data and instructions, allowing for quick response times and smooth functionality.

Different Types of Memory in Embedded Systems

As an embedded hardware engineer, it is important to have a good understanding of the different types of memory devices used in embedded systems. This knowledge helps you in selecting embedded memory as per design requirements and efficiently utilize resources to ensure optimal performance of the embedded system.

These memory devices can be broadly divided into two categories: Primary memory and Secondary memory. These memories can either be Non-volatile (Retain store data when supplied power is removed) or Volatile (Do not retain store data when supplied power is removed). The picture below depicts the classification of embedded memory.

Embedded Memory Tree

Primary Memory in Embedded Systems

Primary memory

Primary memory refers to the types of memory that are directly accessed by the processor and play a critical role in storing data and instructions that are actively used during the system’s operation. Primary memory, also known as main memory or system memory and can be volatile or non-volatile.

System/Main memory is directly accessed by the MPU/MCU for reading and writing data during program execution. It holds the program instructions, data, and intermediate results while the system is powered ON/OFF. Primary memory, such as RAM and ROM, serves as an example of Primary embedded memory.

Let’s look at various types of memory within the primary memory category, including RAM (Random Access Memory) and ROM (Read-Only Memory). Each type of memory serves a specific purpose and has distinct characteristics.

What is RAM?

R/W (Read/Write) RAM: R/W (Read/Write) memory, also known as Random Access Memory (RAM), allows the MPU/MCU to both read from and write into the memory. It is commonly used for storing information that is likely to be altered, such as dynamic data or incoming data.

This type of memory is volatile, meaning that its contents are lost when power is turned off. There are two main types of R/W memories: static RAM (SRAM) and dynamic RAM (DRAM), each with its characteristics, as described in the following paragraphs.

Static Memory (SRAM): SRAM is a type of read/write memory that is composed of flip-flops, which are electronic circuits capable of storing a single bit of information. 

In SRAM, each memory cell is designed using six transistors, resulting in a relatively low memory cell density compared to other RAM technologies. However, this construction allows for faster access times and higher performance.

SRAM stores data as a voltage level within its flip-flop circuits. This means that as long as power is supplied to the SRAM, the stored data remains intact. It doesn’t require periodic refreshing as dynamic memory (DRAM) does, which simplifies the memory control circuitry. Due to its high speed and ease of control, SRAM is commonly utilized as cache memory

in high-speed processors. Cache memory is a small, fast-access memory that stores frequently accessed data. For Example, in processors like Intel 486 and Pentium, SRAM cache memory is integrated directly into the processor chip itself. This placement allows for even faster data access, reducing the latency between the processor and main memory.

While SRAM offers advantages such as fast access times and no need for refreshing, it also has some drawbacks. It is more expensive to manufacture compared to dynamic memory technologies like DRAM. Additionally, SRAM consumes more power due to its larger transistor count per memory cell.

Despite these limitations, the speed and performance benefits make SRAM a valuable component in high-speed processors and memory subsystems.

NVRAM: Non-volatile random-access memory (NVRAM) is a type of memory that retains data without applied power, distinguishing it from volatile memory types like DRAM and SRAM.

It serves as a reliable storage solution for various applications, such as storing system firmware in automotive ignition systems or home appliances.

NVRAM can also hold initial processor instructions for system bootstrapping and store important data like calibration constants and passwords. Unlike volatile memory, NVRAM maintains its stored data indefinitely, even in the absence of power.

This characteristic offers the potential for faster system not-up times and improved reliability. Current semiconductor non-volatile memory technologies, including BBRAM, EEPROM, FeRAM, MRAM, and PCM, each have their advantages and limitations.

While NVRAM has the potential as a main memory solution, there are challenges to overcome, such as memory size, power consumption, and operating life.

Ongoing research and development are focused on exploring the use of non-volatile memory chips as persistent memory, paving the way for future advancements in-memory technology.

Dynamic R/W Memory (DRAM): Dynamic random access memory (DRAM) is a type of volatile semiconductor memory commonly used as the main memory or primary storage in electronic devices.

It stores data using MOS transistor gates, with each bit of data represented by a charge stored in a capacitor. DRAM offers advantages such as high density, low power consumption, and lower manufacturing costs compared to static RAM (SRAM).

However, DRAM has the drawback of charge leakage, requiring frequent refreshing to maintain data integrity. Despite this, DRAM remains widely used due to its cost-effectiveness and ability to provide large memory capacities.

It plays a critical role in storing and accessing data during program execution in various applications of embedded systems.

SDRAM: Synchronous Dynamic Random Access Memory is a type of DRAM memory that operates with a synchronous interface. SDRAM memory is divided into independent banks, enabling concurrent memory access commands in each bank and facilitating interleaved access for faster data transfer rates.

This synchronous design and the ability to operate at faster speeds make SDRAM a widely used form of memory in embedded systems. It has evolved into different generations, including SDR SDRAM & DDR (DDR1, DDR2, DDR3, DDR4, and DDR5).

Its advantages of higher data transfer rates, concurrency, simplicity, and cost-effectiveness have made SDRAM the preferred choice for RAM in the embedded memory market.

SDRAM, compared to traditional DRAM, offers faster data transfer rates and allows for multiple memory operations to occur simultaneously.

This makes it a popular choice for embedded memory, especially for RAM. SDRAM’s ability to quickly access data and handle multiple tasks at once improves overall system performance. Additionally, SDRAM has a simple design that is cost-effective for manufacturers, resulting in affordable and efficient memory solutions.

What is ROM?

Read-Only Memory (ROM) is a type of non-volatile memory that is widely used in embedded electronic devices. Unlike RAM, which is volatile and requires constant power to retain data, ROM is non-volatile and retains its stored information even when power is turned off.

ROM is called “read-only” because the data stored in it cannot be easily modified or erased by normal operations. The data in ROM is typically programmed before they are assembled on PCB.

One of the primary uses of ROM is to store firmware, which consists of code that is essential for the proper operation of a device.

Examples of firmware stored in ROM include boot code, which provides the fundamental functions necessary for the embedded devices to start up and interact with hardware components.

There are different types of ROM, each with its characteristics and applications. Some common types include Mask ROM, Programmable ROM (PROM), Erasable Programmable ROM (EPROM), EEPROM (Electrically Erasable Programmable ROM), and Flash memory.

Each type has its own method of programming and erasing data, as well as limitations in terms of re-programming cycles, speed, and ease of modification.

In recent years, advancements in flash memory technology have allowed for more flexible and reprogrammable ROM options. Floating-gate ROM semiconductor memory, including EPROM, EEPROM, and flash memory, allows for erasure and re-programming, but this process is slow, requires specialized equipment, and has a limited number of cycles.

Flash memory, which is a type of electrically erasable and programmable ROM, enables data to be rewritten multiple times. This has contributed to the development of devices like USB flash drives, solid-state drives (SSDs), and memory cards.

Different types of ROM used in embedded systems

There are several types of ROM commonly used in embedded systems. These include:

MROM: MROM stands for Mask ROM, which was the earliest form of ROM. It is a kind of memory paramagnet memory. It is composed of a grid of word lines and bit lines interconnected by transistor switches.

The data in Mask ROM is physically encoded in the circuit and can only be programmed during the manufacturing process. Unlike other types of ROM, Mask ROM cannot be modified or erased once programmed.

This characteristic makes Mask ROM a cost-effective solution for large-scale production runs, as the data is programmed in bulk during the fabrication stage.

Programmable ROM: Programmable Read-Only Memory (PROM) is also a kind of paramagnet memory. Each bit of a PROM corresponds to a fuse, which is blown to program the memory.

If incorrect information is burned into a PROM, it cannot be corrected, and the PROM becomes unusable due to the permanent blowing of its internal fuses.

Therefore, PROM is also known as One Time Programmable (OTP) memory. Programming a PROM requires specialized equipment called a ROM burner or ROM programmer. It is commonly used for low-level programs such as firmware or microcode.

Erasable Programmable ROM (EPROM): It is a type of PROM chip that retains its data even when the power supply is turned off. This non-volatile memory can retrieve stored data after a power cycle.

EPROM consists of an array of floating-gate transistors that are individually programmed by applying higher voltages than those typically used in digital circuits.

The data programmed into an EPROM can be erased by subjecting it to intense ultraviolet (UV) light, typically emitted by a mercury-vapor lamp. EPROM is a form of ROM that can be erased and re-programmed using ultraviolet light.

To erase data, the EPROM chip must be exposed to UV light for a specific duration. After the erasure of an EPROM, the chip can be re-programmed with new data using a specialized device called an EPROM programmer. The re-programmability of EPROM offers the advantage of making updates or changes to the stored data.

Electrically Erasable Programmable ROM (EEPROM): EEPROM (electrically erasable programmable read-only memory) is similar to EPROM but offers the advantage of electrically erasing and re-programming data.

Unlike EPROM, which requires exposure to UV light for erasure, EEPROM can be selectively erased and re-programmed electronically. This feature provides greater convenience for frequent data modifications and updates.

EEPROM is a form of non-volatile memory that is structured as arrays of floating-gate transistors, allowing for individual bits of data to be stored in each transistor. Unlike EPROM, EEPROM can be programmed and erased in-circuit, meaning it can be modified while still connected to the electronic system.

Initially, EEPROMs had limitations in single-byte operations, resulting in slower performance. However, modern EEPROMs allow for multi-byte page/sector operations. It’s important to note that EEPROMs have a limited lifespan for erasing and re-programming, typically reaching up to a million operations.

Flash Memory: Flash memory is a type of electrically erasable programmable ROM memory that allows for block/sector erase and re-programming. It offers faster erase and write times compared to EEPROM.

Flash memory is widely used in embedded systems due to its non-volatile nature, higher density, and faster access times. It is commonly utilized for firmware storage, system booting, and data storage in a wide range of devices.

The most common types of flash memories are NOR Flash, NAND Flash, and eMMC Flash. NOR Flash is bootable memory, commonly used for firmware storage and executing code directly from memory, while NAND Flash provides higher density at a lower cost and is typically used for data storage.

eMMC Flash combines NAND Flash with a flash controller and is commonly used for integrated storage in mobile devices and other compact systems.

Overall, flash memory plays a crucial role in various electronic devices, offering reliable non-volatile storage for firmware, system booting, and data storage, making it a popular choice in the embedded systems industry.

Secondary Memory in Embedded Systems

Secondary memory(Computer memory), also known as secondary storage or auxiliary storage, refers to storage devices in a computer system that are used for data storage.

These devices are not interfaced directly on the Microprocessor bus, and MPU/MCU does not assess them directly.

Secondary memory devices have higher storage capacity compared to primary memory and can retain data for long periods without the need for a continuous power supply.

These devices are typically non-volatile, meaning they can retain data even when the power is disconnected.

Common examples of secondary memory devices include hard disk drives (HDDs), solid-state drives (SSDs), optical drives (CD/DVD/Blu-ray), magnetic tape, and external storage devices like USB drives or memory cards.

These devices offer larger storage capacities at a relatively lower cost per unit of storage compared to primary memory. Secondary memory is commonly used for purposes such as data backup, archival storage, file storage, and long-term data retention.

It provides a means to store and retrieve large volumes of data over an extended period, even when the system is powered off or restarted.

Applications of Embedded Memory

  • Consumer electronics: Embedded memory is used in smartphones, tablets, digital cameras, gaming consoles, smart TVs, and other consumer devices.
  • Automotive industry: Embedded memory is essential for automotive systems, including infotainment systems, engine control units (ECUs), advanced driver-assistance systems (ADAS), and vehicle diagnostics.
  • Internet of Things (IoT) devices: Embedded memory is utilized in IoT devices, such as smart home devices, wearables, industrial sensors, and connected appliances.
  • Medical devices: Embedded memory plays a critical role in medical devices like implantable devices, patient monitoring systems, medical imaging equipment, and portable diagnostic devices.
  • Aerospace and defense systems: Embedded memory is used in aerospace and defense applications, including avionics systems, radar systems, unmanned aerial vehicles (UAVs), and communication systems.

Challenges and Future Trends of Embedded Memory

The challenges and future trends of embedded memory in electronic devices include:

  • Scaling limitations: As technology advances, the demand for smaller and more powerful devices increases. However, scaling embedded memory to smaller sizes while maintaining performance and reliability becomes increasingly challenging. Overcoming the physical limitations of shrinking memory cells is a significant challenge for future embedded memory designs.
  • Power consumption: Embedded memory consumes a significant amount of power in electronic devices. Reducing power consumption is crucial for improving battery life and energy efficiency. Future trends in embedded memory focus on developing low-power memory technologies and optimizing power management techniques.
  • Density and capacity: The demand for higher memory density and capacity continues to grow as applications become more data-intensive. Meeting these demands while ensuring cost-effectiveness is a challenge for embedded memory. Future trends involve developing memory technologies that offer higher densities and capacities without compromising performance and affordability.
  • Speed and performance: The increasing need for faster data processing and real-time responsiveness poses challenges for embedded memory. Future trends aim to develop memory technologies with improved speed and performance to meet the requirements of emerging applications such as artificial intelligence, machine learning, and high-speed data processing.
  • Reliability and endurance: Embedded memory must be highly reliable and durable to withstand harsh operating conditions and ensure data integrity. Future trends focus on enhancing memory endurance and reliability to meet the demands of applications that require frequent read/write operations and long-term data retention.
  • Security: With the rise in cyber security threats, ensuring the security of embedded memory is of paramount Importance. Future trends involve integrating robust security features into embedded memory, such as encryption, authentication, and secure storage mechanisms, to protect sensitive data from unauthorized access and tampering.
  • Non-volatile memory technologies: The development of new non-volatile memory technologies, such as resistive random-access memory (RRAM), phase-change memory (PCM), and magnetic random-access memory (MRAM), holds promise for the future of embedded memory. These technologies offer advantages such as faster access times, higher endurance, and lower power consumption.
  • 3D integration: Three-dimensional (3D) integration of memory chips is a future trend that enables stacking multiple memory layers, increasing memory density and capacity without requiring further reduction in chip size. 3D integration offers potential solutions to the scaling limitations of embedded memory.

Summary

Embedded memory is a critical component in electronic devices, storing data and instructions for the smooth operation of various applications.

Primary memory, including RAM and ROM, directly interacts with the processor and holds data and instructions actively used during system operation. Secondary memory, such as hard disk drives and solid-state drives, provides a larger storage capacity for long-term data retention.

Different types of memory, such as SRAM, NVRAM, DRAM, SDRAM, EPROM, EEPROM, and Flash memory, serve specific purposes and have distinct characteristics. The selection of embedded memory should consider factors like capacity, performance, power consumption, reliability, security, and cost-effectiveness.

Challenges and future trends in embedded memory include scaling limitations, power consumption reduction, higher density and capacity, improved speed and performance, enhanced reliability, and endurance, security measures, the development of non-volatile memory technologies, and 3D integration.

Overall, embedded memory plays a crucial role in diverse applications, ranging from consumer electronics to automotive, medical, and aerospace systems, and addressing the challenges and future trends will enable more efficient and advanced embedded memory solutions.

Author Profile

Vikky K
20+ years embedded hardware design professional with a burning passion for teaching. Sharing the intricate world of embedded hardware is my mission and joy.

Leave a Comment