z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Managing Storage Reclaim for Specific Data Items

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

When the system reclaims storage, it tries to reclaim resources for data items that are the least recently used and have no registered interest in the target storage class. The system maintains information about data items in the cache structure in least recently used queues for each storage class. The last item on the queue indicates that the data item is the least recently used or referenced data item and is suitable for reclaim.

Based on the least recently used queue for the storage class, the longer an unchanged cached data item remains unused (or unreferenced) in the structure, the greater the chance that the system can reclaim its resources. The system handles reclaim processing as follows:
  • When a reclaim of only data entry resources is required, the system reclaims those resources from the least recently used queue for the storage class and does not automatically reclaim or invalidate the associated directory entry.
  • When a reclaim of directory entry resources is required, the system reclaims those resources from the least recently used queue for the storage class, invalidates the locally cached copies of the data item for all users, and frees the associated data entry resources, if any.

When reclaiming resources from the least recently used queues, the system gives preference to reclaiming those entries that have data but no registered interest over those that have data and do have registered interest.

If storage is reclaimed for a data item and a user then references that data item (for example, with a READ_DATA request), the following occurs:
  • If the system had reclaimed only data entry resources for the data item, then the user's read reference of the data item succeeds and the user is registered in the data item. The system returns an indication that the data cannot be read (reason code IXLRSNCODENOREADDATA), since no data entry exists for the data item.
  • If the system had reclaimed directory entry resources for the data item (and thus freed the associated data entry resources as well), then the user's read reference of the data item will not succeed. If the user did not request assignment of a new directory entry for the data item, the user will not be registered in the data item and the system returns an indication that the data item does not exist (reason code IXLRSNCODENOENTRY). If the user requested assignment of a new directory entry for the data item, and if assignment of a new directory entry is successful, the user will be registered in the data item and the system will return an indication that the data cannot be read (reason code IXLRSNCODENOREADDATA) because no data entry exists for the data item.

In all of the above cases, no data is read into the user's local cache buffer. In general the user should then read the data from permanent storage to the local cache buffer. Depending on the user's caching protocols, the user may need to write the data back to the cache structure as well, causing data entry resources to be assigned to the data item.

To avoid having to frequently refresh the data item in the cache structure from permanent storage, you can periodically read the data item from the cache structure, write the data item to the cache structure, or issue a PROCESS_REFLIST request for the data item. Any of these options causes the system to do the following:
  • Update the reference bit in the directory entry of the data item to indicate that the data item has been recently referenced.
  • Move the data item to the recently referenced end of its storage class queue.

The effect of issuing these requests is to make the data item less suitable for reclaim processing so that you can continue to reference the data item in your local cache buffer.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014