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).
- determine exact model name with
dmidecode -s system-product-name
- enter it on Lenovo’s Technical Support page
- 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 ~ #