gtpd1m16 | Database Reference |
This section provides an overview of the 3990 Record Cache RPQ and a description of the TPF functions you can use in conjunction with that RPQ.
The 3990 Record Cache RPQ is a high performance record cache subsystem that provides improved throughput for DASD. The hardware contains 2 storage clusters, each with 2 storage paths. There are as many as 8 channel attachments per cluster and an inboard dynamic path selective (DPS) array. The hardware has subsystem storage with as many as 256 megabytes of storage and a nonvolatile storage (NVS) with as many as 4 megabytes of storage. The hardware can be configured as 2 subsystems splitting the DPS, cache, NVS, and storage paths and sharing the channels (device level selection (DLS) configuration); or as a single subsystem with 4-path devices (device level selection enhanced (DLSE) configuration).
As with the 3880 Record Cache Control Unit, a subset of data stored on DASD can also be stored in the cache. This data can then be accessed from the cache instead of DASD to improve the I/O response time of the system. Additionally, the extended function capabilities of cache and DASD fast write provide the benefits of cache hits to write operations. A write operation indicating fast write data is done at cache speed and does not require an immediate transfer of data to the DASD surface. This data is written directly to the cache or nonvolatile storage and is available for later destaging to the DASD surface.
The 3990 Record Cache Subsystem supports the following modes of access:
Direct mode provides access to the attached devices as if they were attached via a noncached nonbuffered subsystem. Direct mode is normally used for activities that require direct access to the device, such as formatting or diagnostics, or for data accesses when the cache is either not operational or not available to the subsystem.
Track caching mode maintains full or partial track images in the cache according to usage algorithms. Multiple record data transfer operations (that is, full track reads or writes) use track caching algorithms.
Record access mode maintains individual record images in the cache according to usage algorithms. Single record data transfer operations use record caching algorithms.
The 3990 Record Cache Subsystem RPQ supports the use of both CKD and ECKD channel command chains. Record mode I/O operations can specify the following access characteristics:
The differences between retentive, cache fast write, and DASD fast write, all of which are caching accesses, are as follows:
The system installation procedure supports the 3990 Record Cache Subsystem RPQ by:
The Extended RIAT table is used to contain the record caching attributes
associated with a particular record ID. Table 3 summarizes these attributes and their functions.
Table 3. Record Caching Attributes
Attribute | Function | Description |
---|---|---|
RET | Retentive Access | The specified record ID is placed in the volatile control unit cache and on the DASD surface when a file-type macro is issued. |
CFWS | Cache Fast Write Access (Simplex Write) | The specified record ID is placed in the volatile control unit cache when a file-type macro is issued and the cache is available. If the cache is not available, the record will be written directly to the DASD surface. A single write is issued to the prime module only. |
CFWD | Cache Fast Write Access (Duplex Write) | The specified record ID is placed in the volatile control unit cache when a file-type macro is issued and the cache is available. If the cache is not available, the record will be written directly to the DASD surface. A duplexed write is issued to both the prime and the duplicate modules. |
DFW | DASD Fast Write Access | The specified record ID is placed in the cache and the nonvolatile storage when a file-type macro is issued. If the cache is not available, or the nonvolatile storage is not available, the record is written directly to the DASD surface. |
NO | Bypass Cache | The specified record ID is not a candidate for caching and all I/O requests for this ID result in the record being read/written directly from/to the DASD surface, thus bypassing caching for this record ID. |
During IPL, each DASD attached to a 3990 Record Cache Subsystem Control Unit is marked as a caching device. In addition, IPLB indicates whether or not a DASD is a real-time module.
Unit check conditions caused by conflicting device information on the status tracks of the DASD attached to the 3990 Record Cache Subsystem Control Unit may result in acquiring access to the DASD by forcing the subsystem to re-establish its global status information.
Unlike the 3880 Record Cache Control Unit, IPL of the loader general file attached to a record cache subsystem control unit is supported.
The system initializer allocates storage for the record cache subsystem status table (SSST). Both a memory copy and a file copy of this table are maintained. This table contains the status of each record cache subsystem control unit in the system. The system initializer also allocates storage for the AET (asynchronous event table) that is used to monitor asynchronous I/O request operations. Additional processing is performed to set up the dump table pointers and control table address pointers for system use.
The RCS restart component of TPF system restart brings all 3990 Record Cache Subsystem Control Units and their attached devices to full caching capability, initializes cache slot allocations, and detects and reports possible data loss conditions since the last TPF IPL. This function also builds the record cache subsystem status table data structures.
Write I/O operations to RCS devices are controlled by the record caching attributes specified in the RIAT table for a specific record ID. The CCW chains are dynamically modified on each I/O operation as required to specify the caching attribute as indicated in the RIAT table.
The following restricted use macros result in using the retentive caching attribute as the default:
Records with the fast write caching attribute can be indicated as cache fast write simplex or duplex. When cache fast write is indicated, all read operations are done from the prime module only. This insures consistent data in the event of a cache failure. Write operations will be done to the prime only if CFW simplex was specified; otherwise, the writes are performed to both the prime and duplicate modules.
When a module down operation completes, the module is taken offline. All data in the cache is discarded because the module is no longer considered current. If you want the module being taken offline to be current, make sure a ZBUFC FILE command was previously completed to the device. This will insure that fast write data is destaged to the DASD surface. The module up function initializes devices that are attached to the record cache subsystem control units.
Some control I/O operations associated with the cache may take a long time to complete. These are I/O operations associated with the Set Subsystem Mode (SSM) and the Perform Subsystem Function (PSF) CCWs. A facility is provided whereby a long running operation can be started and allowed to run asynchronously with other I/O activity. Actual completion of the request is signalled some time later by the hardware via an attention interrupt. TPF associates the completion of the operation with the original request by using the asynchronous event table. This feature is only valid for I/O operations issued through the use of the FDCTC macro.
TPF recognizes the following error situations:
This condition results when a hardware failure is detected that precludes TPF from using a caching resource.
This condition is reported during RCS restart and can result from the movement of DASD from a record cache subsystem or a change in cache fast write ID since the last TPF IPL.
This condition is reported via unit check/sense information or from receipt of a state change interrupt.
In all cases, operator notification is provided indicating the error and the affected RCS subsystem(s).
Changes in the status of resources in the hardware are signalled through a state change interrupt presented to the TPF system. This state change notification results in the TPF system requesting latest subsystem status and taking appropriate actions depending on the status change detected.
TPF considers any RCS to be running in a degraded mode of operation if any loss of caching capability occurs. If this happens, TPF provides an I/O queue thresholding mechanism to monitor the total subsystem queue depth while an RCS is running in a degraded state. If the total queue depth exceeds an RCS limit computed from user-specified information, a user exit is invoked and actions are taken as specified by the user exit routine.
Caching performance statistics are maintained in the 3990 Record Cache Subsystem. These statistics are collected for the record cache subsystem control units and attached devices. The ZMEAS command is used to offload the collected data from each device. These statistics are displayed on the reports generated by the data reduction package.
The commands that support the 3990 Record Cache Subsystem (RCS) Control Units are:
The ZRTDM DISPLAY command can be used to display the record caching attributes for specified record IDs or for the short- and long-term pool overrides.
The ZRTDM MODIFY command can be used to modify the record caching attributes for specified record IDs or for the short- and long-term pool overrides.
You can partition the record cache subsystem into the 3 TPF record sizes (381, 1055, and 4096 bytes) by assigning block size ratios. Also, you can assign full track slots to be used for buffering.
You can reallocate cache storage by following these 2 steps:
The ZBUFC ALLOCATE DISPLAY command can be used to show the current and the target cache allocation ratios.
The ZBUFC FILE command allows you to destage all modified data in the cache and nonvolatile storage to the DASD surface. In addition, all fast write caching capability is disabled to prevent any further modified data from entering the cache. The ZBUFC ENABLE command is used to re-enable fast write caching capability.
The ZBUFC ENABLE command lets you re-enable all caching capability of an RCS Control Unit and its attached devices. This message should be used after a ZBUFC FILE was issued.
The ZBUFC STATUS command displays the status of the RCS Control Unit and attached devices.
The ZBUFC STATUS RCS command displays internal TPF status information associated with the RCS support package.
The ZBUFC THRESHLD command lets you display or modify the current I/O queue threshold value. This value is used to calculate the overall threshold value used when the TPF system is monitoring the I/O queues for an RCS running in degraded mode.
The ZBUFC PINNED DISPLAY command lets you display the pinned data for a given record cache subsystem attached device. Pinned data is data in the cache or nonvolatile store indicated as having been unable to be written to the DASD surface.
The ZBUFC PINNED DISCARD command allows you to discard all pinned fast write data associated with a specific DASD device from the 3990 Record Cache Subsystem cache and nonvolatile storage.
Use this command only for recovery from cache related error conditions where removal of the pinned data is required to recover fast write caching function for the device or 3990 Record Cache Subsystem.
The ZBUFC SETCACHE command allows you to alter the 3990 Record Cache Subsystem caching status for the various caching resource elements for the purposes of recovery cache capability following certain cache related errors.
Use this command only for recovery from cache related error conditions.
Attention: Use this command carefully; data loss from cache or nonvolatile storage is possible.
The ZBUFC MAP command lets you display the relationship between an RCS control unit and its attached devices. The report indicates the RCS SSID associated with a particular device or the symbolic device address range(s) associated with a particular RCS SSID.
TPF record cache subsystem (RCS) support was introduced with the 3990 Model 3 Record Cache RPQ. With the introduction of the 3990 Model 6, subsequent generations of DASD controllers that are record cache capable provide the original 3990 Model 3 Record Cache RPQ functions as standard product features. To maintain backward compatibility with TPF RCS support as well as to provide a migration path for TPF users, these controllers provide a TPF mode setting in the Vital Product Data (VPD) area of the controller. This setting enables the controller microcode to maintain the original Record Cache RPQ API for TPF. This concept is further provided with the IBM Enterprise Storage Server (ESS) by allowing the definition of 3990 Model 3 TPF logical subsystems.
From a TPF software perspective, communicating with DASD attached to newer versions of the 3990 is logically the same as communicating with DASD attached to the original 3990 Model 3 controller. However, the internal processing related to the caching and handling of various I/O operations has changed. These changes simplified and streamlined internal processing by removing a number of the processing options that were available to the TPF system in the original record cache implementation while taking over the management of other aspects of the cache that previously required user action.
Operationally, the TPF system maintains the intent of the original 3990 Model 3 Record Cache RPQ implementation, but the effects of the processing actions in the ESS have changed. The trade-off to the TPF system is to maintain compatibility with the existing code while allowing for a migration path to the ESS for TPF users.
The following table summarizes the differences in the internal processing between the 3990 Model 3 and ESS as they relate to the TPF system.
Table 4. Processing Differences between the 3990 Model 3 and ESS
Caching Attributes | |
3990 Model 3:
The record ID attribute table (RIAT) specifies caching attributes on an individual I/O basis. Valid caching attributes are as follows:
| ESS:
By default, all written data is handled as fast write data and is written to both cache and nonvolatile storage (NVS):
TPF I/O requests with one of the fast write attributes will function as originally implemented. Attributes requesting to bypass caching result in the use of the cache but the records age out of cache by means of accelerated least recently used (LRU) lists. |
Enabling Cache and Nonvolatile Storage (NVS)
Differences affect record cache subsystem (RCS) restart actions, which ensure all cache capability is fully enabled and ZBUFC command processing, which allows user control in the preparation for cache allocation and cache recovery action. | |
3990 Model 3:
Users have two levels of control:
Each caching element allows for user control to enable or disable at the device or subsystem level. | ESS:
Controls associated with options of the set subsystem mode (SSM) channel command are at a higher level. While the I/O API associated with SSM is still supported, the operations at the control unit are largely accepted but ignored. For example, only three SSM parameter options are functional on the ESS:
|
Record Cache Allocation | |
3990 Model 3:
Cache memory must be partitioned into record and multi-path lock facility (MPLF) slots in varying proportions for the standard TPF record sizes. Users must allocate the cache and the associated ratios appropriately for optimum usage. | ESS:
Partitioning of the cache for record and MPLF lock slots is managed by the control unit and is maintained for optimum usage based on processing patterns. TPF I/O API operations to set and query the cache allocation are maintained and still reflect desired ratios as requested by the ZBUFC commands. The actual allocation, however, is managed internally and dynamically by the control unit. |
Performance Statistics | |
3990 Model 3:
Cache statistics are reported for each TPF record size (381, 1055, or 4096 bytes) for each device. This information is collected by TPF data collection processing for offline data reduction reporting and could be used to tailor the cache allocations in the most optimum way. | ESS:
Manages the cache allocation dynamically and, as a result, only one set of cache statistics is maintained for each device. The statistics are normalized for the TPF data record sizes and reported in terms of the TPF 1055-byte record size. |
ZBUFC Commands
See TPF Operations for more information about the ZBUFC commands. | |
| |
3990 Model 3:
Users specify cache and lock space allocations for optimum performance. | ESS:
Actual allocations and cache partitioning are managed dynamically by the control unit. For compatibility reasons, the specified TPF allocation values are returned to the TPF query allocation requests. |
| |
3990 Model 3:
Allocation changes are applied to the control units that are not currently initialized with the new allocation values. | ESS:
Accepts and ignores the TPF request to change the actual cache allocations in use in the control unit, although the desired TPF ratios will be returned on allocation queries from TPF. |
| |
3990 Model 3:
I/O operations requesting data records be written with one of the fast write caching attributes results in the data being written to both the cache and the DASD surface. | ESS:
Only I/O operations requesting data to be written with the CFW attribute are affected and result in the data being written to both the cache and the DASD surface. |
| |
3990 Model 3:
I/O operations requesting data records be written with one of the fast write caching attributes results in data being written to cache or NVS, and subsequently, destaged to DASD as cache space is needed. | ESS:
Only I/O operations requesting data to be written with the CFW attribute are affected and result in the data once again being written to the cache, and subsequently, destaged to DASD as cache space is needed. |
| |
3990 Model 3:
Allows you to perform various cache recovery operations. The syntax allows you to enable or disable cache elements identified at a device or subsystem level. | ESS:
The following functional processing options are affected for this command:
All other options are accepted and ignored at the control unit. |