Zero-Delay Compression FIFO Buffer Using Segmented Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing FIFO buffers face challenges in minimizing delay during data compression and decompression, leading to inefficient memory usage and increased latency in memory operations.
Innovation Solution
A compression FIFO buffer (cFIFO) is introduced, utilizing two FIFOs to store higher and lower words, with control logic that increments memory pointers only when the higher word changes, allowing for zero-delay compression and decompression while reducing memory footprint by leveraging redundant information in data sequences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed in a FIFO buffer, then memory consumption is reduced, but delay increases
Solution Approach 1:
The patent segments data words into high-order and low-order parts, storing only unique high-order values in one FIFO and all low-order values in another FIFO. This segmentation allows compression of redundant high-order data while maintaining zero-delay operation through separate write pointers for each FIFO.
Solution Approach 2:
The patent introduces a third FIFO that stores the mapping between compressed high-order values and their original positions. This intermediary structure enables zero-delay decompression by providing direct lookup of the correct high-order value for each low-order value during read operations.
2Quantity of substance
If compression is implemented in FIFO, then memory footprint is reduced, but device complexity increases
Solution Approach 1:
The patent divides the compression function into three separate FIFO structures: one for high-order values, one for low-order values, and one for mapping information. This segmentation simplifies the overall design by using standard FIFO components rather than a complex custom compression circuit.
Solution Approach 2:
The control logic automatically manages the compression and decompression processes by comparing high-order values and incrementing write pointers only when values change. This self-service mechanism eliminates the need for complex external control circuits while achieving compression.
3Speed
If all data words are stored in uncompressed FIFO, then access speed is maintained, but memory usage increases
Solution Approach 1:
The patent extracts the redundant high-order data from the full data words and stores only unique instances in a separate FIFO. This extraction reduces memory usage by eliminating redundant storage of identical high-order values while maintaining fast access through direct FIFO read operations.
Solution Approach 2:
The patent merges the compressed high-order data with low-order data during the read operation to reconstruct the original data words. This merging occurs in the output stage without affecting the speed of the underlying FIFO operations, thus maintaining fast access while reducing memory usage.
Data Source
AI summary
A compression first in, first out (cFIFO) that includes at least two FIFOs is described. A first FIFO is used to store instances of higher words in data entries, and a second FIFO is used to store corresponding instances of lower words in the data entries. If an instance of the higher word for a data entry has a different value than an immediately preceding stored instance of the higher word associated with at least an immediately preceding data entry which is stored in the second FIFO, memory pointers are incremented so that a subsequent instance of the higher word will be stored in the second FIFO without overwriting the instance of the higher word. Otherwise, the memory pointers are unchanged, which associates the instance of the lower word with the immediately preceding stored instance of the higher word.


