Memory Controller ECC Access Using Shared Metadata
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Soft errors in data storage elements, such as those in next-generation memory devices, cause silent data corruption due to incident radiation, which is increasingly significant as feature sizes shrink, and conventional error mitigation techniques burden memory device performance by requiring storage of error correction codes, leading to inefficient memory utilization.
Innovation Solution
A memory controller calculates and stores a single metadata value common to multiple data blocks, generating error correction codes based on this metadata and the data blocks, allowing for efficient error detection and correction without the need for multiple error correction codes for each data block, thereby optimizing memory utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional error correction techniques are used to protect against soft errors, then data reliability is improved, but memory device performance deteriorates due to storage overhead
Solution Approach 1:
The patent combines multiple error correction codes into a single consolidated error correction code. Instead of storing separate ECCs for each data block, the system generates one ECC that covers multiple data blocks, thereby reducing storage overhead while maintaining error protection capability across all blocks.
Solution Approach 2:
The single error correction code serves multiple functions by protecting multiple different data blocks simultaneously. This universal ECC can be used to detect and correct errors in any of the protected data blocks, eliminating the need for multiple specialized ECCs and improving memory utilization efficiency.
2Reliability
If error correction codes are stored for each data block, then error detection capability is improved, but memory utilization deteriorates
Solution Approach 1:
The patent merges multiple individual error correction codes into a single consolidated ECC structure. This consolidation reduces the total quantity of error correction data that must be stored in memory, thereby improving memory utilization while preserving the ability to detect and correct errors across all protected data blocks.
Solution Approach 2:
The system transitions from a one-to-one mapping between data blocks and error correction codes to a one-to-many relationship. A single error correction code operates across multiple data blocks, changing the dimensional relationship and reducing the overall storage requirements for error correction information.
Data Source
AI summary
Techniques and mechanisms to facilitate data error detection by a memory controller. In an embodiment, the memory controller calculates, for each of a plurality of data blocks, a respective result based on a first metadata value and data of that data block, where the first metadata value describes a characteristic which is common to each of the plurality of data blocks. With each such calculated result, the memory controller further performs a respective error detection analysis, wherein such analysis is based on a retrieved error correction code for a corresponding one of the plurality of data blocks. In another embodiment, a single version of the metadata value is stored by the memory controller, where the single version of the metadata value is made available to facilitate error detection for any of the plurality of data blocks.


