Dynamic random-access memory
Sjabloon:Zijbalk types geheugen
Dynamic random access memory, kortweg DRAM, is een type RAM waarbij iedere bit in een eigen condensator wordt opgeslagen. De opgeslagen lading lekt snel weg en moet daarom periodiek worden ververst. Vanwege dit herladen wordt het dynamische RAM genoemd, in tegenstelling tot SRAM.
Een computer met DRAM voert dus niet alleen het nuttige programma uit, maar moet ook steeds het volledige geheugen verversen, dus lezen en weer herschrijven. Gelukkig zorgt de hardware hiervoor, zodat de programmeur er geen omkijken naar heeft. Bovendien is een geheugenchip in staat een hele rij van de gegevensmatrix ineens te verversen, waarbij de gegevens niet buiten de chip hoeven te komen.
Het voordeel ten opzichte van SRAM is, dat er weinig componenten per bit nodig zijn: één transistor en condensator per bit, vergeleken met zes transistors in SRAM. Hierdoor kan met DRAM een hogere integratiedichtheid behaald worden.
DRAM en SRAM verliezen de gegevens als de voedingsspanning wegvalt en zijn dus vluchtige geheugens.

Werking
Een chip met dynamisch RAM heeft de adreslijnen gemultiplext. Dat wil zeggen dat er slechts de helft van het benodigde adreslijnen is en dat het adres in twee stappen wordt overgedragen, namelijk de rij en de kolom.
Om een bit te lezen of te schrijven, gaat men als volgt te werk.
De helft van het adres (meestal de laagste bits) wordt op de adresingangen (A) gezet. De lijn RAS (Row Address Strobe) wordt geactiveerd.
De rijadresdecoder (groen) decodeert het adres en selecteert een rij uit de matrix (blauw, zie afbeelding rechts) van geheugenelementen. De hele rij wordt naar de buffer (rood) gekopieerd.
Nu wordt de lijn R/W (Read/Write) op het juiste niveau gezet en wordt (als er geschreven wordt) het databit op de lijn Data gezet.

Daarna wordt de andere helft van het adres op de adresingangen gezet en de lijn CAS (Column Address Strobe) geactiveerd. De kolomadresdecoder (groen) decodeert het adres en het databit wordt in de buffer opgeslagen, of een bit wordt uit de buffer op de datalijn gezet.
Tenslotte worden CAS en RAS weer inactief gemaakt. Op het moment dat RAS inactief wordt, wordt de buffer teruggekopieerd naar de juiste rij van de matrix (blauw).
RAS-only
Het wordt niet vaak gedaan, maar het is mogelijk achter elkaar meerdere bits uit de buffer te adresseren. Eerst wordt RAS geactiveerd. Daarna kan de processor met CAS de bits in de buffer adresseren. Tenslotte wordt RAS weer geïnactiveerd.
Refresh
Uit het bovenstaande blijkt dat een hele rij uit de matrix ververst wordt door de rij te lezen. Het gebruik van CAS is daarbij niet nodig.
Aparte datalijnen
In tegenstelling tot de tekening hebben veel RAM-chips een aparte in- en uitgang voor data. De uitgang is echter tri-state en niet zelden worden in- en uitgang op de printplaat direct met elkaar verbonden.