Field IOBFLAGIIOBFLAG IIOBST1T IOBERP I IOBRSTRT I IOBFAT1L Action To Be performed by DMKIOS I I 1 I 0 I 0 Return control when solicited device end I I arrives I I 1 I 1 I 0 Restart using IOBRC1W I I 0 I 0 I 1 Permanent I/O error I I 0 I 0 I 0 Retry successful
Figure 22. Summary of lOB Indicators
If the error is uncorrectable or intervention is required, the ERP calls DMKMSW to notify operator. The specific message is identified in
the HSGPARH field of the IOERBLOK.
ALTERNATE TRACK RECOVERY, ERP (DHKTRK)
The software alternate track recovery support described in the following
paragraphs applies only to the 3340/3344 disk. For 3330 and 3350 disks
no software support is needed since the hardware performs alternate
track recovery. No support is needed for the 2305 drum since the CE is
able to rewire the device to use spare tracks in place of defective
tracks. For the 2314 and 2319 disks no true alternate track recovery is
provided by CP. But track condition checks from any device type are
reflected back to the virtual machine. Therefore, even though CP itself
cannot use a 2314 or 2319 cylinder that contains a defective track, it
it possible for a virtual machine to use such a cylinder if it provides
its own error recovery. To facilitate this, the VM/370 version of the
IBCD1SDI program allows 2314 and 2319 minidisks to be formatted with an
alternate track cylinder as the last cylinder of each ainidisk rather
than using the last cylinders of the real disk for this purpose.
The 3340 alternate track support applies to CP I/O, to Diagnose I/O (thereby giving alternate track support to CMS), and to SIO executed in
a virtual machine. For CP I/O and Diagnose I/O, the alternate track
recovery support essentially consists of directing (seeking) an
interrupted channel program to an alternate track and restarting it.
Later, in some cases, the interrupted channel program is directed back
to the original cylinder and restarted there. For SIO in a virtual machine, the operating system in the virtual machine provides its own
error recovery when CP reflects a track condition check to the virtual machine. On the 3340 disk, alternate tracks are assigned in the conventional
alternate tracks cylinders at the high end of the real disk, not in the
last cylinder of each ainidisk. Therefore a virtual machine may need to
seek outside of its ainidisk extent. This occurs when an operating
system in a virtual machine performs its own error recovery following a
track condition cbeck. So for SIO issued from a virtual machine, CP's 1-166 IBM VM/370 System Logic and Problem Deterlination--Volume 1
alternate track support must permit the virtual .achine to escape fro.
the confines of its minidisk to get to the alternate tracks assigned to
the defective tracks of that minidisk. Yet at the same time CP must still prevent the virtual machine from accessing other tracks that it
does not own. Since alternate tracks are assigned only in the conventional
alternate tracks cylinders at the high end of the real disk, CP does not
apply minidisk cylinder relocation values to a virtual machine's channel commands that reference alternate tracks. Similarly, CP does not
unrelocate alternate track CCHH addresses returned by read home address, by read record zero, in sense information, or for error recording.
Alternate Operation and I.plications
The home address record (HA) on any track contains a flag byte with two bits that are involved in alternate track assignments. One bit, when
set to one, indicates that the track is defective and that the track
should have (and ordinarily does have) an alternate track assigned. The
count field of record zero of a track with this bit set should point to
(have the ceRa address of) the assigned alternate track. The second bit
in the flag byte, when set to one, indicates that the track in which it
appears is an assigned alternate track. The count field of record zero
of an assigned alternate track should point back to the ceHH
address of) the flagged defective track that it is assigned to.
Before using the pointer in record zero of a flagged track to get to
the corresponding alternate, it is considered good fora for an operating
system to check the pointers both ways to see that each points to the
other. CP performs two-way checks of the pointers for seeks to an
alternate track initiated by Diagnose or by SIO in a virtual machine. For its own I/O, CP uses the forward record zero pointer without
performing a two-way check. Performing a two-way check would decrease
performance and should not be necessary since all of the record zero
pointers were checked in both directions by the Format/Allocate program (DMKF!T) when the CP-owned disk was originally formatted. the DASD Dump/Restore (DDR) program also checks the record zero
pointers both ways when a tape is restored to a disk.
Except for those channel commands that deal specifically with the home address and record zero, any atteapt to search or read or write on
a track that is flagged as defective results in a unit check with "track
condition check" indicated in the sense data.
operations on an assigned alternate track can also result in a unit
check with "track condition check" indicated in the sense data. But in
this case it occurs when an attempt is made to leave the assigned
alternate track, not when the operation is reading or writing on the
track. The situations where trying to leave the alternate track results
in a track condition check are: • Any multi-track operation • A record overflow operation
The hardware does generate a track
used to leave the track. This applies
seek head.
condition check when a seek is
to any kind of seek, including When a channel program from a virtual machine SIO (or fro. a
Diagnose) is allowed to access an alternate track, subsequent CCWs in
the channel program .ust be prevented from accessing adjacent tracks in
CP Introduction 1-167
Previous Page Next Page