System and methods for accelerated data storage and retrieval
DCFirst Claim
1. A system for accelerating data storage, comprising:
- a memory device; and
one or more processors coupled to the memory device, wherein the one or more processors are configured to;
analyze a first data block to determine a parameter of the first data block;
apply a first encoder associated with the determined parameter of the first data block to create a first encoded data block, wherein the first encoder utilizes a lossless dictionary compression technique;
analyze a second data block to determine a parameter of the second data block;
apply a second encoder associated with the determined parameter of the second data block to create a second encoded data block, wherein the second encoder utilizes a lossless compression technique different than the lossless dictionary compression technique; and
store the first and second encoded data blocks on the memory device, wherein encoding and storage of the first encoded data block occur faster than the first data block is able to be stored on the memory device in unencoded 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.
718 Citations
22 Claims
-
1. A system for accelerating data storage, comprising:
-
a memory device; and one or more processors coupled to the memory device, wherein the one or more processors are configured to; analyze a first data block to determine a parameter of the first data block; apply a first encoder associated with the determined parameter of the first data block to create a first encoded data block, wherein the first encoder utilizes a lossless dictionary compression technique; analyze a second data block to determine a parameter of the second data block; apply a second encoder associated with the determined parameter of the second data block to create a second encoded data block, wherein the second encoder utilizes a lossless compression technique different than the lossless dictionary compression technique; and store the first and second encoded data blocks on the memory device, wherein encoding and storage of the first encoded data block occur faster than the first data block is able to be stored on the memory device in unencoded form. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for accelerating data storage comprising:
-
analyzing a first data block to determine a parameter of the first data block; applying a first encoder associated with the determined parameter of the first data block to create a first encoded data block, wherein the first encoder utilizes a lossless dictionary compression technique; analyzing a second data block to determine a parameter of the second data block; applying a second encoder associated with the determined parameter of the second data block to create a second encoded data block, wherein the second encoder utilizes a lossless compression technique different than the lossless dictionary compression technique; and storing the first and second encoded data blocks on a memory device, wherein encoding and storage of the first encoded data block occur faster than the first data block is able to be stored on the memory device in unencoded form. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable storage device having instructions stored thereon, execution of which by at least one processor, causes the at least one processor to perform operations comprising:
-
analyzing a first data block to determine a parameter of the first data block; applying a first encoder associated with the determined parameter of the first data block to create a first encoded data block, wherein the first encoder utilizes a lossless dictionary compression technique; analyzing a second data block to determine a parameter of the second data block; applying a second encoder associated with the determined parameter of the second data block to create a second encoded data block, wherein the second encoder utilizes a lossless compression technique different than the lossless dictionary compression technique; and storing the first and second encoded data blocks on a memory device, wherein encoding and storage of the first encoded data block occur faster than the first data block is able to be stored on the memory device in unencoded form. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification