250. SRAM (Static RAM)

핵심 인사이트 (3줄 요약)

  1. 본질: SRAM (Static Random Access Memory)은 교차 결합 인버터와 접근 트랜지스터로 만든 쌍안정 래치에 비트를 붙잡아 두는, 초저지연 휘발성 메모리다.
  2. 가치: 리프레시가 필요한 DRAM (Dynamic Random Access Memory)과 달리 읽기/쓰기 경로가 짧고 비파괴적이어서 CPU (Central Processing Unit) 바로 옆 캐시 계층을 구성하는 데 가장 적합하다.
  3. 판단 포인트: SRAM의 핵심 trade-off는 "속도와 예측 가능성"을 얻는 대신 "면적, 비용, 누설전력"을 크게 지불한다는 점이며, 그래서 대용량 주기억장치가 아니라 소용량 고속 버퍼에 배치된다.

Ⅰ. 개요 및 필요성

SRAM (Static Random Access Memory)은 전원이 유지되는 동안 내부 래치가 스스로 0과 1의 상태를 붙잡아 두는 반도체 메모리다. 이름의 "Static"은 영구 저장을 뜻하는 것이 아니라, 데이터를 유지하기 위해 DRAM처럼 주기적 리프레시를 하지 않아도 된다는 뜻이다. 따라서 SRAM은 비휘발성 메모리가 아니라 초고속 휘발성 메모리로 이해해야 정확하다.

이 메모리가 중요해진 이유는 CPU의 연산 속도와 외부 메모리의 응답 속도 사이 간극이 너무 커졌기 때문이다. 코어는 수 GHz로 동작해 1ns 안팎의 판단을 원하지만, 메인 메모리는 수십 ns 이상이 흔하다. 이 차이를 그대로 두면 파이프라인은 계산보다 대기 시간이 길어지고, 결과적으로 비싼 연산 장치가 메모리를 기다리며 놀게 된다.

SRAM은 이 지점에서 "용량"이 아니라 "즉시성"을 담당한다. 아주 비싸고 면적이 크더라도 CPU 바로 옆에 두어 L1 캐시 (Level 1 Cache), L2 캐시 (Level 2 Cache), 레지스터 파일 같은 초근접 저장소를 구성하면, 자주 쓰는 데이터는 DRAM까지 가지 않고도 공급할 수 있다. 즉 SRAM의 존재 이유는 메모리 계층에서 최상단의 응답 시간을 보장하는 데 있다.

아래 그림은 SRAM이 왜 필요한지를 "거리"가 아니라 "시간 차이"로 보여준다.

┌──────────────────────────────────────────────────────────────────────────┐
│                Why SRAM exists: hide the memory wall                     │
├──────────────────────────────────────────────────────────────────────────┤
│ CPU core decision                : sub-ns ~ 1 ns                         │
│        │                                                             │   │
│        ├─ L1/L2 cache by SRAM   : about 1 ~ few ns                   │   │
│        │                                                             ▼   │
│        └─ Main memory by DRAM   : tens of ns  ──> pipeline stall         │
│                                                                          │
│ Key idea: pay silicon area to save waiting time                          │
└──────────────────────────────────────────────────────────────────────────┘

이 그림의 요점은 SRAM이 "많이 저장하는 메모리"가 아니라 "기다리지 않게 만드는 메모리"라는 점이다. 그래서 메모리 계층에서 SRAM은 대용량 창고가 아니라 CPU의 바로 옆 계산용 작업대에 가깝다.

  • 📢 섹션 요약 비유: SRAM은 대형 창고가 아니라 주방 조리대와 같다. 식재료를 많이 쌓아 두지는 못하지만, 손 닿는 곳에 있어야 요리사가 칼질을 멈추지 않는다.

Ⅱ. 아키텍처 및 핵심 원리

가장 대표적인 SRAM 셀은 6T (6-Transistor) 셀이다. 네 개의 트랜지스터가 두 개의 인버터를 이루고, 이 인버터가 서로를 되먹임하면서 QQ_bar 중 하나는 높고 다른 하나는 낮은 안정 상태를 만든다. 여기에 두 개의 접근 트랜지스터를 붙여 워드라인 (Word Line)이 열릴 때만 비트라인 (Bit Line)과 연결한다. 그래서 SRAM은 "전하를 잠깐 담아 두는 구조"가 아니라 "논리 상태를 계속 재생산하는 구조"다.

