Patent US4607761A successfully refreshed from Google Patents.
Patent US5822759A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5822759A Expired / Lapsed US ⏱️ 0.0 years remaining

Cache system

Assignee: Actian Corp
•
Filing: 1996-11-22
•
Granted: 1998-10-13
•
Expires: 2016-11-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A cache memory system maintains an ordered linked list of cache items having scores that are positively correlated with frequencies of access and negatively correlated with a size that is determined as a number of bytes of each item plus an overhead associated with the linked list. In addition to data and linking pointers, the list segments each include a hit count and a byte count. In a method for managing cache memory forms the linked list by adding segments for newly requested data and deleting data having lowest scores. Upon a cache miss, a new list segment that is created for the requested data is positioned in the list by comparison with scores beginning at the head of the list. Upon a cache hit, the hit count is incremented and the segment is relocated, if necessary, using comparisons of scores of next higher segments.

Inventors

  • 👤 Benjamin S. Treynor

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 14:58
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/126; G06F12/127; G06F12/122

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 164 words
A cache memory system comprising: (a) a main computer memory for storing addressable data; (b) a computer processor having a primary memory addresser; (c) a high-speed cache memory for storing subsets of the data of the main computer memory for fast access by the processor; and (d) a cache controller for retrieving addressed data from the cache memory when present therein and duplicating other data in the main computer memory and the cache memory, the system being programmed for maintaining an ordered list of cache items, each item being one subset of the data and having a score and a size associated therewith, items having lowest scores being selectively removed from the list for accommodation of freshly addressed subsets of the data, and wherein each score is positively correlated to a frequency of access of the item and negatively correlated with the size of the item, the size being proportional to a number of memory addresses required for holding that subset of the data.
Claim 2
Dependent Claim 164 words
A cache memory system comprising: (a) a main computer memory for storing addressable data; (b) a computer processor having a primary memory addresser; (c) a high-speed cache memory for storing subsets of the data of the main computer memory for fast access by the processor; and (d) a cache controller for retrieving addressed data from the cache memory when present therein and duplicating other data in the main computer memory and the cache memory, the system being programmed for maintaining an ordered list of cache items, each item being one subset of the data and having a score and a size associated therewith, items having lowest scores being selectively removed from the list for accommodation of freshly addressed subsets of the data, and wherein each score is positively correlated to a frequency of access of the item and negatively correlated with the size of the item, the size being proportional to a number of memory addresses required for holding that subset of the data.
Claim 3
Dependent Claim 18 words
The cache memory system of claim 1, wherein the score is directly proportional to the frequency of access.
Claim 4
Dependent Claim 36 words
The cache memory system of claim 2, wherein the frequency of access is determined as a number of accesses of the item beginning with an initial access from which the item remains in the ordered list.
Claim 5
Dependent Claim 28 words
The cache memory system of claim 2, wherein the frequency of access is determined as a number of accesses of the item during a fixed period of time.
Claim 6
Dependent Claim 81 words
The cache memory system of claim 1, wherein the ordered list has an associated overhead for each item, the overhead being proportional to a number of memory addresses used for storing cache memory management information, the management information including the size, frequency of access, and other information selected from the set consisting of object pointer, next list pointer, previous list pointer, stack pointer, heap pointer, and fixed length management code, the score being inversely proportional to the size plus the overhead.
Claim 7
Dependent Claim 24 words
The cache memory system of claim 5, wherein the score is proportional to the frequency of access divided by the size plus the overhead.
Claim 8
Independent Claim 133 words
A method for rapidly accessing repetitively accessed addressable data and other addressable data from a main memory and a smaller and faster cache memory, comprising the steps of: (a) forming an index of previously accessed items of data; (b) selectively adding items corresponding to newly addressed data to the index; (c) copying the newly addressed data of the added items from the main memory into the cache memory; (d) determining an item score being positively correlated with a frequency of access of the item and negatively correlated with a size of the corresponding item; (e) selectively deleting from the index items having lowest scores for accommodating the added items of newly addressed data; and (f) accessing addressed data from the cache memory when the addressed data corresponds to items present in the index.
Claim 9
Independent Claim 133 words
A method for rapidly accessing repetitively accessed addressable data and other addressable data from a main memory and a smaller and faster cache memory, comprising the steps of: (a) forming an index of previously accessed items of data; (b) selectively adding items corresponding to newly addressed data to the index; (c) copying the newly addressed data of the added items from the main memory into the cache memory; (d) determining an item score being positively correlated with a frequency of access of the item and negatively correlated with a size of the corresponding item; (e) selectively deleting from the index items having lowest scores for accommodating the added items of newly addressed data; and (f) accessing addressed data from the cache memory when the addressed data corresponds to items present in the index.
Claim 10
Dependent Claim 25 words
The method of claim 7, comprising the further step of ordering the index by locating items having higher scores ahead of items having lower scores.
Claim 11
Dependent Claim 46 words
The method of claim 7, wherein the step of determining the item score includes the steps of adding a memory overhead corresponding to item index storage to a memory size of corresponding addressed data to form a sum, and dividing a frequency count by the sum.
Claim 12
Dependent Claim 28 words
The method of claim 9, wherein the step of determining the item score further comprises the step of incrementing the frequency count upon each request for the item.
Claim 13
Independent Claim 200 words
A method for rapidly accessing repetitively accessed addressable data and other addressable data from a main memory and a smaller and faster cache memory, comprising the steps of: (a) forming a linked list of previously accessed items of data; (b) selectively adding items corresponding to newly addressed data to the linked list; (c) copying the newly accessed data of the added items from the main memory into the cache memory; (d) determining a total item size as a sum of a number of memory locations occupied by the requested data and a number of memory locations associated with the linked list for the requested data; (e) determining a frequency of access of the item by incrementing a frequency count upon each request for the item; (f) scaling the frequency count; (g) dividing the scaled frequency count by the total size to form a score; (h) ordering the linked list by locating items having higher scores ahead of items having lower scores; (i) selectively deleting from the list items having lowest scores for accommodating the added items of newly addressed data; and (j) accessing addressed data from the cache memory when the addressed data corresponds to items present in the list.
Claim 14
Independent Claim 200 words
A method for rapidly accessing repetitively accessed addressable data and other addressable data from a main memory and a smaller and faster cache memory, comprising the steps of: (a) forming a linked list of previously accessed items of data; (b) selectively adding items corresponding to newly addressed data to the linked list; (c) copying the newly accessed data of the added items from the main memory into the cache memory; (d) determining a total item size as a sum of a number of memory locations occupied by the requested data and a number of memory locations associated with the linked list for the requested data; (e) determining a frequency of access of the item by incrementing a frequency count upon each request for the item; (f) scaling the frequency count; (g) dividing the scaled frequency count by the total size to form a score; (h) ordering the linked list by locating items having higher scores ahead of items having lower scores; (i) selectively deleting from the list items having lowest scores for accommodating the added items of newly addressed data; and (j) accessing addressed data from the cache memory when the addressed data corresponds to items present in the list.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-12 2002-04-13 2002-10-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-12 2006-04-13 2006-10-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-12 2010-04-13 2010-10-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag