Chapter 12

차세대 메모리와 PIM·CIM

SRAM처럼 빠르고, DRAM처럼 촘촘하고, 플래시처럼 전원을 꺼도 기억하는 메모리 — 이 '꿈의 메모리'를 향해 수십 년 동안 자성, 상변화, 산소 공공 필라멘트, 강유전 분극이라는 전혀 다른 물리가 동원되었다. 이 장에서는 각 소자가 비트를 저장하는 방식과 발목을 잡는 한계를 시뮬레이터로 직접 만져 보고, 3D XPoint(Optane)가 남긴 교훈을 짚는다. 후반부에서는 관점을 바꿔 '메모리를 바꾸는' 대신 '메모리를 쓰는 방식을 바꾸는' 세 흐름, CXL 메모리 확장과 연산기를 메모리 옆으로 옮기는 PIM(Processing-In-Memory), 셀 어레이 자체가 연산하는 CIM(Computing-In-Memory)을 다룬다.

이상적인 메모리를 향해: 스토리지 클래스 메모리

1장에서 본 메모리 계층은 결국 '완벽한 메모리가 없어서' 생긴 타협이다. SRAM은 1 ns 안팎으로 빠르지만 6개 트랜지스터(120~150 F²)라 비싸고, DRAM은 6 F² 셀로 촘촘하지만 64 ms마다 리프레시가 필요한 휘발성이며, NAND 플래시는 비휘발성이고 비트당 가격이 가장 싸지만 읽기에 수십 µs, 쓰기에 수백 µs가 걸리고 수천 번 쓰면 닳는다. 이상적인 메모리는 이 셋의 장점만 모은 것이다.

아직 이 네 가지를 모두 만족하는 소자는 없다. 그러나 현실적인 목표는 분명하다. DRAM(~100 ns)과 NAND SSD(~수십 µs) 사이에는 지연 시간으로 약 1000배의 간극이 있다. 이 틈을 메우는, DRAM보다 싸고 NAND보다 훨씬 빠른 비휘발성 메모리를 스토리지 클래스 메모리(SCM, Storage-Class Memory)라 부른다.

접근 지연 (로그 스케일) 0.1 ns1 ns10 ns100 ns 1 µs10 µs100 µs1 ms SRAM 캐시 (L1~L3) DRAM NAND SSD 메모리–스토리지 간극 ~1000× · SCM의 자리 Optane PMem ~0.3 µs Optane SSD ~10 µs CXL DRAM ~0.2 µs 느림 · 쌈 · 비휘발 빠름
그림 12-1. 접근 지연으로 본 메모리 계층. DRAM(~100 ns)과 NAND SSD(~수십 µs) 사이에 약 세 자릿수의 빈칸이 있다. Optane 퍼시스턴트 메모리(PMem)와 CXL로 붙인 DRAM이 이 간극의 앞쪽을 겨냥했다. 수치는 부하가 적을 때의 대략적인 값이다.

3D XPoint와 Optane의 교훈

SCM에 가장 가까이 다가갔던 제품은 Intel과 Micron이 2015년에 발표한 3D XPoint(크로스포인트)다. 공개 분석에 따르면 칼코게나이드 기반의 상변화형 저장 소자와 OTS 셀렉터를 직렬로 쌓은 셀을 워드라인·비트라인 교차점마다 두고, 이 크로스바를 2층으로 적층한 구조다(이 장에서 배울 PCM과 1S1R 크로스바의 조합이다). Intel은 이를 Optane SSD와 DIMM 슬롯에 꽂는 Optane 퍼시스턴트 메모리로 출시했다. 읽기 지연은 SSD 형태에서 ~10 µs, DIMM 형태에서 ~300 ns 수준으로 NAND보다 한두 자릿수 빨랐고 내구성도 훨씬 좋았다.

그러나 Micron은 2021년 사업에서 철수했고, Intel도 2022년 Optane 사업 정리를 발표했다. 기술 자체보다 경제성과 생태계가 발목을 잡았다.

교훈: 기술이 이기려면 로드맵이 필요하다

새 메모리가 기존 메모리를 대체하려면 한 세대에서 이기는 것으로는 부족하고, DRAM·NAND의 스케일링 속도를 매 세대 따라잡아야 한다. 그래서 오늘날 차세대 메모리는 '범용 대체'보다 틈새에서 확실히 이기는 곳(임베디드 비휘발 메모리, 저전력 IoT, AI 가속기용 아날로그 연산)부터 자리를 잡는 전략을 택한다. 그리고 Optane이 열어 둔 '메모리 계층의 새 층'이라는 자리는 CXL 메모리가 이어받고 있다(뒤의 CXL 절).

이제 네 가지 대표 후보 — MRAM, PCM, ReRAM, FeRAM/FeFET — 를 차례로 보자. 공통점은 모두 전하가 아닌 물질의 상태(자화 방향, 원자 배열, 필라멘트, 분극)에 비트를 저장한다는 것이다. 2장에서 본 것처럼 DRAM과 NAND는 작은 커패시터나 게이트에 전자를 가둬 두는데, 소자가 작아질수록 가둘 수 있는 전자 수가 줄어 누설과 잡음에 취약해진다. 물질 상태 기반 메모리는 이 '전자 수 부족' 문제에서 비교적 자유롭다.

MRAM: 자화 방향에 비트를 새기다

MRAM(Magnetoresistive RAM)의 저장 소자는 자기 터널 접합(MTJ, Magnetic Tunnel Junction)이다. 두 강자성층 사이에 1 nm 남짓한 절연막(MgO)을 끼운 샌드위치다. 아래쪽 고정층(reference/pinned layer)의 자화는 움직이지 않도록 붙잡혀 있고, 위쪽 자유층(free layer)의 자화는 위 또는 아래 두 방향 중 하나를 택한다. 두 층의 자화가 같은 방향이면 평행(P), 반대면 반평행(AP) 상태다.

상부 전극 (비트라인) 자유층 CoFeB ~1.5 nm 터널 장벽 MgO ~1 nm 고정층 CoFeB 합성 반강자성층 (Co/Pt 다층 · Ru) 하부 전극 → 액세스 TR 수직 자기 이방성(p-MTJ) 지름 ~20~60 nm 평행 (P) · 저저항 → "0" R_P ≈ 3~5 kΩ 반평행 (AP) · 고저항 → "1" R_AP = R_P (1 + TMR) 스핀 방향별 상태 밀도가 맞으면 터널링 ↑, 어긋나면 ↓ MgO(001)는 특정 대칭의 전자만 잘 통과시키는 '스핀 필터' → 상온 TMR 100~200% (제품), 실험실 최고 수백 %
그림 12-2. 수직 자화 MTJ(p-MTJ)의 적층. 자유층의 자화가 고정층과 평행하면 저항이 낮고(P), 반평행이면 높다(AP). 실제 적층은 시드층·캡층·결합층을 포함해 10~20개 층에 이른다.

TMR: 읽기 신호의 크기

두 상태의 저항 차이를 터널 자기저항비(TMR, Tunnel Magnetoresistance)로 나타낸다.

$$ \mathrm{TMR} = \frac{R_{AP} - R_{P}}{R_{P}}, \qquad \mathrm{TMR}_{\text{Julliere}} = \frac{2P_1P_2}{1 - P_1P_2} $$
\(P_1, P_2\)는 두 강자성층 전자의 스핀 분극률. 비정질 AlOx 장벽 시절 TMR은 수십 %였지만, 결정질 MgO(001) 장벽이 '대칭 필터링'을 하면서 상온 수백 %까지 올라갔다. 읽기 전압을 높이면 TMR이 감소하므로(바이어스 의존성) 읽기는 보통 0.1~0.2 V에서 한다.

TMR 150%라면 \(R_{AP} = 2.5R_P\)다. DRAM이나 NAND에 비하면 신호가 작은 편이다. \(R_P = 4\ \text{k}\Omega\), 읽기 전압 0.1 V라면 전류는 25 µA 대 10 µA — 이 15 µA 차이를 기준 셀과 비교하는 전류 센스 앰프로 판별한다. 게다가 MTJ 저항의 공정 편차(수 %)가 신호 폭을 잠식하므로, 높은 TMR과 균일한 저항-면적(RA) 곱이 MRAM 수율의 열쇠다.

스핀 전달 토크: 전류로 자석을 뒤집다

