DRAM Data Driver Circuit Retiming for Timing Skew

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in DRAM controllers is achieving proper timing for DQ, DQS, and MEMCLK signals during write and read operations in high-speed DDR memory systems, particularly due to signal propagation delays and routing skews, which complicates the use of delay-locked loop (DLL) circuits, leading to increased silicon area, power consumption, and operational costs.

Innovation Solution

The implementation of a dynamic random access memory (DRAM) controller with a data driver circuit comprising a first latch, extension logic circuit, and a second latch, which selectively delays signals using a retiming approach to synchronize DQ, DQS, and MEMCLK signals, reducing the reliance on expensive DLL circuits and allowing for flexible launch delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If delay-locked loop (DLL) circuits are used to synchronize DQ, DQS, and MEMCLK signals, then timing precision is improved, but silicon area and power consumption increase

Engineering Contradiction:
Improvetiming precisionVSAvoidsilicon area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent divides the delay adjustment function into multiple discrete delay elements (first delay element, second delay element, third delay element) that can be independently controlled. Each delay element provides a specific delay amount, and their combinations allow precise timing adjustment without requiring a complete DLL circuit. This segmentation approach achieves the required timing precision while using less silicon area than a full DLL implementation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the delay parameter by selecting different combinations of delay elements based on training data. The training process determines optimal delay values for different operating conditions, and these delay values are stored in lookup tables. During operation, the appropriate delay elements are activated based on the stored training data, allowing precise timing adjustment without the complexity of real-time DLL phase locking.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple DLL circuits are implemented to support multiple DIMM slots, then timing synchronization is improved, but device complexity and cost increase

Engineering Contradiction:
Improvetiming synchronizationVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal delay adjustment mechanism that can serve multiple DIMM slots through a single data driver circuit. The same delay elements and training process are used regardless of which DIMM slot is being accessed. The circuit adapts to different slot configurations by selecting appropriate delay values from training data, eliminating the need for separate DLL circuits for each slot and reducing overall device complexity.

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

Solution Approach 2:

Instead of implementing separate physical DLL circuits for each DIMM slot, the patent uses a single set of delay elements that are reconfigured based on training data for different slot configurations. The training process creates virtual models of the timing characteristics for each slot, and these models are used to control the shared delay elements. This copying approach allows the system to handle multiple slots with a single physical implementation, reducing complexity and cost.

Inventive Principle:
Principle #26Copying

3Reliability

If signal propagation delays are compensated using traditional methods, then signal integrity is improved, but power consumption increases

Engineering Contradiction:
Improvesignal integrityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent performs delay compensation in advance through a training process that characterizes the timing relationships between signals for different operating conditions and DIMM slot configurations. The optimal delay values are determined during training and stored in lookup tables. During normal operation, the pre-computed delay values are simply retrieved and applied, avoiding the continuous power consumption associated with active DLL phase locking and signal monitoring.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses its own training data and operating patterns to automatically determine the appropriate delay settings without requiring external calibration or continuous adjustment. The lookup tables containing optimal delay values are generated from the system's own characteristics during initialization, allowing the circuit to self-adjust to different operating conditions without additional power consumption from external calibration equipment or continuous monitoring circuits.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7872937B2Data driver circuit for a dynamic random access memory (DRAM) controller or the like and method therefor
Publication Date: 2011.01.18 GLOBALFOUNDRIES US INC
  • US7872937B2 patent drawing
  • US7872937B2 patent drawing
  • US7872937B2 patent drawing

AI summary

A data driver includes a first latch (322), an extension logic circuit (324), and a second latch (330). The first latch (322) has an input for receiving an input data signal, a clock input for receiving a first clock signal, and an output. The extension logic circuit (324) has an input coupled to the output of the first latch (322), a control input for receiving a control signal, and an output. The extension logic circuit (324) selectively delays the output of the first latch (322) in response to the control signal. The second latch (330) has an input coupled to the output of the extension logic circuit (324), a clock input for receiving a second clock signal, and an output for providing an output data signal.