Ryotta's Basic

SRAM
🔲 SRAM 검증완료

SRAM vs DRAM Comparison

개요

SRAM과 DRAM은 둘 다 전원이 꺼지면 데이터가 사라지는 휘발성 메모리이지만, 비트를 저장하는 방식이 완전히 다릅니다. SRAM은 cross-coupled inverter latch가 값을 유지하는 구조라 refresh가 필요 없고, DRAM은 capacitor에 저장된 전하를 읽는 구조라 주기적인 refresh가 필요합니다.

이 차이 때문에 SRAM은 지연 시간이 짧아 CPU cache와 register file에 적합하고, DRAM은 비트당 면적과 비용이 유리해 main memory와 graphics memory에 쓰입니다. 같은 "RAM"이라도 시스템에서 맡는 역할이 다른 이유가 바로 이 구조 차이입니다.

SRAM vs DRAM 비교

1. 핵심 개념

SRAM

SRAM은 2개의 cross-coupled inverter와 access transistor로 이루어진 latch 기반 메모리입니다. 전원이 공급되는 동안 셀 내부가 스스로 상태를 유지하므로, idle 상태에서 refresh 회로가 필요하지 않습니다.

SRAM의 강점은 빠른 접근성과 예측 가능한 지연입니다. 대신 셀 하나를 만들기 위해 더 많은 transistor가 필요해 density가 낮고, silicon area와 cost가 커집니다.

DRAM

DRAM은 일반적으로 1 transistor + 1 capacitor(1T1C)로 구성됩니다. 비트는 capacitor에 남아 있는 전하로 표현되며, 전하가 새기 때문에 일정 시간마다 refresh가 필요합니다.

DRAM의 강점은 높은 density와 낮은 bit cost입니다. 반면 refresh, row activation, restore 과정이 필요해 SRAM보다 제어가 복잡하고 latency도 큽니다.

함께 쓰는 이유

SRAM은 빠르지만 비싸고, DRAM은 싸지만 느립니다. 그래서 시스템은 둘을 계층적으로 배치합니다. 가까운 곳에는 SRAM cache를 두고, 큰 용량은 DRAM main memory가 맡는 구성이 일반적입니다.

2. 비교/분석

항목 SRAM DRAM
저장 소자 cross-coupled latch capacitor + transistor
셀당 트랜지스터 수 보통 6T 보통 1T1C
refresh 필요 없음 주기적으로 필요
읽기 특성 비파괴적 read destructive read 후 restore 필요
지연 시간 짧음 상대적으로 김
밀도 낮음 높음
비용 높음 낮음
대표 용도 CPU cache, register file, small buffer main memory, graphics memory

이 표의 핵심은 "빠르냐, 싸고 크냐"의 선택입니다. SRAM은 시간에 유리하고, DRAM은 용량에 유리합니다. 실제 설계에서는 한쪽의 장점을 다른 쪽이 보완하도록 메모리 계층을 만든다고 보는 편이 정확합니다.

추가로 전력과 제어 복잡도도 중요한 차이입니다. SRAM은 refresh가 없어 유휴 시 제어가 단순하지만 셀 면적이 커서 큰 용량을 만들수록 면적과 누설 전력 부담이 커집니다. DRAM은 비트당 면적이 작아 대용량에 유리하지만, refresh 스케줄링과 타이밍 제약을 memory controller가 계속 관리해야 하므로 시스템 관점의 복잡도는 더 높습니다.

3. 동작 원리

SRAM read / write

SRAM read는 비트라인을 미리 precharge한 뒤 word line(WL)을 활성화해 셀을 비트라인에 연결하고, 셀 내부의 미세한 전압 차이를 sense amplifier가 증폭하는 방식으로 진행됩니다. latch 자체가 상태를 유지하므로 read 후 복구 과정이 필요하지 않습니다.

SRAM write는 비트라인 드라이버가 원하는 값과 반대값을 강하게 구동해 latch를 뒤집습니다. 읽기 안정성과 쓰기 용이성은 서로 충돌하므로, 셀 크기와 access transistor의 세기를 함께 조정해야 합니다.

DRAM read / write / refresh

DRAM read는 저장 capacitor의 전하를 bit line과 공유하면서 아주 작은 전압 변화를 만들고, sense amplifier가 그 차이를 크게 증폭해 값을 판정하는 방식입니다. 이 과정에서 capacitor의 내용이 약해지므로, read 이후에는 원래 값을 다시 써 넣는 restore가 필요합니다.

DRAM write는 선택된 셀의 capacitor를 충전하거나 방전해 1과 0을 기록합니다. 시간이 지나면 leakage로 전하가 줄어들기 때문에, memory controller가 refresh command와 timing parameter를 관리해야 합니다.

시스템 관점

SRAM은 구조가 단순해 즉시 접근하기 좋지만, 큰 용량으로 키우기 어렵습니다. DRAM은 배열과 timing이 복잡하지만, 같은 면적에서 훨씬 많은 bit를 담을 수 있습니다. 그래서 cache hierarchy는 SRAM으로, working set이 큰 영역은 DRAM으로 나눠 설계합니다.

이때 DRAM은 row activate, precharge, refresh 같은 명령 흐름과 timing window를 따라야 해서 독립적으로 쓰기보다 memory controller와 함께 동작합니다. 반대로 SRAM은 CPU core 가까이에 붙어 짧은 배선과 작은 array를 바탕으로 매우 낮은 접근 지연을 제공하는 대신, 동일한 용량을 DRAM처럼 경제적으로 확장하기는 어렵습니다.

4. 장단점

SRAM 장점

  • refresh가 필요 없어 제어가 단순합니다.

  • read가 빠르고 지연 예측이 쉽습니다.

  • cache와 같이 작은 용량에서 매우 유리합니다.

SRAM 단점

  • 셀 면적이 커서 density가 낮습니다.

  • 비트당 비용이 높아 대용량화가 어렵습니다.

  • 공정 변동성에 따라 read/write margin을 맞추기가 까다롭습니다.

DRAM 장점

  • 1T1C 구조라 density가 높고 비용이 낮습니다.

  • 대용량 main memory에 적합합니다.

  • 같은 실리콘 면적에서 더 많은 데이터를 저장할 수 있습니다.

DRAM 단점

  • refresh가 필요해 제어와 타이밍이 복잡합니다.

  • read 후 restore가 필요해 동작이 SRAM보다 무겁습니다.

  • latency가 커서 CPU 바로 옆의 초저지연 용도에는 불리합니다.

5. 관련 기술

6. 핵심 정리

  • SRAM은 latch 기반이라 refresh 없이 빠르게 동작하지만, 면적과 비용이 큽니다.

  • DRAM은 capacitor 기반이라 density와 비용에 유리하지만, refresh와 restore가 필요합니다.

  • 그래서 SRAM은 cache와 register file에, DRAM은 main memory에 주로 배치됩니다.

  • 메모리 계층은 속도와 용량의 절충이 아니라, 서로 다른 저장 원리를 역할에 맞게 나눈 결과입니다.