'Photograph' 카테고리의 다른 글

초여름의 화성  (0) 2019.05.30
봄볕  (0) 2019.04.22
아주대학교 벚꽃나들이  (1) 2019.04.13

Flashback을 지원하지 않는 메인보드를 수리했던 경험을 공유한다.

 

BIOS Flashback 기능 없이 BIOS가 망가졌을 때(BIOS Corrupted)는 어떻게 수리할까?

보통 시중에 판매하는 5천원짜리 롬 찝개(?)와 CH341A 프로그래머, 더 필요하다면 3.3V to 1.8V 레귤레이터만 있으면 가능하다.

근데 문제는 요즘 ITX 보드가 작은 곳에 왕창 뭔가를 다 때려박는 것에 모자라 PCI-E 걸쇠 밑에 BIOS IC를 넣어버린다.... ㅡㅡ

그럼 롬 찝개가 들어갈 공간도 안나오고, 걸쇠를 썰어버리자니 아깝고, 미치고 팔짝 뛸 노릇이다.

(이런 보드는 업체 들고 가도 환대받지는 못한다.. 열풍기를 쏴서 떼자니 플라스틱 걸쇠가 녹는다.)

 

그래서 생각해 낸 것은 Intel PCH의 SPI 인터페이스를 활용하는 방법이다.

MSI Z690 UNIFY Block Diagram

OC3D에 게재된 그림을 들고와봤다. 밑에 보면 PCH가 SPI 인터페이스를 통해 TPM과 Flash를 연결하는 것을 볼 수 있다.

 

바로 MSI 홈페이지에 pdf를 하나 보고 JSPI1 port pinout과 롬라이터 pinout을 매치시켜줬다.

상당한 삽질의 흔적...

문제는 CS 부분에 FET가 있어 Chip이 select 되었다는 것을 알려줘야 했는데, 이건 쉽게 그냥 벌서는 것 처럼 칩에 직접 핀을 그대로 매치 시키니 인식에도 별 문제가 없었다. ㅎㅎ

 

저 악랄한 칩의 위치가 보이는가

인식시키고 나니 실제 플래시 시간은 4분 40초대면 모두 다 쓸 수 있었다. 확실히 프로그래머가 저속 I/O를 사용하고 있기 때문인지 Flashback이나 BIOS Flash 유틸보다 훨 느렸다.

 

결론은 성공이다. 작동에 전혀 지장없고 잘 돌아준다.

'Research & Development > Hack' 카테고리의 다른 글

SKT NUGU Candle 분석  (8) 2020.01.07

평소에 수냉블럭을 물려 사용하지만 그래픽카드 IDLE 상태일 때 전력사용량이 높아 전기세가 많이 나와서 이유를 찾아봤다.

코어클럭 1200MHz와 메모리 클럭이 항상 7000MHz로 고정되어 있는 것이었다.


원래 이런건가 싶기도 한데 1대를 사용할때는 10W 가량이니 많아봐야 30W 먹는게 당연한거 아닌가 생각이 들었다.

역시나, 엔비디아 인스펙터를 활용하면 소비전력을 절반(?!)으로 줄일 수 있다!!


아래는 적용 결과이다.





정말 이상적인 전력소모량으로 딱 절반이 줄었다.

4K 듀얼모니터를 사용하는 환경이 아니라면 이런 현상이 나타나지 않는다는데 하필 4K 두개 사용하는게 나였다 ㅡ.ㅡ


사용 방법은 NVIDIA Inspector를 다운로드 후 실행하고, Show Overclocking 버튼에서 우클릭하면 Multi Display Power Saver 선택할 수 있다.

Target GPUs에서 해당 그래픽카드를 선택해주면 된다. 윈도우 시동 시 마다 적용하려면 at Windows Startup 옵션을 활성화하면 된다.


By GPU Usage 항목을 조절해서 IDLE 상태의 퍼센티지를 정확히 맞춰주어야 프레임 드랍 현상없이 최적의 상태로 설정된다.

Target GPU만 체크하면 다른 3D 애플리케이션이 느려질 수 있으니 주의해야 한다.


끝!

모든 테스트가 동일한 조건에서 시행된 것이 아니기 때문에, 이 데이터로 보드의 우열을 가리기는 어렵다는 점을 미리 참고 바랍니다.


인텔 Z490 메인보드를 직접 구매해 사용해볼 기회가 되어 Z490 오버클럭 시그니처 메인보드들을 일부 만져봤다.

메이저 3사에서 각각 내세우는 램 오버클러킹 포텐이 가장 높은 메인보드들이다.

공통된 특징으로 리뷰할 세 제품 모두 램슬롯이 2개이다.


간단 리뷰에 앞서 리뷰에 사용될 시스템 스펙을 간단히 정리하고 시작한다.


Specification

 파츠

 제품명

 비고 

 CPU

 i9-10900K (X016D744)

 VID 1.000v (MSI) / 1.003v (ASUS, SP 96)

 RAM

 지스킬 트라이던트Z 3200 CL14 로얄 골드

 최대 4700 CL16 안정화

 PSU

 시소닉 포커스 플래티넘 850W

 

 쿨러

 커스텀수냉 (CPU/RAM), VRM 스팟쿨링

 수온 26도 이상


GIGABYTE Z490I AORUS ULTRA (어로스울트라ITX)

제원

 #

 데이터

 비고

 Form Factor

 mini-ITX

 

 VRM (Vcore 전용)

 8 페이즈

 리얼페이즈 구성, 패시브 쿨링

 램 클럭 제원 (O.C)

 5000MHz

 

 특징

 Z490 ITX 계열에서 가장 넓은 히트싱크 탑재, 탄탈럼 폴리머 캐퍼시터 적용

부팅 테스트

 #

 데이터

 비고

 BIOS

 F3

 20.05.21일자 최신버전으로 테스트 진행

 CPU O.C

 -

 

 RAM O.C

 4600MHz 16-16-16-32 2T

 SA/IO Auto


테스트 스크린샷을 찍지를 못했다. 그러나 한계는 4600MHz로 그 이상 램 클럭으로의 부팅은 불가능했다.

LinX 0.9.6 부하 테스트

 #

 데이터

 비고

 BIOS

 F3

 20.05.21일자 최신버전으로 테스트 진행

 CPU O.C

 51배수 48캐시 1.31v

 LLC Turbo

 RAM O.C

 4400MHz 17-17-17-34 2T

 SA 1.4v / IO 1.3v (Auto)

 전력 소모량 (Peak 기준)

 319W

 



기가바이트 보드답게 램오버 설정 힘들다. 그래도 Z390 시리즈에 비해서 매우 많이 발전했다.

QVL은 4800클럭 메모리까지 지원하지만 수동 오버의 경우 4500 CL17에서 간단 안정화를 봤고, 링스 테스트의 경우 한단계 낮춰 4400 CL17에서 진행했다.


기가바이트 보드답게 LLC Turbo에서 ASUS보드의 LLC 6과 동일한 안정화 전압을 보여준다.

그러나 ASUS의 LLC 6보다는 약간 높은 LLC 특성을 가지고 있다. (굳이 따지자면 ASUS LLC 6.3정도 되는거 같다)


레이턴시의 경우 39.1ns로 굉장히 높은 수치를 보여주는데, RTL/IO-L 항목이 있으나 몇번 조정해 보았지만 적용되지 않는다.

수동조절이 가능한 상태인듯 싶지만 조절이 안된다 ㅜㅜ.. 일단 이 값은 보드가 틀어지게 잡으면 레이턴시가 늘어진다.

메모리 트레이스 수율은 Z390 팬텀 ITX 보드와 동일한 듯 싶다. RTL/IO-L 쌍은 채널 당 1씩 틀어진다. 


(내용추가) 최근 릴리즈된 바이오스 F5a 기준으로 RTL/IO-L 튜닝이 가능해져 동클럭/CL대비 레이턴시가 유니파이 ITX보다 낮다.


기타 메모리 타이밍은 정상으로 적용이 가능하고, AIDA64 메모리 벤치마크 수치와 링스 지플도 타이밍 대비 준수하게 나오고 있다.


이 제품은 인텔 I225-V 랜카드를 탑재하고 있는데 랜 드라이버를 잡아주면 재부팅 후 연결이 끊기는 증상이 나타나서 랜카드 펌웨어 업데이트를 진행했다.

이후 소개할 APEX보드에서도 동일한 현상이 나타났는데 장치 관리자에서 I225-V를 사용 안함 - 사용 해주니 문제가 해결되었다.


ASUS Z490 MAXIMUS XII APEX (에이펙스)

제원

 #

 데이터

 비고

 Form Factor

 ATX

 

 VRM (Vcore 전용)

 16 페이즈

 듀얼아웃풋 구성 (8리얼+8리얼), 패시브 쿨링

 램 클럭 제원 (O.C)

 5000MHz

 

 특징

 Z490 보드 중 가장 넓은 면적의 히트싱크 탑재

DIMM.2 슬롯 없이도 M.2 SSD 1개 장착 가능

부팅 테스트

 #

 데이터

 비고

 BIOS

 0069

 20.07.01일 기준 최신 베타버전으로 테스트

 CPU O.C

 55배수 52캐시 1.39v

 LLC 6

 RAM O.C

 5000MHz 16-16-16-32 2T

 SA 1.65v / IO 1.5v (Auto)



