- Serial Presence Detect
Serial Presence Detect (SPD) refers to a standardized way to automatically access information about a computer memory module. It is the serial version of
Parallel Presence Detect (PPD).tored information
In order for a memory module to support SPD, the
JEDEC standards require certain parameters to be placed in the lower 128 bytes of anEEPROM located on the memory module. These bytes contain timing parameters, manufacturer, serial number and other useful information about the module. This data allows a device utilizing the memory to automatically determine key parameters of the module. For example, the SPD data on anSDRAM module might provide information about theCAS latency , allowing this to be correctly set without user intervention.The SPD EEPROM is accessed using
SMBus , a variant of theI²C protocol. This reduces the number of communication pins on the module to just two: a clock signal and a data signal. (There are three additional pins to provide each EEPROM with a unique device address.) The same SMBus is commonly used on motherboards for system health monitoring tasks such as reading power supply voltages, CPU temperatures, and fan speeds.Enhanced Performance Profiles (EPP)
EPP is an enhancement of SPD and provides additional performance-specific information needed for
overclocking applications. The EPP information is stored in the same EEPROM, but in bytes 99-127 which are unused by standard SPD.PD information readers
Motherboard
BIOS es read the SPD information to configure the memory controller. Other programs that read SPD information, with full source code available, includes:* [http://www.nongnu.org/dmidecode/ dmidecode] program can decode information about memory (and other things) and runs on
Linux ,FreeBSD ,NetBSD ,OpenBSD ,BeOS ,Cygwin andSolaris .* On
Linux systems, theuser space program decode-dimms.pl provided with lm_sensors [http://www.lm-sensors.org/] decodes and prints information on any memory with SPD information in the computer. On more recent Linux distributions, decode-dimms is available as part of i2c-tools.*
OpenBSD has included a driver (spdmem(4)) since version 4.3 to provide information about memory modules.*
coreboot reads and uses SPD information to initialize allmemory controller s in a computer with timing, size and other properties.* On Windows systems, there are programs like
AIDA32 ,CPU-Z and PCWizard 2007 that are able to display SPD information.ee also
*
Enhanced Performance Profiles External links
* [http://www.jedec.org/download/search/4_01_02_00R9.PDF Serial Presence Detect Standard, General Standard]
* [http://www.jedec.org/download/search/4_01_02_04R13.PDF SPD Rev1.0 for DDR SDRAM]
* [http://www.jedec.org/download/search/4_01_02_10R14.pdf SPD Rev1.2 for DDR2 SDRAM]
* Linux package [http://www.lm-sensors.org/wiki/I2CTools i2c-tools]
* Instructions on how to use lm-sensors or i2c-tools to read the data: [http://ornellas.apanela.com/dokuwiki/pub:spd http://ornellas.apanela.com/dokuwiki/pub:spd]
Wikimedia Foundation. 2010.