Non-Volatile Memory Data Reconstruction Using Multidimensional Parity Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems face challenges in quickly correcting corrupted data, as existing methods like error correction codes (ECCs) are time-consuming and inefficient, especially in cases of clustered errors, and physical organization of data groups in RAID systems can introduce design restrictions that slow down memory systems.

Innovation Solution

A method using parity bits to logically organize data in multidimensional data group arrays, generating parity bit groups through logical operations, and associating them with data group rows for efficient data reconstruction, allowing for faster correction of corrupted data without the need for physical data group separation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction codes (ECCs) are used to detect and reconstruct corrupted data, then data reliability is improved, but the time required for correction increases significantly

Engineering Contradiction:
Improvedata correction capabilityVSAvoidcorrection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments data into data groups organized in a multidimensional array structure, allowing selective reconstruction of only corrupted segments rather than processing entire data sets. This segmentation enables the system to apply correction methods more efficiently by focusing computational resources only where needed, thereby reducing overall correction time while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs a two-tiered correction approach where a first correction method (parity bits) is applied quickly to identify and correct obvious errors, and a second correction method (ECC) is applied only when necessary. This partial application of the more computationally intensive ECC method reduces average correction time while maintaining high reliability for most cases.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If data are physically divided into data groups and stored separately as in RAID, then data reconstruction capability is improved, but design restrictions increase and system speed decreases

Engineering Contradiction:
Improvedata reconstruction capabilityVSAvoiddesign restrictions
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transitions from traditional two-dimensional RAID striping to a multidimensional data group array structure. This additional dimensionality allows for more flexible data organization and reconstruction paths, enabling the system to reconstruct corrupted data through multiple possible routes (different rows, columns, or planes), thereby reducing design restrictions and improving reconstruction capability without sacrificing speed.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The multidimensional data group array structure serves multiple functions simultaneously: it enables data storage, provides multiple reconstruction paths, supports both parity-bit and ECC correction methods, and allows flexible mapping to physical storage locations. This multi-functionality eliminates the need for separate dedicated reconstruction mechanisms, reducing overall system complexity while maintaining robust reconstruction capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If data are read slowly from non-volatile memory, then storage capacity is maintained, but the speed of firmware loading and device startup decreases

Engineering Contradiction:
Improvestorage capacityVSAvoidfirmware loading speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent performs preliminary organization of firmware data into the multidimensional data group array structure during the manufacturing or initialization phase. This preliminary organization pre-calculates and stores the logical relationships between data groups, so that during firmware loading, the system can quickly navigate and reconstruct data without performing complex organizational calculations in real-time, thereby accelerating firmware loading speed while maintaining full storage capacity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7546515B2Method of storing downloadable firmware on bulk media
Publication Date: 2009.06.09 SANDISK TECHNOLOGIES LLC
  • US7546515B2 patent drawing
  • US7546515B2 patent drawing
  • US7546515B2 patent drawing

AI summary

A portion of data stored in a non-volatile memory may be found to be corrupted when it is read. Where parity data is generated from portions of data and the parity data is stored with the portions of data, the corrupted data may be reconstructed from the parity data and uncorrupted portions of data.