nutblog

실무 기반 반도체 지식과 취업·직무 경험을 공유하는 엔지니어링 Blog 입니다.

  • 2025. 4. 11.

    by. nutblog

    모든 데이터는 '어디에' 담느냐에 따라 속도가 달라진다

    컴퓨터나 스마트폰, 서버, 임베디드 장치 등 모든 디지털 시스템은 데이터를 처리하고, 저장하고, 다시 꺼내는 과정의 반복입니다. 이 과정에서 ‘속도’에 결정적인 영향을 미치는 것이 바로 메모리입니다. 그런데 메모리라고 하면 보통 RAM 하나만 떠올리기 쉬운데, 실제로는 용도에 따라 여러 종류가 존재하며, 그중에서도 가장 많이 비교되는 두 종류가 바로 DRAM(Dynamic RAM) SRAM(Static RAM)입니다.

    두 메모리는 모두 ‘휘발성 메모리’로, 전원이 꺼지면 저장된 데이터를 잃는다는 공통점을 가지고 있지만, 구조, 속도, 비용, 사용 목적에서는 뚜렷한 차이가 존재합니다. 특히 시스템의 성능과 전력 효율을 설계할 때, DRAM과 SRAM의 특성을 얼마나 정확히 이해하고 있는지가 큰 영향을 줍니다.

    이번 글에서는 DRAM과 SRAM의 구조적 차이, 왜 속도가 다른지, 어떤 용도에 쓰이는지, 그리고 실무에서 어떤 기준으로 선택해야 하는지를 자세하게 알아보겠습니다.

     

    DRAM – 고용량, 저비용, 하지만 리프레시가 필요한 메모리

    DRAM(Dynamic Random Access Memory)은 가장 널리 쓰이는 주기억 장치입니다. 우리가 흔히 말하는 PC의 DDR 메모리, 모바일 기기의 LPDDR도 모두 DRAM의 일종입니다.

    DRAM은 하나의 셀(Cell)이 1개의 트랜지스터 + 1개의 커패시터로 구성되어 있으며, 이 커패시터에 전하를 저장하는 방식으로 데이터를 보관합니다. 전하가 조금씩 새어나가기 때문에 일정 주기마다 **리프레시(Refresh)**라는 재충전 과정을 거쳐야 하고, 이 과정이 DRAM의 속도를 제한하는 주요 원인 중 하나입니다.

    [DRAM의 특징]

    • ✔ 고집적도 → 많은 양의 데이터를 저장 가능
    • ✔ 저렴한 제조 비용 → 대용량 구현에 유리
    • ❌ 리프레시 필요 → 복잡한 제어 회로 요구
    • ❌ 상대적으로 느린 접근 속도

    이러한 특성 때문에 DRAM은 CPU와의 거리(버스 라인)에는 떨어져 있지만, 시스템 전체의 주요 데이터를 처리하는 메모리 계층에 배치됩니다. 즉, 대용량이 필요하지만 속도는 적당히 타협 가능한 영역에서 주로 사용됩니다.

     

    SRAM – 빠르지만 비싼, 프로세서에 가까운 메모리

    SRAM(Static Random Access Memory)은 이름 그대로 정적인 구조로, 리프레시가 필요 없는 메모리입니다. 1개의 셀에 6개의 트랜지스터를 사용해 데이터를 유지하며, 전원이 공급되는 한 데이터가 변하지 않습니다.

    SRAM은 복잡한 회로 구조 때문에 면적이 크고 제조 비용이 비싸지만, 그만큼 접근 속도가 매우 빠르고, 안정적인 데이터 유지가 가능합니다. 또한 리프레시가 필요 없기 때문에 **지연시간(Latency)**이 거의 없고, 전력 소모도 낮은 편입니다(활성화 상태 기준).

    [SRAM의 특징]

    • ✔ 초고속 접근 속도 → CPU 캐시 메모리에 최적
    • ✔ 리프레시 불필요 → 설계 단순
    • ❌ 낮은 집적도 → 용량 확대에 불리
    • ❌ 높은 제조 단가

    그래서 SRAM은 DRAM처럼 대용량을 만들 수는 없지만, 캐시 메모리(Level 1, 2, 3 Cache)처럼 초고속 접근이 필요한 영역에서 필수적으로 사용됩니다.

    DRAM과 SRAM의 차이 – 빠른 메모리의 핵심

     

    구조적 차이 – 트랜지스터 수, 회로 복잡도, 동작 방식

     

    항목 DRAM SRAM
    셀 구성 1T1C (1 Transistor, 1 Capacitor) 6T (6 Transistors)
    리프레시 필요함 불필요
    속도 느림 (수십 ns ~ 수백 ns) 빠름 (수 ns 이하)
    면적 작음 → 고집적 가능 큼 → 집적도 낮음
    전력 소모 적음 (대기 시) 큼 (활성 시)
    가격 저렴 고가
    용도 메인 메모리 캐시, 버퍼, 레지스터 등

    이처럼 구조 자체가 다르기 때문에, 단순히 “속도가 빠르다”는 이유만으로 SRAM을 시스템 전반에 쓰는 것은 비용적·면적적으로 비효율적입니다.

     

    DRAM은 왜 ‘Dynamic’일까?

    DRAM은 전하를 저장하는 구조입니다. 하나의 비트를 저장하기 위해 트랜지스터 1개와 커패시터 1개를 사용하죠.
    이 커패시터는 시간이 지나면 자연스럽게 전하가 새기 때문에, 주기적으로 새로 써줘야(refresh) 합니다. 이 때문에 ‘Dynamic’이라는 이름이 붙었습니다.

    이 리프레시 작업 때문에 전력 소모가 발생하고, 속도가 느려질 수도 있습니다. 하지만 셀 하나가 작기 때문에 많은 데이터를 적은 공간에 저장할 수 있다는 큰 장점이 있습니다.

     

    SRAM은 왜 ‘Static’일까?

    SRAM은 트랜지스터 6개로 하나의 비트를 구성합니다.
    DRAM처럼 전하를 저장하는 커패시터가 없기 때문에, 리프레시가 필요 없습니다. 이 구조 덕분에 SRAM은 매우 빠르게 데이터를 읽고 쓸 수 있어요.

    하지만 셀 크기가 크기 때문에 용량을 크게 만들 수 없고, 제조 비용도 높습니다. 그래서 보통 CPU 내부의 캐시에만 사용됩니다.

     

    실무에서의 활용 예시 – CPU 내부와 외부를 나눈다

    실제 시스템에서는 DRAM과 SRAM이 명확히 역할을 나누어 사용됩니다.

    • SRAM → CPU 내부 캐시 (L1, L2, L3)
      CPU의 연산 속도를 유지하기 위해 가장 빠른 메모리가 필요한 곳. SRAM은 지연시간이 거의 없어 계산 성능을 극대화하는 데 사용됩니다.
    • DRAM → 메인 메모리 (RAM 모듈, SoC 외부 연결)
      OS, 프로그램 실행, 데이터 저장 등 대용량을 필요로 하는 작업을 처리하며, CPU에서 메모리 컨트롤러를 통해 접근합니다.
    • SRAM → FPGA, 마이크로컨트롤러의 내장 RAM
      코드 실행 공간이나 고속 임시 데이터 저장소로 사용되며, 외부 메모리보다 빠른 응답이 가능하게 합니다.

    이처럼 속도와 용량, 가격의 균형을 맞추기 위해 시스템 내에서 DRAM과 SRAM은 각자의 자리에 적절하게 배치되어야 합니다.

     

    성능, 전력, 비용 – 선택 기준은 분명하다

    엔지니어 입장에서 DRAM과 SRAM 중 어느 메모리를 선택할지는 프로젝트의 목표에 따라 달라집니다. 일반적인 판단 기준은 아래와 같습니다.

    • 속도가 가장 중요하다 → SRAM
      캐시, 제어 로직, 레지스터 등에 적합.
    • 용량이 중요하고 적당한 속도로 충분하다 → DRAM
      메인 메모리, 영상 버퍼, 운영체제 로딩 영역 등에 적합.
    • 비용이 제한되어 있다 → DRAM 위주 설계
      SRAM은 면적이 커지므로 칩당 비용 상승 요인이 큽니다.
    • 저전력 시스템에서는 상황에 따라 다름
      대기 전력은 SRAM이 낮고, 운영 전력은 DRAM이 유리할 수 있어 타이밍 설계가 중요합니다.

    실제로는 SRAM과 DRAM을 함께 사용해 다층 메모리 계층 구조(Memory Hierarchy)를 구성하는 것이 일반적입니다. 이 구조가 시스템 전체 성능을 좌우하기 때문에, 두 메모리를 제대로 이해하고 조화롭게 사용하는 것이 핵심입니다.

     

    DRAM과 SRAM, 하나를 고르는 것이 아니라 적재적소가 답이다

    DRAM과 SRAM은 경쟁 관계가 아닙니다. 둘은 서로 다른 목적을 가진 파트너입니다. 하나는 ‘많이 담을 수 있는 그릇’, 다른 하나는 ‘즉시 꺼내 쓸 수 있는 주머니’처럼, 서로 다른 장점을 가지고 있습니다.

    하드웨어 설계자는 이 두 메모리의 차이를 명확히 이해하고, 상황에 맞게 적절히 배치해야 합니다. 메모리는 단순히 ‘저장’하는 공간이 아니라, 시스템 전체의 속도와 효율을 결정짓는 핵심 자원입니다.

    DRAM과 SRAM을 잘 이해하는 것, 그것이 빠른 시스템을 설계하는 첫 번째 조건입니다.