Memory Rank¶
Group DRAM devices behind one chip-select so they activate together and contribute parallel bit lanes to one logical data-width unit on a memory channel.
Core Idea¶
A memory rank is a set of DRAM devices that share a chip-select and are activated as one logical unit. The devices contribute parallel bit lanes so their combined interface supplies the channel data width for an access—classically 64 data bits on a non-ECC DIMM, with additional lanes when error correction is present. Other command and address signals are commonly shared across ranks; chip select determines which rank responds.
A module may contain one or more ranks, and a channel can carry ranks across multiple modules. Rank count is logical/electrical, not reliably inferred from whether chips are mounted on one or two physical sides.
Scope of Application¶
Memory rank is literal in DRAM module organization, channel design, controller scheduling, and system configuration.
- DIMM specification. Reporting single-, dual-, quad-, or higher-rank organization.
- Capacity design. Combining device density and width into module capacity.
- Memory-controller scheduling. Alternating ranks to hide timing constraints.
- Signal integrity. Budgeting command/address loading across ranks.
- ECC organization. Adding parallel devices to supply check-bit lanes.
- Performance diagnosis. Separating rank, bank, channel, and module effects.
Clarity¶
State memory generation, module type, channel width, ECC status, rank count, and device width. Explain how chip selects partition devices and how their lanes sum to the rank width. Use labels such as 2R×4 only with those definitions. Do not infer rank from visual chip placement or transfer performance rules from another generation.
Manages Complexity¶
Rank abstracts many DRAM packages into one controller-visible selection and data unit. It lets capacity, timing, and command scheduling be reasoned about without tracking each chip separately. The abstraction hides physical layout and internal banks; debugging fails when rank, bank, DIMM, and channel are collapsed into one notion of 'memory row.'
Abstract Reasoning¶
- Fix the channel interface and required data width.
- Record each DRAM device's bit width and density.
- Group enough devices to supply the channel width under one chip select.
- Add check-bit devices if ECC is used.
- Partition additional capacity into separately selected ranks.
- Check controller rank limits and electrical loading.
- Schedule commands with rank and bank timing distinguished.
- Validate the logical organization from SPD or platform data.
Knowledge Transfer¶
The strict parent is Composition: multiple narrow devices are arranged into one wider logical unit whose behavior depends on coordinated activation. Parallelism is related, but rank identity also requires shared selection and unified controller visibility. Outside DRAM, 'rank' has unrelated mathematical and hierarchical meanings.
Composition is the strict parent because a rank combines parallel component lanes into a logical interface with a width none of the selected devices supplies alone. The transferable pattern is select component group together → concatenate simultaneous contributions → expose one composite unit.
Relationships to Other Abstractions¶
Current abstraction Memory Rank Domain-specific
Parents (1) — more general patterns this builds on
-
Memory Rank is a kind of Composition Prime
Composition is the strict parent because a rank combines multiple devices into a cohesive controller-visible unit with properties determined by their arrangement.
Hierarchy path (1) — routes to 1 parentless root
- Memory Rank → Composition → Gestalt Principles → Holism
Neighborhood in Abstraction Space¶
Memory Rank sits in a sparse region of the domain-specific corpus (96th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.
Family — Unclustered & Miscellaneous (1565 abstractions)
Nearest neighbors
- Micro-thread (multi-core) — 0.76
- DMX512 — 0.76
- Non-uniform memory access — 0.75
- CPU cache — 0.75
- Memory-bound function — 0.75
Computed from structural-signature embeddings · 2026-09-08