Block-Wise Data Compression for Memory Bandwidth Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hardware accelerators and convolutional neural networks (CNNs) on processor chips face memory capacity limitations, leading to bandwidth bottlenecks when transferring data from off-chip memory due to incompatible compression techniques with their operating frequencies.
Innovation Solution
An off-chip data compression technique that splits data into blocks and applies lossless compression methods like run-length encoding (RLE) or partial Huffman encoding based on block characteristics, generating headers for decoding, allowing parallel processing and reducing the size of data transmitted to on-chip components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed using traditional techniques before transmission to hardware accelerators, then data size is reduced, but decoding speed becomes incompatible with hardware operating frequencies
Solution Approach 1:
The patent segments the data into multiple compression blocks, where each block is independently compressed and can be decoded in parallel. This segmentation allows the hardware accelerator to process multiple blocks simultaneously at its native operating frequency, resolving the incompatibility between traditional sequential compression decoding and hardware parallel processing capabilities.
Solution Approach 2:
The patent performs preliminary compression of data blocks before transmission to the hardware accelerator, but designs the compression format with pre-computed metadata and structured headers that enable rapid decompression. The compression structure is prepared in advance with all necessary decoding information embedded, allowing the hardware to skip complex computation steps during actual processing.
2Quantity of substance
If off-chip memory is used to increase capacity, then available memory increases, but bandwidth bottlenecks occur during data transfer
Solution Approach 1:
The patent changes the parameter of data representation by applying lossless compression algorithms (such as Huffman coding or run-length encoding) to transform the data before transfer. This parameter transformation reduces the volume of data that needs to be transferred across the memory interface, thereby increasing effective bandwidth without sacrificing data integrity or requiring changes to the hardware memory architecture.
3Quantity of substance
If compression techniques are applied to all data blocks, then data size is reduced, but processing complexity increases
Solution Approach 1:
The patent applies local quality by using different compression techniques or compression ratios for different data blocks based on their characteristics. Some blocks may use aggressive compression while others use lighter compression or none at all, optimizing the balance between data size reduction and processing complexity for each specific block type.
Solution Approach 2:
The patent implements partial compression action by selectively applying compression only to data blocks that benefit from it, rather than uniformly compressing all data. The system evaluates each block and applies compression only when it results in net space savings, avoiding the overhead of compressing already-compressed or random data.
Data Source
AI summary
Methods, apparatus, systems and articles of manufacture to compress data are disclosed. An example apparatus includes a data slicer to split a dataset into a plurality of blocks of data; a data processor to select a first compression technique for a first block of the plurality of blocks of data based on first characteristics of the first block; and select a second compression technique for a second block of the plurality of blocks of data based on second characteristics of the second block; a first compressor to compress the first block using the first compression technique to generate a first compressed block of data; a second compressor to compress the second block using the second compression technique to generate a second compressed block of data; and a header generator to generate a first header identifying the first compression technique and a second header identifying the second compression technique.


