Blog
Technology Sharing
Tower I3C Host Adapter Usage Example (5)hits:4


Easyi3C is a leading supplier of embedded system tools that simplify the development and debugging of various communication protocols. The company offers a range of products designed to help engineers and developers use I3C/I2C , USB and MIPI, JEDEC, MCTP and other protocols more efficiently.



Programming DDR5 SPD using Tower I3C Host Adapter


1. Background Introduction

SPD is an erasable and rewritable EEPROM on the memory module, which records a lot of important information about the memory, such as the memory chip and module manufacturer, operating frequency, operating voltage, speed, capacity, voltage and row and column address bandwidth, etc. The SPD information is generally written into the EEPROM chip by the memory module manufacturer before leaving the factory, based on the actual performance of the memory chip.

The core role of SPD

The main function of SPD (Supply Detection and Detection) is to allow the motherboard BIOS to automatically read the memory configuration parameters, such as frequency, timings, and voltage, during startup, thus enabling plug-and-play functionality without requiring manual settings by the user. This greatly simplifies the memory installation and configuration process.

SPD contains information

SPD chips typically store the following key information:

  • Memory type (e.g., DDR4, DDR5)

  • Capacity and bit width

  • Default frequency and timing (e.g., CL value)

  • Supported voltages

  • Manufacturer and serial number

  • Other advanced features (such as XMP/EXPO overclocking profiles)

CRC (Cyclic Redundancy Check)

CRC is a checksum verification technique used to detect errors during data transmission or storage. In DDR5 memory, the CRC function is extended to read and write operations, generating a checksum to verify whether data errors (such as bit flips) have occurred during transmission. The specific workflow is as follows:

  • When writing : The memory controller sends the data and calculates the CRC value. The DRAM receives the data and verifies whether the CRC matches.

  • When reading : DRAM returns data along with a CRC value, which the controller verifies to confirm data integrity.

Synergistic effect of the two

SPD ensures that memory modules are correctly identified and configured, while CRC guarantees the reliability of data transmission. For example, the DDR5 XMP 3.0 specification also introduces CRC checking to prevent overclocking profiles from being incorrectly modified. These technologies together improve the stability and reliability of DDR5 at high frequencies.

2. Programming DDR5 SPD using Tower I3C Host Adapter

Because the I3C protocol has only been around for a short time, the industry is still in the early stages of promoting and using it. Currently, it is most widely used in DDR5. JEDEC has been promoting the I3C protocol relatively quickly. One of the major pain points for users is programming DDR5 SPDs, which requires both I3C protocol support and CRC verification, making the operation somewhat complicated. In response to strong user demand, we have developed a GUI tool for DDR5 I3C SPDs, which is simple, easy to use, and user-friendly.

1. Setting up the programming platform:

34b9160c-b541-462d-aa10-e693293ede9e.png


 After setting up the platform as described above and installing all the relevant drivers for the Easyi3C Host I3C/I2C adapter, you can begin the SPD flashing process.

2. Introduction to Easyi3C Tower DDR5 SPD Tool:

Download the Easyi3C  Tower DDR5 SPD Tool software from the official website. This software is portable and requires no installation. After decompression, simply click "Easyi3C Tower DDR5 SPD Tool.exe" to run it. The screen is shown below:

image.png

Next, we will provide a detailed introduction to the software's usage to give users a deeper understanding of how to use it.

3. Detailed Explanation of Easyi3C Tower DDR5 SPD Tool Usage:

 1)First, scan the DIMMs on the bus. The memory module with DIMM number LID 5 is found, as shown in the following figure:

image.png

 2)Open the existing SPD file to be burned, and select the file to be burned:

image.png

image.png

3)Read the SPD content on the DIMM:

image.png


At this point, information will be read back from the DIMM and analyzed. The basic DIMM information is shown in the following figure:

image.png


4) Before flashing the SPD content, you can also back up the previous content, as shown in the following figure: 

image.png


5)Write the SPD to the DIMM. At this point, the contents of the "Open SPD File" command will be written into the file.

image.png

6)Batch programming: This is to improve programming efficiency. If there are multiple DIMMs on the bus, the SPD can be programmed into multiple DIMMs at once.

image.png

7)To facilitate customer use, our tool also provides Check CRC and Update CRC functions according to the JEDEC standard:

image.png


8) In the DIMM EEPROM interface, customers can also directly modify the corresponding content. When the customer modifies the content, the CRC will be automatically recalculated and updated during the programming process.

image.png

9) The runtime log records all user actions, making it easy for users to track and rewind the runtime process:

image.png

3. Summaries

The above is the Easyi3C Tower I3C DDR5 SPD Tool developed based on our Tower I3C Host Adapter. With the free graphical tool we provide, the programming of DDR5 SPDs under the I3C protocol can be made simpler.


Service Line:

Address:Silicon Valley
Email:support@easyi3c.com

Copyright © Easyi3C Co., LTD