During the further execution of a Diagnose Channel prograa,
invalidated seek head opcodes may be encountered once the IOEBILTB flag
is turned on. CP channel programs do not use seek head. The nuaber of
these opcodes encountered may be several, or none at all, depending on
the user's channel program. Also, these invalidated seek heads may be
trying to seek off of an assigned alternate track (usually to the next
logical track) or they aay have no involvement with flagged tracks at
all, again depending on the nature of the user's channel program. Whenever the channel program is stopped by an invalidated seek head, a
determination is made of whether or not it is trying to get off of an
alternate track. This determination is made by looking at the current
cylinder number (available in sense data taken at the time of the command reject) and seeing whether or not it falls within the alternate
track cylinder area at the high end of the disk. If the seek head R2i trying to get off of an alternate track, there is no problea and the
subject channel program is restarted with a seek to the current cylinder
and to the track specified by the invalidated seek head. If the seek
head trying to get off of an alternate track, record zero of the
alternate track is read first to get the cylinder nuaber of the
defective track. Then the subject channel program is restarted with a
seek to the cylinder of the defective track, but to the track specified
by the invalidated seek head. TAPE ERROB RECOVEBY, ERP (D!KTAP) Error recovery is attempted for user-initiated tape I/O operations to
CP-supported devices that use the DIAGNOSE interface. The primary control blocks used for error recovery are the RDEVBLOK, the IOBLOK, and
the IOERBLOK. In addition, auxiliary storage is used for recovery
channel programs (repositioning and erase).
The interruption handler, D!KIOS, performs a SENSE operation when a
unit check occurs. Tape errors are then passed to D!KTIP. The sense
information associated with a unit check is contained in the IOERBLOK. If a channel check is encountered, the channel check interruption
handler determines if retry is possible and passes control to the ERP through the I/O interruption handler. When an error is encountered and ERP receives control, D!KTAP determines if this is the first entry into the ERP for this task. The IOBBCNT (lOB error count) field of the lOB is zero on initial entry. On this first entry, the pointer to the IOEBBLOK is placed in the RDEVIOEB field of the BDEVBLOK. This preserves the original error CSW and sense
information for recording. Thereafter, IOEBBLOKS are discarded before a
retry is attempted or a permanent error is passed to 105. The ERP looks for two other specific conditions. If the error count
field is not zero, entry must be due to a recovery attempt. Thus, it aay be a solicited device end to correct an intervention-required condition
or a retry attempt for either tape repositioning or channel prograa
re-execution.
The EBP keeps track of the number of retries in the IOBRCNT field of
the IOBLOK to determine if a retry limit has been exceeded for a
particular error •. If the specified number of retries fails to correct
the error, the error is recorded and D!KIOS is notified of the peraanent
error by turning on a status flag in the IOBLOK (IOBSTIT=IOBFITIL). If the error is corrected by DMKTIP, the temporary error is not
recorded and control is returned to DMKIOS with error flags all off. When repositioning is required in order to attempt recovery, additional HRP flags are contained in the IOERBLOK to indicate paths for specific
errors (that is, data check on write must reposition, erase, and then
reissue original channel program). 1-170 IB! VM/370 System Logic and Problem Deteraination--Volume 1
All error recovery is started the same except for
intervention-required errors. The IOBFLAG is turned on to indicate RESTART (IOBFLAG=IOBRSTRT), and the IOBRCAW (IOBLOK Restart CAW) is
filled with the restart channel address word. In addition, an IOBFLAG flag is turned on to indicate that the ERP is in control so that control
can be returned to ERP during all tape error recovery (IOBFLAG=IOBERP). In the case of an intervention required error, the ERP sends a message to the operator, and then returns to with indications that tell DMKIOS the HRP is waiting for a device end on this device. This is done
by clearing the restart flag and returning to DKKIOS with only the IOBERP flag on. When ERP has determined a permanent error situation or successfully
recovered from an error, all storage obtained for recovery CCWs, buffers, and IOERBLOKs is freed before a return is made to DKKIOS (see Figure 22 for a summary of the lOB indicators), also, the
statistical counters for 2400, 3410, and 3420 devices are updated.
If the error is uncorrectable or operator intervention is necessary, HRP calls the message writer to write the specific message. 3270 REMOTE SUPPORT ERROR RECOVERY Recovery from errors associated with binary synchronous lines, and the
related channel and transmission control unit hardware is processed by DMKBSC. Recovery from errors associated with data and control
processing by the reaote station (the device) as defined by rellote status and sense byte definition (see is processed by DKKRGF. Control blocks
associated with these errors are the COtTASK, the RDEVBLOK, the BSCBLOK, the NICBLOK, the IOBLOK, and the IOERBLOK. The interruption handler, DKKIOS, performs a SENSE operation upon
detection of a unit check condition (IOERBLOK). The related sense data
is analyzed as it relates to the previous operation (CONTASK or BSCBLOK, whichever is applicable). If a channel check is encountered by the
channel check interruption handler, the channel check interruption (DKKBSC) procedures determine if recovery can be attempted. If it
cannot be retried, that operation is aborted and an appropriate message is sent to the system operator.
Depending upon the error encountered, ERP receives control and either DKKBSC or DMKGRA and DKKGRB determines if this is the first entry into
the ERP for this task. The IOBRCNT (lOB error count) field of the lOB is zero on initial entry. On this first entry, the pointer to the IOERBLOK is placed in the RDEVIOER field of the RDEVBLOK. This
preserves the original error CSW and sense information for recording.
Thereafter, IOERBLOKs are discarded before a is attempted or a
permanent error is passed to lOS. The ERP looks for two other specific conditions. If the error count
field is not zero, entry Ilust be due to a rec overy attempt. Thus, it may be a solicited device end to correct an intervention-required
condition or a retry of channel program execution.
The ERP keeps track of the number of retries in the IOBRCNT field of
the IOBLOK to determine if a retry lillit has been exceeded for a
particular error. If the specified number of retries fails to correct
the error, the error is recorded and DMKIOS is notified of the permanent
error by turning on a status flag in the IOBLOK (IOBSTAT=IOBFATAL). CP Introduction 1-171
Previous Page Next Page