Skip to main content
MEMORY · RELIABILITY

ECC RAM: A Guide to ECC Memory for Industrial Computing

ECC RAM corrects memory errors before they corrupt data or crash a system. How it works, how it differs from DDR5 on-die ECC, which processors support it and when industrial systems need it.

TypeWhite paper
Published20 May 2022
AuthorAndrew WhitehouseManaging Director
Reading time23 min

ECC RAM is memory that stores extra check bits alongside the data, so the memory controller can detect and correct errors as data is read. The usual scheme corrects any single-bit error in a 64-bit word and detects, but cannot correct, two-bit errors. Ordinary non-ECC memory has no such check: a flipped bit is passed to the processor as if it were good data.

Most of the time that difference is invisible. Over months of continuous running, with tens of gigabytes of memory, it is not. A single flipped bit can corrupt a logged record, a calculation or a file being written, or crash the operating system with no obvious cause. That is why ECC memory is standard in servers and is often a requirement, not an upgrade, in industrial systems that run unattended for years.

This guide explains how ECC works, the different kinds of ECC that now appear on datasheets (including the on-die ECC built into DDR5), ECC UDIMMs, SO-DIMMs and RDIMMs, which processors and chipsets support ECC, how to check that it is working, and where it earns its place in industrial computing. For the memory basics, see our explainers on RAM and DRAM.

Key points · 5 points

Key takeaways

01It corrects single-bit errors
Eight check bits per 64 data bits let the controller fix any one-bit error and flag two-bit errors, a scheme called SECDED.
02Three parts must support it
ECC needs ECC modules, a processor and chipset that support ECC, and ECC enabled in the BIOS. One missing piece and the system runs without it.
03DDR5 on-die ECC is not ECC RAM
It repairs errors inside each DRAM chip but does not protect the bus or report errors to the system.
04Errors are rare per module, common per fleet
Field studies of large server fleets found a significant share of machines logging correctable errors each year.
05The cost is small
ECC adds modules with extra chips and usually a few per cent of performance at most, against silent data corruption.
02Types

Non-ECC vs ECC: the types compared

Several different mechanisms are now called ECC. They protect different parts of the memory path, and only some of them give the system the protection and error reporting that the term ECC RAM traditionally means.

Type Detects Corrects Protects the bus to the CPU Errors reported to the system Extra hardware Typical use
Non-ECC No No No No None (64-bit module) Desktops, short-life devices
Side-band ECC (ECC UDIMM or SO-DIMM) 2-bit errors 1-bit errors Yes Yes 72-bit DDR4 or 2× 40-bit DDR5 modules Industrial PCs, workstations, embedded boards
Registered ECC (RDIMM) 2-bit errors, more with Chipkill 1-bit errors; a failed chip with Chipkill Yes Yes ECC chips plus a register clock driver Edge and rack servers on Xeon and EPYC
In-band ECC 2-bit errors 1-bit errors Yes Yes None; check bits stored in ordinary memory Intel Atom x6000E, x7000E and similar embedded processors
DDR5 on-die ECC Within the chip 1-bit errors inside the DRAM array No No Built into every DDR5 chip All DDR5, ECC or not
LPDDR5 link ECC Link errors 1-bit link errors Yes, on the link Design-dependent Built into LPDDR5 where enabled Some SoCs and modules with soldered LPDDR5

The safe way to read a datasheet is to look for the module type (ECC UDIMM, ECC SO-DIMM or RDIMM) or for “in-band ECC”, and to ignore DDR5 on-die ECC when judging data integrity. Our guide to DDR4 vs DDR5 covers the other differences between the two memory generations.

03How it works

How does ECC memory work?

ECC memory uses a Hamming code, a way of calculating check bits from the data so that any single changed bit produces a unique pattern, called a syndrome, when the data is checked again. Standard ECC memory adds one more parity bit to that code so that two-bit errors are also detected. The result is single-error correction, double-error detection, or SECDED.

Writing and reading a word

When the memory controller writes 64 bits of data, it calculates 8 check bits and stores all 72 bits. On a DDR4 ECC module that is why there are nine chips per rank instead of eight. When the data is read back, the controller recalculates the check bits and compares them with the stored ones.

