DDR5 온다이 ECC와 시스템 ECC, 지원 여부 확인법
ECC 지원 메인보드에 DDR5를 꽂았는데 검사 결과는 ‘미지원’이다. 사양표의 On-Die ECC와 PC가 표시하는 ECC는 어디서 달라지는 걸까?

- DDR5의 온다이 ECC는 DRAM 칩 내부의 오류를 교정하는 기능이다. CPU와 메모리 사이에서 데이터를 주고받을 때까지 보호하는 시스템 ECC와 범위가 다르다.
- ECC 지원 CPU·메인보드에 일반 DDR5를 꽂아도 그 메모리가 ECC UDIMM으로 바뀌지는 않는다. RAM의 전체 부품번호와 보드의 ECC·Non-ECC 지원 문구를 함께 대조한다.
- Windows의 메모리 정보는 펌웨어가 제공하는 지원 정보를 보여 준다. ECC 지원 표시, 실제 교정 오류 기록, 메모리 검사에서 발견한 오류는 각각 다른 결과다.
DDR5 사양표의 ‘On-Die ECC’와 검사 프로그램의 ‘ECC 미지원’은 동시에 성립한다. 전자는 메모리 칩 안에서 수행하는 오류 교정이고, 후자는 PC가 사용하는 시스템 차원의 ECC 지원을 가리킬 수 있기 때문이다. 따라서 이 두 문구가 다르다는 이유만으로 RAM 불량이나 BIOS 고장을 의심할 필요는 없다.
현재 PC의 상태를 알아보려면 메모리 라벨의 전체 부품번호부터 찾는 편이 빠르다. ‘DDR5 32GB’라는 용량·세대 정보로는 일반 메모리인지 ECC 모듈인지 알 수 없다. 그다음 CPU와 보드의 지원 조건을 맞추고, Windows가 보고하는 정보와 실제 오류 기록을 살핀다.
온다이 ECC는 메모리 칩 안에서 데이터를 교정한다
온다이의 ‘다이’는 메모리 반도체 칩을 뜻한다. DDR5 칩은 내부에 데이터를 저장할 때 교정용 정보도 함께 보관하고, 데이터를 읽을 때 이를 검사해 교정 가능한 오류를 바로잡는다. 메모리 제조사 ATP의 설명은 이 기능을 칩 내부의 단일 비트 오류 교정으로 소개한다. 저장된 데이터의 한 비트가 달라진 경우를 칩 안에서 처리하는 기능이다.
하지만 데이터는 그 칩에서 나온 뒤에도 모듈 배선과 슬롯을 거쳐 CPU의 메모리 컨트롤러까지 이동한다. Kingston의 DDR5 기술 안내는 온다이 ECC가 칩 밖이나 모듈과 CPU 사이 버스에서 생긴 오류를 교정하지 못한다고 명시한다. 온다이 ECC가 있다는 사실만으로 이 전송 구간의 오류까지 PC가 검출·교정한다고 읽을 수는 없다.
서버·워크스테이션에서 말하는 시스템 ECC는 이보다 넓은 메모리 경로를 다룬다. 대표적인 사이드밴드 ECC에서는 메모리 컨트롤러가 데이터와 함께 교정 정보를 보내고, 읽어 온 데이터와 교정 정보를 대조한다. 이를 위해 메모리 모듈뿐 아니라 컨트롤러와 연결 경로도 해당 기능을 지원해야 한다. DDR5 ECC 메모리에서는 이 기능과 칩 내부의 온다이 교정이 함께 존재한다.
| 구분 | DDR5 온다이 ECC | 시스템 ECC의 대표적인 사이드밴드 방식 |
|---|---|---|
| 교정을 수행하는 곳 | DRAM 칩 내부 | CPU의 메모리 컨트롤러가 관여 |
| 보호 범위 | 칩 내부에 저장된 데이터 | 메모리의 저장·전송 경로 |
| 일반 DDR5에 이 기능이 있는가 | 있음 | 온다이 지원만으로는 성립하지 않음 |
| 확인할 사양 | On-Die ECC | ECC 모듈과 CPU·보드의 ECC 지원 조건 |
ECC 시스템의 구체적인 검출·교정 능력은 플랫폼과 구현에 따라 달라진다. 같은 ECC라는 이름 안에서도 보호하는 구간과 처리할 수 있는 오류가 다르므로, 사양서에서는 기능의 이름과 지원 범위를 함께 읽는다. 온다이 교정은 그중 DRAM 칩 내부의 신뢰성을 높이는 역할을 맡는다.
ECC 지원 보드에도 일반 DDR5를 장착할 수 있다
실제로 한 이용자는 ASUS Pro WS W680M-ACE SE와 Core i5-13600K에 DDR5를 장착한 뒤 ECC가 표시되지 않는다고 질문했다. 메모리는 Kingston KVR48U40BS8-16 두 개였고, Windows 조회에서는 DataWidth와 TotalWidth가 모두 64로, 오류 교정 항목은 3으로 나왔다고 적었다. 이 이용자는 DDR5의 ECC 구현 방식 때문에 이런 결과가 나오는지 물었다.
같은 보드의 ASUS 공식 사양에는 ‘DDR5 ECC and Non-ECC Un-buffered Memory’가 적혀 있다. ECC 메모리와 일반 메모리를 모두 지원한다는 뜻이다. 바로 아래 각주는 Non-ECC DDR5도 On-Die ECC 기능을 지원한다고 설명한다. 보드가 ECC를 지원하는 것과 현재 꽂힌 메모리가 ECC 모듈인 것은 따로 확인할 항목이다.
RAM의 부품번호도 이를 설명한다. KVR48U40BS8-16 사양서는 16GB·DDR5-4800·CL40·64비트 모듈을 명시하고 특징에 On-Die ECC를 적는다. 반면 KSM48E40BD8KM-32HM 사양서는 32GB·DDR5-4800·CL40에 ECC 모듈이라는 설명과 별도의 ECC 폭 표기를 제공하며, 이 제품에도 On-Die ECC가 있다.
| 제조사 사양서 사례 | KVR48U40BS8-16 | KSM48E40BD8KM-32HM |
|---|---|---|
| 한 모듈 용량 | 16GB | 32GB |
| 전송률·CAS 지연 표기 | DDR5-4800·CL40 | DDR5-4800·CL40 |
| 사양서의 모듈 폭 | x64 | x72 ECC, x36 두 서브채널 |
| On-Die ECC 항목 | 있음 | 있음 |
| 시스템용 ECC 모듈 표기 | 일반 64비트 모듈 | ECC 명시 |
On-Die ECC라는 항목은 양쪽 사양서에 모두 있다. 일반 모듈의 칩 내부 교정과 ECC 모듈의 시스템용 교정이 이렇게 다른 항목으로 기재된다. 제품명에서 On-Die ECC만 검색하면 두 종류를 가려내지 못하므로, 전체 부품번호로 연 제조사 사양서에서 모듈 종류와 ECC 지원을 읽는다.
ECC와 등록형은 서로 다른 메모리 특성이다
ECC는 오류 검출·교정에 관한 특성이고, UDIMM·RDIMM은 모듈 구조를 가리킨다. UDIMM은 등록용 레지스터가 없는 모듈이며 일반형과 ECC형이 모두 존재한다. 따라서 ‘UDIMM이라 ECC가 없다’거나 ‘ECC 메모리니까 전부 서버용 RDIMM이다’라고 분류하면 실제 지원 부품을 잘못 해석하게 된다.
Kingston의 서버 메모리 FAQ도 일반 unbuffered와 ECC unbuffered를 따로 설명한다. 같은 FAQ는 DDR5 RDIMM과 ECC UDIMM이 서로 교환 가능한 부품이 아니며, 모듈의 홈 위치가 달라 해당하지 않는 슬롯에 장착할 수 없다고 명시한다. DDR5·ECC·288핀이라는 몇 가지 단어가 같아도 호환 부품으로 묶을 수 없는 이유다.
앞서 본 ASUS 보드가 지원하는 것은 ECC 또는 Non-ECC Un-buffered 메모리다. 이 보드의 ECC 지원 문구를 RDIMM 지원으로 넓혀 읽으면 안 된다. CPU와 보드가 ECC를 지원한다는 답을 얻었더라도, 장착한 모듈의 형식이 맞는지까지 확인해야 구성이 완성된다.
고속 메모리에서 보는 CUDIMM의 클럭 드라이버도 별도 특성이다. CKD라는 칩이 붙어 클럭 신호를 다루는 구조와 오류 교정 범위는 같은 항목이 아니다. 클럭 드라이버와 플랫폼 호환은 CUDIMM·UDIMM의 지원 조건 비교에서 이어 볼 수 있다. 속도·모듈 형식·ECC는 각각 해당 사양 줄을 읽는다.
CPU 지원만으로 ECC 활성화가 확정되지는 않는다
현재 PC에서 시스템 ECC를 사용하려면 CPU의 메모리 컨트롤러, 칩셋·메인보드의 구현, 장착 메모리가 지원 조건을 만족해야 한다. Intel의 ECC 지원 확인 안내는 CPU와 칩셋 양쪽의 지원이 필요하다고 설명한다. CPU 사양 페이지의 Memory Specifications에서 ‘ECC Memory Supported’를 찾는 것이 첫 단계다.
사용자 사례의 Core i5-13600K 공식 사양에는 이 항목이 Yes다. 그렇더라도 일반 RAM을 장착한 구성이 ECC 구성이 되는 것은 아니다. 반대로 ‘Core니까 ECC가 안 된다’며 CPU부터 교체하는 판단도 해당 모델의 공식 사양과 맞지 않는다. 같은 브랜드나 제품군 이름 대신 CPU의 정확한 모델 번호를 조회한다.
메인보드에서는 ECC 지원 문구 외에 CPU별 지원 조건과 메모리 검증 목록을 읽는다. 목록에 전체 RAM 부품번호가 있다면 시험한 용량과 장착 수까지 함께 확인한다. BIOS 버전 조건이 붙어 있으면 그 조건도 현재 버전과 대조한다. 목록에서 찾지 못했다는 것은 그 목록에서 검증 결과를 확인하지 못했다는 뜻이지, 곧바로 고장이라는 뜻은 아니다.
지원 보드에 ECC 설정이 제공되는 경우에는 설명서에 따라 활성 상태를 확인한다. 메뉴 이름과 제공 여부는 보드·BIOS마다 다르다. 일반 DDR5에 온다이 기능을 더하려고 인터넷에서 찾은 다른 보드의 ‘ECC Enable’ 설정을 따라 켜는 과정은 필요하지 않다. 온다이는 DDR5 칩 내부 기능이며, 시스템 ECC 설정은 지원 부품을 갖춘 PC의 기능을 다룬다.
Windows에서는 부품번호와 펌웨어 보고값을 함께 읽는다
Windows PowerShell에서 다음 두 명령으로 메모리 부품 정보와 오류 교정 유형을 조회한다. 설정을 바꾸거나 ECC를 켜는 명령이 아니라 현재 보고된 값을 읽는 명령이다. 결과의 부품번호를 먼저 제조사 사양서와 대조하면, 일반 RAM인지 모르는 상태에서 숫자의 의미만 추측하는 일을 줄인다.
Get-CimInstance Win32_PhysicalMemory |
Select-Object DeviceLocator, PartNumber, DataWidth, TotalWidth
Get-CimInstance Win32_PhysicalMemoryArray |
Select-Object MemoryErrorCorrection Microsoft의 Win32_PhysicalMemory 문서에서 DataWidth는 데이터 폭, TotalWidth는 검사·오류 교정 비트를 포함한 전체 폭이며 단위는 비트다. 두 값은 펌웨어의 SMBIOS 메모리 장치 정보에서 가져온다. 교정 비트가 없으면 두 값이 같아야 한다는 것이 이 속성의 정의다.
따라서 64/64라는 보고값을 온다이 ECC가 고장 나 꺼졌다는 뜻으로 읽지 않는다. 일반 64비트 DDR5의 사양과 맞는지부터 대조한다. TotalWidth가 더 크다면 펌웨어가 추가 검사·교정 비트를 포함한 폭을 보고한 것이다. 이 구성 정보만으로 실제 오류 교정 동작까지 시험한 것은 아니다. 값이 비어 있거나 사양과 맞지 않으면 제조사 설명과 BIOS 보고 내용을 추가로 확인한다. 모든 DDR5 ECC 모듈에 한 가지 폭 숫자를 정답으로 적용하지 않는다.
| MemoryErrorCorrection 값 | Microsoft 정의 | 읽을 때 주의할 점 |
|---|---|---|
| 2 | Unknown | 확인되지 않은 보고값이며 오류 개수가 아님 |
| 3 | None | 메모리 배열의 교정 유형을 없음으로 보고함 |
| 5 | Single-bit ECC | 단일 비트 ECC 유형으로 보고함 |
| 6 | Multi-bit ECC | 다중 비트 ECC 유형으로 보고함 |
정의는 Win32_PhysicalMemoryArray 공식 문서의 SMBIOS 메모리 배열 정보다. 3은 오류 3개, 5는 교정 5회라는 뜻이 아니다. 5나 6으로 나온 결과 역시 그 PC에서 실제 발생한 오류의 횟수를 알려 주지는 않는다. 현재 RAM의 공식 지원, 보드의 활성 상태, 이 보고값이 서로 맞는지까지가 구성 확인이다.
ECC 표시, 교정 오류 기록, 검사 오류는 답하는 질문이 다르다
검사 프로그램의 ECC N/A·Unknown은 ECC 오류0개와 다른 표시다. 프로그램이 해당 하드웨어의 ECC 상태를 확인할 수 있는지와, 지원되는 방식으로 오류가 관찰됐는지를 따로 읽는다. PassMark의 MemTest86 ECC 기술 문서는 지원 하드웨어와 BIOS 설정, 오류 보고 경로를 설명하며, 칩 내부의 온다이 ECC를 시스템 차원의 ECC 보고와 구별한다.
시스템 ECC의 교정 오류 기록을 확인할 때 Windows에서는 WHEA 보고를 살핀다. 다만 WHEA라는 이름이 붙은 경고가 모두 RAM 교정 기록은 아니다. Microsoft의 오류 레코드 설명은 프로세서, 메모리, PCI Express 등 여러 종류를 구분한다. 발생 횟수만 합산하기보다 어떤 구성 요소가 어떤 오류를 보고했는지 내용을 읽는다. 오류가 기록되지 않았다는 사실만으로 지원되지 않는 ECC가 활성화됐다고 추론하지 않는다.
일반 메모리 검사에서 데이터 불일치가 나온 경우에는 그 결과를 따로 해결한다. 온다이 ECC가 있다는 이유로 검사에서 발견된 오류까지 이미 교정됐다고 넘길 수는 없다. PassMark의 메모리 오류 해결 안내는 검사가 RAM뿐 아니라 CPU·캐시·메인보드도 거치며, 부품 간 호환이나 동작 조건 때문에 오류가 날 수 있다고 설명한다. 오류 하나만 보고 특정 RAM 모듈의 고장으로 확정하지 않는 이유다.
문제가 고속 프로필을 적용한 뒤 시작됐다면 기존 설정을 기록하고 기본 동작 조건에서 재검사하는 식으로 조건을 나눌 수 있다. 슬롯과 모듈을 시험할 때는 보드 설명서의 장착 순서를 따른다. DDR5의 기본 속도와 XMP·EXPO 프로필은 별도 설정 문제다. 기본값에서 결과가 달라졌다면 사용한 속도·모듈 수·슬롯과 검사 결과를 함께 남겨 지원 담당자에게 전달한다.
지원 문의에는 CPU 모델, 보드·BIOS 버전, RAM 전체 부품번호, 위 조회값, 검사 프로그램 버전과 ECC 표시를 묶는다. ECC 상태를 알고 싶은 경우에는 ‘현재 구성이 시스템 ECC로 동작하는가’를 묻고, 데이터 불일치가 나온 경우에는 발생 조건과 검사 결과를 보낸다. 서로 다른 두 질문을 나눠 전달하면, 온다이 ECC 설명만 듣고 실제 메모리 오류 문제를 남기는 일을 피할 수 있다.