512GB 메모리 두 장은 128GB 여덟 장을 대신할 수 있을까
같은 용량이라도 CPU와 연결되는 채널을 비우면 데이터를 가져오는 폭이 줄어든다. 고용량 DDR5의 이득을 보려면 저장 공간, 전송 경로, 작업당 에너지를 따로 계산해야 한다.
같은 용량이라도 CPU와 연결되는 채널을 비우면 데이터를 가져오는 폭이 줄어든다. 고용량 DDR5의 이득을 보려면 저장 공간, 전송 경로, 작업당 에너지를 따로 계산해야 한다.
서버에서 128GB 메모리 여덟 장을 빼고 512GB 두 장을 꽂으면 용량 표시는 그대로다. 모듈은 여섯 장 줄고 슬롯도 비게 된다. 그런데 데이터베이스가 큰 테이블을 훑는 시간이 오히려 길어질 수 있다. 저장할 수 있는 양은 유지했지만, CPU가 데이터를 가져오는 독립 통로까지 줄였기 때문이다.
이 질문을 다시 꺼낸 계기는 Micron의 9월 15일 발표다. 회사는 512GB DDR5 RDIMM을 여러 서버 플랫폼에서 시연했으며 최대 9,200 MT/s를 목표로 검증 중이라고 밝혔다. 양산 계획은 2027년 하반기다. 지금 판매되는 임의의 서버에 꽂아 그 속도로 작동한다는 뜻은 아니다. RDIMM은 서버용 메모리 모듈의 한 종류다. Micron 발표

고용량 모듈의 가치는 분명하다. 슬롯이 더 없는데 데이터가 커질 때 메모리에 남겨둘 수 있는 양을 늘린다. 하지만 이미 필요한 용량을 채운 서버에서 모듈 수만 줄이려는 선택은 다른 문제다. 무엇을 덜 꽂았는지가 중요하다. 한 채널에 매달린 두 번째 모듈을 빼는 것과 채널 자체를 비우는 것은 성능에 같은 변화를 만들지 않는다.
칩을 쌓아도 CPU의 연결선이 늘지는 않는다
메모리를 네 단계로 나눠 보면 혼동이 줄어든다. 데이터를 저장하는 실리콘 조각이 다이이고, 다이를 담아 보드에 붙일 수 있게 만든 것이 패키지다. 여러 패키지가 길쭉한 기판 위에 올라간 모듈이 DIMM이다. 마지막으로 CPU의 메모리 제어기와 DIMM을 잇는 데이터 경로가 채널이다.
Micron은 실리콘을 관통하는 연결인 TSV로 DRAM 다이를 수직 적층한다고 설명한다. 같은 바닥 면적에 저장 공간을 더 넣는 방식이다. 그렇다고 모듈과 CPU 사이의 외부 데이터선이 적층 수만큼 늘어나는 것은 아니다. 패키지 안에서 데이터를 꺼내는 경로와 패키지 밖으로 전달하는 경로는 서로 다른 자원이다. 이 발표만으로 Micron 제품의 정확한 다이 수나 내부 배치를 단정할 수도 없다.
DDR5 RDIMM은 유효 데이터 폭이 각각 32비트인 두 개의 하위 채널로 나뉜다. 서버용 오류 정정 비트는 별도로 붙는다. 여기서는 두 하위 채널을 합친 64비트를 CPU의 64비트 메모리 채널 하나에 대응시켜 계산한다. 오류 정정에 쓰는 비트까지 사용자 데이터처럼 더하면 대역폭을 부풀리게 된다. 채널이라는 말을 쓸 때 CPU 채널과 DDR5 하위 채널 중 어느 쪽인지 먼저 정해야 한다. Rambus 구조 설명

