Block I/O Device Offloading Data Compression from Host CPU

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression and decompression methods require significant CPU and memory resources from host processing systems, slowing them down and limiting their ability to handle large volumes of data efficiently.

Innovation Solution

A block I/O device is used to perform data compression and decompression, offloading these computationally intensive tasks from the host processor via a high-speed data bus, utilizing a controller and memory to execute compression algorithms according to standardized protocols like NVMe, allowing for parallel processing across multiple devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data compression is performed using host CPU and memory resources, then compression can be achieved, but system performance slows down due to intensive computational requirements

Engineering Contradiction:
Improvedata compression speedVSAvoidsystem response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the data compression function from the host processor and implements it in the storage device controller. The controller now contains dedicated compression hardware and algorithms, separating this computationally intensive task from the general-purpose host CPU. This extraction allows the host to maintain high performance while the storage device handles compression independently, resolving the contradiction between compression capability and system responsiveness.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If lossless compression algorithms are used to reduce bits by eliminating statistical redundancy, then data integrity is maintained, but CPU and memory resources are heavily consumed

Engineering Contradiction:
Improvedata integrityVSAvoidhost processor energy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The storage device controller performs compression and decompression operations autonomously without requiring host processor intervention. The controller contains its own compression algorithms and executes them self-service style, managing the entire compression pipeline independently. This self-service approach maintains data integrity through reliable compression while eliminating the energy consumption burden from the host processor.

Inventive Principle:
Principle #25Self-service

3Productivity

If compression is performed at the volume level by the host to pack compressed data of different lengths, then storage efficiency improves, but computational overhead increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidhost processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the compression function into discrete, manageable components within the storage device controller. Instead of requiring the host to manage complex compression packing operations, the controller handles segmentation of data into compressible units, applies compression algorithms, and manages the packing of compressed data of varying lengths. This segmentation transfers complexity from the host to the storage device, improving storage efficiency without increasing host processing burden.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10509600B2Method and apparatus for data compression and decompression using a standardized data storage and retrieval protocol
Publication Date: 2019.12.17 CHENGDU XINSHENG INTEGRATED CIRCUIT CO LTD
  • US10509600B2 patent drawing
  • US10509600B2 patent drawing
  • US10509600B2 patent drawing

AI summary

A system, method and apparatus for compressing and decompressing data. A host processor and host memory are coupled to a block I/O device. The host processor issues compress and decompress commands to the block I/O device in accordance with a high-speed data storage and retrieval protocol. The block I/O device compresses/decompresses the data specified in the compress/decompress command, thus relieving the host processor of performing the compression/decompression and freeing the host processor for other tasks.