Patent ID: 8370544

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; a primary compression engine coupled to the host interface and to the memory, wherein the primary compression engine is configured to compress data received from the host device via the host interface and to store the data compressed by the primary compression engine in the memory, and wherein the primary compression engine is further configured to decompress compressed data stored in the memory prior to the data decompressed by the primary compression engine being sent to the host device via the host interface; a secondary compression engine coupled to the memory, wherein the secondary compression engine is configured to compress only data received from the memory and to store the data compressed by the secondary compression engine back in the memory, wherein the secondary compression engine is further configured to decompress only compressed data received from the memory and to store the data decompressed by the secondary compression engine back in the memory, and wherein the data compressed by the secondary compression engine comprises at least a portion of the data decompressed by the secondary compression engine; a non-volatile storage medium; and a processor configured to transfer compressed data from the memory to the non-volatile storage medium in response to a write command received from the host device and to transfer compressed data from the non-volatile storage medium to the memory in response to a read command received from the host device.