Ryzen 2200G ECC support

TheColin21

Dabbler
Joined
Jul 2, 2023
Messages
19
Hi, my NAS started out with a single 18TB mirror and now contains a 3x18TB RAIDZ1 and a 2x512GB SSD mirror. I am running quite a few apps and thinking about running a vm as well.

My Ryzen 2200g is currently paired with 16GB of non ECC memory. I am thinking about upgrading to 32GB and, while doing so, switching to ECC.

I have read a lot of contradicting information online about whether that CPU supports ECC memory. After reading a lot of it it seems, that the CPU does support ECC memory but that there is (or at least) was no real driver support for it.

Is there any way to find out (before buying the wrong memory) if TrueNAS SCALE supports this configuration?
My mainboard is an ASUS Prime B450M-K II.
 

TheColin21

Dabbler
Joined
Jul 2, 2023
Messages
19
Yes. I also think, that the hardware should support it. What I want to know is, if the software will support it.
 

asap2go

Patron
Joined
Jun 11, 2023
Messages
228
The Ryzen G series processors do NOT support ECC with exemption of the Pro versions only supplied to OEMs.
Also there are some caveats with the availability of PCIe lanes/features. E.g. the Ryzen 5700G has only PCIe 3.0 instead of 4.0 like the 5700x or something like that.
 

Etorix

Wizard
Joined
Dec 30, 2020
Messages
2,134
There are no "drivers" for ECC. The motherboard and CPU handle it, or not, and TrueNAS (or any other OS) does with it.
On some platforms, the paid version of Passmark's MemTest can test ECC support by injecting errors; if it works with your board, this is the best you can do to check.
 

TheColin21

Dabbler
Joined
Jul 2, 2023
Messages
19
The Ryzen G series processors do NOT support ECC with exemption of the Pro versions only supplied to OEMs.
Also there are some caveats with the availability of PCIe lanes/features. E.g. the Ryzen 5700G has only PCIe 3.0 instead of 4.0 like the 5700x or something like that.
The 2200G does not officially Support it by many people report it working still.
 

TheColin21

Dabbler
Joined
Jul 2, 2023
Messages
19
There are no "drivers" for ECC. The motherboard and CPU handle it, or not, and TrueNAS (or any other OS) does with it.
On some platforms, the paid version of Passmark's MemTest can test ECC support by injecting errors; if it works with your board, this is the best you can do to check.
I understood, that the EDAC would have to support the CPUs memory Controller.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
I understood, that the EDAC would have to support the CPUs memory Controller.
Yes, but that is all in hardware. The OS will just log things like "single bit error corrected" or similar if the hardware throws an appropriate alert.
 

ChrisRJ

Wizard
Joined
Oct 23, 2020
Messages
1,919
The 2200G does not officially Support it by many people report it working still.
When it comes to safety-related feature I always recommend a paranoid mindset.

In this particular case, there is a fundamental difference between "supported" and "works". The latter can just as well mean that the boards boots with ECC UDIMMs and works normally, but is not capable of catching the error conditions that would usually be handled by ECC. There may of course be exceptions. But my overall experience is that people who are experienced with servers and this topic, don't go into th direction of trying unsupported configuration for such a critical feature. So this means that the people reporting "success" tend to know less about this. Again, I will do some folks injustice with that statement. But I am willing to accept this because my data are more important to me than the hurt feelings of some wannabees.
 

TheColin21

Dabbler
Joined
Jul 2, 2023
Messages
19
Thanks to you all for your messages. I'll get a Ryzen PRO 3350G or something similar thats cheap used and actually supports ECC
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
Yes, the Ryzen Pro are supposed to support ECC.

Plus, at least some Ryzen Pros support encrypted memory. My Ryzen 5 PRO 4650U is supposed to have the ability to encrypt each processes memory, so that if a memory leak occurs, that other process' context does not have the correct key to decrypt it.
 
Top