Guide: How To Flash The SPD File On Your Ram

Discussion in 'Memory' started by skootyloops, Apr 2, 2007.

  1. skootyloops

    skootyloops Member

    Joined:
    Apr 29, 2006
    Messages:
    5,693
    How To Flash The SPD File On Your Ram

    **WARNING** This is all at your own risk **WARNING**

    This Guide is designed to be read FIRST before performing any of the actions outlined in this guide. Failure to read this guide first will aid you in the creation of paperweights.

    Ok, here I have a guide to edit the SPD file on your ram. Some of you may ask, what is the point of it? Well in most cases there really is no point. It's more of a fun exercise which can make overclocking easier, since you can make the sticks default to a higher speed.

    What is SPD?

    SPD is a little chip on your ram which contains information on speeds the ram supports and should be ran at. It makes the AUTO settings on your motherboard actually know what it needs to default to.


    So now that you know what SPD flashing involves here is how to do it.

    **DISCLAIMER** Any advice you take from this guide is advice only. I will not be responsible for you killing your ram. You have been warned. **DISCLAIMER**

    Firstly you need a program to do so. My program of choice is SPDTool which is coded by one of the guys over at techPowerup.

    http://forums.techpowerup.com/showthread.php?t=20349

    The above link has the download links for the various versions of this great little program.

    Now you have downloaded it we can get to the more interesting steps.


    Firstly this is what you should see when you open the program. This is the starting of a blank file.

    [​IMG]

    And of course these are the current timings.

    [​IMG]

    And here is the File menu. As you can see it has very simple commands in there.

    [​IMG]

    To start us off lets use the read command. I have read module 0 for simplicity. No other reason.

    [​IMG]

    Here is the SPD file in all its glory. Truth be told I don't know much about the HEX numbers and such. But thankfully we have much more fool-proof drop down menu's which will allow us to navigate it with ease.

    Currently the SPD file which I read off my ram is already edited for DDR800 ram. This used to be a DDR667 SPD file.

    Below are all the options which we can use to customize our SPD file.

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    Many of them have no use in the editing of the SPD's programmed into your ram. However the ones which are have a red line next to them so they stand out.

    When you edit the options such as "Minimum RAS to CAS delay (tRCD)" it changes all SPD's programmed into the sticks. The simple way around this is to just program the one SPD you need and forget about the rest.

    And now before we get into touching any of the settings on our ram we will make a backup copy. Once your file is read, go to File -> Save and make a copy. This way you will have something to flash the ram back to if anything does go wrong.

    Now this is where it gets more complicated. Editing them is not as simple as saying I want 5-5-4-16. You have to tweak the timings using ns values. For instance to get tRCD 5 for DDR800 you have a choice of any value between 10.25ns and 12.50ns. It shows that even if you have two sticks which both run at 5-5-5-15 one of them can be tweaked to go slightly faster. This will give you an advantage in benchmarks which rely heavily on memory timings such as SuperPI.

    So to start your tweaking, decide the max frequency. This should always be the SPD you are editing. So if you want DDR800 you would do this.

    Find the drop down menu titled "SDRAM Cycle time at Maximum Supported CAS Latency" and set it to the frequency you want. This is measured in ns but it does have the frequency value in brackets next to it to make it much easier to choose. I am going to take this opportunity to add another warning. DDR2 should always be able to boot at 1.8v. If you set it to a frequency which it can't boot at 1.8v, you could end up with two paperweights instead of high performance ram.

    Using "CAS Latencies Supported" is an easy way to make the right CAS latency for your ram, however leaving at default won't make a difference to what CAS latency you have your ram to run at either. It just adds extra enforcement to the fact.

    "Minimum Clock Cycle at CLX-" These are used to make the other frequencies in the SPD file. Unless you are tweaking all the SPD programmed frequencies this does nothing for you.


    Apart from that everything else is very self explanatory. They all have what timing they edit in brackets such as (tRRD).

    To make the rest of the tweaking easier here is a rough conversion of NS to the latencies you will set.

    **REMEMBER THIS IS SET AT DDR800, IT CHANGES TO WHAT FREQUENCY YOU SET, HOWEVER I ADVISE AGAINST SETTING ANYTHING HIGHER THEN DDR800**

    1.00ns - 2.50ns = 1
    2.75ns - 5.00ns = 2
    5.25ns - 7.50ns = 3
    7.75ns - 10.00ns = 4
    10.25ns - 12.50ns = 5
    12.75ns - 15.00ns = 6
    15.25ns - 17.50ns = 7


    Now you have done all your tweaking of the SPD file it is time to flash the ram sticks. If you have two sticks I strongly suggest you only flash one. This way if the flashed stick can't boot you can put the second one back in to make it boot at a slower frequency. This way you can re-flash your ram.

    Your first step is to click onto the edit menu. Press Fix Checksum. Once this is done, you can proceed to write this file to the sticks.

    Go to File -> Write -> and then you pick which stick you want to flash. The process takes about 30 seconds in which time you shouldn't be turning off your pc or anything like that, as that will kill your ram.

    After this step you have successfully finished flashing your ram.

    The final step is the reboot test. Turn off your pc. Clear the CMOS so all information about the ram has disappeared. Then turn the pc back on. The BIOS should pick up all the information and continue on normally if you have done it correctly. If it does not boot you have done something wrong and should follow the steps above about using a slower stick to re-flash.

    **END DISCLAIMER** This guide should be taken as friendly advice. The tools in this guide can and will kill your ram if not taken seriously and with a general gasp of the knowledge. Please also remember this WILL VOID any warranty you had. **DISCLAIMER**


    Enjoy ;)
     
  2. kazimatiz

    kazimatiz Member

    Joined:
    Jun 5, 2005
    Messages:
    684
    Location:
    Sydney 2227
    Excellent guide skootyloops :thumbup: Its not possible to adjust voltage through SPD is it? My RAM needs more power than stock to get anywhere so I don't think flashing the SPD is for me :(
     
  3. OP
    OP
    skootyloops

    skootyloops Member

    Joined:
    Apr 29, 2006
    Messages:
    5,693
    It's possible. However many boards wont read that part of the SPD. So its best to stay on the safe side by making 1.8v spd files.
     
  4. wabbit

    wabbit Member

    Joined:
    Sep 9, 2003
    Messages:
    406
    It doesn't work for me.
    I get an error message of "No modules found. Incompatible SMBus driver."
    I have 2 X 512 Mb DDR333 modules in a Gigabyte GA-8ST800.
    Does this only work for DDR2 ram?
     
    Last edited: Apr 4, 2007
  5. OP
    OP
    skootyloops

    skootyloops Member

    Joined:
    Apr 29, 2006
    Messages:
    5,693
    I don't have DDR ram. However I would suspect that the chipset is incompatable with the program because it says "Incompatible SMBus driver"
     
  6. Boxman

    Boxman Member

    Joined:
    Jul 18, 2005
    Messages:
    1,794
    Location:
    Victoria
    Perhaps it would be a good idea to include information on what can go wrong with flashing and how (if possible) to remedy the situation as I do not see it within the first post. I really do fear we will start seeing more posts in this forum with people saying they stuffed a good set of RAM by flashing to unstable or botched SPD settings. There is already one.

    I.e, You can easily select improper SPD settings rendering the sticks useless unless you know how to bring them back. For this reason you should definitely have a spare memory module around to resuscitate your RAM if you flash to improper settings. Manufacturers will not help you if you render your sticks useless, much like botching firmware flashing.
     
  7. OP
    OP
    skootyloops

    skootyloops Member

    Joined:
    Apr 29, 2006
    Messages:
    5,693
    There is the disclaimer. However your idea is very good and I will try and get that added to the guide :p
     
  8. uneverno

    uneverno (Banned or Deleted)

    Joined:
    May 20, 2004
    Messages:
    4,224
    Location:
    Brisbane Southside
  9. Meatbix

    Meatbix Member

    Joined:
    Jun 5, 2007
    Messages:
    234
    Location:
    Sydney
    Correct me if I'm wrong but the spd file only really determines what settings the RAM will run when you leave the BIOS settings on auto, and it's easier to set your RAM timings manually than it is to flash your spd so why bother?

    Of course if the answer is simply "because you can" then fine :D
     
  10. OP
    OP
    skootyloops

    skootyloops Member

    Joined:
    Apr 29, 2006
    Messages:
    5,693
    There are actually uses.

    For one P35 boards were rejecting DDR533 ram, so Dinos flashed his spd files to have the ram run at DDR667 for it to work.

    However you can also use it to tweak the ram before placing it in a motherboard which doesn't let you set ram options.

    Really though, its easy to do, makes my life easier after a cmos clear and really is good for bragging :p
     
  11. uneverno

    uneverno (Banned or Deleted)

    Joined:
    May 20, 2004
    Messages:
    4,224
    Location:
    Brisbane Southside
    I had a par of sticks that were boxed and labeled as DDR800, yet in CPU z they would show up as DDR 667. They ran perfectly far beyond DDR800 at the rated timings and voltage, so were probably flashed incorrectly. In fact they ran with much tighter timings and lower voltage at higher speeds than spec. I corrected the situation with this method. They now read as DDR800, as they should have. I haven't changed the timing settings as I don't intend to fool anyone, just wanted them to read what they had on the packaging and the ram stickers.
     
    Last edited: Jun 25, 2007
  12. dinos22

    dinos22 Member

    Joined:
    May 8, 2004
    Messages:
    12,329
    bump for a great guide :thumbup:
     
  13. OP
    OP
    skootyloops

    skootyloops Member

    Joined:
    Apr 29, 2006
    Messages:
    5,693
    Hehe thanks :p I'm reminded of this guide every time I use those sticks with Dinos22 on them :lol:
     
  14. antari

    antari Member

    Joined:
    Aug 27, 2006
    Messages:
    1,353
    Location:
    Bendigo
    Hmm... I'm just playing around with the SPD on one of my SuperTalent sticks... do you need to have a CL=5 profile?

    Alternatively, do you need to have 3 profiles in there?

    edit: Actually don't worry. I've realised that this is more or less useless. My sticks are now recognised as DDR2-800, doesn't really matter what else has changed.
     
    Last edited: Aug 21, 2007
  15. OP
    OP
    skootyloops

    skootyloops Member

    Joined:
    Apr 29, 2006
    Messages:
    5,693
    Better for CL5 SPD files, simply for less issues during the bootup.
     
  16. antari

    antari Member

    Joined:
    Aug 27, 2006
    Messages:
    1,353
    Location:
    Bendigo
    Indeed.

    In the end I just went for 400MHz 5-5-5-12, 333MHz 4-4-4-10, 266MHz 3-3-3-8.
     
  17. AbRASiON

    AbRASiON Member

    Joined:
    Dec 20, 2002
    Messages:
    1,098
    Location:
    Melbourne


    I tried to use this tool and it didn't work, I don't know what I did wrong.
    I want to make my 266mhz ram boot at 333mhz, I know it can do it. (It's Micron D9)

    1gb single stick "d9gct" it's rated to 266mhz by HP but in actual fact several web sites claim it'll do 500mhz.

    All I want is 667 so I can boot my PC tonight and use it before my 'real' ram comes from the USA :/

    I've changed 3 settings as per this post
    http://forums.whirlpool.net.au/forum-replies.cfm?t=806194&p=2#r38

    First setting I changed
    http://img401.imageshack.us/my.php?image=setting1ys8.jpg
    Second setting I changed
    http://img503.imageshack.us/my.php?image=setting2nn7.jpg
    Third setting I changed
    http://img166.imageshack.us/my.php?image=setting3td4.jpg
    Timings
    http://img212.imageshack.us/my.php?image=timingwk9.jpg

    Basically I just want this stick to post on a P5K, I don't care how slow the timings are!
    Do those settings look like a 333mhz (667) stick or a 266mhz (533) stick?
     
  18. Smakked

    Smakked Member

    Joined:
    Nov 28, 2007
    Messages:
    2,071
    Location:
    Goldcoast
    Nice guide skootyloops , just flashed my elcheapo Generic RAMBO ddr667 to ddr800 5-5-5-15 with out issue :D

    Cheers:thumbup:
     

Share This Page

Advertisement: