Algorithm methodologies for efficient compaction of overprovisioned memory systems
First Claim
1. A method of dynamically selecting deduplication granularity in a memory system comprising a cache to decrease deduplication granularity and to increase hash-table efficiency, the method comprising:
- selecting one or more deduplication granularities at an application level of an application using the memory system based at least in part on historical data associated with the memory system, and dynamically assigning the one or more deduplication granularities for a cache line comprising a unit of data transfer, the one or more deduplication granularities being selected according to features of the memory system; and
assigning a memory region corresponding to the one or more selected deduplication granularities.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of dynamically selecting deduplication granularity in a memory system to decrease deduplication granularity and to increase hash-table efficiency, the method including selecting one or more deduplication granularities at an application level of an application using the memory system, the one or more deduplication granularities being selected according to features of the memory system, and assigning a memory region corresponding to each of the one or more selected deduplication granularities, where the method may use a memory manager to share memory translation table and hash table, and may be employed by a system that enables using higher capacity pre-allocated counter fields for frequently utilized lines.
37 Citations
14 Claims
-
1. A method of dynamically selecting deduplication granularity in a memory system comprising a cache to decrease deduplication granularity and to increase hash-table efficiency, the method comprising:
-
selecting one or more deduplication granularities at an application level of an application using the memory system based at least in part on historical data associated with the memory system, and dynamically assigning the one or more deduplication granularities for a cache line comprising a unit of data transfer, the one or more deduplication granularities being selected according to features of the memory system; and assigning a memory region corresponding to the one or more selected deduplication granularities. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of dynamically selecting deduplication granularity in a memory system comprising a cache to decrease deduplication granularity and to increase hash-table efficiency, the method comprising:
-
selecting one or more deduplication granularities at an application level of an application using the memory system, the one or more deduplication granularities being selected according to features of the memory system; and assigning a memory region corresponding to the one or more selected deduplication granularities, wherein selecting the one or more deduplication granularities comprises; partitioning a memory space into two memory regions, the memory regions corresponding to two deduplication granularities as the one or more deduplication granularities; performing both of the two deduplication granularities on an incoming cache line comprising a unit of data transfer; storing a table in the two memory regions for the deduplication granularities; and discarding a table entry of one of the tables depending on learned history when a combined capacity of both of the tables of the two memory regions either increases or reaches a threshold. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system architecture for deploying a deduplication memory module, and for being controlled by a driver or a system-on-a-chip (SoC) to:
-
select one or more deduplication granularities at an application level of an application based at least in part on historical data associated with a memory system comprising a cache, and dynamically assigning the one or more deduplication granularities for a cache line comprising a unit of data transfer, the one or more deduplication granularities being selected according to features of the memory system; and assign a memory region corresponding to each of the one or more selected deduplication granularities.
-
Specification