Compression Instruction History Buffer for Faster Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing environments face inefficiencies in compression and decompression operations due to the need for multiple primitive software instructions, which increase program complexity and lead to task switches, thereby reducing performance.

Innovation Solution

A single architected instruction within the instruction set architecture is used to perform compression and decompression functions, utilizing a circular buffer to store history and avoid task switches by executing the operations directly on a general-purpose processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple primitive software instructions are used to perform compression and decompression operations, then the operations can be executed on general-purpose processors, but program complexity increases and task switches are required, reducing performance

Engineering Contradiction:
Improvecompatibility with general-purpose processorsVSAvoidprogram complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple primitive software instructions into a single architected instruction that performs compression or decompression operations. This single instruction integrates the functionality of numerous separate instructions, thereby reducing program complexity while maintaining execution on general-purpose processors.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single architected instruction is designed to perform multiple functions (compression and decompression) within one instruction format. This multi-functional instruction eliminates the need for separate instruction sequences for different compression/decompression tasks, reducing overall program complexity.

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

2Adaptability or versatility

If multiple primitive software instructions are used to perform compression and decompression operations, then the operations can be executed on general-purpose processors, but task switches are required, reducing execution speed

Engineering Contradiction:
Improvecompatibility with general-purpose processorsVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

By merging multiple primitive instructions into a single architected instruction, the patent eliminates the need for multiple task switches that would otherwise be required to execute separate instructions for compression/decompression operations, thereby improving execution speed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single architected instruction enables continuous execution of compression or decompression operations without interrupting the processor flow for task switches. This continuous action maintains higher execution speed by keeping the processor engaged in the compression/decompression task throughout.

Inventive Principle:
Principle #20Continuity of useful action

3Device complexity

If a single architected instruction is used to perform compression and decompression functions, then program complexity is simplified and execution time is reduced, but the instruction requires specialized handling of history buffers and state management

Engineering Contradiction:
Improveprogram complexityVSAvoidease of implementation
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent introduces a history buffer as an intermediary data structure that manages the state information required for compression and decompression operations. This buffer serves as a mediator between the single architected instruction and the complex state management requirements, simplifying the instruction's implementation while maintaining functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If history is stored in a circular buffer specified by the instruction, then compression ratios are improved by detecting duplicate strings, but the instruction requires additional register fields and parameter blocks

Engineering Contradiction:
Improvecompression ratioVSAvoidinstruction structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent utilizes a circular buffer organized in a specific dimensional structure with offset and length parameters, transforming the way history is stored and accessed. This dimensional organization enables efficient duplicate string detection for improved compression ratios while managing the instruction's structural complexity through systematic parameter management.

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

Data Source

PatentUS10831497B2Compression/decompression instruction specifying a history buffer to be used in the compression/decompression of data
Publication Date: 2020.11.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10831497B2 patent drawing
  • US10831497B2 patent drawing
  • US10831497B2 patent drawing

AI summary

An instruction to perform a function of a plurality of functions is obtained. The instruction is a single architected instruction of an instruction set architecture that complies to an industry standard for compression. The instruction is executed, and the executing includes performing the function specified by the instruction. The performing includes, based on the function being a compression function or a decompression function, transforming state of input data between an uncompressed form of the input data and a compressed form of the input data to provide a transformed state of data accessing. During performing the function, history relating to the function is accessed. The history is to be used in transforming the state of input data between the uncompressed form and the compressed form.