Patent ID: 8677035

Claim:
A data storage system comprising: a host interface configured to be coupled to a host device, to receive data from the host device, and to send data to the host device; a memory coupled to a bus; a primary compression engine comprising: a compression input buffer coupled to the host interface; a primary compression engine core coupled to the compression input buffer; and a compression output buffer coupled to the primary compression engine core and the bus, wherein the primary compression engine core is configured to compress data in the compression input buffer received from the host device via the host interface and to store the compressed data in the compression output buffer; a secondary compression engine comprising: a secondary input buffer coupled to the bus; a secondary compression engine core coupled to the secondary input buffer; and a secondary output buffer coupled to the secondary compression engine core and the bus, wherein the secondary compression engine core is configured to compress data in the secondary input buffer and store the compressed data in the secondary output buffer, and to decompress data in the secondary input buffer and store the decompressed data in the secondary output buffer; a non-volatile storage medium coupled to the bus; and a processor coupled to the bus and configured to transfer data between the host interface and the compression input buffer, between the compression output buffer and the non-volatile storage medium, between the memory and the secondary input buffer, and between the secondary output buffer and the memory, wherein the data compression and decompression performed by the secondary compression engine is associated with operations internal to the data storage system.