DRAM & Memory Design · All levels

FR-FCFS, Row-Buffer Locality, and Page Policy Control: Mechanism

Mechanism for FR-FCFS, Row-Buffer Locality, and Page Policy Control.

Mechanism to understand

Mechanism for FR-FCFS, Row-Buffer Locality, and Page Policy Control focuses on Row-hit rate, effective command efficiency, and average activate/precharge overhead per request.. The purpose is to turn memory observations into mechanism-backed actions with explicit owners and release-safe validation.

FR-FCFS (First-Ready, First-Come-First-Serve) prioritizes commands that are timing-ready now, and among those typically prefers older arrivals; in practice this strongly favors row hits because an open-row access can issue quickly while a row miss requires PRECHARGE plus ACTIVATE latency. The policy boosts throughput by harvesting row-buffer locality, but can also bias service toward hot rows and penalize streams that repeatedly miss. Page policy selection (open-page, close-page, or adaptive hybrids) determines whether the controller keeps a row open after service or proactively closes it to reduce future conflict cost. Open-page favors bursty locality workloads, while close-page limits row-conflict penalties and can stabilize latency under random access. Adaptive implementations monitor hit/miss patterns, bank-level contention, and command bus pressure, then adjust close timing or row-retention heuristics per bank. The controller must reconcile this with timing constraints such as tRAS minimum, tFAW power windows, and bank-group turnaround rules, because aggressive row management can improve one metric while degrading global fairness or power integrity. Treat this as a DRAM service pipeline, not an isolated block behavior. Traffic shape, command legality, queue policy, and margin dynamics all contribute to final latency and throughput.

A strong mechanism explanation names the first repeated transition that creates loss, then explains why that transition persists under the current workload and policy constraints.

  • Name the first failing transition and where it appears in timeline.

  • Separate symptom counters from causal mechanism evidence.

  • Assign owner who can apply smallest reversible fix.

Cell and sensing lens

diagram
DRAM CELL DIAGRAM - FR-FCFS, Row-Buffer Locality, and Page Policy Control

                bitline (BL)
                    |
           +--------+--------+
wordline --| access transistor|-- storage capacitor (Ccell)
           +--------+--------+
                    |
                  ground

Read:   BL precharge -> WL on -> tiny delta-V -> sense amp amplifies
Write:  drive BL -> WL on -> charge/discharge Ccell -> WL off

Focus: sense, restore, and retention limits
Metric tracked: Row-hit rate, effective command efficiency, and average activate/precharge overhead per request.

Array and bank lens

diagram
ARRAY HIERARCHY MAP - FR-FCFS, Row-Buffer Locality, and Page Policy Control

[Channel]
   |
[DIMM/Package]
   |
[Rank]
   |
[Bank Group]
   |
[Bank]
   |
[Subarray]
   |
[Row + Column Decode]
   |
[Cell Mat + Sense Amps]

Lens: map locality decisions to activate/precharge cost.

Scheduler queue pipeline (Fr Fcfs And Page Policy)

diagram
MEMORY CONTROLLER REQUEST PIPELINE

Ingress -> classify(addr,map,dir,class) -> enqueue -> pick -> command issue
              |                              |
              |                              +-- reorder window (N entries)
              |
              +-- queues:
                    [HiPri RQ]  [BestEffort RQ]  [WriteQ]
                         |             |           |
                         +------ arbitration ------+
                                       |
                               legal-if timing wheel passes

FR-FCFS selection with bank states (Fr Fcfs And Page Policy)

diagram
FR-FCFS DECISION VIEW (simplified)

Bank state table:
Bank0: open row 120  ready-for-CAS at t=42
Bank1: open row 087  row-miss for reqX (needs PRE+ACT)
Bank2: idle          can ACT at t=40

Queue head candidates:
reqA -> Bank1 row-miss (oldest)
reqB -> Bank0 row-hit  (younger, ready now)
reqC -> Bank2 row-miss

Pick rule:
1) First-ready wins (reqB now)
2) Among ready ties, oldest first
3) Aging/QoS guard prevents indefinite starvation

QoS + refresh-aware arbitration (Fr Fcfs And Page Policy)

diagram
ARBITRATION TIMELINE WITH REFRESH

time ---> --------------------------------------------------------------->
HiPri class     H1 ---- H2 -- H3 ----------- H4 ----
BestEffort      B1 - B2 ---- B3 ---- B4 ---- B5 ----
Refresh need          r_due..................(deadline)
Scheduler       serve H, then opportunistic B, insert REF before violation

Policy layers:
1) Hard safety: refresh/retention deadlines always met.
2) SLA tiering: critical traffic latency bounds.
3) Fairness/aging: lower classes eventually drain.

DRAM deep dive

