Adaptive Memory ECC Modes for Tagged and Non-Tagged Operation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face scalability issues and high costs due to the complexity and cost of implementing tagged main memory, which is necessary for efficient error detection and correction in graph-oriented databases and analyses, especially in systems with increasing memory capacity and new technologies like 3D stacking and lower voltage.
Innovation Solution
The implementation of a tagged memory subsystem using commodity memory devices with adaptive error correction schemes and smart memory controllers that dynamically select error correction modes based on error types, allowing for fine-grained synchronization and efficient use of ECC bits, enabling operation in both tagged and non-tagged memory modes without hardware architectural changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tagged main memory is implemented to improve error detection and correction, then system reliability is improved, but device complexity and manufacturing cost increase
Solution Approach 1:
The patent segments the error correction functionality by implementing it at the cache line level rather than requiring full tagged memory implementation. Each cache line is independently protected with ECC bits, allowing selective error correction without the overhead of complete tagged memory architecture. This segmentation reduces device complexity while maintaining reliability improvements.
Solution Approach 2:
The patent makes the memory controller universal by enabling it to operate in multiple modes (tagged and non-tagged memory modes) without hardware architectural changes. The same memory controller can dynamically select error correction schemes based on workload requirements, providing both tagged memory functionality and standard memory operation, thereby reducing overall system complexity.
2Reliability
If tagged main memory is implemented to improve error detection and correction, then system reliability is improved, but manufacturing cost increases
Solution Approach 1:
The patent uses commodity memory devices with standard ECC capabilities rather than requiring expensive custom-tagged memory hardware. By leveraging inexpensive existing memory components and adding software/firmware-level error correction logic, the solution achieves improved reliability without increasing manufacturing costs for the physical memory subsystem.
Solution Approach 2:
The patent changes the operational parameters of existing memory systems by dynamically adjusting error correction schemes based on workload characteristics. The memory controller can switch between different ECC modes (single-bit correction, multi-bit correction, or no correction) depending on whether the workload requires tagged memory functionality, optimizing the balance between reliability and cost.
3Ease of manufacture
If adaptive error correction schemes are used to reduce costs, then manufacturing cost decreases, but device complexity increases
Solution Approach 1:
The patent implements dynamic error correction schemes where the memory controller adaptively selects correction strategies based on real-time workload characteristics and error patterns. The system transitions between different correction modes (aggressive correction for critical data, minimal correction for non-critical data) dynamically, managing complexity through adaptive behavior rather than static hardware design.
Solution Approach 2:
The patent incorporates feedback mechanisms where the memory controller monitors error patterns and workload characteristics, then adjusts error correction schemes accordingly. By using feedback from error detection and workload analysis, the system optimizes correction intensity to match actual needs, reducing unnecessary correction overhead while maintaining reliability where required.
Data Source
AI summary
Example methods, apparatus, and articles of manufacture to perform error detection and correction are disclosed. A disclosed example method involves enabling a memory controller to operate in one of a tagged memory mode or a non-tagged memory mode. In addition, when the tagged memory mode is enabled in the memory controller, a five-error-correction-six-error-detection per-burst mode is selected to perform error correction on data. When the non-tagged memory mode is enabled in the memory controller, one of a six-error-correction-seven-error-detection per-burst mode or a single-error-correction-dual-error-detection per-transfer mode is selected based on a pattern of error types in the data.


