Selective Compression in Data Storage Cache Macroblocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face inefficiencies in managing selective compressions, particularly in optimizing data block placement and metadata management, leading to suboptimal performance and storage capacity utilization.

Innovation Solution

The method involves configuring data storage systems with multiple IO cache macroblocks for both compressed and non-compressed data blocks, determining IO activity levels, and grouping macroblocks based on these levels for targeted compression using appropriate algorithms, while also implementing garbage collection and metadata compression techniques to enhance storage efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data blocks are compressed to increase storage capacity, then storage capacity utilization is improved, but compression time and processing complexity increase

Engineering Contradiction:
Improvestorage capacityVSAvoidcompression time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments the cache into multiple macroblocks (e.g., 8 macroblocks per cache line) that can be independently compressed. This allows selective compression of only the necessary portions of data, reducing overall compression time while maintaining storage capacity benefits. The segmentation enables parallel processing of compression operations across different macroblocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different compression strategies to different macroblocks based on their access patterns and data characteristics. Frequently accessed macroblocks may use faster compression algorithms, while less frequently accessed macroblocks use more aggressive compression. This local quality approach optimizes the balance between compression ratio and processing time for each region.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If compression algorithms are applied to all data blocks, then storage efficiency is improved, but system complexity and metadata management burden increase

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides the data structure into macroblocks with associated metadata, allowing compression to be applied at the macroblock level rather than at the individual block level. This segmentation simplifies metadata management by reducing the number of compression state tracking requirements and enables more efficient compression decision-making.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the compression parameter from block-level to macroblock-level operation. By operating at the macroblock level, the system can maintain simpler metadata structures while achieving better storage efficiency through bulk compression operations that process multiple blocks simultaneously.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If data blocks are arranged in fixed-size units, then data placement is simplified, but storage capacity utilization is reduced

Engineering Contradiction:
Improvedata placement simplicityVSAvoidstorage capacity
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent segments data into macroblocks that can be dynamically allocated and compressed to variable sizes. This segmentation allows the system to maintain simple fixed-size handling for data placement while achieving variable-size compression for storage capacity optimization. The macroblock structure provides flexibility in both placement and compression operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested structure where compressed data blocks are contained within macroblocks, which in turn are organized in cache lines. This nesting allows variable-size compressed blocks to be efficiently packaged within fixed-size macroblock containers, maintaining placement simplicity while achieving variable storage capacity utilization through compression.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS9965394B2Selective compression in data storage systems
Publication Date: 2018.05.08 EMC IP HLDG CO LLC
  • US9965394B2 patent drawing
  • US9965394B2 patent drawing
  • US9965394B2 patent drawing

AI summary

A method for selectively compressing data in a data storage system is provided. Data storage system cache memory is arranged into multiple input/output (IO) cache macroblocks, wherein a first set of IO cache macroblocks are configured as compressed IO cache macroblocks storing a plurality of variable sized compressed IO data blocks, and a second set of IO cache macroblocks are configured as non-compressed IO cache macroblocks storing a plurality of fixed sized non-compressed IO data blocks. An IO activity level of IO data blocks stored in IO cache macroblocks is determined. Multiple macroblock groups are created which correspond to a particular IO activity level. IO data blocks are arranged into macroblocks belonging to a macroblock category according to data block IO activity level. Each macroblock group is compressed, wherein compressing includes selecting a compression algorithm based on the macroblock category. The macroblocks are written to corresponding macroblocks in persistent storage.