ECC udimm or ECC rdimm for data integrity? Is ryzen 9 pro 5000 series good enough to perform scientific simulations?

I’ve never been able to get either my Asrock Rack or ASUS BIOS error injection to work on any host.

You can enable the error injection but no errors are ever corrected.

All I have been able to do is see organic errors getting corrected and reported.

2 Likes

I have never seen that behavior on AM4 or AM5 platforms, meaning injected errors showing up as corrected ECC errors.

Why do I think ECC is working “properly”?

  • “Natural” memory errors show up in MemTest86’s or an operating system’s log as they should.

  • I’ve never seen the behavior of Error Injection seemingly working with actual memory errors getting hidden. But maybe there’s an AGESA bug here and no one ever noticed it for years…?

Here is an example for DDR5 ECC UDIMMs and a corrected organic memory error in the log by overclocking the memory modules from DDR5-5600@DDR5-6400 with the default 1.1 V and waiting for a memory error:

Maybe someone with a real server or workstation platform can A/B test this behavior?

Think I have old Broadwell EP Xeon components lying around, might be worth looking at them (works with DDR4 ECC UDIMM and DDR4 ECC RDIMM).

1 Like

This would be enough for me to feel secure that ECC is working properly.

But no errors shown after error injection while “organic” errors show up? I’d draw the conclusion that the injection isn’t working.

3 Likes

I’ve tested Memtest86 non-pro software before on my Epyc Zen3 servers. The non-pro version doesn’t have the capability of injecting errors.

When I change BIOS setting for Memory Error Injection to enabled and test with Memtest86, it never detects any errors or error corrections.

Same for the Ryzen 9 Zen 5 host with ECC Unbuffered UDIMMS. No detection of injected errors.

Both hosts detect and report corrected memory errors. This is from the Eypc 7713 host:

sudo ras-mc-ctl --summary
Memory controller events summary:
Corrected on DIMM Label(s): ‘DIMM_H1’ location: 0:0:4:-1 errors: 10

sudo ras-mc-ctl --errors
Memory controller events:
1 2025-04-20 22:09:23 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
2 2025-04-21 01:58:46 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
3 2025-04-21 05:48:09 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
4 2025-04-21 09:37:31 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
5 2025-04-21 13:26:54 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
6 2025-04-21 17:16:16 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
7 2025-04-21 21:05:39 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
8 2025-04-22 00:55:01 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
9 2025-04-22 04:44:24 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1
10 2025-04-22 08:33:47 -0700 1 Corrected error(s): at DIMM_H1 location: 0:0:4:-1, addr 71715245760, grain 6, syndrome 1

I needed to replace that H1 stick eventually which cleared up the corrected errors and the host is now memory error free.

And this is from the Ryzen 9950X host:

ras-mc-ctl --summary
Memory controller events summary:
Corrected on DIMM Label(s): ‘mc#0csrow#2channel#1’ location: 0:2:1:-1 errors: 3
Corrected on DIMM Label(s): ‘mc#0csrow#3channel#0’ location: 0:3:0:-1 errors: 3
Fatal on DIMM Label(s): ‘mc#0csrow#3channel#0’ location: 0:3:0:-1 errors: 1

1 Like

MemTest86 (Pro) seems to be pretty limited in which platforms it supports for error injection. From the Free/Pro comparison page:

Notably, AMD Epyc is not listed as a supported platform. And the only Xeon listed is “Intel Xeon Scalable 3rd gen (Ice Lake-SP)”.

2 Likes

Both platforms have the BIOS setting set to AUTO, which defines as disabled.

You can toggle the setting to Enabled on both, but only the EPYC platform documentation states that that feature is implemented. The Ryzen desktop platform does nothing for any setting value. It is just a inactive placeholder in the AMD CBS/NBIO menu.

I believe the comment that only Intel cpus are properly implemented for Memtest86 Pro error injections.

Here’s another little piece of information:

If you disable Error Injection in AM5’s UEFI memory settings but try to use it in MemTest86 you get an actual error message about the feature being disabled:

That leads me to think that my maybe initial gut feeling was correct (you only get a note that error injection was triggered if the error was immediately fixed by ECC) and Passmark didn’t properly word their documentation for the different platforms around.

But it’s certainly a topic that deserves to be clarified in full.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.