Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

Unit 1: Semiconductor Memories — RAM, ROM, EEPROM, Flash, PLA

Lesson 6 of 20 in the free Digital Electronics-II notes on Siksha Sarovar, written by Rohit Jangra.

5.1 Why this lesson exists

The four units in the syllabus list flow naturally, but Course Outcome 2 explicitly says the student must "acquire basic knowledge of digital logic families & semiconductor memories". Memories are not in the unit list, but they share the same FET building blocks as the logic families just covered — and you cannot read an ADC datasheet, design an embedded system, or wire a microcontroller bus without knowing what memory chip you are talking to. So this lesson sits at the end of Unit I to satisfy CO-2.

5.2 The memory taxonomy

ClassReadsWritesRetains without power?Typical use
SRAMFast (~ns)Fast (~ns)NoCPU caches, register files
DRAMFast (~10 ns)Fast (~10 ns)No (needs refresh every ~64 ms)Main system memory
Mask ROMFastOne-time at fabYesFirmware in mass-produced products
PROMFastOnce (fuse blown)YesField-programmable boot loaders
EPROMFastUV erase + reprogramYesDevelopment prototyping
EEPROMFastSlow (~5 ms / byte)YesConfiguration data
FlashFastSlow erase block + writeYesSSDs, MCU program memory, USB drives

5.3 Memory organisation — the address-data model

Every memory chip has the same external interface:

  • Address lines A[n−1:0] select one of 2^n locations.
  • Data lines D[m−1:0] carry the m-bit word at the selected location.
  • Control lines — typically Chip Enable (CE̅), Output Enable (OE̅), and Write Enable (WE̅).

A "32 K × 8" chip has 15 address pins and 8 data pins → 32 768 bytes total.

5.4 SRAM — the 6-transistor cell

The cell is two cross-coupled inverters (M1/M2 and M3/M4) that hold one bit indefinitely as long as Vdd is applied. Two access transistors (M5, M6) connect the cell to a bit-line pair when the word line is asserted.

OperationWord lineBit lineBit line bar
Idle0floatingfloating
Read1pre-charged, then drained by Qpre-charged, then drained by Q̅
Write 01drive 0drive 1
Write 11drive 1drive 0

SRAM is fast (nanoseconds), but each cell needs 6 transistors → low density and high cost per bit. That is why SRAM is used only where speed matters most: CPU caches.

5.5 DRAM — the 1T1C cell

One transistor + one capacitor → just two devices per bit. Density is far higher than SRAM, but:

  • The capacitor leaks → cell must be refreshed every ~64 ms by reading and rewriting every row.
  • Reads are destructive — the bit line drains the capacitor → sense amplifiers must rewrite the cell after every read.
OperationWord lineBit lineNotes
Read1sense amplifier readsThen rewrite the cell
Write1drive new valueCapacitor charges/discharges
Refresh1 (entire row)sense + rewriteDone every ~64 ms

DRAM gives you many gigabytes for a few rupees per gigabyte — but at the cost of refresh logic. Every system RAM you have ever owned is DRAM.

5.6 ROM types — a comparison

TypeWrite mechanismErase mechanismEnduranceTypical use
Mask ROMAt fabrication (metal mask)Cannot1 writeFirmware in millions of identical units
PROMFuse melting (electrical)Cannot1 writeOne-time programmable boot ROM
EPROMHigh-voltage hot-electron injectionUV light (15 min, ~ 254 nm)~100 cyclesOld microcontroller firmware, EPROM emulators
EEPROMTunnelling (high V on control gate)Tunnelling (byte-by-byte)~10⁶ cyclesMCU configuration / NV variables
FlashTunnelling (high V)Block-erase~10⁴–10⁶ cyclesSSDs, MCU program memory, USB drives, eMMC

Flash memory cells — NAND vs NOR

  • NOR flash: Each cell connects directly to the bit line — random reads are fast. Used for MCU program memory (executed in place).
  • NAND flash: Cells share a series stack — reads must fetch a whole page. Cheaper per bit; used for mass storage.

5.7 PLA — Programmable Logic Array

A PLA is a generic combinational circuit you can program to realise any sum-of-products function within its capacity. It has two programmable planes:

Compare with related programmable parts:

DeviceAND planeOR planeWhat you program
ROMFixed (full decoder)ProgrammableOR plane only — basically a truth-table lookup
PALProgrammableFixedAND plane only — fewer product terms, faster
PLAProgrammableProgrammableBoth — most flexible

A PLA is used inside CPLDs and as the heart of microcoded control units. For modern designs we mostly use FPGAs, which generalise the same idea with look-up tables (LUTs) instead of an AND-OR plane.

5.8 Choosing the right memory

5.9 At-a-glance summary

MemoryCell sizeSpeedCost / bitRetention
SRAM6T~1 nsHighestVolatile
DRAM1T + 1C~10 nsLowVolatile (refresh)
Mask ROM1T~10 nsLowest at scalePermanent
EPROM1T (floating gate)~50 nsMedium~10 yr
EEPROM2T (floating gate + access)~50 ns / 5 ms writeHigh~10 yr
Flash NOR1T (floating gate)~50 ns readMedium~10 yr
Flash NAND1T (floating gate)~25 µs page readLow~10 yr