Dynamic Redundancy Allocation in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile data storage devices face inefficiencies in allocating memory capacity for redundancy data, as static allocation methods result in a large portion of memory being dedicated to error correction, reducing available storage capacity.

Innovation Solution

A data storage device dynamically adjusts its redundancy allocation based on modes, initially prioritizing RAID-type redundancy for physical errors and later shifting to ECC-type redundancy for random errors as they increase over time, thereby optimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static allocation of memory capacity is used for redundancy data, then error correction capability is maintained, but available storage capacity is reduced

Engineering Contradiction:
Improveerror correction capabilityVSAvoidavailable storage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic redundancy allocation that transitions from RAID-type redundancy (prioritizing physical error correction) to ECC-type redundancy (prioritizing random error correction) as the memory device ages. This dynamic adjustment allows the system to maintain error correction capability while optimizing available storage capacity based on the actual error patterns at different stages of the device lifecycle.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the redundancy type parameter based on the age and error characteristics of the memory device. Early in the device lifecycle, RAID-type redundancy with higher overhead is used for physical errors. As the device ages and random errors become more prevalent, the system transitions to ECC-type redundancy with lower overhead, thereby increasing available storage capacity while maintaining adequate error correction capability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If RAID-type redundancy is allocated for physical errors, then physical error correction is improved, but memory capacity for user data is reduced

Engineering Contradiction:
Improvephysical error correctionVSAvoidmemory capacity for user data
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the allocation of redundancy resources, initially allocating RAID-type redundancy for physical error correction when the device is new. As the device ages and physical errors become less prevalent compared to random errors, the system transitions to ECC-type redundancy, thereby freeing up memory capacity for user data while maintaining protection against the dominant error type.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The redundancy type parameter is changed based on the device lifecycle stage. In the early stage, RAID-type redundancy provides robust physical error correction. In the later stage, the system switches to ECC-type redundancy which has lower overhead, thus increasing the memory capacity available for user data while still providing adequate error correction for the prevailing random errors.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If ECC-type redundancy is allocated for random errors, then random error correction is improved, but memory capacity for user data is reduced

Engineering Contradiction:
Improverandom error correctionVSAvoidmemory capacity for user data
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system implements a dynamic strategy where ECC-type redundancy is allocated as the primary error correction mechanism for random errors, but the overhead is reduced by transitioning from RAID-type to ECC-type redundancy as the device ages. This dynamic adjustment improves random error correction capability while minimizing the impact on user data capacity compared to static allocation.

Inventive Principle:
Principle #15Dynamics

4Reliability

If a large portion of memory is dedicated to error correction, then data integrity is maintained, but storage efficiency is reduced

Engineering Contradiction:
Improvedata integrityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent employs dynamic redundancy allocation that adapts to the device lifecycle, transitioning from high-overhead RAID-type redundancy to lower-overhead ECC-type redundancy as the device ages. This dynamic approach maintains data integrity by providing appropriate error correction for the dominant error type at each stage, while optimizing storage efficiency by reducing redundancy overhead when physical errors become less prevalent.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the redundancy configuration parameter based on device age and error characteristics. In the early lifecycle stage, RAID-type redundancy ensures robust data integrity against physical errors. In the later stage, transitioning to ECC-type redundancy maintains data integrity against random errors while reducing the portion of memory dedicated to error correction, thereby improving storage efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9348695B2System and method of storing redundancy data
Publication Date: 2016.05.24 SANDISK TECHNOLOGIES LLC
  • US9348695B2 patent drawing
  • US9348695B2 patent drawing
  • US9348695B2 patent drawing

AI summary

A data storage device includes a controller operatively coupled to a non-volatile memory. The non-volatile memory includes a plurality of blocks. When the controller is configured to operate according to a first mode, a portion of a first redundancy block of the plurality of blocks stores first redundancy data corresponding to a first group of multiple data portions. The multiple data portions stored in multiple blocks of the plurality of blocks. When the controller is configured to operate according to a second mode, the portion of the first redundancy block stores second redundancy data corresponding to a single block of the plurality of blocks.