The Open Memory Initiative (OMI)
Memory module design sits behind NDAs. OMI builds a DDR4 UDIMM reference design anyone can study, modify and manufacture, with every decision recorded first.
Last updated: September 2, 2026
Why Open Memory?
The memory module industry lacks transparency. From schematic references to signal integrity guidelines, much of the knowledge is locked behind NDAs or proprietary documentation. The Open Memory Initiative was founded to change this.
OMI is building a fully transparent, reproducible DDR4 UDIMM reference design that anyone can study, modify, and manufacture.
Architecture Decision Records
Every major design decision is documented through Architecture Decision Records (ADRs) before implementation begins. This methodology ensures traceability, reproducibility, and educational value.
ADR-001: DDR4 UDIMM Form Factor Selection
Context: Choosing between SO-DIMM, UDIMM, RDIMM, and LRDIMM form factors.
Decision: UDIMM was selected as the reference platform due to its ubiquity in desktop and entry-level server systems, simpler topology (no register buffer), and lower barrier to entry for contributors.
ADR-002: KiCad as Primary EDA Tool
Context: Evaluating EDA tools for schematic capture and PCB layout.
Decision: KiCad was chosen for its open-source license, active community, and growing industry adoption. This ensures the entire toolchain remains freely accessible.
ADR-003: Documentation-First Methodology
Context: Defining the development workflow for hardware design.
Decision: All design work follows a staged approach: research, document, design, validate. Architecture decisions are recorded in ADRs before any schematic work begins.
Design Process
Power Distribution Network (PDN)
The DDR4 UDIMM requires multiple voltage rails: VDD (1.2V), VDDQ (1.2V), VPP (2.5V), and VTT (0.6V). The PDN design focuses on decoupling strategy, plane impedance, and bulk capacitor placement.
Address/Command/Clock
The address, command, and clock routing follows JEDEC timing specifications with careful attention to fly-by topology for clock and address signals. Impedance matching and length matching are critical in this domain.
Data Byte Lanes
Each data byte lane consists of 8 data bits plus a DQS strobe pair. The routing strategy prioritizes matched lengths within each byte lane while allowing controlled skew between byte lanes.
Tooling: spdr
SPD, the small EEPROM every memory module carries to describe itself, is where a module's identity, timings and vendor profiles live. A memory controller reads it before it can trust the RAM, which makes decoding it correctly a prerequisite for validating any module design. The tooling that does so is largely proprietary.
spdr is OMI's answer: a zero-copy, no_std DDR5 SPD (JESD400-5) decoder and semantic
linter. It parses an SPD image in nine stages: identity, CRC verification, timings,
manufacturing data, and the vendor overclocking profiles (Intel XMP and AMD EXPO). It
then goes past the checksum to lint what the bytes actually mean, flagging modules whose
structure or timings are internally inconsistent even when their CRC is perfectly valid.
Because it allocates nothing and needs no standard library, it runs in firmware and UEFI contexts as well as on a host.
It ships under Apache-2.0 as two crates: spdr, the library, and spdr-cli, the
command-line binary. Unbuffered modules (UDIMM) are complete; SODIMM, RDIMM and LRDIMM are
deferred.
- crates.io/crates/spdr: the published library
- docs.rs/spdr: the API documentation
- github.com/The-Open-Memory-Initiative-OMI/spdr: source
Educational Content
OMI includes 10+ educational chapters covering:
- DRAM cell fundamentals and refresh mechanisms
- DDR4 protocol timing parameters
- Signal integrity basics for memory interfaces
- Power integrity and decoupling strategies
- SPD (Serial Presence Detect) configuration
- JEDEC standards navigation guide
Tech Stack
- KiCad for schematic capture and PCB layout
- DDR4 Protocol specifications from JEDEC
- Signal Integrity analysis with open-source tools
- Git/GitHub for version control and collaboration
What's Next
- SPD configuration and validation platform
- PCB layout with impedance-controlled stackup
- SI simulation with open-source IBIS models
- Community review and manufacturing prototype