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.
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
Reserved (0) Other (1) Unknown (2) None (3) Parity (4) Single-bit ECC (5) # Unbuffered Multi-bit ECC (6) # Registered ECC CRC (7)
$ 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