모듈 안의 여러 저장 영역은 서로 겹쳐 일을 진행해 연결선이 쉬는 시간을 줄일 수 있다. 다만 효율이 높아지는 것과 외부 연결선의 최대 전송 폭이 넓어지는 것은 다르다. 고용량 모듈이라고 무조건 느린 것도, 용량이 네 배라고 대역폭까지 네 배인 것도 아니다. 실제 동작 속도와 채워진 채널 수를 함께 봐야 하는 이유다.
같은 용량을 네 배 다른 통로에 놓아보자
독립 메모리 채널이 여덟 개인 가상의 서버를 생각하자. 첫 구성은 각 채널에 128GB 한 장씩 꽂는다. 두 번째 구성은 두 채널에만 512GB 한 장씩 꽂고 나머지 여섯 채널은 비운다. 두 구성 모두 모듈에 적힌 명목 용량의 합은 1,024GB다. 이 계산은 특정 CPU가 실제 512GB 모듈을 지원한다는 주장이 아니다.
두 구성의 데이터 전송률을 똑같이 6,400 MT/s로 두자. MT/s는 초당 전송 횟수이며 여기에서 다시 두 배를 곱하지 않는다. 64비트는 8바이트이므로 채널 하나의 이론상 유효 데이터 전송량은 6,400 × 10⁶ × 8, 즉 초당 51.2GB다. 이 글의 대역폭 단위 GB/s는 10⁹바이트/초다. 모듈의 용량 표기를 운영체제가 표시하는 이진 단위와 환산하는 계산은 아니다.
여덟 채널을 사용하면 합계는 409.6GB/s이고, 두 채널이면 102.4GB/s다. 용량은 같지만 전송 상한은 네 배 차이가 난다. 반대로 여덟 채널 모두에 512GB를 꽂으면 명목 용량은 4,096GB로 늘면서 같은 가정 아래 전송 상한 409.6GB/s를 유지한다. 손실의 원인은 큰 모듈 자체가 아니라 비워둔 채널이다.
| Configuration | Populated channels | Nominal capacity sum | Peak payload bandwidth |
|---|---|---|---|
| 8 × 128GB | 8 | 1,024GB | 409.6GB/s |
| 2 × 512GB | 2 | 1,024GB | 102.4GB/s |
| 8 × 512GB | 8 | 4,096GB | 409.6GB/s |
실제 메모리는 이 상한으로 계속 움직이지 않는다. 명령 처리, 읽기와 쓰기 전환, 데이터 보존을 위한 주기적 갱신 등으로 시간이 쓰인다. 이를 모두 묶어 상한의 70%가 지속된다고 가정해 보자. 실측값이 아니라 민감도를 보기 위해 택한 수치다. 지속 대역폭은 각각 약 286.7GB/s와 71.7GB/s가 된다.
이제 캐시에서 재사용하지 않는 400 × 10⁹바이트를 메모리에서 한 번 읽는다고 하자. 요청이 충분히 병렬로 나오고 데이터가 채워진 채널에 고르게 놓였다면, 전송 부분의 계산 시간은 약 1.40초와 5.58초다. 명령 실행과 소프트웨어 시간을 포함한 실제 쿼리 시간이 아니다. 효율을 양쪽 모두 50%로 바꾸면 1.95초와 7.81초, 90%로 바꾸면 1.09초와 4.34초다.
같은 효율이라는 가정도 확인 대상이다. 모듈 구조와 메모리 제어기의 동작이 다르면 두 구성의 효율은 달라질 수 있다. 그럼에도 계산은 무엇을 측정해야 하는지 보여준다. 데이터가 메모리를 드나드는 양이 많다면, 빈 채널로 잃는 전송 폭을 모듈 수 절약과 함께 비교해야 한다. 단순히 총용량과 가격만 맞춘 견적은 이 차이를 숨긴다.

