Patent classifications
H03M7/6058
QUEUE MANAGEMENT FOR DIRECT MEMORY ACCESS
A direct memory access (DMA) engine may be responsible to enable and control DMA data flow within a computing system. The DMA engine moves blocks of data, associated with descriptors in a plurality of queues, from a source to a destination memory location or address, autonomously from control by a computer system's processor. Based on analysis of the data blocks linked to the descriptors in the queues, the DMA engine and its associated DMA fragmenter ensure that data blocks stored linked to descriptors in the queues do not remain idle for an exorbitant period of time. The DMA fragmenter may divide large data blocks into smaller data blocks to ensure that the processing of large data blocks does not preclude the timely processing of smaller data blocks associated with one or more descriptors in the queues. The data blocks stored may be two-dimensional data blocks.
Lossless binary compression in a memory constrained environment
A method for compressing a data structure generated for a computing system includes: generating a table comprising block values of a set of blocks in the data structure, where a block size of each block in the set of blocks is determined by an architecture of the computing system and the values are a threshold number of the most frequently occurring values; determining whether a first value of a block is stored in the table, where the block occurs; storing, in response to determining that the first value is stored in the table, a table index of the first value in a first data structure; storing, in a second data structure, a second value indicating whether the first value is stored in the table; generating a compressed data structure, where the compressed data structure comprises the table, first data structure and the second data structure.
STORAGE DEVICE AND OPERATING METHOD OF THE STORAGE DEVICE
A storage device may include: a memory device for extracting bits having a first logic value among bits included in data received from outside the memory device, generating a plurality of compressed data chunks including the bits comprising the first logic value and position information representing positions of the bits having the first logic value in the data, and outputting the plurality of compressed data chunks in response to a data output command; and a memory controller for receiving the plurality of compressed data chunks from the memory device, and recovering the data, based on the bits having the first logic value, which are included in the plurality of compressed data, and the position information.
Online Data Compression and Decompression
A computer device provides an on-demand technique for compressing the rows of a dataset separately from all other rows of data in the dataset. Users are presented with a list of predetermined compression techniques, and select one of the techniques. The computer then executes the selected compression technique to compress the dataset on a row-by-row basis. As each row of data is being compressed, the dataset remains on-line such that users still have access to the other rows of data in the dataset. Decompression of the rows of data in the dataset are also implemented on a row-by-row basis.
Data recovery utilizing optimized code table signaling
A computer-implemented method, system, and apparatus for storing binary data is disclosed. A processor receives a digital bit stream and transforms the digital bit stream to an encoded digital bit stream. The encoded digital bit stream comprises a data message encoded by an OCTS-expanded table for storage. The processor stores the encoded digital bit stream on a digital data storage device or system.
Data compression method and storage system
Collecting, by a metadata controller (MDC) in a storage system, first information indicating a current working status of each computing node in the storage system, and second information indicating a current working status of each storage node in the storage system, determining, by the MDC based on the first information, a computing node that is one of the computing nodes and whose current working status is not a busy state as a current active computing node, determining, by the MDC based on the second information, a storage node that is one of the storage nodes and whose current working status is not a busy state as a current active storage node, and compressing, by a distributed software header (DSH) in the current active computing node or a memory manager (MM) in the current active storage node, a piece of data when the storage system needs to compress the data.
PARALLEL LEMPEL-ZIV COMPRESSION FOR HIGHLY-PARALLEL COMPUTER ARCHITECTURES
One embodiment provides a method comprising receiving an input data stream, partitioning the input data stream into a plurality of data blocks, and compressing the data blocks utilizing a plurality of processor sets. Each processor set is assigned a data block to compress. The processor sets compress in parallel to exploit inter-block parallelism. Each processor set comprises one or more processors that collaborate in compressing an assigned data block to exploit intra-block parallelism. The method further comprises writing a plurality of compressed data blocks resulting from the compressing to a storage device in encoded form.
Lossless binary compression in a memory constrained environment
A method for decompressing a compressed data structure generated for a computing system includes generating a first block from the compressed data structure value by: reading a first indicator from a first field of the compressed data structure; reading a first symbol from a second field of the compressed data structure; determining, using the first indicator, whether the first symbol is compressed; reading, in response to determining that the first symbol is compressed, a block value of the first block from a third field of the compressed data structure, where the block value is stored in the third field at an index indicated by the first symbol, and a block size of each block value of the third field is determined by an instruction set of the computing system. The method further includes generating an uncompressed data structure by storing the first block in an uncompressed data structure.
8x8 binary digital multiplier
An 88 binary digital multiplier reduces the height of partial product columns to be no more than 7 bits high. The six 7-bit high middle columns are each input to a (7:3) counter. An ascending triangle compressor operates on the lesser significant bit columns. A descending triangle compressor operates on the greater significant bit columns. The counter and compressor outputs are combined for a final stage of compression, followed by partial product addition.
Addressing recent strings with ring buffer
A non-transitory computer-readable storage medium may include instructions stored thereon. When executed by at least one processor, the instructions may be configured to cause a computing system to compress data by storing positions of strings that hash to a same hash value in a ring buffer, and retrieving the ring buffer in a single memory operation to determine a longest matching string that hashes to the same hash value.