읽기와 쓰기의 성질도 이 구조에서 나온다. 읽을 때는 비트라인 쌍을 미리 프리차지한 뒤 워드라인을 열고, 셀 내부의 미세한 전압 차이를 센스 앰프 (Sense Amplifier)가 증폭한다. 쌍안정 래치가 원래 상태를 유지하므로 DRAM과 달리 비파괴적 읽기가 가능하다. 쓸 때는 비트라인에 강한 0/1 패턴을 걸어 내부 래치의 균형을 뒤집는다.

아래 그림은 6T 셀의 저장 방식과 접근 경로를 한눈에 보여준다.

┌──────────────────────────────────────────────────────────────────────────┐
│                 6T SRAM cell: keep state by feedback                     │
├──────────────────────────────────────────────────────────────────────────┤
│                          VDD                    VDD                      │
│                           │                      │                       │
│                    ┌──────┴──────┐      ┌───────┴──────┐                │
│ BL ──[Access TR]───┤   Inverter   ├──Q──┤   Inverter    ├──[Access TR]──│
│        WL          └──────┬──────┘      └───────┬──────┘       WL       │
│                           │                      │                    BL_bar
│                          GND                    GND                      │
│                                                                          │
│ Read  : precharge BL/BL_bar -> open WL -> sense tiny delta               │
│ Write : drive BL/BL_bar strongly -> open WL -> flip latch                │
└──────────────────────────────────────────────────────────────────────────┘

설계자는 단순히 "빠른가"만 보지 않는다. 읽기 안정성(Read Stability), 쓰기 가능성(Write Ability), 대기 누설전력(Leakage Power), 셀 면적(Cell Area)을 함께 맞춰야 한다. 셀을 너무 작게 줄이면 읽기 중 상태가 뒤집히기 쉽고, 너무 강한 래치는 쓰기가 어려워진다. 그래서 SRAM 설계는 디지털처럼 보이지만 실제로는 상당히 아날로그적인 전압 마진 설계이기도 하다.

구성 요소역할설계 시 보는 포인트
교차 결합 인버터QQ_bar의 안정 상태 유지데이터 유지 안정성
접근 트랜지스터셀과 비트라인 연결읽기 충격 최소화
비트라인 쌍읽기/쓰기 데이터 경로배선 용량과 지연
센스 앰프작은 전압 차이 증폭속도와 오판독 방지

즉 SRAM의 핵심 원리는 "비트를 저장한다"보다 "비트가 스스로 무너지지 않게 되먹임으로 붙잡고, 필요할 때만 빠르게 꺼낸다"에 있다. 이 원리 덕분에 지연시간은 매우 짧지만, 셀 하나당 트랜지스터 수가 많아 면적과 비용은 크게 증가한다.

  • 📢 섹션 요약 비유: SRAM 셀은 공이 한쪽 골짜기에 굴러가면 그 상태를 계속 유지하는 두 개의 홈과 같다. 문을 열어 확인해도 공이 그대로 남아 있으니 빨리 읽을 수 있지만, 이런 홈을 하나하나 만드는 데 공간이 많이 든다.

Ⅲ. 비교 및 연결

SRAM을 제대로 이해하려면 DRAM과의 차이를 "빠르다/느리다" 수준이 아니라 저장 방식의 차이로 봐야 한다. DRAM은 커패시터에 전하를 잠깐 담아 두는 방식이어서 셀은 작고 싸지만, 시간이 지나면 방전되고 읽는 과정도 복원 단계를 동반한다. 반면 SRAM은 래치 기반이라 전원이 있는 동안 상태가 안정적으로 유지되고 읽기도 비파괴적이다.

비교 항목SRAM (Static Random Access Memory)DRAM (Dynamic Random Access Memory)
저장 방식6T 래치의 쌍안정 상태1T1C 셀의 전하 저장
리프레시불필요필수
읽기 특성비파괴적 읽기복원 부담 존재
지연시간매우 짧음, 캐시에 적합상대적으로 김, 주기억장치에 적합
집적도낮음높음
대표 위치CPU 캐시, 레지스터 파일, 온칩 버퍼메인 메모리, 대용량 버퍼

