DRAM 구조

동적 임의 접근 메모리(Dynamic Random Access Memory, DRAM)는 작은 커패시터의 전하 상태로 비트를 저장한다. 전하가 시간이 지나며 새어 나가므로 메모리 컨트롤러가 주기적으로 내용을 읽고 다시 써 주는 리프레시가 필요하다.

셀은 행과 열의 배열로 묶이고, 여러 배열이 뱅크를 이룬다. 원하는 데이터를 읽으려면 먼저 행을 활성화해 Row Buffer로 가져오고, 그 안에서 열을 선택한다. 같은 열린 행을 다시 읽는 Row Hit는 다른 행으로 전환하는 Row Miss보다 빠르다.

여러 뱅크와 뱅크 그룹은 한 뱅크가 타이밍을 기다리는 동안 다른 뱅크에서 작업할 수 있게 한다. 메모리 데이터 전송률이 올라가도 DRAM 셀 배열의 동작이 같은 비율로 빨라지는 것은 아니므로 Prefetch와 Burst, 뱅크 병렬성이 중요해진다.

읽기·쓰기 전에 행을 열고 닫는 과정은 tRCD, tRP, tRAS 같은 타이밍으로 표현된다. 숫자는 클럭 주기이므로 실제 시간은 데이터 전송률과 함께 계산해야 한다.

DRAM 칩은 모듈 PCB 위에서 Rank를 구성한다. CPU는 채널을 통해 모듈과 통신하고, 모듈의 SPD에는 기본 동작 정보가 저장된다. DDR5의 On-Die ECC는 DRAM 칩 내부 셀 오류를 보정해 제조와 고밀도 동작을 돕지만, CPU가 보는 데이터 경로 전체를 보호하는 시스템 ECC와는 다르다.

출처

관련: 메모리 타이밍과 실제 지연시간, ECC 메모리