초기 MRAM(토글 MRAM)은 배선 전류가 만드는 자기장으로 자유층을 뒤집었다. 이 방식은 셀이 작아질수록 필요한 전류가 커지고 이웃 셀을 교란해 스케일링이 막혔다. 돌파구는 스핀 전달 토크(STT, Spin-Transfer Torque)였다. 고정층을 지나며 스핀이 한 방향으로 정렬된 전자가 자유층으로 들어가면, 그 스핀 각운동량이 자유층의 자화에 토크로 전달된다. 전류 방향을 바꾸면 반대 방향의 토크가 걸리므로, 한 쌍의 단자로 P→AP, AP→P 쓰기가 모두 가능하다.

자유층 자화는 팽이처럼 세차 운동(precession)을 하며, 감쇠(damping)가 자화를 원래 방향으로 되돌리려 한다. STT가 감쇠를 이기면 세차 각이 점점 커져 결국 반대편으로 넘어간다. 이 문턱 전류를 임계 스위칭 전류 \(I_{c0}\)라 한다. 수직 자화 MTJ에서는

$$ I_{c0} = \frac{4 e\, \alpha\, k_B T}{\hbar\, \eta}\,\Delta, \qquad \Delta = \frac{E_b}{k_B T} = \frac{K_{\text{eff}} V}{k_B T} $$
\(\alpha\): 길버트 감쇠 상수(~0.005~0.02), \(\eta\): 스핀 전달 효율(~0.3~0.7), \(E_b\): 두 자화 방향 사이 에너지 장벽, \(K_{\text{eff}}\): 유효 이방성 에너지 밀도, \(V\): 자유층 부피. \(\alpha = 0.01,\ \eta = 0.5,\ \Delta = 60\)이면 \(I_{c0} \approx 30\ \mu\text{A}\).

이 식이 MRAM 설계의 핵심 딜레마를 보여 준다. \(I_{c0}\)는 \(\Delta\)에 비례한다. 오래 기억하려고 장벽 \(E_b\)를 높이면, 쓰기 전류도 그만큼 커진다. 쓰기 전류는 셀 옆의 액세스 트랜지스터가 흘려 줘야 하므로, 전류가 크면 트랜지스터가 커지고 셀 면적이 늘어난다. 또 큰 전류는 얇은 MgO 장벽에 전압 스트레스를 줘 절연 파괴(내구성 한계)를 앞당긴다.

열 안정성과 리텐션

자유층은 열 에너지에 의해 무작위로 장벽을 넘을 수 있다. 넘는 데 걸리는 평균 시간은 아레니우스(Néel–Brown) 형태를 따른다.

$$ \tau = \tau_0\, e^{\Delta}, \qquad \tau_0 \approx 1\ \text{ns} $$
비트 하나를 10년(\(3.2\times10^{8}\) s) 유지하려면 \(\Delta \gtrsim \ln(3.2\times10^{17}) \approx 40\). 하지만 수백 Mb 어레이의 모든 비트가 10년 동안 1 ppm 이하로 실패하려면, 그리고 85~150 °C의 고온 규격까지 고려하면 실제 목표는 \(\Delta \approx 60\sim 80\)이다.

스위칭 역시 확률적이다. \(I < I_{c0}\)인 긴 펄스에서는 전류가 장벽을 낮춘 상태의 열 활성화로 넘어가고(\(\tau = \tau_0 e^{\Delta(1-I/I_{c0})}\)), \(I > I_{c0}\)인 짧은 펄스에서는 세차 운동 모드로 스위칭 시간이 \(t_{sw} \propto 1/(I/I_{c0} - 1)\)로 줄어든다. 그래서 쓰기 오류율(WER)을 10−6 이하로 낮추려면 평균 스위칭 조건보다 전류나 펄스 폭에 여유를 둬야 한다. 아래 시뮬레이터로 이 관계를 직접 확인해 보자.

SIMULATOR

STT-MTJ 스위칭 — 자화 동역학 · R–I 루프 · 스위칭 확률

MTJ 단면과 R–I 히스테리시스 루프
펄스 폭에 따른 스위칭 확률 Psw
현재 상태—
Ic0 / I÷Ic0—
스위칭 확률 Psw—
RP / RAP—
쓰기 에너지 (I²R·t)—
리텐션 τ₀eΔ—
시도 / 성공—
해볼 것: ① 전류를 Ic0의 2배 근처로 두고 펄스 폭을 줄여 보자. 수 ns 아래에서 Psw가 급락한다(세차 모드의 한계). ② Δ를 60 → 80으로 올리면 리텐션은 e20 ≈ 5×108배 늘지만 Ic0도 33% 커진다. ③ I < Ic0에서도 펄스가 충분히 길면 열 활성화로 가끔 뒤집힌다 — 읽기 전류가 너무 크면 '읽기 교란'이 생기는 이유다. ④ 펄스 인가를 여러 번 눌러 성공률이 Psw에 수렴하는지 확인하자.

SOT-MRAM: 읽기와 쓰기 경로를 분리하다

STT는 쓰기 전류가 읽기와 같은 경로, 즉 얇은 MgO 장벽을 관통한다. 쓰기를 반복할수록 장벽이 손상되고, 1 ns 이하의 초고속 쓰기에는 전류가 너무 커진다. SOT(Spin-Orbit Torque)-MRAM은 자유층 아래에 텅스텐·탄탈럼·백금 같은 중금속 띠를 깔고, 그 띠를 따라 수평으로 전류를 흘린다. 스핀 홀 효과로 띠 표면에 스핀이 쌓이고, 이 스핀이 바로 위 자유층에 토크를 준다. 쓰기 전류가 장벽을 지나지 않으므로 내구성이 사실상 무제한에 가깝고, 서브 ns 스위칭이 가능해 SRAM 캐시 대체 후보로 연구된다. 대가는 단자가 3개(셀당 트랜지스터 2개)라 셀이 커진다는 점, 그리고 수직 자화를 결정적으로 뒤집으려면 추가 자기장이나 비대칭 구조가 필요하다는 점이다.

STT-MRAM (2단자, 1T1MTJ) BL 자유층 고정층 → 액세스 TR 쓰기 읽기 쓰기·읽기 모두 MgO 관통 → 장벽 스트레스, 읽기 교란 셀 작음 (eMRAM 양산 방식) SOT-MRAM (3단자, 2T1MTJ) 읽기 BL 고정층 자유층 중금속 띠 (W, Ta, Pt) 쓰기 전류 (수평) 읽기 쓰기 경로가 장벽을 지나지 않음 → 서브 ns·고내구성, 대신 셀 큼
그림 12-3. STT와 SOT의 전류 경로. STT는 쓰기 전류가 MTJ를 수직으로 관통하고, SOT는 자유층 아래 중금속 띠를 수평으로 흘러 스핀 홀 효과로 토크를 준다. 읽기는 둘 다 MTJ 저항을 잰다.

임베디드 MRAM: eFlash의 후계자

MRAM이 가장 먼저 대량 시장을 연 곳은 독립형 메모리가 아니라 임베디드 비휘발 메모리다. 마이크로컨트롤러(MCU)·차량용 칩은 코드와 설정을 저장할 플래시를 로직 칩 안에 넣어 왔다(eFlash). 그런데 eFlash는 플로팅 게이트와 10 V 이상의 고전압 소자가 필요해 로직 공정에 마스크를 약 10장 이상 더해야 하고, 28 nm 아래 HKMG·FinFET 공정과는 궁합이 나빠 사실상 스케일링이 멈췄다. MTJ는 배선층(BEOL) 사이에 만들 수 있어 추가 마스크가 3~4장 수준이고, 전압도 로직 전압에 가깝다.

그래서 2019년 무렵부터 파운드리들이 28 nm FD-SOI, 22 nm 공정에서 eMRAM을 양산하기 시작했고, 이후 16/14 nm급으로 내려오고 있으며 8 nm·5 nm급 로드맵도 발표되어 있다(2024~2025년 기준). 용도별로 두 종류로 튜닝한다. eFlash 대체형은 Δ를 높여 260 °C 솔더 리플로와 150 °C 차량 규격에서도 데이터를 지키고, 내구성은 105~106회면 충분하다. SRAM/캐시 대체형은 리텐션을 줄이는 대신 쓰기를 빠르고(~10 ns) 가볍게, 내구성은 1010회 이상으로 맞춘다. 같은 MTJ 물리로 Δ와 Ic0의 트레이드오프를 어디에 두느냐의 차이다.

