Random Access to Decompressed Blocks via Threshold Abort
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storing data in compressed form poses challenges for random access within structured data sets, such as databases, as it often requires decompressing the entire dataset to retrieve a specific record, leading to inefficiencies in processing time and bandwidth usage.
Innovation Solution
A direct memory access (DMA) engine combined with a compression/decompression accelerator that reads compressed data and decompresses only the necessary portion upon request, using a threshold value to stop processing once the desired data is reached, thereby conserving processing time and bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the entire compressed dataset is decompressed to access a specific record, then the desired data can be retrieved, but processing time and bandwidth are wasted due to decompressing unnecessary data
Solution Approach 1:
The patent divides the compressed data block into multiple decompression units that can be independently processed. Each unit corresponds to a portion of the compressed data that can be decompressed separately, allowing the system to process only the segments containing the desired record rather than the entire dataset.
Solution Approach 2:
The patent implements partial decompression by stopping the decompression process once the desired record is found. The threshold value mechanism allows the system to perform just enough decompression to reach the target data without unnecessarily processing the entire compressed block, thus applying partial action rather than complete decompression.
2Quantity of substance
If compression is applied to reduce storage space, then storage costs are reduced, but random access to specific records becomes inefficient
Solution Approach 1:
The patent segments the compressed data into manageable blocks that can be independently accessed and decompressed. This segmentation allows the system to maintain high storage efficiency through compression while enabling selective access to specific blocks containing desired records, thus improving access throughput without sacrificing storage capacity.
Solution Approach 2:
The patent performs preliminary actions by pre-calculating and storing threshold values that indicate where specific records are located within compressed blocks. This preliminary information allows the system to quickly determine how much data needs to be decompressed to reach the desired record, enabling efficient random access while maintaining compression benefits.
3Loss of energy
If the decompression process continues until the end of the block, then all data is available, but bandwidth is wasted reading and processing unnecessary data
Solution Approach 1:
The patent applies partial action by implementing a threshold value mechanism that stops the decompression process once the desired record is reached. This prevents the system from wasting bandwidth and processing time on decompressing data beyond the point of interest, directly addressing the issue of unnecessary energy consumption and time loss.
Solution Approach 2:
The patent uses feedback from the threshold value comparison to control the decompression process. When the decompression counter reaches the threshold value indicating the location of the desired record, the system receives feedback to stop further decompression, thereby optimizing bandwidth usage and reducing unnecessary processing time.
Data Source
AI summary
A system comprises a data storage, a decompression accelerator configured to decompress compressed data and thereby generate decompressed data, and a direct memory access (DMA) engine coupled to the data storage and the decompression accelerator. The DMA engine comprises a buffer for storage of a plurality of descriptors containing configuration parameters for a block of compressed data to be retrieved from the data storage and decompressed by the decompression accelerator, wherein at least one of the descriptors comprises a threshold value. The DMA engine, in accordance with one or more of the descriptors, is configured to read compressed data from data storage and transmit the threshold value and the compressed data to the decompression accelerator. The decompression accelerator is configured to decompress the compressed data until the threshold value is reached and then to abort further data decompression and to assert a stop transaction signal to the DMA engine.


