메모리 인터리빙


1. 개요

메모리 인터리빙(Memory Interleaving)은 컴퓨터 시스템에서 메인 메모리를 여러 개의 뱅크(bank) 혹은 채널(channel)으로 나누어, 연속적인 메모리 주소를 서로 다른 뱅크에 번갈아가며 배치함으로써 메모리 접근을 병렬화하고 전체 메모리 대역폭을 향상시키는 기술이다. 이 방식은 CPU가 연속적인 데이터를 빠르게 읽고 쓸 수 있도록 하여 메모리 병목 현상을 완화한다.


2. 동작 원리

단계 내용
주소 매핑 물리 주소의 하위 비트(일반적으로 log₂(뱅크 수))를 사용해 해당 주소가 속할 메모리 뱅크를 결정한다.
뱅크 선택 각 뱅크는 독립된 메모리 컨트롤러와 데이터 버스를 가지고 있어 동시에 접근이 가능하다.
병렬 처리 연속적인 주소에 대한 연속적인 읽기·쓰기 요청이 여러 뱅크에 분산되면, CPU는 한 뱅크가 응답을 기다리는 동안 다른 뱅크에 접근할 수 있다.
재정렬 데이터가 메모리에서 CPU로 전송될 때는 원래 순서대로 재조합되어 제공된다.

3. 인터리빙 종류

  1. 뱅크 인터리빙 (Bank Interleaving)

    • DRAM 모듈을 여러 뱅크로 구분하고, 주소를 뱅크 단위로 순환 배치한다.
    • 일반적인 DDR·DDR2·DDR3/4 메모리에서 가장 널리 사용된다.
  2. 채널 인터리빙 (Channel Interleaving)

    • 메모리 컨트롤러가 두 개 이상의 물리적 채널(예: 듀얼 채널, 트리플 채널, 쿼드 채널)로 구성된 경우, 각 채널에 번갈아가며 데이터를 할당한다.
    • 채널 간 대역폭을 합산해 전체 메모리 성능을 크게 늘린다.
  3. 랭크 인터리빙 (Rank Interleaving)

    • 하나의 메모리 모듈이 여러 랭크(rank)로 구성될 때, 랭크 간에 주소를 분산시켜 접근 시간을 감소시킨다.
  4. 주소 인터리빙 (Address Interleaving)

    • 시스템 레벨에서 물리 주소 공간 자체를 여러 메모리 모듈에 고르게 분산시키는 방법으로, NUMA(Non‑Uniform Memory Access) 시스템에서 주로 활용된다.

4. 기대 효과

효과 설명
대역폭 증가 여러 뱅크·채널이 동시에 작동해 메모리 총 전송률이 곱셈적으로 증가한다.
지연 시간 감소 연속적인 접근 시 대기 시간이 뱅크마다 격리돼 평균 접근 지연이 감소한다.
CPU·GPU 활용도 향상 데이터가 빠르게 공급되어 연산 유닛의 유휴 시간이 감소한다.
전력 효율성 동일 작업을 더 적은 클럭 사이클에 수행함으로써 전력 소비가 낮아진다.

5. 구현 예시

시스템 인터리빙 방식 주요 특징
일반 PC (DDR4) 2‑채널, 8‑뱅크 인터리빙 2 × 64‑bit 데이터 버스, 8‑뱅크 순환 매핑
서버 (DDR5) 4‑채널, 16‑뱅크 인터리빙 + 레인(구간) 인터리빙 고대역폭·고밀도 메모리, 온‑다이 ECC 지원
GPU (HBM2) 다중 뱅크·다중 스택 인터리빙 메모리 스택 간 병렬 액세스로 그래픽/AI 연산 가속
모바일 (LPDDR5) 채널 + 뱅크 인터리빙 전력 최적화와 높은 전송 속도 구현

6. 설계 시 고려 사항

  1. 뱅크/채널 수와 주소 비트 매핑

    • 뱅크 수가 2^n 형태여야 주소 매핑이 간단하고 하드웨어 구현 비용이 낮다.
  2. 데이터 정렬 및 캐시 라인

    • 인터리빙은 캐시 라인(보통 64 B)과 정렬을 맞춰야 메모리 접근 효율이 최적화된다.
  3. 메모리 컨트롤러 복잡도

    • 뱅크 스케줄링, 재정렬 로직, 충돌 방지(예: bank conflict) 등을 처리해야 하므로 컨트롤러 설계가 복잡해진다.
  4. 전력·열 관리

    • 다수의 뱅크가 동시에 작동하면 전력 소모와 열 발생이 증가하므로, 동적 전압·주파수 조정(DVFS)과 열 설계가 필요하다.
  5. 호환성

    • 인터리빙 구조는 메모리 모듈·칩셋·CPU/SoC 간 표준화된 인터페이스(예: JEDEC DDR 표준)를 따르는 것이 중요하다.

7. 역사와 발전

연도 주요 사건
1970‑대 초기 메인프레임에서 다중 뱅크 DRAM을 이용한 기본 형태의 인터리빙 등장
1990‑대 PC용 SDRAM이 보편화되면서 듀얼 채널 인터리빙이 표준화
2000‑대 DDR2/DDR3 시기에 뱅크 수가 확대되고, 쿼드 채널·멀티 채널 구성이 도입
2010‑대 DDR4HBM(High Bandwidth Memory)에서 고밀도 뱅크·채널 인터리빙이 핵심 설계 요소가 됨
2020‑대 DDR5LPDDR5에서는 온‑다이 ECC다중 뱅크 레인이 결합돼 인터리빙 효율이 크게 향상

8. 관련 기술 및 용어

  • NUMA (Non‑Uniform Memory Access) : 메모리 인터리빙을 시스템 레벨에서 확장한 형태.
  • ECC (Error‑Correcting Code) : 인터리빙된 메모리에서도 오류 검출·수정을 지원.
  • Cache Coherency : 멀티코어 시스템에서 인터리빙된 메모리와 캐시 간 일관성을 유지하는 메커니즘.
  • Memory Controller : 인터리빙 매핑, 스케줄링, 재정렬을 담당하는 핵심 하드웨어 블록.

9. 결론

메모리 인터리빙은 현대 컴퓨팅 환경에서 메모리 대역폭과 접근 지연을 최적화하는 핵심 기술이다. 뱅크·채널·랭크 등 다양한 계층에서 적용 가능하며, DDR·DDR2·DDR3·DDR4·DDR5, HBM, LPDDR 등 현재 대부분의 메모리 표준에 내재되어 있다. 설계자는 인터리빙 구조를 고려해 주소 매핑, 전력·열 관리, 컨트롤러 복잡도 등을 균형 있게 최적화함으로써 시스템 전체 성능을 극대화할 수 있다.

둘러보기

더 찾아볼 만한 주제