Indirect Block Entry Grouping for Inline Pattern Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In block storage systems using inline pattern detection, the lack of actual pattern data blocks and metadata for pattern data blocks leads to unrecoverable data when pattern identifiers are lost or corrupted, reducing system reliability and performance.

Innovation Solution

A method that divides indirect block entries into groups, uses a bitmap to identify entries with the same predetermined identifier, and updates counters to track non-predetermined identifiers, allowing for data block recovery if the indirect block is corrupted.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If inline pattern detection is used to represent pattern data blocks using pattern identifiers in leaf indirect blocks, then data reduction is achieved, but reliability deteriorates because pattern data blocks cannot be recovered when pattern identifiers are lost or corrupted

Engineering Contradiction:
Improvedata reductionVSAvoiddata recoverability
Core Design Contradiction:
Loss of substanceVSReliability

Solution Approach 1:

The system performs preliminary actions by pre-computing and storing recovery information (such as checksums or alternative identifiers) for pattern data blocks before corruption occurs. When corruption is detected, this pre-stored information enables immediate recovery without requiring re-computation or external intervention, thus maintaining reliability while preserving data reduction benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary recovery mechanism is introduced between the pattern identifier and the actual data block. This intermediary layer (such as a recovery metadata structure or checksum database) acts as a mediator that provides alternative means to access or reconstruct pattern data blocks when their primary identifiers are corrupted, thereby resolving the reliability issue without sacrificing data reduction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If all pattern data blocks are represented using pattern identifiers in leaf indirect blocks, then storage space is saved, but performance deteriorates because corrupted pattern identifiers cannot be recovered

Engineering Contradiction:
Improvestorage spaceVSAvoidsystem performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system segments the indirect block entries into different categories: those pointing to pattern data blocks with full identifiers and those pointing to recovered or alternative pattern data blocks. This segmentation allows the system to maintain space efficiency for most entries while providing targeted recovery capability for corrupted entries, thus preserving overall performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of storing actual pattern data blocks in the indirect block (which would consume space), the system creates copies or references to pattern data blocks through pattern identifiers. When corruption occurs, these references can be recovered or replaced with alternative references, maintaining storage efficiency while ensuring performance through recoverability.

Inventive Principle:
Principle #26Copying

3Loss of substance

If pattern identifiers are stored in leaf indirect blocks for inline pattern detection, then data reduction is achieved, but reliability deteriorates due to lack of metadata for pattern data blocks

Engineering Contradiction:
Improvedata reductionVSAvoidmetadata availability
Core Design Contradiction:
Loss of substanceVSLoss of information

Solution Approach 1:

An intermediary metadata structure is introduced between the pattern identifier and the data block allocation information. This intermediary layer stores additional metadata about pattern data blocks, including their identifiers, locations, and recovery information. When corruption occurs, this intermediary metadata provides the necessary information for recovery, thus preventing information loss while maintaining data reduction through efficient identifier-based representation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-storing comprehensive metadata and recovery information for pattern data blocks in a dedicated metadata structure before any corruption occurs. This pre-computed metadata includes alternative identifiers, checksums, and location information that enable immediate recovery when corruption is detected, thus preventing information loss while maintaining the space efficiency of identifier-based representation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11150993B2Method, apparatus and computer program product for improving inline pattern detection
Publication Date: 2021.10.19 EMC IP HLDG CO LLC
  • US11150993B2 patent drawing
  • US11150993B2 patent drawing
  • US11150993B2 patent drawing

AI summary

Computerized techniques involve dividing a plurality of entries included in an indirect block of an inode into a plurality of entry groups. Each non-null entry of the plurality of entries has one of a pointer pointing to an associated data block and an identifier specific to a byte pattern of an associated data block. The techniques further involve determining, for an entry group of the plurality of entry groups, whether entries having an identifier in the entry group all have a same predetermined identifier. The techniques further involve in response to determining that the entries having an identifier in the entry group all have the same predetermined identifier, identifying the entry group as recoverable if the indirect block is corrupted. Such techniques improve reliability and performance of a storage system.