Memory Controller With Speculative Precursor Commands for LPDDR5 Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controllers face challenges in optimizing data throughput by efficiently scheduling memory access requests while adhering to the timing constraints of memory devices, particularly in protocols like LPDDR5 and LPDDR5X, where the scheduling of precursor commands such as ACTIVATE procedures limits the flexibility and efficiency of data bus utilization.

Innovation Solution

The implementation of speculative precursor commands, specifically allowing the early issuance of ACT1 commands relative to the ACT2 commands, provides increased flexibility to the command scheduler by enabling the ACT1 command to be sent earlier than traditionally allowed, thereby optimizing the selection of higher priority commands like read or write operations within the timing constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional memory access protocols are used with strict timing constraints, then timing compliance is ensured, but data throughput is limited

Engineering Contradiction:
Improvedata throughputVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by allowing the ACT1 precursor command to be issued before the ACT2 precursor command, rather than waiting for ACT2 to be ready. This reordering enables the memory controller to start the activation process earlier, improving data throughput while still meeting timing constraints through speculative execution and validation mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If precursor commands are strictly scheduled according to protocol specifications, then protocol compliance is maintained, but command scheduler flexibility is reduced

Engineering Contradiction:
Improvecommand scheduler flexibilityVSAvoidprotocol compliance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies dynamics by making the command scheduling flexible and adaptive rather than rigid. The controller dynamically adjusts the issuance timing of ACT1 and ACT2 commands based on system conditions, using speculative execution where ACT1 is issued early and then validated. This dynamic approach increases scheduler flexibility while maintaining protocol compliance through validation mechanisms.

Inventive Principle:
Principle #15Dynamics

3Productivity

If ACT1 command is issued early to optimize throughput, then data bus utilization improves, but timing constraint violation risk increases

Engineering Contradiction:
Improvedata bus utilizationVSAvoidread latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by issuing the ACT1 command before the traditional timing window would allow, effectively performing the activation preparation early. This early issuance improves data bus utilization by keeping the bus busy with useful work. The speculative nature of this early issuance is managed through validation to ensure timing constraints are ultimately met.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12443341B1Memory controller with speculative precursor commands
Publication Date: 2025.10.14 ARM LTD
  • US12443341B1 patent drawing
  • US12443341B1 patent drawing
  • US12443341B1 patent drawing

AI summary

A memory controller includes a command scheduler, a timer and an interface configured to transmit memory access commands, including primary and secondary precursor memory access commands, to a memory. The command scheduler selects memory access commands associated with memory access requests. The timer indicates expiration of first and second time periods. The first time period is shorter than the second time period by a designated amount and the second time period is greater than or equal to a minimum time between a prior memory access command and a secondary precursor memory access command for the memory. The command scheduler allows selection of a primary precursor memory access command when the first time period has expired and allows selection of a secondary precursor memory access command when the second time period has expired.