Memory Controller Error Recovery via Selective Command Reissue
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data communication systems face inefficiencies due to error detection and correction processes, which limit the availability of memory controllers for normal operations and increase memory latency.
Innovation Solution
The method involves issuing commands to redrive devices, storing received data, and merging it to complete commands, as well as transmitting a constant pattern during link retraining with a sequence of transitions to maintain alignment, thereby reducing the complexity and time spent on corrective actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the memory controller performs corrective actions such as retraining the link and reissuing commands, then transmission errors are corrected, but the time spent on corrective actions increases and availability for normal operations decreases
Solution Approach 1:
The system performs preliminary error detection by checking acknowledgment packets before initiating corrective actions. The memory controller detects errors in acknowledgment packets returned from the memory device, allowing it to identify transmission errors early and initiate targeted corrective actions only when necessary, rather than performing blanket retraining operations.
Solution Approach 2:
The system extracts and handles only the specific commands that encountered errors, rather than retraining the entire link. The memory controller identifies which specific read or write commands failed based on error detection in acknowledgment packets, and reissues only those specific commands after targeted retraining, leaving other commands unaffected and continuing normal operations.
2Reliability
If the memory controller reissues commands after error detection, then data integrity is maintained, but the complexity of error correction processes increases
Solution Approach 1:
The system uses feedback from acknowledgment packets to detect transmission errors. The memory device returns acknowledgment packets that contain error detection information, allowing the memory controller to identify which commands failed. This feedback mechanism enables precise error detection and targeted reissue of only the failed commands, simplifying the error correction process compared to blanket retraining approaches.
Solution Approach 2:
The error correction process is segmented into distinct stages: error detection through acknowledgment packet checking, selective identification of failed commands, targeted link retraining, and selective reissue of only the failed commands. This segmentation allows the system to handle errors efficiently without complicating the overall process, as each stage is independent and well-defined.
3Reliability
If the link is retrained to correct transmission errors, then error rates are reduced, but the memory controller's availability for normal operations is reduced
Solution Approach 1:
The system performs partial link retraining only for the specific lanes or channels that experienced errors, rather than retraining the entire link. When errors are detected in acknowledgment packets, the memory controller identifies the affected command channels and performs targeted retraining only on those specific channels, allowing other channels to continue normal operations without interruption.
Solution Approach 2:
The system performs preliminary error detection through acknowledgment packet checking before initiating link retraining. This allows the system to determine whether retraining is actually necessary, avoiding unnecessary retraining operations that would reduce availability. The memory controller only initiates link retraining when errors are actually detected, maintaining high availability during error-free operation.
Data Source
AI summary
Systems and methods to respond to error detection are provided. A particular method may include issuing a first command to a first redrive device and a second command to a second redrive device. The method may also include reissuing the second command to the second redrive device in response to detecting a transmission error between a memory controller and the second redrive device. The method may further include storing at a first buffer first data that is received from the first redrive device in response to the first command. The method may include storing at a second buffer second data that is received from the second redrive device in response to the reissued second command. The method also may include merging the second data with the first data.