네 배의 대역폭이 네 배의 프로그램 속도는 아니다
계산이 잘 맞는 쪽은 큰 데이터를 지속적으로 읽고, 동시에 처리할 독립 요청이 충분한 작업이다. 반대로 다음 주소를 알아내려면 직전 읽기가 끝나야 하는 작업에서는 한 요청의 응답 시간이 더 중요할 수 있다. 통로가 여덟 개 있어도 요청을 하나씩만 보낸다면 여덟 개를 모두 쓰지 못한다.
자주 쓰는 데이터가 CPU의 작은 고속 저장 공간인 캐시에 남는 경우도 다르다. 메모리까지 내려가는 요청이 적다면 외부 채널을 늘려도 바뀌는 일이 작다. CPU의 계산 시간이 대부분을 차지하는 작업 역시 그렇다. AMD도 일부 연산 집약적 작업에서는 필요한 메모리를 갖춘 뒤 용량이나 대역폭을 추가해도 이득이 작을 수 있다고 설명한다. 모든 서버의 채널을 무조건 채워야 한다는 결론은 아니다. AMD 메모리 구성 가이드
반대 방향의 더 큰 효과도 있다. 기존 메모리에 담기지 않아 저장장치로 밀려나던 데이터가 고용량 모듈 덕분에 전부 메모리에 남을 수 있다. 그러면 먼저 풀리는 병목은 채널 대역폭이 아니라 부족한 용량이다. 이때의 성능 향상을 용량이 충분했던 구성과 섞어 비교하면 어느 변화가 효과를 냈는지 알 수 없게 된다.

그래서 첫 질문은 현재 작업이 실제로 메모리 용량을 초과하는지다. 그다음이 메모리에 들어온 데이터를 충분히 빠르게 나를 수 있는지다. 둘은 순서가 있지만 한 번 결정하면 끝나는 값은 아니다. 데이터셋, 동시 사용자 수, 가상머신 수가 늘면 충분했던 용량이나 대역폭이 다시 제약이 될 수 있다.
전력을 덜 쓰는 모듈이 작업당 에너지도 줄일까
Micron은 512GB 모듈 한 장의 16.0W를 128GB 네 장의 합계 44.2W와 비교했다. 이 수치로 계산한 모듈 동작 전력 감소율은 약 63.8%다. 그러나 발표의 해당 각주는 같은 처리량, 채널 배치와 전체 서버 조건을 모두 제공하지 않는다. 앞서 만든 여덟 채널 대 두 채널의 가상 계산에 이 전력 수치를 끼워 넣어서는 안 된다.
전력은 순간적으로 에너지를 쓰는 속도이고, 작업당 에너지는 일을 끝낼 때까지 쓴 전력의 누적이다. 가령 다른 조건을 확인한 별개의 시스템 비교에서 전체 서버 전력이 20% 줄어도 완료 시간이 두 배라면, 같은 일을 하는 데 쓰는 에너지는 단순 계산으로 1.6배가 된다. 이는 Micron 제품의 결과가 아니라 전력과 에너지를 구분하기 위한 예다.
서버에는 CPU, 냉각 팬, 전원 장치와 저장장치도 있다. 메모리만의 절약률을 전체 서버 절약률로 옮겨 쓸 수 없는 이유다. 구매 판단에서는 모듈당 W와 함께 같은 쿼리 묶음을 끝내는 시간, 그동안의 서버 에너지를 측정해야 한다. 응답 시간 목표를 못 맞추는 절전 구성은 서버를 더 설치하게 만들 수도 있으므로, 장비 한 대의 결과와 서비스 전체의 결과도 구별해야 한다.

