Methods and systems for memory de-duplication
AssigneeGoogle Inc.
InventorShinye SHIU
Life of this patent
Estimating the term…
Abstract
Provided are methods and systems for de-duplicating cache lines in physical memory by detecting cache line data patterns and building a link-list between multiple physical addresses and their common data value. In this manner, the methods and systems are applied to achieve de-duplication of an on-chip cache. A cache line filter includes one table that defines the most commonly duplicated content patterns and a second table that saves pattern numbers from the first table and the physical address for she duplicated cache line. Since a cache line duplicate can be detected during a write operation, each write can involve table lookup and comparison. If there is a hit in the table, only the address is saved instead of the entire data string.
Claims16
A method for de-duplicating cache lines, the method comprising:
- detecting a data pattern in a write to a cache line;
- determining whether a physical address of the write matches an entry in a last level cache;
- determining whether the data pattern in the write matches a data pattern associated with the entry;
- and
- in response to determining that the physical address of the write matches an entry in the last level cache, and that the data pattern in the write matches a data pattern associated with the entry, invalidating the entry in the last level cache.
A system for de-duplicating cache lines comprising:
- a least one processor;
- and
- a non-transitory completer-readable medium coupled to the at least one processor having instructions stored thereon that, when executed by the at least one processor, causes the at least one processor to:
- detect a data pattern in a write to a cache line;
- determine whether a physical address of the write matches an entry in a last level cache;
- determine whether the data pattern in the write matches a data pattern associated with the entry;
- and
- in response to determining that the physical address of the write matches an entry in the last level cache, and that the data pattern in the write matches a data pattern associated with the entry, invalidate the entry in the last level cache.
A method for de-duplicating cache lines during a memory read opera don, the method comprising:
- performing a lookup in a table of an on-chip cache line filter;
- determining, based on the lookup, whether data associated with a read request is available in the cache line filter;
- in response to determining that the data associated with the read request is available in the cache line filter, obtaining the data from the cache line filter;
- and
- in response to determining that the data associated with the read request is not available in the cache line filter, obtaining the data from a last level cache.
Dependencies are inferred from the claim text.