BEGINNER:
First Steps:
1.) Download Thaiphoon Burner.
Read the SPD to find out details about which ram die you have.
If you buy 3600+ XMP sticks(with 1.35v profiles), they have dies that can do 3800+. If you buy 3200 XMP or lower, you may have dies that do 3333 max.
Note: The manufacturers don't always update their specifications and it has been known for Thaiphoon Burner to uncommonly incorrectly identify your RAM kit.
2.) Remove Interferences.
I'd advise you to disable spread-spectrum and to turn off PCIe 4.0 - unless you use a GPU or NVMe that utilizes it(Nvidia 3050, AMD 6500XT, 6600(XT)).
Run your CPU at stock. Don`t tune curve optimizer, PBO or use allcore OC before beginning your RAM overclocking, as they can give you unnecessary complications.
3.) Confirm Your BIOS Firmware.
AGESA 1.2.0.3b\c is generally considered to be the best performance-wise. Stay away from AGESA 1.2.0.4 as it tends to lock VDDG IOD to 1.00V for some users, this can limit ram overclocking.
4.) RAM Positioning.
Make sure your RAM kit is in the A2\B2-slot if using a 4 DIMM motherboard with 2 sticks. Ideally, refer to your motherboard manual to confirm these slots.
Will the GPU be pushing hot air towards your DIMMs? Is there adequate airflow to help prevent your kit from overheating?
It could also be handy to confirm whether or not your Motherboard has a Daisy Chained or T-Topology memory layout.
Good dies:
Samsung B (4000+ and good timings)
Hynix DJR (4800+ but high RP and mediocre RCDRD/RC/RFC)
Hynix CJR (3800+ but high RP and mediocre RCDRD/RC/RFC)
Micron rev E and B(16gb sticks, not 8) (4800+ but high RCDRD/RC/RFC)
Okay dies:
Samsung D (4000+ but high CL/RCDRD and very high RC/RFC)
Hynix AJR/MJR (4000+ but HIGH RCDRD/RP and high RFC)
Poor dies:
Hynix AFR/MFR (3333+, poor CL/RCDRD/RP, but okay RFC)
Samsung C/E (3333+, poor on everything)
Micron rev B (8gb) (3333+, poor on most, but quite good RFC)
Expected ram speed/fclk
Most Zen 3 can do infinity fabric/fclk of 1900, effective ram speed 3800. To find highest fclk set all timings to auto, go into advanced, amd overclocking: set soc to 1.15v, iod to 1.05v, ccd to 1.00v and vddp to 0.95v, ProcODT to 34 on SR (single rank) and 40 on DR (dual rank), try to boot 1900fclk. If it boots check windows event viewer after loading some games/apps, if you get loads of WHEA19 errors try 1866fclk, if same try 1833fclk. If 1900fclk works you can try 1933 or higher, but most will get lots of WHEA19s then (some 5600(X), 5700X and 5800(X) on 2dimm motherboards can run without WHEA19). Random reboots in idle/low loads can be related to unstable fclk/infinity fabric. Try raising VDDG IOD and SOC, if problem persists on 1.15v SOC and 1.05v IOD I would try 3733/1866 instead.
After finding max fclk you can start tuning. These setting should work on 95%+ of all kits unless binning is ****. Keep gear down mode on.
If on Samsung B-die, Micron rev E/B or Hynix CJR/DJR try
CL 16
RCD 20 (16 or 17 on B-die)
RP 20 (same as RCD on B-die)
RAS=CL+RCD
RC=RAS+RP
RRDS/RRDL/FAW 6/8/24, 5/7/20 or 4/6/16
WR/RTP 16/8
WTRS/WTRL 4/12
RFC 600 (Micron), 560 (Hynix), 320 (Samsung B-die)
RDRDSCL 4
WRWRSCL 4
CWL=CL
RDWR=RCD x 2 (+1 or 2 on dual rank
WRRD 1 on SR, 3 on DR
If on Samsung D-die or Hynix AJR/MJR try
CL 18
RCD 22
RP 22
RAS=CL+RCD (+4 on Sansung D)
RC=RAS+RP
RRDS/RRDL/FAW 6/8/24
WR/RTP 16/8
WTRS/WTRL 4/12
RFC 640 (Samsung D/Hynix MJR), 600 (Hynix AJR)
RDRDSCL 4
WRWRSCL 4
CWL=CL
RDWR=RCD x 2 (+1 or 2 on dual rank
WRRD 1 on SR, 3 on DR
Please download Testmem5 and run the usmus config, if it passes the stock 3 runs without errors you are probably stable.
ADVANCED:
If the above worked you gained anywhere from 10-20% performance when CPU bound in games and certain apps. The next section can give you 5-10% more, but takes a lot more time. If you have other ram than Samsung B-die, Micron rev E/B(16gb) or Hynix CJR/DJR potential is very limited here.
Anta777s guidelines for timings:
CL=CWL even
CWL=CL-1 odd
RAS=RC-RP
RP=RCD
WR=CL even 100% stable
WTRL=RTP=WR/2
WTRS=3(4)
RCDWR=8
SC=CCDS-3=1
SCL=CCDL-3=2,3,4
SD=DD
RDRDSD/DD=4+RPRE-1
WRWRSD/DD=4+WPRE-1
RDWR=CL-CWL+5+WPRE
WRRD=CWL-CL+4+RPRE
tRFC ns convert timings, round up to the nearest divisible by 16. Divideable by 8 on 8gb sticks, by 16 on 16gb sticks. This part apparently only applies yo Intel and Micron ram, but can be used as general guideline.
Before testing timings I would advice turning off gear down mode and using 2T. Setting DrvStr to 24 20 24 24 can be smart. GDM makes several timings only run in even numbers and masks some errors\instabilities so it can be hard to find out what is causing problems.
To apply them practically on 3800\1900 there is difference between dies. Samsung B-die is the superior DDR4-die which will do the lowest timings of all.
Example 2x8GB Samsung B-die running 1.45V, good bin to bad bin in ():
3800
CL 15 (14-16)
RCD(RD\RW) 15 (14-17)
RP 15 (11-16)
RAS 30 (21-32)
RC 45 (30-50)
RRDS 4
RRDL 6
FAW 16
WTRS 3 (3-4)
WTRL 8 (6-12)
WR 14
RFC 272 (256-304)
RDRDSCL 4
WRWRSCL 4
CWL 14 (12-16)
RTP 7
RDWR 8 (7-10)
WRRD 1 (1-3)
Rest auto
Example avg binned 2x8GB Micron rev E running 1.45V:
3800
CL 15 (14-16)
RCD(RD\RW) 19 (17-21)
RP 19 (11-19)
RAS 36 (21-37)
RC 55 (50-62)
RRDS 4
RRDL 6
FAW 16
WTRS 3 (3-4)
WTRL 7 (6-12)
WR 14
RFC 544 (520-576)
RDRDSCL 4
WRWRSCL 4
CWL 14 (12-16)
RTP 7
RDWR 9 (8-11)
WRRD 1 (1-3)
Rest auto
Example avg binned 2x8GB Hynix DJR running 1.45V:
3800
CL 16 (15-16)
RCD(RD\RW) 19 (17-20)
RP 19 (18-21)
RAS 37 (21-37)
RC 45 (48-60)
RRDS 4 (4-6)
RRDL 6 (4-8)
FAW 16 (16-24)
WTRS 4 (3-4)
WTRL 10 (6-12)
WR 16
RFC 480 (450-520)
RDRDSCL 4
WRWRSCL 4
CWL 16 (14-16)
RTP 8
RDWR 9 (8-11)
WRRD 1 (1-3)
Rest auto
As for ProcODT try 28-37 if on 2x8gb, 28-48 on 2x16gb DR or 4x8gb. DrvStr tends to work well for most on 24 20 24 24. If you want to run 1t you often need to change this.
As for voltages:
Samsung B, Micron E and B(16gb) and Hynix DJR generally tolerates 1.45V, most do 1.5V+ with some airflow. Hynix CJR/AJR/AFR/MFR often struggles over 1.4V, some Samsung dies have problems above 1.4V (D-die) and 1.35V (E/C-die).
Unless you run with no powerlimit I would suggest trying to find lowest voltages on SOC, VDDG IOD\CDD and VDDP that works without problems since they steal power from the core budget. 2x8gb and single CCD CPUs like 5600X and 5800X often needs less voltage than dual rank, 4x8gb ram and 5900X\5950X.
For 1900fclk:
SOC: 1.05-1.15V
CLDO VDDP: 0.8-1.00V
VDDG CCD: 0.85-1.00V
VDDG IOD: 0.95-1.05V
If you are running above 1900fclk try raising VDD18 voltage a bit, especially if you run low ProcODT. Standard is 1.8V, safe is below 2.0V, try raising it a little if you get worse performance above 1900fclk.
Run Testmem5 usmus config after for 20 runs (edit cobfigfile to change from 3 to 20), if that is stable you are probably fine.
If you get rare bluescreens and reboots try raising RFC by 16. If you get rare reboots and you see bus/interconnect error in event viewer i finity fabric is unstable. Try raising soc and iod voltage by 0.02v, but stay beliw 1.2v soc and 1.1v iod. If it doesn't work run ram/infinity fabric 66/33MHz lower.
If you can run ram ar 3866/1933 or higher without WHEA19 or want to stabilize 1t gdm off you are in expert territory, head over to the AMD ram stability tread for advice then
Testimorials:
5600X stock Shadow of the tomb raider 1080p low:
Stock 3000cl16 (Micron rev E) 198fps avg
Tuned rev E 3800cl15: 244fps avg
Tuned B-die 3800cl15: 264fps avg
5600X Hynix AJR:
Dram calc test stock (3600cl18 xmp): 162sec
Dram calc tuned 3666cl16: 126sec
Suggestions, corrections etc is most welcome
Thanks to Beyond246 for help! Thanks for info from Veii, MannixITA and several others for info
Much of this info I got from anta777, Veii and a few others, thank you guys/gals
First Steps:
1.) Download Thaiphoon Burner.
Read the SPD to find out details about which ram die you have.
If you buy 3600+ XMP sticks(with 1.35v profiles), they have dies that can do 3800+. If you buy 3200 XMP or lower, you may have dies that do 3333 max.
Note: The manufacturers don't always update their specifications and it has been known for Thaiphoon Burner to uncommonly incorrectly identify your RAM kit.
2.) Remove Interferences.
I'd advise you to disable spread-spectrum and to turn off PCIe 4.0 - unless you use a GPU or NVMe that utilizes it(Nvidia 3050, AMD 6500XT, 6600(XT)).
Run your CPU at stock. Don`t tune curve optimizer, PBO or use allcore OC before beginning your RAM overclocking, as they can give you unnecessary complications.
3.) Confirm Your BIOS Firmware.
AGESA 1.2.0.3b\c is generally considered to be the best performance-wise. Stay away from AGESA 1.2.0.4 as it tends to lock VDDG IOD to 1.00V for some users, this can limit ram overclocking.
4.) RAM Positioning.
Make sure your RAM kit is in the A2\B2-slot if using a 4 DIMM motherboard with 2 sticks. Ideally, refer to your motherboard manual to confirm these slots.
Will the GPU be pushing hot air towards your DIMMs? Is there adequate airflow to help prevent your kit from overheating?
It could also be handy to confirm whether or not your Motherboard has a Daisy Chained or T-Topology memory layout.
Good dies:
Samsung B (4000+ and good timings)
Hynix DJR (4800+ but high RP and mediocre RCDRD/RC/RFC)
Hynix CJR (3800+ but high RP and mediocre RCDRD/RC/RFC)
Micron rev E and B(16gb sticks, not 8) (4800+ but high RCDRD/RC/RFC)
Okay dies:
Samsung D (4000+ but high CL/RCDRD and very high RC/RFC)
Hynix AJR/MJR (4000+ but HIGH RCDRD/RP and high RFC)
Poor dies:
Hynix AFR/MFR (3333+, poor CL/RCDRD/RP, but okay RFC)
Samsung C/E (3333+, poor on everything)
Micron rev B (8gb) (3333+, poor on most, but quite good RFC)
Expected ram speed/fclk
Most Zen 3 can do infinity fabric/fclk of 1900, effective ram speed 3800. To find highest fclk set all timings to auto, go into advanced, amd overclocking: set soc to 1.15v, iod to 1.05v, ccd to 1.00v and vddp to 0.95v, ProcODT to 34 on SR (single rank) and 40 on DR (dual rank), try to boot 1900fclk. If it boots check windows event viewer after loading some games/apps, if you get loads of WHEA19 errors try 1866fclk, if same try 1833fclk. If 1900fclk works you can try 1933 or higher, but most will get lots of WHEA19s then (some 5600(X), 5700X and 5800(X) on 2dimm motherboards can run without WHEA19). Random reboots in idle/low loads can be related to unstable fclk/infinity fabric. Try raising VDDG IOD and SOC, if problem persists on 1.15v SOC and 1.05v IOD I would try 3733/1866 instead.
After finding max fclk you can start tuning. These setting should work on 95%+ of all kits unless binning is ****. Keep gear down mode on.
If on Samsung B-die, Micron rev E/B or Hynix CJR/DJR try
CL 16
RCD 20 (16 or 17 on B-die)
RP 20 (same as RCD on B-die)
RAS=CL+RCD
RC=RAS+RP
RRDS/RRDL/FAW 6/8/24, 5/7/20 or 4/6/16
WR/RTP 16/8
WTRS/WTRL 4/12
RFC 600 (Micron), 560 (Hynix), 320 (Samsung B-die)
RDRDSCL 4
WRWRSCL 4
CWL=CL
RDWR=RCD x 2 (+1 or 2 on dual rank
WRRD 1 on SR, 3 on DR
If on Samsung D-die or Hynix AJR/MJR try
CL 18
RCD 22
RP 22
RAS=CL+RCD (+4 on Sansung D)
RC=RAS+RP
RRDS/RRDL/FAW 6/8/24
WR/RTP 16/8
WTRS/WTRL 4/12
RFC 640 (Samsung D/Hynix MJR), 600 (Hynix AJR)
RDRDSCL 4
WRWRSCL 4
CWL=CL
RDWR=RCD x 2 (+1 or 2 on dual rank
WRRD 1 on SR, 3 on DR
Please download Testmem5 and run the usmus config, if it passes the stock 3 runs without errors you are probably stable.
ADVANCED:
If the above worked you gained anywhere from 10-20% performance when CPU bound in games and certain apps. The next section can give you 5-10% more, but takes a lot more time. If you have other ram than Samsung B-die, Micron rev E/B(16gb) or Hynix CJR/DJR potential is very limited here.
Anta777s guidelines for timings:
CL=CWL even
CWL=CL-1 odd
RAS=RC-RP
RP=RCD
WR=CL even 100% stable
WTRL=RTP=WR/2
WTRS=3(4)
RCDWR=8
SC=CCDS-3=1
SCL=CCDL-3=2,3,4
SD=DD
RDRDSD/DD=4+RPRE-1
WRWRSD/DD=4+WPRE-1
RDWR=CL-CWL+5+WPRE
WRRD=CWL-CL+4+RPRE
tRFC ns convert timings, round up to the nearest divisible by 16. Divideable by 8 on 8gb sticks, by 16 on 16gb sticks. This part apparently only applies yo Intel and Micron ram, but can be used as general guideline.
Before testing timings I would advice turning off gear down mode and using 2T. Setting DrvStr to 24 20 24 24 can be smart. GDM makes several timings only run in even numbers and masks some errors\instabilities so it can be hard to find out what is causing problems.
To apply them practically on 3800\1900 there is difference between dies. Samsung B-die is the superior DDR4-die which will do the lowest timings of all.
Example 2x8GB Samsung B-die running 1.45V, good bin to bad bin in ():
3800
CL 15 (14-16)
RCD(RD\RW) 15 (14-17)
RP 15 (11-16)
RAS 30 (21-32)
RC 45 (30-50)
RRDS 4
RRDL 6
FAW 16
WTRS 3 (3-4)
WTRL 8 (6-12)
WR 14
RFC 272 (256-304)
RDRDSCL 4
WRWRSCL 4
CWL 14 (12-16)
RTP 7
RDWR 8 (7-10)
WRRD 1 (1-3)
Rest auto
Example avg binned 2x8GB Micron rev E running 1.45V:
3800
CL 15 (14-16)
RCD(RD\RW) 19 (17-21)
RP 19 (11-19)
RAS 36 (21-37)
RC 55 (50-62)
RRDS 4
RRDL 6
FAW 16
WTRS 3 (3-4)
WTRL 7 (6-12)
WR 14
RFC 544 (520-576)
RDRDSCL 4
WRWRSCL 4
CWL 14 (12-16)
RTP 7
RDWR 9 (8-11)
WRRD 1 (1-3)
Rest auto
Example avg binned 2x8GB Hynix DJR running 1.45V:
3800
CL 16 (15-16)
RCD(RD\RW) 19 (17-20)
RP 19 (18-21)
RAS 37 (21-37)
RC 45 (48-60)
RRDS 4 (4-6)
RRDL 6 (4-8)
FAW 16 (16-24)
WTRS 4 (3-4)
WTRL 10 (6-12)
WR 16
RFC 480 (450-520)
RDRDSCL 4
WRWRSCL 4
CWL 16 (14-16)
RTP 8
RDWR 9 (8-11)
WRRD 1 (1-3)
Rest auto
As for ProcODT try 28-37 if on 2x8gb, 28-48 on 2x16gb DR or 4x8gb. DrvStr tends to work well for most on 24 20 24 24. If you want to run 1t you often need to change this.
As for voltages:
Samsung B, Micron E and B(16gb) and Hynix DJR generally tolerates 1.45V, most do 1.5V+ with some airflow. Hynix CJR/AJR/AFR/MFR often struggles over 1.4V, some Samsung dies have problems above 1.4V (D-die) and 1.35V (E/C-die).
Unless you run with no powerlimit I would suggest trying to find lowest voltages on SOC, VDDG IOD\CDD and VDDP that works without problems since they steal power from the core budget. 2x8gb and single CCD CPUs like 5600X and 5800X often needs less voltage than dual rank, 4x8gb ram and 5900X\5950X.
For 1900fclk:
SOC: 1.05-1.15V
CLDO VDDP: 0.8-1.00V
VDDG CCD: 0.85-1.00V
VDDG IOD: 0.95-1.05V
If you are running above 1900fclk try raising VDD18 voltage a bit, especially if you run low ProcODT. Standard is 1.8V, safe is below 2.0V, try raising it a little if you get worse performance above 1900fclk.
Run Testmem5 usmus config after for 20 runs (edit cobfigfile to change from 3 to 20), if that is stable you are probably fine.
If you get rare bluescreens and reboots try raising RFC by 16. If you get rare reboots and you see bus/interconnect error in event viewer i finity fabric is unstable. Try raising soc and iod voltage by 0.02v, but stay beliw 1.2v soc and 1.1v iod. If it doesn't work run ram/infinity fabric 66/33MHz lower.
If you can run ram ar 3866/1933 or higher without WHEA19 or want to stabilize 1t gdm off you are in expert territory, head over to the AMD ram stability tread for advice then
Testimorials:
5600X stock Shadow of the tomb raider 1080p low:
Stock 3000cl16 (Micron rev E) 198fps avg
Tuned rev E 3800cl15: 244fps avg
Tuned B-die 3800cl15: 264fps avg
5600X Hynix AJR:
Dram calc test stock (3600cl18 xmp): 162sec
Dram calc tuned 3666cl16: 126sec
Suggestions, corrections etc is most welcome
Thanks to Beyond246 for help! Thanks for info from Veii, MannixITA and several others for info
Much of this info I got from anta777, Veii and a few others, thank you guys/gals