Memory architecture
Memory architecture is how computers store and retrieve data. It aims to be fast, reliable, durable, and cheap, but sometimes one goal is traded off to improve another.
How it works: data are binary digits that become electrical signals and sit in memory cells. The design of a memory cell determines how data are kept, read, and written.
Key types:
- DRAM (dynamic RAM): very common for main storage and fast, but it must be refreshed regularly or data are lost.
- SRAM (static RAM): fast and does not need refreshing, but more expensive and uses more power.
- Flash memory: good for long-term storage and retention over years, but slower and its cells wear out with repeated use.
Access and error checking:
- Buses can be serial or parallel, affecting how data move.
- Memory can include parity checks or error-correcting codes (ECC) to detect and fix errors.
Early designs and modern practice:
- Harvard architecture uses separate memories and paths for programs and data.
- Princeton architecture uses a single memory and path for both programs and data.
- Most general computers use a hybrid approach: fast caches split by instruction and data, while software sees a single, larger memory space.
Specialized systems:
- DSPs (digital signal processors) often need very high memory bandwidth and may skip memory protection or virtual memory.
- Some DSPs use three separate memories—program storage, coefficient storage, and data storage—to fetch from all three areas at once for fast signal processing, such as audio filters.
This page was last edited on 2 February 2026, at 13:47 (CET).