Patent ID: 8880476

Claim:
A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to: responsive to receiving a write request to write data to the file system, send the write request to the file system; in parallel to sending the write request to the file system, compute a hash key for the write data; look up the hash key in a de-duplication table, wherein the de-duplication table is stored in a memory or a solid-state storage device; responsive to the hash key not existing in the de-duplication table, write the write data to a storage device, write a journal transaction comprising the hash key, and update the de-duplication table to reference the write data in the storage device; responsive to receiving a read request from an initiator, send the read request to the file system, wherein the file system performs a file system read; in parallel to sending the read request to the file system, determine whether the read corresponds to an entry in the de-duplication table; and responsive to the read corresponding to an entry in the de-duplication table, read the read data from the solid-state storage device and returning the read data to the initiator.