Browse Prior Art Database

Grouping Cached Data Blocks for Replacement Purposes

IP.com Disclosure Number: IPCOM000060507D
Original Publication Date: 1986-Apr-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 3 page(s) / 38K

Publishing Venue

IBM

Related People

Christian, JH: AUTHOR [+5]

Abstract

A replacement list, often referred to as MRU-LRU (most recently used- least recently used), is employed for controlling the data resident in a caching, or front, store where data is normally stored in a backing, or lower level, store. Generally, a directory has a replacement control list with one entry for each allocation unit or data block in the caching store. When sequential data is being processed, it is advantageous to group the entries to be treated as an entity. This article teaches how to provide a variable-length group of such entries in an inexpensive facile control. A caching store stores selected data from the backing store for enhanced access and storage by a connected host processor. A directory for the caching store has an entry for each allocation unit in the caching store.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 49% of the total text.

Page 1 of 3

Grouping Cached Data Blocks for Replacement Purposes

A replacement list, often referred to as MRU-LRU (most recently used- least recently used), is employed for controlling the data resident in a caching, or front, store where data is normally stored in a backing, or lower level, store. Generally, a directory has a replacement control list with one entry for each allocation unit or data block in the caching store. When sequential data is being processed, it is advantageous to group the entries to be treated as an entity. This article teaches how to provide a variable-length group of such entries in an inexpensive facile control. A caching store stores selected data from the backing store for enhanced access and storage by a connected host processor. A directory for the caching store has an entry for each allocation unit in the caching store. Each entry consists of a plurality of fields, including the illustrated fields. The BSA fields contain the backing store addresses at which the data is stored in the backing store. Normally, the host processor accesses such data by using the BSA address. The cache storage address (CSA) field contains the address in the caching store at which the data is stored which is a replication of data stored at the corresponding backing store address. For example, backing store address BSA 1 represents an allocation unit in the backing store containing first data; a copy of that first data is stored in the caching store at address CSA M. Additionally, two fields in each entry are designated as an MRU-LRU list. A first field contains a backward, or MRU, pointer which points to the entry in the directory representing data in the caching store which is next most-recently used. Another field contains a forward, or LRU, pointer which points to the entry in the directory representing data in the caching store which is next least-recently used. Additionally, a group indicator field is included for indicating whether or not the designated data is within a group of sequential data to be handled as an individual unit. When the group indicator has 00, the corresponding data is not a member of any sequential group of data. When the group indicator is 01, the corresponding data in the caching store is a first block of a sequential set of blocks of data. A group indicator of 10 signifies that the corresponding block stored in the caching store is the last block of a sequential set of blocks of data. A group indicator numerical designation of 11 indicates that the corresponding block of data stored in the caching store is a middle, or intermediate, block of data within a sequential set, or group, of data blocks. The drawing shows data stored at addresses BSA 1 through BSA 5 as constituting a group, or sequential set, of data blocks. The data blocks can be stored in the caching store at various addresses (M, P, O, J and B) which may or may not be contiguous. The length of the group is arbitrary and indicated only by the...