Engineers Garage

  • Electronics Projects and Tutorials
    • Electronic Projects
      • Arduino Projects
      • AVR
      • Raspberry pi
      • ESP8266
      • BeagleBone
      • 8051 Microcontroller
      • ARM
      • PIC Microcontroller
      • STM32
    • Tutorials
      • Audio Electronics
      • Battery Management
      • Brainwave
      • Electric Vehicles
      • EMI/EMC/RFI
      • Hardware Filters
      • IoT tutorials
      • Power Tutorials
      • Python
      • Sensors
      • USB
      • VHDL
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Product News
    • Business News
    • Company/Start-up News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • DigiKey Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Learn
    • eBooks/Tech Tips
    • Design Guides
    • Learning Center
    • Tech Toolboxes
    • Webinars & Digital Events
  • Resources
    • Digital Issues
    • EE Training Days
    • LEAP Awards
    • Podcasts
    • Webinars / Digital Events
    • White Papers
    • Engineering Diversity & Inclusion
    • DesignFast
  • Guest Post Guidelines
  • Advertise
  • Subscribe

RAM and ROM Memories – DE Part 22

By Hai Prasaath K December 12, 2021

In the previous tutorial, it was mentioned that primary memory can be of two types – Random Access Memory and Read Only Memory. These memories are essential part of any processor or controller based system. In this tutorial, these memories will be discussed in detail.

Typical Image of Primary Memories - RAM and ROM

Fig. 1: Typical Image of Primary Memories – RAM and ROM

Random Access Memory (RAM) –

Random Access Memory is used to store the binary information during the runtime of a program. The data and instructions are loaded in RAM from a secondary storage when a program is executed by the processor. The data and instructions and the results returned by the processor remains in RAM temporarily till the program is executed. Once the program is terminated, the data and instructions in the RAM are also cleared (or they may remain in RAM as garbage value until new data and instructions are written to RAM on execution of another program).

RAM is read/write memory. The process of storing data in the memory is called write operation. The process of transferring the data stored in memory to processor or secondary storage is called read operation. RAM is a random access memory, so data can be read or written directly from any location in the memory. It takes the same time to read or write data to any location in RAM. This is different from sequential access memories in which time required to read or write data depends upon the location in the memory. Since in a RAM, access time to read or write binary information from or to any location respectively remains same and is always extremely less compared any secondary storage, it is usually expensive.

RAM is a volatile memory i.e. data stored in it is lost when the power is witched off or whenever there is a power failure. Hence, Most of the desktop computing systems use a backup uninterruptible power system (UPS) to buy time to complete processing and shut down running programs properly. RAM is  a semiconductor memory, so it is usually compact in size. Being expensive and semiconductor type, the commercially available RAM memories generally have limited capacity.

The data is stored in RAM in groups of bits called words. In any read or write operation, complete words are read or written from or to the memory respectively. The length of words is usually a multiple of 8 bits i.e. 8-bit, 16-bit, 32-bit, 64-bit and so on. The length of the words depend upon the type of computing system whether it is 8-bit, 16-bit, 32-bit, 64-bit and so on. The group of 8 bits is called byte. So, words can be 1-byte, 2-byte, 3-byte, 4-byte and so on in length. The data stored in the memory is read through parallel data output lines and is written to the memory through parallel data input lines. The number of data input and data output lines must be equal to the length of the words stored in the memory as complete word is read or written at any time.

Each word in the memory is identified by a unique address. There must be n number of address lines to read 2n words of a memory.  Apart from data input, data output and address lines, there are two control inputs to specify the direction of transfer of data for the memory. These control inputs are read and write. The read causes data to be transferred from memory to the processor and write causes data to be transferred to the memory from processor or secondary storage.

The addresses of the words in memory are used access the memory location identified by the address. The addresses range from 0 to 2n – 1 where there are n number of address lines.

The capacity of any RAM memory is either expressed in bytes like Kilobytes, Megabytes and Gigabytes by the number of words and word length. For example, RAM memory storing 16-bit words with a capacity to store 1K words can be said to have a capacity of 1K X 16 words or 16 KB in capacity.

Read and Write Operation –

There are two operations that can be performed in any RAM memory – Read and Write. The write operation is performed by implementing the following steps –

1) Apply binary address of the word that has to be written in the memory on the address lines.

2) Apply data bits to written in the selected memory address on the data input lines.

3) Activate the write control input, so the data bits are written to the specified memory address.

The read operation is performed by implementing the following steps –

1) Apply binary address of the word that has to be read from the memory on the address lines.

2) Activate the read control input, so the data bits from the specified memory address are read through the data output lines.