단순 최대 메모리 오버클러킹 부팅은 5000 16-16-16-32 이다. 안정화는 불가능하나 최대 포텐을 끌어볼 수 있는 메인보드임은 확실하다.

LinX 0.9.6 부하 테스트

 #

 데이터

 비고

 BIOS

 0403

 20.05.27일자 공식 최신버전으로 테스트

 CPU O.C

 50배수 47캐시 1.27v

 LLC 6

 RAM O.C

 4700MHz 16-16-16-32 2T

 SA 1.41v / IO 1.28v

 전력 소모량 (Peak 기준)

 293W

 



Z390 APEX의 명성을 그대로 이어받은 후세대 APEX 보드이다.

CPU 메모리 컨트롤러와 램 수율이 받쳐주는 만큼 램 오버클러킹이 들어가는 몇 안되는 보드이다.


RTL/IO-L을 전세대와 비슷하게 줄일 수 있으나 메모리 트레이스 수율이 향상된 모양이다. RTL/IO-L이 채널 A/B 모두 동일한 값으로 안정화가 가능하다.


기존 Z390에서 불가능하던 4700 CL16의 안정화가 가능해졌는데, 메모리 컨트롤러 수율이 좋은 편에 속해서 가능했던 것 같다.


SA/IO가 Auto값으로 둘 때 매우 높은 값으로 잡히는 문제가 있다. 이 문제는 Z490 모든 보드에서 고클럭 메모리 오버클러킹이 들어갈 경우 발생한다.

Vcore 값과 온도를 떨어뜨리기 위해서는 최대한 다이어트를 해줘야 하며, 안정화가 가능한 적정 값 사이클이 존재한다.


MSI Z490I UNIFY (유니파이ITX)

제원

 #

 데이터

 비고

 Form Factor

 mini-ITX

 

 VRM (Vcore 전용)

 8 페이즈

 리얼페이즈 구성, 액티브 쿨링 (25x10mm 팬)

 램 클럭 제원 (O.C)

 5000MHz

 

 특징

 폐쇄형 알루미늄 히트싱크

제원 상 Z490 Godlike 보다 RAM O.C가 더 들어감

부팅 테스트

 #

 데이터

 비고

 BIOS

 1.31

 20.08.15기준 최신 RC버전

 CPU O.C

 55배수 52캐시 1.45v

 LLC Mode 3 (Socket Sense)

 RAM O.C

 5000MHz 16-16-16-32 2T

 SA/IO Auto


LinX 0.9.6 부하 테스트

 #

 데이터

 비고

 BIOS

 1.31

 20.08.20 기준 최신 베타버전

 CPU O.C

 50배수 47캐시 1.25v

 LLC Mode 3 (Socket Sense)

 RAM O.C

 4800MHz 16-17-17-32 2T

 SA 1.48v / IO 1.3v

 전력 소모량 (Peak 기준)

 273W

 GFlops AVG 638 / MAX 653


총평

20년 6월 현재 사용해본 5000클럭이 지원되는 메인보드 중에서는 단연 APEX가 독보적 1위의 오버클러킹 포텐셜을 자랑한다.

갓라이크의 경우 RTL/IO-L을 조이더라도 레이턴시가 늘어지는 문제가 발생하고 있고, 어로스익스트림의 경우에는 4600정도의 안정화만 가능하다.


ITX 보드들은 대부분 5000클럭을 지원하는 것으로 스펙상 표기되어 있는데, 실제 수동오버를 통한 최대 성능 안정화 가능 범위는 4500~4600선이다.

ITX 폼팩터의 보드가 정말 필요한 것이 아니라면 굳이 선택할 이유가 없어졌다. 만약 이 중에 하나를 뽑아야 한다면 현재로써는 유니파이ITX이다.

(램 오버클러킹 관련하여 바이오스가 개선이 되면 기가바이트의 어로스울트라ITX가 오버력에서 더 우위를 점할 것이라 예상)


2슬롯 보드여서 "램 오버클러킹이 잘 된다"라고 하는 것은 옛 말이 된 듯하다. 4슬롯 보드가 T-Topology에서 Daisy-chain방식으로 거의 변경되었기 때문이다.

또, 현재 시중에 나와있는 대부분의 DDR4 메모리가 4600클럭 이상의 실사용은 수율도 안될 뿐더러 일반적인 쿨링 환경으로는 힘든 것이 현실이다.


개인적으로는 극한의 오버클러킹을 하려는 것이 아니라면 전원부 구성이 가장 중요하며 예쁜 보드를 고르면 된다는 입장이다. (저렴한 것은 제외)

[그림 1] Raft Consensus Algorithm Operation


Cloud/Infra 분야에서 필연적으로 알아야 할 알고리즘인 Raft Consensus Algorithm에 대해 알아보자.


이 알고리즘은 매우 중요하다. 다수의 노드를 클러스터링 하는 데에 대부분 이 알고리즘이 쓰인다는 점에서이다.

Container Orchestration하는 Docker Swarm과 kubernetes에서도 이 알고리즘을 이용하여 노드를 관리한다.


Raft Consensus Algorithm은 2개의 Phase로 이루어져 있고, Leader(Master) node의 상태에 따라 Leader Election부터 다시 시작한다.

1. Leader Election (리더 선출)

2. Log Replication (로그 복제 / 나머지 노드에 데이터 반영)


첫 번째 Phase인 Leader Election을 설명하기 전에 반드시 알아야 할 내용에 대해 설명한다.


Clustering을 위해서는 마스터 노드와 마스터 노드에 의해 컨트롤되는 슬레이브 노드가 있어야 한다.

직접 정해주기도 하지만 마스터 노드에 문제가 발생하는 경우, 슬레이브 노드가 마스터 노드가 되어 서비스 요청을 정상적으로 처리해야 한다.

이 때, 필요한 것이 Distributed Consensus이다.


Distributed Consensus (분산 합의)

여러 노드 가운데에서 Leader(Master) 노드를 선출하는 합의 방식이다.


어디에서 활용되는가?

굉장히 많은 분야에서 활용된다.

대표적으로 블록체인이 있고, Hadoop / Message Queue / ZooKeeper / Kafka / Redis 등 다수 노드의 운영이 요구되는 환경에서 쓰인다.


왜 쓰는가?

쉽게 설명하자면, 모든 노드가 하나의 목적을 달성하기 위해 Consensus를 하는 것이라고 생각하면 된다.


(이 사이에 예시를 들어보았으나 부적절해 보여서 일단 지웠다.)


여러 노드가 존재하는 Distributed environment은 아래와 같은 특징을 지닌다.

Concurrency of processes: 모든 작업이 동시성을 띤다; 노드들은 서로의 일을 동시에 진행할 수 있다.

Lack of a global clock: 모든 노드들을 위한 하나의 Clock이 없다; 노드들은 서로 간 스스로 동기화되지 않는다.

Faulty processes: 작업의 오류가 발생할 수 있다; 모든 노드는 오류(고장, 데이터 손실 등)가 발생하지 않을 확률이 0%이다.

Message passing: 메시지를 전달한다; 노드들은 서로 HTTP, RPC 등을 통해 Sync/Async 로 통신한다.


이 4개의 특징을 고려해 최종적으로 노드들이 하나의 input에 대해 모두 동일한 output을 갖도록 하는 것이 Distributed Consensus의 존재 의의이다.


설명이 부족하지만...ㅜㅜ

Distributed Consensus에 대해 이 정도의 이해만 하고, Raft Consensus Algorithm에 대해 이어서 설명한다.


Phase 1: Leader Election


Leader Election은 Elect, Vote, Decide 형태로 진행된다.


[그림 2] Waiting an Election Timeout - Three nodes have a different timeouts to become a candidate of Leader


세 노드가 있다고 가정을 해보자.


이 세 노드는 150ms ~ 300ms 정도의 서로 다른 Timeout을 가지고 있다.

이 Timeout이 끝나는 노드는 자신이 Leader가 되겠음을 투표받기 위해 나머지 노드에게 알리게 된다.


[그림 3] Elect - Node C asks for a vote to the other nodes


Node C가 제일 먼저 Timeout 됐으므로, 아직 Timeout이 끝나지 않은 Node A와 B에게 Vote할 것을 Request한다.


[그림 4] Vote - Node C is waiting for being voted


Node A와 B는 Vote request를 받고 Election timeout을 리셋한다.

그리고 Node C가 Leader node가 되도록 Node A와 B는, Node C에게 Vote를 응답한다.


[그림 5] Decide - Node C has became a leader node


정상 노드의 수 - 1 만큼 Vote response를 받거나 과반수 이상의 Vote Response를 받은 노드 즉, Node C는 Leader node가 된다.

여기까지가 Leader Election 과정이다.


만약, 노드의 개수가 짝수개일 경우 발생 가능한 문제점이 존재한다.

Election timeout이 만료된 2개의 노드(Candidate)가 서로 동일하게 또 다른 2개의 노드로부터 Vote를 요청하는 경우이다.

이 경우 Candidate들은 동일한 Vote 수를 받게 되며, 이를 해결하기 위해 backoff를 가지고 다시 Vote를 요청하게 된다.

네트워크의 상태에 따라 길어야 몇 초 안에 이루어지는 Leader Election 이지만, real-time service의 경우에는 치명적일 수 있다.


이것을 Majority(대부분성; 다수결의 원칙)를 유지하기 위함이라고 이야기한다.

그렇기에, 짝수 개의 노드가 허용되더라도 인프라에 종사하는 사람들은 항상 노드를 홀수 개로 유지할 것을 권장한다.


