How to check RAM Timings and SPD information on Linux - BinaryTides
Ram timings are technical specs about ram modules that are installed in laptops or desktops. These number indicate the performance of the ram module interms of how fast they can read and write data.
The appear as 4 number set separated by a hyphen, for example like this: 16-16-16-39. Now these numbers tell us how fast the ram would potentially be able to handle data read/write requests from the cpu.
The timings are indicative of clock cycles required for circuit level operations inside the ram module, and usually higher timing means slower performance. So ideally you want ram with low timings. But yes faster ram is also more expensive.
On Windows there are plenty of gui tools to check the ram timings for example Rammon, HwInfo, CPU-Z etc. However on Linux there are limited gui tools for this feature. However there are commond line tools that can report ram timings
The first step is to install the i2c-tools package and then load the eeprom module from it.
sudo apt-get install i2c-tools sudo modprobe eeprom
decode-dimms
is probably what you're looking for, but apparently you need to have the correct i2c module loaded before it works. Follow this tutorial:
Ubuntu See Live RAM Timings Decode DIMMS - richud.com
I got it working after these steps:
sudo aptitude install i2c-tools
sudo modprobe eeprom
sudo modprobe i2c-i801
decode-dimms
Now you can run the decode-dimms command and get the spd information the ram's spd eeprom chips.
decode-dimms
According to the man page for decode-dimms: "decode-dimms - decode the information found in memory module SPD EEPROMs". So its pretty self explanatory. We shall try running this command on multiple systems like desktops and laptops all of which are physical hardware located near me.
In this example we shall run decode-dimms command on multiple systems and compare the output, to estimate the performance of the ram module. In general faster ram means faster read/write speeds and overall better system performance.
The first one is a Ubuntu desktop machine with Gigabyte motherboard and Corsair ram (2400 MT/s-DDR) in 16G+16G configuration with identical sticks. Lets run the decode-dimms command and see the output:
$ decode-dimms # decode-dimms version 4.3 Memory Serial Presence Detect Decoder By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner, Jean Delvare, Trent Piepho and others Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0050 Guessing DIMM is in bank 1 Kernel driver used ee1004 ---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-125 OK (0x085B) # of bytes written to SDRAM EEPROM 384 Total number of bytes in EEPROM 512 Fundamental Memory type DDR4 SDRAM SPD Revision 1.0 Module Type UDIMM EEPROM CRC of bytes 128-253 OK (0x27DE) ---=== Memory Characteristics ===--- Maximum module speed 2400 MT/s (PC4-19200) Size 16384 MB Banks x Rows x Columns x Bits 16 x 16 x 10 x 64 SDRAM Device Width 8 bits Ranks 2 Rank Mix Symmetrical Primary Bus Width 64 bits AA-RCD-RP-RAS (cycles) 16-16-16-39 Supported CAS Latencies 25T, 20T, 19T, 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T, 9T ---=== Timings at Standard Speeds ===--- AA-RCD-RP-RAS (cycles) as DDR4-2400 16-16-16-39 AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35 AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-31 AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26 ---=== Timing Parameters ===--- Minimum Cycle Time (tCKmin) 0.833 ns Maximum Cycle Time (tCKmax) 1.500 ns Minimum CAS Latency Time (tAA) 13.320 ns Minimum RAS to CAS Delay (tRCD) 13.320 ns Minimum Row Precharge Delay (tRP) 13.320 ns Minimum Active to Precharge Delay (tRAS) 32.375 ns Minimum Active to Auto-Refresh Delay (tRC) 45.810 ns Minimum Recovery Delay (tRFC1) 350.000 ns Minimum Recovery Delay (tRFC2) 260.000 ns Minimum Recovery Delay (tRFC4) 160.000 ns Minimum Four Activate Window Delay (tFAW) 22.000 ns Minimum Row Active to Row Active Delay (tRRD_S) 4.160 ns Minimum Row Active to Row Active Delay (tRRD_L) 5.820 ns Minimum CAS to CAS Delay (tCCD_L) 5.356 ns ---=== Other Information ===--- Package Type Monolithic Maximum Activate Count (MAC) Unlimited Post Package Repair Not supported Module Nominal Voltage 1.2 V Thermal Sensor No ---=== Physical Characteristics ===--- Module Height 32 mm Module Thickness 2 mm front, 2 mm back Module Reference Card B revision 0 ---=== Manufacturer Data ===--- Module Manufacturer Corsair DRAM Manufacturer Micron Technology Part Number CMK16GX4M1A2400C16 Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0052 Guessing DIMM is in bank 3 Kernel driver used ee1004 ---=== SPD EEPROM Information ===--- EEPROM CRC of bytes 0-125 OK (0x085B) # of bytes written to SDRAM EEPROM 384 Total number of bytes in EEPROM 512 Fundamental Memory type DDR4 SDRAM SPD Revision 1.0 Module Type UDIMM EEPROM CRC of bytes 128-253 OK (0x27DE) ---=== Memory Characteristics ===--- Maximum module speed 2400 MT/s (PC4-19200) Size 16384 MB Banks x Rows x Columns x Bits 16 x 16 x 10 x 64 SDRAM Device Width 8 bits Ranks 2 Rank Mix Symmetrical Primary Bus Width 64 bits AA-RCD-RP-RAS (cycles) 16-16-16-39 Supported CAS Latencies 25T, 20T, 19T, 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T, 9T ---=== Timings at Standard Speeds ===--- AA-RCD-RP-RAS (cycles) as DDR4-2400 16-16-16-39 AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35 AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-31 AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26 ---=== Timing Parameters ===--- Minimum Cycle Time (tCKmin) 0.833 ns Maximum Cycle Time (tCKmax) 1.500 ns Minimum CAS Latency Time (tAA) 13.320 ns Minimum RAS to CAS Delay (tRCD) 13.320 ns Minimum Row Precharge Delay (tRP) 13.320 ns Minimum Active to Precharge Delay (tRAS) 32.375 ns Minimum Active to Auto-Refresh Delay (tRC) 45.810 ns Minimum Recovery Delay (tRFC1) 350.000 ns Minimum Recovery Delay (tRFC2) 260.000 ns Minimum Recovery Delay (tRFC4) 160.000 ns Minimum Four Activate Window Delay (tFAW) 22.000 ns Minimum Row Active to Row Active Delay (tRRD_S) 4.160 ns Minimum Row Active to Row Active Delay (tRRD_L) 5.820 ns Minimum CAS to CAS Delay (tCCD_L) 5.356 ns ---=== Other Information ===--- Package Type Monolithic Maximum Activate Count (MAC) Unlimited Post Package Repair Not supported Module Nominal Voltage 1.2 V Thermal Sensor No ---=== Physical Characteristics ===--- Module Height 32 mm Module Thickness 2 mm front, 2 mm back Module Reference Card B revision 0 ---=== Manufacturer Data ===--- Module Manufacturer Corsair DRAM Manufacturer Micron Technology Part Number CMK16GX4M1A2400C16 Number of SDRAM DIMMs detected and decoded: 2 $