In some RAM memories there is an additional control input called memory enable. This input must be active for applying any read or write operation.  The read and write operation in memory are controlled by the processor (or central  processing unit in desktop and server systems). The time taken to read data from the RAM memory is called access time. The time taken to write data to RAM is called cycle time. The CPU is synchronized by its own clock, the memory does not have any internal clock to activate read or write operation. So, the access time and cycle time must be always less than a time equal to a fixed number of CPU cycles. For example, if cycle time for RAM is 50 ns, so access time will be less than 50 ns and CPU cycle has a period of 20 ns, read and write operation can be performed in three CPU cycles.

When data has to be written to the RAM, memory enable and read/write signals must be activated after signals on address line and data input lines are stable, otherwise, the data will be lost. The control signals – memory enable and read/write must remain active for the time equal to the cycle time of the memory. The signals at address and data input lines must remain stable for a short period even after the control inputs are deactivated.

The access time is usually far less than the cycle time of RAM memory. While read operation, some period of time must be spared to handle another request of the read operation. The read and write operations on RAM are generally demonstrated by timing diagrams. The timing diagrams show the status of memory enable, read/write control signal, address line and data input or data output line in contrast to the CPU cycles.

Types of RAM –

RAM memories are categorized by their mode of operation. On the basis of mode of operation, RAM is classified as of two types –

1) Static RAM – Static RAM consist of internal latches that store the binary information. As  latches can retain data till they have the power supply, the data stored in SRAM remains intact till the power is supplied to it. In case of a power failure or shut down the data stored in SRAM is lost. SRAM has short access and cycle times. It is easy to interface and use, since data remain on it till the power supply is not interrupted. SRAM chips use a matrix of 6 transistors without use of any capacitors. Transistors do not require power to prevent leakage, so SRAM need not have to be refreshed on a regular basis.

Because of the extra space in the matrix, SRAM uses more number of chips for the same storage. That is why SRAM is quite expensive. Some static RAM are also used as Cache Memories. Such SRAM have very limited capacity and have extremely small access and cycle times.

2) Dynamic RAM – Dynamic RAM stores binary information as charge stored in capacitors inside a chip of MOS transistors. As capacitors get discharged over a period of time, data on dynamic RAM needs to be refreshed periodically.  The refreshing of data is done by cycling through the words periodically over few milliseconds restoring the charge in the capacitors. So, Dynamic RAM is refreshed hundreds of times every second. DRAM consists of memory cells where each memory cell is built from a transistor and a capacitor. Due to this construction Dynamic RAM is small in size and less expensive compared to static RAM.

Memory Decoding –

While read or write operation, memory addresses are selected by applying address number to the address lines. The signals on address lines are decoded by a decoder circuit to select a memory location. The memory enable input is usually connected to the decoder circuit to either enable or disable read/write operations.

Error Detection and Correction –

There are possibilities of error in storage and reading of data from the memory. Therefore, employment of error detection and correction techniques is a common practice while read and write operations. The most common error detection technique is parity bit. The parity bit is generated and stored along with the word in the memory. When the data is written to the memory, it is accepted when the parity of bits is correct while when data is read, parity is again checked to confirm the accuracy of the word. If the parity does not match, it implies that there has occur an error in read/write operation. In case, there is an error, check bits generate a pattern that is called syndrome. The pattern is used to identify the bit in the word that has error. The particular bit is inversed to correct the error. The error detection codes generate multiple parity check bits that are stored along with the words.

Read Only Memory (ROM) –

Read Only Memory (ROM) is a primary memory from which only data can be read but cannot be written by a user. This is non-volatile memory in which data once transferred remains on the memory even without any power supply to the memory unit. The binary information is permanently stored in such memories during their manufacture itself.

The ROM generally stores such instructions as are required by the computing system when is powered on. This operation is referred to as bootstrap. These memories are commonly used in desktop and server computers. Many embedded devices like washing machines, televisions and microwave ovens also use these memories to boot embedded programs.

The process of transferring binary data on ROM is called burning or programming. In burning, fixed interconnections between logic gates are formed on the ROM chip which represent the binary information. The data on ROM is read using a decoder circuit.

Types of ROM –

There are the following types of ROM memories −

1) Masked ROM (MROM) – The very first ROMs were hard-wired devices that contained a pre-programmed set of data or instructions. These kinds of ROMs are known as masked ROMs. These ROM memories are not much expensive.

2) Programmable Read Only Memory (PROM) – The PROM is a read-only memory that can be modified only once by a user. The user buys a blank PROM and enters the desired contents using a PROM programmer. Inside the PROM chip there are small fuses which are burnt open during programming. It can be programmed only once and is not erasable. Most of the one-time programmable microcontrollers have PROM to store the application logic.