Phase 2: Log Replication

[그림 6] Completed Log Replication process of Raft Consensus Algorithm


Election 이후 Leader node는 각 node에게 heartbeat를 통해 Append entries를 보내며, 다른 노드가 candidate될 때 까지 계속 heartbeat를 보낸다.


이 heartbeat에는 Client의 요청으로 인해 변경되는 데이터 또한 함께 담겨있어,

다른 node들이 Leader node와 동일한 상태로 동기화되어서 클러스터의 데이터 일관성(Consistency)을 유지하도록 한다.

동기화가 완료되면, Client에게 Response를 한다.


Node C가 아닌 다른 노드가 candidate 되는 조건은 Node C에 fault가 있어서 heartbeat를 보내지 못하거나,

네트워크 문제로 인해 Node A와 B가 heartbeat를 받지 못하는 경우가 있다.

만일 Node A와 B의 Heartbeat timeout이 만료될 때 까지 heartbeat를 받지 못하면, Leader election 과정의 처음부터 다시 시작된다.


제약사항

Raft Consensus Algorithm이 동작하려면, 3개 이상의 node가 필요하다. (Majority의 최소 조건이기 때문)


References

https://www.preethikasireddy.com/post/lets-take-a-crack-at-understanding-distributed-consensus

http://thesecretlivesofdata.com/raft/

https://raft.github.io/raft.pdf


CPU 오버클럭


이전 (링크)오버클러킹 가이드 - 메모리 편에서 이야기했던 IMC(멤컨)의 수율이 각기 다르듯, IA 코어의 수율 또한 다르다.

또한, IMC의 수율과 상/하위 모델과의 수율 관계와 CPU IA/Cache 수율 관계도 매우 유사하다. (i9 > i7 > i5 순으로 고수율 확률이 높음)


1. CPU 오버클러킹의 개념과 특성

[그림 1] CPU-Z 상에서 확인 가능한 Bus Speed(BCLK), IA Multiplier (배수), NB Frequency (Uncore 클럭)


인텔 링버스 아키텍처 기반 CPU의 구조

[그림 2] 인텔 링버스 아키텍처 - i5-10600K Diagram (출처: Techpowerup)


샌디브릿지 이후 코멧레이크까지, 아홉 세대에 걸쳐 계속 사용된 인텔의 링버스 아키텍쳐에 대해 간단히 알아보고 넘어간다.

링버스 아키텍쳐의 가장 큰 이점은 IMC와 Core가 하나의 링버스에 Tied-up 되어 있기 때문에 메모리 접근 레이턴시가 매우 낮은 편이라는 것이다.


링버스는 베이스 클럭(BCLK, Bus Speed)으로 작동하며 각 코어 및 SA, GT를 동기화한다. 각 파트는 배수(Multiplier)를 곱해 서로 다른속도로 작동된다.


1) IA Core (산술연산 코어)

CPU가 실질적으로 연산을 수행하는 부분이다.

오버클럭된 PC에서 "52배수", "50배수" 라고 지칭하는 것이 해당 부분의 배수이다.


2) Uncore (언코어; 코어가 아닌 부분의 지칭)

IA Core와 GT Core가 아닌 모든 부분을 Uncore라고 지칭한다.

Uncore에는 대표적으로 IMC(멤컨)과 DDR4 PHY, L3 캐시가 있다.

주로 "47캐시, 캐쉬배수"라고 이야기하는 부분이 해당 부분의 배수를 지칭하는 것이다.


 3) GT Core (내장 그래픽 코어)

내장 그래픽 프로세서가 탑재된 부분이다.


Power Limit (PL)과 전력 제한 해제

[그림 3] Intel Power Limit - Intel 9th Generation (출처: anandtech)


인텔은 Power Limit이라는 파워 디자인을 사용한다. Power Limit에는 일반적으로 PL1, PL2의 종류가 있으며 최근 TVB에 PL3도 활용된다.
하지만 AVX 명령어 등의 고부하 사용 조건에서는 기본값으로 PL1가 가장 오랜 시간 유지된다. PL1은 CPU를 구매할 때 보이는 상품설명의 TDP 값과 동일하다.

PL2는 가장 맥시멈 퍼포먼스를 뽑아내는 상태인데, 그 만큼 많은 전력을 소모한다.
PL2 또한 PL1과 같이 어떠한 평범한 쿨러를 사용하더라도 CPU에 치명적 영향을 끼치지 않도록 220W 내외로 전력제한이 설정되어 있다.
PL2 상태에서 열이 누적되어 프로세서가 제 성능을 내지 못하는 상태가 되거나 고온에 의해 손상되는 것을 방지하기 위해 Tau라는 값이 설정되어 있다.

Tau 값은 PL2를 지속할 수 있는 시간 파라미터이다.
10세대 K 프로세서의 기본 값은 56초이다. 즉, 56초 동안 PL2 상태를 지속하다가 이후에는 PL1로 작동한다.

시대가 바뀌어오면서 PC의 냉각 수준이 매우 많이 향상되었다. 그렇기에 PL2의 지속 시간과 전력 제한을 해제하면 극한의 상황에서 더 나은 성능을 보여준다.
PL2의 Tau값 상향조정과 전력제한을 해제하는 옵션은 현재 "전력 제한 해제"라는 명칭으로 많이 불리우고 있다.

보드의 BIOS에서 Short Duration 관련 옵션이 PL1, Long Duration 관련 옵션이 PL2를 조정할 수 있는 옵션이다.
전력 제한 해제는 Duration 및 Time 관련 항목을 MAX 값으로 설정하는 것으로 적용할 수 있다.

스로틀링 (Throttling)

스로틀링은 프로세서를 보호하기 위해 온전한 성능을 내지 못하도록 성능을 제한하는 장치이다.

스로틀링이 활성화 되면 코어 및 언코어 배수가 하락하며 프로세서의 기본 속도로 동작하게 된다.


스로틀링의 조건은 크게 3가지가 있다.


1. 최대 CPU 허용 온도(Tj.Max) 초과

2. 최대 VRM 온도 초과

3. PSU의 ATX 12V 레일 불안정


1번의 경우 쿨링 솔루션을 개선하거나 BIOS에서 해당 옵션의 최대 허용 온도를 상향 조정함으로써 해결할 수 있다.

2번의 경우 또한 VRM의 쿨링 솔루션을 개선(스팟쿨링 등) 하거나 BIOS에서 해당 옵션의 최대 허용 온도를 상향 조절함으로써 해결할 수 있다.
다만, VRM의 경우에는 MOSFET의 품질에 따라 고온에서 좋은 품질의 Vcore 전압을 만들어내지 못할 수 있으므로, 쿨링 솔루션을 개선하는 것을 추천한다.
3번의 경우 일반적으로 스로틀링보다는 셧다운 현상이 더 많이 나타난다.
ATX 12V(보드 상단의 8핀 입력)가 불안정하면 생기는 문제로써 연장 케이블을 제거하거나 PSU를 교체하면 해결된다. 

전압과 온도의 관계

전압이 높을수록 온도가 높아진다는 사실은 자명하다. 그러나 그 역순(온도가 낮을수록 전압이 낮아진다)도 성립한다.

겨울에 안정화한 오버클러킹 셋팅이 여름에 작동하지 않는 것, LN2 쿨링을 하게 되면 보다 낮은 전압에서 같은 클럭이 들어가는것과 같은 맥락의 이야기이다.


단, CPU의 온도 마진(온도 수율)이 안정화에 큰 영향을 끼친다.

일반적인 코어수율과는 다르게 온도수율이 존재하는데, 온도수율이 좋은 CPU의 경우는 많은 전압을 인가하더라도 온도가 낮다.

der8auer의 자료 중 30개의 10900K Binning 결과에서 많은 전력을 소모함에도 불구하고 온도가 낮은 CPU 샘플을 확인할 수 있었다.

낮은 전력 소모하면서 더 낮은 온도를 보여준 샘플의 경우 고전압에서 매우 유리하므로, LN2 등의 익스트림 오버클러킹 환경에서 좋은 결과를 낼 수 있다.

2. CPU 오버클러킹을 하는 여러가지 방법 (Methodologies)

Multiplier(배수) O.C

배수 오버클러킹은 우리가 흔히 이용하는 오버클러킹 방식이다. 베이스클럭을 건드리지 않고 배수를 조정하여 목표 클럭을 달성하는 방법이다.

CPU-Z 상에서 나타나는 Multiplier가 현재 배수를 가리킨다.


BIOS 상에서 배수 값을 설정하여 오버클러킹을 진행하면 된다.

Core Ratio와 Cache/Uncore Ratio가 있는데, Core Ratio의 경우 연산부의 배수이고 Cache/Uncore Ratio의 경우는 L3캐시 및 언코어의 배수이다.

코어 수율과 언코어의 수율은 별개이나, 한 Die 내에 같이 패키징 되기 때문에 코어 수율과 언코어 수율이 비슷한 편이다.


코어수율이 좋은 경우 낮은 전압 대비 Core Ratio가 높게 올라갈 수 있으며, 언코어의 수율이 좋은 경우 메모리 오버클러킹 능력이 탁월하다는 특징이 있다.


방법으로는 Core/Uncore Ratio를 설정하고 Core Voltage를 수동 모드(Fixed, Override Mode)로 설정하여 목표한 클럭에 맞는 전압값을 찾는다.

