# Creating custom XMP profile for DDR4



## amit_talkin (Dec 26, 2021)

Few days ago I was thinking if it was possible to write SPD with custom XMP profile. 
Thaiphoon can write SPD but it is a paid feature. So I was looking for alternative and I stumbled upon this app.

DDR4 XMP Editor








						GitHub - integralfx/DDR4XMPEditor: Editor for DDR4 SPD and XMP
					

Editor for DDR4 SPD and XMP. Contribute to integralfx/DDR4XMPEditor development by creating an account on GitHub.




					github.com
				




Follow the instructions given on github page.

Here is my XMP for F4-4000C18D-16GVK kit. With 4000MHz XMP my fabric clock was running at 1000 mhz. so I tuned and created new 3600MHz profile.




works like a charm and don't have to save bios profile for custom frequency


----------



## ir_cow (Dec 27, 2021)

Awesome! Last time I tried all I got was a write error. I thought these SPD chips where read only these days


----------



## Mussels (Dec 27, 2021)

Ooh. Damn i like the idea of saving my current settings as an XMP profile.....



This seems like a terrible idea and i love it. I've tweaked the XMP2 values on my RAM to my current OC settings and saved it, tempted to flash soon - as long as the flash doesnt corrupt anything (terrifying thought) i'd still have my legit XMP1 available


Ticks is the end value we want, any reason to adjust via the offset? I copied my default settings off XMP1 but i'm totally unsure if thats needed, or the difference.





same again but without the stock offsets (If they even change anything)


----------



## amit_talkin (Dec 27, 2021)

Mussels said:


> Ooh. Damn i like the idea of saving my current settings as an XMP profile.....
> 
> 
> 
> ...


Yes, ticks are values we want. No need to use offset for that.


----------



## Mussels (Dec 27, 2021)

Well, it worked.






That's going to save me SO much effort with BIOS updates.


----------



## Athlonite (Dec 27, 2021)

@amit_talkin  any chance you'd be keen to upload that XMP profile I'm having the same issue here with my RipJaw V dimms


----------



## amit_talkin (Dec 27, 2021)

Athlonite said:


> @amit_talkin  any chance you'd be keen to upload that XMP profile I'm having the same issue here with my RipJaw V dimms


I have attached my XMP below, which consists both 4000MHz and my custom profile.


----------



## Athlonite (Dec 27, 2021)

cheers I'll drop it on my dimms tomorrow sometime and report back here as to how it went


----------



## Mussels (Dec 27, 2021)

Hmm.
TRFC is set to 704, but it's booting at 1046 (Yes, it's high. 32GB sticks.)

I dont know if that value needs to be set differently, or if this is a mobo/BIOS issue


----------



## Voluman (Dec 27, 2021)

Wow, nice find!
Any chance you know a method that can edit the spd values which are not the xmp ones?
I have a laptop, i have a better mem module wich has xmp profile, but the machine's bios doesn't allow to load xmp profile...


----------



## amit_talkin (Dec 27, 2021)

Mussels said:


> Hmm.
> TRFC is set to 704, but it's booting at 1046 (Yes, it's high. 32GB sticks.)
> 
> I dont know if that value needs to be set differently, or if this is a mobo/BIOS issue


Yep, same here.
Here is comparison




Left Side manual settings VS right side XMP profile setting.
Looks like bug or its kinda of self adjusting feature Ryzen system has?



Voluman said:


> Wow, nice find!
> Any chance you know a method that can edit the spd values which are not the xmp ones?
> I have a laptop, i have a better mem module wich has xmp profile, but the machine's bios doesn't allow to load xmp profile...


I highly doubt it can be possible to adjust JDEC values. Atleast not with any end user tool.


----------



## ir_cow (Dec 27, 2021)

This needs to be pinned!


----------



## Athlonite (Dec 27, 2021)

Mussels said:


> Hmm.
> TRFC is set to 704, but it's booting at 1046 (Yes, it's high. 32GB sticks.)
> 
> I dont know if that value needs to be set differently, or if this is a mobo/BIOS issue


