Blog

RDIMM vs UDIMM vs SODIMM: Memory Module Types

DDR5 OF DIMM

Three labels cover almost every memory module you will ever order: UDIMM, RDIMM and SODIMM. They are often listed side by side as if they were three flavours of the same thing. They are not. Two of them describe how address and command signals reach the DRAM chips; the third describes how big the circuit board is. Confusing the two axes is why memory arrives that physically fits and still refuses to boot.

UDIMM: the default, and the one with a ceiling

A UDIMM is an unbuffered DIMM. Address, command and clock signals travel straight from the memory controller in the CPU to every DRAM chip on the module. Nothing sits in between.

That directness is the advantage: no extra component, no added latency, lower cost. It is also the limit. Every DRAM chip presents an electrical load to the controller, and those loads add up across the module and across the channel. Push too many chips onto too many modules and the signal integrity falls apart. This is why desktop and workstation boards typically cap out at two modules per channel, and why UDIMM capacities top out well below what a server needs.

Almost every module sold for a desktop, a laptop, a mini PC or an industrial panel PC is a UDIMM, whether or not the listing says so. If a spec sheet just says “DDR4 DIMM” with no other qualifier, it is unbuffered.

RDIMM: a register between the controller and the chips

A RDIMM is a registered DIMM. It carries a Registering Clock Driver — the RCD — that receives address, command and clock signals from the controller, re-drives them, and only then passes them to the DRAM chips.

The controller now sees one load per module instead of one load per chip. That single change is what lets servers run far more ranks and far more capacity per channel than any desktop board can. The cost is one clock cycle of added latency on command signals, and a module that only works on a platform designed for it.

That last point is the one that bites. RDIMM and UDIMM are not interchangeable. A server board expecting registered memory will not post with unbuffered modules, and a desktop board will not post with registered ones. You also cannot mix them in the same system. The keying is often identical, so the module slots in perfectly and the machine simply stays dark.

There is a third variant worth knowing by name: LRDIMM, load-reduced. It buffers the data lines as well as the command lines, pushing capacity per channel higher still. It lives entirely in server territory.

SODIMM: a size, not a signalling scheme

SODIMM stands for small outline DIMM. It describes the physical module — roughly half the length of a full-height DIMM — and nothing else about how signals are routed.

This is the distinction people miss. A SODIMM is normally unbuffered, which makes it a UDIMM in a smaller package. Registered and ECC SODIMMs exist for embedded server boards, but they are the exception. So the honest comparison is not “UDIMM vs RDIMM vs SODIMM” at all. It is buffering (unbuffered or registered) on one axis, and form factor (full-height DIMM or SODIMM) on the other.

SODIMM shows up wherever board height or depth is constrained: laptops, mini PCs, NUC-class systems, thin clients, digital signage players, 1U appliances and a large share of industrial panel PCs — the same class of equipment that tends to pair it with a commercial or industrial SSD rather than a consumer drive.

Pin counts settle most compatibility questions

Generation and form factor together fix the pin count, and the notch position enforces it mechanically:

  • DDR5 — 288-pin DIMM, 262-pin SODIMM, 1.1V
  • DDR4 — 288-pin DIMM, 260-pin SODIMM, 1.2V
  • DDR3 — 240-pin DIMM, 204-pin SODIMM, 1.5V or 1.35V low voltage

DDR4 and DDR5 DIMMs both use 288 pins, which trips people up constantly. The notch sits in a different place, so a DDR5 module will not seat in a DDR4 slot. There is no adapter between generations, and there never will be: the memory controller is inside the CPU, so the CPU decides which generation the board accepts.

What ECC actually means on DDR5

Every DDR5 module carries on-die ECC. That is a correction mechanism inside the DRAM array itself, added because cell densities got high enough that internal bit errors became routine. It is present on ordinary consumer DDR5.

It is not what a server means by ECC memory. That is link ECC across the bus, which needs both an ECC module and a platform that supports it, and which reports corrected errors to the operating system. On-die ECC reports nothing to anyone. Reading “DDR5 has ECC built in” as “I no longer need ECC memory” is a mistake that only surfaces when something is already corrupting data. Every DDR5 SODIMM and DDR5 DIMM we build carries on-die ECC for exactly this reason; none of them is a substitute for a platform-level ECC design.

Ranks: the spec buyers skip

A rank is a set of DRAM chips the controller addresses together as one 64-bit block (72-bit with ECC). A single-rank module presents one such block; a dual-rank module presents two, selected by separate chip-select signals. Capacity and rank count are related but not the same thing — a 16GB module can be built either way, depending on the density of the chips used.

Why it matters in practice: ranks add electrical load, and boards limit how many they can drive at full speed. A board that runs two single-rank modules at its rated speed may drop a speed grade when you fit two dual-rank modules of the same total capacity. Nothing is broken and no error appears — the system just quietly runs slower. If you are ordering replacements for machines already in the field, this is the specification most likely to make the new units behave differently from the old ones.

Population rules that cost people a boot

Slots are rarely equal. On a four-slot board the two channels are usually interleaved, so filling slots 1 and 2 often gives you single-channel operation while filling 1 and 3 gives dual-channel — a real bandwidth difference from the same two modules. The board manual states the order; the silkscreen colours usually hint at it.

Two more that come up constantly. Mixing sizes generally works but the system falls back to the slower or more conservative timing across all modules. And mixing buffered with unbuffered does not work at all, which is worth repeating because the modules can be mechanically identical: an RDIMM will seat perfectly in an unbuffered board and the machine will simply never post.

How to work out what your board takes

Four questions, in order:

  • Which generation? The CPU decides. DDR3, DDR4 and DDR5 are not interchangeable.
  • DIMM or SODIMM? The board decides, by slot size.
  • Unbuffered or registered? The platform decides. Consumer and industrial boards want unbuffered; server platforms usually require registered.
  • What rank organisation and speed bin? This is the one people skip, and it is why two modules of the same advertised capacity can clock differently in the same board. Quote the organisation, not just the size.

What Qootec supplies

Qootec manufactures DDR3, DDR4 and DDR5 memory in both formats: full-height DIMM modules for desktops, workstations and industrial PCs, and SODIMM memory for laptops, mini PCs, thin clients and appliances. These are unbuffered modules — UDIMM-class — rated 0°C to 70°C, with a three-year warranty. Registered and load-reduced modules are server-platform parts and are outside the range.

Modules are built and tested in the Shenzhen factory we’ve owned since 2014, and samples or small orders ship in three days. If you are matching an existing configuration, send the density, speed bin, rank organisation and voltage of the module currently installed rather than just the capacity — that is what makes a repeat order behave identically to the units already in the field. Most customers put memory and drives from the Qootec SSD range on one purchase order; for cabinet or vehicle-mounted equipment the industrial grade line is screened to -40°C to 85°C.

Not sure which part number fits? Send us the board specification or download the Qootec catalogue.

Leave a Reply

Your email address will not be published. Required fields are marked *