이 과정에서 램 오버클러킹이 먼저 설정된 경우 VCCSA와 VCCIO 전압의 추가 인가가 필요할 수 있다.


전압 값을 찾는 방법은 일반적으로 Prime95 AVX 혹은 non-AVX로 찾으면 되는데, 램 오버클러킹을 통해 타이트한 램타이밍 설정이 완료되었다면 LinX 0.9.7을 이용하여 전압값을 찾을 수 있다.

스트레스 테스트를 통해 전압값을 찾을 때 주의할 점은 쿨링 퍼포먼스를 최상으로 유지시켜야 한다는 것이다.


실사용의 경우에는 LinX나 Prime95의 극한의 스트레스 테스팅 부하량에 비해 많아야 75%정도 선의 사용률을 보인다.

그러나 극한으로 테스트 하는 이유는 오류 발생률을 최소화하기 위함이며, 이를 낮추기 위해서는 전압의 보다 미세한 튜닝이 필요하다.

정확한 튜닝을 위해서는 온도 등 테스트에 영향을 줄 수 있는 변인요소를 최대한 제거해야 한다.

ASUS 보드에서 XMP 1 모드를 적용할 시 자동으로 약 0.55MHz 가량의 BCLK 오버클러킹이 들어간다. ASUS보드를 통해 오버클러킹 하려는 경우 AI Overclocking 부분을 Manual 로 설정하고 BCLK를 100.00으로 설정해 주어야 한다.


BCLK(베이스 클럭) O.C

BCLK를 이용한 오버클러킹은 링버스의 클럭을 높여 낮은 배수에서도 높은 클럭을 달성하게 하는 오버클러킹 방식이다.

린필드 이전 시스템에서 거의 FSB(Front Side Bus) 오버클러킹을 진행했다면, 샌디브릿지 이후 실사용을 위한 BCLK 오버클러킹은 거의 하지 않는 편이다.


전용 유틸리티(Auto FSB 등)를 통해 적정한 값을 찾아야 하므로 OC 레코드를 세울 때 오버클러커들이 많이 이용한다.

높은 BCLK에서 안정적이려면 여러가지 전압 및 옵션 튜닝이 필요한데 배수를 이용한 오버클러킹보다 등한시되는 이유 중 하나이기도 하다.


오버클러킹 경험이 생긴다면 내용을 추가할 예정이다.

3. 무엇을 사야 하는가?

CPU

용도에 맞는 원하는 CPU 라인업 중 K 프로세서를 구매하면 된다.

9600K, 9700K, 9900K, 10600K, 10700K, 10850K, 10900K ...


단, i9 - i7 - i5 순으로 고수율 확률이 높으니 참고하면 좋다. (10850K의 경우 10900K보다 낮은 수율의 제품)


메인보드

CPU와 메모리 오버클러킹 모두 진행한다는 가정 하에 아래 제품들을 추천한다.


9세대

ASUS: 막시무스 에이펙스 / 히어로

MSI: 게이밍 엣지 ITX / 에이스 / 갓라이크

ASROCK: 팬텀 게이밍 ITX / Taichi

GIGABYTE: 추천 안함


10세대

ASUS: 막시무스 에이펙스 / 히어로 / 익스트림 / 터프

MSI: 유니파이 ITX / 유니파이 / 갓라이크 / 게이밍엣지

GIGABYTE: 어로스 울트라 ITX / 익스트림 / 마스터

ASROCK: 추천 안함


PSU (파워서플라이)

그래픽카드의 전력소모율을 고려하여 500W 이상의 정격 출력을 지원하는 파워 서플라이 중 출력이 일정한 제품을 고르면 된다.

가장 하이엔드는 시소닉 프라임이며, 그 이하는 파워 3대장 (시소닉 / 델타 / 에너맥스)과 FSP 등 유명 제조사 제품 중 OEM이 아닌것을 고르면 된다.

4. CPU 오버클러킹시 알아두면 좋은 노하우

램 오버클러킹 이후 CPU 오버클러킹을 진행할 때의 VCCSA와 VCCIO의 튜닝

VCCIO의 경우 Cache 배수가 올라갈수록 추가적인 인가가 필요할 수 있고, VCCSA의 경우는 CPU IMC의 수율에 고정값을 띤다.


(설명추가 예정)


VCC Sense와 Die Sense, Socket Sense

VCC Sense(MSI)와 Die Sense(ASUS)의 경우는 Substrate를 지나 Die에서 측정되는 전압의 세기이다. 

Socket Sense의 경우 Super I/O 모듈을 이용하여 측정하는 방식인데, 이 방식은 Traditional 한 방식으로 오차가 있을 수 있다.

반면 Die Sense의 경우 PWM Controller에서 출력되는 실 전압을 측정하는 것으로 매우 정확하다고 한다. 


[그림 4] Die/VCC Sense VS. Socket Sense (출처: Actually Hardcore Overclocking)


Socket Sense가 부정확하다고 하는 이유는 소켓과 PCB에서 약 1밀리옴의 저항이 발생하는데, 100A를 인가하게 되면 0.1V의 전압 하강이 일어나게 된다.

그러므로 실 인가전압을 정확하게 계측하는 데에는 VCC/Die Sense를 이용하는 것을 권장한다.


혹시 추가해주셨으면 하는 내용이 있다면 알려주시고 질문도 환영합니다. ^^

2020. 10. 14. 업데이트

*본문의 내용을 인용하실 때 출처 표기만 부탁드립니다. ^^



위 사진은 여태 안정화 봤던 CPU와 GPU들이다.


지난 8700K 오버클럭 가이드아닌 미립자 팁을 작성한 뒤로 9세대 오버클럭 개념이 어느정도 정돈되어 포스팅하기로 했다.


CPU 오버클러킹보다 램 오버클러킹이 중요한 이유는

오버클럭 시 성능 향상 비중이 램 오버클럭 >>>>>>>>> CPU 오버클럭으로 램 오버클럭이 월등히 높기 때문이다.


해당 가이드를 통한 메모리 오버클러킹 결과는 아래 채널에 게시하고 있다.

Sokdakino's Practical Overclocking: https://www.youtube.com/channel/UCR3OZRM45p5dbAsK_VR_Cog

램 오버클럭

요즘 CPU는 모두 메모리 컨트롤러를 내장하여 출시한다. 이를 IMC(멤컨) 이라고 부른다.

메모리 컨트롤러 수율에 따라 램 오버클럭이 더 들어갈 수도 있고, 덜 들어갈 수 있다.


메모리 컨트롤러가 수율이 좋을 확률은 인텔 시스템에서 평균적으로 i9 i7 i5 순으로 높다.

(추측이지만 i9 불량에서 하이퍼스레딩을 꺼서 i7로, i7에서 불량인 코어 2개 컷팅해서 i5로 보내기 때문이라 생각한다.)


1. 램 타이밍

[그림 1] ASRock Timing Configurator상 표시되는 DDR4 메모리 타이밍


1차 램 타이밍


18-21-21-42 2T



위 숫자는 보통 인텔 시스템에서 램 오버클럭 시 가장 많이 언급되는 형태이며, [그림 1]의 빨간 부분의 설명이다.

타이밍의 순서는 tCL-tRP-tRCD-tRAS CR 순이다. 각 타이밍에 대한 설명은 다른 블로그에서도 잘 되어 있으니 찾아보면 되겠다.


tCL이 가장 많은 성능 향상을 가져오며, 오버클럭 시 사람들이 CL이라고 가장 많이 부르는 타이밍 값이다.

이 값이 보다 낮은 전압에서 많이 조여질수록 고수율의 메모리라고 볼 수 있다.


tRP와 tRCD는 보통 인텔 시스템에서 같은 값으로 입력되며, 두 번째로 성능 향상폭이 크다.

(인텔 보드의 경우 그냥 퉁 쳐져 있어서 같은 값이 입력되며, AMD 시스템의 경우 별도로 설정할 수 있다.)


tRAS 의 경우 수율이 좋지 못하더라도 타이트하게 조여질 수 있는데, 시스템이 불안정해지는 문제가 있다.

최상의 성능을 위한 tRAS 값은 tCL+tRP이나, 안정성을 위해 2++의 갭을 두기도 한다.


CR의 경우는 Command Rate로써 1T로 설정 시 약간의 메모리 대역폭 향상 및 레이턴시 향상을 기대할 수 있다.

단, 4000MHz 클럭 이상에서 1T Mode로의 안정화가 가능은 하나 시도 가능한 메인보드(Z490 Apex)와 메모리(고수율)가 극히 희박하기 때문에,

고클럭 오버클러킹 시에는 2T로 사용하는게 포텐셜을 끌어내기에 더 좋다.

(AMD 시스템의 경우 Geardown Mode를 활성화 한 경우 1T로 보이며, 실제로는 2T로 동작하기 때문에 실제 1T냐, 아니냐에 따라 안정화 난이도가 달라진다.)


수율이 좋은 메모리일수록 tCL과 tRP/RCD의 간격이 좁도록 안정화가 가능하다. 즉, 15-15-15-30 17-17-17-34등의 메모리 타이밍이 가능해 지는 것이다.


그렇다고 18-22-22-42 타이밍이라고 좋지 않은 것은 아니다.

클럭이 높아질수록 보다 낮은 전압에서 안정화 하기 위해 tCL과 tRP/RCD간의 타이밍을 벌려야 한다. 주로 4600++의 XMP메모리에서 보이는 클럭이기도 하다.


