DRAM은 충전기 캐패시터(capacitor)에 전하(charge)를 저장하는 방식으로 2진 데이터를 저장한다. 충전기에 전하가 존재하는지에 따라 2진수와 1과 0을 구분해 저장한다. 캐패시터에 충전된 전하는 시간이 지남에 따라 조금씩 방전되므로 결국 기억된 정보를 잃게 된다. 이를 방지하고자 기억장치의 내용을 주기적으로 재생시키기 위해 주기적으로 충전해주어야 한다. 따라서 재충전(refresh)을 위한 제어회로를 탑재해야 한다. 동적으로 저장 정보를 재생시키므로 동적(dynamic)이란 명칭이 붙여졌으며, SRAM에서 S(static)와 비교되는 명명이다. DRAM은 SRAM보다 구조가 간단하다. 한 비트를 구성하는 데 SRAM은 여섯 개의 트렌지스터가 필요한 반면, DRAM은 한 개의 트랜지스터와 한 개의 축전지가 필요하다. 따라서 고밀도 집적에 유리하다. 또한 전력 소모가 적고 가격이 낮아 대용량 기억장치에 많이 사용된다.
[ 그림 7-24 ]는 DRAM의 기억소자(memory cell) 구조를 나타낸 것이다. 실질적인 2진 정보가 저장되는 충전기는 캐패시터이고 입력 단자로는 행(row) 입력과 열(column) 입력이 존재한다. 여러 개의 캐패시터가 존재할 때 행 입력과 열 입력의 조합으로 정확한 저장 위치를 지정할 수 있다. R/W 단자는 읽기 동작과 쓰기 동작을 결정한다. 이 외에 재충전 입력과 재충전 버퍼, 데이터 입력 Din과 입력 버퍼, 데이터 출력Dout과 출력 버퍼가 존재한다.
[ 그림 7-24 ]
DRAM에는 쓰기 동작과 읽기 동작 으그리고 재충전 동작이 존재한다. 각 동작 과정을 단계별로 살펴보자
쓰기 동작
1단계 : R/W =0: 기록하려면 입력 버퍼는 Enable되고 사용하지 않는 출력 버퍼는 Disable된다.
2단계 : 논리 0을 저장하기 위해서 Din=10 캐패시터는 충전되지 않는다. 만약 캐패시터에 논리 1이 저장되어 있는 경우, 캐패시터는 방전된다.
3단계 : 기억 소자에 논리 1을 저장하려면 Din=1로 하고, 저장 위치를 지정하는 행(row) 입력이 논리 1이면 캐패시터에는 양(+)의 전압이 충전된다.
읽기 동작
1단계 : R/W=1: 읽어온 데이터를 저장하려면 출력 버퍼는 Enable되고, 사용하지 않는 입력 버퍼는 Disable된다.
2단계 : 출력하려는 데이터의 위치를 지정하는 행(row) 입력이 논리 1이면, 캐패시터는 비트 선(bit line)을 통하여 출력 버퍼에 연결된다.
3단계 : 저장된 데이터는 출력(Dout)을 통하여 외부로 출력된다.
재충전 동작
1단계 : R/W=1, 행(row) 입력=1, 재충전(refresh) 입력=1로 하면 캐패시터는 비트 선에 연결된다.
2단계 : 출력 버퍼는 Enable되고, 저장된 데이터 비트를 저장한다. 재충전 입력이 논리 1이므로 출력 버퍼의 데이터는 재충전 버퍼에 다시 입력되고 다시 캐패시터에 저장된다.