Infra

[하드웨어] DDR5 cl27 expo 그리고 Memory Context Restore 옵션과 연관된 부팅불가 문제 원인 분석

PITAS 2026. 6. 17. 02:23

증상

발생한 문제는 크게 두 가지 상황에서 관찰되었다.

  1. 게임 로딩 중 프리징 이후 부팅 실패
    • CPU 오버클럭과 24GB DDR5 모듈 2개, 즉 총 48GB 듀얼 채널 구성에서 DDR5-6000 CL27 EXPO 프로파일을 적용한 상태로 사이버펑크 2077 초기 로딩 구간 중 프리징이 발생했다.
    • 같은 조건에서 반복적으로 재현되었다.
    • 프리징 이후 강제 재부팅하면 메인보드 Debug LED의 DRAM 표시등이 켜진 상태로 멈추고 POST가 진행되지 않았다.
    • 이 상태에서는 BIOS 진입도 불가능했고, 메인보드 핀 쇼트를 통한 CMOS Clear 이후에야 다시 부팅할 수 있었다.
  2. 정상 종료 이후 다음날 콜드부트 실패
    • 별다른 이상 없이 정상 종료했음에도, 다음날 전원을 켜면 동일하게 DRAM Debug LED에서 멈추는 증상이 발생했다.
    • 이 경우에도 CMOS Clear를 해야 부팅이 가능했다.

관찰된 상관관계

가장 강한 상관관계를 보인 설정은 DDR5 EXPO 적용 여부였다.

  • EXPO 미적용 상태에서는 부팅 실패 문제가 발생하지 않았다.
  • EXPO 적용 상태에서는 대부분 정상 부팅되지만, 낮은 확률로 POST 단계에서 실패했다.
  • EXPO 적용 후 TM5 같은 메모리 테스트를 실행해도 오류는 검출되지 않았다.

이 점을 보면 문제를 단순한 런타임 메모리 오류로 보기 어렵다. TM5 통과는 운영체제 진입 이후의 부하 안정성을 의미할 뿐, 전원 인가 직후의 POST 단계나 메모리 트레이닝 안정성까지 보장하지는 않는다.

따라서 이 문제는 OS 진입 이후의 일반적인 메모리 오류라기보다, EXPO 적용 상태에서 POST 단계의 메모리 초기화 또는 트레이닝 과정이 불안정해지는 문제로 보는 것이 더 타당하다.

배경 지식

램 트레이닝이란?

DDR5 메모리는 높은 전송률로 동작하기 때문에, CPU 내부 메모리 컨트롤러(IMC)와 메모리 모듈 사이의 신호 품질이 매우 중요하다. 메모리 트레이닝은 시스템 전원 인가 또는 재부팅 시점에 메인보드와 CPU가 메모리와 통신하기 위한 최적의 전기적·시간적 조건을 찾는 과정이다.

이 과정에서는 다음과 같은 값들이 조정될 수 있다.

  • 신호 타이밍 정렬
  • Read/Write 타이밍 보정
  • ODT/RTT 계열 종단 저항값
  • 구동 강도
  • 전압 및 신호 마진 관련 파라미터

AM5 + DDR5 환경에서 부팅 직후 DRAM Debug LED가 켜진 상태로 수십 초 이상 화면이 나오지 않는 경우가 있는데, 이는 보통 메모리 트레이닝이 진행 중이거나 실패한 상황과 관련이 있다.

Memory Context Restore란?

Memory Context Restore, 이하 MCR은 매 부팅 때마다 전체 메모리 트레이닝을 반복하지 않고, 이전에 성공한 메모리 트레이닝 결과를 재사용하여 부팅 시간을 줄이는 기능이다.

MCR이 정상적으로 동작하면 부팅 시간이 크게 줄어든다. 반대로 메모리 설정의 마진이 좁거나, 이전 트레이닝 context가 현재 부팅 조건과 잘 맞지 않으면 POST 단계에서 문제가 발생할 수 있다.

즉 MCR 자체가 항상 문제를 일으키는 기능은 아니다. 다만 타이트한 EXPO 설정, CPU IMC 수율, 메인보드 BIOS/AGESA 버전, DIMM 구성, 전원 상태가 겹치면 MCR이 부팅 실패를 유발하거나 기존 불안정성을 더 잘 드러내는 조건이 될 수 있다.

원인 가설

1. DDR5-6000 CL27 설정으로 인한 POST 트레이닝 마진 부족

현재 사용한 설정은 DDR5-6000 CL27이다. DDR5-6000은 6000MT/s 전송률을 의미하며, 실제 클럭은 약 3000MHz로 계산한다. 따라서 CL27의 실제 CAS 지연 시간은 다음과 같다.

$$ T_{CL}=\frac{27}{3000}\times1000=9.0\text{ ns} $$

