System and methods for accelerated data storage and retrieval
First Claim
1. A system comprising:
- a memory device; and
a data accelerator coupled to said memory device, wherein;
said data accelerator compresses a data stream that includes a plurality of data blocks to provide a compressed data stream,said data accelerator stores said compressed data stream on said memory device,said compression and said storage occurs faster than said data stream is able to be stored on said memory device in uncompressed form, andsaid compression of said data stream comprises, for each data block in the plurality of data blocks;
compressing the data block with a plurality of encoding techniques to provide a plurality of compressed data blocks; and
determining one of said plurality of compressed data blocks to provide as part of said compressed data stream.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for providing accelerated data storage and retrieval utilizing lossless data compression and decompression. A data storage accelerator includes one or a plurality of high speed data compression encoders that are configured to simultaneously or sequentially losslessly compress data at a rate equivalent to or faster than the transmission rate of an input data stream. The compressed data is subsequently stored in a target memory or other storage device whose input data storage bandwidth is lower than the original input data stream bandwidth. Similarly, a data retrieval accelerator includes one or a plurality of high speed data decompression decoders that are configured to simultaneously or sequentially losslessly decompress data at a rate equivalent to or faster than the input data stream from the target memory or storage device. The decompressed data is then output at rate data that is greater than the output rate from the target memory or data storage device. The data storage and retrieval accelerator method and system may employed: in a disk storage adapter to reduce the time required to store and retrieve data from computer to disk; in conjunction with random access memory to reduce the time required to store and retrieve data from random access memory; in a display controller to reduce the time required to send display data to the display controller or processor; and/or in an input/output controller to reduce the time required to store, retrieve, or transmit data.
594 Citations
62 Claims
-
1. A system comprising:
-
a memory device; and a data accelerator coupled to said memory device, wherein; said data accelerator compresses a data stream that includes a plurality of data blocks to provide a compressed data stream, said data accelerator stores said compressed data stream on said memory device, said compression and said storage occurs faster than said data stream is able to be stored on said memory device in uncompressed form, and said compression of said data stream comprises, for each data block in the plurality of data blocks; compressing the data block with a plurality of encoding techniques to provide a plurality of compressed data blocks; and determining one of said plurality of compressed data blocks to provide as part of said compressed data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A system comprising:
-
a memory device; and a data accelerator, wherein; said data accelerator is coupled to said memory device, a data stream is received by said data accelerator in received form, said data stream includes a plurality of data blocks, said data stream is compressed by said data accelerator to provide a compressed data stream, said compressed data stream is stored on said memory device, said compression and said storage occurs faster than said data stream is able to be stored on said memory device in said received form, and said compression of said data stream comprises; selecting a subset of encoders from a plurality of encoders, and enabling the selected subset of encoders; for each data block in the plurality of data blocks; compressing the data block with a plurality of encoding techniques to provide a plurality of compressed data blocks, wherein said compressing is performed using the enabled subset of encoders; and determining one of said plurality of compressed data blocks to provide as part of said compressed data stream. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
-
38. A system comprising:
-
a memory device; and a data accelerator, wherein; said data accelerator is coupled to said memory device, a data stream is received by said data accelerator in received form, said data stream includes a plurality of data blocks, said data stream is compressed by said data accelerator to provide a compressed data stream by compressing a first of said plurality of data blocks with a first encoder and a second of said plurality of data blocks with a second encoder, said first and second encoders are different, said compressed data stream is stored on said memory device, and said compression and said storage occurs faster than said data stream is able to be stored on said memory device in said received form, and said compression comprises; compressing the first of said plurality of data blocks with a plurality of encoding techniques to provide a plurality of first compressed data blocks; compressing the second of said plurality of data blocks with the plurality of encoding techniques to provide a plurality of second compressed data blocks; and determining one of the plurality of first compressed data blocks and one of the plurality of second compressed data blocks to provide as part of said compressed data stream. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
Specification