RAM SPD Issues
- What is SPD?
- SPD cannot be detected on some mobile/laptop PCs
- Cannot access SPD on DIMMs with temperature sensors on Intel Xeon chipsets
- Cannot view SPD info for DDR5 RAM on certain motherboards
What is SPD?
SPD or Serial Presence Detect is a JEDEC standard for storing and accessing static memory specifications on the memory module. This information is retrieved by the BIOS on startup in order to detect the installed memory modules and configure the operating parameters to use such as the memory timings.
The SPD information is typically stored in an EEPROM device located on the memory module. JEDEC defines the byte structure of the SPD data stored in the EEPROM. These bytes contain timing parameters, capacity, layout, ECC support, manufacturer data and other specifications.
To access the SPD EEPROM, the 2-wire SMBus interface is used to read the raw SPD bytes of each memory module's EEPROM. Each EEPROM acts as an SMBus device which can be addressed by a 7-bit SMBus address. SMBus commands are issued by the motherboard's host controller in order to read the raw SPD data, as defined by JEDEC specifications.
See Serial presence detect - Wikipedia for more details on the SPD specifications.
SPD cannot be detected on some mobile/laptop PCs
Many mobile PCs have RAM soldered directly on the board that cannot be removed/replaced. These on-board DIMM modules do not have an SMBus interface which is required to access SPD raw data. As such, the SPD info is typically hardcoded directly in the BIOS firmware and cannot be read by any 3rd party software, including MemTest86.
This does not apply to laptops with replacable SO-DIMMs, however, where SPD data can still be accessed via the standard SMBus interface.
Cannot access SPD on DIMMs with temperature sensors on Intel Xeon chipsets
If your system contains an Intel Xeon chipset which supports Temperature Sensor on DIMM (TSOD), there is the possibility that hardware TSOD polling is interfering with the SPD data collection process. This results in missing or incorrect SPD info. MemTest86 attempts to temporarily disable TSOD polling while collecting the SPD data but in may not possible in some cases. As a workaround, there may be a BIOS option to disable hardware TSOD polling such as "Memory Thermal Throttling" or "Closed Loop Thermal Throttling" such as the BIOS setup for ASUS Z8NA-D6C below.
Cannot view SPD info for DDR5 RAM on certain motherboards
By default on certain platforms (such as ASUS), the BIOS disables SPD Writes which prevents access to the SPD raw data on the DDR5 module.
Although no actual writes are performed on the SPD, SMBus write operations are required to access the full 1024 SPD bytes. This is because only pages of 128 byte SPD data can accessed at once, and SPD Writes are performed to read all 8 pages.
Fortunately, on a few motherboards (such as ASUS), there is a BIOS setting for enabling SPD writes. This is shown for an ASUS system in the screenshot below.
After setting Extreme Tweaker ➤ Tweaker’s Paradise ➤ SPD Write Disable to FALSE, MemTest86 should be able to retrieve DDR5 SPD data.
For vendors that use Aptio-based BIOSes (such as Fujitsu Celsius W5012), the SPD Write Disable setting may appear under Advanced in the BIOS setup as below.