Successful upgrade: 64GB DDR4 (2 x 32GB) Kingston "fury impact"

Just sharing information that the memory works on my Purism Librem 14 L14v1-01.

Codes:

  • Kingston: KF432S20IBK2/64
  • EAN: 0740617318364

As a firmware, I use coreboot:

root@devuan-librem ~ # dmidecode -s bios-version
24.02.01-Purism-1

The CPU i7-10710U can’t use the maximum speed of this RAM, 3200 MT/s, which has CL20.
If I understand correctly from the output below, XMP has profile for lower frequencies, with smaller timings, (in my case, probably DDR4-2666 17-19-19-35).

decode-dimms output:

root@devuan-librem ~ # decode-dimms version 4.4

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 (0xA63F)
# 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                                      SO-DIMM
EEPROM CRC of bytes 128-253                      OK (0x2355)

---=== Memory Characteristics ===---
Maximum module speed                             3200 MT/s (PC4-25600)
Size                                             32768 MB
Banks x Rows x Columns x Bits                    16 x 17 x 10 x 64
SDRAM Device Width                               8 bits
Ranks                                            2
Rank Mix                                         Symmetrical
Primary Bus Width                                64 bits
AA-RCD-RP-RAS (cycles)                           20-22-22-42
Supported CAS Latencies                          22T, 21T, 20T, 19T, 18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T, 9T

---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-3200              20-22-22-42
AA-RCD-RP-RAS (cycles) as DDR4-2933              19-21-21-39
AA-RCD-RP-RAS (cycles) as DDR4-2666              17-19-19-35
AA-RCD-RP-RAS (cycles) as DDR4-2400              15-17-17-32
AA-RCD-RP-RAS (cycles) as DDR4-2133              14-15-15-28
AA-RCD-RP-RAS (cycles) as DDR4-1866              12-13-13-25
AA-RCD-RP-RAS (cycles) as DDR4-1600              10-11-11-21

---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin)                      0.625 ns
Maximum Cycle Time (tCKmax)                      1.600 ns
Minimum CAS Latency Time (tAA)                   12.500 ns
Minimum RAS to CAS Delay (tRCD)                  13.750 ns
Minimum Row Precharge Delay (tRP)                13.750 ns
Minimum Active to Precharge Delay (tRAS)         26.250 ns
Minimum Active to Auto-Refresh Delay (tRC)       40.000 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)  4.375 ns
Minimum Row Active to Row Active Delay (tRRD_L)  5.625 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 (MAC)                     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                                    30 mm
Module Thickness                                 2 mm front, 2 mm back
Module Reference Card                            E revision 1

---=== Manufacturer Data ===---
Module Manufacturer                              Kingston
DRAM Manufacturer                                SK Hynix (former Hyundai Electronics)
Manufacturing Location Code                      0x04
Manufacturing Date                               2024-W47
Assembly Serial Number                           0xF126F55F
Part Number                                      KF3200C20S4/32GX


Number of SDRAM DIMMs detected and decoded: 1

lshw output:

root@devuan-librem ~ # lshw -C memory
  *-firmware
       description: BIOS
       vendor: coreboot
       physical id: 0
       version: 24.02.01-Purism-1
       date: 05/14/2024
       size: 1MiB
       capacity: 16MiB
       capabilities: pci pcmcia upgrade bootselect acpi
  *-cache:0
…
  *-memory
       description: System Memory
       physical id: 9
       slot: System board or motherboard
       size: 64GiB
     *-bank:0
          description: SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
          product: KF3200C20S4/32GX
          vendor: Kingston
          physical id: 0
          serial: f126f55f
          slot: Channel-0-DIMM-0
          size: 32GiB
          width: 64 bits
          clock: 2667MHz (0.4ns)
     *-bank:1
          description: SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
          product: KF3200C20S4/32GX
          vendor: Kingston
          physical id: 1
          serial: 8436f2a5
          slot: Channel-1-DIMM-0
          size: 32GiB
          width: 64 bits
          clock: 2667MHz (0.4ns)
  *-memory UNCLAIMED
       description: RAM memory
       product: Comet Lake PCH-LP Shared SRAM
       vendor: Intel Corporation
       physical id: 14.2
       bus info: pci@0000:00:14.2
       version: 00
       width: 64 bits
       clock: 33MHz (30.3ns)
       capabilities: pm cap_list
       configuration: latency=0
       resources: iomemory:100-ff iomemory:100-ff memory:105ea00000-105ea01fff memory:105ea03000-105ea03fff

dmidecode output:

root@devuan-librem ~ # dmidecode --type 17
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x000A, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0009
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 32 GB
	Form Factor: SODIMM
	Set: None
	Locator: Channel-0-DIMM-0
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Unknown Synchronous
	Speed: 2667 MT/s
	Manufacturer: Kingston
	Serial Number: f126f55f
	Asset Tag: Channel-0-DIMM-0-AssetTag
	Part Number: KF3200C20S4/32GX
	Rank: 2
	Configured Memory Speed: 2667 MT/s
	Minimum Voltage: 1.2 V
	Maximum Voltage: 1.2 V
	Configured Voltage: 1.2 V

Handle 0x000B, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0009
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 32 GB
	Form Factor: SODIMM
	Set: None
	Locator: Channel-1-DIMM-0
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Unknown Synchronous
	Speed: 2667 MT/s
	Manufacturer: Kingston
	Serial Number: 8436f2a5
	Asset Tag: Channel-1-DIMM-0-AssetTag
	Part Number: KF3200C20S4/32GX
	Rank: 2
	Configured Memory Speed: 2667 MT/s
	Minimum Voltage: 1.2 V
	Maximum Voltage: 1.2 V
	Configured Voltage: 1.2 V
3 Likes

I’m not sure how to benchmark the RAM properly. Please share commands you recommend for testing…

7Z benchmark results:

root@devuan-librem ~ # 7z b

7-Zip 24.09 (x64) : Copyright (c) 1999-2024 Igor Pavlov : 2024-11-29
 64-bit locale=C.UTF-8 Threads:12 OPEN_MAX:1024, ASM

Compiler:  ver:14.2.0 GCC 14.2.0 : SSE2
Linux : 6.12.17-amd64 : #1 SMP PREEMPT_DYNAMIC Debian 6.12.17-1 (2025-03-01) : x86_64
PageSize:4KB THP:always hwcap:2 hwcap2:2
Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz
(A0660)

1T CPU Freq (MHz):  3191  3386  3814  3945  3988  3987  3973
6T CPU Freq (MHz): 599% 3246   600% 3278
12T CPU Freq (MHz): 1087% 2618   1189% 2823

RAM size:   64183 MB,  # CPU hardware threads:  12
RAM usage:   2669 MB,  # Benchmark threads:     12

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:      29151   881   3219  28359  |     375894  1196   2680  32052
23:      29080   919   3225  29629  |     366341  1180   2686  31691
24:      26100   835   3361  28063  |     351284  1162   2652  30823
25:      24751   849   3329  28261  |     261021  1058   2194  23224
----------------------------------  | ------------------------------
Avr:     27271   871   3284  28578  |     338635  1149   2553  29447
Tot:            1010   2918  29013
1 Like

I guess one thing you could do is to create a large RAM disk and then copy large files there, then I think you could be quite sure that the given size of RAM is really used. See for example How to Easily Create RAM Disk on Debian, Ubuntu, Linux Mint, CentOS - LinuxBabe for some commands that you could use.

2 Likes

Why create a RAM disk when there is already /dev/shm/ ?

1 Like