Storage Rebuild Using PLB Generation Number Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face challenges in efficiently rebuilding data on storage devices that become unavailable, particularly due to the high computational resources required to distinguish between valid and invalid physical layer blocks (PLBs) during incremental rebuilds, which can lead to significant processing time and data integrity issues.

Innovation Solution

A method and system that compare the generation number of a PLB with the generation number of its corresponding partition, rebuilding data based on this comparison, and utilizing metadata to determine data validity, allowing for incremental or full rebuilds depending on the duration of unavailability, with the generation number stored in a PLB descriptor and incremented after each rebuild cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If incremental rebuild is performed to distinguish between valid and invalid PLBs, then data integrity is improved, but processing time and computational resources increase significantly

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining generation numbers for each PLB and partition before rebuild operations are needed. When a storage device becomes unavailable, the generation numbers are already prepared and can be compared immediately during rebuild, eliminating the need for time-consuming computational analysis of PLB validity during the actual rebuild process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses generation numbers as simplified copies or representations of the complex validity state of PLBs. Instead of performing complex computations to determine if a PLB is valid, the system simply compares generation number integers, which are much faster to process while still accurately representing the validity state for rebuild decisions.

Inventive Principle:
Principle #26Copying

2Reliability

If full rebuild is performed for all PLBs when storage device is unavailable, then data integrity is ensured, but processing time and computational resources are wasted on valid PLBs

Engineering Contradiction:
Improvedata integrityVSAvoidrebuild efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies local quality by treating different PLBs differently based on their individual generation numbers. Instead of applying a uniform full rebuild to all PLBs, the system selectively rebuilds only those PLBs whose generation numbers indicate they are invalid, while leaving valid PLBs untouched, thus optimizing rebuild efficiency while maintaining data integrity.

Inventive Principle:
Principle #3Local quality

3Productivity

If generation numbers are tracked for each PLB, then rebuild efficiency is improved, but metadata complexity increases

Engineering Contradiction:
Improverebuild efficiencyVSAvoidmetadata complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes the parameter representation by using simple integer generation numbers instead of complex validity flags or detailed PLB state information. This parameter change simplifies the metadata while still providing sufficient information to determine rebuild needs, as the generation number inherently encodes the validity state without requiring additional complex data structures.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11360675B2Method and system for improving rebuild for a storage system
Publication Date: 2022.06.14 EMC IP HLDG CO LLC
  • US11360675B2 patent drawing
  • US11360675B2 patent drawing
  • US11360675B2 patent drawing

AI summary

A method is used in improving rebuilding in data storage. The generation number of a PLB is compared with a generation number of a partition corresponding to the PLB. The data of the PLB is rebuilt based on the comparison.