이 차이는 메모리 계층 구조 전체를 만든다. 레지스터 파일은 가장 작은 대신 가장 빠르고, 그 아래 L1/L2/L3 캐시가 SRAM으로 구성되어 지역성을 흡수한다. 그 아래 큰 용량은 DRAM이 맡고, 더 아래에서는 SSD와 HDD가 비용을 낮춘다. 다시 말해 SRAM은 혼자 완전한 메모리가 아니라, 다른 메모리의 약점을 덮는 "상위 계층 재료"다.

또한 SRAM은 캐시뿐 아니라 네트워크 장비의 룩업 테이블, 임베디드 시스템의 온칩 스크래치패드, 고속 FIFO (First In First Out) 버퍼와도 연결된다. 공통점은 모두 "접근 패턴이 빠르고 불규칙하며, 응답 지연이 즉시 문제로 번지는 영역"이라는 점이다. 이때 설계자는 DRAM의 대용량보다 SRAM의 짧은 레이턴시를 우선한다.

따라서 SRAM vs DRAM의 비교는 부품 경쟁이 아니라 역할 분담으로 이해해야 한다. 하나가 다른 하나를 대체하는 것이 아니라, 속도와 용량의 균형을 맞추기 위해 각기 다른 층에서 협업하는 구조다.

  • 📢 섹션 요약 비유: SRAM은 계산대 옆 거스름돈 서랍이고, DRAM은 매장 뒤 창고다. 자주 쓰는 돈은 서랍에 둬야 손님을 줄 세우지 않지만, 가게 전체 재고를 다 서랍에 넣을 수는 없다.

Ⅳ. 실무 적용 및 기술사 판단

실무에서 SRAM 채택 여부는 "최고 성능이 필요한가?"보다 "지연시간이 예측 가능해야 하는가?"로 판단하는 편이 정확하다. 예를 들어 L1 캐시나 Translation Lookaside Buffer 주변 구조처럼 매 클럭 접근이 일어나는 영역은 몇 ns의 차이도 전체 파이프라인을 흔든다. 이런 곳에서는 비싸더라도 SRAM이 사실상 유일한 선택이다.

반대로 수십 MB를 넘어 수백 MB, GB 단위 용량이 필요하면 SRAM은 금방 비현실적이 된다. 셀 면적이 크고 누설전력이 커서 다이 면적, 수율, 정적전력 비용이 급격히 상승하기 때문이다. 그래서 "큰 버퍼가 필요하다"는 요구만 보고 SRAM을 선택하면, 성능 이득보다 면적·전력 손실이 더 커질 수 있다.

설계 판단 체크포인트

  1. 접근 지연 상한이 엄격한가?
    1~3ns 수준의 응답이 필요하면 SRAM을 우선 검토한다.
  2. 용량 요구가 작고 국소적인가?
    수 KB~수 MB 범위의 핫 데이터 저장소에 적합하다.
  3. 대기전력이 중요한가?
    항상 켜져 있는 대형 SRAM 블록은 누설전력이 부담이므로 파워 게이팅 (Power Gating) 전략이 필요하다.
  4. 동시 포트가 필요한가?
    레지스터 파일처럼 다중 읽기/쓰기가 필요하면 멀티포트 SRAM이 필요하지만, 면적 비용이 더 커진다.

대표 적용 예시

  • CPU 캐시: 지역성이 있는 데이터를 코어 근처에 두어 DRAM 접근을 줄인다.
  • MCU (Microcontroller Unit) 내장 메모리: 외부 DRAM 없이도 짧고 예측 가능한 접근 시간을 확보한다.
  • 고속 네트워크 버퍼/룩업 테이블: 랜덤 액세스가 많아도 지연시간을 낮게 유지한다.

안티패턴

  • 캐시 적중률 분석 없이 무작정 SRAM 용량만 늘리는 설계
  • 누설전력 대책 없이 대형 온칩 SRAM을 상시 활성화하는 설계
  • 멀티포트 요구를 단일 포트 SRAM으로 버티려다 구조적 병목을 만드는 설계

