Patent US5497477A successfully refreshed from Google Patents.
US5497477A
Expired / Lapsed
US
⏱️ 0.0 years remaining
System and method for replacing a data entry in a cache memory
Assignee: Hewlett Packard Development Co LP
•
Filing: 1994-03-07
•
Granted: 1996-03-05
•
Expires: 2014-03-07
Abstract
Abstract A method and apparatus called a cache insertion selector for selecting a slot of a memory cache in which to insert data. The access history of a slot is monitored with a single boolean variable called "used recently". A slot is marked as "used recently" when it is accessed. When a new entry is to be inserted, the cache insertion selector of the present invention attempts to select a slot which is not marked as "used recently". If all slots are marked as used recently, the cache insertion selector marks all slots as not used recently and selects one slot. A slot can be specified for unconditional selection. Also, a slot can be precluded from being selected.
Inventors
- 👤 Jeffrey E. Trull
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 16:01
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/123; G06F12/124; G06F12/10; G06F12/1027
Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
152 words
In a system having a cache memory that provides access to frequently used data by storing the data in slots, a method for selecting one of said slots in which to insert a new data entry, comprising the steps of: (1) designating one of said slots; (2) determining whether said designated slot is marked as "used recently," wherein a particular slot is marked as "used recently" when an entry in said particular slot is accessed by a requesting device; (3) selecting said designated slot if it is not marked as "used recently," and inserting said new data entry into said designated slot if it is selected; (4) repeating steps (1)-(3) until either all of said slots have been designated by step (1) or until a slot has been selected by step (3); and (5) marking all of the slots in the cache memory as "not used recently" if no slot was selected.
Claim 2
Dependent Claim
152 words
In a system having a cache memory that provides access to frequently used data by storing the data in slots, a method for selecting one of said slots in which to insert a new data entry, comprising the steps of: (1) designating one of said slots; (2) determining whether said designated slot is marked as "used recently," wherein a particular slot is marked as "used recently" when an entry in said particular slot is accessed by a requesting device; (3) selecting said designated slot if it is not marked as "used recently," and inserting said new data entry into said designated slot if it is selected; (4) repeating steps (1)-(3) until either all of said slots have been designated by step (1) or until a slot has been selected by step (3); and (5) marking all of the slots in the cache memory as "not used recently" if no slot was selected.
Claim 3
Dependent Claim
15 words
The method of claim 1, wherein steps (1)-(3) are repeated after carrying our step (5).
Claim 4
Dependent Claim
64 words
The method of claim 1, further comprising steps of: (7) designating one of said slots; (8) determining whether said designated slot contains a valid entry; (9) selecting said designated slot if it does not contain a valid entry; and (10) performing steps (7)-(9) until either all said slots have been designated by step (7) or until a slot has been selected by step (9).
Claim 5
Dependent Claim
70 words
The method of claim 3, further comprising steps of: (11) designating one of said slots; (12) determining whether a key of said designated slot matches a requested key; (13) selecting said designated slot if said key of said designated slot matches said requested key; and (14) performing steps (11)-(13) until either all said slots have been designated by step (11) or until a slot has been selected by step (13).
Claim 6
Dependent Claim
29 words
The method of claim 4 further comprising the step of inhibiting steps (1)-(4) if one of said slots was selected by the step (9) or by the step (13).
Claim 7
Dependent Claim
24 words
The method of claim 4, further comprising the step of inhibiting steps (7)-(10) if one of said slots was selected by the step (13).
Claim 8
Dependent Claim
25 words
The method of claim 4, further comprising the step of enabling a user to inhibit a specified slot from being selected by the step (13).
Claim 9
Dependent Claim
27 words
The method of claim 3, further comprising the step of enabling a user to inhibit a specified slot from being selected by the steps (3) and (9).
Claim 10
Dependent Claim
23 words
The method of claim 1, further comprising the step of selecting one of said slots if it has been previously identified for selection.
Claim 11
Dependent Claim
16 words
The method of claim 1, wherein steps (1)-(5) are carried out by a translation lookaside buffer.
Claim 12
Dependent Claim
151 words
In a system having a memory device which stores frequently used data in a plurality of memory locations, a system for replacing a data entry in the memory device, comprising: first means for setting a "used recently" bit associated with one of the memory locations in the memory device when the memory location is accessed by a requesting device; second means for evaluating the contents of the memory device to determine whether the memory device has any memory locations whose associated "used recently" bits have not been set; third means, responsive to said second means, for inserting data into one of the memory locations whose associated "used recently" bit has not been set; and fourth means, responsive to said second means, for clearing all of said "used recently" bits if said second means determines that the "used recently" bit associated with each of the plurality of memory locations has been set.
Claim 13
Dependent Claim
151 words
In a system having a memory device which stores frequently used data in a plurality of memory locations, a system for replacing a data entry in the memory device, comprising: first means for setting a "used recently" bit associated with one of the memory locations in the memory device when the memory location is accessed by a requesting device; second means for evaluating the contents of the memory device to determine whether the memory device has any memory locations whose associated "used recently" bits have not been set; third means, responsive to said second means, for inserting data into one of the memory locations whose associated "used recently" bit has not been set; and fourth means, responsive to said second means, for clearing all of said "used recently" bits if said second means determines that the "used recently" bit associated with each of the plurality of memory locations has been set.
Claim 14
Dependent Claim
28 words
The system of claim 11, further comprising means for inserting data into one of the memory locations if the memory location does not have valid data contained therein.
Claim 15
Dependent Claim
277 words
In a system having a first memory device which stores frequently used data in a plurality of memory locations and a second memory device, a method for retaining the most recently used data in the first memory device, the method comprising the steps of: (1) requesting a unit of data, comprising the steps of, (a) determining if said unit of data is resident in the first memory device; (b) marking the memory location storing said unit of data as "used recently" if said unit of data is resident in said first memory device; and (c) initiating a replacement routine if said unit of data is not resident in said first memory device, said replacement routine including retrieving said unit of data from the second memory device wherein said replacement routine further includes replacing the contents of one of the memory locations within said first memory device with said unit of data retrieved from said second memory device, comprising the steps of, (i) checking a designated memory location within said first memory device to determine if it has been marked as "used recently"; (ii) replacing said designated memory location with said retrieved unit of data from said second memory device if said designated memory location has not been marked as "used recently"; (iii) repeating steps (i) and (ii) for a different memory location until either said retrieved unit of data is stored in said first memory device or all of said different memory locations have been checked; and (iv) marking all memory locations within said first memory as "not recently used" if all of said memory locations are marked as "used recently", and repeating steps (i) and (ii).
Claim 16
Dependent Claim
277 words
In a system having a first memory device which stores frequently used data in a plurality of memory locations and a second memory device, a method for retaining the most recently used data in the first memory device, the method comprising the steps of: (1) requesting a unit of data, comprising the steps of, (a) determining if said unit of data is resident in the first memory device; (b) marking the memory location storing said unit of data as "used recently" if said unit of data is resident in said first memory device; and (c) initiating a replacement routine if said unit of data is not resident in said first memory device, said replacement routine including retrieving said unit of data from the second memory device wherein said replacement routine further includes replacing the contents of one of the memory locations within said first memory device with said unit of data retrieved from said second memory device, comprising the steps of, (i) checking a designated memory location within said first memory device to determine if it has been marked as "used recently"; (ii) replacing said designated memory location with said retrieved unit of data from said second memory device if said designated memory location has not been marked as "used recently"; (iii) repeating steps (i) and (ii) for a different memory location until either said retrieved unit of data is stored in said first memory device or all of said different memory locations have been checked; and (iv) marking all memory locations within said first memory as "not recently used" if all of said memory locations are marked as "used recently", and repeating steps (i) and (ii).
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-03-05 | 1999-09-04 | 2000-03-05 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-03-05 | 2003-09-04 | 2004-03-05 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-03-05 | 2007-09-04 | 2008-03-05 | $7700.00 | Window Closed / Lapsed |