yeah my mobo which is the same as yours does weird shit with timings too mine sets tRC to 94 even when the XMP profile says 64 I think it's to do with memory training


----------



## cadaveca (Dec 28, 2021)

Athlonite said:


> yeah my mobo which is the same as yours does weird shit with timings too mine sets tRC to 94 even when the XMP profile says 64 I think it's to do with memory training


yerp. try setting value manually, as many boards are like this. Helps safely boot in some instances though so...manually change and test.


----------



## amit_talkin (Dec 28, 2021)

I wrote to the author of this program regarding TRFC issue. Bios loads default JEDEC 350ns TRFC setting regardless of what You set them in profile.








						TRFC Settings · Issue #10 · integralfx/DDR4XMPEditor
					

When system boots with custom XMP settings, it changes TRFC value. I had set it for 490 ticks but it sets 630.




					github.com
				




So we have to set it manually in bios.


----------



## Voluman (Dec 28, 2021)

amit_talkin said:


> I highly doubt it can be possible to adjust JDEC values. Atleast not with any end user tool.


Yeah, thats what i thought too, thanks anyway.


----------



## delshay (Dec 28, 2021)

If you know what you are doing, then yes reprogram the SPD. Personally I prefer something that works straight out of the box so I "never" need to enter the BIOS. I'v been reprogramming all my DDR1-DDR3 for many years now, but i'm not on the DDR4 platform otherwise I would be editing this also.  Reprogramming the manufacturing timings save so much time, but a word of warning. You must know the new timings are stable, so do lots of testing over & over again to be absolute sure you have no errors before you reprogram. You do not want to reprogram the SPD with errors, ie timings to tight.

I would also get yourself a portable hardware programmer as a back-up, just in-case you make an error. Don't forget to always back-up your original SPD.


----------



## Mussels (Dec 28, 2021)

Athlonite said:


> yeah my mobo which is the same as yours does weird shit with timings too mine sets tRC to 94 even when the XMP profile says 64 I think it's to do with memory training


You need a better monitor, but i love your system... great minds think alike



amit_talkin said:


> I wrote to the author of this program regarding TRFC issue. Bios loads default JEDEC 350ns TRFC setting regardless of what You set them in profile.
> 
> 
> 
> ...



Nice idea - could be an issue with the program



I avoided fancy memory overclocking because i'd simply update a BIOS or have it accidentally reset, and lose a crapton of time re-entering everything.
This makes it a looooot easier, even if for now TRFC isn't working properly

If this thread keeps going, yes it'll probably earn a sticky.


----------



## Resolutionz (Dec 28, 2021)

I wish I understood this language lol. All I know is when I turn in xmp on my bios for my z490e it fixes my ram frequency to match what the sticks say they are rated at (corsair vengeance ddr4 3000mhz 16gb 2x8). It otherwise is set at like 2132 mhz or something like that.


----------



## amit_talkin (Dec 28, 2021)

Mussels said:


> Nice idea - could be an issue with the program


Actually You can see in thaiphoon that program has written XMP settings just fine. But somehow bios just loads JEDEC setting for TRFC.


Mussels said:


> If this thread keeps going, yes it'll probably earn a sticky.


Cool, You can edit my original post and add a little tutorial as well . I am not good with posting stuff, I had other things to post as well but I am kinda became lazy now.


----------



## Mussels (Dec 29, 2021)

I cant, another mod would have to - but i can see it heading that direction

We have dedicated little sections each


----------



## Athlonite (Dec 29, 2021)

Mussels said:


> You need a better monitor


Done 

and getting this to be a sticky thread would be great


----------



## CryoIntelCryptoKing (Mar 19, 2022)

