OZIP Block Compression with Static Dictionary Random Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression codecs, such as ZLIB and LZO, are inefficient for high-performance, latency-sensitive applications with random data access due to high processing overhead and unsuitability for hardware implementation, particularly in systems requiring low latency and random access support.
Innovation Solution
OZIP, a data compression codec that uses a static dictionary and direct token encoding to facilitate low-cost, high-performance hardware implementations, enabling parallel processing and supporting low latency random access through granular block mapping in metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If common compression codecs (ZLIB, LZO) are used to achieve high compression ratios, then storage footprint is reduced, but processing overhead increases significantly
Solution Approach 1:
The patent segments the compressed data into fixed-size blocks with block headers containing offset information. This segmentation enables independent processing of individual blocks, reducing the processing overhead when accessing specific data portions without requiring decompression of entire data sets.
Solution Approach 2:
The patent performs preliminary actions by pre-computing and storing block offsets in headers during the compression phase. This allows the decompression process to directly access specific blocks without sequential processing, significantly reducing processing time for random access workloads.
2Speed
If common compression codecs are implemented in hardware to reduce latency, then processing speed improves, but hardware complexity and fabrication costs increase
Solution Approach 1:
The patent divides compressed data into fixed-size blocks with simple header structures containing only offset information. This segmentation simplifies hardware implementation by enabling parallel processing of independent blocks without complex state management required by traditional sliding window approaches.
Solution Approach 2:
The patent changes the fundamental parameters of compression by using fixed-block sizes and static dictionary references instead of dynamic sliding windows. This parameter change reduces hardware complexity while maintaining compression effectiveness for workloads with repeated data patterns.
3Productivity
If compression codecs are designed for sequential access to minimize processing overhead, then processing efficiency improves, but random data access capability deteriorates
Solution Approach 1:
The patent segments compressed data into fixed-size blocks with headers storing offset information for each block. This segmentation enables random access to any block independently, providing both sequential processing efficiency and random access capability simultaneously.
Solution Approach 2:
The patent introduces block headers as an intermediary layer between the compressed data and the access mechanism. These headers contain offset information that mediates between the compressed data structure and random access requirements, enabling efficient positioning without sequential processing.
4Speed
If in-memory data is cached to eliminate disk read latency, then access speed improves, but memory usage increases
Solution Approach 1:
The patent segments compressed data into fixed-size blocks that can be independently cached in memory. This segmentation allows selective caching of only the blocks currently needed for processing, reducing overall memory usage while maintaining fast access speeds for cached portions.
Solution Approach 2:
The patent performs preliminary compression to reduce the total data size before caching. By compressing data beforehand, the same amount of information fits into smaller memory footprints, allowing more data to be cached within available memory constraints.
Data Source
AI summary
A method, apparatus, and system for OZIP, a data compression and decompression codec, is provided. OZIP utilizes a fixed size static dictionary, which may be generated from a random sampling of input data to be compressed. Compression by direct token encoding to the static dictionary streamlines the encoding and avoids expensive conditional branching, facilitating hardware implementation and high parallelism. By bounding token definition sizes and static dictionary sizes to hardware architecture constraints such as word size or processor cache size, hardware implementation can be made fast and cost effective. For example, decompression may be accelerated by using SIMD instruction processor extensions. A highly granular block mapping in optional stored metadata allows compressed data to be accessed quickly at random, bypassing the processing overhead of dynamic dictionaries. Thus, OZIP can support low latency random data access for highly random workloads, such as for OLTP systems.


