Memory Chips and Memory Interfacing (Chapter 7)
- Two types of memory:
- Main memory:
- Semiconductor
- Mostly volatile
- Secondary memory:
- Magnetic; Opticalfloppy, hard disk; CD-ROM
- Permanent
Main Memory Technologies
- PROM, SRAM, DRAM, & flash memory
- The ideal memory chip:4 attributes:
- Access time: “time to R/W data to the chip” (0 ns)
- Non-volatile
- Very dense
- Low power consumption:
- Long battery life, small power supply
Comparing Memory Technologies
ROM Types
- Mask programmable ROMfig. 7.1: n-inputs, m-outputs. (2**n x m)
- Three parts:
- Address decoder
- Programmable memory array
- Output buffer
- Field programmable ROM:fig. 7.2: blown fuse => programs “1”
- Fusible link: one time programmable (OTP)
ROM Types (Cont.)
- UV-light erasable PROM (EPROM)fig. 7.3 (a)
- More expensive w.R.To PROMquartz-window package
- Programming: trap electric charge
- Storage period: about 20 years
- Blank EPROM: storing “1’s”
- Ultra-violet light bulk erase
- Fig. 7.4: EPROM programmer
ROM Types (Cont.)
- Electrically erasable PROM (EEPROM)fig. 7.3 (b)
- Advantages w.R.To UV EPROM:
- No need to remove from PCB to program
- Byte erasure possible (bulk erasure also.)
- Cheaper package (no quartz window)
- 10,000 to 1000,000 R/W cycles
- Slow writing time (25 ms typical)
ROM Types (Cont.)Flash Memory
- Similar to EEPROM: in circuit write
- No byte erasure: block & bulk erasure
- Cheaper than EEPROM; Simpler cell:
- More reliable
- More density; Example:Intel’s 28F020: 256K bytes = 2 M bits
PCMCIA Credit-card-size Flash-memory Devices
- Personal computer memory card international association
- Silicon hard disks:40 MB non-volatile memory
- Examples: fig. 7.5:modemEthernet adapter
The Intel 28F020 Flash Memory
- Fig. 7.6 (data sheet):
- Typical erase time: 2s (bulk erasure only)
- Single byte write time = 10 micro-second
- 4 seconds to write to all 256 bytes
- 100,000 erase/program cycles
- Read access time = 70 ns
- Vcc = 5.0V and Vpp = 12.0V (programming)
- Icc = 10 ma (similar DRAMS: 65-90 ma)
- Programming: table 7.1
Intel’s 28F400B (W/ Boot Block)
- Fig. 7.7 (data sheet):
- 256K x 16-bits or 512K x 8-bits
- Seven memory blocks:
- 1 16K boot block can be protected [RP]
- 2 16K 8K parameter blocks
- 1 96K main block
- 3 384K 128K main blocks
- Sum=512k
Applications for Flash Memory
- BIOS: easy upgrade, even remotely
- Network I/O address & interrupt number
- Robotics (stored path for robot arm)
- Smart cards, digital cameras
- USB memory cards (up to 1 GB!)
Static RAM (SRAM)
- Basic cell: flip-flop (fig. 7.8)
- 6-transistor:
- Q1, Q2: cross-coupled flip flop
- Q3, Q4: act as pull-up resistors
- Q5, Q6: switches
- Applications:
- Cache memory
- E.G. 7C1024-15 SRAM: 128K, 15 ns
Dynamic RAM (DRAM)
- Storage cell: capacitor and transistor (fig. 7.9)
- High density (w.R.To SRAM)
- Requires refresh (once every 1 to 16 ms)
- Simms: single in-line memory modulesfig. 7.11 (30- and 72-pin)
- DIMMs: dual in-line memory modules168-pins. Fig. 7.14, 7.15
- RIMMs: Rambus in-line memory modules16 bits @ 400 MHz serial data, fig. 7-16
Memory OrganizationChip Organization
- 16 Mb memory:
- 16M x 1 (16 M bits)
- 4M x 4 (4 M nibbles)
- 2M x 8 (2M Bytes)
- 1M x 16 (1M words: 8086)
- SRAM and ROM: Byte-wide, ... x 8
- The Micron MT46V8M8 SDRAM: Fig. 7.10
- 2M x 8 x 4 (banks): 4 banks of 2MB each
Example 7.1
- Using 64K x 8 SRAM, find the minimum # of chips for each processor and the memory size
- Processor data bus min#chips cap.8088 8-bits 1 64K 8086 16-bits 2 128K
- 80386 32-bits 4 256K80486 32-bits 4 256K
Memory Module Organization
- Locations x width=> table 7-4
- FPM: fast page mode
- EDO: extended data out
- 9-bits: error detection/correction:two schemes: parity & error check code (ECC) => useful for servers => increases mean time between failure (MTBF) => better reliability!
Memory Access Time
- DRAM: 60 ns => memory access timeolder memory chips: > 150 ns access time => O.K. With 5 MHz processor clock
- SDRAM: PC100 => 100 MHz external sys busPC133 => 133 MHz external system bus
- Ram-bus: 400, 600 MHz => serial channel, 16-bits wide!
Memory Part Numbers
- WWW XX YYYY-ZZ: (table 7.5)
- WWW: manufacturer code
- XX: type of memory (SRAM, DRAM, EPROM…)
- YYYY: total bit storage
- ZZ: access time (ns)
- E.G. MC27256-10: Motorola semiconductor:
- 27=EPROM, 256K bits, 100ns (EPROM: slow)
- XX=41 or 51: DRAM; =62 or 7C: SRAM ?!