Data storewidth accelerator
First Claim
Patent Images
1. A controller for controlling storage and retrieval of data to and from a data storage device, comprising:
- a data compression/decompression engine for compressing data stored to the data storage device and for decompressing data retrieved from the data storage device;
a first cache, operatively connected to the storage device and the data compression/decompression engine, for temporary storage of (i) compressed data that is read from the data storage device and (ii) compressed data from the data compression/decompression engine that is to be written to the data storage device;
a second cache, operatively connected to the data compression/decompression engine and to a host interface bus, for temporary storage of (i) data that is received from a host system over the host interface bus for compression and storage and (ii) data that is to be sent to the host system over the host interface bus; and
a cache manager for controlling the first and second data caches under commands received from the data compression/decompression engine.
1 Assignment
0 Petitions
Accused Products
Abstract
Data storage controllers and data storage devices employing lossless or lossy data compression and decompression to provide accelerated data storage and retrieval bandwidth. In one embodiment of the invention, a composite disk controller provides data storage and retrieval acceleration using multiple caches for data pipelining and increased throughput. In another embodiment of the invention, the disk controller with acceleration is embedded in the storage device and utilized for data storage and retrieval acceleration.
218 Citations
18 Claims
-
1. A controller for controlling storage and retrieval of data to and from a data storage device, comprising:
-
a data compression/decompression engine for compressing data stored to the data storage device and for decompressing data retrieved from the data storage device;
a first cache, operatively connected to the storage device and the data compression/decompression engine, for temporary storage of (i) compressed data that is read from the data storage device and (ii) compressed data from the data compression/decompression engine that is to be written to the data storage device;
a second cache, operatively connected to the data compression/decompression engine and to a host interface bus, for temporary storage of (i) data that is received from a host system over the host interface bus for compression and storage and (ii) data that is to be sent to the host system over the host interface bus; and
a cache manager for controlling the first and second data caches under commands received from the data compression/decompression engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 16, 17)
-
-
11. A magnetic disk controller for controlling storage and retrieval of data to and from a magnetic disk, comprising:
-
an embedded data compression/decompression engine for compressing data stored to the magnetic disk and for decompressing data retrieved from the magnetic disk;
an embedded first cache, operatively connected to the magnetic disk and the data compression/decompression engine, for temporary storage of (i) compressed data that is read from the magnetic disk and (ii) compressed data from the data compression/decompression engine that is to be written to the magnetic disk;
an embedded second cache, operatively connected to the data compression/decompression engine and to a host interface bus, for temporary storage of (i) data that is received from a host system over the host interface bus for compression and storage and (ii) data that is to be sent to the host system over the host interface bus; and
an embedded cache manager for controlling the first and second data caches under commands received from the data compression/decompression engine. - View Dependent Claims (12, 13, 14, 15)
-
-
18. A magnetic disk controller for controlling storage and retrieval of data to and from a magnetic disk, comprising:
-
an embedded data compression/decompression engine for compressing data stored to the magnetic disk and for decompressing data retrieved from the magnetic disk;
an embedded bi-directional cache for temporary storage of (i) compressed data that is read from the magnetic disk and (ii) compressed data from the data compression/decompression engine that is to be written to the magnetic disk;
an embedded cache manager for controlling the bi-directional cache; and
an embedded virtual file management system for mapping compressed data blocks stored on the disk to corresponding uncompressed data blocks.
-
Specification