Result of the check What the controller does What the system sees
Syndrome is zero Passes the data on Nothing; normal operation
Syndrome points to one bit Flips that bit back and passes the corrected data on A correctable error is logged; the application is unaffected
Syndrome shows two bits wrong Cannot correct; stops the bad data being used An uncorrectable error; usually a machine check and a controlled halt or reboot
Three or more bits wrong May not be detected reliably Rare; this is what Chipkill and similar schemes guard against

On DDR5 the arithmetic is the same idea at a different width. Each module has two independent 32-bit sub-channels, and an ECC module adds 8 bits to each, so a DDR5 ECC module is 2× 40 bits wide, or 80 bits in all, against 72 bits for DDR4.

Parity memory: the forerunner

Before ECC became common, some PCs used parity memory, which adds one bit per byte so that the total number of ones is always even or always odd. Parity can detect a single flipped bit but cannot say which bit it was, so the only safe response is to stop the system. ECC replaced it because it both finds and repairs the error, and the system keeps running.

Scrubbing and Chipkill

A correctable error left in memory can become an uncorrectable one if a second bit in the same word fails later. Server memory controllers therefore scrub memory, reading through it in the background and writing corrected data back. Server platforms also offer Chipkill, called SDDC (single device data correction) by Intel, which spreads each word across many chips so that the failure of one whole DRAM device can be corrected. It normally needs RDIMMs built from x4 chips.

How it works

What causes memory errors?

Memory errors are not only cosmic rays. In practice there are two groups: soft errors, which flip a bit without damaging the chip, and hard errors, which come from a fault in a cell, a connection or a module.

Cause Type What it looks like What helps
Neutrons from cosmic rays Soft Random single-bit flips; more common at altitude ECC; scrubbing
Alpha particles from packaging materials Soft Random single-bit flips ECC; low-alpha materials
Electrical noise and marginal power Soft Errors under load or during switching events ECC; good power design and grounding
Temperature outside the module’s rating Soft, can become hard Errors at hot or cold extremes Temperature-rated modules; thermal design
Repeated access to nearby rows (row hammer) Soft Bit flips in neighbouring rows ECC; refresh management in DDR5
Weak or failing cells, worn connections Hard The same address fails repeatedly ECC to keep running; replace the module

Large field studies show why ECC matters at scale. A widely cited study of Google’s server fleet, published in 2009, found that about a third of machines and more than 8% of DIMMs logged at least one correctable error a year, and that many errors were caused by hardware faults rather than random particle strikes. Soft error rates also rise with altitude, because the neutron flux increases; JEDEC’s JESD89 standard defines how chip makers measure them. The rate for any one module is low, but a fleet of hundreds of computers running for years will see errors, and without ECC nobody knows when or where.

04Modules

ECC UDIMM vs RDIMM vs SO-DIMM

ECC memory comes in the same physical formats as ordinary memory, but the type has to match what the board accepts. Unbuffered and registered modules are not interchangeable. Our explainers on the DIMM and the SO-DIMM cover the formats themselves.

Module Buffering Typical capacity per module Works in Typical industrial use
ECC UDIMM None DDR4 up to 32 GB; DDR5 up to 48–64 GB Boards for ECC-capable desktop and embedded processors ATX and Micro-ATX motherboards, workstations
ECC SO-DIMM None DDR4 up to 32 GB; DDR5 up to 48 GB Compact boards and box PCs with ECC support Fanless and rugged computers, Mini-ITX
RDIMM Register clock driver buffers command and address DDR4 up to 64 GB; DDR5 up to 128 GB and more Server boards only Edge servers, storage servers
LRDIMM and 3DS RDIMM Data buffered too, or stacked dies Highest capacities Selected server boards Large in-memory workloads
Soldered ECC (memory-down) None Fixed when built The board it is soldered to Rugged SBCs, PC/104, vehicle and defence systems

A registered module puts a register clock driver between the memory controller and the DRAM chips, which reduces the electrical load and lets a channel carry more and larger modules, at the cost of about one clock cycle of extra latency. That is why RDIMMs are standard on servers: the Vecow ICS-2000 edge AI server on AMD EPYC 8004 takes six DDR5 4800 RDIMMs for up to 768 GB, and the Winmate SV500S-ML defence rack server takes eight DDR4-3200 RDIMMs on a Xeon Scalable processor.

For vibration, soldered memory removes the socket altogether. The Diamond Systems SATURN PCIe/104 boards offer 8 GB of ECC RAM soldered down, so the module cannot work loose in a vehicle or an airborne system.