왜 이렇게 벌려서 출시하냐는 물음이 있을 수 있다.

앞서 말했다시피, tCL이 가장 많은 성능 향상을 가져오기 때문에 tCL을 극도로 낮춘 다음, tRP와 RCD의 값을 높여 안정성 및 전압 마진을 확보하기 때문이다.

DDR4의 권장 최대 전압 수치는 1.5V이며, 인텔의 XMP 2.0 권장 최대 전압수치도 1.5V이다. 그래서 1.5V에 맞추려고 푸는 것이다.


램을 수냉하거나 스팟쿨링할 수 있다면, 더 넣어서 tCL과 tRP를 동일하게 해줘도 된다.

단, 전압을 퍼준다고 해서 오류 없이 안정화가 된다는 법은 없다. 고전압일수록 메모리 IC가 불안정해지기 때문이다.


 

 tCL

 tRP/tRCD

 tRAS

 tRFC

 Safe

 N

 N + (1 ~ 4)

tRP *2 (0 ~ +4)

 tRAS *20 + 20

 Tight (스트레이트)

 N

 N

 N *2

 tRAS *10 + 20

 Extreme (스트레이트)

 N

 N

 N *2 (-4 ~ 0)

 tRAS *10 (-40 ~ 0)

[표 1] 1차 램타이밍 추천 프리셋


2차 및 3차(Turnaround) 램 타이밍의 설명

[그림 1]에 있는 파란색 박스 2차와, 갈색 박스 3차 타이밍은 가장 잡기 까다로운 타이밍이라고 볼 수 있다.

1차 램 타이밍까지는 큰 변수가 클럭과 tCL, 전압 정도라면 2차 타이밍 이후는 적어도 10개 이상의 램 타이밍이 인가전압과 안정성에 영향을 미친다.


가장 성능 향상에 큰 영향을 미치는 2차 램 타이밍은 tRFC, tWR, tFAW, tCWL, tWTR 이다.


tRFC의 경우 타이트 할 수록 성능 향상 폭이 커지는데, 그만큼 시스템이 불안정해지는 특징이 있다.

레이턴시와 대역폭 성능 향상에 영향을 끼친다. 보통 부팅되는 값에서 20~50정도 더해서 사용한다.


tWR의 경우 전체적인 대역폭의 높고 낮음에 큰 영향을 끼친다. 이 타이밍과 가장 밀접한 타이밍은 3차 타이밍 항목인 tRDRD, tWRWR이다.

tRDRD_sg, dg는 읽기 값에 매우 큰 영향을 끼친다. playsin님의 유튜브 영상에서도 언급이 되었는데, tWRWR_sg, dg는 쓰기 값에 매우 큰 영향을 미친다.

정리하자면, tWR과 tRDRD, tWRWR은 세트 램타이밍이다.

tRDRD/WRWR이 조여진 상태에서 tWR이 풀리면 대역폭이 낮고, 반대의 경우는 tWR이 조여진 만큼 제 성능을 내지 못한다.


ASUS 보드의 경우 tWR 값이 tWRPRE 타이밍과 연동된다.

tWRPRE - 20 = tWR의 공식이 사용된다. (tCWL, tCL과 연관이 있는것 같으나 좀 더 확인이 필요하다.)


tFAW는 타이밍이 줄어들수록 한 번에 처리하는 양이 많아진다고 생각하면 된다.

보통 tRRD_S의 4배~6배 정도로 설정한다. 처리하는 양이 많아지기 때문에 CPU의 발열도 tFAW 48대비 16이 약 20도 더 높다.

조정하면 인게임 체감 시 빠릿빠릿함의 느낌이 두드러지며, LinX의 GFlops값에 큰 영향을 끼치는 램 타이밍이다.
시스템 쿨링에 문제가 있다면 가장 먼저 타협해야 하는 램 타이밍이다.

tCWL은 tCL의 쓰기 버전이라고 생각하면 편하다.
보통 tCL이 홀수인 경우 홀수로 빼서 짝수로 맞춰주거나, 짝수인 경우 짝수를 빼서 짝수로 맞춰주는 것이 이상적이다.


tWTR은 레이턴시에 상당한 영향을 끼치며, 3차 tWRRD_sg, dg 타이밍과 연동된다.

ASUS 보드의 경우 tWRRD_sg, dg를 설정해주면 tWTR_S, L 값이 자동으로 설정된다.


tRRD 또한 레이턴시와 읽기 값에 영향을 끼친다.

tRRD_S의 경우 웬만해서는 4로 고정하고, tRRD_L의 경우 tRRD_S보다 같거나 크게 풀어준다.

두 값의 차이가 수율에 따라 2 이상 줄여지지 않을 수 있다.


 

 tRRD_L

 tRRD_S

 tFAW

 tWR

 tWTR_L

 tWTR_S

 Safe

 6

 4

 16~48

 16

 8

 4

 Tight

 6

 4

 16

 12

 7

 3

 Extreme

 4

 4

 16

 8~10

 한계치 없음

[표 2] 2차 램타이밍 추천 프리셋


 

 tRDRD_sg

 tRDRD_dg

 tWRWR_sg

 tWRWR_dg

 tRDWR_sg

 tRDWR_dg

 dr

 dd

 Safe

 7

 4

 7

 4

 13

 6

 7

 Tight

 6

 4

 6

 4

 11~13

 3

 4

 Extreme

 6

 4

 6

 4

 10~11

 1

[표 3] 3차 램타이밍 추천 프리셋 (Tight/Extreme: 쿨엔조이 프롬게임시후님 원문 참고)


Latency 램 타이밍의 설명

Latency Timing에는 대표적으로 RTL과 IO-L이 있다.

RTL과 IO-L 값의 차이가 tCL과 램 클럭에 따라 결정된다.

레이턴시 값에 가장 큰 영향을 미친다. 이 값이 Auto나 풀어져 있을 경우 아무리 2, 3차를 조여도 낮은 클럭보다 레이턴시가 안 조여지는 현상이 나타난다.


해외 포럼(hwbot)의 Alex@ro님이 권장하는 방법은 아래와 같다.


1. Initial RTL 값을 부팅 가능한 값 까지 내린다.

2. IO-L Offset CHA/CHB를 1씩 올려가며 최상의 RTL/IO-L 세트를 찾는다.

3. CHA와 CHB의 RTL이 3 이상 벌어지는 경우 램이나 멤컨의 수율이 좋지 못한 것이니 RTL을 풀어서 2 이하로 유지한다.


이 방법은 극한의 메모리 오버클러킹 시에도 사용할 수 있다. (e.g. 4800 CL14)


아래는 필자가 권장하는 방법이다.


1. Auto로 맞추고 부팅되는 값을 찾는다.

2. IO-L과 RTL의 차이를 유지하며 RTL과 IO-L에서 1씩 빼며 부팅 가능한 값 까지 내린다.

(10세대 제외) 3. CHA와 CHB의 RTL값이 서로 같으면, CHB의 RTL/IO-L 세트에 1 더해주거나 CHA의 RTL/IO-L 세트에 1 빼준다.


보통 2, 3차 램타이밍을 모두 잡고 나면 Latency timing이 잡히지 않는 경우가 있다.

그렇기 때문에, 필자의 경우 Latency timing을 1차 타이밍을 설정하고 테스트 후 잡아주고 있다.


 

 tRTL (CH A)

 tRTL (CH B)

 tIOL (CH A)

 tIOL (CH B)

 Safe

 N

 N + 1

 10 이하

 10 이하

 Tight

 N

 N

 8 이하 (동일 값)

 Extreme (~4900MHz)

 N

 N

 7 이하 (동일 값)

[표 4] 3차 램타이밍 추천 프리셋


설명 안한 나머지 램 타이밍

tREFI와 tCKE, tRTP에 대해서는 변수가 거의 없어 별도의 설명을 하지 않았다.

tREFI는 값이 클 수록 LinX의 GFlops 값에 영향을 끼치기도 하나, 국내 사례로 tREFI를 MAX(65535)로 두고 쓰다 문제가 생겼다고 하시는 분도 있다.
가장 좋은 것은 JEDEC 표준(클럭 / 2 * 7.8)대로 쓰는 것이지만, 보드의 VRM 퀄리티, 쿨링 환경이 좋다면 MAX로 두고 써도 상관없다.

tCKE는 4 or 6 or 8로 설정한다.
값이 작을 수록 타이트한 램타이밍 적용이 가능하다.
위에 명시한 것을 제외한 값들은 어떤 값을 넣더라도 안정화가 힘든 현상을 겪었다.

tRTP는 짝수 단위로 6부터 최대를 12로 두고 설정한다.
TM5에서는 오류 없이 잘 통과하는데 HCI 2000% 테스트 시 오류를 내는 주범이기도 하며, 3차 램타이밍과 연관이 크다.
3차 램타이밍을 푸는 경우 tRTP가 더 조여질 수 있으며, tRCPRE값과 연동되므로 tRTP를 Auto로 두고 설정한다. (값 1:1 연동)


tXP는 7이하의 값으로 설정한다. (해당되는 경우에만)

최근 10세대 MSI보드의 경우 Auto값으로 tXP 타이밍이 풀려있는 문제가 있다. 이를 7 이하의 값으로 수동 설정하면 레이턴시가 타 보드에 비해 늘어지는 문제를 해결할 수 있다. (원문: 쿨엔조이 sugi0lover님 작성)


