임베디드 SRAM
임베디드 SRAM 개요
임베디드 SRAM(Embedded SRAM, eSRAM)은 별도 칩이 아니라 SoC(System on Chip) 내부에 직접 집적되는 SRAM입니다. CPU 캐시, 버퍼, DMA 엔진, 무선 기지국의 버퍼 등 다양한 목적으로 사용되며, 칩 설계자가 직접 용량·구조·위치를 결정할 수 있는 것이 핵심 특징입니다.
standalone SRAM 칩과 달리 eSRAM은 프로세서 코어, 로직, I/O 등과 동일한 실리콘 위에 제작됩니다. 따라서 메모리 매크로(memory macro) 형태로 제공되며, 칩 설계자는 이를 레이아웃에 배치하고 주변장치와 연결하는 방식으로 시스템을 구성합니다.
실제 SoC 설계에서는 단순히 셀 어레이만 넣는 것이 아니라, 공정에 맞는 메모리 컴파일러로 포트 수, 워드 수, 비트 폭, 리텐션 옵션, 듀얼 전원 분리 여부 같은 구성을 고르고 타이밍 모델과 레이아웃 제약까지 함께 가져옵니다. 그래서 eSRAM은 "온칩에 붙어 있는 빠른 메모리"를 넘어, 배치·배선·전력망·DFT까지 묶인 하드 매크로 IP로 다뤄집니다.
1. 핵심 개념
메모리 매크로(Memory Macro)
임베디드 SRAM은 일반적으로 메모리 매크로라고 불리는 프리셋(prerouted) 블록으로 제공됩니다. 메모리 매크로는 SRAM 배열(array), 주변장치(peripherals), 그리고 외부 인터페이스로 구성된 자기 완결적(self-contained) 하드 블록입니다.
그림 1. 메모리 매크로 구성 — SRAM 배열 + 주변장치 + 인터페이스
메모리 매크로의 주요 구성 요소는 다음과 같습니다:
- SRAM 배열(Array): 비트셀이 행과 열로 배치된 메모리 코어
- 주변장치(Peripherals): 워드라인 디코더, 센스 앰프, 프리차지 회로, 제어 로직
- 인터페이스: 주소 입력, 데이터 I/O, 제어 신호, 전원/접지 핀
eSRAM의 종류와 용도
| 종류 | 설명 | 대표 용도 |
|---|---|---|
| CPU 캐시 | 프로세서 코어 내부의 L1/L2/L3 캐시 | 범용 프로세서, 모바일 AP |
| 버퍼 SRAM | DMA, 스트리밍 데이터 임시 저장 | 비디오 프로세서, 네트워크 칩 |
| RF-SOC SRAM | 무선 주파수 신호 처리용 버퍼 | 기지국, Wi-Fi 칩, 레이더 |
| CIM SRAM | 연산 인 메모리용 SRAM | AI 가속기, 신경망 프로세서 |
| IO SRAM | 인터페이스 버퍼, 레지스터 파일 | 고속 인터커넥트, 메모리 컨트롤러 |
뱅크(Bank)와 매크로 배치
대용량 eSRAM은 하나의 큰 매크로보다 여러 개의 작은 뱅크로 나누어 구현하는 경우가 많습니다. 뱅크 분할은 다음과 같은 이점을 제공합니다:
- 병렬 액세스: 서로 다른 뱅크에 동시에 접근하여 대역폭 증가
- 저전력 동작: 액세스하지 않는 뱅크는 전원을 끌 수 있음 (clock gating)
- 유연한 구성: 용도에 따라 뱅크 수와 크기를 조정 가능
메모리 컴파일러와 하드 매크로
대부분의 eSRAM은 수작업으로 한 셀씩 그리는 대신 메모리 컴파일러가 생성한 하드 매크로로 제공됩니다. 설계자는 단일 포트/듀얼 포트, 깊이와 폭, byte write mask, 저전력 옵션, column mux 비율 같은 파라미터를 선택하고, 생성된 레이아웃 뷰와 타이밍 모델, 전력 모델을 물리 설계와 sign-off 흐름에 연결합니다.
이 방식의 장점은 공정 최적화가 이미 반영된 매크로를 재사용할 수 있다는 점입니다. 반대로 매크로 외곽 핀 위치와 aspect ratio가 고정되므로, floorplan 단계에서 배선 혼잡과 전원망 연결, 주변 로직과의 거리까지 함께 검토해야 합니다.
2. 비교/분석
eSRAM vs standalone SRAM vs 캐시 SRAM
| 항목 | eSRAM (SoC 내장) | standalone SRAM | CPU 캐시 SRAM |
|---|---|---|---|
| 위치 | SoC 다이 내부 | 별도 칩 | 프로세서 코어 내부 |
| 제어 | 칩 설계자가 직접 제어 | 외부 버스로 액세스 | 하드웨어 자동 관리 |
| 용도 | 커스텀 버퍼, BUF, CIM | 범용 메모리 시스템 | CPU 캐시 계층 |
| 크기 | KB~수십 MB | 수 MB~수백 MB | KB~수십 MB |
| 속도 | 매우 빠름 (수 ns) | 빠름 (수 ns~수십 ns) | 매우 빠름 (수 ns 이하) |
| 유연성 | 레이아웃에 따라 결정 | 범용 인터페이스 | 하드웨어로 고정 |
메모리 매크로 유형 비교
| 매크로 유형 | 특징 | 장점 | 단점 |
|---|---|---|---|
| 싱글 포트(Single Port) | 읽기/쓰기 공유 포트 | 면적이 작음 | 읽기/쓰기 동시 불가 |
| 트루 듀얼 포트(True Dual Port) | 독립적인 2개 포트 | 동시 읽기/쓰기 가능 | 면적이 큼 |
| 심플 듀얼 포트(Simple Dual Port) | 읽기 전용 + 쓰기 전용 포트 | 읽기/쓰기 동시 가능, 면적 효율 | 쓰기 포트는 읽기 불가 |
| 2RW (Two Read/Write) | 독립적인 2개 읽기/쓰기 포트 | 높은 동시성 | 면적과 전력이 큼 |
캐시 SRAM, scratchpad, 레지스터 파일의 차이
| 항목 | eSRAM 버퍼/매크로 | CPU 캐시 SRAM | Scratchpad / Local Store | 레지스터 파일 |
|---|---|---|---|---|
| 관리 주체 | SoC 하드웨어 또는 펌웨어 | 캐시 컨트롤러 | 소프트웨어 또는 DMA | 파이프라인 하드웨어 |
| 주소 방식 | 물리 주소 또는 로컬 주소 | 태그 비교 기반 | 명시적 주소 이동 | 명령어 필드 기반 |
| 지연 예측성 | 높음 | 미스 여부에 따라 변동 | 매우 높음 | 가장 높음 |
| 주요 용도 | 버퍼, 큐, 공유 작업 공간 | 데이터/명령 캐싱 | DSP/GPU/실시간 워크셋 | 실행 중 피연산자 저장 |
| 설계 초점 | 용량, 포트, 뱅킹 | 히트율, 일관성 | 소프트웨어 제어, DMA | 멀티포트, 초저지연 |
3. 동작 원리
메모리 매크로 내부 동작
그림 2. 메모리 매크로 읽기/쓰기 동작 흐름
읽기 동작
- 주소 디코딩: 입력 주소가 행 주소(Row Address)와 열 주소(Column Address)로 분리됩니다.
- 워드라인 활성화: 행 디코더가 해당 워드라인(WL)을 활성화하여 해당 행의 모든 비트셀을 비트라인에 연결합니다.
- 비트라인 방전: 선택된 비트셀의 내용에 따라 비트라인(BL/BLB)이 미세하게 방전됩니다.
- 센스 앰프 감지: 센스 앰프가 비트라인의 미세한 전압 차이를 증폭하여 디지털 값으로 변환합니다.
- 데이터 출력: 열 디코더가 선택한 열의 데이터가 출력 레지스터를 거쳐 외부로 전달됩니다.
쓰기 동작
- 주소 디코딩: 읽기와 동일하게 행/열 주소를 분리합니다.
- 워드라인 활성화: 해당 행을 선택합니다.
- 데이터 구동: 쓰기 데이터가 비트라인 드라이버를 통해 BL/BLB에 강하게 구동됩니다.
- 래치 반전: 강한 비트라인 드라이버가 셀 내부 래치를 원하는 값으로 뒤집습니다.
- 워드라인 비활성화: WL을 낮추면 새 값이 안정적으로 저장됩니다.
주변장치(Peripherals) 상세
| 주변장치 | 역할 | 설계 고려사항 |
|---|---|---|
| 행 디코더(Row Decoder) | 주소를 워드라인으로 변환 | 디코딩 속도, 면적 효율 |
| 열 디코더(Column Decoder) | 비트라인에서 데이터 선택 | 멀티플렉서 깊이, 지연 시간 |
| 프리차지 회로 | 읽기 전 비트라인을 VDD로 충전 | 프리차지 시간, 전력 소비 |
| 센스 앰프 | 비트라인 전압차 증폭 | 감도, 오프셋, 전력 소비 |
| 입력 버퍼 | 외부 신호를 내부 레벨로 변환 | 전압 레벨, 클럭 도달 시간 |
| 제어 로직 | 읽기/쓰기 순서 제어 | 타이밍 마진, 전력 관리 |
테스트와 수율 보강
대용량 eSRAM 매크로는 SoC 수율에 직접 영향을 주기 때문에 MBIST(Memory Built-In Self-Test)와 repair 회로를 함께 넣는 경우가 많습니다. 전원 인가 후 또는 제조 테스트 시 March 계열 패턴으로 불량 셀을 찾고, 행/열 spare를 이용해 address remap을 적용하면 일부 셀 결함이 있어도 매크로를 출하 가능한 상태로 복구할 수 있습니다.
ECC 적용 여부는 용도에 따라 달라집니다. CPU 캐시나 안전성 요구가 높은 버퍼는 parity 또는 SECDED를 붙이지만, 아주 짧은 지연이 중요한 소형 scratchpad나 레지스터 인접 버퍼는 면적과 지연 증가 때문에 ECC를 생략하기도 합니다.
4. SoC 설계에서의 eSRAM 고려사항
메모리 배치 전략
그림 3. SoC 내 eSRAM 배치 전략과 고려사항
SoC 설계에서 eSRAM의 위치와 구조는 성능과 면적에 직접적인 영향을 줍니다.
성능 고려사항
- 접근 지연: 캐시처럼 코어에 가까울수록 지연이 줄어듭니다.
- 대역폭: 뱅크 수와 비트 폭에 따라 결정됩니다.
- 동시 접근: 듀얼 포트 매크로를 사용하면 읽기/쓰기를 동시에 처리할 수 있습니다.
면적 고려사항
- 셀 밀도: 6T 셀이 가장 일반적이며, 8T/10T는 면적이 크지만 안정성이 높습니다.
- 뱅크 수: 뱅크를 많이 나누면 병렬성이 높아지지만 주변장치 면적이 증가합니다.
- 레이아웃 배치: 로직과 메모리 사이의 간격, 전력 배선 등을 고려해야 합니다.
전력 고려사항
- 클럭 게이팅: 액세스하지 않는 뱅크의 클럭을 차단하여 전력 소비를 줄입니다.
- 전압 스케일링: 저전력 동작을 위해 공급 전압을 낮출 수 있습니다.
- 레티션 모드: 데이터를 유지하면서 최소 전력으로 대기하는 모드
테스트 및 운영 고려사항
- MBIST 연결: 제조 테스트와 bring-up 단계에서 주소/데이터/제어 경로를 자동 점검할 수 있어야 합니다.
- Repair fuse 또는 remap 정보: 불량 셀을 spare row/column으로 우회할 수 있어야 대형 매크로 수율이 올라갑니다.
- ECC/Parity 선택: 캐시, 공유 버퍼, 실시간 버퍼마다 허용 가능한 지연과 보호 수준이 다릅니다.
- 관측성 확보: DFT 포트, 상태 레지스터, 에러 카운터가 없으면 현장 디버깅이 매우 어려워집니다.
RF-SOC에서의 eSRAM
무선 주파수(RF) SoC는 고주파 신호를 디지털로 변환한 후 처리하므로, 고속 데이터 버퍼링이 필수적입니다.
- ADC/DAC 버퍼: 아날로그-디지털 변환기 앞뒤의 데이터를 임시 저장
- 필터 버퍼: 디지털 필터의 중간 결과 저장
- 스펙트럼 분석 버퍼: FFT 연산을 위한 데이터 수집
RF-SOC의 eSRAM은 일반 SoC보다 높은 대역폭과 낮은 지연 시간을 요구하며, 따라서 더 넓은 비트 폭과 더 빠른 주변장치가 특징입니다.
5. 장단점
장점
- 시스템 통합: 별도 칩 없이 SoC 내부에 직접 집적하여 시스템 크기와 비용을 줄입니다.
- 저지연 접근: 외부 버스를 거치지 않아 매우 빠른 접근이 가능합니다.
- 유연한 설계: 용도에 따라 뱅크 수, 크기, 포트 구성을 자유롭게 결정할 수 있습니다.
- 저전력 동작: 클럭 게이팅, 전압 스케일링 등 전력 최적화가 용이합니다.
- 예측 가능한 지연: DRAM처럼 refresh 제어가 없고, scratchpad형 구성에서는 캐시 미스 변동성도 줄일 수 있습니다.
단점
- 면적 제약: SoC 다이 내에서 로직과 면적을 공유해야 하므로 제한된 공간에 배치해야 합니다.
- 수율 영향: eSRAM 영역의 결함은 칩 전체 수율에 직접적인 영향을 줍니다.
- 설계 복잡성: 메모리 매크로 선택, 배치, 타이밍 Closure 등 추가적인 설계 노력이 필요합니다.
- 업데이트 어려움: 칩이 제조되면 eSRAM 구조를 변경할 수 없으므로, 설계 단계에서 충분한 검증이 필요합니다.
- DFT 오버헤드: MBIST, repair, ECC를 붙이면 면적과 검증 범위가 늘어나 설계가 더 무거워집니다.
6. 관련 기술
- 6T SRAM 기본 구조와 동작 원리 - 비트셀, 읽기/쓰기 안정성, 센스 앰프 배경
- SRAM 셀 변형 분석 - 8T/10T와 멀티포트 셀의 면적-안정성 트레이드오프
- 저전력 SRAM 설계 기법 - retention, drowsy, 전압 스케일링과 eSRAM 저전력 운용
- CPU 캐시 아키텍처 - 캐시 SRAM과 소프트웨어 관리형 버퍼의 차이
- GPU 메모리 최적화 기법 - scratchpad/shared memory와 뱅크 충돌 관점 비교
- Static random-access memory - SRAM의 일반 특성, embedded use, integrated on-chip 배경
- Scratchpad memory - 소프트웨어 관리형 온칩 메모리와 cache의 차이
- Built-in self-test - MBIST의 제조 테스트 목적과 기본 개념
7. 핵심 정리
-
임베디드 SRAM은 SoC 내부에 집적되는 SRAM으로, 메모리 매크로 형태로 제공됩니다.
-
메모리 매크로는 SRAM 배열, 주변장치(디코더, 센스 앰프), 인터페이스로 구성된 자기 완결적 블록입니다.
-
SoC 설계에서는 성능(지연, 대역폭), 면적(셀 밀도, 뱅크 수), 전력(클럭 게이팅, 전압 스케일링)을 함께 고려해야 합니다.
-
RF-SOC 등 특수 응용에서는 고속 버퍼링과 높은 대역폭이 요구되므로, 매크로 선택과 배치 전략이 중요합니다.
-
eSRAM은 시스템 통합과 저지연에 강점이 있지만, 면적 제약과 수율 영향이라는 설계 도전과제가 있습니다.
-
실제 제품 수준에서는 메모리 컴파일러, MBIST, repair, ECC 같은 보조 구조까지 포함해 eSRAM을 하나의 하드 매크로 IP로 다루는 시각이 중요합니다.