System and methods for accelerated data storage and retrieval
DCFirst 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 an input data transmission rate of the data stream based on an amount of data received during a period of time;
determining a compression ratio parameter based, at least in part, on the determined input data transmission rate and the output bandwidth;
selecting a compression technique from a plurality of compression techniques such that a compression ratio when the determined compression technique is applied to a data block from the plurality of data blocks in the received form satisfies the determined compression ratio parameter;
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
Litigations
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 an input data transmission rate of the data stream based on an amount of data received during a period of time; determining a compression ratio parameter based, at least in part, on the determined input data transmission rate and the output bandwidth; selecting a compression technique from a plurality of compression techniques such that a compression ratio when the determined compression technique is applied to a data block from the plurality of data blocks in the received form satisfies the determined compression ratio parameter; 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, at an input transmission rate, a data stream in a received form, wherein the data stream comprises a plurality of data blocks; a counter module that determines an input transmission rate of the data stream based on an amount of data received during a period of time; a compression ratio module that (i) determines a compression ratio parameter based, at least in part, on the input transmission rate determined by the counter module and the output bandwidth and (ii) selects a compression technique from a plurality of compression techniques such that a compression ratio when a compression technique is applied to the data block satisfies the determined compression ratio parameter; 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 non-transitory computer readable storage medium having embodied thereon machine executable program code for accelerating data transmittal on an output to a data storage device, the output associated with an output bandwidth, the machine executable program code comprising:
-
a first machine executable program code for causing a computer to receive, at an input transmission rate, a data stream in a received form, wherein the received data stream comprises a plurality of data blocks; a second machine executable program code for causing a computer to determine an input transmission rate of the data stream based on an amount of data received during a period of time; a third machine executable program code for causing the computer to determine a compression ratio parameter based, at least in part, on the input transmission rate and the output bandwidth; a fourth machine executable program code for causing the computer to select a compression technique from a plurality of compression techniques such that a compression ratio when the determined compression technique is applied to a data block in the received form satisfies the determined compression ratio parameter; a fifth machine executable program code for causing the computer to compress the data block using the compression technique to determine a compressed data block; and a sixth machine executable 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, at an input transmission rate, a data stream in a received form, wherein the received data stream comprises a plurality of data blocks; a counter module capable, of determining'"'"' an input transmission rate of the data stream based on an amount of data received during a period of time; a compression ratio module capable of; (i) determining a compression ratio parameter based, at least in part, on the determined input transmission rate and the output bandwidth, and (ii) selecting a compression technique from a plurality of compression techniques such that a compression ratio when the determined compression technique is applied to a data block in the received form satisfies the determined compression ratio parameter; 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