tXPDLL은 30이하의 값으로 설정한다. (MSI 메인보드에 해당)

최근 10세대 MSI보드의 경우 Auto값으로 tXPDLL 타이밍이 풀려있는 문제가 있다.

4500~4800 클럭 기준 25~30사이의 값으로 설정한다.


tAOPND은 10이하의 값으로 설정한다. (MSI 메인보드에 해당)

최근 10세대 MSI보드의 경우 Auto값으로 tAOPND 타이밍이 풀려있는 문제가 있다.

4500~4800 클럭 기준 10으로 설정한다.



 

 tREFI

 tCKE

 tRTP

 Safe

 DRAM Frequency /2 *7.8 (Auto)

 8

 12

 Tight

 Safe *2

 4~6

 6~12

 Extreme

 65535 (MAX)

 4

 6~8

[표 5] 기타 램 타이밍 추천 프리셋



너무 기니까 요약좀 해주세요!! (부하 테스트, 안정화 방법)

개인적인 부하 테스트(안정화) 방법을 소개한다.


* 확실한 안정화를 원할 경우 (오래 걸림)

1차 타이밍 최종 안정화는 TM5 (1usmus v3) 20회로 잡아주고, 2차 타이밍부터는 TM5 ADV 5회로 조정하고 HCI MemTest만 2000%씩 돌린다.

TM5는 회차가 늘어날 경우 느려지며 HCI가 더 잘 잡는 경향이 있다. 특히 2000%이상 돌릴 시 확실하다.


팁이라면 TM5의 사이클 프리셋을 5회 20회로 2개정도 만들어 두는 것을 추천한다.

5회 돌려서 오류가 나면 20회 돌렸을때 무조건 나기 때문에 5회차 오류 잡고 20회 돌리는게 시간 절약하기에 좋다.


* 빠른 안정화를 원할 경우 (간단, Runtime Leveling을 이용한 안정화)

모든 순서마다 TM5 ADV 20회를 돌린다. 단, 오래 돌리며 에러번호가 달라지며 에러가 안나는 경우를 캐치해야 한다.

잡히는 메모리 타이밍의 경우 안정화 시 TM5에서 다음과 같은 양상을 보인다. (오류 나옴 -> 번호가 달라짐 -> 에러가 안남)

5회차 이상에서 주기당 1개 미만의 에러율을 보일 때 Leveling*을 위해 TM5를 계속 돌릴 것을 권장한다.


해당 상황 이후, 1회 재부팅 후 TM5 구동 시 오류가 현저히 줄어들어 20회 통과나 1~3회 가량의 에러가 나는 것을 확인할 수 있다.

이때, 오류가 나더라도 소량이므로 다음 단계로 진행하며 오류를 잡는다.


단, 3번까지의 안정화에는 절대 오류가 있어서는 안된다.

베이스 타이밍이기 때문에, 성능 타이밍을 조이지 않았을 때 잡을 수 없는 에러의 경우 이후 단계에서 Runtime Leveling이 불가하다.

오류를 어떠한 방법으로도 잡을 수 없는 경우 해당 1차 타이밍이나 클럭을 포기해야 한다.


최종 안정화는 목적에 따라 HCI나 Karhu의 목표 타이밍까지 세부 타이밍을 조절하며 잡으면 된다.

(보통 TM5 20회 및 링스 10회 통과시, tWR을 2 풀거나 VDDR 전압 +0.02V 이내로 HCI 1000%++ 및 Karhu Memtest 12000%++ 안정화가 가능함)


TestMem5 오류 잡는 방법

전압조정 우선순위: VDDR (최대 1.65) > VCCIO (최대 1.45) > VPPDDR (최대 2.8) > DRAM VTT (VDDR의 1/2 값에서 +- 미세조정)

오류가 더 나면 전압을 더 이상 인가할 수 없으므로 다음 우선순위 전압을 조정하거나, 해당 램 타이밍을 내린다.

VPPDDR, DRAM VTT의 경우 건들지 않아도 안정화가 가능하다. 옵션이 없는 메인보드의 경우 조절 없이 진행하면 된다.

모든 타이밍 값을 시도해도 오류가 잡히지 않는다면 수율의 한계로 생각하고 클럭이나 tCL을 조정한다.


순서가 높아질수록 기존 타이밍에 맞춰서 Leveling이 진행되는데 특히 tRRD나 tRDWR의 경우 건들지 않는 것이 좋다. 메인 램타이밍이기 때문에 맞춘 뒤로 틀어지게 되면 처음부터 다시 안정화를 봐야할 수도 있다. (되던 램타이밍으로도 오류가 나오는 경우가 있음, 쏟아지는 오류 해결 불가)

만약 조절이 필요하다고 판단된다면, 다른 타이밍들의 재조정이 필요할 수 있음을 인지해야 한다.


초고클럭 오버클러킹 시 일반적으로 tWRWR/RDRD_sg, dg 조일 때 많이 좌절한다.


MSI 보드의 경우 VDDR 조정 시 메모리 트레이닝을 다시 진행하게 된다. VDDR은 웬만해서 건들지 않고 안정화를 진행하는 것을 추천한다.


안정화를 위한 램 타이밍 조이는 순서 (2020.10 수정)

1. 레퍼런스를 참고하여 클럭/1차 타이밍/전압을 인가한다.

2. 전압을 더 인가하며 1차 타이밍을 조정하거나 클럭을 조정한다. + RTL 및 IO-L을 함께 최소값으로 잡는다.

3. tREFI를 최대로 두고 tRFC를 잡는다. (B다이 기준 tRFC 400이상 풀어지는 경우 tREFI를 낮은 값으로 조절)

4. tRRD_S와 tRRD_L, tFAW를 잡는다. (tRRD_S는 4로 고정, tRRD_L은 4 이상, tFAW는 CPU 쿨링 상태에 따라 4~8배 권장)

5. tRTP(tRDPRE 연동)와 tCKE를 잡는다.

6. 3차 tRDRD + 3차 tWRWR sg, dg를 잡는다. (tRDRD및 tWRWR dg는 4로 고정, 안정화 안되면 tWR을 푼다.)

7. tWTR을 잡는다. (3차 tWRRD_sg, dg 값과 연동)

9. tRDWR_sg, dg, dr, dd를 10부터 1씩 증가시키며 잡는다.

10. tWR을 12부터 내려서 잡는다. (tWRPRE값과 연동, 원하는 셋팅에 따라 16부터 내려도 됨)

11. dr, dd 램타이밍 한 세트 당 3, 4에서 1씩 늘리며 잡는다. (혹은 1, 1셋팅부터 시작해도 됨)


ASUS 보드는 tWRRD_sg, dg로 tWTR을, tWRPRE로 tWR을, tRCPRE로 tRTP를 설정 할 수 있으며, 타 보드들은 tWTR을 잡으면 tWRRD_sg, dg가 자동으로 설정된다.


안정화가 귀찮다면 1, 2번과 tRFC, tRDRD/tWRWR_sg, dg(풀어진 경우에만 해당)만 잡아주어도 된다. 단, 풀 타이트 셋팅보다는 성능이 떨어진다.

*tWRWR_sg, dg의 권장 최대 값은 7, 4이다. (수동 6, 4 설정 시 성능 향상)


인텔 10세대에만 해당되는 메모리 오버클러킹 방법 (CPU 오버클러킹 관련 설정은 모두 Auto)

1. 메모리 클럭과 1차 타이밍을 넣고 아래에서 해당 클럭에 맞는 SA/IO 레퍼런스를 넣는다.

* SA/IO를 Auto 로 두고도 안정화가 불가능 한 경우에 해당되며, Auto 안정화 가능할 시 2번 부터 진행한다.


메모리 클럭

VCCSA

VCCIO

 4200MHz 이하

 Auto

4300MHz

1.25V (Auto)

1.15V (Auto) 

4400MHz 

1.35V (Auto) 

1.25V (Auto) 

4500MHz 

1.35V 

1.25V

4600MHz 

1.45V

1.35V 

4700MHz 

1.45V 

1.35V 

4800MHz 

1.6V

1.45V 

4900MHz 

1.6V 

1.45V 

5000MHz 

1.65V (Auto)

1.55V (Auto) 

 5000MHz 초과

 -

 * 빨간색 이후로는 24/7 실사용을 권장하지 않는다. IMC의 Degradation(영구 손상으로 인한 성능저하) 현상이 보고되는 문제가 있음.

* 멤컨의 수율에 따라 전압을 더 요구하는 경우가 있으니, 상위 클럭의 SA와 IO 전압도 시도하는 것을 권장함.

[표 6] Z390 APEX VCCSA/VCCIO 레퍼런스


2. TM5 1~3회로 오류 안나는 램전압을 잡는다.

3. 링스 0.9.6 or 0.9.7 메모리크기 4096 20회로 잔차 흔들리지 않는 최소 SA/IO 값을 잡는다.

4. TM5 돌리며 세부 램타이밍 조절 (가이드 및 순서 참고)

5. 링스 메모리크기 11264 20회로 sa/io 찾기

6. 메모리 오버클러킹 안정화 완료


TM5 ADV4 1회차 실행 시의 상태를 통해 알아보는 전압 상태 (ASUS 및 MSI 기준)

1. 초기에 오류가 매우 많이 뜸 (블루스크린 동반) - VDDR 적정 전압값 벗어남 (너무 낮거나 너무 높음)

