Read Only Memory (ROM)
- Nonvolatile memory
- Can be read from but not written to
- Uses
- Store software for general purpose processor
- Store constant data needed by system
- Implement combinational circuit as lookup table
Implementation
- Programmed by only connecting select programmable connections
Types
Mask-programmed
- Connected programmed at fabrication
- Shines a light on a set of masks, to etch circuit onto silicon
- Lowest write ability (only once)
- Highest storage performance (bits never changed unless damaged)
- Typically used for final designs of high-volume systems
One Time Programmable (OTP)
- Connections programmed after manufacture by user
- User provides file of desired contents of ROM
- each programmable connection is a fuse
- ROM programmer blows fuses for connections that should not exist
- Very low write ability (typically only once)
- Very high storage performance (would not change unless reconnected to programmer)
- Often used in final products
Erasable Programmable ROM (EPROM)
- Programmable component is a MOS transistor
- Transistor has floating gate surrounded by an insulator
- Write 1: Negative charges form channel between source and drain
- Write 0: Large positive voltage at gate causes negative charges to move out of channel and get trapped in floating gate
- Erase: Shining UV rays on surface of floating gate causes negative charges to return to channel from floating gate
- Better write ability (can be reprogrammed thousands of times)
- Reduced storage permanence (lasts about 10 years but is susceptible to radiation and electrical noise)
- Typically used during design development
Electrically Erasable Programmable ROM (EEPROM)
- Programmed and erased electronically
- Typically by using a higher than normal voltage
- Can program and erase individual words
- Better write ability
- Similar storage to EPROM (about 10 years)
- Far more convenient than EPROM but more expensive
Flash
- Fast erase
- Large blocks of memory erased as once, rather than once word at a time
- Blocks typically several thousand bytes large
- Writes to single words may be slower
- Entire block must be read, modified, and then written back
- Used with embedded systems storing large data items in nonvolatile memory
- Extension of EEPROM
- Same floating gate principle
- Same write ability and storage permanence
Composing
- Parallel
- Increases word size
- Serial
- Increases number of words
- Hybrid