Storage Cluster Erasure Coding Based on Flash Health

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid-state drives, designed to conform to hard disk drive standards for compatibility, face challenges in leveraging the unique characteristics of flash and other solid-state memories, such as differing operation, wear, and error characteristics, which hinders the implementation of enhanced features and efficient error correction mechanisms.

Innovation Solution

A method for adjustable error correction in a storage cluster is introduced, where the health of non-volatile memory is determined on a per-package, per-die, per-plane, per-block, or per-page basis, allowing for dynamic adjustment of erasure coding across storage nodes, ensuring data accessibility even if two nodes become unreachable.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If solid-state drives conform to hard disk drive standards for compatibility, then compatibility is improved, but the ability to leverage unique flash memory characteristics and implement enhanced error correction is worsened

Engineering Contradiction:
ImprovecompatibilityVSAvoiderror correction capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system dynamically adjusts erasure coding parameters based on real-time health metrics of flash memory components. The error correction strength is not fixed but adapts according to the actual condition of packages, dies, planes, blocks, or pages, allowing the system to optimize between compatibility and reliability as conditions change.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameters of erasure coding based on health determinations. When degradation is detected at any granularity level (package, die, plane, block, or page), the system modifies the erasure coding parameters to provide enhanced protection for data stored on or involving the degraded components.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If erasure coding is adjusted based on per-package, per-die, per-plane, per-block, or per-page health, then error correction precision is improved, but system complexity increases

Engineering Contradiction:
Improvehealth determination precisionVSAvoiderror correction system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The flash memory system is segmented into hierarchical levels (packages, dies, planes, blocks, pages), and health is determined independently at each level. This segmentation allows precise identification of degraded components without requiring complex analysis of the entire system, as each segment can be evaluated separately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Error correction is applied locally based on the specific health condition of each segment. Rather than applying uniform error correction across the entire storage system, the patent applies enhanced erasure coding only to data associated with degraded packages, dies, planes, blocks, or pages, optimizing resource usage and reducing unnecessary complexity.

Inventive Principle:
Principle #3Local quality

3Reliability

If data is distributed across multiple storage nodes with adjustable erasure coding, then data reliability is improved, but storage operation complexity increases

Engineering Contradiction:
Improvedata accessibilityVSAvoidstorage operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system continuously monitors health metrics of storage nodes and feeds this information back to adjust erasure coding parameters. This feedback mechanism enables automatic adaptation to changing conditions, such as node failures or degradation, maintaining data accessibility without requiring manual intervention or complex operational procedures.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary health assessments and proactively adjusts erasure coding parameters before failures occur. By detecting degradation at the package, die, plane, block, or page level and pre-configuring appropriate error correction, the system prevents data loss rather than reacting after failures happen, simplifying operational complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11544143B2Increased data reliability
Publication Date: 2023.01.03 PURE STORAGE INC
  • US11544143B2 patent drawing
  • US11544143B2 patent drawing
  • US11544143B2 patent drawing

AI summary

A method for adjustable error correction in a storage cluster is provided. The method includes determining health of a non-volatile memory of a non-volatile solid-state storage unit of each of a plurality of storage nodes in a storage cluster on a basis of per flash package, per flash die, per flash plane, per flash block, or per flash page. The determining is performed by the storage cluster. The plurality of storage nodes is housed within a chassis that couples the storage nodes as the storage cluster. The method includes adjusting erasure coding across the plurality of storage nodes based on the health of the non-volatile memory and distributing user data throughout the plurality of storage nodes through the erasure coding. The user data is accessible via the erasure coding from a remainder of the plurality of storage nodes if any of the plurality of storage nodes are unreachable.