
Pamięć dynamiczna, DRAM (od ang. dynamic random-access memory) – rodzaj ulotnej pamięci półprzewodnikowej RAM, która przechowuje każdy bit danych w oddzielnym kondensatorze wewnątrz układu scalonego. Poszczególne jej elementy zbudowane są z tranzystorów MOS, z których jeden pełni funkcję kondensatora, a drugi elementu separującego.
W przeciwieństwie do pamięci statycznych (SRAM) wymagają okresowego odświeżania zawartości (ze względu na rozładowywanie się kondensatorów). Jednocześnie pojedyncza komórka pamięci dynamicznej składa się z mniejszej liczby elementów niż analogiczna komórka pamięci statycznej. Powyższe cechy pozwalają na większe upakowanie elementów w układach scalonych, co daje efekt w postaci niższych kosztów produkcji i pozwala na budowę tańszych układów pamięci o danych pojemnościach.
Odświeżanie musi następować w regularnych odstępach czasu i wewnętrznie polega na ponownym zapisie odczytanej wartości w tych samych komórkach pamięci. Za odświeżanie odpowiedzialne są układy pamięci, specjalizowane układy wspomagające (kontroler pamięci – obecnie najczęściej stanowi on integralną część chipsetu) bądź sam procesor (np. Z80).
Pamięci dynamiczne najczęściej łączone są w dwuwymiarowe tablice adresowane numerem wiersza i kolumny, co pozwala ograniczyć liczbę wymaganych linii adresowych i przyspiesza sekwencyjny odczyt danych umieszczonych w kolejnych komórkach tego samego wiersza pamięci.
Pamięci dynamiczne są obecnie szeroko wykorzystywane jako pamięć operacyjna w urządzeniach, z wyjątkiem układów wymagających niezbyt dużych ilości pamięci (np. sterowniki) oraz wymagających szybkiego dostępu do pamięci (np. specjalizowany sprzęt sieciowy).
Pamięć DRAM przechowuje bity w prostokątnej (zazwyczaj zbliżonej do kwadratu) macierzy kondensatorów. Dostęp do pamięci rozpoczyna się od niszczącego odczytania wybranego wiersza tej macierzy, zwanego otwarciem strony, i przekopiowania jego zawartości do bufora złożonego z umieszczonych na krawędzi macierzy komórek pamięci SRAM, po jednym bicie na każdą kolumnę. Następnie można dokonać jednej lub więcej operacji odczytu lub zapisu do dowolnie wybranych bitów otwartej strony (dostęp swobodny), po czym następuje skopiowanie zawartości bufora do odczytanego przy otwarciu strony wiersza przez naładowanie odpowiednich kondensatorów, operacja jest zwana zamknięciem strony pamięci. Bardzo często cała sekwencja operacji otwarcia i zamknięcia strony jest wykorzystywana do wykonania wyłącznie jednej operacji odczytu lub zapisu danych[potrzebny przypis].