Dual-ECC Metadata Protection for DDR5 Device Failure Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems, particularly DDR5 systems, lack the capability to store user metadata while maintaining error correction and device failure detection features, leading to increased storage requirements when allocating space for ECC information.
Innovation Solution
Implementing dual-ECC codes using two different ECC codes, one stronger and one weaker, to store user metadata and enable device failure detection without additional memory, by encoding user data and metadata with Reed-Solomon codes, allowing for error correction and device failure detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If storage space is allocated for ECC information in DDR5 systems, then error correction capability is improved, but storage capacity for user metadata is reduced
Solution Approach 1:
The patent divides the ECC protection into two separate codes: a first ECC code applied to lower 32 bytes of data, and a second ECC code applied to upper 32 bytes of data plus user metadata. This segmentation allows each code to operate independently on different data portions, enabling metadata storage without compromising overall error correction capability.
Solution Approach 2:
The second ECC code serves dual purposes: it protects both the upper 32 bytes of user data and the user metadata simultaneously. This multi-functionality allows the system to maintain error correction capability while accommodating metadata storage requirements within the same code structure.
2Reliability
If stronger ECC code is used to maintain error correction capability, then reliability is improved, but storage efficiency deteriorates
Solution Approach 1:
The patent applies different ECC code strengths to different data regions based on their specific requirements. The first ECC code handles the lower 32 bytes with one level of protection, while the second ECC code handles the upper 32 bytes plus metadata with another level of protection. This local differentiation optimizes both reliability and storage efficiency by matching code strength to actual needs.
Solution Approach 2:
The system changes the parameters of ECC code application by using two different ECC codes with different protection capabilities. The first code parameters are optimized for pure data protection, while the second code parameters are optimized for combined data and metadata protection, allowing flexible adaptation to different storage requirements.
Data Source
AI summary
Error correcting first uncorrected data according to a first error correcting code produces first corrected data and an indicator of whether a device failure is detected. Responsive to the indicator indicating that a device failure is detected, error correcting second uncorrected data according to (1) a second error correcting code and (2) an erasure decoding mode, and using an identification of a failing device produced by the error correcting of the first uncorrected data.