3) Erasable and Programmable Read Only Memory (EPROM) – An EPROM can be erased by exposing it to ultra-violet light for some duration that can be up to 40 minutes. Usually, an EPROM eraser is used to erase data from EPROM. For programming EPROM, an electrical charge is trapped in an insulated gate region. The charge can retain for more than ten years because the charge has no leakage path. For erasing this charge, ultra-violet light is passed through a quartz crystal window (lid). This exposure to ultra-violet light dissipates the stored charge to erase the stored binary data. The quartz lid remains sealed with a sticker while normal use of the chip.

4) Electrically Erasable and Programmable Read Only Memory (EEPROM)- The EEPROM is programmed and erased electrically. It can be erased and reprogrammed as many as ten thousand times. Both erasing and programming take about 4 to 10 ms (millisecond). In EEPROM, any location can be selectively erased and programmed. EEPROM can be erased one byte at a time, rather than need to erase the entire chip. Hence, the process of re-programming is flexible though it is quite slow.

You may also like:


  • What are different types of industrial robots?

  • What are LoRa gateways and what types are available?

  • Flip Flops – DE Part 18

  • Registers – DE Part 19

  • Counters – DE Part 20

  • Memory Devices for Digital Systems – DE Part 21

Filed Under: Tutorials

 

Next Article

← Previous Article
Next Article →

Questions related to this article?
👉Ask and discuss on Electro-Tech-Online.com and EDAboard.com forums.



Tell Us What You Think!! Cancel reply

You must be logged in to post a comment.

EE TECH TOOLBOX

“ee
Tech Toolbox: Internet of Things
Explore practical strategies for minimizing attack surfaces, managing memory efficiently, and securing firmware. Download now to ensure your IoT implementations remain secure, efficient, and future-ready.

EE Learning Center

EE Learning Center
“engineers
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

HAVE A QUESTION?

Have a technical question about an article or other engineering questions? Check out our engineering forums EDABoard.com and Electro-Tech-Online.com where you can get those questions asked and answered by your peers!


RSS EDABOARD.com Discussions

  • Engineer's own PCB layout software guide?
  • LVS Mismatch Error in Simple Layout
  • Does mobility carrier ratio changes with Wn? (0.18um) inverter design
  • Lightbox circuit help
  • 12VAC to 12VDC 5A on 250ft 12AWG

RSS Electro-Tech-Online.com Discussions

  • Lightbox circuit
  • Fuel Auto Shutoff
  • Kawai KDP 80 Electronic Piano Dead
  • Python help with keystroke entries
  • Do resistors fail like dominoes?

Featured – Designing of Audio Amplifiers part 9 series

  • Basics of Audio Amplifier – 1/9
  • Designing 250 Milli Watt Audio Power Amplifier – 2/9
  • Designing 1 Watt Audio Power Amplifier – 3/9
  • Designing a Bass Boost Amplifier – 4/9
  • Designing a 6 Watt Car Audio Amplifier – 5/9
  • Design a low power amplifier for headphones- 6/9

Recent Articles

  • ITG Electronics releases gate drive transformers with 200 – 450 V DC capability
  • Stackpole introduces HCJ jumpers with 70.7 amp continuous current capability
  • Infineon releases MCU with 128K flash and multi-sense capabilities
  • ST introduces 600V GaN gate drivers with 300 ns start-up time
  • ABLIC releases S-19116 automotive voltage detector with 6.8μs response time

EE ENGINEERING TRAINING DAYS

engineering

Submit a Guest Post

submit a guest post
Engineers Garage
  • Analog IC TIps
  • Connector Tips
  • Battery Power Tips
  • DesignFast
  • EDABoard Forums
  • EE World Online
  • Electro-Tech-Online Forums
  • EV Engineering
  • Microcontroller Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • 5G Technology World
  • Subscribe to our newsletter
  • About Us
  • Contact Us
  • Advertise

Copyright © 2025 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy

Search Engineers Garage

  • Electronics Projects and Tutorials
    • Electronic Projects
      • Arduino Projects
      • AVR
      • Raspberry pi
      • ESP8266
      • BeagleBone
      • 8051 Microcontroller
      • ARM
      • PIC Microcontroller
      • STM32
    • Tutorials
      • Audio Electronics
      • Battery Management
      • Brainwave
      • Electric Vehicles
      • EMI/EMC/RFI
      • Hardware Filters
      • IoT tutorials
      • Power Tutorials
      • Python
      • Sensors
      • USB
      • VHDL
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Product News
    • Business News
    • Company/Start-up News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • DigiKey Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Learn
    • eBooks/Tech Tips
    • Design Guides
    • Learning Center
    • Tech Toolboxes
    • Webinars & Digital Events
  • Resources
    • Digital Issues
    • EE Training Days
    • LEAP Awards
    • Podcasts
    • Webinars / Digital Events
    • White Papers
    • Engineering Diversity & Inclusion
    • DesignFast
  • Guest Post Guidelines
  • Advertise
  • Subscribe