2. 초기에 오류가 5~6회 동반되며 약간씩 오류 발생 (블루스크린 동반) - SA/IO 부족 혹은 VDDR 전압 부족

3. n번 테스트에서 n번 테스트 오류 혹은 0번 오류 발생 - VDDR 미세 부족 혹은 VPPDDR 부족

4. 14번, 7번 테스트에서 오류 발생 - VPPDDR 부족 혹은 VDDR 부족. VDDR을 인가해도 해결이 불가능할 경우 tWR 풀기

5. 5회 넘어서 n회차 테스트에서 오류 발생 - 온도 문제 혹은 VDDR 소폭 부족


*SA/IO의 경우 2번 상태가 나타나지 않는 전압을 기준으로 0.01v 더 인가해주면 된다.

*Leveling 현상의 유무는 메인보드마다 상이하다.

2. 램 오버클럭 시 알아두어야 할 점

멤컨과 메모리 오버클러킹의 상관 관계

램과 보드, CPU의 3개의 변수가 메모리 오버클럭 수율이 좋을 확률에 영향을 끼친다.

메모리 > 메인보드 > CPU IMC 순으로 적당한 메모리 오버클러킹 수율에 영향을 끼친다. (한계치 오버클러킹의 경우 메모리와 IMC 수율이 가장 중요)


만약 1.5V에 6000MHz 클럭에 CL14가 들어가는 말도 안되는 좋은 메모리가 있다고 가정을 해보자.

같은 CPU여도 6000MHz를 다 못 뽑아낼 수도 있고, CL14 타이밍이 안 들어갈 수 있다.

보통 9900K기준 멤컨이 실사용 기준 평균인 경우 클럭은 4400++에서, CL17 타이밍 정도로 TestMem5를 이용해 안정화가 가능하다.

실사용 기준 멤컨이 가장 좋은 수율의 9900K 최대 메모리 오버클럭은 4800MHz CL16 정도 일 것이다.


메인보드를 예시로 들더라도, 가장 좋은 멤컨을 가진 9900K가 Z390 익스트림 4보드에서는 4200MHz CL16 정도가 한계일 것이고,

Z390 XI APEX 보드에서는 4800MHz CL16 정도가 한계일 것이다.


요약하자면, 4400MHz 클럭에 CL17 정도 사용하려면 CPU 메모리 컨트롤러는 그닥 걱정하지 않아도 된다는 이야기다.

그 구간에서는 메인보드와 메모리 수율이 메모리 오버클럭에 영향을 더 많이 끼친다.


현재 시판되는 DDR4 메모리의 수율 특성

현재 판매되고 있는 DDR4 메모리들의 수율 특성으로 타이밍 수율과 클럭 수율, 전압 수율이 따로 작용한다.

타이밍 수율이란 관련된 메이저 램타이밍들이 얼마나 타이트하게 들어가느냐 (tWR / tWTR / RTL-IOL / tRRD_L)를 의미한다.

클럭 수율이란 최대 클럭 수율을 의미하며, 전압 수율의 경우는 얼마나 고전압에서 오류발생이 적은지에 대한 수율 특성이다.


전압 수율의 경우 판별하기 어려울 수 있는데, 그 이유는 tCL과 tRP/RCD의 간격을 늘려주는 경우 안정화가 가능한 경우도 있기 때문이다.

그러나 전압의 임계점까지 굴리는 메모리 오버클러킹의 경우는 보통 스트레이트 타이밍을 많이 선호하기 때문에, 임계전압 한도 내에서 사용하는 편이다.


CPU의 멤컨 수율을 최대로 사용하려면?

CPU의 멤컨 수율과 램의 수율을 최대로 사용하려면 DRAM Trace가 클리어한 메인보드를 사용해야 한다.

시중이 나와있는 검증된 메인보드들(Z390 팬텀 게이밍 ITX, Z390 게이밍 엣지 ITX, Z390 갓라이크, Z390 막시 11 에이펙스 등)이 있다.

위 보드들은 대부분 CPU의 멤컨 한계까지는 끌어줄 수 있는 메인보드이다.


팬텀 게이밍 ITX의 경우는 약간 못미치는 경향이 있는데, 클럭이 4500MHz로 제한되어 있는지 위로는 절대 올라가지 않는 단점이 있다.

그래도 레이턴시가 타 보드 대비 좋다는 장점이 있고, 바이오스의 메모리 트레이닝 기능(MRC 및 알고리즘) 튜닝이 잘 되어 있어 3차 타이밍도 덜 풀어진다.

이 보드를 사용하고 4500MHz 클럭에서 CL값을 극도로 조여준다면, 초고클럭 메모리 오버클러킹(4700++) 시스템과 비등한 성능을 보여주기도 한다.


메모리 오버클러킹에서의 VCCIO와 VCCSA의 영향성

시스템의 BIOS에 들어가 보면, VCCIO(I/O Voltage)와 VCCSA(System Agent Voltage) 값이 있다.


VCCSA는 메모리 클럭에 따라 필요한 전압의 양의 변동이 크며, 부팅 가능한 최소 값에서 +0.01V 정도만 인가하면 TM5와 HCI Memtest를 통과한다.

고클럭으로 갈수록, 멤컨의 한계에 가까워질수록 부팅/TM5/HCI/LinX에서 요구하는 전압의 격차가 높아지니 참고하면 좋다.

VCCIO는 적정선에 맞춰주지 않으면 LinX의 GFlops 값이 출렁이며 너무 낮아도, 너무 높아도 LinX의 잔차가 튄다.

CPU 오버클러킹 및 주변기기에 변동이 생기면 메모리 오버클러킹으로 안정화 봤던 VCCSA와 VCCIO의 수정이 필요한 경우가 있으니 참고해야 한다.


또한, 4500++ 급의 메모리 오버클럭을 계획하고 있는 경우에는 메모리 컨트롤러의 수율을 신경써야 한다.

해당 값들은 멤컨의 수율에 의해 결정되며, 고전압이 인가될수록 불안정하게 메모리를 컨트롤하는 문제점이 있다.

전압을 많이 넣어주고, 쿨링이 잘 되면 안정화가 가능할 수도 있지만 실사용 환경에서는 불가능하다.

보통 4400MHz 클럭 CL17에서 VCCIO가 1.3V이내로 안정화가 가능해야 그 윗 클럭으로의 오버클럭이 안정적으로 가능할 것이다.


초고클럭(4700++) 메모리 오버클러킹

여기서부터는 보드가 잡아주는 Auto값의 VCCSA와 VCCIO는 CPU 오버클럭 시 변경해야 LinX가 정상적으로 돈다는 점이 특징이다.

특히나, 한계 수율에 다다른 멤컨의 경우는 BIOS 부팅 조차 힘들어 수동으로 인가해서 부팅해야 한다.


4700MHz 클럭이나 4800MHz 이상의 초고클럭 안정화에 대한 이야기가 국내/해외를 막론하고 거의 없는 듯 하다.

개인적으로 4700MHz의 경우 VCCIO의 Auto 값이 1.45V 미만으로 들어와야 실사용이 가능할 거라 생각한다.

바이오스에서 1.45V를 넘어가서 인가하면 TestMem5이 20주기가 넘어가더라도 50주기 돌리면 한 두개씩 오류가 튀어 나온다 ㅡ.ㅡ

물론 4800MHz도 1.45V이내로 끊어주는게 좋은 torture test 결과를 얻을 수 있을 것이다.


VCCIO 값이 낮기만 해야 되는게 아니다. VCCSA의 경우도 램 초고클럭 오버클러킹 시 상당히 많이 인가된다.

나의 CPU의 경우 4800을 넣으면 VCCIO 1.45V, VCCSA 1.6V이 들어간다. 실사용으로는 그닥 좋은 수치는 아니다.


풀뱅(Full-bank; CPU가 지원하는 메모리 개수를 모두 채우는 것) 메모리 오버클러킹

힘들다. 레이턴시도 2개 램에 비해 늘어지는 경향을 보인다.

쿼드킷 4000 CL17 메모리를 사더라도 멤컨 수율을 타기 때문에 드물지만 XMP가 안먹는 경우도 종종 발생한다.


쿼드킷 32GB 오버클러킹과 듀얼킷 32GB 오버클러킹은 마음에 드는 쪽으로 진행하면 된다.

메모리와 멤컨이 괜찮다면 4000MHz 클럭 까지는 실사 가능한 경우가 있는데, 후자의 경우 10세대에 들어서면서부터 성능이 매우 크게 향상되었다.

10세대에서는 32GB 듀얼킷 메모리에서 4000이상의 메모리 오버클러킹 성능을 기대할 수 있다. (4400 안정화 사례 있음) 


멤컨의 수율이 모자른지 메모리의 수율이 모자른지 모르겠어요

이 부분에 대한 자세한 실험을 하기 위해 가지고 있는 Z390 APEX 보드, 고수율 램과 9600KF를 이용하여 확인했다.

9900K에서는 해당 조합으로 1.595V에 4700MHz 16-16-16-32가 가능한 메모리이며, 9600KF는 그냥 뽑아봤는데 뿔딱이 걸렸다. ㅡ.ㅡ;;


보통 멤컨이 뿔딱이라면 클럭 한계점부터 오기 시작한다. 특정 클럭 이상부터는 Q-Code 23, 55가 연속으로 뜬다.

이 때는 RTL과 IO-L을 잡아주고 3차 타이밍까지 잡더라도 부팅이 정말이지 힘들다.


