System and methods for accelerated data storage and retrieval
DC CAFCFirst Claim
1. A method comprising:
- receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device;
providing an output data block and a data compression type descriptor, wherein;
if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data;
if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and
storing said output data block and said data compression type descriptor in said target storage device.
0 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
Systems and methods for providing accelerated data storage and retrieval utilizing lossless and/or lossy 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 or lossy 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 or lossy 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.
-
Citations
19 Claims
-
1. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said data compression type descriptor is indicative of compressing utilizing parallel encoders.
-
-
11. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said data compression type descriptor is indicative of compressing utilizing identical parallel encoders.
-
-
12. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said data compression type descriptor is indicative of compressing utilizing sequential encoders.
-
-
13. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said data compression type descriptor is indicative of using a plurality of encoders.
-
-
14. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said data compression type descriptor is indicative of using a single encoder.
-
-
15. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said compressing comprises a compression rate that is at least equal to the ratio of said input data transmission rate to said data storage rate so as to provide continuous storage of said input data at said input data transmission rate and said data compression type descriptor is indicative of compressing utilizing parallel encoders.
-
-
16. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said compressing comprises a compression rate that is at least equal to the ratio of said input data transmission rate to said data storage rate so as to provide continuous storage of said input data at said input data transmission rate and said data compression type descriptor is indicative of a Lempel-Ziv encoder.
-
-
17. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said compressing comprises a compression rate that is at least equal to the ratio of said input data transmission rate to said data storage rate so as to provide continuous storage of said input data at said input data transmission rate and said data compression type descriptor is indicative of using a single encoder.
-
-
18. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said compressing comprises a compression rate that is at least equal to the ratio of said input data transmission rate to said data storage rate so as to provide continuous storage of said input data at said input data transmission rate and said data compression type descriptor is indicative of using a plurality of encoders.
-
-
19. A method comprising:
-
receiving data at an input data transmission rate which is greater than a data storage rate of a target storage device; providing an output data block and a data compression type descriptor, wherein; if said data compression type descriptor is indicative of said data not being compressed then said data was not compressed and said output data block is said data; if said data compression type descriptor is indicative of said data being compressed then said data was compressed based on said compression type descriptor at a compression rate that increased the effective data storage rate of the target storage device to provide a compressed data block, wherein said output data block is said compressed data block; and storing said output data block and said data compression type descriptor in said target storage device, wherein said compressing comprises a compression rate that is at least equal to the ratio of said input data transmission rate to said data storage rate so as to provide continuous storage of said input data at said input data transmission rate and said data compression type descriptor is indicative of a Huffman encoder.
-
Specification