Selection - Memory - DR Monika - 22.03.23
Selection - Memory - DR Monika - 22.03.23
Memory is one of the most important and essential parts of any processing system. Selecting
from the available memory should be carefully done while developing an embedded system.
Memory is the physical storage element or device used for storing two kinds of information.
1. Data or information
2. Program instructions or opcodes
The embedded system fetches the data from the memory, processes and produces output
data, which is again stored in the memory. The stored data can be intermediate data that is
produced during the execution.
Program information is nothing but the instructions or opcode that executes the function
performed by the processor. When the program is executed, the CPU fetches the instruction
from the memory and executes it.
Both these instructions and data are stored in the memory either temporarily or permanently,
depending on the requirement. Accordingly, they have been classified into several types. Let
us discuss them in detail.
Types of Memory
Volatile Memory
Random Access Memory (RAM)
Static Random Access Memory (SRAM)
Dynamic Random Access Memory (DRAM)
Non-volatile memory
EEPROM
Flash memory
SD card
Types of Memory
Based on whether the data is stored temporarily or permanently, the memory can be classified
into Volatile memory and non-volatile memory.
(A)Volatile Memory
Volatile memories will retain the data as long as the power is applied to the memory device.
When the power is turned off, the contents will be erased from the memory.
It is used to store the data as well as the program instructions. Random Access Memory
(RAM) is a type of volatile memory, which is divided into two types: SRAM and DRAM.
1
Dr. Monika Jain, Prof. & HOD-ECE, ITS Engineering College, Gr. Noida, KOE-062: EMBEDDED SYSTEM
Imagine your working table. To do simple mathematics, you will scribble on the paper
nearby you without any delay. Once you have finished the work, you will throw the paper in
the dustbin.
In earlier days, there are three types of RAM: Static Random Access Memory(SRAM),
Dynamic Random Access Memory(DRAM) and Synchronous Dynamic Random Access
Memory(SDRAM).
The Static Ram has high-speed operation as compared to DRAM and consumes less
power. It is also used as cache memory. They are easier to use with low-end
microcontrollers. The capacity of SRAM ranges from 1 bit to 256 Megabit. The major
disadvantage is that the cost is comparatively higher for SRAM.
SRAMs are manufactured by top manufacturers such as Toshiba, IBM, Intel, Texas
Instruments, Hitachi, etc.
It consumes more power, which generates more heat. DRAM can be packed much
denser(many more bits can be stored in a given chip size) than SRAM. DRAMs are
available at an affordable price.
There are different types of DRAM such as SDRAM, DDR RAM, Graphics DRAM, Video
DRAM, etc.,
2
Dr. Monika Jain, Prof. & HOD-ECE, ITS Engineering College, Gr. Noida, KOE-062: EMBEDDED SYSTEM
c. Double Data Rate RAM (DDR RAM) is the most common type available in recent days.
Almost doubles the bandwidth in data rate of SDRAM by using double pinning. This process
allows for data to transfer on rising and falling edges of a clock signal. There are different
versions of DDR RAM such as DDR1, DDR2, DDR3, DDR4 and DDR5. The latest DDR4
RAM has the highest speed of 25 GB per second. DDR5 RAM has a further highest speed of
50 GB per second.
d. Fast Page Mode DRAM (FPM DRAM) gives higher performance than other DRAM
types through focusing on fast page access.
e. Extended data out DRAM (EDO DRAM) improves the time to read from memory on
microprocessors, such as the Intel Pentium.
When you buy a laptop or desktop computer system, the type and size of the RAM are the
most important specifications. Nowadays, most laptops are equipped with DDR4 RAM. If it
is a lower-end model, it is equipped with a size of 4 GB. For higher-end devices, 8 GB or 16
GB memory sizes are preferred.
Advantages of DRAM
Its design is simple, only requiring one transistor.
The cost is low in comparison to alternative types of memory such as SRAM.
It provides higher density levels.
More data can be stored using DRAM.
Memory can be refreshed and deleted while a program is running.
Disadvantages of DRAM:
Memory is Volatile.
Power consumption is high relative to other options.
Manufacturing is complex.
Data in storage cells needs to be refreshed.
It is slower than SRAM.
But SRAM retains some advantages over DRAM. SRAM does not need to be refreshed
because it operates on the principle of switching the current flow in one of two directions
rather than holding a charge in place within a storage cell. SRAM is generally used for cache
memory, which can be accessed more quickly than DRAM.
3
Dr. Monika Jain, Prof. & HOD-ECE, ITS Engineering College, Gr. Noida, KOE-062: EMBEDDED SYSTEM
SRAM is capable of byte-level reads/writes, and is faster at reads/writes than DRAM. DRAM
writes data at the byte-level and reads at the multiple-byte page level.
Power differences vary based on whether the system is in active or sleep mode. DRAM
requires less power than SRAM in an active state, but SRAM consumes considerably less
power than DRAM does while in sleep mode.
(B.)Non-volatile memory: Non-volatile memory will retain the content when the
power applied to the memory device is turned off. Using this memory, the stored data can be
retrieved after restarting the system.
The bootup configurations are typically stored in the non-volatile memory. They are
slower than volatile memory but more information can be stored for a longer time.
a. PROM or OTP(One Time Programmable): For every bit of PROM, there exist a fuse.
* PROM is programmed by blowing fuses.
*If information burned into PROM is wrong, PROM must be discarded bcoz, its
internal fuses are blown permanently.
(ROM burner or ROM programmer: a special equipment is needed for burning ROM)
*Erasure of entire content take less than second i.e. Flash only.
4
Dr. Monika Jain, Prof. & HOD-ECE, ITS Engineering College, Gr. Noida, KOE-062: EMBEDDED SYSTEM
*Erasure md is electrical # Flash E2PROM, but to avoid confusion called Flash Memory.
* Difference b/w Flash memory & E 2PROM: In flash memory, entire content were erased,
however in E2PROM, a desired section or byte or block can be erased.
Although in recent Flash memories, contents are divided into blocks & erasure can be done
block-by-block.
*Bcoz Flash memory can be programmed while in socket, therefore widely used to upgrade
BIOS ROM of PC.
* Its access time is in 100 ns(compared to disk-access tym in range of 10 ms)
In NAND type of flash memory: Write and read operations are performed page-wise.
Whereas the erasing operation is performed blockwise. The NAND memory is generally
smaller in size and is used in USB flash drives. Error-correcting code like Hamming code is
used in NAND type of flash memory to ensure normal operation.
The read operation in NOR flash memory is similar to that of random-access memory.
Hence, a faster read operation is possible with NOR than NAND flash memory. NOR
FLASH is less dense and slightly expensive but supports Execute in place(XIP). The XIP
technology allows the execution of code memory from ROM itself without the need for
copying it to the RAM.
B(III):SD card
SD card or Secure Digital Card is a portable flash type non-volatile memory. It has high
capacity and high access speed. Hence used for lot of consumer electronics like mobile
phones, digital cmeras, etc.,
These cards have its own processor which handles the interface requirements and operations
like error correction, etc., They are available in different sizes for different applications.
Different variations are available in SD cards such as
So far, we have discussed only a few types of memory. But lot more types of memory are
available in real practice such as Masked ROM, NVRAM, VRAM, GRAM, etc., It is always
a challenging task to select a perfect memory for an embedded system.
5
Dr. Monika Jain, Prof. & HOD-ECE, ITS Engineering College, Gr. Noida, KOE-062: EMBEDDED SYSTEM
Selection of Memory
The selection of suitable memory is a very essential step in designing an embedded system.
The designers have to choose the best memory for their system. The selected memory device
should reflect the goal of your embedded application.
The performance of the entire embedded system depends on the selection of memory.
Improper selection of memory may lead to insufficient memory, slow speed operation,
more power consumption, etc. Hence such challenges must be considered while designing
an embedded system.
Speed: The time to read or write the data should be greatest consideration while
selecting the memory. In general, speed will not be a greater issue for small embedded
applications. But when you go for medium or high range applications, read/write
access time should be faster.
Latency: It is the time between initiating the request of data until it is received.
When executing the processor instructions, it request the data stored in the memory.
The requested data must be retrieved by the processor for quick operation. Less
latency, give benefit of more speed operation.
Memory Capacity: If your application need below 60 MB, it is advisable to choose
the memory size as 64 MB. At the same time, running out of storage is the worst
feeling we face with the digital camera. So it is important to choose the capacity as
needed for the application.
Size: The size of the memory device should be compatible with the embedded system.
For hand held devices, the size of the memory should be compact in nature. If it is a
desktop computer system, the size can be of medium sized. Proper size selection is
also an essential criteria while selecting a memory.
Power consumption: Memory needs power to read or write data. For high access
speed, the power consumptions will be more, results in more power dissipation. More
heat will reduce the lifetime of the embedded system. Hence the designers should go
with optimum power consumption memory devices.
Cost: Cost plays a significant role in deciding any product. While planning to design
an embedded system, similar importance should be given to memory as that of
processor selection. Money should be allocated, considering the type of memory to be
used in the embedded system.
6
Dr. Monika Jain, Prof. & HOD-ECE, ITS Engineering College, Gr. Noida, KOE-062: EMBEDDED SYSTEM
The memory cells will work with other circuits that can be used to identify rows and
columns, track the refresh process, instruct a cell whether or not to accept a charge and read
or restore data from a cell.
DRAM is one option of semiconductor memory that a system designer can use when building
a computer. Alternative memory choices include static RAM (SRAM), electrically erasable
programmable read-only memory (EEPROM), NOR flash and NAND flash. Many systems
use more than one type of memory.
Types of DRAM
There are many types of DRAM that can be used in a device. Some examples include the
following:
Major DRAM manufacturers include Samsung, Rambus, PNY Technologies and SK Hynix.
7
Dr. Monika Jain, Prof. & HOD-ECE, ITS Engineering College, Gr. Noida, KOE-062: EMBEDDED SYSTEM
DRAM package types for DIMMs are set as different integrated circuit architectures. Some
of these include the following: