画像やリンクが無効になっている可能性もあるのでご了承下さい。
はじめに
Zen2 な Ryzen を触るまでメモリのオーバークロックに関しては知識皆無だった物の、今現在ではある程度自分でチューニング出来る様になってきた。
色々調べているうちにメモリの動作タイミングには関連性のある項目があり、そのセオリーに従ってチューニングしていくと幾らか楽になるし安定もしてくれる。バランスの良いチューニングができると言う事が分かった。
そんなわけで筆者なりのメモリチューニング方法を書いてみようと思う。
各パラメータの役割だとかそういう事は理解していないのでそこはご了承を。
ファーストタイミング
tCL
CAS Latency と呼ばれる物で、恐らくメモリといえば動作クロックの次に参照される位には大事なところ。
設定値は任意だが CL14~22 と幅広く設定される。
GearDownMode が Enable の場合、tCL は偶数値に強制される。
DDR4-3600~3800 では CL16 を狙うのが無難な所。
tRCDRD
tRCDRD = tCL + 0~2 の設定がスタンダード
tRCDWR
tRCDWR = tCL + 0~2 の設定がスタンダード
tRP
tRP = tCL + 0~2 の設定がスタンダード
tRAS
tRAS = tCL + tRCDRD + 0~2
tCR
1T か 2T の 2 択となるが、後述する GearDownMode が Enable でこの項目は無視されるが一応 1T を選んでおく。
サブタイミング
tRC
tRC = tRP + tRAS + 0~2
tRRDS
tRRDS は任意。4 でキツめ、6 以上は普通に通ることが多い
tRRDL
tRRDL は任意。6 でキツめ、8 以上は普通に通ることが多い
tFAW
tFAW = tRRDS x 4
例えば tRRDS = 4 の時は tFAW = 4 x 4 = 16 になる。
tWTRS
tWTRS は任意。4 でキツめ、6 以上は普通に通ることが多い
tWTRL
tWTRL は任意。6 でキツめ、8 で少しキツい。10 以上は普通に通ることが多い
tWR
tWR は任意。12 が多く使われる。緩めるときは 2 ずつ加算すると良い。
tRFC
tRFC = tRC x n となり、Samsung B-Die の場合 n は 6 が理想。キツければ 7 を代入して計算する。
他のメモリチップの場合でも tRC の n 倍が通る箇所を模索すると吉。
設定値を下げるほど VDIMM の要求電圧も上がってくるので要注意。
tRFC2 / tRFC4
Ryzen では使用されない項目なので適当で良いが、念のため以下の様に計算しておくと気持ちが良い。
tRFC2 = tRFC ÷ 1.346
tRFC4 = tRFC2 ÷ 1.625
tRDRDSCL
tRDRDSCL = 4~5
選別された Samsung B-die では tRDRDSCL = 2 まで通ることもあるのでチューニング終盤で詰めて見るのも良い。
tWRWRSCL
tWRWRSCL = tRDRDSCL
tCWL
tCWL = tCL
GearDownMode が Enable だと tCL と同値に強制されるので設定する意味が無くなるが入力だけはしておこう。
tRTP
tRTP = tWR ÷ 2
tRDWR
tRDWR は 8 でキツめ。10 以上で通ることが多い
tWRRD
tWRRD は 2 でキツめ。4 以上なら通ることが多い
tRDRDSC
tRDRDSC = 1 がメジャー
※ Single-Rank 4 枚か Dual-Rank 2 枚以上の構成で有効な項目
tRDRDSD
tRDRDSD = 4~5 がメジャー
※ Single-Rank 4 枚か Dual-Rank 2 枚以上の構成で有効な項目
tRDRDDD
tRDRDDD = tRDRDSD
※ Single-Rank 4 枚か Dual-Rank 2 枚以上の構成で有効な項目
tWRWRSC
tWRWRSC = 1 がメジャー
※ Single-Rank 4 枚か Dual-Rank 2 枚以上の構成で有効な項目
tWRWRSD
tWRWRSD = 6~7 がメジャー
※ Single-Rank 4 枚か Dual-Rank 2 枚以上の構成で有効な項目
tWRWRDD
tWRWRDD = tWRWRSD
※ Single-Rank 4 枚か Dual-Rank 2 枚以上の構成で有効な項目
tCKE
tCKE は PowerDownEnable を Disable にするので、設定自体が無意味になるが 1 等と適当に入れておく。
動作モード
GearDownMode
GearDownMode = Enable で安定した動作が得られるが tCR の設定値が無視される事と、tCL が偶数値に強制され、tCWL = tCL が強制される。高クロックを目指す場合は Enable とした方が良い。
GearDownMode = Disable で tCR の設定値が生きるので 1T とする事で高速化を図れる。しかし高クロックになるほど安定した動作が非常に難しくなる。
PowerDownEnable
PowerDownEnable = Disable
メモリをオーバークロックするのであれば省電力機能である PowerDownEnable は Disable にしておこう。これにより tCKE の設定値は無意味になる。
電圧や抵抗値など
VDIMM や VSoC と言った電圧は Ryzen DRAM Calculator に示される「Rec.」(いわゆるオススメ)の項を設定するのが無難。
ProcODT 等の抵抗値は最適値を探す方法がとても面倒臭いので、これまた Ryzen DRAM Calculator 任せにしているが問題が起きたことも無いので大丈夫だろうと思われる。
設定例
本記事で書いたセオリー通りなチューニングを行った結果が上記スクリーンショットの通りになる。
これ以上設定値を下げると起動しなくなるので、筆者が使用するメモリの限界まで詰め切った状態だ。
設定後の安定性確認
いわゆるメモリのストレステストが必要になってくる。
これは以前書いた記事を参照して頂ければ幸い。

おわりに
メモリを詰めるときや緩める時は必ず連動する項目も合わせて調整して上げることでバランスの取れたセッティングになると思われる。
もちろん型破りにしたチューニングも良いだろうけど最初はセオリー通りにやっていくことをオススメしたい。
また、メモリモジュールに採用されているチップ次第では設定の通る通らないの値が変わってくるので、そこは根気よく最適値を探していこう。
参考リンク
以下、筆者がメモリチューニングを行う為に参照したサイトをペタリ。


- 2021/07/1118:50tRFC4 の計算式が tRFC ÷ 1.625 と間違っていた為、tRFC2 ÷ 1.625 と正しい式に修正を行った。
- 2021/08/0822:20tCL に GearDownMode Enable 時の説明を補足。
tRDRDSCL の設定範囲を修正。ともに補足を追記。
記事名の変更。
コメント