Selective Data Compression in Flash Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing data compression techniques in storage systems, particularly in flash devices, lead to performance degradation due to the implementation of compression processing, which is more pronounced in systems with high-speed IO processing like SSDs, and further exacerbated by the need for decompression of old data and compression of new data and parity during random writes.

Innovation Solution

A storage system where the storage controller determines whether to execute compression processing on data and parity based on specific commands, allowing the storage device to skip compression and decompression for redundant codes, thereby reducing processing load and maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If compression processing is implemented in the flash device, then storage cost is reduced, but write performance deteriorates

Engineering Contradiction:
Improvedata storage amountVSAvoidwrite performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies compression processing selectively to specific data regions rather than uniformly to all data. The storage device determines whether to apply compression based on data characteristics, access patterns, and RAID configuration, thereby reducing compression overhead for performance-critical operations while maintaining storage efficiency for suitable data types.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The compression processing is made dynamic and adaptive rather than static. The storage device controller dynamically adjusts compression application based on real-time conditions including write operation types (sequential vs. random), data compressibility, and system workload, allowing optimization of both storage efficiency and performance under varying conditions.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If compression processing is implemented for all data including parity, then storage efficiency is improved, but processing load increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidprocessing load
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent extracts parity data from the compression processing pipeline. Instead of applying compression to all data including parity, the system identifies and excludes parity regions from compression operations. This reduces unnecessary processing load on parity data which typically has low compressibility, while maintaining compression benefits for user data.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If compression is applied to primary volume for cost reduction, then storage capacity is optimized, but operational performance deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidoperational performance
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements location-aware compression strategies for primary volumes. Different compression policies are applied to different regions or types of data within the primary volume based on access patterns and performance requirements, allowing cost-effective storage optimization without uniformly degrading operational performance across all data.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9465561B2Storage system and storage control method
Publication Date: 2016.10.11 HITACHI VANTARA LTD
  • US9465561B2 patent drawing
  • US9465561B2 patent drawing
  • US9465561B2 patent drawing

AI summary

A storage system includes: a storage device including a recording medium that stores data and a device controller that executes addition processing involving a change of state of the data with respect to the data; and a storage controller that controls input and output of data for the storage device. The storage controller transmits, to the storage device, determination information that can be utilized by the device controller for determining whether or not to execute the addition processing along with input-output processing relating to input-output target data. The device controller controls execution of the addition processing with respect to the input-output target data based on the determination information transmitted from the storage controller.