Hardware Decompression Engine With Stateful Session Offloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hardware decompression acceleration engines face challenges in supporting stateful decompression due to limited memory resources, preventing them from effectively handling a large number of concurrent decompression sessions.
Innovation Solution
A hybrid software and hardware decompression system that includes an input buffer, a decompression processing unit, and an output buffer, where the decompression processing unit receives flags indicating the location of to-be-decompressed data and the presence of an intermediate state, allowing for efficient storage and restoration of intermediate states, enabling stateful decompression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hardware decompression acceleration engines are used to relieve CPU resources, then processing speed and efficiency are improved, but the ability to support stateful decompression for a large number of concurrent sessions deteriorates due to limited memory resources
Solution Approach 1:
The patent divides the decompression system into two parts: a hardware decompression acceleration engine for fast processing and a software layer for managing intermediate state storage. This segmentation allows the hardware to focus on high-speed decompression while the software handles state management, resolving the contradiction between speed and concurrent session support.
Solution Approach 2:
The patent introduces a software layer as an intermediary between the host computer and the hardware decompression engine. This intermediary manages the intermediate state information and coordinates decompression sessions, enabling the hardware engine to maintain high performance while supporting multiple concurrent sessions through software-managed state storage.
2Adaptability or versatility
If intermediate state information is stored in memory to support stateful decompression, then decompression can be suspended and resumed, but memory resource consumption increases
Solution Approach 1:
The patent segments the state management function from the hardware decompression engine and places it in the software layer. This allows intermediate state information to be stored in software-managed memory structures rather than consuming dedicated hardware memory resources, reducing the memory burden on the hardware engine while maintaining stateful decompression capability.
Solution Approach 2:
The patent changes the storage location and management approach of intermediate state information from hardware-based fixed memory to software-based flexible memory structures. This parameter change allows dynamic allocation and efficient management of memory resources, supporting stateful decompression without permanently consuming large amounts of memory.
3Adaptability or versatility
If CPU-based software decompression is used with large host memory capacity, then stateful decompression for many concurrent sessions is easy to support, but CPU usage and memory data movement overhead increase
Solution Approach 1:
The patent replaces pure software-based decompression (CPU-executed instructions) with a hybrid approach using hardware decompression acceleration engine for the actual decompression operation. This substitution leverages dedicated hardware circuitry to perform decompression tasks, significantly reducing CPU usage overhead while maintaining the ability to support multiple concurrent sessions through software-managed state information.
Data Source
AI summary
A hardware decompression acceleration engine including: an input buffer for receiving to-be-decompressed data from a software layer of a host computer; a decompression processing unit coupled to the input buffer for decompressing the to-be-decompressed data, the decompression processing unit further receiving first and second flags from the software layer of the host computer, wherein the first flag is indicative of a location of the to-be-decompressed data in a to-be-decompressed data block and the second flag is indicative of a presence of an intermediate state; and an output buffer for storing decompressed data from the decompression processing unit.


