• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

DDR4: has anyone ever experimented with ODT (On-Die termination) values?

Joined
Dec 12, 2020
Messages
1,755 (1.09/day)
I've read a short article on ODT values that suggested it enabled booting at higher frequencies and if dialed in at lower frequencies, reducing V-DIMM.
 
Last edited:
I've a short article on ODT values that suggested it enabled booting at higher frequencies and if dialed in at lower frequencies, reducing V-DIMM.
Intriguing and does make sense, I have manually set it but only on Ryzen calc's say so.

Would you be showing that info?.
 
In my quest to try and get my ECC Micron RAM to work above DDR4-3200 I did a bit of testing with ProcODT with some fixed voltage and the trend with my components was lower ProcODT had more success scaling up to DDR4-3600. Conversely running my ram at stock 1.2v prefers 60 ohms when I let UEFI be set to AUTO.

Other memory kits I used in the past more consistently liked 36.9 ohms for Zen2/Zen3 CPU's where my Zen+ CPU's preferred 60 ohms even with higher voltage ram kits.
 
Last edited:
I did it for the Ryzen 3800X. Took like a week trying every combo to get DDR-3800 32GB 1:1 to boot. Pretty much you shouldn't haven't to mess with ODT values unless you're at the IMC limit
 
So ODT tuning is only useful for AMD? The write-up I read was for Intel. Here is what I had:

ahh ok so it's the procodt / termination ohm settings, got it, thought it was something else
Similar but the ProcODT is the ODT on the CPU, ODTs on the ram dies are like WR-NOM-PARK or such. I use 80-48-48 for CHA and 80-48-34 for CHB.
For the rising and falling slopes, especially "data" slope, b-die can use 8, and 0 as the offset. ODT (On Die Termination)
After altering the dram skew control I don't require anywhere near as much voltages
I don't have your hardware so there's no way for me to know
Just find an overclock that errors quickly and try different combos until you find the best combo
Maybe start with 80-48-?? and go through the possible combinations
If you find a good point with errors either side give it a go
or you could try 80-40-?? or 80-34-??
Maybe back the CPU overclock off a little so you know you're testing the ram
Skews helped me drop my stable voltage from 1,44 to 1,40.
Big Difference on 4400 c18 dual rank.
Using 80-48-34 on msi z490 ace with 10900k.
rttwr = 120
rttnom = 48
rttpark = 0
I run RTT_WR=80 RTT_PARK=48 RTT_NOM=40
rttWR=80 rttNOM=40 rttPARK=34
 
It took manually tuning ODT values to get my DDR4 stable @ 4000 Mhz. with my 9700k and the Asrock Taichi motherboard. I might even try pushing for 4100Mhz., which I actually got to pass memtest64, orthos and prime95 collectively for some 16+ hrs on Auto settings, but on powering down was never stable again.

