Compression Assist Instructions for Low-Power FSE Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Compression and decompression processes in portable computing devices are inefficient due to the high performance and power consumption costs associated with complex compression algorithms, which can be a bottleneck in devices with limited power supplies.

Innovation Solution

The implementation of compression assist instructions in processors that enhance the performance and reduce power consumption of compression and decompression tasks by utilizing vector operations and specialized instructions for bit stack read and write operations, allowing for more efficient execution of algorithms like Finite State Entropy (FSE) compression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If complex compression algorithms are used to improve compression ratio, then compression effectiveness is improved, but performance and power consumption increase

Engineering Contradiction:
Improvecompression ratioVSAvoidperformance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides the compression algorithm into distinct phases (entropy encoding, FSE encoding, bit packing) and implements each phase as separate hardware-assisted instructions. This segmentation allows the processor to execute compression tasks in modular stages, improving overall performance while maintaining high compression ratios through specialized hardware support for each phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate data structures (symbol tables, bit stacks, temporary buffers) that facilitate efficient data transformation between different encoding phases. These intermediaries enable the complex compression algorithm to be broken down into manageable steps that can be accelerated by hardware assist instructions, resolving the contradiction between algorithm complexity and execution performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If complex compression algorithms are used to improve compression ratio, then compression effectiveness is improved, but power consumption increases

Engineering Contradiction:
Improvecompression ratioVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent implements self-service mechanisms where the compression hardware assist instructions automatically manage bit packing, symbol table generation, and bit stack operations without requiring extensive software intervention. This reduces the overall computational burden and power consumption while maintaining high compression ratios through efficient hardware-accelerated operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent dynamically adjusts compression parameters (such as symbol frequency thresholds, bit allocation, and table sizes) based on the input data characteristics. By changing parameters adaptively, the system achieves high compression ratios for diverse data types while optimizing power consumption by avoiding unnecessarily complex encoding for already-compressed or random data.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If software-based compression is used to reduce hardware complexity, then device complexity is reduced, but performance and power efficiency deteriorate

Engineering Contradiction:
Improvehardware complexityVSAvoidperformance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent merges software compression algorithms with hardware assist instructions, creating a hybrid architecture where the processor core executes compression software while specialized hardware units accelerate specific operations (bit packing, symbol lookup, bit stack management). This combination maintains relatively simple hardware while achieving performance close to dedicated compression hardware, resolving the contradiction between hardware complexity and performance.

Inventive Principle:
Principle #5Merging (Combining)

4Device complexity

If software-based compression is used to reduce hardware complexity, then device complexity is reduced, but power consumption increases

Engineering Contradiction:
Improvehardware complexityVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent replaces purely software-based compression mechanisms with hardware-assisted instructions that execute compression operations more efficiently at the processor level. This substitution reduces the number of software instruction cycles required, thereby lowering power consumption while maintaining acceptable hardware complexity through the use of processor-integrated assist instructions rather than dedicated compression hardware.

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

Data Source

PatentUS11086625B2Compression assist instructions
Publication Date: 2021.08.10 APPLE INC
  • US11086625B2 patent drawing
  • US11086625B2 patent drawing
  • US11086625B2 patent drawing

AI summary

In an embodiment, a processor supports one or more compression assist instructions which may be employed in compression software to improve the performance of the processor when performing compression/decompression. That is, the compression/decompression task may be performed more rapidly and consume less power when the compression assist instructions are employed then when they are not. In some cases, the cost of a more effective, more complex compression algorithm may be reduced to the cost of a less effective, less complex compression algorithm.