MTJ 저항과 CMOS 궁합

MTJ의 저항은 RA 곱(Ω·µm²)과 면적으로 정해진다. RA = 5 Ω·µm², 지름 40 nm(면적 1.26×10−3 µm²)면 \(R_P \approx 4\ \text{k}\Omega\). 이 값은 액세스 트랜지스터의 온 저항(수 kΩ)과 같은 규모라서 쓰기 전류를 흘리기 쉽고, 읽기 전류도 µA 대로 잴 수 있다. 저항이 너무 크면 쓰기 전압이 MgO 파괴 전압(~1.2~1.5 V)에 가까워지고, 너무 작으면 장벽이 얇아져 핀홀·신뢰성 문제가 생긴다.

PCM: 녹였다 굳히는 유리와 결정

상변화 메모리(PCM, Phase-Change Memory)는 DVD-RW 같은 재기록 광디스크에 쓰이던 칼코게나이드 유리를 전기적으로 다룬다. 대표 물질은 Ge2Sb2Te5(GST)다. GST는 원자가 무질서하게 얼어붙은 비정질(amorphous) 상태에서는 저항이 높고, 원자가 규칙적으로 배열된 결정(crystalline) 상태에서는 저항이 낮다. 두 상태의 저항비는 100~1000배에 달해 MRAM보다 신호가 훨씬 크다. 광디스크는 반사율 차이를, PCM은 저항 차이를 읽는 것이다.

상부 전극 GST (결정) 비정질 돔 히터 (TiN) 하부 전극 → 셀렉터 좁은 히터에 전류가 몰려 접촉부만 국소 가열 셀 전류(또는 온도) 펄스 시간 T_m ≈ 900 K (용융) T_x ≈ 430 K (결정화) RESET ~10~50 ns, 급냉 SET ~100 ns~1 µs, T_x~T_m 유지 READ
그림 12-4. 버섯형(mushroom) PCM 셀과 세 가지 펄스. RESET은 히터 위 GST를 녹인 뒤 1~10 ns 안에 급랭시켜 비정질 돔을 만들고, SET은 결정화 온도와 용융점 사이에서 충분히 오래 가열해 원자가 결정으로 재배열할 시간을 준다. READ는 상태를 바꾸지 않을 만큼 작은 전압이다.

RESET과 SET: 온도와 시간의 게임

PCM의 쓰기는 줄 가열(\(P = I^2R\))로 온도를 조절하는 일이다. RESET(고저항, "비정질화")은 큰 전류를 짧게 흘려 활성 영역을 용융점(GST ~620 °C, 약 900 K) 이상으로 올린 다음 전류를 뚝 끊는다. 활성 영역이 수십 nm로 작아 열이 수 ns 만에 빠져나가므로 액체는 결정으로 정렬할 시간 없이 무질서한 채로 굳는다(급냉, melt-quench). SET(저저항, "결정화")은 결정화 온도(약 150~170 °C) 이상, 용융점 이하에서 수백 ns 유지한다. 원자가 확산해 결정핵이 생기고 자라는 데 시간이 필요하기 때문에 SET이 PCM 쓰기 속도를 결정한다.

비정질인데 어떻게 전류가 흐르나? — 문턱 스위칭

RESET 상태는 저항이 MΩ급이라 SET 가열에 필요한 전류를 흘리기 어려울 것 같다. 비밀은 비정질 칼코게나이드의 문턱 스위칭(threshold switching)이다. 셀 전압이 문턱 전압 \(V_{th}\)(~1 V)을 넘으면, 상은 그대로인 채 전자적으로 전도도가 급증하는 상태로 '스냅'한다. 그 순간부터 전류가 흘러 가열이 시작된다. 같은 현상을 상변화 없이 셀렉터로만 쓰는 것이 뒤에 나올 OTS(Ovonic Threshold Switch)다. 읽기 전압은 반드시 \(V_{th}\)보다 충분히 낮아야 한다.

RESET 전류는 활성 부피에 비례하므로 히터 접촉 면적을 줄이는 것이 핵심이다. 초기 셀의 수백 µA~mA에서, 접촉을 수~수십 nm로 줄인 구조로 100 µA 안팎까지 내려왔다. 그래도 RESET 에너지(~수 pJ~수십 pJ)는 MRAM보다 크다. PCM의 또 다른 장점은 상태가 두 개로 한정되지 않는다는 것이다. 비정질 돔의 크기를 펄스로 조절하면 저항이 연속적으로 변하므로 다중 레벨(MLC) 저장, 그리고 뒤에 볼 아날로그 가중치 저장이 가능하다.

저항 드리프트: 굳은 유리는 계속 변한다

비정질 상태는 열역학적으로 불안정한 '얼어붙은 액체'다. 시간이 지나면서 원자 구조가 조금씩 이완(structural relaxation)되어 밴드갭과 결함 상태가 바뀌고, 저항이 로그 시간에 대해 멱법칙으로 올라간다.

$$ R(t) = R_0 \left(\frac{t}{t_0}\right)^{\nu} $$
\(\nu\): 드리프트 계수. GST 비정질은 약 0.05~0.12, 결정은 ~0.01 이하. \(t_0\): 쓰기 직후 기준 시각(예: 1 s). \(\nu = 0.1\)이면 1초 → 10년(\(3\times10^{8}\) s) 사이 저항이 \((3\times10^8)^{0.1} \approx 7\)배 늘어난다.

2레벨(SLC)에서는 드리프트가 오히려 고저항 상태를 더 높여 마진을 늘리지만, 중간 레벨을 여러 개 쓰는 MLC에서는 부분 비정질 레벨들이 서로 다른 속도로 위로 흘러가 이웃 레벨 경계를 넘는다. 이것이 PCM MLC의 최대 적이다. 대응책으로 드리프트에 둔감한 읽기 지표(예: 저항 대신 특정 전류에서의 전압), 시간에 따라 기준값을 옮기는 적응형 읽기, 드리프트가 작은 도핑 물질이 연구된다. 또 GST는 결정화 온도가 낮아 차량용 고온 규격에 불리하므로, Ge를 더 넣은 Ge-rich GST로 결정화 온도를 높인 임베디드 PCM이 28 nm FD-SOI 차량용 MCU에 양산 적용되었다.

SIMULATOR

PCM 펄스 설계 — 온도 이력 · 결정화율 · 저항 드리프트

위: 셀 전류와 활성 영역 온도 · 아래: 쓰기 후 저항 드리프트 R(t)=R₀(t/t₀)ν (점선: 다중 레벨 판정 경계)
프리셋 펄스
최고 온도—
결정화율 X—
결과 상태—
저항 R₀ (t₀=1 s)—
드리프트 ν / 10년 후 R—
펄스 에너지 (근사)—
해볼 것: ① RESET 프리셋: 용융점을 넘은 뒤 수 ns 만에 결정화 구간(주황 띠)을 통과해 비정질로 굳는다. ② '용융 후 서냉'은 같은 전류로 녹이되 하강 시간을 길게 해 식는 동안 결정화된다 — 실제로 쓰이는 SET 방식 중 하나다. ③ 펄스 폭을 조절해 결정화율 X를 0.3, 0.6 근처로 만들어 보자(다중 레벨). 아래 그래프에서 중간 레벨이 드리프트로 다음 경계를 넘어가는 시점을 찾자. ④ 전류가 너무 작으면(온도 < Tx) 아무리 길게 줘도 변하지 않는다.

ReRAM: 원자 몇 개 굵기의 필라멘트

저항 변화 메모리(ReRAM/RRAM, Resistive RAM)는 구조가 가장 단순하다. 금속–절연체–금속(MIM) 커패시터처럼 두 전극 사이에 HfOx, TaOx 같은 전이금속 산화막(수 nm)을 끼운 것이 전부다. 산화막에 전계를 걸면 산소 이온이 빠져나가며 남긴 산소 공공(oxygen vacancy)이 줄지어 전도성 필라멘트를 만든다. 필라멘트가 두 전극을 이으면 저저항(LRS), 끊기면 고저항(HRS)이다. 산소 공공 대신 Ag·Cu 이온이 금속 다리를 만드는 방식은 CBRAM(Conductive-Bridge RAM)이라 한다.

