Single-Instruction DEFLATE Decoding With CAM-Based Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of the DEFLATE decoding process results in a high number of CPU instructions, leading to inefficient software execution.

Innovation Solution

A single-instruction DEFLATE decoder is designed to fetch and decode DEFLATE encoded symbols by referencing tabular information, including a literal/length table and a distance table, to efficiently process and return original information, incrementing the pointer to decode the entire stream.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional multi-instruction DEFLATE decoding is used, then decoding accuracy is maintained, but CPU instruction count increases and processing efficiency decreases

Engineering Contradiction:
Improvedecoding speedVSAvoidinstruction complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple decoding operations (literal decoding, length decoding, distance decoding, and match generation) into a single unified instruction cycle. The execution unit processes complete DEFLATE symbols atomically, merging what traditionally required multiple sequential instructions into one consolidated operation, thereby improving throughput and reducing CPU overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces specialized execution units with dedicated decoding logic and lookup table interfaces as intermediary components between the CPU and the decompression stream. These execution units handle the complex decoding logic in hardware, freeing the main CPU from instruction-level complexity while maintaining accurate DEFLATE decoding.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If software-based DEFLATE decoding is used, then flexibility is maintained, but software footprint increases and execution efficiency decreases

Engineering Contradiction:
Improveprocessing speedVSAvoidsoftware footprint
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent replaces software-based decoding logic with dedicated hardware execution units that implement DEFLATE decoding logic in circuitry. This substitution eliminates the need for large software footprints while achieving higher processing speeds through hardware-accelerated lookup table operations and parallel decoding paths.

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

Solution Approach 2:

The patent uses lookup tables that contain pre-computed decoding information for all possible DEFLATE symbol types. By copying decoded values directly from these tables during execution, the system avoids complex computational logic in software, reducing both software footprint and execution time while maintaining decoding accuracy.

Inventive Principle:
Principle #26Copying

3Reliability

If comprehensive DEFLATE decoding logic is implemented, then decoding accuracy is ensured, but CPU usage increases

Engineering Contradiction:
Improvedecoding accuracyVSAvoidCPU usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The execution units are designed to autonomously handle the complete decoding process without requiring extensive CPU intervention. The units self-manage lookup table access, symbol type identification, and decoded value generation, ensuring accurate decoding while minimizing CPU cycle consumption through self-contained operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent pre-organizes decoding logic and lookup tables during system initialization or fabrication, preparing all necessary decoding information in advance. This preliminary action allows the execution units to perform accurate decoding operations without requiring complex real-time CPU processing, thereby reducing active CPU usage during decompression.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3014421B1Apparatus and method to accelerate compression and decompression operations
Publication Date: 2020.12.16 INTEL CORP
  • EP3014421B1 patent drawingFigure 1
  • EP3014421B1 patent drawingFigure 2
  • EP3014421B1 patent drawingFigure 3

AI summary

A processor is described that includes an instruction execution pipeline having an instruction fetch unit to fetch and decode an instruction. The processor also has an execution unit to execute the instruction. The execution unit has a state machine and content addressable memory (CAM) circuitry. The state machine is to receive a pointer to a stream of DEFLATE encoded information, fetch a section of the DEFLATE encoded information and apply the section of the DEFLATE encoded information to the CAM to obtain decoded DEFLATE information