IP Library Granted Patent US 9,798,672
Granted Patent B1
US 9,798,672 · App. 15/098,573 · Granted Oct 24, 2017

Data managment for cache memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,798,672
App. No.
15/098,573
Granted
Oct 24, 2017
Kind
B1
Abstract

Various aspects provide for managing data associated with a cache memory. For example, a system can include a cache memory and a memory controller. The cache memory stores data. The memory controller maintains a history profile for the data stored in the cache memory. In an implementation, the memory controller includes a filter component, a tagging component and a data management component. The filter component determines whether the data is previously stored in the cache memory based on a filter associated with a probabilistic data structure. The tagging component tags the data as recurrent data in response to a determination by the filter component that the data is previously stored in the cache memory. The data management component retains the data in the cache memory in response to the tagging of the data as the recurrent data.

Claims (31)

1. A system for managing data in cache memory, comprising:

a cache memory configured for storing data; and

a memory controller configured for maintaining a history profile for the data stored in the cache memory, the memory controller comprising:

a filter component configured for determining whether the data is previously stored in the cache memory based on a filter associated with a probabilistic data structure;

a tagging component configured for tagging the data as recurrent data in response to a determination by the filter component that the data is previously stored in the cache memory; and

a data management component configured for retaining the data in the cache memory in response to the tagging of the data as the recurrent data.

2. The system of claim 1 , wherein the filter is a Bloom filter.

3. The system of claim 1 , wherein the tagging component is configured for tagging the data based on a period of time that the data is stored in the cache memory.

4. The system of claim 3 , wherein the data management component is configured for retaining the data in the cache memory in response to the tagging of the data as the recurrent data and a determination that the period of time satisfies a defined criterion.

5. The system of claim 1 , wherein the tagging component is configured for tagging the data as non-recurrent data in response to a determination by the filter component that the data is not previously stored in the cache memory.

6. The system of claim 5 , wherein the data management component is configured for removing the data from the cache memory in response to the tagging of the data as the non-recurrent data.

7. The system of claim 1 , wherein the data management component is configured for removing the data from the cache memory in response a determination that the data is stored in the cache memory for a certain period of time.

8. The system of claim 1 , wherein the tagging component is configured for randomly tagging the data as the recurrent data in response to a determination by the filter component that the data is not previously stored in the cache memory.

9. The system of claim 1 , wherein the cache memory is a victim cache memory.

10. A method for managing data in a cache memory, comprising:

maintaining a history profile for data stored in cache memory;

determining whether the data is previously stored in the cache memory based on a filter associated with a probabilistic data structure;

tagging the data as recurrent data in response to a determination that the data is previously stored in the cache memory; and

retaining the data in the cache memory in response to the tagging of the data as the recurrent data.

11. The method of claim 10 , wherein the determining comprises determining whether the data is previously stored in the cache memory based on a Bloom filter.

12. The method of claim 10 , wherein the tagging comprises tagging the data based on a period of time that the data is stored in the cache memory and the retaining comprises retaining the data in the cache memory based on the period of time.

13. The method of claim 10 , further comprising tagging the data as non-recurrent data in response to a determination that the data is not previously stored in the cache memory.

14. The method of claim 13 , further comprising removing the data from the cache memory in response to the tagging of the data as the non-recurrent data.

15. The method of claim 10 , further comprising randomly tagging the data as the recurrent data in response to a determination that the data is not previously stored in the cache memory.

16. A computing device, comprising:

a cache memory configured for storing data; and

a memory controller configured for maintaining a history profile for the data stored in the cache memory based on a Bloom filter, and for determining whether or not to remove the data from the cache memory based on the history profile and an amount of time in which the data is stored in the cache memory.

17. The device of claim 16 , wherein the memory controller is configured for tagging the data in the history profile as recurrent data in response to a determination, based on the Bloom filter, that the data is previously stored in the cache memory.

18. The device of claim 15 , wherein the memory controller is configured for randomly tagging the data in the history profile as recurrent data in response to a determination, based on the Bloom filter, that the data is not previously stored in the cache memory.

19. The device of claim 16 , wherein the memory controller is configured for tagging the data in the history profile as non-recurrent data in response to a determination, based on the Bloom filter, that the data is not previously stored in the cache memory.

20. The device of claim 16 , wherein the cache memory is a level-3 cache memory.

Assignments (6)
CHANGE OF NAME Recorded Dec 6, 2017
From: PROJECT DENVER INTERMEDIATE HOLDINGS LLC
To: AMPERE COMPUTING LLC
Reel/Frame 044717/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2017
From: MACOM CONNECTIVITY SOLUTIONS, LLC
To: PROJECT DENVER INTERMEDIATE HOLDINGS LLC
Reel/Frame 044798/0599 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2017
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: MACOM CONNECTIVITY SOLUTIONS, LLC (SUCCESSOR TO APPLIED MICRO CIRCUITS CORPORATION)
Reel/Frame 044652/0609 →
SECURITY INTEREST Recorded May 11, 2017
From: MACOM CONNECTIVITY SOLUTIONS, LLC (SUCCESSOR TO APPLIED MICRO CIRCUITS CORPORATION)
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 042444/0891 →
MERGER AND CHANGE OF NAME Recorded Apr 6, 2017
From: APPLIED MICRO CIRCUITS CORPORATION; MACOM CONNECTIVITY SOLUTIONS, LLC; MACOM CONNECTIVITY SOLUTIONS, LLC
To: MACOM CONNECTIVITY SOLUTIONS, LLC
Reel/Frame 042176/0185 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: SVENDSEN, KJELD; FAVOR, JOHN GREGORY
To: APPLIED MICRO CIRCUITS CORPORATION
Reel/Frame 038279/0788 →