Announcement

Collapse
No announcement yet.

AMD EDAC Linux Driver Being Extended To Support Ryzen 7000 Series CPUs

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AMD EDAC Linux Driver Being Extended To Support Ryzen 7000 Series CPUs

    Phoronix: AMD EDAC Linux Driver Being Extended To Support Ryzen 7000 Series CPUs

    With some basic additions to the amd64_edac Linux kernel driver, the Ryzen 7000 series desktop processors are being treated like the EPYC 9004 series for EDAC reporting, including ECC error reporting on supported RAM/motherboard configurations...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    The 5950x can use ECC RAM as well, and it's supported on the ASRock X570D4I-2T motherboard. It'd be nice if the reporting worked there as well.

    Comment


    • #3
      I thought all mobos support ECC with Ryzen? Never had issues with ASRock b450 and b550. I think it's just in EGESA?

      Comment


      • #4
        Most boards its supported. Just not reported.

        Comment


        • #5
          Originally posted by phoronix View Post
          Now if only more AMD Ryzen 7000 series motherboards would officially support ECC memory...
          There is an overview of the situation over on Reddit

          It seems that most mobo makers (except MSI, but MSI had like a single AM4 mobo with ECC support…) want to support ECC but are waiting on firmware updates to address problems.

          Comment


          • #6
            "Most boards it's supported. Just not reported"

            A lot of motherboards do support ECC and quite a few do not, it varies greatly by manufacturer and board type. As far as I can tell most ASRock motherboards support ECC, a lot of Gigabyte motherboards do not. I have yet to find a micro-ATX motherboard that supports it, there might be one or two out there but they are rare. ECC requires more data bits (the ECC bits) to be routed on the motherboard so a lot of low end motherboards do not support it.

            It is not widely reported because most people don't know/care about ECC. If you need it it is easy enough to find out if a motherboard supports it by visiting the manufacturers web page for that motherboard and looking at the RAM specifications which I have done on multiple occasions.

            I am interested in using ECC for servers and have a NFS file server using a Ryzen 5 1500X with an ASRock AB350 Pro4 motherboard and 16 GiB of ECC SDRAM. The specs might seem a bit low but for my use case they work well although I would like to increase the SDRAM to 32 GiB. I am currently looking at building a container based web server and it will use a much higher end processor, maybe a Ryzen 7000 series, and motherboard and use 64 GiB of ECC SDRAM.

            Comment


            • #7
              Originally posted by peterdk View Post
              I thought all mobos support ECC with Ryzen? Never had issues with ASRock b450 and b550. I think it's just in EGESA?

              Most desktop Ryzen CPUs and also the more recent laptop Ryzen CPUs, i.e. the 6000 and the 7000 series, support ECC.

              However, having ECC support in the CPU is not enough.

              The second step is ECC support in the motherboard, i.e. the MB must include PCB copper traces for the extra ECC bits. There are many desktop MBs with ECC support, especially from ASUS and ASRock, but I have not seen yet any laptop MB for Ryzen with ECC support. The MBs with ECC support can be identified by looking in the MB specification at the memory section where it must be written something like "supports ECC and non-ECC unbuffered DIMMs" and there must be no disclaimer like "ECC DIMMs are used in non-ECC mode".


              The third step is ECC support in the BIOS/UEFI MB firmware, which must initialize correctly the CPU memory controller when ECC DIMMs are detected. If the CPU, the MB and the BIOS/UEFI MB firmware all support ECC, then single memory errors will be corrected.

              The fourth step is ECC support in the operating system, in the EDAC device driver. This is necessary for notifications about uncorrectable errors, for the ability to view error statistics and to identify which DIMMs have aged and must be replaced, and also for the ability to test if the system works correctly, by injecting memory errors.


              I have not looked more recently at the kernel source, but a couple of years ago the Linux EDAC driver for Ryzen was a horrible mess that had not been updated since the Bulldozer days and which no longer matched the newer Ryzen memory controller. Because after Bulldozer AMD has stopped documenting their memory controller, it would have been very difficult for any third party to try to update the obsolete Ryzen Linux EDAC driver.

              Therefore these are extremely welcome and long-awaited news, that finally the AMD EDAC driver will work for desktop CPUs as well as the corresponding Intel EDAC driver.











              Last edited by AdrianBc; 25 May 2023, 07:58 AM.

              Comment


              • #8
                Originally posted by peterdk View Post
                I thought all mobos support ECC with Ryzen? Never had issues with ASRock b450 and b550. I think it's just in EGESA?
                There is a difference between On-die ECC and "real" ECC afaik. I think all DDR5 modules have on-die ECC which somewhat protects the data while it's in the memory module, but not on the way from/to the CPU. For on-die ECC you don't need support (no additional line on the motherboard between CPU and memory required).
                Real ECC on the other hand does need those additional lines. It also covers more possible corruption cases.

                So far I only read that the Asus Ryzen 7000 boards support "real" ECC (at least the B650E ones), but I'm sceptical if this is correct. The others (Gigabyte, MSI, Asrock, Biostar and NZXT) don't seem to, for consumer boards. Server boards like those from ASRock Rack or Gigabyte do support "real" ECC.

                But they all support unbuffered DIMMs only, I don't knkw if it's possible to use registered(?) DIMMs.

                Comment

                Working...
                X