Hybrid CAM/SRAM Compression Engine for Longest-Match Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Lempel Ziv based compression algorithms face challenges in balancing hardware intensity and efficiency, as Content Addressable Memory (CAM) is costly and power-intensive but provides all matches, while Static Random Access Memory (SRAM) based dictionaries cannot detect all matches due to space limitations and hash collisions.
Innovation Solution
A hybrid CAM/SRAM based data compression engine that selectively enables or disables near history and far history compressors based on conditions such as power consumption and performance, using a small CAM for near history and a large SRAM for far history, with synchronization through a hash table to optimize compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a Content Addressable Memory (CAM) is used for history buffer, then all matches in the input stream can be detected, but hardware complexity and power consumption increase significantly
Solution Approach 1:
The patent divides the history buffer into two segments: a first portion stored in CAM for exact match detection, and a second portion stored in SRAM for approximate or less frequently accessed matches. This segmentation allows the system to leverage the strengths of both memory types while mitigating their individual weaknesses, reducing overall hardware complexity while maintaining comprehensive match detection capability.
2Reliability
If a Content Addressable Memory (CAM) is used for history buffer, then all matches in the input stream can be detected, but power consumption increases
Solution Approach 1:
The patent segments the history buffer storage across two different memory technologies: CAM for the first portion and SRAM for the second portion. Since SRAM consumes less power than CAM, this segmentation significantly reduces overall power consumption while still enabling complete match detection through the combined capability of both memory portions.
Solution Approach 2:
The patent applies local quality by assigning different memory characteristics to different portions of the history buffer. The CAM portion provides high-speed, power-intensive exact matching for recently accessed data, while the SRAM portion provides lower-power storage for less frequently accessed historical data. This localized optimization of memory quality matches the access patterns and importance of different data portions.
3Device complexity
If an SRAM based dictionary is used, then silicon area and power are reduced, but not all matches can be detected due to space limitations and hash collisions
Solution Approach 1:
The patent merges two different memory technologies (CAM and SRAM) into a unified history buffer system. The CAM portion ensures complete match detection for the first portion of history data, while the SRAM portion provides extended history storage. Together, they achieve both comprehensive match detection and reduced silicon area compared to using CAM alone.
Data Source
AI summary
A compression engine and method for optimizing the high compression of a content addressable memory (CAM) and the efficiency of a static random access memory (SRAM) by synchronizing a CAM with a relatively small near history buffer and an SRAM with a larger far history buffer. An input stream is processed in parallel through the near history and far history components and an encoder selects for the compressed output the longest matching strings from matching strings provided by each of the near history and far history components. A further optimization is enabled by selectively disabling one or the other of the two types of compressors.