Is On-die Termination adjusting the pull down reactive resistance the DIMMs/CPU see? For which lines? Data or clock (I'm assuming not for control because I believe those are level sensitive).
 
So ODT tuning is only useful for AMD? The write-up I read was for Intel. Here is what I had:

ahh ok so it's the procodt / termination ohm settings, got it, thought it was something else
Similar but the ProcODT is the ODT on the CPU, ODTs on the ram dies are like WR-NOM-PARK or such. I use 80-48-48 for CHA and 80-48-34 for CHB.
For the rising and falling slopes, especially "data" slope, b-die can use 8, and 0 as the offset. ODT (On Die Termination)
After altering the dram skew control I don't require anywhere near as much voltages
I don't have your hardware so there's no way for me to know
Just find an overclock that errors quickly and try different combos until you find the best combo
Maybe start with 80-48-?? and go through the possible combinations
If you find a good point with errors either side give it a go
or you could try 80-40-?? or 80-34-??
Maybe back the CPU overclock off a little so you know you're testing the ram
Skews helped me drop my stable voltage from 1,44 to 1,40.
Big Difference on 4400 c18 dual rank.
Using 80-48-34 on msi z490 ace with 10900k.
rttwr = 120
rttnom = 48
rttpark = 0
I run RTT_WR=80 RTT_PARK=48 RTT_NOM=40
rttWR=80 rttNOM=40 rttPARK=34
This is very interesting. Got a link to the source article?
 
@Outis Might want to remove the link to the pirated version of HCI Memtest
 
HCI Memtest Pro, linked in your post for download, is a paid version
 
@lexluthermiester
The ODT write-up was found on a ROG forum, which is also where I found a write-up on tuning initial RTL/IOL and why manually setting RTLs/IOLs is a bad idea because temperature fluctuations can affect RTLs and IOLs, but I can't find the original forum threads anymore

The strange thing is that different ODT values will pass hours and hours of memtest86, prime95 large FFT's and orthos testing but then cause windows to restart the system in Metro Exodus. Metro Exodus has become my initial RAM tester now and only after passing hours of this will I give memtest86 an overnight run.

Tuning ODTs is a LOT easier than tuning initial RTL and initial IOL because there's very few combinations that will even boot, but I had to dial in my initial RTL and initial IOL first to even get to the point I could tune ODTs.

The most useful thing I found was the spreadsheet below (for an Intel Cometlake system and not my work).
NOTE: WR=80, NOM=48, PARK=48 has been the most stable setting for my 9700k to get my 32GiB of RAM to 4000Mhz. There is no 32GiB memory kit on the QVL list for the Asrock z390 Taichi certified to run at 4000Mhz.

Skew Control​
Boot​
GSAT Made 2 Minutes Error Free​
TM5 Extreme1 Made 2 Minutes Error Free​
WR​
NOM​
PARK​
80​
60​
60​
80​
60​
48​
80​
60​
40​
80​
60​
34​
80​
60​
0​
80​
48​
48​
10 errors 10 seconds​
80​
48​
40​
10 errors 2 minutes​
80​
48​
34​
1 error at 2 minutes (maybe needs sa/io)​
80​
48​
0​
80​
40​
40​
10 errors 1 minute​
80​
40​
34​
80​
40​
0​
10 errors 1 minute​
80​
34​
60​
80​
34​
48​
80​
34​
40​
80​
34​
34​
10 errors 1 minute​
80​
34​
0​
10 errors 1 minute​
80​
0​
120​
80​
0​
80​
80​
0​
60​
80​
0​
48​
80​
0​
40​
80​
0​
34​
80​
0​
0​
 
@lexluthermiester
The ODT write-up was found on a ROG forum, which is also where I found a write-up on tuning initial RTL/IOL and why manually setting RTLs/IOLs is a bad idea because temperature fluctuations can affect RTLs and IOLs, but I can't find the original forum threads anymore

The strange thing is that different ODT values will pass hours and hours of memtest86, prime95 large FFT's and orthos testing but then cause windows to restart the system in Metro Exodus. Metro Exodus has become my initial RAM tester now and only after passing hours of this will I give memtest86 an overnight run.

Tuning ODTs is a LOT easier than tuning initial RTL and initial IOL because there's very few combinations that will even boot, but I had to dial in my initial RTL and initial IOL first to even get to the point I could tune ODTs.

The most useful thing I found was the spreadsheet below (for an Intel Cometlake system and not my work).
NOTE: WR=80, NOM=48, PARK=48 has been the most stable setting for my 9700k to get my 32GiB of RAM to 4000Mhz. There is no 32GiB memory kit on the QVL list for the Asrock z390 Taichi certified to run at 4000Mhz.

Skew Control​
Boot​
GSAT Made 2 Minutes Error Free​
TM5 Extreme1 Made 2 Minutes Error Free​
WR​
NOM​
PARK​
80​
60​
60​
80​
60​
48​
80​
60​
40​
80​
60​
34​
80​
60​
0​
80​
48​
48​
10 errors 10 seconds​
80​
48​
40​
10 errors 2 minutes​
80​
48​
34​
1 error at 2 minutes (maybe needs sa/io)​
80​
48​
0​
80​
40​
40​
10 errors 1 minute​
80​
40​
34​
80​
40​
0​
10 errors 1 minute​
80​
34​
60​
80​
34​
48​
80​
34​
40​
80​
34​
34​
10 errors 1 minute​
80​
34​
0​
10 errors 1 minute​
80​
0​
120​
80​
0​
80​
80​
0​
60​
80​
0​
48​
80​
0​
40​
80​
0​
34​
80​
0​
0​
Setting rtl iol drastically reduces latencies im subs 35ns once i figued out how it takes 2 seconds to set and depending on the mb if you let it just train them and they can and will set them with just the worst values it's big hit on preformace round trip latency you want set correctly at least idk why you wouldn't tighten them after but to say it's a bad idea is just retarded and if you think thats a bad idea dont go anywhere near slopes then. Stupid shit peole loves saying like madly in live with it. You don't want to start trying values for slopes until Everything else that cab be tuned is and stable anyway andnif you don't depending on the MB you won't get far some manufacturers ufie are lacking hard compared to others in this catagory
 
ROG forum
Say no more. If it the forum I'm thinking of, they have VERY nasty habit of removing things that might impose upon they very narrow business sensibilities. Morons..
The most useful thing I found was the spreadsheet below (for an Intel Cometlake system and not my work).
NOTE: WR=80, NOM=48, PARK=48 has been the most stable setting for my 9700k to get my 32GiB of RAM to 4000Mhz. There is no 32GiB memory kit on the QVL list for the Asrock z390 Taichi certified to run at 4000Mhz.

Skew Control​
Boot​
GSAT Made 2 Minutes Error Free​
TM5 Extreme1 Made 2 Minutes Error Free​
WR​
NOM​
PARK​
80​
60​
60​
80​
60​
48​
80​
60​
40​
80​
60​
34​
80​
60​
0​
80​
48​
48​
10 errors 10 seconds​
80​
48​
40​
10 errors 2 minutes​
80​
48​
34​
1 error at 2 minutes (maybe needs sa/io)​
80​
48​
0​
80​
40​
40​
10 errors 1 minute​
80​
40​
34​
80​
40​
0​
10 errors 1 minute​
80​
34​
60​
80​
34​
48​
80​
34​
40​
80​
34​
34​
10 errors 1 minute​
80​
34​
0​
10 errors 1 minute​
80​
0​
120​
80​
0​
80​
80​
0​
60​
80​
0​
48​
80​
0​
40​
80​
0​
34​
80​
0​
0​
Nice!
 
Setting rtl iol drastically reduces latencies im subs 35ns once i figued out how it takes 2 seconds to set and depending on the mb if you let it just train them and they can and will set them with just the worst values it's big hit on preformace round trip latency you want set correctly at least idk why you wouldn't tighten them after but to say it's a bad idea is just retarded and if you think thats a bad idea dont go anywhere near slopes then. Stupid shit peole loves saying like madly in live with it. You don't want to start trying values for slopes until Everything else that cab be tuned is and stable anyway andnif you don't depending on the MB you won't get far some manufacturers ufie are lacking hard compared to others in this catagory
My Asrock Taichi z390 won't even reliably train at anywhere near 4000Mhz. unless I manually set the initial RTL and initial IOL, but even that wasn't enough, I had to manually set the ODT's too.

I suppose I could try further tuning of the initial RTL and initial IOL values but I tested a lot of them and the only stable ones were RTL initial: 65 and IOL initial: 4.

All I ever read about the slopes you're referring to is this from a ROG forum:
'For the rising and falling slopes, especially "data" slope, b-die can use 8, and 0 as the offset. ODT (On Die Termination)'

If you have any more information on tuning RTLs/IOLs, ODTs or slopes go ahead and do a write-up on it, because AFAICT no one else has.
 
PLEASE NOTE: I watched the original amd release video and when speaking on ODT the engineer said NOT TO GO OVER 80 ohms for ODT and that staying UNDER this value is preferred. He mentioned that above 80 the dies heat up significantly.
 
PLEASE NOTE: I watched the original amd release video and when speaking on ODT the engineer said NOT TO GO OVER 80 ohms for ODT and that staying UNDER this value is preferred. He mentioned that above 80 the dies heat up significantly.
Interesting. I never noticed increased temps over 80 ohms. When I was on Zen+ it would default to 120 ohms. Laster 60 ohms after many UEFI/BIOS updates. Never noticed any major temp differences then but I'm only a sample size of 1.
 
PLEASE NOTE: I watched the original amd release video and when speaking on ODT the engineer said NOT TO GO OVER 80 ohms for ODT and that staying UNDER this value is preferred. He mentioned that above 80 the dies heat up significantly.
For Intel it seems like 80ohms for the ODT-WR value is pretty standard. I never did try lowering it though. It makes sense it would cause more heat output due to I^2*R losses.

But is the resistance value being altered straight resistance or reactive resistance? I'd imagine it's the latter, perhaps to minimize ringing.
 
@oobymach
Thanks for that advice about lowering ODT values. It turns out I was unstable at WR=80, NOM=48, PARK=48 and 4009Mhz, but when I lowered ODT NOM for all DIMM slots to 34 and ODT PARK to 40 for channel B, all my issues seemed to have cleared up. I just hope I didn't just jinx it.
 
Back
Top