Compression Engine Match Limiting for Quality-Bandwidth Tradeoffs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data compression engines face a trade-off between throughput speed and compression quality, as thorough searching for repeated data patterns increases processing time, reducing bandwidth, and existing methods speculate potential matches but lack efficiency, especially for poor compressibility datasets.

Innovation Solution

The system employs a pipeline operation with a control input to limit the number of potential string matches processed, using parallel memory and redundant operations to improve throughput, and speculates on match absence to initiate searches before full results are known, allowing for concurrent processing of multiple matches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the compression engine performs thorough searching for repeated data patterns, then compression quality is improved, but throughput speed decreases

Engineering Contradiction:
Improvecompression qualityVSAvoidthroughput speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements dynamic control of search thoroughness by adjusting the number of candidate matches processed based on data characteristics. The system transitions from static predetermined search parameters to dynamic adaptation, processing more candidates when data shows high compressibility and fewer candidates when compressibility is low, thereby optimizing the trade-off between compression quality and throughput speed for different data types

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of search thoroughness (number of candidate matches processed) based on detected data compressibility characteristics. By monitoring data patterns and adjusting the search parameter dynamically, the system achieves high compression quality for compressible data while maintaining high throughput for incompressible data, resolving the contradiction between search thoroughness and processing speed

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If the compression engine processes more potential string matches, then compression quality is improved, but processing time increases

Engineering Contradiction:
Improvecompression qualityVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by processing only a limited number of candidate matches (e.g., top 1-3 candidates) rather than exhaustively searching all potential matches. This partial processing approach achieves sufficient compression quality for most practical applications while dramatically reducing processing time, as the majority of compression gains come from finding the best few matches rather than all possible matches

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the search engine performs comprehensive matching operations, then compression quality is improved, but bandwidth is reduced

Engineering Contradiction:
Improvecompression qualityVSAvoidbandwidth
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary analysis of data compressibility characteristics before initiating full search operations. By pre-assessing whether the data is likely to be compressible based on initial patterns, the system can decide whether to perform thorough searching or use faster approximate methods, thereby maintaining high bandwidth while achieving good compression quality when it matters most

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8350732B2Compression with adjustable quality/bandwidth capability
Publication Date: 2013.01.08 MARVELL ASIA PTE LTD
  • US8350732B2 patent drawing
  • US8350732B2 patent drawing
  • US8350732B2 patent drawing

AI summary

The disclosure provides a system and method to vary bandwidth/speed of a compression engine to tradeoff with compression quality. The system comprises an input port receiving a data stream having a current byte and a stream of preceding and subsequent bytes thereof; a history memory storing the stream of preceding bytes in blocks of history data an index engine having a table of keys associated to memory addresses of the blocks, the index engine accessing the table to output a plurality of potential string matches upon entry of the current byte; a search engine processing the potential string matches by fetching the blocks of history data associated with each of the plurality of potential string matches and comparing a portion of each of the blocks to the current byte to output a string upon matching consecutive bytes in the block to the current byte and subsequent bytes thereof; and a control input limiting the number of potential string matches processed by the search engine.