① 초기 (포밍 전) 공공이 흩어져 있음 포밍 V ≈ 2~3 V ② SET → LRS 필라멘트 연결 SET +1 V · 전류 제한 ③ RESET → HRS 틈 (gap) 끝부분이 산화되어 끊김 RESET −1 V (양극성) 상부 전극 (TiN/Ti) HfOx ~5 nm 하부 전극 (TiN) 산소 공공
그림 12-5. 필라멘트형 ReRAM의 동작. 제조 직후 한 번 높은 전압으로 필라멘트를 처음 만드는 포밍(forming)이 필요하다. 이후에는 필라멘트 끝의 얇은 틈만 닫고(SET) 여는(RESET) 방식으로 동작하므로 전압이 낮다. SET 때 전류 제한(compliance)을 걸지 않으면 필라멘트가 너무 굵어져 RESET이 불가능해진다.

ReRAM은 쓰기가 빠르고(~10~100 ns) 전압이 낮으며, 두 개 금속 사이 박막이라 배선층에 쉽게 넣을 수 있고, 셀 면적이 이론상 4F²까지 작아진다. 40·28·22·12 nm급 임베디드 ReRAM이 저전력 IoT·MCU에 양산되고 있다. 약점은 편차다. 필라멘트는 원자 수십~수백 개 규모라 형성 위치와 모양이 매번 다르고, 같은 셀도 사이클마다 저항이 흔들린다(cycle-to-cycle variation). 저항 분포의 꼬리가 겹치지 않게 하려고 쓰고-확인하는(write-verify) 반복을 쓰는데, 이는 NAND의 ISPP(8장)와 같은 발상이다.

크로스바 어레이와 스닉 경로

2단자 저항 소자의 가장 큰 매력은 크로스바(crossbar/cross-point) 어레이다. 워드라인과 비트라인이 교차하는 모든 점에 셀을 두면 셀 면적이 4F²이고, 트랜지스터가 없으니 배선층 위로 여러 층을 쌓을 수 있다. 3D XPoint가 바로 이 구조였다. 그러나 트랜지스터라는 '문'이 없어서 문제가 생긴다. 셀 하나를 읽으려고 워드라인에 전압을 걸면, 전류가 목표 셀만 지나는 것이 아니라 이웃 셀들을 우회하는 스닉 경로(sneak path)로도 흐른다.

WL0=V WL1 WL2 BL0=0 BL1 BL2 목표(HRS) 스닉 경로 LRS 3개를 거쳐 목표 셀을 우회 LRS (저저항) HRS (고저항) 1S1R 셀 저항 소자 (R) 셀렉터 (S) V I V/2 V 비선형: V/2에서 거의 꺼짐
그림 12-6. 크로스바의 스닉 경로. 목표 셀이 HRS여도 이웃의 LRS 셀 세 개를 직렬로 거치는 경로로 전류가 새어 LRS처럼 읽힐 수 있다. 셀마다 비선형 셀렉터를 직렬로 붙이면(1S1R), 절반 전압만 걸리는 이웃 셀들은 거의 꺼진다.

해결책은 두 방향이다. 셀렉터: 셀마다 강한 비선형 소자를 직렬로 붙여, 전체 전압 V가 걸린 목표 셀만 켜지고 V/2 이하가 걸리는 셀은 꺼지게 한다. 비선형도(nonlinearity)는 흔히 \(NL = I(V)/I(V/2)\)로 나타내며, 칼코게나이드 OTS(Ovonic Threshold Switch)는 문턱 스위칭 덕분에 103~105에 이른다. 트랜지스터를 붙이는 1T1R은 확실하지만 4F² 크로스바의 장점을 잃는다. 바이어스 방식: 선택되지 않은 라인을 떠 있게(floating) 두지 않고 V/2나 V/3으로 고정하면 스닉 경로를 차단하고, 목표 외 셀에 걸리는 전압을 제한할 수 있다.

$$ \text{V/2 방식: } V_{\text{sel}} = V,\ \ V_{\text{half}} = \tfrac{V}{2},\ \ V_{\text{unsel}} = 0 \qquad \text{V/3 방식: } V_{\text{sel}} = V,\ \ V_{\text{others}} = \pm\tfrac{V}{3} $$
V/2 방식은 반선택 셀 \(2(N-1)\)개에 V/2가 걸리고 나머지는 0 V. V/3 방식은 모든 비선택 셀 \((N^2-1)\)개에 ±V/3가 걸려 누설 전력은 늘지만 최대 교란 전압이 V/3로 낮아진다. 어느 방식이든 감지 비트라인에는 같은 열의 \(N-1\)개 셀 누설이 더해지므로, 셀렉터 비선형도가 어레이 크기 \(N\)의 상한을 정한다.
SIMULATOR

크로스바 스닉 경로 — 셀렉터와 바이어스 방식에 따른 읽기 마진

셀을 클릭(탭)하면 LRS/HRS가 바뀐다. 테두리가 굵은 셀이 읽을 셀. 셀의 밝기 = 흐르는 전류 크기.

어레이 크기 N×N
셀렉터
비선택 라인 바이어스
클릭 동작
감지 전류 (현재 패턴)—
목표=LRS일 때—
목표=HRS일 때—
읽기 마진 (IL−IH)/IL—
전원 총 전류—
해볼 것: ① 셀렉터 없음·플로팅에서 '나머지 모두 LRS'를 누르면 목표가 HRS여도 LRS와 거의 구별되지 않는다. ② 같은 조건에서 V/2 바이어스로 바꾸면 스닉 경로는 사라지지만 같은 열 반선택 셀의 누설(V/2)이 감지 전류에 더해진다. ③ OTS급 셀렉터(NL≈1000)를 켜고 N=16까지 늘려 보자. ④ V/3은 마진은 비슷하지만 전원 총 전류(누설 전력)가 가장 크다. (셀 모델: LRS 10 kΩ, 읽기 V=1 V, 셀렉터 I∝Vn, 배선 저항 무시)

멤리스터로서의 ReRAM

지금까지는 ReRAM을 LRS/HRS 두 상태의 디지털 메모리로 보았다. 그런데 필라멘트의 굵기와 틈의 폭은 펄스의 크기·횟수에 따라 연속적으로 바뀌므로, 셀의 컨덕턴스를 그 사이의 여러 값으로 맞출 수 있다. 이렇게 지나간 전류의 이력에 따라 저항이 정해지고 전원을 꺼도 그 값을 기억하는 2단자 소자를 멤리스터(memristor, memory + resistor)라 부른다. 1971년 L. Chua가 이론적으로 제안했고, 2008년 HP 연구소가 TiO2 저항 변화 소자를 멤리스터로 해석하면서 널리 알려졌다. 멤리스터는 ReRAM의 '응용처'가 아니라 ReRAM·PCM 같은 저항 변화 소자를 아날로그 소자로 바라보는 이름이다.

이 관점이 중요한 이유는 ReRAM 연구의 무게중심이 옮겨 갔기 때문이다. 독립형 대용량 스토리지 메모리로서는 3D NAND의 비트당 비용을 넘지 못했고, 3D XPoint의 퇴장으로 SCM 시장도 좁아졌다. 임베디드 ReRAM은 eFlash 대체로 양산되고 있지만, 최근 연구의 큰 줄기는 멤리스터 크로스바를 신경망 가중치(시냅스)로 써서 셀 어레이가 직접 행렬 연산을 하게 하는 CIM과 뉴로모픽 컴퓨팅이다. 이때 소자에 요구되는 특성은 메모리일 때와 다르다.

내구성 요구는 오히려 느슨해진다. 추론용 가중치는 한 번 써 두고 거의 읽기만 하므로 104~107회의 내구성이 큰 문제가 되지 않는다. 멤리스터 크로스바가 실제로 어떻게 곱셈과 덧셈을 하는지는 이 장 끝의 CIM 절에서 다룬다.

FeRAM과 FeFET: 강유전 분극

강유전체(ferroelectric)는 전계를 없애도 전기 분극 \(P\)가 남아 있는 물질이다. 결정 안의 특정 이온이 두 안정 위치(위/아래) 중 하나에 머물러, 그 방향이 +P 또는 −P의 쌍극자를 만든다. 충분히 큰 반대 방향 전계(항전계 \(E_c\), coercive field)를 걸어야 이온이 반대편으로 넘어간다. 그래서 분극–전계(P–E) 곡선이 히스테리시스 루프를 그리고, 전계 0에서의 두 값 \(\pm P_r\)(잔류 분극)이 비트 0과 1이 된다.

