Symbol-Preserving ECC Codes for On-Die Miscorrection Containment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current error correction systems in memory devices, particularly on-die ECC systems, can incorrectly correct bits (miscorrection) when multiple errors occur, leading to corruption of correct bits, which cannot be corrected by user ECC systems if the errors are not within the same symbol.
Innovation Solution
The proposed method generates error correction codes using a parity-check matrix to restrict miscorrections to occur within the smallest symbol containing all error bits, ensuring that all error bits, including miscorrected ones, are within the same symbol, allowing user ECC systems to correct them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If on-die ECC systems correct multiple errors, then error correction capability is improved, but miscorrection of correct bits occurs leading to data corruption
Solution Approach 1:
The patent segments the codeword into multiple symbols, where each symbol contains a subset of data bits. The ECC system operates at the symbol level rather than individual bit level, grouping bits into structured units that enable more sophisticated error handling strategies
Solution Approach 2:
The patent applies different error correction capabilities to different symbols within the same codeword. By organizing bits into symbols and using parity-check matrices that operate on symbol groups, the system can provide enhanced protection for specific symbol regions while maintaining overall system reliability
2Reliability
If user ECC systems correct errors outside symbol boundaries, then error correction coverage is improved, but symbol integrity is compromised
Solution Approach 1:
The patent divides the data into distinct symbols with defined boundaries, allowing the ECC system to operate on grouped symbols rather than individual bits. This segmentation enables the user ECC to correct errors at the symbol level without disrupting the structural integrity of individual symbols
Solution Approach 2:
The patent introduces an intermediate layer of symbol-based error correction that sits between the bit-level on-die ECC and the final data recovery. This intermediary symbol-level correction mechanism handles errors that span multiple symbols while preserving the integrity of individual symbol structures
3Reliability
If on-die ECC systems use sophisticated correction algorithms, then multiple error detection is improved, but device complexity increases
Solution Approach 1:
The patent segments the complex error correction task into two distinct stages: on-die ECC for basic single-symbol error correction and user ECC for multi-symbol error correction. This segmentation allows each stage to use appropriately complex algorithms for its specific function, reducing overall system complexity while maintaining high detection capability
Solution Approach 2:
The on-die ECC system performs partial error correction by handling only the most common single-symbol error cases, while leaving more complex multi-symbol errors for the user ECC system. This partial action approach reduces the complexity burden on the on-die system while maintaining overall system effectiveness
Data Source
AI summary
Various embodiments include an on-die error correction code (ECC) system that preserves rectangular symbols of arbitrary size and shape, where the dimensions of the symbol are powers of two. Further, the on-die ECC system preserves symbols that include multiple rectangles of arbitrary size and shape, where the dimensions of each rectangle are powers of two, and where the vertical and horizontal offset between consecutive rectangles are also powers of two. If the on-die ECC system miscorrects a memory bit, then the miscorrection is constrained or restricted to the same symbol that includes the other error bits. Therefore, all error bits, including the miscorrected bit, are in the same symbol. As a result, a user ECC system, such as a symbol-based ECC system, can correct and detect any number of errors within a single symbol, even when the on-die ECC system miscorrects a memory bit.


