US4603380A
Expired / Lapsed
US
⏱️ 0.0 years remaining
DASD cache block staging
Assignee: International Business Machines Corp
•
Filing: 1983-07-01
•
Granted: 1986-07-29
•
Expires: 2003-07-01
Abstract
Abstract A method for Direct (DASD) cache management that reduces the volume of data transfer between DASD and cache while avoiding the complexity of managing variable length records in the cache. This is achieved by always choosing the starting point for staging a record to be at the start of the missing record and, at the same time, allocating and managing cache space in fixed length blocks. The method steps require staging records, starting with the requested record and continuing until either the cache block is full, the end of track is reached, or a record already in the cache is encountered.
Inventors
- 👤 Malcolm C. Easton
- 👤 John H. Howard
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 04:28
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; G06F12/0862
Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
207 words
A method for replacing fixed block extends of information in a DASD-backed LRU cache managed through a cache directory, each block either spanning at least one variable length record, or being one of several blocks spanning a single record, said method being invoked by reference to an unavailable or missed record in the cache, comprising the steps of: blocking and staging records from the DASD to the cache, said blocking and staging including comparison matching the DASD and cache stored record identities; and copying onto the cache the DASD-recorded consecutive bytes of information starting at the DASD reference track from the missed record, and continuing until either a fixed block is spanned, the end of track is reached, or a record already in the cache is encountered such that: (a) if the missed record spans less than a block extent, ascertaining whether any record in the block has already been copied into the cache and deleting the first such record and all succeeding records from the block; or (b) if the missed record spans more than a block extent, allocating at least the missed record spanning equivalent of the least recently used blocks within the cache and copying said missed record into the cache from the DASD.
Claim 2
Independent Claim
207 words
A method for replacing fixed block extends of information in a DASD-backed LRU cache managed through a cache directory, each block either spanning at least one variable length record, or being one of several blocks spanning a single record, said method being invoked by reference to an unavailable or missed record in the cache, comprising the steps of: blocking and staging records from the DASD to the cache, said blocking and staging including comparison matching the DASD and cache stored record identities; and copying onto the cache the DASD-recorded consecutive bytes of information starting at the DASD reference track from the missed record, and continuing until either a fixed block is spanned, the end of track is reached, or a record already in the cache is encountered such that: (a) if the missed record spans less than a block extent, ascertaining whether any record in the block has already been copied into the cache and deleting the first such record and all succeeding records from the block; or (b) if the missed record spans more than a block extent, allocating at least the missed record spanning equivalent of the least recently used blocks within the cache and copying said missed record into the cache from the DASD.
Claim 3
Dependent Claim
136 words
A method according to claim 1, wherein: the cache directory includes DASD track and block descriptors in which the block descriptors are chained to form a circular list and further wherein each block has associated therewith a use bit; and the step of blocking and staging records to cache if the missed record spans more than a block extent includes the steps of (a) turning the use bit on when data in the block is referenced in the cache; (b) cycling a cursor through the set of block use bits in round robin order and turning the use bit off as the cursor advances; and (c) upon a preselected number of contiguous blocks being needed, selecting the first least recently used contiguous blocks whose use bits are marked off equivalent to the missed record spanning distance.
Claim 4
Dependent Claim
20 words
A method according to claim 1 in which the cache is either of the write-through or of the write-in types.
Claim 5
Dependent Claim
297 words
A new use of a data processing system comprising at least a first and second CPU; shared DASD devices; a plurality of sets of fan out paths (channels), each path set coupling a corresponding CPU as a source node; and a plurality of control nodes, each control node including means for accessing the devices and for selectively intercepting predetermined paths from either set in order to complete a single path connection to a single destination device; and a cache LRU managed through a directory coupling and operatively engaging said control nodes, said new use comprising a method for replacement of fixed block extents of information in the cache, each block either spanning at least one variable length record, or being one of several blocks spanning a single record, said method being invoked by reference by either CPU to an unavailable or missed record in the cache, comprising the steps of: blocking and staging records to the cache, said blocking and staging including comparison matching of the DASD and cache stored record identities; and copying onto the cache the DASD-recorded consecutive bytes of information starting at the DASD reference track from the missed record, and continuing until either a fixed block is spanned, the end of track is reached, or a record already in the cache is encountered such that: (a) if the missed record spans less than a block extent, ascertaining whether any record in the block has already been copied into the cache and deleting the first such record and all succeeding records from the block; or (b) if the missed record spans more than a block extent, allocating at least the missed record spanning equivalent of the least recently used blocks within the cache and copying said missed record into the cache from the DASD.
Claim 6
Dependent Claim
297 words
A new use of a data processing system comprising at least a first and second CPU; shared DASD devices; a plurality of sets of fan out paths (channels), each path set coupling a corresponding CPU as a source node; and a plurality of control nodes, each control node including means for accessing the devices and for selectively intercepting predetermined paths from either set in order to complete a single path connection to a single destination device; and a cache LRU managed through a directory coupling and operatively engaging said control nodes, said new use comprising a method for replacement of fixed block extents of information in the cache, each block either spanning at least one variable length record, or being one of several blocks spanning a single record, said method being invoked by reference by either CPU to an unavailable or missed record in the cache, comprising the steps of: blocking and staging records to the cache, said blocking and staging including comparison matching of the DASD and cache stored record identities; and copying onto the cache the DASD-recorded consecutive bytes of information starting at the DASD reference track from the missed record, and continuing until either a fixed block is spanned, the end of track is reached, or a record already in the cache is encountered such that: (a) if the missed record spans less than a block extent, ascertaining whether any record in the block has already been copied into the cache and deleting the first such record and all succeeding records from the block; or (b) if the missed record spans more than a block extent, allocating at least the missed record spanning equivalent of the least recently used blocks within the cache and copying said missed record into the cache from the DASD.
Claim 7
Dependent Claim
67 words
A new use according to claim 4, wherein the directory for each cache contains track and block descriptors in which the block descriptors are chained to form a circular list, and the steps of blocking and staging records to cache includes the steps of finding the track descriptor entry in the respective cache directory by using a requesting track identity by way of a hash table lookup.
Claim 8
Dependent Claim
38 words
A new use according to claim 4, wherein after a block has been staged from DASD, checking for duplicate records within the respective cache directory and deleting such records and all succeeding records from the block just staged.
Claim 9
Dependent Claim
37 words
A new use according to claim 4, wherein each control node includes a cache manager resident within and executable by the control nodes, said cache manager constituting a portion of an operating system equivalent for said nodes.
References Cited (Backward Citations)
US3336582A
Cited
US3564502A
Cited
US3541529A
Cited
US3725864A
Cited
US3938097A
Cited
US4195342A
Cited
US4207609A
Cited
US4322795A
Cited
US4394732A
Cited
US4394733A
Cited
US4423479A
Cited
US4437155A
Cited
US4489378A
Cited
US4490782A
Cited
US4429363A
Cited
US4500954A
Cited
US4506323A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1989-07-28 | 1990-01-27 | 1990-07-29 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1993-07-28 | 1994-01-27 | 1994-07-29 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1997-07-28 | 1998-01-27 | 1998-07-29 | $7700.00 | Window Closed / Lapsed |