HfO₂ 사방정(o-상) 단위 구조 +P 산소 이온(적)이 위·아래 두 위치 중 하나에 안착 Hf/Zr O FeRAM (1T1C) BL TR WL FE 커패시터 PL DRAM 셀과 같은 모양, 유전체만 강유전체 FeFET (1T) 게이트 HZO ~10 nm n+ n+ p-Si MW +P: 저 Vt −P: 고 Vt V_G log I_D
그림 12-7. 강유전 메모리의 두 형태. FeRAM은 DRAM처럼 1T1C 셀에서 커패시터 유전체를 강유전체로 바꾼 것이고, FeFET은 게이트 절연막에 강유전체를 넣어 분극 방향이 트랜지스터 문턱 전압(Vt)을 바꾸게 한 것이다. Vt 차이가 메모리 윈도(MW)다.

FeRAM: 빠르고 질기지만 읽으면 지워진다

FeRAM을 읽으려면 셀 커패시터에 일정 방향(예: +)의 전압을 건다. 원래 +P였다면 분극이 그대로라 비트라인으로 나오는 전하가 작고, −P였다면 분극이 뒤집히며 \(2P_rA\)만큼의 큰 스위칭 전하가 쏟아진다. 이 차이를 센스 앰프가 읽는다. 문제는 −P였던 셀은 읽는 순간 +P로 바뀌어 버린다는 점, 즉 파괴적 읽기(destructive read)다. 그래서 DRAM(5장)처럼 읽은 뒤 되써야(write-back) 한다. 다만 DRAM과 달리 리프레시는 필요 없다.

스위칭 전하는 \(Q_{sw} = 2P_rA\)다. \(P_r = 20\ \mu\text{C/cm}^2\), 면적 0.1 µm²(= 10−9 cm²)면 \(Q_{sw} = 40\ \text{fC}\) — DRAM 셀 전하(25 fF × 1 V ≈ 25 fC, 4장)와 비슷한 수준이다. 커패시터가 작아지면 이 전하도 비례해서 줄어드는 것이 FeRAM 스케일링의 한계였다.

전통적인 FeRAM은 PZT(Pb(Zr,Ti)O3) 페로브스카이트를 썼다. PZT는 Pr이 크고 Ec가 작아(수십 kV/cm) 저전압 동작에 좋지만, 수소·열에 약하고 두께를 100 nm 이하로 줄이기 어려워 130 nm급 이상의 공정에서 Mb급 용량에 머물렀다(스마트카드·계측기·산업용 로거 등 틈새에서 지금도 쓰인다). 2011년 HfO2(Si나 Zr을 도핑한 박막)가 10 nm 두께에서도 강유전성을 보인다는 발표가 전환점이 되었다. HfO2는 이미 HKMG 트랜지스터의 게이트 절연막으로 쓰이는 CMOS 친화 물질이다. Hf0.5Zr0.5O2(HZO)는 \(P_r \approx 10\sim 30\ \mu\text{C/cm}^2\), \(E_c \approx 1\ \text{MV/cm}\)로, 10 nm 막이면 ±1~2 V에서 스위칭한다. 3D 적층 커패시터로 DRAM급 밀도를 노리는 강유전 메모리 연구(예: 2023년 32 Gb급 적층 시연)도 이어지고 있다.

FeFET: 비파괴 읽기와 메모리 윈도

FeFET은 분극이 채널 전하를 직접 끌어당기거나 밀어낸다. +P(아래 방향 양전하 쪽)는 채널에 전자를 유도해 Vt를 낮추고, −P는 Vt를 높인다. 읽기는 두 Vt 사이의 게이트 전압을 걸어 드레인 전류를 보는 것이므로 비파괴이고, 셀이 트랜지스터 하나라 NAND처럼 촘촘하게 만들 수 있다. 이상적인 메모리 윈도는 대략

$$ \mathrm{MW} \approx 2\,E_c\, t_{FE} $$
\(t_{FE}\): 강유전층 두께. HZO \(E_c = 1\ \text{MV/cm}\), \(t_{FE} = 10\ \text{nm}\)이면 \(\mathrm{MW} \approx 2\ \text{V}\)(실제로는 계면층·전하 포획 때문에 이보다 작다).

FeFET의 걸림돌은 강유전층과 실리콘 사이에 생기는 얇은 SiO2 계면층이다. 유전율이 낮은 이 층에 큰 전계가 걸려 전하 포획과 절연 파괴가 일어나, 내구성이 104~106회 수준에 머문다. 또 분극이 만드는 탈분극 전계가 리텐션을 깎아 먹는다. 강유전체 공통의 현상도 있다. 초기 사이클 동안 Pr이 커지는 웨이크업(wake-up), 많이 쓰면 Pr이 줄어드는 피로(fatigue), 한 방향으로 오래 두면 루프가 한쪽으로 치우치는 임프린트(imprint)다.

SIMULATOR

강유전체 P–E 히스테리시스 — FeRAM 읽기 전하와 FeFET 메모리 윈도

P–E 루프 (점 = 현재 상태)
인가 전계 E(t)와 스위칭 전류 dP/dt
구동
현재 E / P—
스위칭 전하 2PrA (0.1 µm²)—
필요 전압 Ec·tFE—
FeFET MW ≈ 2EctFE—
포화 여부—
해볼 것: ① Emax를 Ec보다 작게 하면 루프가 거의 닫혀 분극이 뒤집히지 않는다(쓰기 실패). Ec의 약 2배 이상이어야 포화 루프가 된다. ② 오른쪽 그래프에서 스위칭 전류 피크는 E가 ±Ec를 지날 때만 나타난다 — FeRAM 읽기에서 '뒤집히는 셀만 큰 전하를 내놓는' 원리다. ③ 두께를 줄이면 동작 전압이 낮아지지만 FeFET 메모리 윈도도 함께 줄어든다. ④ 수동 모드에서 E를 +3 → 0으로 내리면 P가 +Pr에 남는다(비휘발).

한눈에 비교: 누가 무엇을 대체할 수 있나

지금까지 본 소자들을 기존 메모리와 나란히 놓으면 다음과 같다. 수치는 발표된 제품·연구의 대표 범위(2023~2025년)이며, 같은 기술도 용도(임베디드/독립형, 고속/고리텐션)에 따라 크게 달라진다는 점에 유의하자.

항목SRAMDRAMNANDSTT-MRAMPCMReRAMFeRAMFeFET
셀 크기 (F²)120~1506<1 (3D·다중비트 환산)20~604~254~1215~404~10
읽기 시간~1 ns~10~50 ns~20~100 µs~5~20 ns~50~100 ns~10~100 ns~50 ns~10~50 ns
쓰기 시간~1 ns~10~20 ns~0.2~2 ms~10~50 ns~100 ns~1 µs (SET)~10~100 ns~50 ns~10~100 ns
쓰기 에너지/비트~fJ~pJ (+리프레시)높음 (~20 V 고전압)~0.1~1 pJ~10~100 pJ~0.1~10 pJ~0.1~1 pJ~fJ~0.1 pJ
내구성 (회)>10¹⁶>10¹⁵10³~10⁵10⁶(eFlash형)~10¹²10⁶~10⁹10⁴~10⁷10¹²~10¹⁴10⁴~10⁶
리텐션휘발휘발 (64 ms)~1~10년10년 (Δ≥60)10년 (드리프트)10년10년~10년 목표
성숙도양산양산양산임베디드 양산, 독립형 Gb급Optane 단종(2022), 차량용 임베디드 양산임베디드 양산 (소용량)틈새 양산 (PZT, Mb급)연구·개발

표에서 읽을 수 있는 결론은 이렇다. MRAM은 속도·내구성이 DRAM에 가장 가깝지만 셀이 커서 밀도로는 DRAM을 이기지 못하고, 임베디드 비휘발 메모리와 마지막 단 캐시를 노린다. PCM과 ReRAM은 크로스바·적층으로 밀도에 유리하고 저항이 연속적이라 아날로그 연산에 적합하지만, 내구성과 편차 때문에 DRAM 대체는 어렵다. 강유전체는 쓰기 에너지가 가장 낮은 전압 구동 소자로, HfO2 덕분에 부활하고 있지만 아직 신뢰성 과제가 남았다. 결국 '하나의 범용 메모리'보다는 용도별로 쓰임새가 나뉘는 방향으로 가고 있다.

