Memory Controller Error Correction for Processor Cycle Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage devices, such as RAM modules and hard disk drives, can experience errors due to external factors like cosmic rays and alpha particle emissions, leading to processor interruptions and reduced available processor cycles for task execution as the processor is required to correct these errors.
Innovation Solution
A memory controller is introduced to autonomously correct errors and fix hardware failures in data storage devices during a memory scrubbing operation using Error-Correcting Codes (ECC) without involving the processor, thereby increasing available processor cycles by performing these tasks independently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the processor corrects errors in stored data, then data integrity is maintained, but processor cycles are reduced and task execution efficiency decreases
Solution Approach 1:
The error correction function is extracted from the processor and assigned to a dedicated memory controller. The memory controller independently inspects data blocks, detects errors, and performs corrections using ECC without involving the processor, thereby maintaining data integrity while preserving processor cycles for task execution.
Solution Approach 2:
A memory controller is introduced as an intermediary component between the memory and the processor. This intermediary handles error correction autonomously, preventing errors from reaching the processor and eliminating the need for processor intervention in error correction tasks.
2Reliability
If the processor performs memory scrubbing operations, then errors are detected and corrected, but system performance and available processor cycles decrease
Solution Approach 1:
The memory controller performs self-service by autonomously conducting memory scrubbing operations. It independently inspects data blocks for errors, performs corrective actions using ECC, and verifies corrections without requiring processor involvement, thereby maintaining reliability while avoiding performance degradation.
Solution Approach 2:
The memory controller performs preliminary error detection and correction during memory scrubbing operations before data is accessed by the processor. This preliminary action prevents errors from affecting processor operations, ensuring both reliability and performance.
3Reliability
If error correction is performed using traditional methods involving the processor, then errors are corrected, but the number of available processor cycles for task execution is reduced
Solution Approach 1:
The error correction workload is extracted from the processor and transferred to the memory controller. The memory controller independently performs error detection, correction, and verification, eliminating the time the processor would spend on these tasks and maximizing processor cycle availability for productive work.
Data Source
AI summary
Example implementations relate to a memory controller. For example, an apparatus includes a data storage device and a memory controller coupled to the data storage device. The memory controller is to perform, during a memory scrubbing operation, a corrective action to correct an error associated with a data block stored in the data storage device. The memory control is to determine, during the memory scrubbing operation, whether the corrective action is successful. In response to a determination that the corrective action is a failed corrective action, the memory controller is to fix a hardware failure of the data storage device based on a type of the hardware failure.