메모리 오버클러킹을 클럭 기준 최대한 땡기고 안정화를 확실히 보았을 때,

CPU 오버클럭 관련 항목을 건드렸을 때 부팅이 되지 않는다면 100% 멤컨의 수율이 부족한 것이다.


정상작동 최대 전압(1.595V)까지 남은 마진이 꽤 되는데도, 뽑은 9600KF로는 4300MHz CL16이 최대 오버클럭 수치였다. (1.43V)

4400MHz CL16까지는 안정화가 가능하나, CPU Cache 배수와 IA 배수, CPU 전압을 올리기만 하면 윈도우 부팅 시 BSOD가 난다.

결국 구매한 9600KF의 메모리 최대 부팅 클럭은 4500MHz, 안정화는 4300MHz으로 일단락 지었다.


*위 항목에 언급했다시피, VCCIO가 4400MHz 오버클럭 시 Auto 값으로 1.3V이상 인가되는 경우가 멤컨 수율이 부족한 것이라 짐작할 수 있다.

흥미로운 사실이지만 문서작업용 컴퓨터의 G5400이 4800클럭 부팅, 4666클럭 안정화가 가능한 데에 비해

9600KF에서는 불가능한 것으로 보아 하급 제품이라고 멤컨의 수율이 더 좋지 않다는 것은 잘못된 상식이다. (좋지 않을 확률이 높은 것)


메모리 트레이닝, 런타임 레벨링*은 무엇이고, 효과가 있나요?

Apex보드나 Unify ITX 보드 기준 LinX나 TM5를 오래 돌릴 경우 초기에는 에러가 발생하는 램타이밍에도 불구하고 에러가 점점 줄어들다 나지 않는 경우가 있다. 필자는 이를 Runtime Leveling 혹은 Runtime Calibration 현상이라고 칭한다.


쿨엔조이 오버게시판에 흔히 이야기되는 메모리 트레이닝은 MRC를 지칭하는 것이 아니고, Runtime Leveling을 지칭하는 것이다.


메모리 트레이닝, 즉 MRC는 메인보드가 메모리를 인식하고 해당 메모리에 맞게 각종 Parameter들을 Calibration하는 과정으로 혼동없기 바란다.

MRC Fastboot 항목을 Disable하는 경우 매 부팅마다 메모리 트레이닝이 진행된다. Auto시 메모리 타이밍 변경시에만 트레이닝이 진행된다.


Runtime Leveling 옵션은 BIOS에 각각 Voltage Centering 및 JEDEC Leveling 옵션에 해당한다.

런타임 레벨링이 진행되기 위해서는 해당 메모리의 헤드룸이 있어야 한다. 그렇지 않으면 쏟아지는 오류를 잡을 수가 없다.


즉, 레벨링은 최상의 시그널 상태(최대 성능)를 갖도록, 각종 파라미터를 메인보드가 자동으로 조절하는 과정이라고 보면 편하다.


*M/B BIOS 엔지니어가 아니기 때문에 정확한 로직이나 명칭은 알 수가 없으나, 메모리 오버클러킹을 진행하며 해당 현상을 계속 겪고 있기 때문에 이에 기반하여 추측함.


3. 메모리 오버클러킹을 하기 위해 무엇을 사야 하는가?

메모리

삼성 B다이가 최고다. 기억해야 한다. B다이!!

아래 소개하는 메모리들은 모두 "기대" 수율이다. 메모리 모듈마다 수율 편차가 있어 좋은 제품이 있을 수 있고 안좋은 제품이 있을 수 있다.


최고의 수율 ($500~): 4600 CL18 이상의 XMP를 지원하는 메모리 (5000 CL18 커세어 벤전스 - 하이닉스 DJR 모듈 등)

최고의 가성비와 수율 ($380): 4800 CL18 트라이던트Z 로얄 (20.06 기준)

상급 수율 (~$400): 트라이던트Z 네오 3600 CL14 (1.4V, 1.45V 아님), 4000 CL17 (1.35V), 4000 CL15 (1.5V)

수율 뽑기 (~$200): 3200 CL14 (로얄/네오/플레어/립죠스) 및 3600 CL15 / 팀다크프로 3200 CL14


오버클럭 마진이 가장 좋은 메모리는 삼성 B다이를 탑재한 메모리이며, 최근에는 D다이 또한 상급수율이 나온다고 한다.

(삼성 B다이가 탑재된 메모리 중 가장 가성비 좋다고 알려진 G.SKILL 3600 CL15 메모리에 고수율 D다이가 탑재되기도 한다.)


3200 CL14 메모리의 경우 지스킬 기준 로얄 = 네오 >= RGB/노말/플레어/립죠스 순으로 좋다.


메모리 Trace를 줄이기 위해 최신 고수율 메모리들은 A2 PCB를 채택하고 있다.

A2 PCB는 Trace를 극도로 줄여 고클럭에는 유리하나 모듈 간 간격이 넓어 레이턴시가 A1 PCB에 비해 미세하게 떨어진다.

단, 일반 사용자가 신경 쓸 만큼 성능에 영향을 끼치는 부분은 아니다.


로얄과 네오가 A2 PCB 10 레이어를 사용하여 생산하고, RGB/노말의 경우 A2 사례와 A1 사례 둘다 있다.

기타 립죠스나 에이지스, 플레어 등의 저가형 메모리에는 A2 PCB가 들어가지 않고, A1 혹은 A0이나 3200CL14 메모리의 경우 A2 PCB를 채택한다.


Team Dark Pro 3200 CL14 메모리의 경우 가장 좋은 가성비를 보여주고 있는데 이 또한 A2 10 레이어로 알려져 있다.


최근 생산되는 3600 CL15 메모리의 경우 A2 10레이어 기판이며 3200 CL14 제품의 기판과 동일한 베이스 PCB를 채택했다.

10레이어/8레이어 간은 랜덤 발송인지 모르겠으나, 3600 CL15를 3개째 18년도 1번 (8), 19년도 1번 (10), 20년도 1번 (10) 구매했다.

타이푼 버너에서는 D다이 인 경우도 있고, B다이 인 경우도 있는데 필자의 경우 B혹은 D다이로 표기되어서 바로 뜯어보았고 B다이 IC(B-BCPB)로 보였다.

구매할 때 참고하여 구매해야 한다.


메인보드

인텔 CPU의 오버클러킹은 Z 시리즈 칩셋을 장착한 메인보드라면 가능하지만, 오버 포텐셜이 보드마다 다르다.

메모리 개수에 따라 추천 보드를 아래와 같이 정리했다.


메모리를 하나만 장착해서 사용한다 (메모리 1개)

단일 메모리는 레이턴시는 좋으나 대역폭면에서 매우 큰 손실이 있기 때문에 사용을 권장하지 않는다.

메모리는 무조건 같은 용량을 듀얼 채널 이상으로 구성하는 것이 좋다.

수율 테스트를 위해서 하나만 장착하는 경우가 있으며, 실사용은 듀얼 채널 이상으로 사용한다.


듀얼킷 메모리를 사용할 예정이다 (메모리 2개)


 9세대

 추천 제품

 4000++

 타이치 / 익스트림 4 / ACE / 게이밍엣지 등 4200++ 이상 표기 제품

 4500++

 팬텀 게이밍 ITX / 게이밍 엣지 ITX / 막시무스 XI GENE

 4800++

 막시무스 XI APEX / 갓라이크 / DARK


 10세대

 추천 제품

 4000++

 대부분의 제품이 4000++ 클럭 달성 가능

 4500++

 MSI / ASUS / GIGABYTE / EVGA 제품 모델 관계없이 대부분 4500++ 클럭 달성 가능 (ASRock 미확인)

 4800++

 막시무스 XII APEX (2DIMM 4933 1:1.2 안정화) / 갓라이크 (2DIMM 4900 1:1 안정화) / 유니파이 ITX (2DIMM 4800 1:1 안정화)


쿼드킷 메모리를 사용할 예정이다 (메모리 4개)

평범하게 오버클러킹하고 풀뱅해서 쓰고 싶다면 Z390 타이치, Z390 XI HERO/CODE/FORMULA (4000++)

풀뱅으로 램과 보드, CPU의 포텐셜을 모두 뽑길 원한다면 Z390 갓라이크 (4400++)

듀얼킷 메모리 두 세트보다 쿼드킷 한 세트가 오버클러킹 헤드룸이 크니 구매시에 참고하면 좋다. (서로 다른 두세트는 XMP 보장도 안됨)


대체적으로 2슬롯 보드가 램 오버클러킹 포텐셜이 높은 점을 참고하여 구매하면 도움이 될 것이다.

*아쉽게도 인텔 HEDT 라인업은 사용할 기회도 없고, 계획에도 없어서 추천하기 어려워 적지 않았다.

*10세대 제품의 경우 오버클러킹 샘플이 쌓이면 현재 데이터에 추가 예정 (간단 후기: https://blog.sokdak.me/41)


CPU

적당한 메모리 오버클러킹을 계획한다면 이 부분은 크게 신경쓰지 않아도 된다.

단, 풀뱅으로 적당한 오버클러킹을 계획한다면 멤컨의 수율도 어느부분 작용한다.

가끔씩 4500++이 안되는 CPU도 있다. 안타깝지만 사용하려면 뽑기 모드에 돌입해야 한다.



보시다 내용에 문제가 있거나 질문이 있으시면 편하게 댓글 주세요. :-)