System and method for cache management
AssigneeEMC Corporation
InventorsPhilip Derbeko, Assaf Natanzon, Anat Eyal
Life of this patent
Estimating the term…
Abstract
A method, computer program product, and computing system for processing, on a host, a read request for a portion of a data file stored on a backend storage system. The portion of the data file is obtained from the backend storage system. The portion of the data file is divided into a plurality of file chunks based, at least in part, upon a file type. Each of the plurality of file chunks is compared to other file chunks stored within a frontend cache system associated with the host to identify unique file chunks within the plurality of file chunks. The unique file chunks are stored within the frontend cache system.
Claims24
A computer-implemented method comprising:
- processing, on a host, a read request received from a client application separate from the host for a portion of a data file stored on a backend storage system, wherein the host is a server computer;
- obtaining the portion of the data file from the backend storage system;
- dividing the portion of the data file into a plurality of file chunks based, at least in part, upon a file type, wherein dividing the portion of the data file into a plurality of file chunks includes dividing the portion of the data file into a plurality of file chunks based, at least in part, upon a sticky bit algorithm, wherein the sticky bit algorithm is configured to calculate a hash value for a set amount of consecutive bytes of each data chunk, the sticky bit algorithm being further configured to identify a cut point associated with each data chunk, wherein the cut point is artificially created if the hash value modulo a constant is not zero for each data chunk;
- comparing each of the plurality of file chunks to other file chunks stored within a first cache system located within the host to identify unique file chunks within the plurality of file chunks;
- and
- storing the unique file chunks within the first cache system.
A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
- processing, on a host, a read request received from a client application separate from the host for a portion of a data file stored on a backend storage system, wherein the host is a server computer;
- obtaining the portion of the data file from the backend storage system;
- dividing the portion of the data file into a plurality of file chunks based, at least in part, upon a file type, wherein dividing the portion of the data file into a plurality of file chunks includes dividing the portion of the data file into a plurality of file chunks based, at least in part, upon a sticky bit algorithm, wherein the sticky bit algorithm is configured to calculate a hash value for a set amount of consecutive bytes of each data chunk, the sticky bit algorithm being further configured to identify a cut point associated with each data chunk, wherein the cut point is artificially created if the hash value modulo a constant is not zero for each data chunk;
- comparing each of the plurality of file chunks to other file chunks stored within a first cache system located within the host to identify unique file chunks within the plurality of file chunks;
- and
- storing the unique file chunks within the first cache system.
A computing system comprising:
- at least one processor device;
- and
- at least one memory architecture coupled with the at least one processor device;
- wherein the at least one processor device is further configured to perform operations comprising;
- processing, on a host, a read request received from a client application separate from the host for a portion of a data file stored on a backend storage system, wherein the host is a server computer;
- obtaining the portion of the data file from the backend storage system;
- dividing the portion of the data file into a plurality of file chunks based, at least in part, upon a file type, wherein dividing the portion of the data file into a plurality of file chunks includes dividing the portion of the data file into a plurality of file chunks based, at least in part, upon a sticky bit algorithm, wherein the sticky bit algorithm is configured to calculate a hash value for a set amount of consecutive bytes of each data chunk, the sticky bit algorithm being further configured to identify a cut point associated with each data chunk, wherein the cut point is artificially created if the hash value modulo a constant is not zero for each data chunk;
- comparing each of the plurality of file chunks to other file chunks stored within a first cache system located within-the host to identify unique file chunks within the plurality of file chunks;
- and
- storing the unique file chunks within the first cache system.
Dependencies are inferred from the claim text.