05Support

Which processors support ECC memory?

ECC is a feature of the memory controller inside the processor, and the chipset and BIOS have to enable it. Many processor families support it only on certain models or with certain chipsets. The table gives typical support; the datasheet of the specific board or computer is the final word.

Processor family ECC support Module types Where we see it
Intel Xeon Scalable, Xeon D, Xeon 6 Yes RDIMM; UDIMM on some Xeon D boards Rack and edge servers
Intel Xeon W and Xeon E Yes ECC UDIMM or SO-DIMM GPU computers and workstations
Intel 12th–14th Gen Core with W680 or R680E chipset Yes, with supporting processors ECC UDIMM or SO-DIMM, DDR4 or DDR5 ATX and Micro-ATX boards, rugged box PCs
Intel Core Ultra 200S with W880 chipset Yes, as an option ECC CSODIMM or SO-DIMM Fanless AI computers and edge workstations
Intel 12th–14th Gen Core with Q, H or Z chipsets No Non-ECC only Mainstream boards
Intel Atom x6000E and x7000E In-band ECC Ordinary modules or soldered memory Elkhart Lake and Amston Lake systems
AMD Ryzen Embedded V1000, R1000, V3000 Yes ECC SO-DIMM SBCs and fanless edge computers
AMD Ryzen PRO and Ryzen 7040 on industrial boards Yes, design-dependent ECC SO-DIMM Industrial PCs and mini PCs
AMD EPYC 4004, 8004, 9005 Yes ECC UDIMM (4004); RDIMM (8004, 9005) Edge AI and storage servers
NVIDIA Jetson industrial modules On selected modules Soldered LPDDR4 or LPDDR5 Industrial-grade Jetson modules

The chipset matters as much as the processor on Intel desktop-socket designs. The ASRock Industrial IMB-X1714 is an ATX board on the W680 chipset with four ECC or non-ECC DDR5 slots, while its sister board, the IMB-1714, uses the Q670 chipset with non-ECC memory. Same socket, same processors, different memory protection. On AMD, the SolidRun Bedrock V3000 Basic on Ryzen Embedded V3000 takes ECC or non-ECC DDR5-4800 SO-DIMMs, up to 96 GB. For server-class processors, see our guide to AMD EPYC for edge servers.

Support

ECC on Arm and Jetson systems

Arm SoCs and NVIDIA Jetson modules use soldered LPDDR memory, so ECC there is a feature of the SoC and the module design rather than of a removable module. Industrial-grade Jetson modules, such as the Jetson AGX Xavier Industrial module, add ECC on their LPDDR4x memory, enabled in software, alongside a −40 to 85 °C rating, while the standard commercial modules do not. Some NXP i.MX processors, such as the i.MX 8M Plus, support inline ECC on their memory interface, but whether it is enabled depends on the board and its software image.

If an Arm or Jetson design needs ECC, ask for it at the module or SoC selection stage. It cannot be added afterwards, because there is no slot to change.

Support

In-band ECC: ECC without extra chips

Several embedded Intel processors, including the Atom x6000E and x7000E series, support in-band ECC. Instead of adding a ninth chip, the memory controller reserves part of ordinary memory for the check bits and reads them along with the data. It gives SECDED protection on modules and soldered memory that have no ECC chips, which makes it useful on compact and low-power designs.

The trade is a little capacity and bandwidth: the check bits take a small share of memory, and each protected read needs an extra access, so some performance is lost on memory-intensive workloads. It is usually enabled in the BIOS and may be off by default. Datasheets list it explicitly: the Nexcom NISE 109 series takes a DDR4 SO-DIMM of up to 16 GB with in-band ECC on its Atom x6211E and Celeron J6412 builds.

Support

How do you check that ECC is enabled?

Fitting ECC modules does not guarantee ECC is active. If the processor, chipset or BIOS does not support it, most systems run the modules as ordinary memory without warning. Check after the operating system is installed.

Where How to check What to look for
BIOS or UEFI setup Memory or chipset configuration page ECC or in-band ECC listed and enabled
Linux sudo dmidecode -t memory Error Correction Type: Single-bit ECC or Multi-bit ECC; total width 72 or 80 bits against a data width of 64
Linux, at run time EDAC driver messages, rasdaemon or edac-util A memory controller registered with EDAC and corrected error counts
Windows PowerShell: Get-CimInstance Win32_PhysicalMemoryArray MemoryErrorCorrection of 5 (single-bit ECC) or 6 (multi-bit ECC); 3 means none
Windows, at run time Event Viewer, WHEA-Logger events Corrected memory errors logged against a module

