SPDTool: Read, Edit and Flash your Memory's SPD
http://www.techpowerup.com/spdtool/SPDTool_055.zip
http://img.techpowerup.org/061117/Capture057.jpg
Using it you can edit the timings and other settings stored in the SPD of your memory modules.
Changes in 0.4:
Added NVIDIA chipset support
Added Compare function
Changes in 0.52:
Added Upload function to submit SPDs to SPD database
Fixed nForce400 writes
Fixed a few minor bugs
Added a few minor features
Changes in 0.53:
Fixed minor issue with Mfgr Id detection
Fixed URL for Memory Database upload
Changes in 0.55:
Fixed Timing Summary rounding error
Changed minor cosmetic details
Where I try to shed some light on this subject
This looks pretty cool and I'll be sure to check it out.
That being said, let me try to answer some of the questions people have posted about the SPD.
First off let me state that you should NOT be rewriting the SPD on your RAM unless you've been instructed to do so by the manufacturer and have been given very clear instructions on how to do so AND an approved image file for your particular module. When you do this without the express consent of the manufacturer you will without exception void your warranty and incorrect values could render your modules inoperable (and it's easy for a mfg to see that the SPD has been messed with). Without a stand alone programmer it's quite possible that you won't be able to recover an improperly programmed module.:fact:
That being said, there are some values you can adjust and some you can't. Probably the safest way to do any sort of experiment would be to flash your SPD with one from another set of modules that you know are similar. I.E. if you've got Micron IC's you'll probably be OK using an image from another set of modules that are built with the same IC's. Different speed grades probably doesn't matter as long as they are both using the same die revision of the IC. If you don't know what IC you have don't mess with the SPD, you could really screw things up.
Additionally, every BIOS has different rules as far as your SPD goes. In some case the BIOS is only concerned with the frequency and will ignore everything else. Just because it's written in the SPD doesn't mean you're going to see it have any effect on your actual settings. RAM is a passive device, at the end of the day you can't do anything with it that your IC, BIOS, or memory controller doesn't support or won't allow. Just because JEDEC defines a value (for instance CAS 2 for DDR2) doesn't mean that your IC is physically capable of doing it or the memory controller supports that value. Everything has to support what your trying to do your you're likely to get an inoperable system. The best way to know what your particular IC is capable of is to download the data sheet from the IC mfg's website, same for your memory controller.
Before doing anything it'd probably be a good idea to see if your board will POST with mismatched modules. This should be easy enough to do, grab a 800MHz part and a 667MHz part, plug them in and turn on your system. If you get POST (it might complain about mismatched SPD's) you should be good. Just play with one module at a time making sure keep a good module in reserve to allow you to recover in case you set something breaks your system.
Quote:
Originally Posted by metro.cl
thanks wizzard awsome work, with this we can get personal "names" on the ram info?
You could put that sort of information into the SPD at Bytes 73-90 where the module part number usually goes.
Quote:
Originally Posted by SKiLL3D
Just got one Question:
I just read read my GSKiLL 2GBHZ and Voltage Interface Level of this Assembly is set to SSTL 1,8V. There is an option available to set this to SSTL 2,5V!
Would this enable the RAM to be bootable even if i cmosClear my P5WDHboard(defaultVdimm = AUTO)? Shouldnt the Board try to set the MaxVoltage, so that the RAM has no problem booting, even if its set to speedy Timings like 3-3-3-9?
No, JEDEC doesn't define voltages beyond 1.8 for DDR2 and I'd be surprised if the BIOS even reads this field. This field hasn't changed from SDRAM to DDR1 to DDR2 and doesn't look like it's going to change for DDR3 (1.5VDIMM). I.E. that 2.5 is defined by JEDEC isn't to say that it's supported for DDR2.
Quote:
Originally Posted by Kartoff
I cannot see where are the rated frequency... My RAM are rated at 1066Mhz 5-5-5-15 @ 2,1v. by SPD but i see that Corsair are do a mistake and SPD are set at 1066 0-5-5-15 ?!? That zero and in other way theese 1,8v. are problem cause thanks to them my rig wont POST every time :( I already do a VDIMM mod so i have 2,15v. instead of 1,86v. and i dont have problem with POST for now... So if i want to change rated speed form 1066 to something like 800 or 533 from where to do that ? Also i want to put 5 in the place of that 0... Thanx.
First off, if what you're saying is correct you should probably just RMA your modules. BUT to answer your question Byte 9 is where your frequency resides per JEDEC. CPUz takes its values from the EPP portion of the SPD though so it looks like you've got a bad bit. PM or email me and I'll help you get that fixed.
Quote:
Originally Posted by DaWaN
Voltage for DDR2 is set to 1,8V on every ram, you can't store it in SPD...
Maybe EPP supports voltage settings, I don't know
Actually it does (see above) but it's probably ignored by the BIOS. Yes, you can define the VDIMM in the EPP portion of the SPD (see below).
For everyones reference below is a link to the JEDEC DDR2 SPD datasheet and a handy Excel sheet spelling out the frequencies you could theoretically have in the JEDEC portion of the SPD along with the EPP specification.
EPP specification
JEDEC DDR2 SPD
Available JEDEC frequencies
Is there any fix for the SMBus driver?
I'm getting the no memory modules found, incompatible smbus driver - it's under Vista.
Is there any chipset driver I can install to fix this or am I SOL?
I need to flash some chips :(
It's an intel 845 chipset I'm trying to do it on.
If anyone is still looking, I linked to a SPDTool guide for noobs
Quote:
Originally Posted by
SKiLL3D
1.) Development speed is nice! :D
2.) How about an Expert, an Advanced and a Noob Profile?
- ExpertProfile would allow the User to change everything
- Advanced allows more than Noob but less then Expert
- NoobProfile allows only CAS Latency(tCL), RAS to CAS Delay(tRTC), RAS Precharge(tRP) and Precharge Delay(tRAS)
Disabled Features would only be greyed out.
Default Profile would be 'Noob' and everytime the User wants to get to one of the other 2 Profiles an explicit Warning Message shows up. OK, this would be kinda irritating, but how often do you flash the SPD? Since its not a daily job its ok with the Warning PopUps i guess.
IF u think about taking in a ProfileSystem u are free to change the ProfileNames :D
PS: WEITER SO! ;D
iLL
In my search, I found this site and it goes over the basics of SPDTool:
http://forums.overclockers.com.au/sh...d.php?t=562506
I had kind of worked through SPDTool basics on my own going step by step through the hex table and was merely trying to match two sets of similarly timed DDR to run at 400mhz on an MSI board I like. But that page seemed to cover the essentials.
BTW, thanks W1zzard for this excellent utility!!
RHH