Re: [decode-dimms] Crucial Ballistix BLS2K16G4D30AESB, cannot decode / understand timings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jarkko,

On Wed, 17 Apr 2019 14:54:02 +0300, Jarkko Nikula wrote:
> I didn't contact yet HW folks but managed to check here with the same 
> chipset and DDR4 having ee1004 that decode-dimms appear to work fine. 
> Details below.
> 
> Then I have another set of DDR4 dimms that have either 24c02 and 
> temperature sensor or something else. i2cdetect detects devices at 

I don't think DDR4 is allowed to have anything but EE1004-compliant
EEPROMs. All DDR4 modules are supposed to be interchangeable.

> 0x50-0x51 and 0x35-0x36 (when no 24c02 or ee1004 loaded) and chips probe 
> fine as 24c02. decode-dimms don't find anything but "hexdump -C 

Anything will "probe fine as 24c02", as there is no way to detect such
chips. The driver will accept anything that is present at the I2C
address in question.

> /sys/bus/i2c/devices/i2c-0/0-0050/eeprom" dumps some data.
> 
> If I try to probe them as ee1004 they probe but hexdump over them fails 
> with "Failed to select page 1 (-6)".

That sounds very similar to the problem reported by Dreamcat4.

> -------------
> DDR4 without ee1004 and using 24c02
> 
> # echo "24c02 0x50" >/sys/bus/i2c/devices/i2c-0/new_device
> [  162.175316][  T412] i2c i2c-0: new_device: Instantiated device 24c02 
> at 0x50
> [  162.188728][  T418] at24 0-0050: 256 byte 24c02 EEPROM, writable, 1 
> bytes/write
> 
> # echo "24c02 0x51" >/sys/bus/i2c/devices/i2c-0/new_device
> [  167.112140][  T412] at24 0-0051: 256 byte 24c02 EEPROM, writable, 1 
> bytes/write
> [  167.119614][  T412] i2c i2c-0: new_device: Instantiated device 24c02 
> at 0x51
> 
> # ./decode-dimms
> # decode-dimms version $Revision$
> 
> Memory Serial Presence Detect Decoder
> By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
> Jean Delvare, Trent Piepho and others
> 
> 
> Number of SDRAM DIMMs detected and decoded: 0

The EEPROMs are most likely sitting on page 1, while the most important
information (including memory module type = DDR4, which is the key to
decode the rest properly) is not accessible. Plus the CRC check for
page 0 fails if page 1 is selected instead. That's why decode-dimms
prints nothing.

