Adaptive Frequency Control for Memory Controller Timing Mismatch
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory sub-systems lack the capability to address frequency mismatch between memory controllers and memory devices, leading to uncorrectable error correcting code (UECC) events during high-speed operations, which cannot be corrected by existing error correction codes, resulting in write/read failures.
Innovation Solution
The implementation of an adaptive frequency control mechanism that dynamically adjusts the operating frequency of memory controllers and memory dies during operational lifetime, and pre-screens memory dies with poor timing margins before assembly to ensure reliable operation, using a frequency-based defect screening process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory devices operate at high speeds, then productivity is improved, but frequency mismatch between memory controller and memory devices occurs causing UECC events
Solution Approach 1:
The patent implements dynamic frequency adjustment where the memory controller continuously monitors for UECC events and adjusts the operating frequency of memory devices in real-time. When UECC events are detected, the controller reduces the frequency to eliminate timing mismatches, and when no errors occur, it increases frequency to maximize performance. This dynamic adaptation resolves the contradiction between high-speed operation and error-free reliability.
Solution Approach 2:
The patent changes the operating frequency parameter of memory devices based on observed error patterns. By monitoring UECC events and adjusting the frequency parameter accordingly, the system adapts to varying timing margins and process variations, maintaining reliable operation across different operating conditions while preserving high-speed performance when possible.
2Reliability
If frequency-based defect screening is performed on memory dies, then reliability is improved by preventing UECC events, but device complexity increases due to additional screening processes
Solution Approach 1:
The patent performs frequency-based screening tests on memory dies during manufacturing before they are assembled into final products. By conducting these preliminary tests at different frequency points, the system identifies dies with poor timing margins early in the manufacturing process, allowing defective dies to be sorted out before assembly. This preliminary action prevents future UECC events without requiring complex runtime adjustments.
3Reliability
If operating frequency is dynamically adjusted to reduce frequency mismatch, then reliability is improved, but loss of time occurs due to frequency changes and recovery attempts
Solution Approach 1:
The patent implements a feedback mechanism where the memory controller monitors for UECC events and uses this information to adjust operating frequency. The feedback loop continuously observes error patterns and modifies frequency settings accordingly, creating a self-correcting system that adapts to changing conditions while minimizing manual intervention and time loss.
Data Source
AI summary
A command to read specific data stored at a memory die is received. A read operation is performed while operating both a memory controller and the memory die simultaneously at a first frequency. A processor determines whether a first error rate associated with the memory die satisfies a first error threshold criterion (e.g., UECC). Responsive to determining that the first error rate satisfies the first error threshold criterion, the read operation is repeated while operating at least one of the memory controller or the memory die at a second frequency that is different from the first frequency. The processor determines whether a second error rate associated with the memory die satisfies a second error threshold criterion. Responsive to determining that the second error rate satisfies the second error threshold criterion (e.g. UECC persists), determining that the read operation has failed.


