Collection
zero Useful+1
zero

Serial presence check

Standardized way to access information about memory modules
open 6 entries with the same name
synonym SPD (Serial detection) generally refers to serial presence check
Serial presence detection (English: serial presence detect , Abbreviation SPD )Is an access Memory module Standardized approach to information. Early 72 stitches SIMM Including five pins, providing 5 bits Parallel presence detection (PPD) data, while 168 pin DIMM Standard changed to Serial presence detection To encode more information.
Chinese name
Serial presence check
Foreign name
serial presence detect
Abbreviations
SPD
Field
computer

brief introduction

Announce
edit
When an ordinary modern computer is turned on, it will Power on self-test (POST)。 Since the mid-1990s, this process has included automatically configuring existing hardware. SPD is a memory hardware feature that enables the computer to understand the existing memory and the memory access sequential
Some computers can fully and automatically adapt to hardware changes. In most cases, there is a special optional step that can be accessed BIOS Parameters, can be viewed and relevant settings may be changed. Some computers can control how to use the data stored in SPD - can selectively modify the memory timing, or even completely cover (ignore) the SPD data, see Overfrequency
When the computer is powered on, the serial presence detection (SPD) is stored in synchronization Dynamic random access memory (SDRAM) memory module, electrically erasable programmable read-only memory (EEPROM) chip. [1]

Stored information

Announce
edit
For memory modules that support SPD, JEDEC The standard requires that a EEPROM There are specific parameters in the lower 128 bytes on the. These bytes include timing parameters, manufacturer, serial number and other practical information related to the module. The device using memory can read this information to automatically determine the key parameters of the module. For example, SDRAM The SPD data on the module may provide information about CAS latency The system can be automatically configured without user intervention.
SPD EEPROM adopts SMBus Access, this is I²C A variant of the protocol. This reduces the number of communication pins on the module to two: clock signal and data signal. EEPROM shares ground pin with RAM, has its own power pin, and has three additional pins (SA0-2) to identify the slot, which is used to assign EEPROM to a unique address in the range of 0x50-0x57. The communication line can be shared between eight memory modules. The same SMBus is usually used for system health monitoring tasks on the motherboard, such as reading the power supply voltage CPU temperature And fan speed.
(If there is no write protection, SPD EEPROMs also respond to I ² C address 0x30 – 0x37. An extension uses the 0x18 – 0x1F address to access the optional chip Temperature sensor 。) [2]

SDR SDRAM

The first SPD specification was issued by JEDEC and strengthened by Intel as its PC100 Part of the memory specification. Most values specified are Binary decimal Form. Most important Half byte It can contain 10 to 15 values, and in some cases can be expanded to higher values. In this case, the encoding of 1, 2 and 3 is used for encoding 16, 17 and 18. The half byte of the highest 0 is reserved for "undefined".
SPD ROM defines up to three DRAM time sequences, and specifies three CAS delays with the setting bit in byte 18. The first is the highest CAS latency (the fastest clock), and then the two lower CAS latencies that reduce the clock speed. [1]

DDR2 SDRAM

Some modifications have been made to the DDR2 SPD standard, but generally the same as above. One notable change is to remove the messy and rarely used DIMM support with two Ranks of different sizes. [2]

DDR3 SDRAM

DDR3 SDRAM standard has been greatly improved, simplifying the layout of SPD content. Instead of nanosecond fields encoded by multiple BCDs, some "time base" units are specified as high-precision, and various timing parameters are encoded as multiples of basic units. In addition, the practice of specifying different timing according to CAS delay has been deleted, and now there is only one set of timing parameters.
Revise 1.1 to express some parameters as "medium time base" value plus (with sign, - 128+127) "fine time base" correction. Generally, the medium time base is 1/8 ns (125 ps), and the fine time base is 1, 2,5 or 5 ps. For compatibility with earlier versions that lack correction, the medium time base is usually rounded up and the correction is negative. The values that work in this way are:
The storage capacity of the module can be calculated from bytes 4, 7 and 8. The module width (byte 8) is divided by the number of bits per chip (byte 7) to get the number of chips per rank. Then it can be multiplied by the capacity of each chip (byte 4) and the number of chips on the module (usually 1 or 2, from byte 7). [2]

extend

Announce
edit
JEDEC standard only specifies some SPD bytes. The truly critical data is placed in the first 64 bytes, while the rest is calibrated by the manufacturer. However, the EEPROM provided is usually 256 bytes. The remaining space has some uses at present.

Enhanced Performance Configuration (EPP)

