How to find out if ECC is enabled


New Member

Messages: 2

Hi all,

both, the mainboard AsRock X470D4U (with recent firmware P3.10)
and Ryzen 7 3700X CPU should work with ECC RAM (while not officially supported).
RAM is KSM26ED8/16ME DDR4-2666 ECC DIMM.

dmesg and dmidecode do not indicate ECC (see below), I think.
Data path should show additional ECC bits.

There is only one related BIOS setting, I’m aware of:
The only Bios setting, I tried was:
Advanced -> AMD CBS -> UMC-> DDR4 -> Common RAS -> ECC conf _DRAM ECC enable
Changing this from AUTO to ENABLED makes no difference.
Any Bios related hint welcome!

Looking at a Xeon E5 CPU, dmidecode shows Total Width: 72 bits und Data Width: 64 bits.
72-64=8; These are the 8 parity bits.
The Ryzen CPU shows Total Width von 128 Bit und Data Width: 64 bits.

Is ECC enabled?
If not, how to enable it?
If yes, why does FreeBSD does not recognice it?

Thanks, Ajr

PS: I'm aware that this is release candidate OS, but should be near to release (-;
PPS: parts from dmesg and dmidecode:
Copyright (c) 1992-2019 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 12.1-RC1 r353428 GENERIC amd64
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
VT(efifb): resolution 800x600
CPU: AMD Ryzen 7 3700X 8-Core Processor              (3593.32-MHz K8-class CPU)
Origin="AuthenticAMD"  Id=0x870f10  Family=0x17  Model=0x71  Stepping=0
AMD Features=0x2e500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM>
Structured Extended Features2=0x400004<UMIP,RDPID>
AMD Extended Feature Extensions ID EBX=0x10eb757<CLZERO,IRPerf,XSaveErPtr>
SVM: NP,NRIP,VClean,AFlush,DAssist,NAsids=32768
TSC: P-state invariant, performance statistics
real memory  = 68719476736 (65536 MB)
avail memory = 66818646016 (63723 MB)
. . .
root@b5:~ # dmidecode  -t memory
# dmidecode 3.2
# SMBIOS entry point at 0xed2b3000
Found SMBIOS entry point in EFI, reading table from /dev/mem.
SMBIOS 3.2 present.

Handle 0x000F, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Multi-bit ECC
    Maximum Capacity: 128 GB
    Error Information Handle: 0x000E
    Number Of Devices: 4

Handle 0x0017, DMI type 17, 84 bytes
Memory Device
    Array Handle: 0x000F
    Error Information Handle: 0x0016
    Total Width: 128 bits
    Data Width: 64 bits
    Size: 16384 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM 0
    Bank Locator: P0 CHANNEL A
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2666 MT/s
    Manufacturer: Kingston
    Serial Number: E72F267D
    Asset Tag: Not Specified
    Part Number: 9965745-002.A00G
    Rank: 2
    Configured Memory Speed: 2400 MT/s
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V
    Memory Technology: DRAM
    Memory Operating Mode Capability: Volatile memory
    Firmware Version: Unknown
    Module Manufacturer ID: Bank 2, Hex 0x98
    Module Product ID: Unknown
    Memory Subsystem Controller Manufacturer ID: Unknown
    Memory Subsystem Controller Product ID: Unknown
    Non-Volatile Size: None
    Volatile Size: 16 kB
    Cache Size: None
    Logical Size: None
. . .


Active Member

Reaction score: 62
Messages: 206

Hardware Canucks have an interesting article titled ECC MEMORY & AMD’S RYZEN – A DEEP DIVE.

They tested an ASRock X370 Taichi, and discuss the BIOS settings for ECC. Hopefully they are similar to your motherboard.

Spoiler: disappointment awaits -- they found single bit ECC errors being corrected, and double bit ECC errors being ignored...


New Member

Messages: 2

Unfortunately, the 3 bios settings mentioned in this article are already in place (auto).
Interesting is the edac-util, which is available on Linux but not on FreeBSD.
So I'm still looking for a solution . . .

Thanks for answering,