Watch the error counts over time. A few corrected errors over months are normal. A steady rise on one module usually means a failing module, and ECC is what keeps the system running until it can be replaced. On servers, the baseboard management controller logs memory errors too, so they can be monitored remotely.

06Where it matters

Do you need ECC memory?

You need ECC where an undetected error would cost more than the memory. The longer a system runs, the more memory it has and the less often anyone looks at it, the stronger the case.

Application ECC recommended? Why
Edge servers and virtualisation hosts Yes Large memory, many workloads, long uptime
Data loggers and data acquisition systems Yes A flipped bit becomes a wrong value that nobody notices
SCADA servers and historians Yes Records are trusted for years and used for decisions
Medical and laboratory systems Yes Data integrity is often part of the quality case
Rail, vehicle and defence computers Often Long service life, temperature extremes, hard to access
Edge AI with large models Often Corrupted weights or frames give wrong results silently
HMIs and thin clients Optional Errors are visible and the impact is usually low
Digital signage players Rarely A crash is visible and a reboot fixes it

ECC is one part of a reliability case, alongside a watchdog timer, power loss protection on the SSD and memory rated for the operating temperature. Our guide to MTBF explains how component reliability adds up across a system, and what medical grade means covers the medical side.

Where it matters

ECC RAM pros and cons

ECC is not free, but the costs are small and well understood.

Feature ECC RAM Non-ECC RAM
Single-bit errors Corrected and logged Passed on silently
Two-bit errors Detected; system halts in a controlled way Passed on silently
Performance Usually within a few per cent; RDIMMs add about one clock of latency Baseline
Module cost Higher; one extra chip per eight, plus lower volumes Lower
Processor choice Limited to ECC-capable processors and chipsets Any
Failing module diagnosis Error logs point to the module Random crashes with no clear cause
Speed and capacity range Slightly narrower choice of modules Widest choice

The diagnostic benefit is easy to overlook. On a non-ECC fleet, a failing module shows up as occasional crashes that look like software faults, and it can take site visits to find. On an ECC system, the log names the module before it causes a failure. That alone often justifies ECC on computers that are expensive to reach, such as those on railway rolling stock or in remote cabinets.

Where it matters

ECC-capable systems from our range

These systems cover the main ECC options, from registered memory on an edge server to ECC soldered onto a stackable board. We specify the modules with the rest of the build, check that the processor, chipset and BIOS enable ECC, then configure, image and test the computer before it ships, so ECC is confirmed working rather than assumed.

ECC type Example from our range Configuration
DDR5 RDIMM Vecow ICS-2000A AMD EPYC 8224P, six DDR5 4800 RDIMM sockets, up to 768 GB
ECC DDR5 UDIMM ASRock Industrial IMB-X1714 W680 ATX board, four ECC or non-ECC DDR5 slots, up to 128 GB
ECC DDR5 SO-DIMM SolidRun Bedrock V3000 Basic Ryzen Embedded V3000, ECC or non-ECC DDR5-4800, up to 96 GB
Soldered ECC Diamond Systems SAT-E3940-8GA Atom x5-E3940, 8 GB ECC RAM soldered down, PCIe/104 with data acquisition

For the wider range, browse our AMD industrial computers, which include many ECC-capable Ryzen Embedded and EPYC designs, and our rack mount servers. For how processor families line up, see our guide to CPU generations and embedded processors.

Specify · 6 checksECC memory

How to specify ECC memory

Six checks that make sure ECC is present and working in the delivered system.

  1. 01

    Processor

    Confirm the exact processor model supports ECC; support can differ within one family.

  2. 02

    Chipset

    On Intel desktop sockets, look for W680, R680E or W880 rather than Q, H or Z chipsets.

  3. 03

    Module type

    Match UDIMM, SO-DIMM or RDIMM to the board; registered and unbuffered modules do not mix.

  4. 04

    BIOS setting

    Check ECC or in-band ECC is enabled and stays enabled after a BIOS update.

  5. 05

    Error reporting

    Make sure the operating system logs corrected errors and that someone monitors them.

  6. 06

    Temperature grade

    Use ECC modules rated for the system’s full operating range.

