Bridging Device Compression for Storage Sub-Block Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems where compression is performed at target storage devices, the compression savings do not translate to more free blocks due to block size matching between hosts and target devices, making it challenging to efficiently utilize storage capacity.

Innovation Solution

A bridging device is used to perform compression and manage storage sub-blocks, allowing for efficient write and read operations by configuring storage devices with sub-block sizes based on host data block sizes, and managing overflow sub-blocks to optimize storage utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If compression is performed at target storage devices, then storage capacity is increased, but block size matching prevents compression savings from translating to more free blocks

Engineering Contradiction:
Improvestorage capacityVSAvoidblock management efficiency
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent divides the storage device blocks into sub-blocks with sizes that are fractions of the host data block size. This segmentation allows compressed data (which occupies less space) to be stored efficiently in multiple smaller sub-blocks, thereby translating compression savings into additional usable storage capacity while maintaining compatibility with host block size requirements.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If compression is performed at initiator, then memory footprint and network bandwidth are reduced, but certain applications prevent enabling compression at initiator

Engineering Contradiction:
Improvememory footprintVSAvoidapplication compatibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent introduces a bridging device as an intermediary component between the initiator and target storage devices. This bridging device performs the compression function, allowing applications that cannot enable compression at the initiator to still benefit from compression. The bridging device acts as a mediator that implements compression at the target side, compatible with various application requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If compression is performed at target storage devices, then storage capacity is increased, but write and read operations may experience additional latency

Engineering Contradiction:
Improvestorage capacityVSAvoidoperation latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements compression during the write operation at the bridging device before data is transferred to storage, and decompression is performed during read operations. By integrating compression into the write path and using efficient algorithms, the system minimizes additional latency. The bridging device performs compression as part of the normal write flow, avoiding separate compression steps that would add significant delay.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10402111B1Systems and methods for data storage compression
Publication Date: 2019.09.03 XILINX INC
  • US10402111B1 patent drawing
  • US10402111B1 patent drawing
  • US10402111B1 patent drawing

AI summary

A data storage system includes a bridging device. The bridging device is configured to receive, from a host through a network, a host data block size. A sub-block size is determined based on the host data block size. One or more storage devices are configured to include a plurality of storage sub-blocks each having the sub-block size. A first write command to write first host data including a first number of host data blocks to the one or more storage devices is received. The bridging device compresses the first host data to generate first compressed data, and write the first compressed data to a second number of storage sub-blocks of the one or more storage devices.