일반적인 고성능 DDR5-6000 CL30 설정은 약 10.0ns이므로, CL27은 CL30보다 약 10% 짧은 CAS 지연 시간을 요구한다.

이 차이는 운영체제 진입 후에는 문제 없이 버틸 수 있더라도, 전원 인가 직후의 POST 트레이닝 단계에서는 더 좁은 마진으로 작용할 수 있다. 특히 재부팅 직후나 콜드부트 시점에는 온도, 전압 안정화, IMC 상태가 매번 완전히 동일하지 않기 때문에, 타이트한 타이밍일수록 트레이닝 성공률이 낮아질 수 있다.

2. MCR의 training context 재사용 실패 가능성

MCR은 이전에 성공한 메모리 트레이닝 결과를 재사용한다. 이 기능은 부팅 시간을 줄이는 데 유리하지만, 현재 부팅 시점의 물리적 조건이 이전 성공 시점과 달라졌을 때 문제가 될 수 있다.

예를 들어 다음과 같은 조건이 달라질 수 있다.

  • DIMM과 CPU IMC의 온도
  • 메모리 전압 안정화 상태
  • 재부팅 직전 부하 상태
  • PSU와 메인보드 전원 레일 안정화 시간
  • BIOS/AGESA의 메모리 트레이닝 알고리즘

따라서 EXPO로 이미 마진이 좁아진 상태에서 MCR이 이전 context를 재사용하면, 현재 조건에서는 충분한 안정성을 확보하지 못하고 POST 실패로 이어질 수 있다.

중요한 점은 MCR이 직접적인 단일 원인이라기보다, 타이트한 메모리 설정의 POST 안정성 문제를 증폭시키는 요인일 가능성이 높다는 것이다.

3. 24GB x 2 non-binary DIMM 듀얼 채널 구성과 BIOS 최적화 편차

사용한 메모리는 24GB 모듈 2개, 즉 총 48GB 듀얼 채널 구성이다. DDR5 세대에서는 24GB, 48GB 같은 non-binary DIMM이 실제로 사용되고 있으므로, 이 구성을 단순히 비표준 또는 불량 요인으로 보기는 어렵다.

다만 24GB x 2 구성에서는 CPU 내부 메모리 컨트롤러(IMC)가 두 개의 non-binary DIMM을 동시에 트레이닝해야 한다. 여기에 DDR5-6000 CL27처럼 타이밍이 매우 타이트한 EXPO 설정이 적용되면, POST 단계에서 필요한 신호 마진이 줄어들 수 있다.

따라서 문제의 초점은 “24GB 모듈이라서 불안정하다”가 아니라, 24GB x 2 듀얼 채널 non-binary DIMM 구성에서 DDR5-6000 CL27 EXPO와 MCR이 함께 적용되면서 POST 트레이닝 안정성이 낮아진 문제로 보는 것이 더 정확하다.

4. CPU 오버클럭 또는 PBO/Curve Optimizer 불안정성의 개입 가능성

게임 로딩 중 프리징은 메모리 문제만으로 발생한다고 단정할 수 없다. CPU 오버클럭, PBO, Curve Optimizer 값이 공격적인 경우에도 특정 게임 로딩 구간이나 순간 부하 전환 시점에서 프리징이 발생할 수 있다.

따라서 최초 프리징의 원인은 다음 후보를 함께 봐야 한다.

  • CPU 오버클럭 또는 Curve Optimizer 불안정성
  • SoC 전압 또는 메모리 컨트롤러 마진 부족
  • 24GB x 2 듀얼 채널 구성에서의 DDR5-6000 CL27 타이밍 마진 부족
  • EXPO 적용에 따른 POST 트레이닝 불안정
  • MCR의 training context 재사용 문제

다만 프리징 이후 강제 재부팅 시 DRAM Debug LED에서 멈추고 BIOS 진입도 불가능했다는 점을 보면, 재부팅 실패 자체는 메모리 초기화 또는 트레이닝 단계와 강하게 관련되어 있다고 판단된다.

왜 BIOS 진입도 불가능했는가?

BIOS 화면에 진입하려면 시스템이 최소한 POST 초기 단계를 통과하고, CPU·메모리·칩셋·입력 장치 초기화가 일정 수준 이상 진행되어야 한다.

그런데 DRAM 초기화 단계에서 멈추면, 키보드 입력을 받아 BIOS Setup으로 진입하기 전에 시스템이 정지한다. 이 때문에 Del 키나 F2 키를 눌러도 BIOS 화면으로 넘어가지 못하고, 화면 출력 없이 DRAM LED만 켜진 상태로 멈추게 된다.

이 증상은 운영체제 문제라기보다, 운영체제 로딩 이전의 POST 단계 문제에 가깝다.