07FAQs

ECC RAM: common questions

Quick answers

What is ECC RAM?

Memory with extra check bits that correct errors. It stores 8 check bits for every 64 data bits so the memory controller can correct single-bit errors and detect two-bit errors as data is read.

Is DDR5 ECC memory?

Not by default. Every DDR5 chip has on-die ECC, which repairs errors inside the chip, but full ECC needs ECC DDR5 modules with extra chips and a processor and chipset that support them.

Can I use ECC RAM in a non-ECC motherboard?

Usually, as non-ECC memory. Unbuffered ECC modules often run in boards without ECC support, with the check bits ignored. Registered modules (RDIMMs) do not work in boards built for unbuffered memory.

Can you mix ECC and non-ECC memory?

It is not recommended. Where a mixed set runs at all, ECC is normally disabled for the whole system. Use matched modules of one type.

Is ECC RAM slower?

Slightly, in most cases. The check adds very little time, and registered modules add about one clock cycle. On most workloads the difference is within a few per cent.

What is the difference between ECC UDIMM and RDIMM?

RDIMMs add a register to buffer commands. That allows more and larger modules per channel on server boards. ECC UDIMMs work on workstation and embedded boards. The two are not interchangeable.

Which CPUs support ECC memory?

Server, workstation and many embedded processors. Xeon, EPYC, Ryzen Embedded and Ryzen PRO support it, as do Intel Core processors on W680, R680E or W880 chipsets. Many Atom processors offer in-band ECC.

How do I know if ECC is enabled?

Check the BIOS and the operating system. On Linux, dmidecode reports the error correction type; on Windows, Win32_PhysicalMemoryArray reports it. Corrected error logs confirm it is working.

FAQs

Memory FAQs

  1. What Is RAM?

    RAM (random-access memory) is a computer’s short-term working memory. It holds the operating system, programs and data the processor is using right now, so they can be read and changed in nanoseconds. RAM is volatile, so it is cleared when the power goes off, and it is separate from storage such as an SSD.

  2. What Is DRAM?

    DRAM, or dynamic random-access memory, is the main memory in almost every computer. Each bit is stored as a charge in a tiny capacitor that leaks, so the memory refreshes itself thousands of times a second. It is dense and cheap per bit, but volatile: it loses its data when power is removed.

  3. What Is a DIMM?

    A DIMM, or dual in-line memory module, is the small circuit board that carries a computer’s RAM chips and plugs into a memory slot on the motherboard. It has separate contacts on each side and a 64-bit data path. SO-DIMM is the shorter version used in laptops and compact industrial boards.

  4. What Is a SO-DIMM?

    A SO-DIMM (small outline dual in-line memory module), also written SODIMM, is the compact memory module used in laptops, mini PCs, embedded boards and small industrial computers. It is about half the length of a desktop DIMM and uses the same DRAM chips, so it performs the same at the same speed, but neither fits the other’s slot.

  5. DIMM vs SO-DIMM: What Is the Difference?

    A DIMM is the full-size memory module used in desktops, servers and larger industrial boards. A SO-DIMM is the short version, about half the length, used in laptops, mini PCs and compact embedded boards. At the same DDR generation and speed they perform the same; they differ in size, pin count and slot, so they are not interchangeable.

  6. What Is a Baseboard Management Controller (BMC)?

    A baseboard management controller (BMC) is a small, separate processor on a server or industrial motherboard that runs independently of the main CPU and operating system. Through its own network connection it lets administrators power-cycle, monitor, update and reinstall a computer remotely, even when the system has crashed or is switched off.

  7. What Is a Watchdog Timer?

    A watchdog timer (WDT) is a hardware countdown that resets a computer or microcontroller if its software stops responding. Healthy software restarts the countdown at regular intervals. If the software hangs and the timer reaches zero, the watchdog triggers a reset, so an unattended system recovers by itself instead of waiting for someone to restart it.

// NEXT STEP

Need ECC memory in an industrial system?

Tell us the uptime and data-integrity requirement, how much memory the workload needs and where the system will be installed. We will recommend an industrial computer or edge server with the right ECC scheme, then configure, image and test it with ECC confirmed working before it ships.

Phone · UK +44(0)1785 558 300