All systems operational

Pay with Bitcoin, Monero, USDT & 11 more · email-only sign-up

Hardware

Why every server we sell has ECC memory

Memory errors are more common than most people think, and DDR5’s on-die ECC does not replace real ECC. The difference, and how to check it on your server.

DediCrypto Engineering5 min read

Key takeaways5 min read

  • In a large 2009 study of Google’s fleet, about a third of machines saw correctable memory errors each year.
  • DDR5’s on-die ECC neither protects the bus nor reports errors — true ECC modules do both.
  • Check the EDAC counters on your server: a rising ce_count means a module to replace.

Memory errors are not rare

A large field study of Google’s server fleet, published in 2009, found that about a third of machines saw at least one correctable memory error per year — and that error rates were orders of magnitude higher than laboratory estimates. On a server that runs 24/7 for years, “it will never happen to me” is the wrong bet.

What ECC does

ECC memory stores extra check bits alongside the data. The memory controller uses them to correct single-bit errors on the fly and to detect multi-bit errors, instead of silently handing corrupted data to your application — or writing it to disk, where your filesystem would faithfully checksum the corrupted version.

DDR5’s on-die ECC is not the same thing

Every DDR5 chip includes on-die ECC, which fixes errors inside the chip itself. It does not protect data on its way between the module and the CPU, and it does not report anything to the operating system. True ECC modules add extra chips and a wider bus, so the memory controller can correct and log errors end to end. When we say ECC, we mean the latter: ECC UDIMMs on Ryzen, registered ECC RDIMMs on EPYC and Xeon.

Check it on your server

$ ls /sys/devices/system/edac/mc/
mc0
$ grep . /sys/devices/system/edac/mc/mc*/ce_count
/sys/devices/system/edac/mc/mc0/ce_count:0

A memory controller listed under EDAC means error reporting is active. A rising ce_count (corrected errors) on one module is an early warning: open a ticket and we replace the module before it becomes a problem.

Sources

  1. B. Schroeder, E. Pinheiro, W.-D. Weber, “DRAM Errors in the Wild: A Large-Scale Field Study”, ACM SIGMETRICS 2009

ECC on every model.

ECC UDIMM on Ryzen, registered ECC on EPYC and Xeon — never optional.

+6 more
See the servers Talk to an engineer

Stock servers online in 2–4 hours