Sub-block ECC Data for Memory Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing error correction coding (ECC) schemes in memory devices are insufficient to correct errors caused by physical processes like thermal noise, cosmic rays, or manufacturing processes such as polishing and reflow, which can lead to data corruption beyond the ECC's correction capability.
Innovation Solution
A method and system that utilize additional ECC data external to the data block, specifically tailored for sub-blocks, to enhance error correction capabilities, allowing for individual correction of sub-blocks beyond the main ECC's limit, thereby providing enhanced protection and recovery of pre-loaded content during manufacturing processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If additional ECC data is stored externally for each sub-block to enhance error correction capability, then data recovery reliability improves, but memory storage capacity decreases
Solution Approach 1:
The data block is divided into multiple sub-blocks, and separate additional ECC data is generated for each sub-block. This segmentation allows targeted error correction for individual sub-blocks that suffer from manufacturing defects, improving overall data recovery reliability while managing the overhead of additional ECC data efficiently.
Solution Approach 2:
The additional ECC data is initially stored in memory during manufacturing to enable recovery from fabrication defects. After successful error correction and validation of pre-loaded content, the additional ECC data can be discarded (memory locations freed), thereby recovering storage capacity for user data while having already ensured data integrity.
2Reliability
If main ECC data is used to correct errors in the entire data block, then error correction capability is provided, but errors exceeding the ECC threshold remain uncorrectable
Solution Approach 1:
The data block is divided into multiple sub-blocks, and separate additional ECC data is generated for each sub-block. This segmentation allows targeted error correction for individual sub-blocks that suffer from manufacturing defects, improving overall data recovery reliability while managing the overhead of additional ECC data efficiently.
Solution Approach 2:
Instead of applying ECC to the entire data block uniformly, the system applies additional ECC data selectively to specific sub-blocks that contain errors. This partial action approach ensures that only the affected portions require enhanced correction, reducing the overall overhead while maintaining robust error correction capability for the entire block.
3Productivity
If data is pre-loaded into memory prior to PCB attachment, then manufacturing efficiency improves, but data becomes vulnerable to errors from polishing and reflow processes
Solution Approach 1:
Data is pre-loaded into the memory device before PCB attachment to enable earlier validation and error correction. By performing error checking and correction using additional ECC data during the manufacturing process itself, the system can identify and fix errors before the product reaches the customer, ensuring data integrity while maintaining manufacturing efficiency.
Solution Approach 2:
Additional ECC data is generated and stored in memory during the manufacturing process to provide a cushion against errors that may occur during polishing and reflow. This beforehand cushioning ensures that even if manufacturing processes introduce errors, the data can be recovered, thus protecting data integrity without compromising manufacturing efficiency.
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
A method in a data storage device receiving data including a data block and main error correction coding (ECC) data for the data block. The data block includes a first sub-block of data and a second sub-block of data. The method also includes initiating an ECC operation to process the data block using the main ECC data. In response to the ECC operation indicating uncorrectable errors in the data block, first additional ECC data that is external to the data block is retrieved and a second ECC operation is initiated to process the first sub-block of data using the first additional ECC data.