Dynamic Restriping for Degraded Flash Memory Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing non-volatile memory systems face performance degradation when a portion of a flash memory die becomes degraded, as replacing the entire die can lead to significant overhead and adverse impacts on system performance, especially in large-scale computer systems where data mirroring and parity encoding may not efficiently manage degraded states.

Innovation Solution

Implementing data striping at the granularity of sub-sections of flash memory dice, such as erase blocks, with dynamic re-striping and parity encoding, allowing for selective recovery and redistribution of data across healthy memory devices, and reconfiguring degraded memory devices with reduced block counts to maintain system operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire flash memory die is replaced when a portion becomes degraded, then data reliability is maintained, but system performance deteriorates significantly and overhead increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the flash memory die into multiple independent memory blocks, allowing individual blocks to be managed separately. When degradation occurs in specific blocks, only those blocks are replaced rather than the entire die, thus maintaining data reliability while minimizing performance impact and overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality levels to different parts of the memory system by monitoring the health status of individual memory blocks and applying targeted replacement only where degradation is detected, rather than uniformly replacing all blocks. This localized approach preserves overall system performance while ensuring data reliability in affected areas.

Inventive Principle:
Principle #3Local quality

2Device complexity

If data striping is performed at the granularity of entire flash memory dice, then data distribution is simplified, but flexibility and adaptability to degraded states are reduced

Engineering Contradiction:
Improvedata distribution complexityVSAvoidadaptability to degraded states
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the data striping granularity from the die level down to the memory block level within dice. This finer-grained segmentation enables the system to dynamically adjust striping configurations when degradation is detected in specific blocks, improving adaptability while maintaining manageable complexity through systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic striping configurations that can be adjusted based on the health status of memory blocks. When degradation occurs, the system dynamically reconfigures data distribution to avoid affected blocks, providing adaptability to degraded states while maintaining data accessibility and system operation.

Inventive Principle:
Principle #15Dynamics

3Reliability

If parity encoding and data mirroring are used to manage degraded states, then data reliability is maintained, but performance overhead and system complexity increase

Engineering Contradiction:
Improvedata reliability in degraded statesVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies parity encoding and data mirroring at the memory block level rather than the die level, segmenting the redundancy mechanism to match the granularity of degradation. This allows reliability protection to be applied only where needed, reducing overall system complexity and performance overhead while maintaining data reliability in degraded states.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9811285B1Dynamic restriping in nonvolatile memory systems
Publication Date: 2017.11.07 WESTERN DIGITAL TECHNOLOGIES INC
  • US9811285B1 patent drawing
  • US9811285B1 patent drawing
  • US9811285B1 patent drawing

AI summary

Data is stored as a first collection of memory blocks distributed across a first set of memory devices. It is determined that a first memory device in the first set is in a degraded state. Data is recovered corresponding to a first memory block in the first collection of memory blocks that is stored in the first memory device, which is configured to include a first number of memory blocks. The recovered data is stored in a second memory device as a new memory block, which is added to the first collection of memory blocks. The first memory device is removed from the first set and reconfigured with a second number of memory blocks that is less than the first number of memory blocks. Memory blocks in a second collection of memory blocks distributed across a second set of memory devices is stored in the reconfigured first memory device.