빈 슬롯보다 빈 채널부터 확인한다
DIMM 슬롯 두 개가 반드시 독립 채널 두 개를 뜻하지는 않는다. 한 채널에 두 장을 꽂는 구성을 2DPC라고 부른다. DPC는 채널당 DIMM 수다. 이 경우 용량은 늘지만 두 모듈이 채널을 공유한다. 반면 독립 채널 두 개에 한 장씩 꽂으면 외부 데이터 경로가 두 개다. 슬롯 개수만 보고 두 구성을 같다고 취급하면 안 된다.
지원 속도와 장착 순서는 CPU와 서버, 모듈 종류에 따라 달라진다. Lenovo의 구성 자료도 대상 플랫폼의 채널과 채널당 장착을 나눠 설명한다. 여기서 필요한 것은 특정 서버의 규칙을 다른 세대로 복사하는 일이 아니라, 구매할 모델의 공식 장착 표와 검증된 부품 목록을 확인하는 일이다. Lenovo 메모리 구성 자료
CPU가 두 개인 서버에서는 데이터가 어느 CPU에 가까운 메모리에 놓이는지도 중요하다. 다른 CPU 쪽 메모리를 읽으면 추가 경로를 거칠 수 있다. 이것이 메모리 위치에 따라 접근 비용이 달라지는 NUMA다. 채널 수를 비교하면서 작업과 메모리의 배치까지 바꾸면 원인을 분리하기 어려워진다. 같은 프로그램, 같은 데이터와 동일한 배치 조건을 먼저 맞춰야 한다.
측정은 두 층으로 나누면 된다. 먼저 메모리 자체가 제공하는 대역폭과 부하가 걸렸을 때의 응답 시간을 확인한다. Intel MLC처럼 이런 항목을 측정하는 도구가 있다. 이어 실제 작업에서 초당 처리량, 지연과 완료당 에너지를 비교한다. 이 글에서 MLC를 실행하거나 특정 서버를 벤치마크한 것은 아니다. 도구 결과는 작업 결과를 설명하는 자료이지 작업 결과를 대신하지 않는다. Intel MLC 설명

고용량 메모리의 가격은 어디에서 결정되는가
채널이 모두 차 있고 용량도 부족하다면 고용량 모듈은 기존 서버에 더 많은 데이터를 담을 방법이 된다. 이 경우 가치는 모듈 수를 줄이는 데서가 아니라 서버 수, 소켓 수와 데이터 이동을 늘리지 않고 작업을 유지하는 데서 나올 수 있다. 반대로 용량이 남고 계산이 병목이라면 비싼 고용량 모듈이 같은 가치를 주지 않을 수 있다.
저장 밀도를 높이는 쪽에는 DRAM과 적층·패키징 기술이, 데이터를 빨리 나르는 쪽에는 메모리 제어기와 인터페이스, 보드 설계와 플랫폼 검증이 필요하다. 한쪽의 발전이 다른 쪽의 제약을 지워주지는 않는다. 칩을 더 촘촘히 쌓는 데 성공하면 다음 질문은 그 데이터를 제때 꺼내고 열을 처리할 수 있는지로 옮겨간다. 이 발표만으로 특정 제조사의 수율이나 원가 우위를 수치화할 수는 없다.
512GB 두 장이 128GB 여덟 장을 대신할 수 있는지는 용량 합계만으로 답할 수 없다. 먼저 작업에 필요한 저장량을 확보하고, 그 작업이 요구하는 전송 경로를 남겨야 한다. 채널을 비워도 처리량과 응답 시간을 지킨다는 측정 결과가 있다면 모듈 수를 줄일 이유가 생긴다. 그런 근거가 없다면 512GB라는 큰 숫자 옆에, 실제로 사용하는 채널 수를 함께 적는 것이 출발점이다.
Disclosure
본 글은 정보 제공만을 목적으로 하며, 특정 증권의 매수 또는 매도를 권유하는 것이 아닙니다. 본 글에 포함된 수치와 사실은 기업 공시, 언론 보도, 시장 조사 등 공개적으로 이용 가능한 자료를 바탕으로 작성되었으며, 해당 자료 또는 작성 과정에서 오류가 발생할 수 있습니다. 필자는 언급된 기업의 주식을 보유하고 있을 수 있습니다. 모든 투자 결정 및 그에 따른 결과는 독자의 책임입니다.