According to AMD Ryzen supports ECC memory, but they did not validate it, so we don't know whether this feature works properly. Is there a way to test whether ECC is working properly? Afaik. memtest86+ has some ECC related tests, but is that enough for validation?
There is a detailed article here:
For posterity here the conclusion:
In conclusion, what is currently available on the AM4 platform is an incomplete implementation of ECC. This is very likely why motherboard manufacturers have been relatively hesitant about claiming that their products support ECC memory in ECC mode. Based on our findings, there is clearly some level of ECC functionality that is working right now, but it does not cover the full spectrum of memory error detection and correction.
If ECC works and corrects errors, some logs will contain that info.
A few soft errors per year can naturally occur, but if you really want to produce more of them, then probably rowhammerjs can help. It does not work on every architecture and with every memory settings however.
By AMD processors you can try to force enable ECC with the following code in Linux.
modprobe -v amd64_edac_mod ecc_enable_override=1
If it fails, then you can be certain that ECC is not supported. There are rumors that recent systems with Ryzen do not support this, and ofc. it is generally not recommended to force enable this feature.
Afaik. memtest86+ is good to, since it tries to check whether the ECC works, not just the meta data about whether it is turned on, which can't be really trusted.
I did a little research in the topic. According to forums and articles here is a list of a few boards:
Motherboard ECC support ASRock AB350 Pro4 1? (above 2.20 BIOS version) ASRock Fatal1ty AB350 Gaming K4 0 ASRock X370 Killer SLI 1 Asrock X370 Taichi 1 Asus PRIME B350-PLUS 0? Asus PRIME B350M-A 0? Asus PRIME X370-PRO 1 Biostar B350GT5 0 Biostar X370GT3 0? Gigabyte GA-AB350-Gaming 0 Gigabyte GA-AB350-Gaming 3 0 Gigabyte GA-AB350M-HD3 0 Gigabyte GA-AX370-Gaming K7 1 MSI B350 PC MATE 0? MSI B350 TOMAHAWK 0? MSI B350M GAMING PRO 0 MSI X370 KRAIT GAMING 0? MSI X370 SLI PLUS 0?
By Biostar and MSI board there is no documentation about this in the manual, the other vendors tend to mention whether the board supports ECC in non-ECC mode. Most of the X370 boards support the feature. Afaik. Gigabyte don't want to support the feature on its B350 boards. Not a clue about Asus by the same chipset. According to a forum in dutch the ASRock AB350 Pro4 supports the feature from 2.20b BIOS version, but it is not confirmed with tests.
4 things are needed to have a working ECC:
- memory controller that supports ECC (in the CPU nowadays)
- ECC memory
- some circuitry on the mobo to deliver the extra bits to the CPU (I am not a electrical engineer, so I don't know the exact terms)
- a short mobo microcode to enable the feature
In some cases only the 4th is missing and latter BIOS updates can enable this feature.