왜 내구성 10⁹이면 DRAM 대체가 어려운가

DRAM의 한 행은 캐시 미스가 몰리면 초당 수백만 번 쓰일 수 있다. 예를 들어 어떤 셀이 평균 1 µs마다 한 번 쓰인다면 109회는 약 1000초, 즉 17분 만에 소진된다. 웨어 레벨링(10장)으로 쓰기를 분산해도 메인 메모리급 쓰기 빈도를 수년간 견디려면 1015회 이상이 필요하다. 그래서 Optane도 DRAM을 '대체'하지 못하고 DRAM 캐시 뒤에 놓이는 '추가 계층'으로 쓰였다.

CXL: 메모리를 버스 밖으로 꺼내다

새 소자로 계층의 빈칸을 채우는 대신, 기존 DRAM을 다른 방식으로 연결해 빈칸을 채우는 접근도 있다. 서버 CPU의 DDR 채널 수는 핀 수와 패키지 면적에 묶여 있어(6장) 용량과 대역폭을 마음대로 늘릴 수 없다. 코어 수는 세대마다 늘어나는데 채널은 그만큼 늘지 않으니, 코어당 메모리 대역폭과 용량이 오히려 줄어든다. 한편 데이터센터 서버마다 따로 달린 DRAM은 어떤 서버에서는 남아돌고(stranded memory) 어떤 서버에서는 모자란다.

CXL(Compute Express Link)은 PCIe 물리층 위에서 캐시 일관성(coherence)을 지키며 CPU와 장치가 메모리를 공유하게 하는 개방형 인터커넥트다. 세 가지 프로토콜로 구성된다.

장치는 조합에 따라 Type 1(캐시만, 예: 스마트 NIC), Type 2(가속기 + 자체 메모리), Type 3(메모리 확장 장치, CXL.io + CXL.mem)로 나뉜다. 메모리 관점에서 중요한 것은 Type 3다. DDR5 DRAM에 CXL 컨트롤러를 붙인 모듈(E3.S 폼팩터나 확장 카드)을 PCIe 슬롯에 꽂으면, 운영체제에는 CPU 코어가 없는 NUMA 노드로 보인다. CXL 1.1/2.0은 PCIe 5.0(32 GT/s, x16이면 한 방향 ~64 GB/s), CXL 3.x는 PCIe 6.0(64 GT/s, PAM4), 2025년 말 공개된 CXL 4.0은 PCIe 7.0(128 GT/s)을 기반으로 하며, 2.0부터 스위치를 통한 메모리 풀링(pooling), 3.0부터 여러 호스트의 메모리 공유(sharing)와 패브릭을 지원한다.

① 메모리 확장 (직결) CPU 메모리 컨트롤러 DDR5 ~100 ns PCIe PHY · CXL.mem Type 3 메모리 장치 CXL 컨 +~70~100 ns (코어 없는 NUMA 노드) ② 메모리 풀링 (CXL 스위치) 호스트 A 호스트 B 호스트 C CXL 스위치 풀의 용량을 호스트별로 동적 할당 → 놀고 있는 DRAM 감소
그림 12-8. CXL Type 3 메모리의 두 가지 쓰임. ① 직결 확장: DDR 채널과 별도로 PCIe 레인을 통해 용량과 대역폭을 더한다. ② 풀링: 스위치 뒤의 메모리 풀을 여러 호스트가 나눠 쓰며, 필요에 따라 할당량(색)을 바꾼다.

지연과 티어링

CXL 메모리는 공짜가 아니다. 요청이 CPU의 CXL 포트 → PCIe 직렬 링크(SerDes) → 장치의 CXL 컨트롤러 → DDR 컨트롤러를 거쳐 되돌아오므로, 로컬 DRAM보다 대략 70~100 ns 정도가 더 걸린다(구현에 따라 차이가 크다, 2024년 기준 측정 보고). 이는 2소켓 서버에서 다른 소켓의 메모리에 접근하는 원격 NUMA 접근과 비슷하거나 조금 긴 수준이다.

메모리 계층대략적 읽기 지연 (무부하)비고
로컬 DDR5~90~120 ns기준
원격 소켓 DDR5 (NUMA)~150~200 ns소켓 간 링크 1홉
CXL 직결 DRAM (Type 3)~170~250 ns로컬 대비 +~70~100 ns
CXL 스위치 경유 풀 메모리~250~400 ns스위치 홉 추가
Optane PMem (단종)~300~350 ns쓰기는 더 느림
NVMe SSD (NAND)~10~100 µs블록 I/O

그래서 CXL 메모리는 티어링(tiering)과 함께 쓴다. 자주 쓰는 '뜨거운' 페이지는 로컬 DDR에, 덜 쓰는 '차가운' 페이지는 CXL 메모리에 두고, 운영체제(리눅스의 NUMA 밸런싱·페이지 승격/강등)나 하이퍼바이저가 접근 빈도를 보며 페이지를 옮긴다. 평균 지연은 간단히

$$ t_{avg} = h \cdot t_{\text{local}} + (1-h)\cdot t_{\text{CXL}} $$
\(h\): 로컬 DRAM에서 처리되는 접근 비율. \(t_{\text{local}} = 100\ \text{ns},\ t_{\text{CXL}} = 190\ \text{ns}\), \(h = 0.9\)면 \(t_{avg} = 109\ \text{ns}\) — 용량을 두 배로 늘리고 평균 지연 증가는 9%에 그친다. 워크로드 대부분은 접근이 일부 페이지에 몰리므로(1장의 지역성) 이것이 가능하다.

CXL 메모리는 대역폭을 더하는 효과도 있다. 코어가 많은 서버에서 DDR 채널이 포화되면, CXL 레인으로 추가 대역폭을 끌어와 전체 처리량이 올라가는 경우가 있다. 또 CXL 컨트롤러가 DRAM 종류를 가리지 않으므로, 이전 세대 DDR4 모듈을 재활용하거나, 나중에는 새 비휘발 메모리를 같은 인터페이스 뒤에 숨기는 것도 가능하다. Optane이 원했던 '새 계층'을 표준 인터페이스로 여는 셈이다. 시스템 관점의 메모리 구성은 13장에서 다시 다룬다.

PIM: 데이터를 옮기지 말고 연산을 옮겨라

지금까지는 '더 좋은 저장'을 이야기했다. 그런데 오늘날 AI·데이터 분석 시스템의 에너지와 시간을 가장 많이 잡아먹는 것은 저장 자체가 아니라 데이터를 메모리에서 연산기로 옮기는 일이다. 아래 표는 45 nm 공정 기준으로 자주 인용되는 에너지 값이다(Horowitz, ISSCC 2014).

동작 (45 nm, 0.9 V)에너지32비트 덧셈 대비
8비트 정수 덧셈0.03 pJ0.3×
32비트 정수 덧셈0.1 pJ1×
16비트 부동소수 곱셈1.1 pJ11×
32비트 부동소수 곱셈3.7 pJ37×
64비트 SRAM 읽기 (8 KB)~10 pJ~100×
64비트 SRAM 읽기 (1 MB)~100 pJ~1000×
64비트 DRAM 읽기 (칩 밖)~1.3~2.6 nJ~13000~26000×

공정이 7 nm, 5 nm로 가며 연산 에너지는 몇 배 줄었고 HBM3(7장)의 접근 에너지도 ~3~4 pJ/bit(64비트면 ~200~250 pJ)까지 내려왔지만, 비율은 여전히 비슷하다. FP16 곱셈-누산(FMA) 한 번이 ~1 pJ 미만인데, 그 피연산자 64비트를 DRAM에서 가져오는 데는 수백 pJ가 든다. 연산보다 이동이 100~1000배 비싸다. 게다가 DRAM 칩 안의 뱅크들은 동시에 활성화하면 칩 핀으로 나오는 대역폭의 수~수십 배에 달하는 내부 대역폭을 갖고 있다. 이것이 연산기를 메모리 쪽으로 옮기자는 PIM(Processing-In-Memory)의 출발점이다.

