Compressed Data Management in Fixed-Size Block Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing compressed data in fixed-size block storage systems is challenging due to compressed buffers of arbitrary size not fitting neatly into fixed-size physical locations, and combining compression with deduplication increases complexity, while compressing small input blocks is sub-optimal and negatively affects deduplication ratios.

Innovation Solution

A storage system that dynamically manages metadata and reference tracking for compressed data, allowing for flexible block sizing based on compressibility, using techniques like fingerprinting and reference counting to optimize storage and deduplication efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If input data blocks are compressed into smaller physical blocks, then storage efficiency is improved, but the complexity of metadata management and reference tracking increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidmetadata management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements nested metadata structures where compressed buffer metadata contains references to input block metadata, which in turn contains references to physical block metadata. This hierarchical nesting allows the system to manage compressed data efficiently by organizing metadata in a structured manner that reduces overall management complexity despite the increased number of metadata objects.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces compressed buffer metadata as an intermediary layer between input block metadata and physical block metadata. This intermediary structure facilitates reference tracking and garbage collection by providing a centralized point to manage references from multiple input blocks to compressed buffers, thereby reducing the complexity of direct many-to-many reference management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If input block size is increased to reduce metadata overhead, then metadata overhead is reduced, but deduplication ratio deteriorates

Engineering Contradiction:
Improvemetadata overheadVSAvoiddeduplication ratio
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent segments the deduplication process into two stages: first, input blocks are hashed and deduplicated individually using their own fingerprints; second, compressed buffers are deduplicated using fingerprints generated from compressed data. This segmentation allows small input blocks to maintain good deduplication ratios while the overall metadata overhead is managed through the compressed buffer level.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic block sizing where the effective deduplication block size varies based on compressibility. Highly compressible data effectively creates larger deduplication units, while less compressible data maintains smaller units. This dynamic adjustment optimizes both deduplication ratio and metadata overhead without requiring fixed large block sizes.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If small input blocks are compressed, then storage space is reduced, but compression efficiency decreases

Engineering Contradiction:
Improvestorage spaceVSAvoidcompression efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent merges multiple small input blocks into compressed buffers before compression. By combining adjacent input blocks that can be compressed together, the system creates larger effective compression units that achieve better compression ratios while still maintaining the benefits of small input block processing for deduplication purposes.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary grouping of adjacent input blocks based on their compressibility characteristics before applying compression. This preliminary action identifies which small blocks should be combined together, allowing the compression algorithm to work on optimally-sized data units that balance compression efficiency with the storage benefits of compression.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9569357B1Managing compressed data in a storage system
Publication Date: 2017.02.14 PURE STORAGE INC
  • US9569357B1 patent drawing
  • US9569357B1 patent drawing
  • US9569357B1 patent drawing

AI summary

Systems, methods, and computer readable storage mediums for optimistically managing compressed data in a storage system. When possible, multiple input blocks are compressed into a buffer and stored in a single physical block on a storage device. The metadata of the multiple input blocks can be managed separately. A fingerprint of the compressed buffer can be generated and used as an index to the single physical block. Alternatively, fingerprints of the uncompressed input blocks can be generated, and reference counts can be maintained to track the number of input blocks which reference the compressed buffer.