Resiliency Groups for Heterogeneous Storage Memory Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern data storage systems face inefficiencies in data reliability and access when dealing with heterogeneous types and sizes of storage class memory and non-storage class memory, leading to sub-optimal operations across different data types and metadata.

Innovation Solution

The implementation of storage systems that optimize write paths for various types of data and conditions, utilizing resiliency groups with customizable redundancy levels and mechanisms for efficient data management across multiple memory types and sizes, including the use of non-volatile solid state storage units with embedded CPUs and energy reserves for data persistence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single data reliability scheme is used across all storage memory types, then implementation simplicity is maintained, but data reliability and access efficiency deteriorate for heterogeneous memory combinations

Engineering Contradiction:
Improvedata reliabilityVSAvoidstorage system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The storage memory is divided into multiple resiliency groups, where each group is associated with a specific data reliability scheme. This segmentation allows different reliability schemes to be applied to different memory types (storage class and non-storage class) without requiring a single complex scheme to handle all cases, thereby improving data reliability while managing complexity through organized division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects and applies appropriate data reliability schemes based on the type of storage memory being accessed. Rather than using a static single scheme for all memory, the system adapts the reliability scheme to match the specific memory type, improving both reliability and access efficiency while maintaining manageable complexity through dynamic adaptation.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If heterogeneous memory types and sizes are supported, then storage versatility is improved, but data access efficiency deteriorates due to lack of optimized paths

Engineering Contradiction:
Improvememory compatibilityVSAvoiddata access efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Different data reliability schemes are applied to different local regions or types of storage memory based on their specific characteristics. This local quality approach ensures that each memory type (storage class or non-storage class) receives the most appropriate reliability scheme, optimizing data access efficiency for each specific memory type while maintaining overall system versatility.

Inventive Principle:
Principle #3Local quality

3Productivity

If differentiated data reliability schemes are implemented for different memory types, then data access efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments storage memory into resiliency groups and associates specific data reliability schemes with each group. This segmentation manages complexity by organizing the differentiated reliability schemes into structured groups rather than implementing ad-hoc complexity across all memory types, thereby improving data access efficiency while maintaining manageable system complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240184452A1Associating differing regions of storage drives with resiliency groups
Publication Date: 2024.06.06 PURE STORAGE INC
  • US20240184452A1 patent drawing
  • US20240184452A1 patent drawing
  • US20240184452A1 patent drawing

AI summary

A storage system establishes a staging region, for temporary writing of arriving data, and a stable region, for transfer of data from the staging region, in storage memory. The storage system establishes resiliency groups, each with a characteristic level of redundancy that is settable on an individual basis. The storage system performs data accesses of data stripes in accordance with the staging region, the stable region, a first resiliency group and a second resiliency group.