Inline Decompression of Stack-Compressed Sparse Data Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks with many zeros, such as those using rectified linear unit (ReLU) activation functions or pruned recurrent neural networks, face challenges in efficiently processing and storing sparse data, leading to increased memory usage and bandwidth requirements.

Innovation Solution

A technique for efficiently compressing and decompressing data with many zeros by using a compression engine to remove zero words and generate metadata for mapping non-zero words, allowing for offline compression and hardware-based decompression, which can be applied to neural networks and other sparse data environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in uncompressed format, then processing is straightforward, but memory usage and bandwidth requirements increase significantly

Engineering Contradiction:
Improvememory usageVSAvoidcompression/decompression system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The data is divided into blocks, and each block is independently compressed and processed. The compression engine processes data in manageable segments rather than treating the entire dataset as one unit, allowing for efficient memory management and parallel processing of multiple blocks simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Zero words are extracted and removed from the data blocks during compression, leaving only non-zero words to be stored and transmitted. This extraction principle directly reduces memory usage by eliminating redundant zero values while maintaining the essential information in the compressed representation.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If compression is applied to reduce memory usage, then storage efficiency improves, but decompression processing time increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddecompression processing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Compression is performed in advance during data preparation or offline processing, converting the data to a compressed format before storage or transmission. This preliminary compression action allows the system to store and transfer compressed data efficiently, with decompression only needed when the data is actually accessed or processed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compressed data structure is designed to enable self-service decompression where the decompression process can efficiently reconstruct the original data using the stored compression metadata and map information, minimizing the need for complex external processing during decompression.

Inventive Principle:
Principle #25Self-service

3Loss of energy

If zero words are removed during compression, then bandwidth requirements decrease, but data structure complexity increases

Engineering Contradiction:
Improvebandwidth requirementsVSAvoiddata structure complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

A map metadata structure serves as an intermediary between the compressed data and the original uncompressed format. This map contains information about the positions and values of non-zero words, enabling efficient reconstruction of the original data while maintaining a relatively simple compressed storage format that reduces bandwidth requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If hardware-based decompression is implemented, then processing speed improves, but device complexity and cost increase

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The decompression operation is implemented using hardware circuits instead of software-based processing. This substitution of mechanical/computational approach with dedicated hardware logic enables parallel processing and significantly faster decompression speeds, as the hardware can simultaneously reconstruct multiple data blocks without the overhead of software interpretation and execution.

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

Data Source

PatentUS20240413839A1Inline decompression
Publication Date: 2024.12.12 QUALCOMM INC
  • US20240413839A1 patent drawing
  • US20240413839A1 patent drawing
  • US20240413839A1 patent drawing

AI summary

Techniques and apparatuses to decompress data that has been stack compressed is described. Stack compression refers to compression of data in one or more dimensions. For uncompressed data blocks that are very sparse, i.e., data blocks that contain many zeros, stack compression can be effective. In stack compression, uncompressed data block is compressed into compressed data block by removing one or more zero words from the uncompressed data block. A map metadata that maps the zero words of the uncompressed data block is generated during compression. With the use of the map metadata, the compressed data block can be decompressed to restore the uncompressed data block.