메모리 종류 UDIMM vs RDIMM vs LRDIMM
1. 기본 개념
흔히 메모리 한 장이라고 부르는 것이 DIMM(Dual In-line Memory Module)이다. 기판 위에 여러 개의 DRAM 칩을 실장한 모듈을 말한다. UDIMM, RDIMM, LRDIMM은 모두 DIMM에 속하며, 앞에 붙은 글자는 모듈 내부에서 신호를 처리하는 방식의 차이를 나타낸다.
메모리를 실제로 제어하는 것은 CPU에 내장된 메모리 컨트롤러다. 컨트롤러는 DRAM 칩에 두 종류의 신호를 보낸다.
하나는 명령·주소(CA) 신호다. 특정 주소의 데이터를 읽거나 쓰라는 지시가 이 신호로 전달되며, 타이밍을 맞추는 클럭도 함께 전달된다. 다른 하나는 실제 데이터가 오가는 데이터(DQ) 신호다.
문제는 신호선 하나에 연결된 칩이 많아질수록 신호 품질이 떨어진다는 점이다. 칩마다 전기적 부하가 조금씩 더해지고, 이것이 누적되면 신호가 왜곡되어 높은 클럭에서 안정적으로 동작하기 어려워진다. 따라서 칩이 많은 고용량 모듈일수록, 한 채널에 장착하는 모듈이 많을수록 불리하다. 버퍼 칩은 이 부하를 줄이기 위해 추가하는 부품이다.
랭크(rank)라는 개념도 자주 등장하므로 함께 알아 두는 것이 좋다. 컨트롤러는 한 번에 64비트(ECC 메모리는 72비트, DDR4 기준)씩 데이터를 읽고 쓰는데, 이 폭을 채우는 칩 한 묶음을 랭크라고 한다. 라벨에 2R이라고 적혀 있으면 이 묶음이 두 개라는 뜻이다. 랭크가 많을수록 용량은 커지지만 컨트롤러가 감당해야 하는 부하도 늘어난다.
2. UDIMM (Unbuffered DIMM)
UDIMM은 이름 그대로 버퍼가 없는 메모리다. 일반 데스크톱에 사용하는 메모리가 모두 UDIMM이며, 노트북용 SO-DIMM도 크기만 작을 뿐 구조는 같다. 컨트롤러가 보낸 명령·주소 신호는 모듈의 모든 DRAM 칩에 그대로 전달되고, 데이터 신호선도 각 칩에 직접 연결되어 있다.

중간 단계가 없으므로 지연 시간이 가장 짧고 단가도 저렴하다. 대신 컨트롤러가 모든 칩을 직접 구동해야 하기 때문에, 한 채널에 여러 장을 장착하거나 칩이 많은 고용량 모듈을 사용하기 어렵다. 데스크톱에 메모리를 4장 장착하면 2장일 때보다 클럭을 높이기 어려운 것도 같은 이유다.
UDIMM이라고 해서 모두 ECC를 지원하지 않는 것은 아니다. 칩을 하나 더 추가해 72비트로 구성한 ECC UDIMM도 있으며, 워크스테이션이나 보급형 서버 메인보드에서 이를 사용한다. 버퍼가 없다는 점은 일반 UDIMM과 동일하다.
DDR5에서는 CUDIMM(Clocked UDIMM)이라는 변형도 등장했다. 클럭 신호만 재생성해 각 칩에 분배하는 CKD(Client Clock Driver)를 탑재한 UDIMM이다. 명령·주소 신호와 데이터 신호는 여전히 칩에 직접 연결되므로, 서버용 메모리가 아니라 데스크톱 고클럭용 메모리에 해당한다. CKD를 지원하는 플랫폼(인텔은 코어 울트라 200S부터)에서 정상적으로 작동하며, 지원하지 않는 메인보드에서는 우회(bypass) 모드로 일반 UDIMM처럼 작동한다. 이 경우 속도가 6000MT/s 수준으로 제한될 수 있다.
3. RDIMM (Registered DIMM)
RDIMM은 모듈 중앙에 RCD(Registering Clock Driver)라는 칩이 추가로 탑재되어 있다. 컨트롤러가 보낸 명령·주소 신호와 클럭을 RCD가 먼저 받은 뒤, 이를 다시 구동해 각 DRAM 칩에 전달한다. 컨트롤러 입장에서는 수십 개의 칩 대신 RCD 하나만 상대하면 되므로 명령·주소 신호의 부하가 크게 줄어든다.

