System and Methods For Accelerated Data Storage And Retrieval
First Claim
1. A computer-implemented method for accelerating data transmittal on an output to a data storage device, the output associated with an output bandwidth, comprising:
- receiving a data stream in a received form, wherein the received data stream comprises a plurality of data blocks;
determining a compression ratio condition based, at least in part, on the output bandwidth;
determining a compression technique from a plurality of compression techniques, wherein the determined compression technique is able to compress a data block from the plurality of data blocks such that a compression ratio when the determined compression technique is applied to the data block in the received form meets the compression ratio condition;
compressing, using software, the data block using the compression technique to determine a compressed data block; and
transmitting, on the output to the data storage device, the compressed data block in an output data stream to the data storage device, the compressing and the transmitting together occurring more quickly than a length of time to transmit the data block on the output in the received form.
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 compress data. 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 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.
-
Citations
30 Claims
-
1. A computer-implemented method for accelerating data transmittal on an output to a data storage device, the output associated with an output bandwidth, comprising:
-
receiving a data stream in a received form, wherein the received data stream comprises a plurality of data blocks; determining a compression ratio condition based, at least in part, on the output bandwidth; determining a compression technique from a plurality of compression techniques, wherein the determined compression technique is able to compress a data block from the plurality of data blocks such that a compression ratio when the determined compression technique is applied to the data block in the received form meets the compression ratio condition; compressing, using software, the data block using the compression technique to determine a compressed data block; and transmitting, on the output to the data storage device, the compressed data block in an output data stream to the data storage device, the compressing and the transmitting together occurring more quickly than a length of time to transmit the data block on the output in the received form. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for accelerating data transmittal on an output of a data storage device, the output associated with an output bandwidth, comprising:
-
an input that receives a data stream in a received form, wherein the data stream comprises a plurality of data blocks; a compression ratio module that (i) determines a compression ratio condition based, at least in part, on the output bandwidth and (ii) determines a compression technique from a plurality of compression techniques, wherein the determined compression technique is able to compress a data block from the plurality of data blocks such that a compression ratio when the compression technique is applied to the data block meets the compression ratio condition; an encoder module that compresses the data block using the compression technique to determine a compressed data block; and an interface to the output to the data storage device, wherein the interface transmits the compressed data block in an output data stream to the data storage device, a combined length of time for the encoder module to compress the data block and for the interface to transmit the data block being less than a length of time to transmit the data block on the output in the received form. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computer program product, comprising at least one non-transitory computer readable storage medium, the at least one non-transitory computer readable storage medium having embodied thereon computer readable program code for accelerating data transmittal on an output to a data storage device, the output associated with an output bandwidth, the computer readable program code comprising:
-
a first computer readable program code for causing a computer to receive a data stream in a received form, wherein the received data stream comprises a plurality of data blocks; a second computer readable program code for causing the computer to determine a compression ratio condition based, at least in part, on the output bandwidth; a third computer readable program code for causing the computer to determine a compression technique from a plurality of compression techniques, wherein the determined compression technique is able to compress a data block from the plurality of data blocks such that a compression ratio when the determined compression technique is applied to the data block in the received form meets the compression ratio condition; a fourth computer readable program code for causing the computer to compress the data block using the compression technique to determine a compressed data block; and a fifth computer readable program code for causing the computer to transmit, on the output to the data storage device, the compressed data block in an output data stream to the data storage device, the compressing and the transmitting together occurring more quickly than a length of time to transmit the data block on the output in the received form.
-
-
30. A system for accelerating data transmittal on an output of a data storage device, the output associated with an output bandwidth, comprising:
-
an input capable of receiving a data stream in a received form, wherein the received data stream comprises a plurality of data blocks; a compression ratio module capable of; (i) determining a compression ratio condition based, at least in part, on the output bandwidth, and (ii) determining a compression technique from a plurality of compression techniques, wherein the determined compression technique is able to compress a data block from the plurality of data blocks such that a compression ratio when the determined compression technique is applied to the data block in the received form meets the compression ratio condition; an encoder module capable of compressing the data block using the compression technique to determine a compressed data block; and an interface to the output to the data storage device, the interface capable of transmitting, on the output to the data storage device, the compressed data block in an output data stream to the data storage device, the compressing and the transmitting together occurring more quickly than a length of time to transmit the data block on the output in the received form.
-
Specification