H03M7/3086

Technologies for error detection in compressed data streams
10936404 · 2021-03-02 · ·

Technologies for error recovery in compressed data streams include a compute device configured to compress uncompressed data of an input stream to generate compressed data, perform a compression error check on the compressed data to verify integrity of the compressed data, and determine, as a result of the performed compression error check, whether the compressed data included a compression error. The compute device is further configured to transfer, in response to a determination that the performed compression error check indicated that the compressed data included the compression error, the uncompressed data into a destination buffer, and store an indication with the uncompressed data into the destination buffer, wherein the indication is usable to identify that the uncompressed data has been transferred into the destination buffer. Other embodiments are described herein.

Hardware friendly data compression
10938410 · 2021-03-02 · ·

Systems, apparatus and methods are provided for compressing data. An exemplary method may comprise interleaving one or more literal length fields with one or more literal fields to an output. The literal fields may contain a first data segment literally copied to the output, and each of the one or more literal length fields may contain a value representing a length of a succeeding literal field. The method may further comprise determining a second data segment being matched to a previously literally copied sequence of data and a match position and writing to the output one or more match length fields and a match position field containing the match position. The literal length fields may contain a total length of the first data segment and the match length fields may contain a total length of the second data segment.

Verifying the correctness of a deflate compression accelerator

Embodiments of the invention are directed to a DEFLATE compression accelerator and to a method for verifying the correctness of the DEFLATE compression accelerator. The accelerator includes an input buffer and a Lempel-Ziv 77 (LZ77) compressor communicatively coupled to an output of the input buffer. A switch is communicatively coupled to the output of the input buffer and to the output of the LZ77 compressor. The switch is configured to bypass the LZ77 compressor during a compression test. The accelerator further includes a deflate Huffman encoder communicatively coupled to an output of the switch and an output buffer communicatively coupled to the deflate Huffman encoder. When the switch is not bypassed, the compressor can be modified to produce repeatable results.

Sensor content encoding

Disclosed are techniques for encoding a set of sensor content symbols at least in part via applying a processing window of an adjustable size.

Technologies for dynamically managing resources in disaggregated accelerators

Technologies for dynamically managing resources in disaggregated accelerators include an accelerator. The accelerator includes acceleration circuitry with multiple logic portions, each capable of executing a different workload. Additionally, the accelerator includes communication circuitry to receive a workload to be executed by a logic portion of the accelerator and a dynamic resource allocation logic unit to identify a resource utilization threshold associated with one or more shared resources of the accelerator to be used by a logic portion in the execution of the workload, limit, as a function of the resource utilization threshold, the utilization of the one or more shared resources by the logic portion as the logic portion executes the workload, and subsequently adjust the resource utilization threshold as the workload is executed. Other embodiments are also described and claimed.

Adaptive speculative decoding

Examples herein relate to decoding tokens using speculative decoding operations to decode tokens at an offset from a token decoded by a sequential decoding operation. At a checkpoint, a determination is made as to whether tokens to be decoded by the sequential and speculative decoding operations align. If there is alignment, the speculatively decoded tokens after a discard window are committed and made available for access. If there is not alignment, the speculatively decoded tokens are discarded. A miss in alignment and a fullness level of a buffer that stores speculatively decoded tokens are assessed to determine a next offset level for a start of speculative decoding. A size of a discard window can be set using a relationship based on the offset level to improve buffer utilization and to attempt to improve changes of alignments.

Symbol pair encoding for data compression

Methods, apparatuses, and computer-readable media for compressing data for storage or transmission. Input data is compressed in a first stage utilizing a first compression algorithm and the frequencies of occurrence of symbols and symbol pairs in the output from the first stage is calculated. The output from the first stage is then encoded to a final compressed bit string in a second stage utilizing a second compression algorithm based on the calculated frequencies of occurrence of the symbols and the symbol pairs.

DATA COMPRESSOR AND DATACOMPRESSION METHOD
20210211140 · 2021-07-08 ·

A data compressor with a hash computing hardware configured to evaluate the hash value for the current hash key extracted from a source data string, obtain a hash line corresponding to the hash value from a hash table, and perform hash key comparison to find at least one matching hash key. The hash line includes a prefix address column that stores a prefix address. Each entry of the hash line is provided to store a hash key and an offset. The hash computing hardware evaluates an address of the at least one matching hash key by combining the prefix address and an offset of the at least one matching hash key, and the offset of the at least one matching hash key is obtained from an entry storing the at least one matching hash key.

Computer system supporting multiple encodings with static data support

A computer system includes a host system, a hardware controller and an operating system. The host system runs an application that includes at least one compression library and that outputs a compression request to compress a data stream having an initial data-representation size. The hardware controller compresses the data stream according to an encoding scheme indicated by the compression library to generate a compressed data stream having a reduced data-representation size with respect to the initial data-representation size. The operating system provides a communication interface between the hardware controller and the application allowing the exchange of protocol data blocks between the application and the hardware controller. A protocol data block identifies an update status of the compression library and the OS. The computer system selectively operates in a first compression mode and a second compression based on the update status, thereby varying a compression ratio of the compressed data stream.

Dynamic dictionary-based data symbol encoding
10897270 · 2021-01-19 ·

A dynamic dictionary-based data symbol encoder. A dynamic dictionary data structure is populated with evictable dictionary entries. The evictable dictionary entries are encoded with a dictionary index that is shorter than an original representation of the input symbols. A reference count evicts dictionary indices when eligible for eviction. Through building a dynamic symbol dictionary which is much smaller than (global) alphabet size, locally repetitive symbols can be effectively compressed using dictionary. The dictionary is also dynamically built along with the compression/decompression process and therefore does not carry overhead. However, tables/trees might be appended to enable entropy decoding. The method is also readily combined with the popular LZ77 and its variant encoding methods into composite one-pass encoding algorithms to achieve superior performance.