메모리 월이란? 칩은 빨리 계산하는데 왜 데이터는 제때 오지 못할까
메모리 월(memory wall, 메모리 장벽)은 프로세서의 계산은 점점 빨라지는데 메모리가 데이터를 보내 주는 속도는 따라가지 못해 생기는 격차를 말한다. 프로세서는 계산하다 말고 멈춰서 기다려야 할 때가 많다. 데이터를 옮기는 데는 전력도 많이 든다. 칩 바깥의 메모리에서 데이터를 한 번 읽는 데 드는 전력은 간단한 덧셈 한 번의 수백 배에서 천 배 이상에 이를 수 있다. 지금 이 벽에 가장 크게 부딪히는 것은 AI 칩이며, 뉴스에 자주 나오는 HBM, 첨단 패키징, 실리콘 포토닉스가 모두 이 벽과 관련이 있다.
메모리 월이란? 주방으로 생각해 보기
손이 아주 빠른 요리사가 있는데, 재료는 멀리 떨어진 창고에 있어 카트로 한 번씩 실어 온다. 요리 하나에 걸리는 시간은 재료가 언제 도착하느냐에 달려 있으니, 더 빠른 요리사로 바꿔도 소용없다. 도움이 되는 것은 자주 쓰는 재료를 손 닿는 곳에 두고, 창고를 더 가까이 옮기고, 카트를 더 크게 바꾸는 것이다. 업계가 메모리 월에 대응하는 방법이 바로 이것이다.
프로세서는 요리사로서 계산을 맡고, 메모리는 창고로서 계산할 데이터를 보관한다(둘의 역할 분담은 ‘메모리와 프로세서는 무엇이 다를까?’ 참고).
프로세서와 메모리의 격차는 왜 점점 벌어지나?
양쪽의 발전 속도가 다르기 때문이다. 1980년대 중반부터 2000년대 초까지 프로세서는 해마다 대략 50% 이상 빨라졌지만, 메모리에서 데이터 하나를 읽을 때 기다리는 시간은 해마다 10%도 줄지 않았다. 격차는 대략 2년마다 두 배로 벌어졌다. 메모리 칩이 가장 중시하는 것은 칩 하나에 많이 담고 비트당 값이 싼 것이며, 속도는 그다음이다.
1994년 말, 미국의 한 대학 연구자 두 명이 짧은 논문을 썼고 이듬해 발표되었는데, 제목이 바로 ‘메모리 월에 부딪히다(Hitting the Memory Wall)’였다. 두 사람은 10년이 안 되어 프로세서가 메모리에 발목을 잡힐 것이라고 예상했다. 이후 캐시가 점점 여러 계층으로 나뉘고 메모리도 한 번에 더 많이 보내도록 바뀌면서 벽은 조금 뒤로 밀려났지만, 사라지지는 않았다.
AI에 와서 벽은 다시 높아졌다. “뉴스에서 말하는 ‘HBM’” 글에서 소개한 한 대학 연구에 따르면, 20년 동안 서버의 계산 속도는 약 6만 배 빨라졌지만 메모리의 데이터 전송 속도는 약 100배 빨라지는 데 그쳤다. 예전에 말하던 벽은 대개 ‘한 번 기다리는 데 얼마나 걸리나’였고, 지금 더 자주 말하는 벽은 ‘1초에 얼마나 보낼 수 있나’다.
데이터를 옮기는 것이 왜 계산보다 전력을 더 쓰나?
칩 안의 0과 1은 배선 하나에 걸린 전압의 높낮이다. 0과 1이 한 번 바뀔 때마다 배선 전체를 충전하거나 방전해야 하고, 배선이 길수록 충전해야 할 전하가 많다.
계산하는 회로들은 서로 가까이 붙어 있어 배선이 짧다. 칩 바깥의 메모리까지 가려면 데이터가 칩을 나와 패키지와 회로 기판을 지나 몇 센티미터를 이동해야 한다. 그래서 칩 바깥의 메모리를 한 번 읽는 데 드는 전력이 간단한 덧셈 한 번의 수백 배에서 천 배 이상이 될 수 있다는 연구 추정이 있다. 스위치가 세대마다 작아지면서 한 번 계산하는 데 드는 전력은 줄었지만, 이 이동 거리는 줄일 수 없다. 전력을 아끼려면 먼저 어떻게 덜 옮길지를 생각해야 하는 경우가 많다.
메모리는 왜 여러 계층으로 나누나?
가까운 것은 빠르지만 조금밖에 담지 못하고, 먼 것은 많이 담지만 느리기 때문이다.
| 계층 | 위치 | 담을 수 있는 양 | 한 번 가져오는 데 걸리는 시간 |
|---|---|---|---|
| 레지스터 | 계산 회로 바로 옆 | 지금 계산 중인 숫자 몇 개 | 1나노초 미만 |
| 캐시 | 프로세서와 같은 칩 위 | 대략 KB에서 MB | 대략 1~20나노초 |
| 메모리(DRAM) | 칩 바깥 | GB 단위부터 | 수십 나노초 |
1나노초는 10억분의 1초이고, KB, MB, GB는 하나 올라갈 때마다 약 1,000배씩 커진다. 프로세서는 일정한 박자로 일하며 1초에 수십억 번 박자를 치므로, 바깥 메모리의 응답을 한 번 기다리는 동안 100번이 넘는 박자를 그냥 흘려보내야 한다.
계층 구조가 효과가 있는 것은 프로그램이 데이터를 가져오는 데 습관이 있기 때문이다. 방금 쓴 데이터는 곧 다시 쓰는 경우가 많고, 어떤 데이터를 쓰면 그 옆의 데이터도 이어서 쓰는 경우가 많다. 자주 쓰는 데이터를 가까운 계층에 복사해 두면 대부분은 손만 뻗으면 닿고, 전력도 훨씬 아낄 수 있다. 캐시에는 SRAM을 쓰는데, 매우 빠르지만 한 칸에 트랜지스터 6개가 필요해 면적을 많이 차지하므로 많이 넣을 수 없다.
지금 왜 AI가 가장 크게 부딪히나?
AI 모델에는 엄청난 양의 숫자가 들어 있다(“뉴스에 나오는 ‘AI 칩’이란?” 참고). 캐시에 다 들어가지 않을 만큼 많아서 바깥 메모리에 둘 수밖에 없다. 챗봇이 글을 한 토막 내놓을 때마다 많은 숫자를 한 번씩 읽어야 한다. 한 사람만을 위해 계산할 때는 숫자 하나를 가져와 대략 곱셈 한 번, 덧셈 한 번만 하고 다음 숫자로 넘어간다. 캐시에 남겨 둬도 다시 쓰이는 일이 드물어, 계산 회로는 대부분의 시간을 기다리며 보낸다.
그래서 여러 사람의 질문을 모아 함께 계산하는 경우가 많다. 같은 숫자를 한 번 가져와 여러 사람에게 쓰는 것이다. 하지만 최근 몇 년 동안은 모델이 커지는 속도도, 프로세서 하나 옆에 둘 수 있는 메모리가 늘어나는 속도보다 훨씬 빨랐다.
업계에는 어떤 방법이 있나? 각각 어떤 대가를 치르나?
벽을 한 번에 허무는 방법은 없다. 업계는 여러 길을 함께 가고, 길마다 대가가 있다.
칩 위에 캐시를 더 넣는다
- 무엇을: 프로세서와 같은 칩 위의 캐시를 크게 만든다.
- 왜: 자주 쓰는 숫자가 칩 위에 남아 있으면 빠르고 전력도 아낀다.
- 대가: SRAM은 면적을 많이 차지하고, 최근 몇 세대에는 더 줄이기도 점점 어려워지고 있다. 칩이 클수록 비싸고, 큰 AI 모델은 그래도 다 담지 못한다.
메모리를 쌓아 프로세서 옆에 붙인다(HBM)
- 무엇을: DRAM 칩 여러 층을 하나로 쌓아 프로세서 옆에 둔다. 한 스택에는 데이터 라인이 1,024개 있고(최신 세대는 그 두 배), 일반 컴퓨터의 메모리 모듈 하나는 한 번에 0과 1을 64개만 보낸다.
- 왜: 라인이 많으면 한 번에 많이 보내고, 거리가 짧으면 0이나 1 하나를 보내는 데 드는 전력도 적다.
- 대가: 모든 층이 양품이어야 하고 아주 얇게 갈아야 하며, 열도 잘 빠지지 않아 비싸고 만들기 어렵다(“뉴스에서 말하는 ‘HBM’이란?” 참고).
첨단 패키징으로 칩을 가까이 붙인다
- 무엇을: 연산 칩과 메모리, 또는 여러 개의 연산 칩을 한 패키지에 넣는다. 아주 미세한 배선이 있는 얇은 판 위에 나란히 놓거나, 바로 위로 쌓는다.
- 왜: 회로 기판 위로 몇 센티미터를 지나는 배선에 비해 거리는 짧고 배선은 많아, 빠르고 전력도 아낀다.
- 대가: 패키징이 더 어렵고 비싸진다. 안의 칩 하나가 불량이면 한 세트가 통째로 버려진다. 쌓으면 열이 더 빠지기 어렵다(“뉴스에 나오는 ‘첨단 패키징’이란?” 참고).
더 먼 거리는 빛으로 보낸다
- 무엇을: 서버 랙과 랙 사이처럼 비교적 먼 거리는 전기를 빛으로 바꿔 광섬유로 보낸다.
- 왜: 빨리 보낼수록 구리 배선으로 갈 수 있는 거리가 짧아지고, 신호를 되살리는 데 전력도 더 든다. 빛은 먼 거리를 가도 손실이 아주 적다.
- 대가: 전기를 빛으로, 빛을 전기로 바꾸는 부품이 한 세트 더 필요하다. 실리콘 자체는 빛을 잘 내지 못하고, 광섬유는 아주 정밀하게 맞춰야 하며, 열에도 약하다. 아주 가까운 곳은 여전히 전기를 쓴다(“뉴스에 나오는 ‘실리콘 포토닉스’란?” 참고).
메모리 안에서 계산한다(대부분 아직 연구 단계)
- 무엇을: 간단한 계산 기능을 메모리 칩 안이나 바로 옆에 넣는다. 메모리 셀 자체의 전기적 특성으로 곱셈과 덧셈을 하는 연구도 있다.
- 왜: 가장 아끼는 방법은 옮기지 않는 것이다.
- 대가: 메모리는 많이 담고 싸게 만들도록 설계되어 있어 연산 회로를 더 넣기 어렵다. 프로그램을 짜는 방식과 컴퓨터 전체의 설계도 함께 바뀌어야 한다. 앞의 네 가지는 이미 쓰이고 있지만(빛을 쓰는 길은 랙 사이의 광섬유를 말한다), 이것은 대부분 아직 연구 단계다.
fab24hr에서는
게임에는 메모리 월도, HBM, AI 칩, 메모리 팹도 없다. 메인 스토리 ‘칩의 일생’의 ‘Glowmere’는 가상의 보청기 칩으로, 후공정 공장에서 작은 SiP 모듈에 들어가고, 머리카락보다 가는 금속 와이어로 하나하나 기판에 연결된다. 이를 와이어 본딩이라 한다. 이 와이어들이 Glowmere가 바깥과 이어지는 길이다. 챕터 11 ‘볼이 들렸다’에서는 와이어 본더의 풀 테스트 샘플링에서 두 가닥이 낮게 나오고, 플레이어는 패키징 공정 엔지니어다.
Glowmere가 가장 신경 쓰는 것도 전력이지만, 종류가 다르다. 아무것도 하지 않을 때도 새어 나가는 그 조금이다(누설 전류, ‘칩은 왜 전력을 쓸까?’ 참고).
게임 속 회사, 칩, 인물은 모두 가상이다. 메모리 월이 무엇인지, 각 길의 방식과 대가는 공개된 일반 자료를 바탕으로 썼다. 다른 전문 용어는 ‘반도체 공장 전문 용어, 쉬운 말로 풀이’에서 찾아볼 수 있다.
게임에서 만나는 곳게임에는 메모리 월도, HBM이나 AI 칩도 없다. 가장 가까운 것은 메인 스토리 ‘칩의 일생’ 챕터 11 ‘볼이 들렸다’다. 후공정 공장의 패키징 라인에서 Glowmere의 칩이 머리카락보다 가는 금속 와이어로 하나하나 기판에 연결되는데, 그것이 칩이 바깥과 이어지는 길이다.
fab24hr에는 메모리 월이 없다. 하지만 Glowmere가 바깥과 이어지는 길은 모두 후공정 공장이 가는 금속 와이어로 하나하나 연결한 것이다.
챕터 11 플레이하기: 칩이 바깥과 어떻게 연결되는지 보기선생님께: 이 글은 ‘수업에서 fab24hr 활용하기’ 페이지와 함께 수업에 쓸 수 있어요.
이 글 인용하기‘메모리 월이란? 칩은 빨리 계산하는데 왜 데이터는 제때 오지 못할까’, fab24hr, 업데이트. https://fab24hr.com/ko/blog/memory-wall/
수업과 비영리 목적이라면 무료로 쓸 수 있어요. 화면에 띄우거나, 강의 자료에 넣거나, 학생들에게 인쇄해 나눠 줘도 괜찮아요. 출처(fab24hr)를 밝혀 주세요. 판매하거나 자기 작품으로 바꿔 내놓는 것은 안 돼요. 오류가 있다면 문제 신고
다른 글
FinFET과 GAA란? 트랜지스터는 왜 평면에서 세워졌다가 네 면을 감싸는 구조가 되었을까
뉴스에 나오는 ‘옹스트롬 시대’란? 옹스트롬은 얼마나 작을까
전력 반도체란? 큰 전류와 높은 전압을 다루는 칩은 무엇을 할까
MEMS(미세전자기계시스템)란? 칩 위에 움직이는 작은 기계를 어떻게 만들까
이 사이트의 다른 페이지
- fab24hr란?: 두 가지 플레이 방식, 네 가지 근무, 자주 묻는 질문, 자료 출처
- 칩의 일생: 칩 하나가 테이프아웃, 시생산, 양산, 웨이퍼 테스트, 패키징을 거쳐 출하되기까지 단계마다 하는 일
- 반도체 공장 엔지니어의 하루: PE, EE, PIE, 제조부의 역할 분담과 하루 타임라인
- 반도체 공장에는 누가 있을까: 기술자, 제조부, 공정, 장비, 인프라, PIE, 품질, 생산관리, 마스크, 개발, 팀장, 장비사부터 후공정 공장의 테스트와 패키징까지, 직무별 하루
- 반도체 공장 전문 용어, 쉬운 말로 풀이: MO, Hold, Q-time, OCAP 같은 전문 용어를 한 줄씩 쉬운 말로
- 반도체 입문: 칩의 일생 따라가기: 반도체 입문 강의: 칩의 일생을 따라가는 그림 강의 노트, 슬라이드, 필독 글, 3D 장비, 토론 질문(독학·수업용)
- 분해해서 보는 반도체 공장 장비: 반도체 장비 31종이 하는 일(식각 장비, 노광 장비, CMP, OHT, 몰딩 장비…), 모두 3D 모델로 분해해 보기
- 수업에서 fab24hr 활용하기: 반도체 수업 지도안: 20/40분 수업 흐름, 한 챕터·한 구역 한 차시 수업(3D 장비, 게임, 글), 토론 질문, 활동지, 선생님들이 자주 묻는 질문
- 소개 및 미디어 자료: 홍보 영상, 게임 화면, 소개 문구와 기본 정보