핵심 인사이트 (3줄 요약)
- 본질: 스토리지 클래스 메모리 (SCM, Storage Class Memory) 계층화는 DRAM (Dynamic Random Access Memory)과 SSD (Solid State Drive) 사이에 바이트 단위 접근 가능하고 비휘발성인 중간 계층을 두어, 메모리와 스토리지의 성능 단절을 완화하는 아키텍처다.
- 가치: 로그, 인덱스, 체크포인트, 웜 데이터셋을 SSD보다 훨씬 가까운 위치에 두면서도 전원 차단 후 보존할 수 있어, 빠른 재기동·낮은 쓰기 지연·더 큰 유효 메모리 용량을 동시에 노릴 수 있다.
- 판단 포인트: SCM은 DRAM보다 느리고 쓰기 특성도 비대칭일 수 있으므로, 모든 데이터를 무조건 옮기는 것이 아니라 핫 데이터는 DRAM, 영속적 웜 데이터는 SCM, 대용량 콜드 데이터는 SSD에 두는 배치 전략이 핵심이다.
Ⅰ. 개요 및 필요성
SCM 계층화는 메모리 피라미드의 가장 큰 단절, 즉 "빠르지만 휘발성인 DRAM"과 "영속적이지만 훨씬 느린 SSD" 사이를 메우려는 시도다. 전통적인 시스템은 DRAM에 작업 데이터를 두고, 장애 대비를 위해 SSD에 로그와 체크포인트를 남긴다. 문제는 DRAM과 SSD 사이의 지연 차이가 너무 커서, 영속성을 확보하려는 순간 성능이 급격히 떨어진다는 점이다.
이 단절은 데이터베이스와 인메모리 분석 시스템에서 특히 크게 드러난다. 자주 읽고 쓰는 자료구조는 DRAM에 두고 싶지만, 장애 후 복구 시간과 메모리 비용도 무시할 수 없다. 그래서 SCM은 "SSD보다 훨씬 가까우면서, 전원이 꺼져도 남는 중간층"으로 주목받았다. 대표 상용 사례로는 Optane 기반 Persistent Memory가 있었고, 현재는 CXL (Compute Express Link) 기반 계층 설계와 함께 개념이 확장되고 있다.
이 그림은 CPU (Central Processing Unit) 기준에서 SCM 계층화가 메우려는 간극을 보여 준다.
┌──────────────────────────────────────────────────────────────────────┐
│ 메모리와 스토리지 사이의 큰 틈을 SCM 계층이 메운다 │
├──────────────────────────────────────────────────────────────────────┤
│ CPU Cache : sub-ns │
│ DRAM : ~100 ns 빠르지만 휘발성 / 용량당 가격 높음 │
│ SCM : ~0.3~5 μs 느리지만 비휘발성 / 바이트 접근 가능 │
│ NVMe SSD : ~50~100 μs 저렴하지만 블록 I/O 중심 │
│ │
│ 목표: "전원이 꺼져도 남아 있으면서 SSD보다 훨씬 가까운 중간층" 확보 │
└──────────────────────────────────────────────────────────────────────┘
결국 SCM 계층화의 필요성은 단순 용량 확장보다, 영속성을 얻는 순간 너무 멀어지는 데이터를 다시 CPU 가까이 끌어오는 데 있다. 이 시각이 있어야 왜 SCM이 메모리와 스토리지 양쪽 언어를 모두 가진 계층인지 이해된다.
- 📢 섹션 요약 비유: SCM 계층화는 책상과 지하 창고 사이에 잠기지 않는 큰 서랍장을 하나 더 두는 것과 같다. 자주 쓰는 물건은 책상에 두고, 꼭 보존해야 하는 물건은 서랍장에 둬서 매번 창고까지 뛰어가지 않게 만든다.
Ⅱ. 아키텍처 및 핵심 원리
SCM 계층화는 보통 세 층으로 생각하면 이해가 쉽다. 가장 뜨겁고 짧은 지연이 필요한 데이터는 DRAM에 둔다. 그보다 조금 느려도 되지만 전원 차단 후 보존해야 하는 웜 데이터는 SCM에 둔다. 대용량이지만 접근 빈도가 낮은 데이터는 SSD로 내린다. 중요한 것은 단순히 "빠른 것부터 위에 쌓는다"가 아니라, 속도·영속성·비용이라는 세 축을 함께 최적화한다는 점이다.
구현 방식은 크게 두 갈래다. 첫째는 운영체제나 메모리 컨트롤러가 DRAM을 캐시로 쓰고 큰 SCM 용량을 뒤에 두는 투명 계층화다. 둘째는 애플리케이션이 DAX (Direct Access) 같은 방식을 통해 SCM 영역을 직접 인지하고, 로그·인덱스·체크포인트를 명시적으로 배치하는 방식이다. 후자는 더 어렵지만, 페이지 캐시와 블록 입출력 (I/O, Input/Output) 스택을 우회해 SCM의 장점을 더 직접적으로 활용할 수 있다.
| 계층 | 주 역할 | 장점 | 주의점 |
|---|---|---|---|
| DRAM | 핫 워킹셋, 쓰기 집중 데이터 | 최저 지연, 높은 대역폭 | 휘발성, 비용 높음 |
| SCM | 영속적 웜 데이터, 빠른 재기동 대상 | 비휘발성, 바이트 접근 | DRAM보다 느리고 쓰기 특성 주의 |
| SSD | 콜드 데이터, 대용량 저장 | 저렴한 용량 | 블록 입출력, 높은 지연 |
이 그림은 SCM 계층화가 속도 기준 배치와 영속성 경로를 동시에 어떻게 다루는지 보여 준다.
┌──────────────────────────────────────────────────────────────────────┐
│ SCM 계층화는 '속도 기준 배치'와 '영속성 기준 배치'를 함께 다룬다 │
├──────────────────────────────────────────────────────────────────────┤
│ CPU Cache │
│ │ │
│ ├─ 핫 / 쓰기 집중 데이터 ───────▶ DRAM │
│ ├─ 웜 / 영속 데이터 ───────────▶ SCM │
│ └─ 콜드 / 대용량 데이터 ───────▶ NVMe SSD │
│ │
│ 내구성 경로: CPU Cache → flush → SCM persist domain → 재기동 후 재사용│
└──────────────────────────────────────────────────────────────────────┘
실제로 영속성을 얻으려면 CPU 캐시에 머물던 데이터가 지속 영역에 도달했음을 보장해야 한다. 그래서 캐시 라인 flush와 순서 보장(fence) 같은 쓰기 내구성 절차가 중요해진다. SCM은 저장장치이면서 메모리이기 때문에, "어디에 둘 것인가"뿐 아니라 "언제 실제 영속 상태가 되는가"도 설계 대상이다.
- 📢 섹션 요약 비유: SCM은 지워지지 않는 화이트보드와 같다. 책상 바로 옆에 있어서 빨리 쓸 수 있지만, 진짜 남겨야 할 내용은 분필을 쓰고 나서 잘 마를 때까지 확인해야 한다.
Ⅲ. 비교 및 연결
SCM 계층화의 경계는 DRAM 확장과 SSD 캐싱을 같이 볼 때 드러난다. DRAM만 늘리면 가장 빠르지만 비용과 휘발성 문제가 남고, SSD 계층화만으로는 영속성은 얻어도 메모리 수준의 세밀한 접근과 빠른 재시작이 어렵다. SCM은 이 둘 사이에서 속도와 지속성을 절충하지만, 어느 쪽도 완전히 대체하지는 않는다.
| 항목 | DRAM 중심 구성 | SCM 계층화 | SSD 중심 계층화 |
|---|---|---|---|
| 접근 단위 | 바이트 | 바이트 중심 | 블록 중심 |
| 영속성 | 없음 | 있음 | 있음 |
| 지연 | 최저 | 중간 | 가장 큼 |
| 재기동 속도 | 재로딩 필요 | 즉시 재사용 가능 | 재적재 필요 |
| 적합 워크로드 | 초고속 임시 데이터 | 웜 persistent data | 장기 저장·아카이브 |
또한 SCM 계층화는 Persistent Memory 개념과 직접 연결되고, 최근에는 CXL Type-3 메모리 장치와도 닿아 있다. 중요한 점은 CXL이 "운반 인터페이스"라면, SCM은 "중간 계층의 성격"이라는 것이다. 다시 말해 CXL은 SCM을 실어나르는 새 버스가 될 수 있지만, 계층화 전략 자체를 대신하지는 않는다.
역사적으로 Optane은 SCM 계층화의 가능성을 보여 준 대표 사례였다. 시장 제품은 변동이 있었지만, 빠른 재기동·로그 가속·대용량 메모리 계층화라는 아키텍처 문제는 여전히 남아 있다. 그래서 SCM 계층화는 특정 제품이 아니라 지속적으로 반복되는 설계 패턴으로 기억하는 것이 좋다.
- 📢 섹션 요약 비유: DRAM은 손에 쥔 메모장, SSD는 멀리 있는 서고, SCM은 잠금 기능이 있는 책상 서랍에 가깝다. 셋 다 저장이지만, 쓰는 거리와 남는 방식이 다르다.
Ⅳ. 실무 적용 및 기술사 판단
실무에서는 SCM을 "무엇을 영속적으로 가깝게 둘 것인가"라는 질문으로 접근해야 한다. 대표 사례는 WAL (Write-Ahead Log)과 체크포인트, 대형 인메모리 데이터베이스의 재기동 대상, 자주 읽는 인덱스 구조다. 이들은 SSD에 두면 느리고, DRAM에만 두면 장애 후 복구 비용이 커서 SCM 계층화의 가치가 잘 드러난다.
하지만 SCM을 DRAM 대용으로만 생각하면 오판이 된다. SCM은 일반적으로 DRAM보다 지연이 길고, 쓰기 대역폭이나 내구성 특성도 다르다. 따라서 쓰기 집중 임시 데이터까지 모두 SCM으로 몰면 오히려 성능이 나빠질 수 있다. 좋은 설계는 DRAM과 SCM의 역할을 나누고, 파일 시스템·데이터베이스·런타임이 그 차이를 인지하게 만드는 설계다.
판단 체크리스트
- 데이터가 핫, 웜, 콜드 중 어디에 속하는지 실제 접근 패턴으로 구분했는가?
- 영속성을 요구하는 자료구조에 flush / fence 절차를 설계했는가?
- 비균일 메모리 접근 (NUMA, Non-Uniform Memory Access)과 메모리 채널 배치를 고려해 SCM 접근 경로를 최적화했는가?
- SCM에 둘 데이터가 읽기 중심인지, 쓰기 집중인지 구분했고 내구성 모니터링 계획이 있는가?
피해야 할 안티패턴
-
모든 DRAM을 SCM으로 치환해 동일 성능을 기대하는 설계
-
페이지 캐시와 블록 I/O를 그대로 유지해 DAX 이점을 잃는 중복 경로
-
임시 작업 데이터나 과도한 쓰기 집중 데이터를 SCM에 몰아 넣는 배치
-
📢 섹션 요약 비유: SCM 활용은 냉장고를 없애고 김치냉장고만 쓰는 일이 아니다. 어떤 음식은 냉장고에, 어떤 음식은 김치냉장고에 둬야 전체 주방이 가장 효율적으로 돌아간다.
Ⅴ. 기대효과 및 결론
SCM 계층화가 잘 작동하면 시스템은 세 가지를 동시에 얻는다. 첫째, SSD보다 훨씬 짧은 경로에서 영속 데이터를 다룰 수 있어 로그와 체크포인트 지연이 줄어든다. 둘째, 장애 후 메모리 이미지를 다시 적재하는 시간이 짧아져 재기동이 빨라진다. 셋째, 같은 예산에서 DRAM 단독 구성보다 더 큰 유효 메모리 공간을 설계할 수 있다.
물론 한계도 있다. DRAM만큼 빠르지 않고, 제품 생태계와 소프트웨어 지원이 아직 균일하지 않으며, 내구성과 쓰기 순서 보장까지 고려해야 한다. 최근에는 전통적 영속 메모리 (PMem, Persistent Memory) DIMM 형태보다 CXL 기반 메모리 확장, 소프트웨어 정의 계층화, QLC (Quad-Level Cell) SSD와의 연동처럼 더 넓은 형태로 진화하고 있다.
결론적으로 SCM 계층화는 메모리와 스토리지의 경계를 다시 설계하는 기술이다. 중요한 것은 소자 이름보다 배치 철학이다. 무엇을 얼마나 빠르게, 얼마나 오래 남겨야 하는지를 기준으로 DRAM·SCM·SSD를 역할 분담시키는 것이 핵심이다.
- 📢 섹션 요약 비유: SCM 계층화는 집 안 수납을 다시 설계하는 일과 같다. 물건을 다 같은 서랍에 넣지 않고, 자주 쓰는 것·꼭 보관할 것·가끔 쓰는 것을 나눠 두어 생활 전체를 더 빠르게 만든다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| Persistent Memory | SCM 계층화가 구현하려는 시스템 수준의 영속 메모리 개념이다. |
| DAX (Direct Access) | 파일 시스템 버퍼를 우회해 SCM을 직접 활용하는 대표 방식이다. |
| Memory Mode | DRAM을 캐시처럼 쓰고 큰 SCM 용량을 뒤에 두는 투명 계층화 모델이다. |
| App Direct | 애플리케이션이 SCM 영역을 직접 인식하고 배치하는 모델이다. |
| CXL Type-3 Memory | 미래의 SCM·확장 메모리 계층을 실어나를 유력 인터페이스다. |
| WAL (Write-Ahead Log) | SCM 계층화 효과가 가장 잘 드러나는 대표 영속 데이터 경로다. |
📈 관련 키워드 및 발전 흐름도
DRAM 중심 메모리 + SSD 중심 영속 저장
│
▼
Persistent Memory / Optane 계열 시도
│
▼
DRAM · SCM · SSD의 핫 / 웜 / 콜드 계층화
│
▼
DAX 기반 직접 접근 · 빠른 재기동
│
▼
CXL 기반 풀드 메모리 · 소프트웨어 정의 티어링
이 흐름은 "빠른 휘발성 메모리와 느린 영속 저장장치의 분리"에서 출발해, "영속성을 메모리 가까이 끌어오는 방향"으로 진화하는 과정을 보여 준다.
👶 어린이를 위한 3줄 비유 설명
- SCM은 책상과 창고 사이에 있는 특별한 서랍장이에요.
- 중요한 장난감을 이 서랍장에 넣어 두면 밤에 전기가 꺼져도 그대로 남아 있고, 아침에 바로 꺼내 놀 수 있어요.
- 대신 제일 자주 쓰는 장난감은 아직 책상 위에 두는 게 가장 빠르답니다.