ThinkPad X270 RAM upgrade

Table of Contents

Since 32 GiB SO-DIMMs are cheap at the moment, I decided to try an upgrade my ThinkPad X270 from it’s current 16 GiB RAM to 32.

determine currently used module

Originally the laptop had one M471A2K43BB1-CRC module.

root@x270 ~ # dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0003, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 32 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x0004, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0003
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 16384 MB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 2133 MT/s
	Manufacturer: Samsung
	Serial Number: [REDACTED]
	Asset Tag: None
	Part Number: M471A2K43BB1-CRC    
	Rank: 2
	Configured Memory Speed: 2133 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.2 V

Handle 0x0005, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0003
	Error Information Handle: Not Provided
	Total Width: Unknown
	Data Width: Unknown
	Size: No Module Installed
	Form Factor: Unknown
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: Unknown
	Type Detail: None
	Speed: Unknown
	Manufacturer: Not Specified
	Serial Number: Not Specified
	Asset Tag: Not Specified
	Part Number: Not Specified
	Rank: Unknown
	Configured Memory Speed: Unknown
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: Unknown

root@x270 ~ # 

That’s a Samsung SO-DIMM 16GB, DDR4-2400, CL17-17-17

Being absolutely positively sure how many DIMM slots there are

For this I used the X270 Hardware Maintenance Manual (aka HMM).

  1. determine exact model name with dmidecode -s system-product-name
  2. enter it on Lenovo’s Technical Support page
  3. the HMM should be findable under Documentation / User Guides

Yes, I could just search the internet for Lenovo’s specs page and verify the number of SO-DIMM slots there, but I need the HMM anyway for the proper docs about screw locations and instructions on how to deal with the built-in battery.

Choosing a 32 GiB SO-DIMM

Now, like pretty much all vendors, Lenovo’s compatibility matrix will only include modules tested when the machine was developed / tested.

This laptop being from 2017, and there were AFAIK no 32 GB modules on the market, I am not surprised by threads like this one

Armed with the specs of the currently installed 16 GiB SO-DIMM, I simply searched my vendor of choice for what 32GiB DDR4 SO-DIMMs were available.

This led me to Samsung 32GB DDR4-2666 PC4-21300S SO-DIMM 260-Pin CL19-19-19. And a quick search for M471A4G43MB1-CTD x270 made me pretty confident the chose stick will work.

Yes, it’s a compatible match, not an exact match, but this is a notebook, not a high performance server (CL19 != CL17). And my module of choice falls under DDR4-2400 or faster.

Enter UEFI setup to disable internal battery

Just because I can, well and because I dislike sitting in front of the machine, waiting for the right moment to press F1 to enter setup;

root@x270 ~ # efibootmgr | grep 'BootNext\|Setup'
Boot0010  Setup
root@x270 ~ # efibootmgr --bootnext 0010
BootNext: 0010
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0017,0018,0019,001A,001B,001C,001D
Boot0000* Fedora
Boot0010  Setup
Boot0011  Boot Menu
Boot0012  Diagnostic Splash Screen
Boot0013  Lenovo Diagnostics
Boot0014  Startup Interrupt Menu
Boot0015  Rescue and Recovery
Boot0016  MEBx Hot Key
Boot0017* USB CD
Boot0018* USB FDD
Boot0019* NVMe0
Boot001A* ATA HDD1
Boot001B* ATA HDD0
Boot001C* USB HDD
Boot001D* PCI LAN
Boot001E* IDER BOOT CDROM
Boot001F* IDER BOOT Floppy
Boot0020* ATA HDD
Boot0021* ATAPI CD
root@x270 ~ # 

Installing the module

Was done as per section 1040 Memory module in the HMM.

Do not forget that step 1 is to disable the internal battery!

Post upgrade check

root@x270 ~ # free -h
              total        used        free      shared  buff/cache   available
Mem:           31Gi       560Mi        29Gi       148Mi       852Mi        30Gi
Swap:          16Gi          0B        16Gi
root@x270 ~ # dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0003, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 32 GB
	Error Information Handle: Not Provided
	Number Of Devices: 2

Handle 0x0004, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0003
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 32 GB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 2133 MT/s
	Manufacturer: Samsung
	Serial Number: [REDACTED]
	Asset Tag: None
	Part Number: M471A4G43MB1-CTD    
	Rank: 2
	Configured Memory Speed: 2133 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.2 V

Handle 0x0005, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0003
	Error Information Handle: Not Provided
	Total Width: Unknown
	Data Width: Unknown
	Size: No Module Installed
	Form Factor: Unknown
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: Unknown
	Type Detail: None
	Speed: Unknown
	Manufacturer: Not Specified
	Serial Number: Not Specified
	Asset Tag: Not Specified
	Part Number: Not Specified
	Rank: Unknown
	Configured Memory Speed: Unknown
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: Unknown

root@x270 ~ #