Parallel Hardware Decompression Engine for Multi-Stream Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Decompressing compressed data in software requires a large number of computational operations and memory accesses, making it inefficient.

Innovation Solution

A hardware decompression engine with N decoders and a decompressor is used to decompress compressed data, allowing for parallel decoding of multiple streams and efficient execution of commands to recreate original data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is decompressed in software using a general-purpose processor, then the device can handle various compression formats flexibly, but the decompression process requires a large number of computational operations and memory accesses, making it inefficient

Engineering Contradiction:
Improveflexibility in handling compression formatsVSAvoiddecompression efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The decompression system is segmented into multiple specialized decoder circuits (first decoder, second decoder, etc.), each dedicated to decoding a specific stream of compressed data. This segmentation allows parallel processing of multiple data streams while maintaining flexibility through configurable decoder assignments, thereby improving decompression efficiency without sacrificing adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the software-based decompression mechanism (which uses general-purpose processor instructions and memory accesses) with a hardware-based decompression engine consisting of dedicated decoder circuits. This substitution eliminates the overhead of computational operations and memory accesses associated with software execution, significantly improving decompression efficiency while maintaining format flexibility through configurable hardware decoding.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Device complexity

If multiple streams of compressed data are processed sequentially in software, then memory management is simplified, but the decompression speed is reduced due to the large number of computational operations required

Engineering Contradiction:
Improvememory management complexityVSAvoiddecompression speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The system segments the compressed data into multiple independent streams, each processed by a dedicated decoder circuit in parallel. This segmentation enables simultaneous decomposition of multiple data streams, dramatically increasing decompression speed while the hardware architecture automatically manages memory access patterns, reducing the complexity burden on software.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-stream processing to parallel multi-stream processing by adding the dimension of concurrency. Multiple decoder circuits operate simultaneously on different data streams, transforming the decompression process from a single-threaded sequential operation to a multi-threaded parallel operation, thereby exponentially improving decompression speed.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If a general-purpose processor is used for decompression, then the device can perform other operations concurrently, but the processor is occupied with decompression tasks, reducing overall device performance

Engineering Contradiction:
Improveconcurrent operation capabilityVSAvoidprocessor availability
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The decompression function is segmented off from the general-purpose processor and implemented as a separate hardware decompression engine with dedicated decoder circuits. This segmentation frees the general-purpose processor from decompression tasks, making it available for other operations, while the specialized hardware handles decompression independently and efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware decompression engine acts as an intermediary between the compressed data input and the processing systems. It handles the computationally intensive decompression operations independently, allowing the general-purpose processor and other system components to operate concurrently without being blocked by decompression tasks, thereby improving overall device performance and resource utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20230153111A1Decompression Engine for Decompressing Compressed Input Data that Includes Multiple Streams of Data
Publication Date: 2023.05.18 ATI TECHNOLOGIES ULC
  • US20230153111A1 patent drawing
  • US20230153111A1 patent drawing
  • US20230153111A1 patent drawing

AI summary

An electronic device that includes a decompression engine that includes N decoders and a decompressor decompresses compressed input data that includes N streams of data. Upon receiving a command to decompress compressed input data, the decompression engine causes each of the N decoders to decode a respective one of the N streams from the compressed input data separately and substantially in parallel with others of the N decoders. Each decoder outputs a stream of decoded data of a respective type for generating commands associated with a compression standard for decompressing the compressed input data. The decompressor next generates, from the streams of decoded data output by the N decoders, commands for decompressing the data using the compression standard to recreate the original data. The decompressor next executes the commands to recreate the original data and stores the original data in a memory or provides the original data to another entity.