Controller policy decides whether DRAM serves locality, fairness, and QoS targets simultaneously.

Concept diagram

diagram
CONTROLLER SCHEDULING LOOP

request queues -> row-policy + priority -> command issue -> bank state update

Metric graph

diagram
QUEUE PRESSURE MIX

row-hit preference bias ██████
aging/fairness pressure █████
QoS override cost       ███

Reports and artifacts

  • scheduler policy comparison

  • queue age distribution

  • starvation/fairness incident report

  • QoS latency percentile dashboard

Mini case study

FR-FCFS tuning improved bulk throughput but starved latency-critical traffic until age caps and class quotas were added.

Debug branches

  • Measure queue age tails by traffic class

  • Separate row-hit gains from fairness regressions

  • Stress policy under mixed burst and random streams

Senior review question

Ask: which latency, bandwidth, and reliability evidence proves this DRAM topic is closed under real traffic?

Key takeaways

  • Always tie controller and PHY counter shifts to application latency and throughput outcomes.

  • Lock firmware timing profile, thermal condition, and DIMM state before comparing DRAM captures.

Common pitfalls

  • Chasing peak bandwidth while ignoring p99 latency and fairness tails.

  • Changing timing guardbands without separating SI noise from scheduling issues.

  • Declaring closure without reliability gates, fault injection, and regression replay.

Mechanism deep dive

FR-FCFS, Row-Buffer Locality, and Page Policy Control should be read as an end-to-end memory behavior, not as a single block definition. A production DRAM subsystem reflects interactions between array physics, command legality, scheduler policy, PHY margin, and reliability controls before software experiences final latency or bandwidth.

FR-FCFS (First-Ready, First-Come-First-Serve) prioritizes commands that are timing-ready now, and among those typically prefers older arrivals; in practice this strongly favors row hits because an open-row access can issue quickly while a row miss requires PRECHARGE plus ACTIVATE latency. The policy boosts throughput by harvesting row-buffer locality, but can also bias service toward hot rows and penalize streams that repeatedly miss. Page policy selection (open-page, close-page, or adaptive hybrids) determines whether the controller keeps a row open after service or proactively closes it to reduce future conflict cost. Open-page favors bursty locality workloads, while close-page limits row-conflict penalties and can stabilize latency under random access. Adaptive implementations monitor hit/miss patterns, bank-level contention, and command bus pressure, then adjust close timing or row-retention heuristics per bank. The controller must reconcile this with timing constraints such as tRAS minimum, tFAW power windows, and bank-group turnaround rules, because aggressive row management can improve one metric while degrading global fairness or power integrity. DRAM inefficiency is multiplicative: one extra ACTIVATE, one unnecessary turnaround, one weak lane margin, or one refresh collision repeated across billions of accesses can dominate product tail latency and power.

Use Row-hit rate, effective command efficiency, and average activate/precharge overhead per request. as the opening signal, not the conclusion. A metric move only becomes actionable when paired with workload context, command traces, training telemetry, and evidence artifacts such as Row-buffer analytics report: FR-FCFS issue decisions, row-hit/miss timeline, and adaptive page-policy state transitions..

Memory-controller quality is measured by throughput and tail predictability under mixed traffic, not average bandwidth alone. Senior review quality comes from proving a complete chain: request pattern -> memory-state transition -> bottleneck mechanism -> smallest owner fix -> regression-safe validation.

Mechanism detail: FR-FCFS (First-Ready, First-Come-First-Serve) prioritizes commands that are timing-ready now, and among those typically prefers older arrivals; in practice this strongly favors row hits because an open-row access can issue quickly while a row miss requires PRECHARGE plus ACTIVATE latency. The policy boosts throughput by harvesting row-buffer locality, but can also bias service toward hot rows and penalize streams that repeatedly miss. Page policy selection (open-page, close-page, or adaptive hybrids) determines whether the controller keeps a row open after service or proactively closes it to reduce future conflict cost. Open-page favors bursty locality workloads, while close-page limits row-conflict penalties and can stabilize latency under random access. Adaptive implementations monitor hit/miss patterns, bank-level contention, and command bus pressure, then adjust close timing or row-retention heuristics per bank. The controller must reconcile this with timing constraints such as tRAS minimum, tFAW power windows, and bank-group turnaround rules, because aggressive row management can improve one metric while degrading global fairness or power integrity.

Read FR-FCFS, Row-Buffer Locality, and Page Policy Control as a loop: requests enter arbitration, transform into legal command streams, interact with bank/row state, and return as latency and reliability outcomes visible to software.

Frequent failure pattern: local improvement with global regression. A row-hit win can still hurt QoS if fairness collapses; tighter timing can still fail if margin is consumed by SI or thermal drift.