System and method for improving cache efficiency
AssigneeEMC Corporation
InventorsKiran Madnani, Roy Clark, David W. DesRoches
Life of this patent
Estimating the term…
Abstract
A method and computer program product for receiving a newly-received data portion for storing within a cache memory system. A determination is made concerning whether the newly-received data portion corresponds with at least one data portion previously written to a non-volatile, memory system. If the newly-received data portion does not correspond with at least one previously-written data portion, the newly-received data portion is stored within the cache memory system using a protected data storage methodology.
Claims12
A method comprising:
- receiving a newly-received data portion for storing within a cache memory system, wherein the cache memory system includes a volatile, solid-state, cache memory system and a non-volatile, solid-state, cache memory system;
- determining if the newly-received data portion corresponds with at least one data portion previously written to a non-volatile, memory system, wherein the non-volatile, memory system includes a non-volatile, electromechanical memory system;
- and
- if the newly-received data portion does not correspond with at least one previously-written data portion, storing the newly-received data portion within the volatile, solid-state, cache memory system using a protected data storage methodology;
- applying a data definition label to the newly-received data portion, the data definition label configured to indicate whether the newly-received data portion has or has not been stored previously, including applying a dirty data label to the newly-received data portion if the newly-received data portion has not been stored previously to the non-volatile, electromechanical memory system;
- if the newly-received data portion is destaged from the volatile, solid-state, cache memory system to the non-volatile, solid-state, cache memory system, maintaining the dirty data label on the newly-received data portion;
- and
- updating the data definition label to a clean data label when the newly-received data portion is written to the non-volatile, electromechanical memory 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:
- receiving a newly-received data portion for storing within a cache memory system, wherein the cache memory system includes a volatile, solid-state, cache memory system and a non-volatile, solid-state, cache memory system;
- determining if the newly-received data portion corresponds with at least one data portion previously written to a non-volatile, memory system, wherein the non-volatile, memory system includes a non-volatile, electromechanical memory system;
- and
- if the newly-received data portion does not correspond with at least one previously-written data portion, storing the newly-received data portion within the cache memory system using a protected data storage methodology;
- applying a data definition label to the newly-received data portion, the data definition label configured to indicate whether the newly-received data portion has or has not been stored previously, including applying a dirty data label to the newly-received data portion if the newly-received data portion has not been stored previously to the non-volatile, electromechanical memory system;
- if the newly-received data portion is destaged from the volatile, solid-state, cache memory system to the non-volatile, solid-state, cache memory system, maintaining the dirty data label on the newly-received data portion;
- and
- updating the data definition label to a clean data label when the newly-received data portion is written to the non-volatile electromechanical, memory system.
Dependencies are inferred from the claim text.