Talk:Serial presence detect

Key values include
source: http://www.corsairmicro.com/memory_basics/153707/index.html
 * Memory type (i.e. DDR, SDR, etc)
 * Number of banks
 * Data width (64 or 72 bits)
 * Voltage interface
 * RAM cycle time
 * ECC/non-ECC
 * CAS latencies supported
 * RAS precharge
 * RAS to CAS delay
 * Module bank density
 * Manufacturer JEDEC ID code (Corsair's is 7F 7F 9E 00 00 00 00)
 * Manufacturing location
 * Module part number

russian articles
http://www.ixbt.com/mainboard/spd.shtml —Preceding unsigned comment added by 189.4.112.16 (talk) 19:04, 6 November 2007 (UTC)

Parallel Presence Detect notes
(Some chicken scratches to be turned into an article at some point)

Usually called just presence detect, this used some spare pins on 72-pin SIMMs. They were either open-circuit (pulled high by motherboard resistors) or shorted to ground. All pins open meant "no SIMM inserted" References: Pins assigned as follows: Pins 67-70: Pin 11 mostly changes the capacity, but also causes the 100 ns speed grade to be re-interpreted. This is the JEDEC encoding, apparently IBM and others made up their own. 71.41.210.146 (talk) 15:57, 7 May 2009 (UTC)
 * http://www.mcamafia.de/mcapage0/memorypd.htm
 * http://ohlandl.ipv7.net/config/mempresence.html
 * http://www.keycruncher.com/blog/2003/12/14/making-standard-simm-s-work-memory-upgrade-on-the-hp-laserjet-6mp-5mp/
 * http://www.shawnbehrens.de/hpmem.htm
 * http://books.google.com/books?id=E1p2FDL7P5QC&pg=RA1-PA447&lpg=RA1-PA447&dq=SIMM+presence+detect&source=bl&ots=M1ohE6a5bv&sig=i6mI_mE78Bk2hbya3zUByPS3dJE&hl=en&ei=6PwCSpvYKuawtgfZ3-WKBw&sa=X&oi=book_result&ct=result&resnum=6
 * Page 448 of the same book
 * Page 449
 * The first 4 bits on pins 67–70 encode the size and speed.
 * Pin 72 is the ground pin generally connected to.
 * Pin 48 grounded marks an ECC SIMM. Open marks non-ECC.  Parity is unclear.
 * Pin 11 is PS5, for extension

SPD information readers
This section listing various software is very helpful. However, when working with memory, there is a common need to read SPD data without installing an OS -- the memory may not be reliable, it may not be configured correctly, etc. Are there DOS/freeDOS SPD readers? Do any Linux LiveCD distros come with an SPD reader? What would be a good way to make a minimal bootable USB flash drive with SPD read-out function?

Memtest86/86+ has an SPD reading function, but it doesn't work very well (yet)... What the world needs is a good SPD reader that is self-contained bootable like Memtest86, can be put on floppy, can be a boot-time option on CDs, etc. -96.237.10.106 (talk) 15:28, 27 May 2009 (UTC)

Programs such as CPU-Z allow saving a hex copy of the SPD data. Memtest86 also provides access to the raw hex. But CPU-Z goes a little too far in interpreting and dumbing-down the data. Memtest86 provides no interpretation. (System Speed Test 4.78 does an interesting job of interpretation, and allows access to SPD from DOS, very handy.) Are there any tools (online, javascript, or local) for intpreting such blocks of SPD data, showing the hex as an interpreted data structure? -71.174.180.142 (talk) 20:50, 15 July 2009 (UTC)

DIMM_ID 2001 from Vanguard Microelectronics Limited is a free DOS program that can also access at least SDRAM SPD data.

The Perl program decode-dimms.pl Memory Serial Presence Detect Decoder by Philip Edelbrock et al. seems to be the most current tool for translating raw SPD hex to human terms. Where is the documentation for this program? -96.237.5.115 (talk) 02:23, 16 July 2009 (UTC)


 * Here is the current source: http://www.lm-sensors.org/browser/i2c-tools/trunk/eeprom/decode-dimms decode-dimms.pl Perl program -96.237.5.115 (talk) 15:11, 16 July 2009 (UTC)


 * Downloading the "Original Format" at the bottom of the page is weird, gets an old version without hexdump options. Downloading the "Plain Text" at the bottom of the page seems to work well, giving a very current version, just like that shown on the webpage. It is also possible to download archived distribution tarballs that contain somewhat older versions that still have hexdump options. Reading the source file is full of great details about how to interpret the SPD data.
 * It is not at all easy to find out how to use/invoke the program; this is all there is:

" -c, --checksum          Decode completely even if checksum fails\n", " -x,                     Read data from hexdump files\n", " -X,                     Same as -x except treat multibyte hex\n", "                         data as little endian\n", " -h, --help              Display this usage summary\n";
 * -96.237.5.115 (talk) 16:12, 16 July 2009 (UTC)

System Speed Test 32 Ver 4.78 is a free DOS program by Vladimir Afanasiev (included in UBCD since version 2.1 2004) that is able to access and display some SPD data. It can also make a report file containing more detailed SPD data. The program can be put on a FreeDOS bootable floppy disk and run directly. -71.174.177.40 (talk) 13:05, 18 July 2009 (UTC)

What Linux LiveCD distros include lm_sensors and i2c-tools? -71.174.177.40 (talk) 13:16, 18 July 2009 (UTC)

SPD information writers
What hardware and software would allow ordinary mortals to change the SPD info?

What equipment is used commercially to write and read SPD parameters? -96.237.10.106 (talk) 23:27, 27 May 2009 (UTC)

SPDTool can be used to modify the contents of the SPD EEPROM on memory modules. SPDTool works on all 32-bit and 64-bit versions of Windows 2000/XP/2003/Vista. -96.237.14.90 (talk) 02:34, 1 July 2009 (UTC)

SO-DIMM
Please add laptop SPD So-DIMM info. -96.237.10.106 (talk) 02:24, 28 May 2009 (UTC)

SDRAM and DDR3 parameter tables
The detailed DDR1 AND DDR2 parameter tables in the article are very useful -- but we need SDRAM and DDR3 parameter tables also, or good annotation of the existing tables clearly stating what is the same and what is different. -96.237.5.115 (talk) 02:27, 16 July 2009 (UTC)

DDR4 SPD Table
Does anyone have the time/expertise to add a DDR4 SPD table?

80.193.214.229 (talk) 11:10, 3 May 2017 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified 2 external links on Serial presence detect. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20081202135409/http://www.lm-sensors.org/browser/i2c-tools/trunk/eeprom/decode-dimms to http://www.lm-sensors.org/browser/i2c-tools/trunk/eeprom/decode-dimms
 * Added archive https://web.archive.org/web/20070519080941/http://ornellas.apanela.com/dokuwiki/pub%3Aspd to http://ornellas.apanela.com/dokuwiki/pub%3Aspd

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 02:29, 25 May 2017 (UTC)

Purpose of XMP?
As far as I can tell, XMP is a means of providing factory-overclocked settings. But what's the purpose of using XMP over simply encoding the factory overclock as SPD? Either way the manufacturer typically advertises and warranties the higher specification, so what is gained by making the overclock distinct from the stock clock? Ham Pastrami (talk) 09:38, 16 October 2017 (UTC)
 * The purpose of XMP is to scam customers. I don't think most people realize they're buying an overclock number, and many prebuilts won't even use the XMP speeds (because they're not predictably stable, y'know) so they just pop it in and everything seems to work unless they start poking around.   Then how do you return ram that works (sorta), exactly?  They never said it was the speed, just the XMP 3.0 speed and it's now on the customer to know that they're being screwed with.
 * It also allows the manufacturer to scream "unsupported configuration!" every time a new CPU comes out (aka the whole "for new Intel 10th gen blah blah"), and yell the same any time an exact sized "kit" isn't used but more ram slots were available and some bug in their ram when run overclocked caused it to fail. They can toss lifetime warranties on that stuff but somewhere in the fine print it wasn't certified for anything else;   also in the fine print is a statement that it is not guaranteed to work at XMP speeds on all systems (really), and the second XMP profile isn't even advertised on many brands because it's just not gonna be stable.
 * Most importantly because the actual chips are not that fast, and selling them as such would violate advertising laws in most countries (one would hope). They're already pushing the boundaries right now by completely failing to mention the fastest JEDEC speed of nearly all of it I've seen sold, leaving end-users to figure out who made the chips and which of the 2 or 3 consumer-available speeds they actually are.       --A Shortfall Of Gravitas (talk) 05:46, 19 December 2020 (UTC)

Why BCD ?
Some fields are Binary-coded decimal encoded.

Why ? They don't strike me as intended to be read by humans, and even then the processing power to convert binary to decimal would have been so small. — Preceding unsigned comment added by Musaran (talk • contribs) 10:49, 31 January 2018 (UTC)