Power Down Enable과 MCR의 관계

AM5 보드에서는 MCR을 사용할 때 Power Down Enable, 즉 PDM 설정이 부팅 안정성에 영향을 주는 사례가 있다.

MCR을 활성화한 상태에서 PDM을 Enabled로 맞추면 POST 안정성이 개선되는 경우가 있다. 반대로 MCR은 Enabled인데 PDM이 Disabled 또는 Auto 상태로 남아 있으면, 보드와 BIOS 조합에 따라 부팅 실패나 메모리 관련 블루스크린이 발생할 수 있다.

다만 이것은 모든 시스템에 보편적으로 적용되는 절대 규칙은 아니다. 메인보드 제조사, BIOS/AGESA 버전, 메모리 킷, CPU IMC 수율에 따라 결과가 달라질 수 있다.

따라서 선택지는 두 가지로 정리할 수 있다.

  1. 부팅 속도를 우선할 경우
    • MCR Enabled
    • Power Down Enable Enabled
    • 필요 시 CL30 등으로 타이밍 완화
  2. 안정성을 우선할 경우
    • MCR Disabled
    • 매 부팅 시 메모리 트레이닝을 다시 수행
    • 부팅 시간은 길어지지만, 이전 training context 재사용으로 인한 POST 실패 가능성을 줄일 수 있음

검증하면 좋은 테스트 항목

문제를 더 명확히 분리하려면 다음 순서로 테스트하는 것이 좋다.

아래 실험을 통해 expo의 영향을 확인하였고, 다른 원인을 배제한 뒤,  MCR disabled 적용 이후 문제가 재발하지 않는 것을 1달 동안 관찰하여 확인했다.

JEDEC 기본값 + MCR Auto/Enabled EXPO 자체의 영향 확인 문제가 사라지면 EXPO 마진 문제가 유력
EXPO + MCR Disabled MCR 영향 확인 안정화되면 MCR context 재사용 문제가 유력
EXPO + MCR Enabled + PDM Enabled MCR/PDM 조합 확인 안정화되면 PDM 연동 문제가 개입했을 가능성
EXPO + CL30 완화 타이밍 마진 확인 안정화되면 CL27 마진 부족 가능성
CPU OC/PBO/CO 해제 + EXPO 유지 CPU 쪽 불안정성 분리 안정화되면 CPU OC 또는 CO 값도 원인 후보
BIOS/AGESA 업데이트 후 재테스트 펌웨어 최적화 영향 확인 개선되면 BIOS 메모리 트레이닝 알고리즘 문제가 개입했을 가능성

 

적용한 해결책

최종적으로는 부팅 속도보다 안정성을 우선했다.

내가 선택한 설정은 다음과 같다.

  • EXPO: Enabled
  • Memory Context Restore: Disabled
  • Power Down Enable: 사용하지 않음 또는 별도 강제 활성화하지 않음

이 설정은 매 부팅 시 메모리 트레이닝 시간이 길어지는 단점이 있다. 하지만 이전 training context를 재사용하지 않기 때문에, 타이트한 EXPO 설정에서 발생할 수 있는 POST 실패 가능성을 줄일 수 있다.

결론

이 문제는 단순한 메모리 불량이나 운영체제 오류라기보다, AM5 DDR5 환경에서 EXPO 적용으로 좁아진 POST 메모리 트레이닝 마진과 Memory Context Restore의 training context 재사용이 겹치면서 발생한 부팅 안정성 문제로 판단된다.

특히 DDR5-6000 CL27 설정은 약 9.0ns 수준의 타이트한 CAS 지연 시간을 요구한다. 여기에 24GB x 2, 총 48GB 듀얼 채널 non-binary DIMM 구성이 더해지면 CPU IMC가 두 모듈을 동시에 안정적으로 트레이닝해야 하므로 POST 단계의 마진이 더 좁아질 수 있다. 7800x3d의 CPU IMC 수율, CPU 오버클럭 또는 PBO/Curve Optimizer 설정, 메인보드 BIOS/AGESA의 메모리 트레이닝 알고리즘도 함께 영향을 주었을 가능성이 있다.

TM5 통과에도 불구하고 POST 단계에서 DRAM Debug LED 정지와 BIOS 진입 불가가 발생했다는 점을 고려하면, 핵심 문제는 OS 진입 후 런타임 안정성보다 전원 인가 직후의 메모리 초기화 안정성에 있었다고 보는 것이 타당하다.

따라서 가장 보수적인 해결책은 EXPO는 유지하되 Memory Context Restore를 Disabled로 설정하여 매 부팅 시 메모리 트레이닝을 다시 수행하게 하는 것이다. 부팅 시간은 길어지지만, 현재 환경에서는 이 방법이 안정성을 확보하는 데 가장 효과적인 선택이었다.