Batch-Hole List for Compressed Extent Relocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inline data compression in data storage systems faces challenges when updated data elements do not fit in allocated space, leading to frequent space reallocation and reduced storage efficiency, with garbage collection exacerbating wear on flash storage and failing to address overprovisioning issues.

Innovation Solution

The technique aggregates data into batches, compresses extents, and performs a batch-relocate operation by identifying and reusing holes in mapping metadata to accommodate compressed data, reducing the need for new allocations and minimizing garbage collection frequency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If new storage space is allocated to accommodate new compressed data, then storage capacity is maintained, but storage efficiency drops due to accumulated holes and increased allocation overhead

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

Solution Approach 1:

The patent recovers storage space by identifying and utilizing holes (unused or invalidated extents) within the same batch for storing new compressed data. Instead of allocating new space and leaving old space wasted, the system reuses the old space, effectively recovering it for productive use.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The patent performs preliminary identification of available holes in mapping metadata before allocating new storage space. By gathering hole information in advance and maintaining a batch-hole list, the system prepares reusable space before new data arrives, avoiding the need for new allocations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If garbage collection is performed to compact holes, then storage efficiency is restored, but flash storage wear increases due to write-intensive operations

Engineering Contradiction:
Improvestorage efficiencyVSAvoidflash storage lifespan
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent skips the traditional garbage collection process by directly reusing holes for new compressed data within the same batch. This approach rushes through the hole utilization process inline with normal write operations, avoiding the need for separate, write-intensive garbage collection cycles.

Inventive Principle:
Principle #21Skipping (Rushing through)

Solution Approach 2:

The system performs self-service by automatically identifying and utilizing its own holes for new data storage without requiring external garbage collection intervention. The batch-relocate operation enables the storage system to service itself by reclaiming and reuseing space internally.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If space reallocation is performed frequently to accommodate non-compressible data, then data storage is maintained, but processing overhead increases and compression benefits are reduced

Engineering Contradiction:
Improvedata storageVSAvoidprocessing overhead
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent merges the hole identification and data relocation operations into a single batch-relocate operation. By combining these tasks and processing them together in batch mode, the system reduces the total processing overhead compared to performing separate allocation and relocation operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The batch-relocate operation serves multiple functions: it identifies holes, selects appropriate holes for new data, and performs the relocation all in one unified process. This multi-functional approach reduces processing overhead by eliminating the need for separate operations for each task.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach significantly enhances storage efficiency by reusing holes and reducing the frequency of new allocations and garbage collection, thereby maintaining the benefits of data compression and extending the life of flash storage devices.

Implementation Method 1

Some data storage systems employ data compression to improve storage efficiency. For example, a software program running on a storage processor may perform compression in the background, e.g., by reading data from disk, compressing the data, and writing the compressed data back to disk.

Methodology Applied
Scientific EffectData compression: Compression

Data Source

PatentUS10761762B2Relocating compressed extents using batch-hole list
Publication Date: 2020.09.01 EMC IP HLDG CO LLC
  • US10761762B2 patent drawing
  • US10761762B2 patent drawing
  • US10761762B2 patent drawing

AI summary

A technique for writing data in a data storage system includes aggregating data received in a set of I/O requests into a batch that includes multiple extents of data. After compressing a current extent of the batch and determining that the compressed extent does not fit in a space where a previous version of the extent is stored, the technique performs a batch-relocate operation by gathering a set of mapping metadata for mapping each of the extents in the batch, identifying a set of holes indicated by the set of mapping metadata, and adding the holes to a batch-hole list. The technique then selects a hole, from the batch-hole list, which is big enough to accommodate the compressed extent, and places the compressed extent in the selected hole.