Patent classifications
H03M7/3086
Computer Data Compression Utilizing Multiple Symbol Alphabets And Dynamic Binding Of Symbol Alphabets
The generation of symbol-encoded data from digital data, as part of the compression of the digital data into a compressed digital data, can be performed with reference to multiple alternative alphabets. A selection of a specific alphabet is made based on the digital data being compressed, the compression parameters, or combinations thereof. Information indicative of the selected alphabet is encoded into one or more headers of the resulting compressed digital data. A single alphabet can be selected for all of a set of digital data being compressed, or multiple different alphabets can be selected, with different ones of the multiple different alphabets being utilized to compress different portions of the digital data. Additionally, rather than explicitly specifying a specific selected alphabet, the header information can comprise information from which a same alphabet can be independently selected heuristically by both the compressor and the corresponding decompressor.
DATA COMPRESSION TECHNIQUES USING PARTITIONS AND EXTRANEOUS BIT ELIMINATION
Partition information associated with one or more partitions that divide a range of values into at least a higher and lower set of values is received. An uncompressed value that falls within the range of values is received and a compressed value that includes a set indicator and intra-set information is generated using the uncompressed value. This includes generating the set indicator based at least in part on whether the uncompressed value falls in the higher or lower set of values, determining whether the uncompressed value includes an extraneous bit where it is necessary but not sufficient that the uncompressed value fall in the higher set of values for the uncompressed value to include the extraneous bit, and generating the intra-set information, including by: excluding the extraneous bit in the uncompressed value from the intra-set information if it is determined to be included. The compressed value is output.
TECHNOLOGIES FOR SWITCHING NETWORK TRAFFIC IN A DATA CENTER
Technologies for switching network traffic include a network switch. The network switch includes one or more processors and communication circuitry coupled to the one or more processors. The communication circuity is capable of switching network traffic of multiple link layer protocols. Additionally, the network switch includes one or more memory devices storing instructions that, when executed, cause the network switch to receive, with the communication circuitry through an optical connection, network traffic to be forwarded, and determine a link layer protocol of the received network traffic. The instructions additionally cause the network switch to forward the network traffic as a function of the determined link layer protocol. Other embodiments are also described and claimed.
Self-checking compression
Methods, apparatus, systems, and software for implementing self-checking compression. A byte stream is encoded to generate tokens and selected tokens are encoded with hidden parity information in a compressed byte stream that may be stored for later streaming or streamed to a receiver. As the compressed byte stream is received, it is decompressed, with the hidden parity information being decoded and used to detect for errors in the decompressed data, enabling errors to be detected on-the-fly rather than waiting to perform a checksum over an entire received file. In one embodiment the byte stream is encoded using a Lempel-Ziv 77 (LZ77)-based encoding process to generate a sequence of tokens including literals and references, with all or selected references encoded with hidden parity information in a compressed byte stream having a standard format such as DEFLATE or Zstandard. The hidden parity information is encoded such that the compressed byte stream may be decompressed without parity checks using standard DEFLATE or Zstandard decompression schemes. Dictionary coders such as LZ78 and LZW may also be used.
VERIFYING COMPRESSED STREAM FUSED WITH COPY OR TRANSFORM OPERATIONS
Methods and apparatus relating to verifying a compressed stream fused with copy or transform operation(s) are described. In an embodiment, compression logic circuitry compresses input data and stores the compressed data in a temporary buffer. The compression logic circuitry determines a first checksum value corresponding to the compressed data stored in the temporary buffer. Decompression logic circuitry performs a decompress-verify operation and a copy operation. The decompress-verify operation decompresses the compressed data stored in the temporary buffer to determine a second checksum value corresponding to the decompressed data from the temporary buffer. The copy operation transfers the compressed data from the temporary buffer to a destination buffer in response to a match between the first checksum value and the second checksum value. Other embodiments are also disclosed and claimed.
Storage device accelerator providing aggregation of divided plaintext data read
The storage device includes a first memory, a process device that stores data in the first memory and reads the data from the first memory, and an accelerator that includes a second memory different from the first memory. The accelerator stores compressed data stored in one or more storage drives storing data, in the second memory, decompresses the compressed data stored in the second memory to generate plaintext data, extracts data designated in the process device from the plaintext data, and transmits the extracted designated data to the first memory.
Deflate compression using sub-literals for reduced complexity Huffman coding
A literal element that has a plurality of bits is received. The plurality of bits in the literal element is divided into a first sub-literal comprising a first set of bits and a second sub-literal comprising a second set of bits. The first sub-literal is encoded using a first Huffman code tree to obtain a first sub-literal codeword; the second sub-literal is encoded using a second Huffman code tree to obtain a second sub-literal codeword. Encoded data that includes information associated with the first Huffman code tree, information associated with the second Huffman code tree, the first sub-literal codeword, and the second sub-literal codeword is output.
STORAGE SYSTEM AND DATA PROCESSING METHOD IN STORAGE SYSTEM
Deterioration of compression throughput including a decompression check after data compression is suppressed. Provided is a storage system including an interface and a controller. The controller includes a compression circuit configured to generate compressed data by compressing received data received via the interface; and a decompression circuit configured to decompress the compressed data before storing the compressed data in a storage drive to confirm data consistency. The compression circuit sequentially executes a compression task of the received data, sequentially generates packets of the compressed data, and transfers the packets to the decompression circuit. The decompression circuit decompresses the received packet in parallel with the compression task.
STORAGE DEVICE
The storage device includes a first memory, a process device that stores data in the first memory and reads the data from the first memory, and an accelerator that includes a second memory different from the first memory. The accelerator stores compressed data stored in one or more storage drives storing data, in the second memory, decompresses the compressed data stored in the second memory to generate plaintext data, extracts data designated in the process device from the plaintext data, and transmits the extracted designated data to the first memory.
DATA COMPRESSION DEVICE AND DATA DECOMPRESSION DEVICE
A data compression device includes a processor configured to extract delimiter characters and character strings from compression target data. The character strings each are sandwiched between two of the delimiter characters in the compression target data. The processor is configured to generate first data by arranging the delimiter characters to allow an order in which the delimiter characters occur in the compression target data to be identified. The processor is configured to generate second data by arranging the character strings for each type of combination of two of the delimiter characters, which sandwich each of the character strings in the compression target data, to allow an order in which the character strings occur in the compression target data to be identified. The processor is configured to perform compression on the first data and the second data. The processor is configured to output a result of the compression.