Sub-block ECC Data for Memory Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata recovery reliabilityVSAvoidmemory storage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #34Discarding and recovering

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

Engineering Contradiction:
Improveerror correction capabilityVSAvoiduncorrectable errors
Core Design Contradiction:
ReliabilityVSLoss of information

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improvemanufacturing efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP2673709B1Data recovery using additional error correction coding data
Publication Date: 2019.06.12 SANDISK TECHNOLOGIES LLC
  • EP2673709B1 patent drawingFigure 1
  • EP2673709B1 patent drawingFigure 2~3
  • EP2673709B1 patent drawingFigure 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.