그 덕분에 칩을 많이 탑재한 고용량 모듈을 만들 수 있고, 한 채널에 여러 장을 장착해도 안정적으로 동작한다. 차이가 어느 정도인지는 서버 매뉴얼에서도 확인할 수 있다. 레노버 System x3500 M4(DDR3 서버) 매뉴얼에 따르면 UDIMM으로는 최대 32GB, RDIMM으로는 최대 384GB까지 장착할 수 있다. 같은 서버에서도 이만큼 차이가 난다.
대신 지연 시간이 늘어난다. 신호가 RCD를 한 번 거치는 만큼 같은 조건의 UDIMM보다 약 1클럭 늦다고 보면 된다. 또한 데이터 신호선은 RDIMM에서도 칩에 직접 연결되어 있다. 이어서 설명할 LRDIMM은 바로 이 부분을 개선한 구조다.
RDIMM은 사실상 ECC를 기본으로 지원한다. 레지스터와 ECC는 별개의 기능이므로 ECC가 없는 RDIMM도 만들 수는 있지만, 실제로 유통되는 RDIMM은 대부분 ECC를 지원한다.
DDR5부터는 RDIMM과 UDIMM이 물리적으로도 구분된다. DDR5 메모리는 전원 관리 칩(PMIC)을 모듈에 탑재하는데, 서버용 모듈은 12V, PC용 모듈은 5V를 입력받는다. 모듈 중앙의 홈(키) 위치도 UDIMM과 RDIMM이 서로 달라서, DDR5 RDIMM은 데스크톱 슬롯에 아예 장착되지 않는다. 반면 DDR4는 두 종류의 홈 위치가 같았다. 도입부에서 언급한, 장착은 되지만 부팅되지 않는 상황이 DDR4에서 발생하는 이유다.
4. LRDIMM (Load-Reduced DIMM)
LRDIMM은 RDIMM에서 한 단계 더 나아간 구조다. 명령·주소 신호는 RDIMM과 마찬가지로 RCD가 담당하고, 데이터 신호에도 DB(Data Buffer)라는 버퍼 칩을 추가한다. DDR4 LRDIMM은 중앙에 RCD 하나가 있고, 하단의 금색 단자와 DRAM 칩 사이에 DB 9개가 한 줄로 배치된다.

이 구조가 필요한 이유는 랭크에 있다. RDIMM은 데이터 신호선이 칩에 직접 연결되어 있어서, 랭크가 늘어나면 데이터 신호선 하나에 연결되는 칩의 수도 함께 늘어난다. LRDIMM은 DB가 뒤쪽의 칩들을 가려 주기 때문에, 랭크가 많아도 컨트롤러 입장에서는 데이터 부하가 하나로 보인다. 버퍼 칩 제조사인 IDT의 백서에 따르면 데이터 신호선에 걸리는 부하가 최대 4개에서 1개로 줄어든다. 앞서 예로 든 x3500 M4도 LRDIMM을 사용하면 최대 768GB까지 장착할 수 있으며, 이는 RDIMM의 두 배다.
다만 버퍼를 한 번 더 거치므로 지연 시간이 RDIMM보다 조금 더 늘어난다. 같은 백서에 따르면 DDR4 데이터 버퍼 하나를 통과하는 데 약 1.2ns가 소요된다. DDR3 LRDIMM은 모듈 중앙의 버퍼 하나로 모든 데이터를 모으는 구조여서 버퍼 지연만 약 2.5ns였고 배선도 길었다. DDR4에서 버퍼를 9개로 나누어 단자 가까이 배치한 것은 이 지연을 줄이기 위해서다. 칩이 추가되는 만큼 가격이 높고 전력 소모도 크다.
흥미로운 점은 슬롯을 모두 채우면 성능 순위가 뒤바뀌기도 한다는 것이다. 채널당 3장씩 장착하면 RDIMM은 부하 때문에 클럭을 크게 낮춰야 하지만, LRDIMM은 상대적으로 덜 낮춰도 된다. IDT 백서에서는 채널당 3장 기준으로 LRDIMM은 1866MT/s까지 가능하지만 RDIMM은 1600MT/s에 그친다고 설명한다. 장착 수가 적을 때는 RDIMM이 빠르고, 슬롯을 가득 채울 때는 LRDIMM이 유리하다.
DDR5 세대에서는 LRDIMM을 찾아보기 어려워졌다. AMD EPYC 9004의 지원 목록에는 LRDIMM이 포함되어 있지만, ASRock Rack의 EPYC 9004 메인보드 사양표에는 모두 "DDR5 RDIMM, RDIMM-3DS"까지만 명시되어 있다. 대용량은 DRAM 다이를 수직으로 적층한 3DS RDIMM이 담당한다. EPYC 9004 기준으로 일반 RDIMM은 96GB까지이며, 128GB부터 512GB까지는 3DS 모듈이다.
DDR5 서버용으로 새로 등장한 것은 MRDIMM이다. 모듈의 버퍼가 랭크 두 개를 묶어 동시에 동작시키고, CPU와는 한 번에 128바이트씩 데이터를 주고받는다. 일반 모듈은 64바이트다. 인텔 제온 6에서 처음 지원했으며, 6900P 시리즈 기준 최대 8800MT/s로 동작한다. 형태는 RDIMM과 같아서 동일한 슬롯에 장착할 수 있다. 버퍼를 사용한다는 점은 LRDIMM과 비슷하지만, 목표는 용량보다 대역폭이다.
5. 한눈에 비교

