← Back to Patent Explorer
US5991775A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for dynamic cache allocation between record and track entries

Assignee: International Business Machines Corp
•
Filing: 1992-09-23
•
Granted: 1999-11-23
•
Expires: 2012-09-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data storage system provides generalized record caching through a control unit adapted to support track caching in the upper level store of a two level memory. Dynamic reallocation of space between each type of caching in the upper store follows operating patterns of host computer systems using the data storage system. A storage controller cache has a plurality of segments. A directory data entry data structure is allocated each segment. Such allocated directory entries are used to identify tracks as cached. A plurality of unallocated directory entries are also provided. As a record is cached in a segment outside of a track slot, an unallocated directory entry is used to identify a virtual track in cache corresponding to the track of the record in the lower level store. Records from one track can thus appear in several segments outside track slots. Tracking of records to locate records least recently used is done globally over all track slots and record caching segments and locally within individual record caching segments. A mechanism is provided for identifying record slots, as they become least recently used, and dropping them from the upper level store in the face of competing demands for the space. A second mechanism identifies least recently used segments for dropping from the upper level store.

Inventors

  • 👤 Brent Cameron Beardsley
  • 👤 Lawrence Carter Blount
  • 👤 Joel Harvey Cord
  • 👤 Michael Howard Hartung
  • 👤 Vernon John Legvold

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 20:31
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F12/12; G06F12/121; G06F12/123; G06F12/0806; G06F12/084; G06F2212/00; G06F2212/31; G06F2212/312; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99956

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 230 words
A data storage system for providing dynamic allocation of space in an upper level store of a multiple level memory between record and track caching, said data storage system comprising: an upper level store having a plurality of segments for caching records and tracks from a lower level store; a track slot directory entry associated with each segment within said upper level store which includes a cached track therein and wherein each cached track includes a plurality of records which are addressed as a group; a segment directory entry associated with each segment within said upper level store which includes a cached record therein and wherein each cached record is addressed individually; a most recently used list containing both track slot directory entries and segment directory entries in order of utilization; and allocation control means for dynamically controlling allocation of a portion of required segments within said upper level store for utilization for storage of records and allocation of a remainder of required segments within said upper level store for utilization for storage of tracks in response to entries within said most recently used list wherein allocation of which portion of required segments within said upper level store are utilized for storage of records and wherein which portion of required segments within said upper level store are utilized for storage of tracks may be dynamically altered based upon utilization experience.
Claim 2
Dependent Claim 230 words
A data storage system for providing dynamic allocation of space in an upper level store of a multiple level memory between record and track caching, said data storage system comprising: an upper level store having a plurality of segments for caching records and tracks from a lower level store; a track slot directory entry associated with each segment within said upper level store which includes a cached track therein and wherein each cached track includes a plurality of records which are addressed as a group; a segment directory entry associated with each segment within said upper level store which includes a cached record therein and wherein each cached record is addressed individually; a most recently used list containing both track slot directory entries and segment directory entries in order of utilization; and allocation control means for dynamically controlling allocation of a portion of required segments within said upper level store for utilization for storage of records and allocation of a remainder of required segments within said upper level store for utilization for storage of tracks in response to entries within said most recently used list wherein allocation of which portion of required segments within said upper level store are utilized for storage of records and wherein which portion of required segments within said upper level store are utilized for storage of tracks may be dynamically altered based upon utilization experience.
Claim 3
Dependent Claim 26 words
The data storage system according to claim 1, further including a free segment list which lists free segments within said upper level store available for utilization.
Claim 4
Dependent Claim 28 words
The data storage system according to claim 2, further including a free record slot list which lists segments within said upper level store available for caching of records.
Claim 5
Dependent Claim 37 words
The data storage system according to claim 2, further including means for freeing a selected segment within said upper level store identified by means of said most recently used lists in response to exhaustion of free segments.
Claim 6
Dependent Claim 28 words
The data storage system according to claim 1, further including a global most recently used list containing records cached within said upper level store in order of utilization.
Claim 7
Dependent Claim 31 words
The data storage system according to claim 5, further including means for freeing a selected record within said upper level store identified by means of said global most recently used list.
Claim 8
Independent Claim 215 words
A method of providing dynamic allocation of space in an upper level store of a multiple level memory between record and track caching, wherein said upper level store includes multiple segments, said method comprising the steps of: associating a track slot directory entry with each segment within said high level store which includes a cached track therein and wherein each cached track includes a plurality of records which are addressed as a group; associating a segment directory entry with each segment within said high level store which includes a cached record therein and wherein each cached record is addressed individually; maintaining a most recently used list containing both track slot directory entries and segment directory entries in order of utilization; and dynamically controlling allocation of a portion of required segments within said upper level store for utilization for storage of records and allocation of a remainder of required segments within said upper level store for utilization for storage of tracks in response to entries within said most recently used list wherein allocation of which portion of required segments within said upper level store are utilized for storage of records and wherein which portion of required segments within said upper level store are utilized for storage of tracks may be dynamically altered based upon utilization experience.
Claim 9
Independent Claim 215 words
A method of providing dynamic allocation of space in an upper level store of a multiple level memory between record and track caching, wherein said upper level store includes multiple segments, said method comprising the steps of: associating a track slot directory entry with each segment within said high level store which includes a cached track therein and wherein each cached track includes a plurality of records which are addressed as a group; associating a segment directory entry with each segment within said high level store which includes a cached record therein and wherein each cached record is addressed individually; maintaining a most recently used list containing both track slot directory entries and segment directory entries in order of utilization; and dynamically controlling allocation of a portion of required segments within said upper level store for utilization for storage of records and allocation of a remainder of required segments within said upper level store for utilization for storage of tracks in response to entries within said most recently used list wherein allocation of which portion of required segments within said upper level store are utilized for storage of records and wherein which portion of required segments within said upper level store are utilized for storage of tracks may be dynamically altered based upon utilization experience.
Claim 10
Dependent Claim 28 words
The method according to claim 7, further including the step of maintaining a free segment list which lists free segments within said upper level store available for utilization.
Claim 11
Dependent Claim 30 words
The method according to claim 8, further including the step of maintaining a free record slot list which lists segments within said upper level store available for caching of records.
Claim 12
Dependent Claim 36 words
The method according to claim 8, further including the step of freeing a selected segment within said upper level store identified by means of said most recently used list in response to exhaustion of free segments.
Claim 13
Dependent Claim 30 words
The method according to claim 7, further including the step of maintaining a global most recently used list containing records cached within said upper level store in order of utilization.
Claim 14
Dependent Claim 30 words
The method according to claim 7, further including the step of freeing a selected record within said upper level store identified by means of said global most recently used list.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-11-22 2003-05-24 2003-11-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-11-22 2007-05-24 2007-11-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-11-22 2011-05-24 2011-11-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag