Inline Data Compression Fragmentation Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face inefficiencies in managing inline data compression, leading to fragmentation, wastage of storage space, and reduced performance due to frequent allocation of new data fragments for updates, which results in performance bottlenecks and increased flash wear.

Innovation Solution

Implementing a method to manage and track free data fragments for re-use in storage systems, allowing updated data to be written in the existing compressed format within existing data fragments, thereby reducing the need for new allocations and minimizing fragmentation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If new data fragments are allocated for every update operation, then data can be stored in compressed format, but storage space is wasted and fragmentation increases

Engineering Contradiction:
Improvedata integrityVSAvoidstorage space wastage
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent implements a free list data structure that tracks and recovers data fragments that have been freed from the file system. When data is deleted or a file is truncated, the corresponding data fragments are added to the free list. During allocation operations, the system first checks the free list for suitable fragments before allocating new space, thereby recovering and reusing previously freed storage space instead of wasting it.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The system performs preliminary organization of free data fragments by maintaining a sorted free list where fragments are ordered by size and location. This preliminary arrangement allows the allocation algorithm to efficiently find suitable fragments for reuse before the actual allocation occurs, preventing the need to scan the entire storage space and reducing fragmentation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If new allocation units are created for updated data, then compression can be maintained, but IO performance decreases due to frequent allocations

Engineering Contradiction:
Improvecompression integrityVSAvoidIO performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent recovers data fragments from deleted files and adds them to a free list for reuse. When updating data, the system allocates from this pre-prepared free list rather than creating new allocation units, significantly reducing the overhead of allocation operations and improving IO performance while maintaining compression integrity.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The free list data structure serves itself by automatically tracking freed fragments and making them available for future allocations. This self-service mechanism eliminates the need for complex allocation algorithms to scan and identify reusable space, reducing CPU overhead and improving allocation speed.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If continuous new allocations are performed, then updated data can be stored, but flash wear increases

Engineering Contradiction:
Improvedata update capabilityVSAvoidflash memory lifespan
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of stationary object

Solution Approach 1:

The patent recovers and reuses data fragments from deleted files through the free list mechanism. By allocating from existing freed space rather than continuously creating new allocations, the system reduces the number of write amplification cycles on flash storage, thereby extending flash memory lifespan while maintaining full data update capability.

Inventive Principle:
Principle #34Discarding and recovering

4Reliability

If data fragments are frequently allocated and created, then updated data can be stored in compressed format, but storage fragmentation increases

Engineering Contradiction:
Improvecompression format integrityVSAvoidstorage structure stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary organization of free data fragments by maintaining a sorted free list where fragments are ordered by size and location. This preliminary arrangement allows the allocation algorithm to efficiently find suitable fragments for reuse, reducing random allocations that cause fragmentation and maintaining storage structure stability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By recovering and reusing freed data fragments through the free list, the system reduces the creation of new scattered allocation units. Reusing existing fragments maintains the原有的 storage structure and reduces fragmentation compared to continuously creating new allocation units.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10156993B1Managing inline data compression in storage systems
Publication Date: 2018.12.18 EMC IP HLDG CO LLC
  • US10156993B1 patent drawing
  • US10156993B1 patent drawing
  • US10156993B1 patent drawing

AI summary

A method is used in managing inline data compression in storage systems. A request is received to update data of a data object previously stored in an allocation unit of a segment in a storage system. The segment comprises of a set of allocation units in a compressed format. A determination is made as to whether the updated data of the data object can be stored in the compressed format in the allocation unit of the segment. Based on the determination, a free allocation unit is selected from a list of free allocation units managed by the storage system for writing the updated data in the compressed format to the free allocation unit.