기존: 모든 데이터가 버스를 건넌다 DRAM 뱅크들 I/O 병목 ~pJ/bit CPU/GPU 연산 ~pJ 미만 PIM: 뱅크 옆에서 계산하고 결과만 보낸다 PIM DRAM 다이 PU 뱅크 2개당 연산 유닛 내부 대역폭을 그대로 사용 호스트 결과
그림 12-9. 기존 구조와 PIM. 기존 구조에서는 모든 피연산자가 좁은 칩 I/O를 건너야 하지만, PIM은 뱅크 옆의 연산 유닛(PU)이 셀 어레이에서 읽은 데이터를 바로 소비하고 작은 결과만 내보낸다.

PNM · PIM · CIM의 구분

연산이 '어디에서' 일어나느냐에 따라 부르는 이름이 다르다. 메모리 모듈의 버퍼 칩이나 CXL 컨트롤러, HBM 베이스 다이에 연산을 넣는 것은 PNM(Processing-Near-Memory), DRAM 다이 안 뱅크 옆에 디지털 연산기를 넣는 것이 좁은 의미의 PIM이다. 셀 어레이 자체의 물리(저항 전류의 합, 비트라인 전하 공유)를 연산에 쓰는 것은 CIM(Computing-In-Memory)으로, 다음 절에서 다룬다.

분류연산이 일어나는 곳연산 방식주된 메모리대표 예
PNM버퍼 칩, CXL 컨트롤러, HBM 베이스 다이디지털 로직 (로직 공정)DRAMCXL-PNM, 커스텀 HBM
PIM메모리 다이 안, 뱅크 옆디지털 로직 (메모리 공정)DRAMHBM-PIM, GDDR6-AiM, UPMEM
CIM셀 어레이 자체아날로그 전류 합, 비트라인 논리ReRAM·PCM·FeFET, SRAM멤리스터 크로스바, SRAM-CIM
용어는 통일되어 있지 않다

학계에서는 PIM을 이 모두를 아우르는 상위 개념으로 쓰고 그 안을 PNM과 PUM(Processing-Using-Memory)으로 나누기도 하며(이 분류에서는 HBM-PIM이나 UPMEM도 PNM이고, 이 책의 CIM이 PUM에 해당한다), CIM 대신 IMC(In-Memory Computing)라는 말도 흔하다. 이 책에서는 메모리 업계의 용법을 따라, 셀은 그대로 저장만 하고 그 옆에 연산기를 둔 것을 PIM, 셀 어레이가 직접 연산하는 것을 CIM이라 부른다. PIM은 지금의 DRAM을 그대로 쓰는 가까운 미래의 기술이고, CIM은 멤리스터 같은 새 소자와 아날로그 회로가 필요한 더 먼 기술이다.

PIM이 특히 잘 맞는 워크로드는 LLM 추론의 디코드 단계다. 배치 크기가 1이면 토큰 하나를 만들 때 모든 가중치(7B 파라미터 FP16이면 14 GB)를 한 번씩 읽어 곱셈-누산 한 번에만 쓴다. 산술 강도(FLOP/byte)가 약 1로, GPU의 루프라인 꺾임점(수백 FLOP/byte)보다 두 자릿수 낮은 극단적 메모리 바운드다. PIM의 과제도 분명하다. DRAM 공정의 트랜지스터는 로직 공정보다 느리고 금속층이 적어 연산 유닛이 비싸고 느리며, 뱅크 면적을 연산기에 내주면 용량이 준다. 또 데이터 배치(가중치를 뱅크에 어떻게 나눌지)와 프로그래밍 모델, 호스트와의 동기화를 소프트웨어 스택이 풀어야 한다.

SIMULATOR

데이터 이동 에너지 계산기 — LLM 디코드 한 토큰

가중치 정밀도
산술 강도—
DDR5: 토큰당 에너지—
HBM3E: 토큰당 에너지—
HBM-PIM: 토큰당 에너지—
HBM3E 중 데이터 이동 비율—
PIM 절감률 (HBM3E 대비)—
해볼 것: ① 배치 1에서는 어떤 메모리든 에너지의 대부분이 데이터 이동이다. ② 배치를 32, 64로 키우면 가중치 한 번 읽어 여러 토큰에 재사용하므로 연산 비중이 커지고 PIM의 이점이 줄어든다 — PIM이 '메모리 바운드' 구간에서만 빛나는 이유다. ③ INT4로 줄이면 이동 에너지가 1/4로 줄어든다(양자화도 데이터 이동 절감 기술이다). 가정: DDR5 ~15 pJ/bit, LPDDR5X ~6 pJ/bit, HBM3E ~3.5 pJ/bit, PIM 뱅크 내부 접근 ~0.8 pJ/bit(외부 I/O 없음). 모두 대략적 값이다.

CIM: 셀 어레이가 곧 연산기다

PIM이 연산기를 메모리 옆으로 옮겼다면, CIM은 메모리 셀 어레이 자체가 연산하게 한다. PIM에서는 셀에서 읽은 비트를 감지 증폭기가 디지털로 복원한 뒤 연산기로 넘기지만, CIM에서는 여러 셀을 동시에 선택했을 때 도선에 나타나는 전류나 전압이 이미 연산 결과다. 연산 결과를 아날로그 값으로 얻는 방식과 디지털 논리값으로 얻는 방식으로 나뉜다.

아날로그 CIM: 옴과 키르히호프가 곱셈을 한다

가장 활발히 연구되는 형태는 멤리스터 크로스바를 쓰는 아날로그 인메모리 컴퓨팅(AIMC, Analog In-Memory Computing)이다. ReRAM 절의 크로스바를 다시 떠올려 보자. 이번에는 셀 하나만 고르는 대신 모든 행에 동시에 전압을 건다. 행 \(i\)에 전압 \(V_i\)를 걸면, 셀 \((i,j)\)를 지나는 전류는 옴의 법칙에 따라 \(G_{ij}V_i\)다. 같은 열의 전류들은 키르히호프 전류 법칙에 따라 열 도선에서 저절로 더해진다.

$$ I_j = \sum_{i} G_{ij}\, V_i \quad\Longleftrightarrow\quad \mathbf{I} = \mathbf{G}^{\mathsf T}\mathbf{V} $$
가중치 행렬 = 컨덕턴스 \(G_{ij}\), 입력 벡터 = 행 전압 \(V_i\), 출력 = 열 전류 \(I_j\). 음수 가중치는 두 셀의 차 \(G^{+}_{ij} - G^{-}_{ij}\)로 표현한다. 256×256 어레이라면 한 번의 읽기(수십~수백 ns)로 65,536번의 곱셈-누산이 끝나고, 가중치는 움직이지 않는다.
V₁V₂V₃V₄ DAC G₁₃ I₁I₂I₃I₄ 열 j의 출력 전류 I_j = Σ G_ij·V_i 곱셈: 옴의 법칙 덧셈: 키르히호프 법칙 → TIA + ADC로 디지털화
그림 12-10. 크로스바 행렬-벡터 곱. DAC가 입력을 행 전압으로 바꾸고, 각 셀의 컨덕턴스가 가중치를 곱하며, 열 도선이 전류를 합산한다. 열 끝의 전류-전압 변환기(TIA)와 ADC가 결과를 디지털로 읽는다.

이론상 에너지 효율은 디지털 가속기보다 한 자릿수 이상 좋을 수 있다. 가중치가 셀에 고정되어 있어(weight-stationary) 이동하지 않기 때문이다. 하지만 아날로그의 대가가 따른다.

그래서 AIMC는 오차를 어느 정도 견디는 신경망 추론에 초점을 맞추며, 잡음을 넣고 학습시키는 하드웨어 인지 학습(hardware-aware training)과 함께 쓴다. PCM 기반 멀티코어 아날로그 AI 칩(2023년, 14 nm, 수천만 개 PCM 소자)과 ReRAM 크로스바 기반 추론 칩 같은 연구 칩(2022년, 130 nm, 약 300만 개 ReRAM 소자, 4비트 가중치)들이 발표되었다. 메모리로 읽을 때는 한 셀만 골라내야 했지만 여기서는 여러 셀에 동시에 전류를 흘리는 것 자체가 목적이다. 다만 셀마다 컨덕턴스를 정밀하게 맞춰 써야 하므로, 실제 칩은 대개 셀마다 트랜지스터를 붙인 1T1R 어레이를 쓴다.

SIMULATOR