버퍼가 담당하는 범위가 넓어질수록 더 많은 용량을 더 많은 슬롯에 장착할 수 있지만, 그만큼 지연 시간과 가격이 조금씩 늘어난다. 따라서 세 가지 중 어느 것이 더 좋은 메모리인지 따지기보다는, 각각 용도가 다르다고 이해하는 것이 맞다.
6. 외형과 라벨로 구별하는 방법
외형만으로도 어느 정도 구분할 수 있다. DRAM 칩만 일렬로 배치되어 있으면 UDIMM이다. 중앙에 모양이 다른 칩이 하나 있다면 그것이 RCD이며, RDIMM 또는 LRDIMM이다. 여기에 금색 단자 바로 위로 작은 칩이 한 줄 더 있다면 DDR4 LRDIMM이다.

정확하게 확인하려면 라벨을 보면 된다. 서버용 메모리에는 보통 다음과 같은 라벨이 붙어 있다.

확인할 부분은 속도(2666V) 뒤에 오는 첫 글자다. R은 RDIMM, L은 LRDIMM, U는 일반 UDIMM, E는 ECC UDIMM을 의미한다. LRDIMM이라면 PC4-2666V-LD2처럼 해당 위치에 L이 표기된다. 앞부분의 2Rx4는 랭크 2개, x4 칩(칩 하나가 4비트를 담당)으로 구성되었다는 뜻이며, PC4-2666은 DDR4-2666을 의미한다.
리눅스가 설치된 서버라면 모듈을 직접 분리하지 않고도 확인할 수 있다.
sudo dmidecode -t memory | grep -E "Type Detail|Part Number"Type Detail 항목에 Registered (Buffered)가 표시되면 RDIMM, Unbuffered (Unregistered)가 표시되면 UDIMM이다. LRDIMM은 LRDIMM으로 별도 표시된다. 다만 메인보드가 이 정보를 정확히 전달하는 경우에 해당하므로, 확실하지 않다면 Part Number로 제조사 사양을 한 번 더 확인하는 것이 좋다.
7. 구성 시 주의사항
- 혼용하지 않는다. UDIMM, RDIMM, LRDIMM은 한 시스템에서 혼용할 수 없다. 레노버 매뉴얼에도 세 종류를 한 서버에 함께 장착하지 말라고 명시되어 있다. RDIMM 서버에 LRDIMM을 추가해 용량을 늘리는 방식은 사용할 수 없다.
- 메인보드가 지원하는 종류를 먼저 확인한다. 데스크톱 메인보드는 UDIMM만 지원한다. 서버 메인보드라고 해서 모두 RDIMM을 지원하는 것도 아니며, 보급형 제품은 ECC UDIMM만 지원하기도 한다. 메인보드 매뉴얼이나 서버 제조사의 메모리 가이드에 명시된 종류를 따르는 것이 가장 확실하다.
- ECC와 RDIMM은 별개의 개념이다. "ECC 메모리"로 판매되는 제품은 ECC UDIMM일 수도, RDIMM일 수도 있다. 데스크톱에서 부팅되지 않는 원인은 ECC가 아니라 레지스터다. ECC UDIMM은 ECC를 지원하지 않는 메인보드에서도 ECC 기능만 비활성화된 상태로 작동하는 경우가 많다.
- DDR5의 온다이 ECC는 ECC 메모리와 다르다. DDR5는 모든 칩 내부에 on-die ECC를 갖추고 있지만, 이는 칩 내부의 오류만 정정한다. 칩 외부나 모듈과 CPU 사이의 버스에서 발생한 오류는 정정하지 못한다. 완전한 ECC 기능이 필요하다면 ECC UDIMM이나 RDIMM을 구매해야 한다.
- 같은 종류끼리도 구성을 맞춘다. 채널당 장착 수가 늘어나면 동작 클럭이 낮아진다. x3500 M4의 DDR3 RDIMM은 채널당 1장이면 1866, 2장이면 1600, 3장이면 1066까지 낮아진다. 또한 전체 메모리는 모든 모듈이 동작할 수 있는 속도에 맞춰지므로, 랭크나 용량이 다른 모듈을 섞기 전에 매뉴얼의 장착 규칙(population rule)을 확인해야 한다.
Reference
- Registered memory, Wikipedia
- DDR5 Memory Standard, Kingston (PDF)
- DDR4 LRDIMMs 백서, IDT (PDF)
- System x3500 M4 Memory module installation, Lenovo
- DDR4 DIMM 라벨 형식, Lenovo
- What Is MCR DIMM on Intel Xeon 6 Processors?, Intel
- Understanding CORSAIR CUDIMMs, Corsair
- Genoa, WikiChip
- EPYC 9004 Series, ASRock Rack