The memory usually has conservative timing recommendations in the SPD ROM to ensure that the basic functions operate normally on all systems. Fans usually spend a lot of time manually adjusting memory timing to improve speed.
The Enhanced Performance Profile is an SPD extension that is created by Nvidia and Corsair Development, which includes making DDR2 SDRAM Additional information for higher performance operation, such as power supply voltage and command timing information not included in JEDEC SPD specification. EPP information is stored in the same EEPROM, but the bytes are 99-127, which belongs to the unused area in the DDR2 SPD standard.
These parameters are designed for nForce 5 nForce 6 and nForce 7 On chipset Memory controller Design. Nvidia encourages BIOS High end Mainboard chipset Support EPP. This function is designed to provide "one button Overfrequency ”For better performance with minimal effort.
Nvidia provides the name "SLI Ready Memory" for EPP memory with certified performance and stability. The term "SLI Ready memory" causes some confusion because it is similar to NVIDIA SLI irrelevant. Users can use a single video card (even non Nvidia card) with EPP/SLI memory, or run multi card SLI video configuration without EPP/SLI memory.
Its extended version EPP 2.0 supports DDR3 memory [1]
Extreme Memory Profile(XMP)
Similarly, Intel by DDR3 SDRAM DIMMs have developed a JEDEC SPD extension. It uses JEDEC unallocated bytes 176-255 to encode higher performance memory timing. Also known in Chinese as "Extended Memory Configuration", the header contains the following data. The most important one is the "medium time base" value MTB, which is a reasonable nanosecond (the commonly used values are 1/8, 1/12 and 1/16 nanoseconds). Many subsequent timing values are expressed in integer MTB units.
The header also includes the number of DIMMs for each memory channel that the configuration file is intended to support; More DIMMs may not work properly.
AMD has also developed an SPD extension set named AMP, which has the same function as XMP. [1]

Vendor specified memory

A common abuse is to write information to certain memory areas to bind specific vendor memory modules to specific systems. Known Fujitsu Technology Solutions Yes. Adding different memory modules to the system usually results in rejection of operation or other countermeasures (for example, pressing F1 every time you start).
02 0E 00 01-00 00 00 EF-02 03 19 4D-BC 47 C3 46 ........... M.G.F53 43 00 04-EF 4F 8D 1F-00 01 70 00-01 03 C1 CF SC...O....p.....
This is the output of a 512 MB memory module of Micron Technology. Its brand is Fujitsu Siemens , note the "FSC" string. The system BIOS rejects memory modules without this information from offset 128h. [1]

Reading and writing SPD information

Announce
edit
The memory module manufacturer will write the SPD information to the EEPROM The motherboard BIOS reads the SPD information to configure Memory controller In most (but not all) Mainboard chipset There are several programs that can read and modify SPD information.
  • dmidecode The program can decode information about memory (and others) Linux FreeBSD NetBSD OpenBSD BeOS Cygwin and Solaris Run on. Dmidecode does not directly access SPD information; It reports BIOS data about memory. This information may be limited or incorrect.
  • stay Linux On the system, User space The program decode dimms can decode and print any memory information with SPD information in the computer with i2c tools. It needs to be supported in the kernel SMBus Controller, EEPROM core driver, and SPD EEPROM connected to SMBus. On older Linux distributions, decode dimms. pl was used as lm_sensors A portion of is available.
  • OpenBSD has drivers since version 4.3 spdmem(4) To provide information about the memory module. The driver is migrated from NetBSD (available since version 5.0).
  • Coreboot Read and use SPD information to initialize all Memory controller The timing, size, and other attributes of.
  • Windows Use on such as HWiNFO32 CPU-Z or Speccy The software can read and display the DRAM module information in SPD.
Using EEPROM programmer hardware and software to directly access EEPROM memory, you can directly read and write SPD information without caring about chipsets.
For old laptops, a less common use is the general SMBus reader, because the BIOS can disable the internal EEPROM on the module after reading, so the bus can basically be used. The method used is to pull A0 and A1 wires down so that Internal memory Turn off to allow external devices to access the SMBus. After this operation, the customized Linux version Or DOS applications can access external devices. A common purpose of doing this is to Memory chip Recover data in, and modify the general panel to be dedicated to notebook computers. [1]

On old equipment

Announce
edit
Some older equipment must be equipped with parallel Presence detection (often referred to as simple presence detection, or abbreviated PD) SIMM Some of these devices use non-standard PD codes, especially such as IBM Computer HP LaserJet , and some other printers. [1]