I know this thread is almost three(3) months old, but I would like to add a mid-range XMP2.0 profile to my RipJaws V DDR4-3600 (mostly because the Intel MoBo I am using them on is a little flaky above 3200MHz, plus I want to run these at 1.20V instead of 1.35V+, and I don't want them defaulting to the pathetic 2133MHz!)  So...is there an OnLine Database with factory XMP2.0 profiles from various DDR4 Memory Modules I can draw from?  I am specifically looking for Factory G.SKILL RipJaws V DDR4-2800 C16 1.20V or DDR4-3000 C16 1.25V Timings to tweak.  Thanks!


----------



## Mussels (Mar 19, 2022)

CryoIntelCryptoKing said:


> I know this thread is almost three(3) months old, but I would like to add a mid-range XMP2.0 profile to my RipJaws V DDR4-3600 (mostly because the Intel MoBo I am using them on is a little flaky above 3200MHz, plus I want to run these at 1.20V instead of 1.35V+, and I don't want them defaulting to the pathetic 2133MHz!)  So...is there an OnLine Database with factory XMP2.0 profiles from various DDR4 Memory Modules I can draw from?  I am specifically looking for Factory G.SKILL RipJaws V DDR4-2800 C16 1.20V or DDR4-3000 C16 1.25V Timings to tweak.  Thanks!



No, and that would be dangerous as hell. You need to test values before you modify them.


----------



## CryoIntelCryptoKing (Mar 19, 2022)

I have been!  Firstly, it would not boot at the Factory G.SKILL 3,600MHz XMP2.0 Profile, and defaulted to the JEDEC 2,133MHz Profile.  So, I tested several ''values'' from 2,400MHz-to-2,666MHz-to-2,800MHz-to-2,933MHz-to-3,000MHz-to-3,200MHz-to-3,333MHz-and-3,466MHz, where it wouldn't boot at all.  Various CAS (CL), tRAS, tRP, and tRCD as well as other manual Secondary timing values at various voltages from 1.20V-to-1.25V-to-1.30V-to-1.35V-to-1.40V (which was as high as I was willing to go!)  Secondly, I may be ''NEW'' to this forum, but I am in no way *NEW* to the PC-World, either Intel or AMD.  I am however ''NEW'' to this DDR4 XMP2.0 Software, which is why I am here.  Thirdly, this is why I requested in my earlier post, ''Factory G.SKILL RipJaws V DDR4-2800 C16 1.20V or DDR4-3000 C16 1.25V Timings to tweak.'', to stick with the same manufacturers OEM (tested) timings!  And, as near as I can tell, everyone else on this board has been doing the same thing, hence, the ''tweak'' part!  Sorry if you misunderstood, but the first part of ''tweak'' is the testing, which would be extensively done *PRIOR* to any writing to the XMP2.0 Profile of the DDR4 DRAM!  I have the Primary timing values down, it's the secondary ones that I need to play with.  Thanks for your concern, BTW!


----------



## rethcirE (Mar 19, 2022)

Shame this doesn't appear to work on the Intel platform. I've done it all manually in BIOS so many dozens of times I've memorized my custom primary and secondary timings (even tertiary) for my particular kit. Just too cheap to pay for Thaiphoon burner and save them at this point


----------



## CryoIntelCryptoKing (Mar 20, 2022)

@rethcirE
I'm actually looking to use the other software by itegralfx - DDR4XMPEditor (right at the top of this forum).


----------



## rlopes (Jul 27, 2022)

How do you guys did with spd_write? I dump the file, make my mods, but when it finally comes to flash, nothing happens when I open the spd_write.exe


----------



## amit_talkin (Jul 27, 2022)

rlopes said:


> How do you guys did with spd_write? I dump the file, make my mods, but when it finally comes to flash, nothing happens when I open the spd_write.exe


Open command prompt (Admin privilege) and type following (no quotes)

"spd_write.exe xmp.spd"

Where xmp.spd is your modified file.


----------



## rlopes (Aug 2, 2022)

amit_talkin said:


> Open command prompt (Admin privilege) and type following (no quotes)
> 
> "spd_write.exe xmp.spd"
> 
> Where xmp.spd is your modified file.



I'm getting this:

"Writing SPD EEPROM at 0x52... Error writing 52 182=07"

Do you know what this error means and how to make it work properly? Thanks!


----------

