DDR Memory Controller Calibration Using Core Clock Delay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

DDR memory controllers face challenges in efficiently capturing and processing memory data due to timing skews and silicon real estate requirements, with existing solutions often introducing significant latency and using extensive delay elements and asynchronous FIFOs.

Innovation Solution

A DDR memory controller design that eliminates delay elements on data inputs, uses core domain clocking mechanisms, and incorporates self-configuring logic to dynamically calibrate timing, reducing latency and silicon usage while adapting to system-level timing irregularities and power supply variations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If delay elements are added to compensate for timing skews, then timing accuracy is improved, but silicon real estate increases and latency increases

Engineering Contradiction:
Improvetiming accuracyVSAvoidsilicon real estate
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent merges the timing calibration function with the existing Asynchronous FIFO structure by utilizing its internal delay elements and clocking mechanisms. Instead of adding separate delay elements, the calibration logic repurposes existing FIFO resources to achieve timing skew compensation, thereby avoiding additional silicon real estate consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The Asynchronous FIFO is designed to serve multiple functions: data buffering, timing calibration, and skew compensation. By making the FIFO multi-functional, the patent eliminates the need for dedicated delay elements while maintaining timing accuracy, thus reducing silicon real estate requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If complex calibration circuits are added to adapt to system timing irregularities, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improveadaptability to timing irregularitiesVSAvoidcontroller circuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory controller performs self-calibration using built-in logic that automatically measures and compensates for timing skews without external intervention. The calibration process is integrated into the normal operation, allowing the system to adapt to timing irregularities while minimizing additional circuit complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent adjusts timing parameters dynamically by modifying the calibration values stored in the Multi-Purpose Register based on measured skew conditions. This allows the controller to adapt to different system implementations by changing operational parameters rather than adding complex hardware for each scenario.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If additional delay elements and gating circuits are added, then reliability is improved, but latency increases

Engineering Contradiction:
Improvedata capture reliabilityVSAvoiddata latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The calibration process is performed in advance during initialization, determining optimal delay values that are stored for subsequent operations. This preliminary calibration ensures reliable data capture without adding latency during actual memory operations, as the compensation values are pre-computed and stored.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8843778B2Dynamically calibrated DDR memory controller
Publication Date: 2014.09.23 UNIQUIFY IP HOLDINGS LLC
  • US8843778B2 patent drawing
  • US8843778B2 patent drawing
  • US8843778B2 patent drawing

AI summary

A method for calibrating a DDR memory controller is described. The method provides an optimum delay for a core clock delay element to produce an optimum capture clock signal. The method issues a sequence of read commands so that a delayed version of a dqs signal toggles continuously. The method delays a core clock signal to sample the delayed dqs signal at different delay increments until a 1 to 0 transition is detected on the delayed dqs signal. This core clock delay is recorded as “A.” The method delays the core clock signal to sample the core clock signal at different delay increments until a 0 to 1 transition is detected on the core clock signal. This core clock delay is recorded as “B.” The optimum delay value is computed from the A and B delay values.