Hardware Compression Decompression Engine Prefetching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face performance and power consumption issues due to the need for data compression and decompression, which can suspend system operations and consume additional resources when accessing data from storage devices.
Innovation Solution
A computing system with a Compression/Decompression Unit that prefetches data and uses a compression circuit to generate compressed packets, combining them into groups for efficient storage and decompression, minimizing the impact on power consumption and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data compression and decompression operations are performed using traditional methods, then storage space is reduced, but system performance deteriorates and power consumption increases
Solution Approach 1:
The compression and decompression operations are divided into separate dedicated hardware circuits (compression circuit and decompression circuit) rather than using general-purpose processor resources. This segmentation allows simultaneous operation of compression and decompression without interfering with main processor performance, resolving the contradiction between storage optimization and system performance.
Solution Approach 2:
The system performs preliminary actions by prefetching data into buffers before compression or decompression operations are needed. The first buffer stores data awaiting compression, and the second buffer stores compressed data ready for decompression. This preliminary data preparation eliminates wait states and maintains system performance while enabling compression functionality.
2Quantity of substance
If data compression and decompression operations are performed using traditional methods, then storage space is reduced, but power consumption increases
Solution Approach 1:
Dedicated compression and decompression circuits act as intermediary hardware components between the processor and storage buffers. These specialized circuits handle all compression/decompression processing, preventing the processor from consuming excessive power on these operations. The intermediary circuits are optimized for low-power operation while maintaining compression functionality.
Solution Approach 2:
The compression and decompression circuits operate autonomously using dedicated hardware logic rather than relying on processor execution. The circuits self-manage the compression/decompression tasks using buffer contents and control signals, eliminating the need for high-power processor involvement and thereby reducing overall system power consumption.
3Quantity of substance
If compression operations are implemented, then storage efficiency improves, but device complexity increases
Solution Approach 1:
The compression system is segmented into distinct functional blocks: a compression circuit with dedicated logic for pattern detection and encoding, separate buffers for input/output data, and control mechanisms. This modular segmentation makes the complex compression functionality more manageable and integrates it more smoothly into the existing system architecture.
Solution Approach 2:
The first buffer and second buffer serve as intermediary storage structures that simplify the integration of compression functionality. These buffers act as intermediaries between the processor and compression circuit, providing a buffer zone that decouples the complexity of compression operations from the main system and enables straightforward data flow management.
Data Source
AI summary
A method and system for compressing and decompressing data is disclosed. A compression command may initiate the prefetching of first data, which may be stored in a first buffer. Multiple words of the first data may be read from the first buffer and used to generate a plurality of compressed packets, each of which includes a command specifying a type of packet. The compressed packets may be combined into a group and multiple groups may be combined and stored in a second buffer. A decompression command may initiate the prefetching of second data, which is stored in the first buffer. A portion of the second data may be read from the first buffer and used to generate a group of compressed packets. Multiple output words may be generated dependent upon the group of compressed packets.


