Memory Calibration Margin Checks for Fast Performance-State Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory calibration in subsystems consumes significant time, particularly in multi-rank systems and during frequency changes, impacting system performance and availability.
Innovation Solution
Perform memory calibrations during initialization for multiple performance states, storing differences in results, and use these differences to set parameters for new states without full recalibration, supplemented by margin check calibrations at reduced points to verify validity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If full horizontal calibration is performed for each performance state change, then sampling accuracy is ensured, but memory unavailability time increases and power consumption increases
Solution Approach 1:
The system performs horizontal calibration during initialization for multiple performance states and stores the calibration results. When transitioning between performance states, the system retrieves pre-stored calibration results instead of performing full calibration, thereby reducing memory unavailability time while maintaining sampling accuracy.
Solution Approach 2:
The system changes the calibration approach based on performance state transitions. For frequent or minor state changes, it uses margin check calibration with fewer points. For significant state changes or initial calibration, it performs full horizontal calibration. This dynamic parameter adjustment optimizes both accuracy and time efficiency.
2Measurement precision
If full horizontal calibration is performed for each performance state change, then sampling accuracy is ensured, but power consumption increases
Solution Approach 1:
The system performs horizontal calibration during initialization for multiple performance states and stores the calibration results. When transitioning between performance states, the system retrieves pre-stored calibration results instead of performing full calibration, thereby reducing power consumption while maintaining sampling accuracy through selective recalibration.
Solution Approach 2:
The system performs margin check calibration at reduced points (partial action) for routine performance state transitions instead of full horizontal calibration. This partial calibration uses fewer calibration points and less power while still ensuring adequate sampling accuracy for most operational scenarios.
3Loss of time
If margin check calibration at reduced points is used, then power consumption and time are reduced, but calibration thoroughness may be compromised
Solution Approach 1:
The system dynamically adjusts calibration thoroughness based on performance state transition characteristics. For minor or frequent state changes, it uses margin check calibration with reduced points. For significant state changes, initial system setup, or when calibration failures occur, it performs full horizontal calibration. This adaptive approach balances time efficiency with calibration reliability.
Solution Approach 2:
The system monitors calibration results and system performance to determine when full horizontal calibration is necessary versus when margin check calibration suffices. If sampling errors are detected or performance degradation occurs, the system triggers a full calibration to restore thoroughness, creating a feedback loop that maintains reliability while optimizing time usage.
Data Source
AI summary
Memory calibration with a margin check is disclosed. A memory subsystem includes a memory and a memory controller coupled to the memory. The memory controller includes a calibration circuit configured to perform, during an initialization process, horizontal memory calibrations for ones of a plurality of performance states and to determine and store, in a storage circuit, information indicative of a set of differences between calibration results for pairs of the plurality of performance states. The memory controller is further configured to, subsequent to the initialization process and in response to a change from a first one of the plurality of performance states to a second one of the plurality of performance states set initial memory parameters for the second performance state based on the set of differences. Thereafter, operation begins in the second performance state without performing an initial horizontal calibration.


