Checking for ECC RDIMM vs. UDIMM

Recently, I wanted upgrade my workstation from 64GB to 128GB to cater for a potential test with databases; I also want to give a boost to my freeNAS & home app server, bumping its ECC memory.

ECC memory is so cheap nowadays so it’s very easy to get 64GB in 2x32GB DIMM (because I have maxed out 12 DIMM slots on my workstation). Its only problem is to be able to get the right ECC: I was not sure if my workstation is RDIMM, my server sure is.

Luckily it’s easy to get ECC type.

On Windows

To check if the memory is ECC, run this on PowerShell:

wmic MEMORYCHIP get DataWidth,TotalWidth


DataWidth  TotalWidth
64         72
64         72
64         72

ECC : TotalWidth = 72 (bit), 64 bit + 8 bit correction
non-ECC: TotalWidth = 64 (bit)

And to see what type of ECC (Registered vs. Unbuffered)

wmic memphysical get memoryerrorcorrection
MemoryErrorCorrection
6  # --> ECC multi-bit i.e RDIMM
5  # --> ECC single-bit i.e UDIMM
MemoryErrorCorrection
Reserved (0)

Other (1)

Unknown (2)

None (3)

Parity (4)

Single-bit ECC (5) # Unbuffered

Multi-bit ECC (6)  # Registered ECC

CRC (7)

Reference: https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-physicalmemoryarray?redirectedfrom=MSDN

Linux

$ dmidecode --type 16



$ dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.



Handle 0x01A2, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 192 GB
Error Information Handle: Not Provided
Number Of Devices: 64

Number Of Devices: 64

 

1 thought on “Checking for ECC RDIMM vs. UDIMM

  1. Hegedüs Zoltán Reply

    I am using 64 bit Windows 10 Home (2004, fully refreshed). The command “wmic MEMORYCHIP get DataWidth,TotalWidth” gives 2 identical lines: datawidth = 64, totalwidth = 128: so, the cause maybe the multi-bit ECC: the bus is 72 bits wide, so maybe the data is 512 bits, the ECC is 64 bits: 8*64 bits = 8 transfer units are united 1 unit store unit. I have 2 channel DDR4 Unbuffered ECC memory: 2 pieces of KSM24ES8/ME: 16 GB total. The command “wmic memphysical get memoryerrorcorrection” gives 6: multi-bit ECC, but I have unbuffered memory, not registered! Ryzen 3 3100, Asus Prime B450M-A motherboard.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.