아날로그 크로스바 행렬-벡터 곱 — 양자화·잡음·IR 드롭·ADC

컨덕턴스 레벨 수
어레이 / 한 번의 읽기—
출력 RMS 오차 (풀스케일 대비)—
유효 정밀도 (근사)—
최대 오차 열—
해볼 것: ① 레벨 수 2(이진 셀)에서는 잡음이 없어도 양자화 오차가 크다 — PCM·ReRAM의 다중 레벨 능력이 왜 중요한지 보여 준다. ② 프로그래밍 편차를 10% 이상 올리면 ADC를 10비트로 올려도 오차가 줄지 않는다(정밀도는 가장 약한 고리가 정한다). ③ IR 드롭을 키우면 오른쪽 아래(드라이버·ADC에서 먼) 셀의 기여가 줄어 체계적으로 작은 쪽으로 틀린다. 가중치는 차동쌍 G⁺−G⁻, 온/오프비 20으로 가정했다.

기존 메모리로 하는 CIM: SRAM과 DRAM의 비트라인 연산

CIM이 꼭 새 소자를 필요로 하는 것은 아니다. 기존 메모리의 비트라인도 여러 셀을 동시에 선택하면 연산을 한다.

항목멤리스터 CIMSRAM-CIMPIM (DRAM)
저장 소자ReRAM·PCM·FeFET6T/8T SRAM1T1C DRAM
가중치 밀도높음 (다중 레벨, 4F²~)낮음 (120 F²~)높음 (6 F²)
정밀도4~8비트, 잡음에 민감디지털형은 비트 정확, 전류·전하형은 ~8비트비트 정확 (FP16 등)
주된 비용ADC/DAC, 소자 편차셀 면적, 누설DRAM 공정의 느린 로직
비휘발성있음없음없음
겨냥하는 곳엣지 추론, 뉴로모픽엣지 추론데이터센터 LLM 추론
성숙도연구 칩시제품 매크로시제품·초기 제품
디지털 vs 아날로그, 어디서 이기나

대략적인 경험칙: 가중치가 크고 자주 바뀌지 않으며(추론), 요구 정밀도가 낮고(≤ 8비트), 메모리 바운드가 심할수록 인메모리/근접 메모리 연산이 유리하다. 반대로 학습처럼 가중치를 계속 갱신하거나 높은 정밀도가 필요하면, 쓰기 내구성과 에너지가 부담되는 비휘발 소자보다 디지털 가속기 + HBM이 여전히 강하다.

핵심 정리

  1. 이상적인 메모리(SRAM 속도 + DRAM 밀도 + 플래시 비휘발성)는 아직 없다. DRAM과 NAND 사이 ~1000배 지연 간극을 메우는 SCM을 노린 3D XPoint(Optane)는 기술보다 비용 스케일링·플랫폼·소프트웨어 문제로 2022년 단종되었다.
  2. MRAM은 MTJ의 자화 방향으로 저장하며 TMR = (RAP−RP)/RP로 읽는다. STT 임계 전류 Ic0는 열 안정성 Δ = Eb/kBT에 비례하므로 리텐션과 쓰기 전류가 트레이드오프이고, 스위칭은 확률적이다. 임베디드 MRAM은 28/22 nm 이하에서 eFlash를 대체하고 있다.
  3. PCM은 GST의 비정질(고저항)/결정(저저항)을 이용한다. RESET은 용융 후 수 ns 급냉, SET은 Tx~Tm 사이 수백 ns 유지이며 SET이 속도를 제한한다. 비정질의 저항 드리프트 R = R0(t/t0)ν가 다중 레벨의 적이다.
  4. ReRAM은 산소 공공 필라멘트의 형성/파괴로 동작하며 첫 포밍이 필요하다. 4F² 크로스바는 스닉 경로 때문에 셀렉터(1S1R, OTS)와 V/2·V/3 바이어스가 필수이며, 셀렉터 비선형도가 어레이 크기를 제한한다.
  5. 강유전체는 P–E 히스테리시스의 ±Pr에 저장한다. FeRAM은 파괴적 읽기(스위칭 전하 2PrA)라 되쓰기가 필요하고, FeFET은 비파괴 읽기이며 메모리 윈도 ≈ 2EctFE다. CMOS 친화적인 HfO2가 부활의 열쇠다.
  6. CXL Type 3 장치는 PCIe 위 CXL.mem으로 DRAM을 확장·풀링하며, 로컬 대비 약 +70~100 ns의 지연을 티어링(뜨거운 페이지는 로컬 DDR)으로 감춘다.
  7. 데이터 이동 에너지(DRAM 접근 수백 pJ/64bit)는 연산(FMA ~1 pJ 미만)보다 100~1000배 크다. HBM-PIM·AiM은 뱅크 옆 연산 유닛으로 메모리 바운드 연산(예: 배치 1 LLM 디코드)의 이동을 없앤다.
  8. PNM·PIM은 디지털 연산기를 메모리 근처나 뱅크 옆에 두는 것이고, CIM은 셀 어레이 자체가 연산하는 것이다. ReRAM·PCM은 컨덕턴스를 연속적으로 바꿀 수 있는 멤리스터로서 CIM의 가중치 소자로 연구된다.
  9. 아날로그 CIM은 옴의 법칙(곱)과 키르히호프 법칙(합)으로 크로스바에서 행렬-벡터 곱을 한 번에 수행하지만, 소자 편차·IR 드롭·ADC 비용 때문에 4~8비트 정밀도의 추론에 적합하다. SRAM-CIM은 편차가 작아 정밀도가 높지만 밀도가 낮고 휘발성이다.

확인 퀴즈

1. MTJ의 RP = 4 kΩ, RAP = 10 kΩ일 때 TMR은?

TMR = (RAP − RP)/RP = (10 − 4)/4 = 1.5 = 150%. 분모가 RAP가 아니라 RP라는 점에 주의하자.

2. STT-MRAM 자유층의 열 안정성 Δ를 60에서 72로 높였다. 다른 조건이 같다면 옳은 것은?

τ = τ0eΔ이므로 리텐션은 e72−60 = e12배. Ic0 ∝ Δ이므로 72/60 = 1.2배. 리텐션은 지수적으로, 쓰기 전류는 선형으로 커진다.

3. PCM에서 SET 펄스가 RESET 펄스보다 길어야 하는 가장 근본적인 이유는?

RESET은 녹인 뒤 급냉만 하면 되지만(수 ns), SET은 Tx와 Tm 사이에서 원자가 재배열할 시간(수백 ns)을 줘야 한다. 그래서 PCM의 쓰기 속도는 SET이 결정한다.

4. 비정질 PCM 셀의 저항이 쓰기 1초 후 100 kΩ이고 드리프트 계수 ν = 0.1이다. 104초 후 저항은?

R = R0(t/t0)ν = 100 kΩ × (104)0.1 = 100 × 100.4 ≈ 100 × 2.51 ≈ 251 kΩ.

5. 셀렉터 없는 ReRAM 크로스바에서 비선택 라인을 플로팅으로 두고 읽을 때 생기는 주된 문제는?

트랜지스터가 없는 크로스바에서는 전류가 이웃 셀 3개(LRS)를 직렬로 우회해 감지 비트라인으로 흘러든다. 비선형 셀렉터(1S1R)와 V/2·V/3 바이어스가 대책이다.

6. 배치 크기 1로 7B 파라미터(FP16) LLM의 토큰 하나를 생성할 때, HBM3E(~3.5 pJ/bit)에서 가중치를 읽는 에너지와 MAC(0.5 pJ/회) 에너지의 비는 대략?

이동: 7×109 × 16 bit × 3.5 pJ ≈ 0.39 J. 연산: 7×109 MAC × 0.5 pJ = 3.5 mJ. 비는 약 112 : 1(파라미터당 16 bit × 3.5 pJ ÷ 0.5 pJ = 112). 메모리 바운드 연산에서 PIM이 노리는 부분이 바로 이 이동 에너지다.

7. 다음 중 CIM(Computing-In-Memory)에 해당하는 것은?

첫째는 PIM, 둘째와 넷째는 PNM이다. 이들은 셀에서 읽은 디지털 값을 별도의 연산기가 처리한다. 셋째만 셀의 컨덕턴스(가중치)와 도선의 전류 합이라는 어레이 자체의 물리로 연산하므로 CIM이다.