결국 실무 판단은 단순하다. **"핫 데이터에 대한 확정적 저지연"**이 목표면 SRAM, **"대용량 저장"**이 목표면 다른 메모리를 우선 고려해야 한다. 기술사 관점에서도 SRAM은 성능 문제를 해결하는 만능 해답이 아니라, 좁고 중요한 병목 구간을 뚫는 고비용 도구로 설명하는 것이 적절하다.

  • 📢 섹션 요약 비유: SRAM은 응급실의 바로 옆 약품 카트와 같다. 자주 급히 쓰는 약은 손 닿는 곳에 둬야 하지만, 병원 전체 재고를 그 카트에 실으려 하면 공간과 비용이 먼저 무너진다.

Ⅴ. 기대효과 및 결론

SRAM을 적절한 위치에 쓰면 시스템은 평균 성능보다 최악 지연시간을 더 안정적으로 줄일 수 있다. 캐시 적중 시 응답이 짧고 예측 가능하므로 파이프라인 제어가 쉬워지고, 메모리 벽을 상당 부분 숨길 수 있다. 또한 리프레시 오버헤드가 없어 제어 로직이 단순하고, 비파괴적 읽기 덕분에 자주 접근하는 경로에서 효율이 좋다.

하지만 한계도 분명하다. 셀 면적이 커서 대용량 확장이 어렵고, 공정 미세화가 진행될수록 누설전력과 안정성 마진 관리가 더 까다로워진다. 그래서 최근에는 eDRAM (embedded DRAM), MRAM (Magnetoresistive Random Access Memory), 3D 적층 캐시 같은 대안이 연구되지만, 여전히 가장 짧고 예측 가능한 온칩 메모리의 표준은 SRAM이다.

정리하면 SRAM은 "가장 빠른 메모리"라서 중요한 것이 아니라, 비용을 감수하고서라도 CPU의 시간 감각에 맞춰 줄 수 있는 메모리라서 중요하다. 기억해야 할 관점은 하나다. SRAM은 용량 경쟁의 승자가 아니라, 메모리 계층에서 지연시간을 사 오는 가장 대표적인 투자 수단이다.

  • 📢 섹션 요약 비유: SRAM은 비싼 고속도로 하이패스 전용 차선과 같다. 모든 차를 거기로 보낼 수는 없지만, 가장 막히면 안 되는 차량을 통과시킬 때 전체 흐름이 살아난다.

📌 관련 개념 맵

개념연결 포인트
캐시 메모리 (Cache Memory)SRAM의 대표적 활용처로, 지역성을 이용해 DRAM 접근을 숨긴다.
DRAM (Dynamic Random Access Memory)대용량·저비용을 담당하며 SRAM과 함께 메모리 계층을 이룬다.
레지스터 파일 (Register File)SRAM과 유사한 고속 셀 기반 구조로 코어 내부 최상위 저장소를 담당한다.
센스 앰프 (Sense Amplifier)비트라인의 작은 전압 차이를 판독해 읽기 속도를 결정한다.
파워 게이팅 (Power Gating)대형 SRAM 블록의 누설전력을 줄이기 위한 실무적 보완 기술이다.

📈 관련 키워드 및 발전 흐름도

래치 기반 비트 저장
    │
    ▼
6T SRAM 셀 · 비파괴적 읽기
    │
    ▼
온칩 캐시 (L1/L2/L3) · 레지스터 파일
    │
    ▼
누설전력 관리 · 멀티포트 설계 · 파워 게이팅
    │
    ▼
3D 적층 캐시 · eDRAM · MRAM 대체 연구

이 흐름은 "셀 원리 -> 시스템 배치 -> 전력/면적 보완 -> 차세대 확장"으로 SRAM이 발전하는 방향을 보여준다.

👶 어린이를 위한 3줄 비유 설명

  1. SRAM은 자주 쓰는 장난감을 책상 바로 옆 작은 서랍에 넣어 두는 거예요.
  2. 서랍은 작고 비싸지만, 손만 뻗으면 바로 꺼낼 수 있어서 기다리지 않아도 돼요.
  3. 그래서 컴퓨터는 정말 급히 자주 쓰는 것만 SRAM 서랍에 넣고, 나머지는 큰 창고에 따로 보관한답니다.