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

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

 



Awesome thanks!
Just to reminder that of my system specs, i have this ASUS maximus ix
apex (z270) motherboard, and both my ram kits, one a crucial ballistix
(BLS2K16G4D30AESB), the other a g.skill trident-z (F4-3200C15-16GTZ),
neither decoded with this motherboard.

Well compiled it, tried just tried now, and with the trident-z kit,
and decode-dimms.new (my download of the newer online version of this
script), and works!

Will need to reboot and double check for the Cruicial kit, which will
be coming shortly, in my next message.

Here is the output from the trident-z kit

$ sudo ./decode-dimms.new
# 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/2-0050
Guessing DIMM is in                              bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-125                        OK (0x7EAF)
# 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 (0xDF74)

---=== Memory Characteristics ===---
Maximum module speed                             2132 MHz (PC4-17000)
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)                           15-15-15-36
Supported CAS Latencies                          16T, 15T, 14T, 13T,
12T, 11T, 10T

---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-1866              13-13-13-31
AA-RCD-RP-RAS (cycles) as DDR4-1600              11-11-11-27

---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin)                      0.938 ns
Maximum Cycle Time (tCKmax)                      1.500 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)         33.000 ns
Minimum Active to Auto-Refresh Delay (tRC)       46.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)        21.000 ns
Minimum Row Active to Row Active Delay (tRRD_S)  3.700 ns
Minimum Row Active to Row Active Delay (tRRD_L)  5.300 ns
Minimum CAS to CAS Delay (tCCD_L)                5.625 ns

---=== Other Information ===---
Package Type                                     Monolithic
Maximum Activate Count                           Unlimited
Post Package Repair                              One row per bank group
Soft PPR                                         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 1

---=== Manufacturer Data ===---
Module Manufacturer                              G Skill Intl
DRAM Manufacturer                                Samsung
Part Number                                      F4-3200C15-16GTZ


Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/2-0052
Guessing DIMM is in                              bank 3

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-125                        OK (0x7EAF)
# 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 (0xDF74)

---=== Memory Characteristics ===---
Maximum module speed                             2132 MHz (PC4-17000)
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)                           15-15-15-36
Supported CAS Latencies                          16T, 15T, 14T, 13T,
12T, 11T, 10T

---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-1866              13-13-13-31
AA-RCD-RP-RAS (cycles) as DDR4-1600              11-11-11-27

---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin)                      0.938 ns
Maximum Cycle Time (tCKmax)                      1.500 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)         33.000 ns
Minimum Active to Auto-Refresh Delay (tRC)       46.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)        21.000 ns
Minimum Row Active to Row Active Delay (tRRD_S)  3.700 ns
Minimum Row Active to Row Active Delay (tRRD_L)  5.300 ns
Minimum CAS to CAS Delay (tCCD_L)                5.625 ns

---=== Other Information ===---
Package Type                                     Monolithic
Maximum Activate Count                           Unlimited
Post Package Repair                              One row per bank group
Soft PPR                                         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 1

---=== Manufacturer Data ===---
Module Manufacturer                              G Skill Intl
DRAM Manufacturer                                Samsung
Part Number                                      F4-3200C15-16GTZ


Number of SDRAM DIMMs detected and decoded: 2
[id:~] $


A quick recap of what Jean has changed in the ee1004.c

$ diff ee1004.c foo.c
59a60,76
> static int ee1004_get_current_page(void)
> {
>     int err;
>
>     err = i2c_smbus_read_byte(ee1004_set_page[0]);
>     if (err == -ENXIO) {
>         /* Nack means page 1 is selected */
>         return 1;
>     } else if (err < 0) {
>         /* Anything else is a real error, bail out */
>         return err;
>     } else {
>         /* Ack means page 0 is selected, returned value meaningless */
>         return 0;
>     }
> }
>
108a126,135
>             if (status == -ENXIO) {
>                 /*
>                  * Don't give up just yet. Some memory
>                  * modules will select the page but not
>                  * ack the command. Check which page is
>                  * selected now.
>                  */
>                 if (ee1004_get_current_page() == page)
>                     status = 0;
>             }
193,198c220,221
<     err = i2c_smbus_read_byte(ee1004_set_page[0]);
<     if (err == -ENXIO) {
<         /* Nack means page 1 is selected */
<         ee1004_current_page = 1;
<     } else if (err < 0) {
<         /* Anything else is a real error, bail out */
---
>     err = ee1004_get_current_page();
>     if (err < 0)
200,203c223
<     } else {
<         /* Ack means page 0 is selected, returned value meaningless */
<         ee1004_current_page = 0;
<     }
---
>     ee1004_current_page = err;




On Fri, Apr 19, 2019 at 7:39 PM Jean Delvare <jdelvare@xxxxxxx> wrote:
>
> On Thu, 18 Apr 2019 18:19:46 +0300, Jarkko Nikula wrote:
> > Same system. Working set (two DIMMs) is Micron and failing set is
> > Crucial. Interestingly decode-dimm was able to parse also Crucial when
> > plugged in together with Micron and all of them probed with ee1004 but
> > not when there were 2* or 4* Crusial DIMMs alone.
>
> Dreamcat4, I have put an updated ee1004 driver at:
>
> http://jdelvare.nerim.net/devel/lm-sensors/drivers/ee1004/
>
> Please build it and give it a try. It includes a hack which may
> workaround the weird behavior of your memory modules.
>
> You'll still need to instantiate the 2 ee1004 devices manually, as
> before. You should be able to read from the eeprom files without error
> now, and hopefully decode-dimms will even print sensible values.
>
> --
> 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