Designing a DDR4 UDIMM from Scratch: Lessons from the Open Memory Initiative
Why Build an Open Memory Module?
Memory module design has traditionally been a closed discipline. JEDEC standards provide the specification, but end-to-end reference work usually sits behind paywalled JEDEC raw cards and vendor NDAs, as OMI's README puts it.
The Open Memory Initiative set out to change this by building a DDR4 UDIMM reference design that is entirely open-source, documented, and educational.
Starting with Documentation
Before drawing a single schematic symbol, we wrote. Decision documents locked the module's shape first, DDR4 over DDR3 and a UDIMM over an SO-DIMM, and a methodology document from the same week explains why OMI documents before it prototypes.
This approach serves two purposes. First, it forces clarity of thought. Writing down why OMI v1 takes VREF from the host instead of generating it on the module meant weighing schematic complexity, analog failure modes and bring-up clarity. Second, it creates a knowledge base where a new contributor can find the reasoning behind each recorded choice.
The DDR4 UDIMM Architecture
A DDR4 UDIMM is deceptively complex. At its core, you have DRAM chips organized into ranks, connected through a carefully designed bus topology. The key subsystems include:
Power Distribution Network (PDN): OMI's edge pin map takes four supplies from the host, VDD, VPP, VTT and VDDSPD, plus the VREFCA reference, and OMI v1 regulates none of them on the module. The decoupling strategy must balance bulk capacitance, mid-frequency decoupling, and high-frequency bypass capacitors placed close to each DRAM chip.
Address/Command/Clock: DDR4 modules route these signals in a fly-by topology, past each DRAM chip in turn. Fly-by cuts stubs but gives every DRAM a different clock-to-strobe flight time, so the DRAM supports write leveling for the controller to compensate (Micron DDR4 data sheet). OMI's schematic draws these nets as a simplified star and leaves the fly-by order to layout.
Data Byte Lanes: In OMI's schematic each byte lane carries 8 data bits (DQ), a differential strobe pair (DQS) and the shared DM/DBI_n pin. Within a byte lane, length matching is critical. Between byte lanes, controlled skew is acceptable because the memory controller adjusts each lane's DQS delay during leveling (Micron DDR4 data sheet).
Signal integrity rules from a DDR4 layout guide
At DDR4 data rates, signal integrity stops being a review item and starts setting the layout rules. OMI's validation plan sets DDR4-2400 as its baseline and its layout stage deliberately sets no numbers yet, so the figures below come from TI's DDR4 layout guide for its AM62x processors, written for DDR4-1600:
| Scope | Rule | TI target |
|---|---|---|
| Data lines (DQ) | Single-ended impedance | 40 ohm |
| Strobe pairs (DQS) | Differential impedance | 80 ohm |
| Within a byte lane | DQS-to-DQ skew | 2 ps, about 10 mil |
| Between byte lanes | Length matching | Neither required nor recommended |
| Every DDR trace | Reference plane | No plane cuts; ground preferred over power |
The two length rows are the ones worth reading together. Inside a byte lane TI allows 2 ps of DQS-to-DQ skew, about 0.25 mm of trace by its five-mil-per-picosecond rule. Between byte lanes it asks for no matching at all, because leveling trains each lane's strobe separately and absorbs the difference.
What building OMI changed about our process
Three things held up across the first design cycle:
-
Document first, design second. The schematic sheets were drawn against locked decision documents, such as host-supplied VREF for the power sheet and a simplified-star representation for address, command and clock.
-
Open tools work. KiCad has matured to the point where it can handle complex, multi-page schematics with hierarchical sheets, which is how OMI's schematic is organized.
-
Education first. The educational chapters came before the design: docs 00 to 04, from system context to signal integrity, entered the repository on 2025-12-22, five days before the first KiCad file.
Where OMI v1 stops
When this post was written, validation planning was in progress, with a minimal reference schematic and layout guidelines still to come. As of October 2026, OMI v1 stops at a complete, ERC-clean schematic: PCB layout, SI/PI simulation and a fabricated board are outside it, and none of them has started (OMI README).
Browse the OMI repository to review the schematic and the decision documents behind it; issues and discussions are open for memory design, signal integrity and open hardware questions.