DEFLATE Symbol Decoding Using CAM and Single-Instruction Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The decoding process of DEFLATE encoded data-streams is complex and consumes a large number of CPU instructions when executed in software with generic instructions.

Innovation Solution

A single-instruction technique is proposed that fully decodes a DEFLATE encoded symbol by referring to tabular information containing the translation/decoding for all DEFLATE encoded symbols, fetching sections of the encoded bit stream, and applying them to tabularized information to return the original information and update the pointer, allowing for efficient decoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If DEFLATE decoding is implemented using software with generic instructions, then the decoding process can be performed with flexible and general-purpose code, but it consumes a large number of CPU instructions and has high complexity

Engineering Contradiction:
Improvedecoding flexibilityVSAvoidCPU instruction consumption
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical software-based decoding process with a hardware-based decoding unit that performs DEFLATE decoding operations. This substitution of hardware for software mechanics directly reduces CPU instruction consumption while maintaining decoding functionality, resolving the contradiction between decoding flexibility and CPU instruction consumption.

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

2Adaptability or versatility

If DEFLATE decoding is implemented using software with generic instructions, then the decoder can handle various encoding formats with general-purpose code, but the software footprint is large and efficiency is reduced

Engineering Contradiction:
Improveencoding format compatibilityVSAvoiddecoding efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces software-based decoding with a dedicated hardware decoding unit that processes DEFLATE encoded data streams. This hardware implementation achieves both format compatibility through designed functionality and improved decoding efficiency by performing operations in parallel and reducing CPU instruction overhead.

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

Solution Approach 2:

The decoding unit is designed with multi-functionality to handle various DEFLATE encoding formats and symbols through a unified hardware architecture. This universal design maintains adaptability across different encoding scenarios while achieving consistent high-performance decoding efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8947270B2Apparatus and method to accelerate compression and decompression operations
Publication Date: 2015.02.03 INTEL CORP
  • US8947270B2 patent drawing
  • US8947270B2 patent drawing
  • US8947270B2 patent drawing

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.