IP Library Granted Patent US 7,380,065
Granted Patent B2
US 7,380,065 · App. 11/094,399 · Granted May 27, 2008

Performance of a cache by detecting cache lines that have been reused

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 7,380,065
App. No.
11/094,399
Granted
May 27, 2008
Kind
B2
Abstract

A method and system for improving the performance of a cache. The cache may include an array of tag entries where each tag entry includes an additional bit (“reused bit”) used to indicate whether its associated cache line has been reused, i.e., has been requested or referenced by the processor. By tracking whether a cache line has been reused, data (cache line) that may not be reused may be replaced with the new incoming cache line prior to replacing data (cache line) that may be reused. By replacing data in the cache memory that might not be reused prior to replacing data that might be reused, the cache hit may be improved thereby improving performance.

Claims (22)

1. A method for improving the performance of a cache comprising the steps of:

receiving a request of an address of data;

determining if said requested data is located in said cache;

setting a bit in a tag associated with a cache line to a second state if said requested data is located within said cache line of said cache, wherein said bit indicates whether said cache line has been reused;

wherein said cache line is grouped with other cache lines in a congruence class, wherein each cache line in said congruence class is associated with a tag containing a bit indicating whether its associated cache line has been reused; and

resetting said bit for one of said cache lines in said congruence class if a number of cache lines in said congruence class identified as being reused exceeds a threshold.

2. The method as recited in claim 1 further comprising the step of:

modifying a field of said tag associated with said cache line to indicate said cache line is most recently used, wherein said field is configured to track a least recently used status of said cache line.

3. The method as recited in claim 2 further comprising the step of:

adjusting least recently used statuses of said other cache lines in said congruence class.

4. The method as recited in claim 1 further comprising the step of:

leaving said bit in said tag associated with said cache line to remain in a first state if said request is a write request.

5. The method as recited in claim 1 further comprising the step of:

hashing said address to select said congruence class.

6. The method as recited in claim 5 further comprising the steps of:

selecting a least recently used cache line in said congruence class with said bit in said tag associated with said least recently used cache line indicating said least recently used cache line has not been reused;

invaliding current contents of said selected least recently used cache line; and

loading new data in said selected least recently used cache line.

7. The method as recited in claim 6 further comprising the step of:

clearing said bit in said tag associated with said selected least recently used cache line.

8. The method as recited in claim 5 further comprising the step of:

selecting a least recently used cache line in said congruence class with said bit in said tag associated with said least recently used cache line indicating said least recently used cache line has been reused if there are no cache lines in said congruence class that has not been reused.

Assignments (3)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 028015/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2005
From: DAVIS, GORDON T.; LEON, SANTRAGO A.; TAST, HANS-WERNER
To: IBM CORPORATION
Reel/Frame 016598/0709 →