ECC Memory & AMD’s Ryzen – A Deep Dive
Understanding Motherboard & UEFI Limits
Now that we have confirmed that the processors support ECC, it’s time to talk a bit about the role that motherboard and the UEFI plays. The star of this page is going to be the ASRock X370 Taichi.
As we explained on the previous page, AMD platforms have historically always supported ECC. The memory controllers had the feature enabled, and all that really mattered on the motherboard side was the presence of check bit traces between the memory slots and the processor that could to route the ECC signals. Thankfully, the motherboards pretty much always were equipped with those traces, even on models that never advertised support for ECC memory. Based on the handful of AM4 motherboards that we have inspected that once again appears to be the case.
Once you have an ECC-enabled memory controller, a motherboard with the right traces, and a few sticks of ECC memory, the next step is whether the BIOS/UEFI properly supports ECC. This is where things start getting a little bit iffy. AMD placed all the responsibility for ECC support on the motherboard manufacturers, and they aren’t really willing to step up to the plate and assume that responsibility…you will find out why in the conclusion. As a result, while most motherboard manufacturers have now come to acknowledge that their motherboards are indeed ECC enabled, that is the extent of their involvement. Not one is offering an enable/disable option in the UEFI, and we haven’t seen anyone but ASRock and ASUS have any ECC settings available at the moment.
Given the fact that they are ahead most of the competition in this area, using the ASRock X370 Taichi for this article was an easy decision. While we did not have to manually adjust any of the three ECC-related settings (DRAM scrub time/Redirect scrubber control/Data Poisoning) for this article, their presence gives us an idea of what settings the other motherboard manufacturers could be unlocking.
This lack of settings severely hampers the overall ECC functionality, since a big part of it is that the motherboard should be able to log errors. Right now, no such logging capability exists. Thankfully, there is a possible software solution. The operating system – if it fully supports this new AM4 platform – should have the ability to log errors and corrections. If it does not, the hardware might be silently correcting single-bit errors and even detecting ‘catastrophic’ two-bit errors, but you will never know about it since there will be no log. That’s what we are going to look into next.
To conclude this page, we strongly suspect that just about every AM4 motherboard likely has ECC enabled, or at the very least will in the future. Most motherboard manufacturers certainly aren’t actively supporting it, or even unlocking any of the features that accompany it, but they don’t appear to be maliciously disabling it either. At this point in time, they simply have other way more important things on their plate, like improving memory support, overclocking, ensuring that IOMMU is functional, etc. Furthermore, we strongly suspect that they are presently unable to unlock all of the necessary settings without a newer CPU microcode from AMD.