> -------------
> DDR4 with ee1004
> 
> ~# lspci -nn | grep SMBus
> 00:1f.4 SMBus [0c05]: Intel Corporation 200 Series/Z370 Chipset Family 
> SMBus Controller [8086:a2a3]
> 
> # i2cdetect -y 0
>       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
> 00:          -- -- -- -- -- 08 -- -- -- -- -- -- --
> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 30: 30 31 32 33 34 -- -- -- -- -- -- -- -- -- -- --
> 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
> 50: 50 51 -- -- -- -- 56 -- -- -- -- -- -- -- -- --
> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 6e --
> 70: -- -- -- -- -- -- -- --
> 
> # echo ee1004 0x50 > /sys/bus/i2c/devices/i2c-0/new_device
> [  394.278283][  T390] ee1004 0-0050: 512 byte EE1004-compliant SPD 
> EEPROM, read-only
> [  394.286011][  T390] i2c i2c-0: new_device: Instantiated device ee1004 
> at 0x50
> # echo ee1004 0x51 > /sys/bus/i2c/devices/i2c-0/new_device
> [  402.085416][  T390] ee1004 0-0051: 512 byte EE1004-compliant SPD 
> EEPROM, read-only
> [  402.093037][  T390] i2c i2c-0: new_device: Instantiated device ee1004 
> at 0x51
> 
> # i2cdetect -y 0
>       0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
> 00:          -- -- -- -- -- 08 -- -- -- -- -- -- --
> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 30: 30 31 32 33 34 -- UU UU -- -- -- -- -- -- -- --
> 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
> 50: UU UU -- -- -- -- 56 -- -- -- -- -- -- -- -- --
> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 6e --
> 70: -- -- -- -- -- -- -- --
> 
> # ./decode-dimms
> # decode-dimms version $Revision$
> 
> 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
> 
> ---=== SPD EEPROM Information ===---
> EEPROM CRC of bytes 0-125                        OK (0x7174)
> # of bytes written to SDRAM EEPROM               384
> Total number of bytes in EEPROM                  512
> Fundamental Memory type                          DDR4 SDRAM
> SPD Revision                                     1.1
> Module Type                                      UDIMM
> EEPROM CRC of bytes 128-253                      OK (0x1733)
> 
> ---=== Memory Characteristics ===---
> Maximum module speed                             2400 MHz (PC4-19200)
> Size                                             4096 MB
> Banks x Rows x Columns x Bits                    8 x 16 x 10 x 64
> SDRAM Device Width                               16 bits
> Ranks                                            1
> Primary Bus Width                                64 bits
> AA-RCD-RP-RAS (cycles)                           17-17-17-39
> Supported CAS Latencies                          21T, 20T, 19T, 18T, 
> 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T
> 
> ---=== Timings at Standard Speeds ===---
> AA-RCD-RP-RAS (cycles) as DDR4-2400              17-17-17-39
> AA-RCD-RP-RAS (cycles) as DDR4-2133              15-15-15-35
> AA-RCD-RP-RAS (cycles) as DDR4-1866              13-13-13-30
> 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.600 ns
> Minimum CAS Latency Time (tAA)                   13.750 ns
> Minimum RAS to CAS Delay (tRCD)                  13.750 ns
> Minimum Row Precharge Delay (tRP)                13.750 ns
> Minimum Active to Precharge Delay (tRAS)         32.000 ns
> Minimum Active to Auto-Refresh Delay (tRC)       45.750 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)        30.000 ns
> Minimum Row Active to Row Active Delay (tRRD_S)  5.300 ns
> Minimum Row Active to Row Active Delay (tRRD_L)  6.400 ns
> Minimum CAS to CAS Delay (tCCD_L)                5.000 ns
> Minimum Write Recovery Time (tWR)                15.000 ns
> Minimum Write to Read Time (tWTR_S)              2.500 ns
> Minimum Write to Read Time (tWTR_L)              7.500 ns
> 
> ---=== Other Information ===---
> Package Type                                     Monolithic
> Maximum Activate Count                           Unlimited
> Post Package Repair                              One row per bank group
> Soft PPR                                         Supported
> Module Nominal Voltage                           1.2 V
> Thermal Sensor                                   No
> 
> ---=== Physical Characteristics ===---
> Module Height                                    32 mm
> Module Thickness                                 2 mm front, 1 mm back
> Module Reference Card                            C revision 0
> 
> ---=== Manufacturer Data ===---
> Module Manufacturer                              Micron Technology
> DRAM Manufacturer                                Micron Technology
> Manufacturing Location Code                      0x0F
> Manufacturing Date                               2016-W35
> Assembly Serial Number                           0x13C5C25F
> Part Number                                      4ATF51264AZ-2G3B1
> Revision Code                                    0x31
> 
> Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0051
> Guessing DIMM is in                              bank 2
> 
> ---=== SPD EEPROM Information ===---
> EEPROM CRC of bytes 0-125                        OK (0x7174)
> # of bytes written to SDRAM EEPROM               384
> Total number of bytes in EEPROM                  512
> Fundamental Memory type                          DDR4 SDRAM
> SPD Revision                                     1.1
> Module Type                                      UDIMM
> EEPROM CRC of bytes 128-253                      OK (0x1733)
> 
> ---=== Memory Characteristics ===---
> Maximum module speed                             2400 MHz (PC4-19200)
> Size                                             4096 MB
> Banks x Rows x Columns x Bits                    8 x 16 x 10 x 64
> SDRAM Device Width                               16 bits
> Ranks                                            1
> Primary Bus Width                                64 bits
> AA-RCD-RP-RAS (cycles)                           17-17-17-39
> Supported CAS Latencies                          21T, 20T, 19T, 18T, 
> 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T
> 
> ---=== Timings at Standard Speeds ===---
> AA-RCD-RP-RAS (cycles) as DDR4-2400              17-17-17-39
> AA-RCD-RP-RAS (cycles) as DDR4-2133              15-15-15-35
> AA-RCD-RP-RAS (cycles) as DDR4-1866              13-13-13-30
> 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.600 ns
> Minimum CAS Latency Time (tAA)                   13.750 ns
> Minimum RAS to CAS Delay (tRCD)                  13.750 ns
> Minimum Row Precharge Delay (tRP)                13.750 ns
> Minimum Active to Precharge Delay (tRAS)         32.000 ns
> Minimum Active to Auto-Refresh Delay (tRC)       45.750 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)        30.000 ns
> Minimum Row Active to Row Active Delay (tRRD_S)  5.300 ns
> Minimum Row Active to Row Active Delay (tRRD_L)  6.400 ns
> Minimum CAS to CAS Delay (tCCD_L)                5.000 ns
> Minimum Write Recovery Time (tWR)                15.000 ns
> Minimum Write to Read Time (tWTR_S)              2.500 ns
> Minimum Write to Read Time (tWTR_L)              7.500 ns
> 
> ---=== Other Information ===---
> Package Type                                     Monolithic
> Maximum Activate Count                           Unlimited
> Post Package Repair                              One row per bank group
> Soft PPR                                         Supported
> Module Nominal Voltage                           1.2 V
> Thermal Sensor                                   No
> 
> ---=== Physical Characteristics ===---
> Module Height                                    32 mm
> Module Thickness                                 2 mm front, 1 mm back
> Module Reference Card                            C revision 0
> 
> ---=== Manufacturer Data ===---
> Module Manufacturer                              Micron Technology
> DRAM Manufacturer                                Micron Technology
> Manufacturing Location Code                      0x0F
> Manufacturing Date                               2016-W35
> Assembly Serial Number                           0x13C5C264
> Part Number                                      4ATF51264AZ-2G3B1
> Revision Code                                    0x31
> 
> 
> Number of SDRAM DIMMs detected and decoded: 2

This looks perfectly right.

Did you test the 2 memory module kits on the same system, or different
systems? If same system, please let us know what modules works and what
modules failed. If different systems, please check (when loading the
i2c-i801 driver) whether each has the SPD protection bit enabled or not.

Thanks,
-- 
Jean Delvare
SUSE L3 Support



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux