IP Library › Granted Patent US 6,901,483
Granted Patent B2
US 6,901,483 · App. 10/279,246 · Granted May 31, 2005

Prioritizing and locking removed and subsequently reloaded cache lines

Assignee: International Business Machines Corporation
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 6,901,483
App. No.
10/279,246
Granted
May 31, 2005
Kind
B2
Abstract

A method for selecting a line to replace in an inclusive set-associative cache memory system which is based on a least recently used replacement policy but is enhanced to detect and give special treatment to the reloading of a line that has been recently cast out. A line which has been reloaded after having been recently cast out is assigned a special encoding which temporarily gives priority to the line in the cache so that it will not be selected for replacement in the usual least recently used replacement process. This method of line selection for replacement improves system performance by providing better hit rates in the cache hierarchy levels above, by ensuring that heavily used lines in the levels above are not aged out of the levels below due to lack of use.

Claims (27)

1. A method for use in a computer system with a cache memory and a cache memory controller, said method comprising:

detecting when cache lines that have been recently replaced in said cache memory are subsequently reloaded into said cache memory; and

giving priority to said cache lines by said cache memory controller, so that while said cache lines have priority they are locked and cannot be selected for replacement on cache misses.

2. The method in claim 1 , further comprising detecting, by the use of timestamps, cache lines that have been recently replaced in said cache memory and then subsequently reloaded.

3. The method in claim 1 , further comprising detecting, by the use of a FIFO array containing the addresses of recently replaced cache lines, cache lines that have been recently replaced in said cache memory and then subsequently reloaded.

4. The method in claim 1 , wherein a cache line that has priority retains priority for a predetermined number of accesses to the cache set in which the cache line resides, after which the cache line again becomes eligible for replacement.

5. The method in claim 1 , wherein a cache line that has priority retains priority for a predetermined number of misses to the cache set in which the cache line resides, after which the cache line again becomes eligible for replacement.

6. A method for use in a computer system having a cache memory and a cache memory controller, said method comprising:

identifying cache lines that are removed from and subsequently reloaded into a cache memory more recently than a predetermined standard as priority cache lines, and

locking said priority cache lines to temporarily prevent said priority cache lines from being replaced on cache misses.

7. The method in claim 6 , wherein said identifying uses timestamps to determine if said cache lines are replaced more recently than said predetermined standard, and wherein said predetermined standard is a time period.

8. The method in claim 6 , wherein said identifying uses a first-in first-out (FIFO) table to determine if said cache lines are replaced more recently than said predetermined standard, and wherein said predetermined standard is a length of said FIFO table.

9. The method in claim 6 , wherein a priority cache line retains priority for a predetermined number of accesses to the cache set in which the cache line resides, after which said priority cache line loses priority status and again becomes eligible for replacement.

10. The method in claim 6 , wherein a priority cache line retains priority for a predetermined number of misses to the cache set in which the cache line resides, after which said priority cache line loses priority status and again becomes eligible for replacement.

11. A method for use in a computer system having a cache memory and a cache memory controller, said method comprising:

identifying cache lines that are removed from and subsequently reloaded into a cache memory more recently than a predetermined standard as priority cache lines, and

locking said priority cache lines to temporarily prevent said priority cache lines from being replaced on cache misses irrespective of a cache miss line replacement process applied to non-locked cache lines.

12. The method in claim 11 , wherein said identifying uses timestamps to determine if said cache lines are replaced more recently than said predetermined standard, and wherein said predetermined standard is a time period.

13. The method in claim 11 , wherein said identifying uses a first-in first-out (FIFO) table to determine if said cache lines are replaced more recently than said predetermined standard, and wherein said predetermined standard is a length of said FIFO table.

14. The method in claim 11 , wherein a priority cache line retains priority for a predetermined number of accesses to the cache set in which the cache line resides, after which said priority cache line loses priority status and again becomes eligible for replacement.

15. The method in claim 11 , wherein a priority cache line retains priority for a predetermined number of misses to the cache set in which the cache line resides, after which said priority cache line loses priority status and again becomes eligible for replacement.

16. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method comprising:

identifying cache lines that are removed from and subsequently reloaded into a cache memory more recently than a predetermined standard as priority cache lines, and locking said priority cache lines to temporarily prevent said priority cache lines from being replaced on cache misses.

17. The program storage device in claim 16 , wherein said identifying uses timestamps to determine if said cache lines are replaced more recently than said predetermined standard, and wherein said predetermined standard is a time period.

18. The program storage device in claim 16 , wherein said identifying uses a first-in first-out (FIFO) table to determine if said cache lines are replaced more recently than said predetermined standard, and wherein said predetermined standard is a length of said FIFO table.

19. The program storage device in claim 16 , wherein a priority cache line retains priority for a predetermined number of accesses to the cache set in which the cache line resides, after which said priority cache line loses priority status and again becomes eligible for replacement.

20. The program storage device in claim 16 , wherein a priority cache line retains priority for a predetermined number of misses to the cache set in which the cache line resides, after which said priority cache line loses priority status and again becomes eligible for replacement.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2002
From: ROBINSON, JOHN T.; TREMAINE, ROBERT B.; WAZLOWSKI, MICHAEL F.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 013321/0724 →
Continuity (1)
Related Publication 20040083341A1 · Apr 29, 2004