Credit-Based Segmentation for Memory Calibration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory subsystems face challenges in efficiently calibrating data strobe signals due to inherent delays and inter-lane skew, which affect signal sampling and noise susceptibility, especially when transitioning between different operating points.
Innovation Solution
A credit-based segmentation control system is implemented, where a memory controller with a calibration circuit subdivides calibration into segments and a credit circuit provides condition codes (red, yellow, or green) to manage calibration time, allowing for termination or continuation based on pending transactions and available credits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If calibration is performed to determine optimal sampling points and threshold voltages, then signal integrity and noise immunity are improved, but calibration time and system complexity increase
Solution Approach 1:
The calibration process is divided into multiple segments, each handling specific calibration tasks (e.g., threshold voltage calibration, sampling point calibration, delay calibration). This segmentation allows the system to perform comprehensive calibration while managing time consumption through prioritized execution and conditional termination of segments.
Solution Approach 2:
The system performs calibration actions in advance during idle periods or low-activity states. The credit-based mechanism pre-allocates calibration opportunities, and the system proactively executes calibration segments when credits are available, rather than waiting for calibration to be explicitly triggered during high-activity periods.
2Measurement precision
If comprehensive calibration is performed to account for inter-lane skew and delays, then measurement precision is improved, but device complexity increases
Solution Approach 1:
Different calibration parameters (threshold voltage, sampling point, delay) are calibrated in separate segments with dedicated circuits. This modular approach improves measurement precision for each parameter while managing overall system complexity through organized, independent calibration modules that can be executed selectively.
Solution Approach 2:
The credit circuit acts as an intermediary that manages and coordinates calibration requests from multiple sources. It tracks calibration needs, allocates credits, and controls the execution sequence of calibration segments, simplifying the overall control logic while enabling comprehensive calibration.
3Productivity
If calibration is terminated early to respond to pending transactions, then productivity is improved, but signal quality may deteriorate
Solution Approach 1:
The calibration process is made dynamic through the credit-based termination mechanism. The system can adaptively terminate calibration segments based on real-time system conditions (pending transactions, credit availability). This dynamic approach allows the system to balance productivity and signal quality by performing sufficient calibration when possible while responding to urgent transaction needs when necessary.
Solution Approach 2:
The system performs partial calibration when time or credits are constrained, executing only the most critical calibration segments. The credit mechanism allows for excessive calibration in some cases (when credits are abundant) while accepting partial calibration in others (when credits are limited), optimizing the trade-off between thoroughness and productivity.
Data Source
AI summary
A system and method for calibrating memory using credit-based segmentation control is disclosed. A memory and a memory controller coupled thereto. The memory controller includes a calibration circuit configured to calibrate a data strobe signal conveyed to/from the memory. The calibration may be subdivided, in time, into a number of segments. The memory controller also includes a credit circuit configured to provide a condition code to the calibration circuit. The condition code may be indicative of an amount of time a request has been pending, or how many request are pending. If the condition code indicates that a request has been pending for more than a certain amount of time, the calibration may be terminated.


