Before using this information and the product it supports, be sure to read the general information under Appendix D, “Notices”
on page D-1.
First Edition (November, 1999)
This edition, SA22-1025-00, applies to the IBM Internal Disk Subsystem.
Copyright International Business Machines Corporation 1999. All rights reserved.
Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to
restrictions set forth in GSA ADP Schedule Contract with IBM Corp.
Contents
Chapter 1. Overview of the S/390 Internal Disk Subsystem......... 1-1
Chapter 1.Overview of the S/390 Internal Disk Subsystem
This chapter gives an overview of the S/390 Internal Disk Subsystem, describes its
components, features, and facilities.
Internal Disk storage subsystem provides internal attachment of disk storage
integrated into the Central Processing Complex (CPC) of a S/390 CMOS processor.
Internal Disk consists of attachment hardware and microcode plus high capacity,
high performance Hard Disk Drives (HDDs) that are packaged under the same
CPC covers. The HDDs are organized into RAID arrays that insure data availability
while minimizing the cost of disk storage. The HDDs appear to the host programs
executing in a CPC as conventional Count, Key, Data (CKD) disks attached to a
CKD control unit. The programs use channel commands to manage the operations
of the disk subsystem.
The control unit and channel functions are executed within the CPC utilizing
processor and memory resources of the CPC:
A System Assist Processor (SAP) is used for the channel emulation and control
unit functions.
Disk cache space is allocated from S/390 main memory
The system Service Element (SE) is shared for configuration and service
functions.
Power, packaging, and cooling are all provided by the Multiprise 3000 (host
processor).
From an implementation perspective these functions are an extension to the I/O
subsystem within the CPC.
Unique to the Internal Disk subsystem are Hard Disk Drives (HDDs) and logic cards
that carry adapter electronics. The logic cards are called SSA adapter cards. The
Hard Disk Drives (HDDs) used in Internal Disk are 3.5 inch, fixed block disk drives
with a data capacity of 18 GB. The SSA adapter card interfaces to the Multiprise
3000 via a PCI bus and provides an industry standard SSA (Serial Storage
Architecture) interface for connection of the HDDs.
The HDDs are mounted in the frame used for the packaging of the CPC. The
18GB UltraStar 18ZX drives are mounted in the HDD enclosure. The user may
choose to expand the storage beyond the capacity of the CPC frame by adding
expansion frames. The maximum configuration has one CPC frame and two
expansion frames.
The Multiprise 3000 has a minimum Internal Disk capacity of 72GBs and a
maximum capacity (inclusive of two expansion frames) of 792GBs.
The Internal Disk Subsystem offers the following advantages:
Minimization of software changes: If an operating system supports the device
being emulated, the Internal Disk subsystem can generally be installed without
any system software changes. Any combination of 3390-1, -2, -3, -9, and
3380-J, -E, -K logical volumes can be created on a RAID array. The total
number of logical volumes that can be created is only limited by the storage
capacity available on the array and the number of unit addresses that can be
assigned to an array. The latter one is 64 for an array with 5 HDDs (4+P), and
Copyright IBM Corp. 1999 1-1
96 for an array consisting of 7 HDDs (6+P). Also, logical volumes can be
added incrementally. This can even be done while I/O operations are ongoing
to other logical volumes which already exist on this array. In the same way,
logical volumes can also be selectively deleted again, freeing up space which
can then be used to create other logical volumes again.
Preloaded software is available
Internal Disk uses a RAID-5 organization for managing a collection of disks so
that high levels of data reliability and availability are maintained.
Usable disk storage capacity:
– 72 to 216 GB in the CPC cage
– Up to 288 GB in each of the expansion cages
Enhanced reliability by Predictive Failure Analysis: A set of processes
continuously performed by the HDD is designed to predict disk drive failure
conditions before they occur.
End to end data protection
Low-cost disk subsystem: A high capacity Internal Disk subsystem with a very
low cost of ownership.
Host Processor
SSA Interface: The connection via the SSA adapter interface provides high
data transfer rates.
Concurrent Repair and Verify of HDDs.
Concurrent LIC patch for SAP microcode.
Control unit and data sharing among logical partitions.
Internal Disk RAID Fast Write (IDRFW) provides a fast write capability through
the SSA adapter card.
Internal Disk is packaged with the Multiprise 3000 which is a unique card on board
package that takes advantage of:
The Multiprise 3000 presents a low cost server platform that maintains most of the
S/390 traditional attributes. It is a small, office environment server that provides
state of the art LAN/WAN connection capabilities at an attractive price. The base
package satisfies new customer/workloads that do not have the traditional heavy
I/O channel demands. The basic frame that houses the CPC also contains up to 24
ESCON channels. If more channels are needed, an expansion frame with 32
additional ESCON channels is available.
The Multiprise 3000 is the entry level processor for the S/390 product family
designed for installation in any standard office environment without special
provisions. The unit is powered from single phase 100 to 240 volts ac, at either 50
or 60 hertz. Dual line cords are provided, each connected to one of the two N+1
1-2Internal Disk Subsystem Reference Guide
power supplies. Two cooling fans are also provided to assure that the power and
cooling system is fully redundant with concurrent repair. An Integrated Battery
Feature (IBF) is available.
Internal Disk in the Multiprise 3000 continues the evolution of disk capacity with the
introduction of RAID disk arrays and a new high performance 10,000 RPM Hard
Disk Drive, the 18GB UltraStar 18ZX.
RAID Disk Arrays
The Multiprise 3000 Internal Disk uses a RAID-5 organization for its disk arrays.
RAID is an acronym for Redundant Arrays of Independent Disks. The RAID
organization is a technique for managing a collection of disks so that high levels of
data reliability and availability are maintained while at the same time retaining
desirable cost and performance.
The original Internal Disk that was introduced on Multiprise systems implemented
mirroring to assure data reliability and availability. Mirroring is a recognized RAID
organization (RAID-1). However, RAID-1 requires a mirrored capacity that is equal
in size to the capacity of the primary storage.
The Multiprise 3000 Internal Disk supports RAID-5 array sizes of 4+P, and 6+P.
The 4+P array may be thought of as having 4 HDDs assigned to carry user data
and a P drive for Parity or redundancy. In reality, the redundancy is spread among
the 5 HDDs equally so there is no specific P drive. Distribution of the redundancy
among the drives avoids a performance bottleneck that would occur if one drive
were assigned all of the redundancy. The 4+P arrangement has 80% of its HDD
space available for user data. Similarly, the 6+P array may be thought of as having
6 HDDs for user data and a single Parity Drive. Almost 86% of the 6+P array can
contain user data. A RAID-1 organization uses 50% of the disk space for user data
and the other 50% for redundancy.
In the event of failure or loss of any HDD, all of its content can be reconstructed
from the content of the other HDDs in the array. Until the reconstruction is
complete, there is an exposure to loss of data since the redundancy is adequate for
only a single HDD loss. To assure that reconstruction begins without delay, spare
HDDs are included in the configuration. The spare drives are subjected to
periodical testing by the SSA adapter card to assure that they will be fully
operational if they are needed.
Another improvement in the Multiprise 3000 implementation is that management of
the RAID-5 arrays is relegated to the SSA adapter rather than being performed at
the SAP. This increases the maximum throughput for the Internal Disk subsystem.
HDD Characteristics
The high performance 18GB UltraStar 18ZX which has a rotational speed of 10,020
rpm is the HDD used on Internal Disk for the Multiprise 3000. Along with its high
rpm and lower latency, the 18GB UltraStar 18ZX has state of the art data rate and
seek times. Some general characteristics of the 18GB UltraStar 18ZX are:
Fixed block size of 524 bytes.
Chapter 1. Overview of the S/390 Internal Disk Subsystem1-3
Drive is mounted on a carrier which facilitates installation into the HDD
enclosure and provides additional shock protection for the HDD. The carrier
includes 3 LEDs:
– Green LED indicating good power
– Another Green LED indicating activity
– Amber LED indicating a check
Other major disk drive parameters of interest can be seen in the table that follows.
Table 1-1. 18GB UltraStar 18ZX Parameters
Usable Capacity18 GBytes
Rotational Speed10,000 RPM
Average Read Seek6.5 ms
Latency2.99 ms
Media Transfer Rate23.4 to 30.4 MB/sec
SSA Transfer Rate40 MB/sec
HDD Buffer Capacity4 MBytes
Internal Disk RAID Fast Write
To improve write performance, Internal Disk for Multiprise 3000 includes a 32MB
Non-Volatile RAM (NVRAM) memory. The NVRAM is incorporated on the SSA
adapter card. Some advantages of the NVRAM addition are:
The NVRAM is a centralized storage that dynamically services the most active
HDDs on the SSA adapter card.
The NVRAM operates without a dependency upon the Internal Battery Feature.
The NVRAM retains all of its data in the event of a system or room Emergency
Power Off (EPO).
The operating system should issue a Sense Subsystem Status command to
determine the RAID fast write status of the associated logical volume and issue a
message to the operator indicating that the state change occurred. The RAID fast
write status is conveyed in byte 26 of the returned data. See "Sense Subsystem
Status" on page 4-132.
The MVS and VSE operating systems allow the operator to issue a query at any
time to display the current RAID fast write status of any volume. Alternatively,
ICKDSF can be used to query the status of a RAID array that is undergoing rebuild.
This function will work for VM as well as MVS and VSE.
Internal Disk Facilities
The Internal Disk Subsystem provides the following facilities:
1-4Internal Disk Subsystem Reference Guide
CKD Emulation
The Internal Disk Subsystem processes ECKD/CKD channel programs which
presuppose variable length Count, Key, and Data fields like those of a 3990
subsystem. Internal Disk constructs CKD track images in memory and executes the
ECKD and CKD channel programs, which operate on byte boundaries, against the
images. In contrast, the Internal Disk Subsystem HDDs are SSA devices, designed
for data transfer via fixed block data transfers rather than the variable length CKD
fields. To bridge between the fixed block disks and the variable length ECKD/CKD
architecture, the CKD track images in memory are mapped onto a series of fixed
blocks suitable for transfer to and from the disk subsystem.
Internal Disk provides the ECKD command support and the compatibility mode
CKD command support as specified in the ECKD Architecture document.
Control Unit and Device Emulation
To maintain compatibility with current software, Internal Disk emulates an existing
control unit and existing device types and models. The 3990-2 is the control unit
that is emulated. The 3990-2 appears to be attached to a dedicated ESCON
channel. The CKD emulation and the emulated ESCON attachment allow Internal
Disk to perform all channel data transfers as non-synchronous operations.
LPAR Sharing
The logical volumes are emulated 3380 model J, E, or K volumes and
3390 model 1, 2, 3, or 9 volumes. The 3380 model J has the same track format
and number of cylinders as the 3380 Standard and the 3380 model D. By
emulating 3380 model J, E, or K volumes, all of the members of the 3380 family
are emulated.
The large capacity of the 18GB UltraStar 18ZX devices coupled with the RAID
organization allows multiple logical volumes to be mapped onto a physical RAID
array. The mappings of logical volumes that have been provided are detailed in the
"Internal Disk Logical Volume Configurations" section of this overview.
LPAR sharing is the ability for individual logical volumes to be shared among logical
partitions. The control unit emulation function in the SAP provides the appropriate
serialization and ensures that required allegiances are maintained. For example, if
a logical volume is reserved to one logical partition, any I/O requests from other
logical partitions are held in abeyance until the reservation is removed. LPAR
sharing does not enable Internal Disk to be shared between LPARs on different
physical CPCs.
LPAR sharing is enabled by the customer in his definition of the I/O configuration
via HCD, VM Dynamic I/O Configuration, or IOCP.
Enhanced HDD Reliability
Chapter 1. Overview of the S/390 Internal Disk Subsystem1-5
Background Scrubbing
Background scrubbing is provided by Internal Disk to further reduce the probability
of customer loss of data.
There is a small possibility that after a data failure occurs, the redundancy data is
also found to be unreadable, resulting in loss of data to the customer. Data
scrubbing is provided to help ensure that all the data in the disk subsystem is
periodically proven readable so that if a failure occurs, the redundancy exists to
fully restore the original data.
In the background, the SSA adapter card initiates reads of all the data on all the
HDDs in the subsystem. No data transfer to the system is involved. Problems with
the data are promptly corrected by use of the redundancy data within the RAID
array.
Predictive Failure Analysis
Internal Disk is notified of impending hardware failures by the disk drive, which is
continuously performing predictive failure analysis. This process predicts device
failure conditions before failure occurs by measuring various parameters of the
head and disk as well as device electronics. When one of the predictive functions
detects an anomaly, the disk drive notifies the attachment of the potential problem.
The attachment in turn notifies the CPC service element, which initiates a service
action request.
Search Assist
Media Maintenance
The 18GB UltraStar 18ZX HDDs used within Internal Disk incorporate their own
internal media maintenance capabilities. Internal Disk media maintenance strategy
is to capitalize on the HDD capabilities wherever possible. Media maintenance is
performed internal to the storage subsystem. Therefore, defective sectors are
reassigned internally and require no customer interaction.
The Internal Disk emulates a 3990-2 control unit. Many of the channel programs
that were written for the 3990 find a target record by repetitively executing a
Search, TIC (Transfer in Channel) loop at every record until either the search is
satisfied or an exception such as End of Cylinder or No Record Found occurs. An
example of such a channel program is the PDS Directory Search channel program
which has the following form:
Seek
Define Extent
Search ID Equal
TIC *-1 (To the previous command)
Read Count
Search Key Equal or High
TIC *-2 (To the previous Read Count command)
Read Data or other command
The above program has two loops in it. Internal Disk detects both loops. Each of
the CCWs is executed in sequence, however, unlike a channel attached outboard
subsystem, Internal Disk is able to detect the TIC command along with its
parameters. The address to which the TIC command is pointing reveals a
Search/TIC loop. The parameters from the Search commands are preserved within
the subsystem, so that a search algorithm to find the desired record can be
1-6Internal Disk Subsystem Reference Guide
SSID
executed when a loop is detected. With only one transfer of command parameters
from the application program, either the desired record is found or an exception
condition occurs. A second transfer of parameters may then be needed to structure
the ending conditions for the loop, such as providing Read Count information that
points to the correct final record.
Since Internal Disk has access to the channel program and its parameters,
detection of the loops does not depend on mode settings or hints from supervisory
software.
Subsystem identifier (SSID) support is provided for the unique identification of
Internal Disk control units within a customer installation.Three fixed default values
of SSID are provided:
An SSID of x'FD00' is assigned to the logical subsystem that services the disks
within the CPC frame.
An SSID of x'FD01' is assigned to the logical subsystem that services the disks
within the first expansion frame.
An SSID of x'FD02' is assigned to the logical subsystem that services the disks
within the second expansion frame.
Long Busy
The 3990 mod 2 uses the long busy indication to indicate to the host that an
extended operation is being executed at the device. Internal Disk uses the long
busy indication in some rare instances of subsystem failure as a means for having
CCW chains redriven from the host system.
The 3990 Models 2 and 3 documentation used “State Change Pending” to describe
the condition that is called “Long Busy” in this document.
Internal Disk Components
The following section describes the basic components of the Internal Disk
Subsystem. The Internal Disk is ordered by capacity. Based on the capacity,
varying numbers of components are required.
An Internal Disk Subsystem consists of the attachment integrated in the CPC and
some number of HDDs configured into RAID arrays. The major components
comprising an Internal Disk Subsystem are the SSA adapter cards, 18GB UltraStar
18ZX disk drives, and packaging for the HDDs within the CPC frame or expansion
frames.
Shared CPC resources
The CPC provides physical mounting facilities as well as power, cooling and
service panel facilities for the Internal Disk Subsystem. Special Licensed Internal
Code (LIC) running on the System Assist Processor (SAP) performs channel,
control unit (3990-2), and device (3380-J/E/K or 3390-1/2/3/9) emulation functions
and manages a portion of the CPC memory as a subsystem read cache across all
Internal Disk Subsystem devices. The read cache capacity can range from 32MB to
2GB. The 2GB cache can only be selected on a Multiprise 3000 which has 4GB
Chapter 1. Overview of the S/390 Internal Disk Subsystem1-7
total storage, not on 1GB and 2GB models. The size can be changed by the
operator in 32MB increments.
SSA Adapter Card
The SSA adapter card supplies an SSA interface that operates at up to 40MB/sec
for connection of the HDDs. Two levels of physical interface conversion occur
between the Multiprise 3000 main memory and the SSA HDDs. The host Multiprise
3000 provides a Self Timed Interface (STI). A special purpose electronics bridge
called the STI-PCI bridge converts the STI to the upper interface of the SSA
adapter card. The SSA adapter card accepts a 32 bit address and data PCI
interface as its system interface.
The functionality of the SSA adapter card is far more than simple interface
conversion.
The SSA adapter card handles management of the RAID-5 organization. In
addition, the card manages both a 64MB RAM, used as a disk cache, and 32MB of
NVRAM used as fast write cache. Having these microcode intensive functions
performed at the SSA adapter card frees the SAP to do more channel and control
unit emulation, thus increasing the transaction processing power of the Internal Disk
subsystem.
An HDD for use on Internal Disk is mounted on a carrier which facilitates
installation and provides additional shock protection. The HDD and its carrier are
then mounted into either the frame that contains the CEC, or one of the two
possible expansion frames.
Internal Disk Logical Volume Configurations
Logical Volumes Mapped onto RAID Arrays
A specific number of HDDs form a RAID array. The RAID array could be regarded
as a single very large capacity device. Operating Systems currently recognize
3380 and 3390 volumes, however, changes would be needed to directly recognize
this new, large capacity device. To make the RAID array usable with minimal
impact on existing S/390 software, Internal Disk divides the space into multiple
3380 and/or 3390 logical volumes and provides addressability to the logical
volumes.
The size of the logical volumes vary. (For example, the 3390-2 is twice as large as
a 3390-1). As building blocks for the logical volumes, each array is first divided into
a sequence of storage units. Storage units then become the grains from which
1-8Internal Disk Subsystem Reference Guide
logical volumes are built. The number of storage units per array depends on the
size of the array. For the supported array sizes, these are the corresponding
number of storage units:
Table 1-2. Storage Units Provided by HDDs
Number of HDDs in the Array.
4+P73
6+P109
Note: *Does not include spare HDDs
The following types of logical volumes can be mapped to an array, each requiring
the number of storage units shown:
Table 1-3. Storage Units Required for Logical Volume Type
Type of Logical VolumeRequired Number of Storage Units
3390-11
3390-22
3390-33
3390-99
3380-J1
3380-E2
3380-K3
*
Number of Storage Units
There are no constraints on the types of logical volumes that can be mapped to an
array. However, the number of logical volumes are restricted by the storage units
available and the availability of logical volume addresses. For example, a 4+P array
has 73 possible storage units and 64 possible logical volume addresses, therefore:
24 logical volumes of 3390-3 can be accommodated using 72 of the 73 storage
units and 24 of the 64 logical volumes. 25 logical volumes of 3390-3 would
exceed the number of storage units available.
64 logical volumes of 3390-1 can be accommodated using 64 of the 73 storage
units and all 64 logical volumes. 65 logical volumes of 3390-1 would exceed
the number of logical volume addresses provided.
Logical Volume Address Resolution
The following details the rules for number of logical volume addresses that are
supported.
A particular logical volume is reached via an addressing hierarchy:
CHPID Address
Only one CHPID address is used for all of the logical volumes on a Multiprise 3000.
The address is assigned as x'FD'.
Chapter 1. Overview of the S/390 Internal Disk Subsystem1-9
Control Unit Logical Address
Each of the three enclosures of a fully populated Multiprise 3000 contains a disk
subsystem with a logical 3990 mod 2 control unit.
The logical control unit that controls the HDD enclosure in the CPC frame is
assigned control unit logical address x'0'.
The logical control unit that controls the HDD enclosure in the first expansion
frame is assigned control unit logical address x'1'.
The logical control unit that controls the HDD enclosure in the second
expansion frame is assigned control unit logical address x'2'.
Device Address (on the logical control unit)
Each array is assigned a fixed, contiguous range of device addresses. The number
of device addresses for a 4+P array is 64 and for a 6+P array it is 96. The three
possible arrays in a CPC frame are assigned the device addresses as follows:
First array, 4+P, addresses 0 to 63 (x'00' to x'3F).
Second array, 4+P, addresses 64 to 127 (x'40' to x'7F').
Third array, 4+P, addresses 128 to 191 (x'80' to x'BF').
The three possible arrays in an expansion frame are assigned the device
addresses as follows:
First array, 4+P, addresses 0 to 63 (x'00' to x'3F').
Second array, 6+P, addresses 64 to 159 (x'40' to x'9F').
Third array, 6+P, addresses 160 to 255 (x'A0' to x'FF').
Internal Disk Configuration Granularity
The Internal Disk subsystem may consist of as little as one CPC frame containing
one RAID array, and as much as the CPC frame plus two expansion frames with a
total of nine RAID arrays in the three frames.
Growth of a configuration within a frame is straight forward. The entry CEC frame
has one RAID array. Arrays may be added, one at a time, up to the maximum in
the frame of 3 RAID arrays. One SSA loop on a SSA adapter card manages all of
the HDDs within the CPC frame. The SSA adapter card is capable of supporting
two SSA loops, so one of the loops is unused in the single frame configuration.
Similarly, the expansion frames may contain 1, 2, or 3 RAID arrays. The supported
configurations in the CPC frame:
Table 1-4. Configurations in CPC Frame
NumberConfigurationApproximate Gross Disk Capacity
B14+P, Spare4 * 18 = 72
B24+P, 4+P, Spare8 * 18 = 144
B34+P, 4+P, 4+P, Spare12 * 18 = 216
(GByte)
When the first expansion frame is added, another SSA adapter card is also added.
If a second expansion frame is added, the SSA adapter card in the CPC frame
services the HDD enclosure in that frame.
1-10Internal Disk Subsystem Reference Guide
Table 1-5. Configurations in CPC Frame
NumberConfigurationApproximate Gross Disk Capacity
E14+P, Spare4 * 18 = 72
E24+P, 6+P, Spare10 * 18 = 180
E34+P, 6+P, 6+P, Spare16 * 18 = 288
Commands and Facilities Not Supported
Internal Disk does not support the following commands and facilities of the 3990
Model 2 storage control unit:
Service Information Message (SIM)
Variable length Record Zero key field. Internal Disk supports only a zero length
for Record Zero key field.
Variable length Record Zero data field. Internal Disk supports only a fixed eight
byte length for Record Zero data field.
(GByte)
IOCP Definitions
The Input/Output Configuration Program (IOCP) utility is used to specify Internal
Disk configuration to the hardware. IOCP changes for Internal Disk include using
the DSD (Direct System Device) channel type and unique rules for control units and
devices defined on the new channel:
A channel path type of DSD (Direct System Device) is defined for Internal Disk
interfaces. The DSD CHPID can be dedicated or shared, or reconfigurable
(REC).
There is only one valid DSD path on the Multiprise 3000. It is x'FD'.
IOCP requires that the control unit type defined on a DSD CHPID begin with
"3990". Other characters (e.g., -2) may follow 3990, but the "UNIT=" keyword
value must always begin with 3990.
If multiple control units are defined on a CHPID, each must have a unique
Control Unit Logical Address specified. The "CUADD" keyword is used for this
and the value must be between 0-2. Each SSA loop is defined as a unique
CUADD value.
An Internal Disk control unit defined on a DSD CHPID must contain only one
path. The devices defined on a DSD control unit represent the logical volumes
Chapter 1. Overview of the S/390 Internal Disk Subsystem1-11
defined for each RAID-5 array. Each logical volume may only be defined to one
control unit.
The Self Timed Interface (STI) connection between the processor and the SSA
adapter is specified as the single DSD CHPID. Control unit (CNTLUNIT) statements
are defined for each SSA loop in the storage facility. I/O device (IODEVICE)
statements are needed for each logical volume defined on each RAID-5 array on a
SSA loop.
For details about the IOCP specifications of Internal Disk, see Input/Output
Configuration Program User's Guide and ESCON Channel- to-Channel Reference
(GC38-0401).
RAS Characteristics
Internal Disk is a feature of the CPC platforms with which it is packaged. The RAS
characteristics of Internal Disk are intended to complement the RAS Characteristics
and Service Strategy of the host.
1-12Internal Disk Subsystem Reference Guide
Chapter 2.Processing Commands and Presenting Status
An understanding of the Enterprise Systems Architecture/390 channels is
assumed throughout this manual. The only points discussed are those points
requiring further clarity, or where the subsystem has an option.
The following I/O instructions in ESA/390 affect the subsystem:
Clear Subchannel
Halt Subchannel
Resume Subchannel
Start Subchannel
Test Subchannel
Reset Channel path
Channel Subsystem Call - Reset Control Unit.
The Manual IBM Enterprise Systems Architecture/390 Principles of Operation
describes the above instructions.
Internal Disk Subsystem supports all count-key-data (CKD) and extended
count-key-data (ECKD) channel commands defined in this manual.
Input/Output Channel Interface
Command Processing
The Internal Disk Subsystem accepts and processes channel commands when:
The host system is powered on and initialized.
The logical path has been established between the Internal Disk Subsystem
and the host system.
The logical volume address is within the range supported by the control unit.
The physical RAID array associated with the logical volume address is installed
and on-line.
A Logical Volume has been configured at the device address.
If any of these conditions are not satisfied, the Internal Disk Subsystem will not
process the command. The subsystem response depends on which conditions are
not satisfied.
Status Presentation
Internal Disk Subsystem generates status conditions that it presents to the host
channel.
Status Byte
The eight bits of status information make up the status byte. The status byte
contains information that shows the status of the subsystem or logical volume. The
status byte contents are shown in Table 2-1 on page 2-2.
Copyright IBM Corp. 1999 2-1
Table 2-1. Status Byte
BitName
0Attention
1Status Modifier
2Control-Unit End
3Busy
4Channel End
5Device End
6Unit Check
7Unit Exception
Attention (Bit 0)
Bit 0 is set to a ‘1’:
With device end and unit exception to show a state transition. (See
“State-Change Interruption” on page 2-5.)
With unit check to show that the addressed logical volume has been
conditioned with a Set Special Intercept Condition order of the Perform
Subsystem Function command on any interface with the same path group ID
as the interface processing the command. See “Set Special Intercept Condition
- PSF Order Code x'1B'” on page 4-132.
Status Modifier (Bit 1)
Bit 1 is set to a ‘1’:
With channel end and device end to show a Search High, Search Equal, or a
Search High or Equal command completed and the condition is satisfied.
With unit check and channel end to show an unusual condition from the last
operation. The last channel command must be retried. If device end is on,
immediate retry is requested. (See “Channel Command Retry” on page 2-9.)
Control Unit End (Bit 2)
Bit 2 is set to zero:
There are no Control Unit Busy instances that need to be ended via the Control
Unit End bit.
Busy (Bit 3)
Bit 3 is set to a ‘1’:
When the logical volume is busy.
When the logical volume is reserved to another logical path or path group.
When pending status is being presented during a channel initiated selection
busy is included with the pending status.
2-2Internal Disk Subsystem Reference Guide
Channel End (Bit 4)
Bit 4 is set to a ‘1’:
At the end of parameter transfer or data transfer of each command.
At the end of command execution for commands that have no parameter or
data transfer.
Device End (Bit 5)
Bit 5 is set to a ‘1’:
When alone or with channel end to show that a logical volume is available for
use.
With attention and unit exception to show a state change. (See “State-Change
Interruption” on page 2-5.)
Unit Check (Bit 6)
Bit 6 is set to a ‘1’ when the subsystem detects an unusual or error condition. If
status modifier is not set with unit check, one of following combinations of channel
end, device end, and unit check define the unusual or error condition:
Unit check alone occurs as initial status for a command if the command cannot
be processed. (See “Unit Check Status” on page 2-4.)
Device end and unit check occur when the channel has already accepted
channel end for this command, and unit check has occurred.
Unit check is presented with attention if the logical volume has been
conditioned by the Set Special Intercept Condition order of the Perform
Subsystem Function command on any interface with the same path group ID
as the interface processing the command.
Channel end, device end and unit check are for all other unit check conditions.
If status modifier and channel end are set with unit check, command retry is
requested. If immediate retry is requested, device end is included. (See “Channel
Command Retry” on page 2-9.)
Note: When Internal Disk presents a unit check to the first command in a chain,
examine the sense data to determine if the unit check is associated with the
failing channel command word (CCW), or is an asynchronous operation
error just being presented on a current CCW chain.
Unit Exception (Bit 7)
Bit 7 is set to a ‘1’:
With channel end and device end to show a read command, other than Read
Track or Read Multiple CKD, processed a data area of an end-of-file record.
The data area does not transfer to the channel.
With channel end and device end to show that an update write command
outside a Locate Record or Locate Record Extended domain tried to update the
data area of an end-of-file record. (See page 4-82 for the update write
commands.)
With attention and device end to show a state change. (See “State-Change
Interruption” on page 2-5.)
Chapter 2. Processing Commands and Presenting Status2-3
Initial Status Byte
The initial status byte is zero for all valid non-immediate commands with the
following exceptions:
Logical volume is busy – Busy Bit alone is returned.
Status condition is pending – The pending status combination plus Busy Bit is
Busy Status
The logical volume is:
Busy.
Reserved to another logical path or path group.
Has pending status to present.
Unit Check Status
The control unit presents unit check in the initial status for any of the following:
A command reject.
A long busy condition exists for the logical volume or subsystem.
A resetting event occurred since the last Start Subchannel to this logical
returned. See “Status Pending Conditions.”
volume on this channel interface.
Status Pending Conditions
Status pending is status that the subsystem has, but which has not yet been
accepted by the channel.
Status Pending in the Subsystem
Assume that a status condition for the addressed logical volume is pending in the
subsystem. The status pending is presented as initial status to the next initial
selection, and the busy bit is set to a ‘1’ in the status byte. The active busy bit
shows that the logical volume is busy because of the outstanding status. The
status pending is cleared.
Status is pending in the subsystem if:
A cancel was signaled after initial status was accepted, but before channel end
was accepted for any CCW. The ending status for the operation is pending
when the operation is complete.
Note: In some DASD control units, pending status for a device makes the control
unit busy to all other devices attached to the control unit. This is not the
case in this subsystem. In this subsystem, the logical volume is busy and
the control unit is available for use.
Status Pending in the Logical Volume
Status pending at a logical volume is presented as initial status if the logical volume
is not busy. The busy bit is included. The status conditions that can be pending at
the logical volume are device end alone, or attention with device end and unit
exception for a state-change interruption, or device end and unit check.
Status pending at the logical volume is cleared when the channel accepts the
status, or it is reset by selective reset or system reset.
Status is pending at the logical volume if:
2-4Internal Disk Subsystem Reference Guide
Channel end has been previously accepted and the operation is now complete,
but device end has not been presented to the channel.
Busy status has previously been sent and the logical volume is now not busy.
The resulting device end has not been presented to the channel.
The logical volume changed states, and that status has not been presented to
the channel. See “State-Change Interruption.”
Address Associated with Pending Status
All status conditions are associated with a specific logical volume address.
State-Change Status
State-Change Interruption
A state-change interruption is the combination of three device status bits: attention,
device end, and unit exception. As with all status, busy can also be included.
Note: Unit check may also be included if the logical volume has previously
received a Perform Subsystem Function command with a Set Special
Intercept Condition order.
The term state-change interruption is used in this manual for the former term
pack-change interruption. A state-change interruption occurs for a state change in
the subsystem or the logical volume. The following conditions cause a
state-change interruption:
Logical volume goes from not-ready to the ready state.
Long busy condition no longer exists for the logical volume.
Set System Characteristics order changes stored values for a path group. This
state change is issued only to channels in the path group that changed. See
"Set System Characteristics - PSF Order Code x'1D'" on page 4-129.
State-change interruptions are sent to each LPAR.
Note: For a state-change interruption, a host program can issue the following
CCWs to determine the current status of the subsystem:
Sense ID
Read Device Characteristics
Read Configuration Data
Sense Subsystem Status
Effect of Subsystem and Device State on Status Presented to
Command
The status presented to commands depends on:
The particular command code.
The state of the subsystem.
The state of the device addressed.
Most channel commands are concerned with data transfer control to cause data to
be moved to or from a disk track (or disk track image for a cache hit). Examples of
these commands are Seek, Set Sector, Read Data, and Write Key & Data. Data
transfer command chains are issued by application programs or by data
management programs acting on the behalf of the application. In almost all cases
these CCW chains have Define Extent or Set File Mask as the first command of the
Chapter 2. Processing Commands and Presenting Status2-5
chain. These command chains may compete for data within a single logical
volume. Only one data transfer chain is active on a logical volume at a time.
I/O Queuing
Multiple LPARs may issue CCW chains that require the same logical volume.
Internal Disk provides for queuing of command chains from the various LPARs and
provides for orderly execution of the chains. In Table 2-2 on page 2-8 the action
IOQueued indicates that Internal Disk is queuing the chain. The queuing discipline
is FIFO. While the chain is queued the channel emulator in Internal Disk maintains
the subchannel in a Start Pending state.
Bypass Commands
Vital to the design of LPAR sharing are a set of commands which are required to
be executed although the logical volume is busy on behalf of another LPAR. (In
the Internal Disk design these commands are called Bypass Commands because
they bypass the logical volume busy conditions that cause normal data transfer
commands to be terminated or queued.) The specific commands that are executed
while the logical volume is busy on behalf of another LPAR are:
MnemonicCommand NameHex
SPIDSet Path Group IDAF
SNIDSense Path Group ID34
RSTAReset Allegiance44
URUnconditional Reserve14
RDCRead Device Characteristics64
RCDRead Configuration DataFA
SNSIDSense IDE4
SNSSSense Subsystem Status54
SNSSense with contingent allegiance04
Other Special Commands
Another set of commands has the property of executing although the logical volume
is either Long Busy or Not Available. These commands do not execute through
logical volume busy conditions. They are:
Three other commands have special architectural and historical significance and
are executed somewhat differently from the data transfer commands. They are:
Note: The Suspend Multipath Reconnect command is allowed to precede
commands that otherwise MUST be the first command in a CCW chain. In
the Internal Disk implementation, SMR does not bypass logical volume busy
conditions. Therefore, if a command in the list of bypass commands is
chained from an SMR, the CCW chain will NOT be a bypass chain. When
the logical volume is busy, such a chain will be queued and executed later,
as with normal data transfer chains.
2-6Internal Disk Subsystem Reference Guide
Table Column Definitions
The table that follows is intended to show the actions taken for the bypass
commands particularly. Table 2-2 on page 2-8 summarizes the status presented
to commands when the subsystem or device is in one of the states described in the
following text.
HDD Long Busy. This state exists when the device is doing an operation that
exceeds the time for normal busy. On Internal Disk, there are some recovery
actions taken at the SSA adapter card that will cause Long Busy.
Logical Volume Busy on Different LPAR. The logical volume is currently
executing a data transfer chain on behalf of another LPAR.
Logical Volume Reserved to a Different LPAR. The logical volume is
currently Reserved on behalf of another LPAR.
Logical Volume Intervention Required. Causes for Intervention Required can
be found on page 5-4.
Logical Volume Chain UR-ed. The logical volume had allegiance to this
LPAR, and another LPAR issued an Unconditional Reserve or Reset Allegiance
command. The allegiance was broken but the resulting Unit Check status has
not yet been presented.
Logical Volume Reset Notify. A system reset has been received and
executed. The reset has removed any allegiance that was in place for the
resetting LPAR. Unit Check status is presented to the next initial selection by
the resetting LPAR to indicate that a reset occurred.
An exception is made for Read IPL. Unit check is not presented in initial
status. Instead the command is Accepted and allowed to execute. No Reset
Notification occurs in this case.
Contingent Allegiance to This LPAR. Either subsystem or logical volume
contingent allegiance exists for this LPAR due to a unit check that was
presented earlier.
Logical Volume Contingent Allegiance to Different LPAR. Logical volume
contingent allegiance exists for a different LPAR due to a unit check that was
presented while executing a non-bypass CCW chain.
Subsystem Contingent Allegiance to Different LPAR. Subsystem contingent
allegiance exists for a different LPAR due to a unit check that was presented to
that LPAR while executing a bypass CCW chain.
Chapter 2. Processing Commands and Presenting Status2-7
Command
Mnemonic
Subsystem
Contingent
Logical
Volume
Contingent
Contingent
Allegiance
Different
LPAR
Allegiance
Different
LPAR
Allegiance
to This
LPAR
NOP
SPID
Accepted
Accepted
IOQueued
Accepted
Accepted
(6)
Accepted
SNIDURRSTA
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
RIPL
RES
Accepted
Accepted
IOQueued
IOQueued
Accepted
Accepted
REL
SNS (1)
SNS (2)
SNS (3)
Accepted
Accepted
Accepted
Accepted
IOQueued
IOQueued
AcceptedNAAccepted
AcceptedNAAccepted
Accepted
SNSS
RDC
Accepted
Accepted
Accepted
Accepted
Accepted
SNSID
RCD
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
PSF
RSSD
Accepted
Accepted
IOQueued
IOQueued
Accepted
Accepted
SMR
All other
commands
Accepted
Accepted
IOQueued
IOQueued
Accepted
Accepted
Logical
Volume
Reset
Notify
Unit Check
Unit Check
Unit Check
Logical
Volume
Chain
UR-ed
Unit Check
Unit Check
Unit Check
Subsystem or Logical Volume State
Logical
Volume
Intervention
Required
or IDFW
Exposed
Unit Check
(4)
Accepted
Accepted
Logical
Volume
Reserved
Different
LPAR
IOQueued
Accepted
Accepted
Logical
Volume
Busy on
Different
LPAR
IOQueued
Accepted
Accepted
Accepted
HDD
Long Busy
Unit Check
Accepted
Unit Check
Unit Check
Accepted
Unit Check
Unit Check
Unit Check
Accepted
Accepted
Unit Check
Accepted
Accepted
IOQueued
Accepted
Accepted
IOQueued
Accepted
Accepted
Unit Check
(5)
Unit Check
Unit Check
(4)
Accepted
IOQueued
IOQueued
Accepted
Unit Check
Unit Check
Unit Check
Unit Check
Accepted
Unit Check
(4)
IOQueued
IOQueued
IOQueued
IOQueued
Accepted
Accepted
Accepted
Unit Check
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Unit Check
Unit Check
Unit Check
Unit Check
Unit Check
Unit Check
Accepted
Accepted
Accepted
IOQueued
IOQueued
IOQueued
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Unit Check
Unit Check
Unit Check
Unit Check
Unit Check
Unit Check
Accepted
Accepted
Accepted
IOQueued
IOQueued
IOQueued
Accepted
IOQueued
IOQueued
Accepted
Accepted
Accepted
Unit Check
Unit Check
Unit Check
Unit Check
Accepted
Unit Check
(4)
IOQueued
IOQueued
IOQueued
IOQueued
Accepted
Unit Check
Table 2-2. Effect of Subsystem and Device State on Status Presented to Commands
Command
Mnemonic
NOP
SPID
SNIDURRSTA
2-8Internal Disk Subsystem Reference Guide
RIPL
RES
REL
SNS (1)
SNS (2)
SNS (3)
SNSS
RDC
SNSID
RCD
PSF
RSSD
SMR
All other
commands
(1) No contingent allegiance for this interface.
(2) Contingent allegiance at subsystem level for this interface.
(3) Contingent allegiance at logical volume level for this interface.
(4) Sense data reflects Intervention Required or possible loss of IDFW data.
(5) The Reset Notification Mark is reset.
(6) Contingent Connection and Sense Data are preserved through the NOP.
Listing of Commands Appearing in Table 3
A full listing of all of the command names and mnemonics that are executed by
Internal Disk appears in Table 7 on page 4-3. For convenience in referring to the
preceding table a list of only the commands that appear in the table is shown
below. The commands are listed in the order in which they appear in the table.
Contingent allegiance is established after the channel accepts a status byte
containing unit check. In Internal Disk, the contingent allegiance may be logical
volume contingent allegiance, which impacts other LPARs attempting to use the
logical volume, or it may be subsystem contingent allegiance on behalf of a
particular LPAR and logical volume.
There are no cases in Internal Disk where a contingent allegiance at one logical
volume impacts the use of other logical volumes.
The contingent allegiance lasts until a command other than No-Op receives an
initial status byte of all zeros for the channel and logical volume that generated the
unit check, or a selective or system reset occurs.
Channel Command Retry
Channel command retry is an Internal Disk initiated action that retries a command
without an I/O interruption. When Internal Disk is ready to retry the command, it
presents device end. For channel command retry, the status byte contains:
Unit check (bit 6)
Status modifier (bit 1)
Channel end (bit 4).
If device end (bit 5) is on with the retry request, the retry is immediate. If the
control unit must delay reconnection to complete other activity before it is ready for
reconnection, device end will not be included in the retry status but will be
presented when Internal Disk is ready for reconnection.
As the control unit processes host command chains, an error can occur in the
control unit or disk subsystem, or a resource may not be available. The control unit
Chapter 2. Processing Commands and Presenting Status2-9
uses channel command retry to disconnect from the channel and recover from the
error or wait for the required resource.
Channel Command Retry–Control Unit Initiated
The control unit initiates retries for delayed selection and device orientation.
Delayed Selection and Device Orientation
Internal Disk accepts initial selection without selecting the physical device. The
command chain proceeds until an operation requires the device. When Internal
Disk determines that it needs the physical device, it presents channel command
retry to the channel. At the same time, Internal Disk selects and orients the device
to the correct position. If the device is doing an internal operation, the channel
remains in retry status until the device becomes available and activity completes.
When the device activity is complete, Internal Disk presents device end. The
channel then sends the command again, and the operation proceeds normally.
System and Selective Reset
System reset affects all status and allegiances for that logical path on all attached
logical volumes. Selective reset affects the status and allegiance of only the
selected logical volume.
The effect of system and selective reset depends on the operation in progress. For
example, asynchronous (internal) operations complete normally. For read hits in
cache, the operation stops without affecting the cache image. For write operations,
Internal Disk terminates the writing to the cache and discards the record. The
modified record is not written to the logical volume.
Effect of System Reset
A system reset affects all logical volumes that have allegiance to the logical path
issuing the reset. Status is cleared for all affected logical volumes. Logical
volumes that were Reserved are Released.
A system reset causes the path group ID for the logical path to reset. The
parameters associated with Set System Characteristics - PSF Order Code x'1D' are
also cleared by the system reset. See "Set System Characteristics - PSF Order
Code x'1D'" on page 4-129 for a description of the parameters.
Effect of Selective Reset
Selective reset affects only the chain in process at the time of the selective reset.
The chain processing is terminated and ending status is cleared. It does not alter
the reserved state of a logical volume or the valid path group ID for an interface.
Reset Notification
The control unit notifies the host that a system reset has been received. Any
system resetting event on Internal Disk causes a later channel initiated selection to
be unit checked. The sense data contains format 0, message 8 with a program
action code of X'16'.
The 3990 Model 2 has a procedure where the first selection on the interface will be
unit checked with sense data that includes equipment check and environmental
data present. This causes the event to be logged, which is appropriate for a stand
2-10Internal Disk Subsystem Reference Guide
alone subsystem that has external interfaces and interface switches in its
attachment topology. The first selection of all other logical volumes on the reset
interface will be unit checked with sense data that includes equipment check.
The Internal Disk Subsystem procedure is that the first selection of all logical
volumes on the reset interface will receive unit check with sense data that includes
equipment check. The format 0, message 8 sense shows the host program that
the path and reservation status of the subsystem may not be as expected.
Note: If a reset occurs and the following selection is for a Read IPL command,
Internal Disk Subsystem does not present reset notification for that
selection. The reset notification condition is cleared by the Read IPL
command.
Chapter 2. Processing Commands and Presenting Status2-11
2-12Internal Disk Subsystem Reference Guide
Chapter 3.Elements of Data Access
The Internal Disk Subsystem emulates the characteristics of 3380 and 3390
devices while using real RAID arrays for disk storage. References to devices in this
section and all sections in this publication which are concerned with a view of data,
refer to the perspective of a user program using the CCW interface to manage
emulated logical volumes rather than viewing the physical RAID arrays. Data
accesses involve only the cache and have the same characteristics as access from
a CKD device. For example, the count area of a record, as seen by a program
through this interface, consists of eight bytes; a five-byte record ID, a one-byte key
area length, and a two-byte data area length.
Beyond the view of the CCW interface, data is recorded on the physical devices
using fixed blocks organized in a RAID-5 structure. None of the metadata
maintained by the subsystem for data identification, error detection and correction
can be reached through the CCW interface.
Track Format
The smallest directly addressable recording area on the emulated device is a track.
Each track has a unique address.
Track Address
Data Access
The first record on a CKD track is a special single area record, which is the home
address. (The Internal Disk Subsystem does not actually record this area on the
disk subsystem, but keeps the CCHH value as part of the cache directory.)
Following home address is record zero.
One or more user data records can be written on a track following record zero.
The actual number of user data records that can be recorded on a track depends
on the record length and the specific device type.
Tracks are grouped into sets, which are cylinders. Each cylinder contains an equal
number of tracks. Cylinders are numbered consecutively, starting with 0. Tracks
on each cylinder are numbered consecutively, starting with 0.
Each track has a two-level address, (CCHH). (CC) is an unsigned 16-bit binary
cylinder number. (HH) is an unsigned 16-bit binary number for the read/write head
that accesses the track within that cylinder.
Access to data requires physically accessing the track (actually cache track image),
finding a place on the track, and sometimes, searching for a specific record. The
following text describes each of these operations.
Copyright IBM Corp. 1999 3-1
Track Accessing
To access a specific track, the host program must first specify the desired cylinder
and track. This positioning occurs without requiring the device to read any user
data. When the track accessing operation completes, the track address (CCHH) is
saved and maintained by the subsystem until changed by subsequent host
commands.
Each command chain must include a command that specifies or implies a (CCHH)
before a Seek Head command or any command requiring track data access.
Commands that specify or imply a (CCHH) are Seek, Seek Cylinder, Locate
Record, Locate Record Extended, and Read IPL.
A Locate Record command, Read IPL command, any seek command, or track
switching in a multitrack operation can access a track. See “Multitrack Operations”
on page 4-2.
Positioning within a track allows a search command to start just before a record
instead of searching from the beginning of a cache track image. This positioning
can be done because a division of the track has evenly spaced sectors. The
Locate Record, Locate Record Extended, or the Set Sector commands do sector
positioning.
Track Orientation
To access data on the track, the control unit first establishes orientation, which is a
state of awareness of the type of area that has just been processed. If the control
unit does not know this, the control unit is not oriented.
Orientation occurs by finding either the start of the track (index), or the start of a
count area other than the record zero count area. As the channel program
continues, the control unit maintains orientation, switching from one orientation
state to another as it proceeds through successive areas and records.
The control unit is in the reset orientation state at the start of a channel program. A
command that requires read or write data causes the control unit to orient to either:
For operations that read or write data, the control unit maintains orientation,
changing states as it reads, writes, searches or skips areas. Commands other than
those grouped under the Read Commands, Write Commands and Search
Commands headings in this specification do not process track data and therefore,
cause track orientation to be reset. When a channel program ends, track
orientation is reset.
Note: Throughout this document, the phrase “oriented to...” is used
Index state, by locating the index point
Precount state, by locating a count area (other than R0).
interchangeably with the phrase “in the ... orientation state.” For example,
“oriented to a data area” has the same meaning as “in the data areaorientation state.”
3-2Internal Disk Subsystem Reference Guide
Record Accessing
An associative addressing (search) operation can find a specific record, which
causes the control unit to read some area from the device and compare (associate)
it with a value from the channel. The Locate Record command or one of the
search commands is used to do the search operation.
Data Transfer Commands
Data transfer commands are commands that transfer data that is, or will be,
recorded on the track. All data transfer commands except Read IPL and Read
Multiple CKD can be in a Locate Record or Locate Record Extended domain.
A Define Extent or Read IPL command must precede the Locate Record command
in the same channel program. Only one Define Extent command can be in a
channel program. However, a channel program can have more than one Locate
Record or Locate Record Extended command.
Brief descriptions of the Define Extent, Locate Record, and Locate Record
Extended commands follow:
Define Extent Command:
Defines the extent that the channel program will operate in. An extent is a set
of consecutively addressed tracks that a channel program can access. The
limits of an extent are defined by specifying the addresses of the first and last
tracks in the extent.
Defines attributes of, and limitations on, the commands that follow in the
channel program.
Defines usage and control attributes for cache for the remaining channel
program.
See “Define Extent” on page 4-8 for a complete description.
Locate Record and Locate Record Extended Commands: The Locate Record
command:
Specifies the operations and the number of consecutive records (or tracks).
Specifies the address of the first track and the orientation state to establish
before starting data transfer.
Defines the bounds and attributes of an operational domain. This domain
begins with the transfer of the Locate Record parameters and extends through
the last operation specified in the Locate Record parameters. Some data
transfer commands run differently in the operational domain of a Locate
Record.
The domain does not necessarily extend to the end of the command chain.
For example, the domain of a Locate Record command with the Format Write
operation code extends through the number of formatting write commands
specified by the Locate Record count parameter.
The Locate Record command cannot be used to transfer nonconsecutive
records in the domain of a single Locate Record command. However, a Locate
Record Extended command can read nonconsecutive tracks in some
operations.
Chapter 3. Elements of Data Access3-3
Formatting
See “Locate Record” on page 4-13 for a complete description.
Note: Performance can be significantly affected by the way that Locate Record
CCWs are used in the channel program. For example, two different
channel programs can read two consecutive records on a track. One
channel program has one Locate Record CCW followed by two read CCWs;
the other has two Locate Record CCWs, each followed by one read CCW.
While the two channel programs do the same function, the second always
takes longer, because orientation is reset and must be reestablished before
the second record can be transferred.
The Locate Record Extended command provides all of the functions described in
the base Locate Record command except Orient, and Read Data. The Locate
Record Extended command also provides other functions. While the base Locate
Record command uses a 16-byte parameter list, the Locate Record Extended
command uses a variable length parameter list.
See “Locate Record Extended” on page 4-27 for a complete description.
Format write commands format user data records. The format write commands
establish a count area, and format the key and data areas of a record. These
commands, if not immediately followed by another format write command, always
cause the remaining portion of the track to be erased. Use only format write
commands to change the format of a record (the length of the key or data areas of
a record).
File Protection
End-of-File
See page 4-82 for a list of the format write commands.
A file mask protects the integrity of data on the device from multiple users. The file
mask limits the write operations in a channel program. It can also limit channel
programs to operations on a single track or on a single cylinder.
The file mask is zero at the start of a channel program. During a Define Extent or
a Set File Mask command, the file mask is set equal to the value in the mask byte
parameter. The format of the file mask is in the description of the Define Extent
command. See “Mask Byte – Byte 0” on page 4-8.
A record with a data length of zero is an end-of-file (EOF) record.
When a read command other than Read Track or Read Multiple CKD processes
the data area of an end-of-file record, no data transfer occurs. Also, the command
is terminated with channel end, device end, and unit exception status. The control
unit does not present unit exception for a Read Track or Read Multiple CKD
command. Update write commands outside the Locate Record or Locate Record
Extended domain or in a Locate Record or Locate Record Extended domain with
CKD conversion mode active are terminated with channel end, device end, and unit
exception status when they try to update the data area of an end-of-file record.
To calculate the size of an end-of-file record with the track capacity formula for the
device, use a data length of 1 byte. See Appendix A, "Device Characteristics" on
3-4Internal Disk Subsystem Reference Guide
page A-1. See also IBM 3380 Direct Access Storage Introduction and IBM 3390
Direct Access Storage Introduction.
Chapter 3. Elements of Data Access3-5
3-6Internal Disk Subsystem Reference Guide
Chapter 4.Command Descriptions
This section describes the channel command word and the valid channel
commands for the Internal Disk.
Channel Command Word
The channel command word (CCW) specifies the command, and designates the
processor storage area associated with the operation and the action taken when
the operation completes.
CCWs have either format 0 or format 1. The formats do not differ in the
information contained in the CCW but only in the arrangement of the fields within
the CCW, and the size of the data address field. The two formats are shown in
Table 4-1 and Table 4-2.
Table 4-1. Format 0 — 24 Bit Addressing (System/370)
0–7
Command
Code
8–31
Data Address
32–39
Flags
40–47
Not Used
48–63
Count
Table 4-2. Format 1 — 31 Bit Addressing (370-XA and ESA/370)
0–7
Command
Code
8–15
Flags
16–31
Count
32–63
Data Address
The description of the flags follows:
Chain Data (CD): Bit 32 (format 0) or bit 8 (format 1), when ‘1’, specifies chaining
of data. It causes the storage area designated by the next CCW to be used with
the current I/O operation.
Chain Command (CC): Bit 33 (format 0) or bit 9 (format 1), when ‘1’, and when
the CD flag and S flag are both zero, specifies chaining of commands. It causes
the operation specified by the command code in the next CCW to start on normal
completion of the current operation.
Suppress Length Indication (SLI): Bit 34 (format 0) or bit 10 (format 1) controls
if an incorrect length indication is to be sent to the program. When this bit is ‘1’
and the CD flag is ‘0’, incorrect length is suppressed. When both the CC and SLI
flags are ‘1’, and the CD flag is ‘0’, command chaining takes place, regardless of
the presence of an incorrect length condition.
Skip (SKIP): Bit 35 (format 0) or bit 11 (format 1), when ‘1’, specifies the
suppression of transfer of information to processor storage during read and sense
operations.
Program-Controlled Interruption (PCI): Bit 36 (format 0) or bit 12 (format 1),
when ‘1’, causes the channel to generate an intermediate interruption condition by
using the appropriate subchannel when the CCW takes control of the I/O operation.
Copyright IBM Corp. 1999 4-1
Indirect Data Address (IDA): Bit 37 (format 0) or bit 13 (format 1), when ‘1’,
specifies indirect data addressing.
Suspend (S): Bit 38 (format 0) or bit 14 (format 1), when ‘1’, specifies suspension
of channel-program processing.
Note: Except for a Transfer in Channel (TIC) command, flag bit 39 (format 0) or
Exception Conditions
These command descriptions include specifications for checking and reporting I/O
program exceptions described in Chapter 5: "24-Byte Compatibility Sense Data" on
page 5-1.
The command descriptions identify exception conditions by exception type and
format or message codes.
The exception conditions are in priority sequence in each command description
unless written otherwise.
bit 15 (format 1) must be zero. For a TIC command, this flag bit is ignored.
The highest priority I/O program exception is Invalid Command. Table 4-3 on
page 4-3 shows a summary of the command codes accepted by the Internal Disk.
Any command code (hex code) not listed in Table 4-3 is rejected with command
reject, format 0, message 1.
Command Operations
Multitrack Operations
Operations can be either inside or outside the domain of a Locate Record or Locate
Record Extended.
Most data transfer operations in a Locate Record or Locate Record Extended
domain may operate in multitrack mode. That is, when the operation continues
past the end of the current track, the control unit advances to the next track and
continues the operation.
Multitrack mode is selected for one of the following:
Bit 0 of the data transfer command is ‘1’
A locate Record or Locate Record Extended operation is explicitly multitrack.
Operations in the Domain of a Locate Record or Locate Record
Extended
When a valid end-of-track is detected during data transfer between the control unit
and the logical volume, and the operation specifies multitrack mode, and the
operation is not a Locate Record Extended Operation code of Read Any or Write
Any, the operation continues as follows:
If the next track is in the defined extent, the operation continues at that track. If
the current track is the last track of a cylinder, the operation continues at the
first track of the next cylinder.
4-2Internal Disk Subsystem Reference Guide
If the next track is not in the defined extent, the operation ends with unit check
status. The sense data includes File Protected.
If the operation is a Locate Record Extended Operation code of Read Any or Write
Any, the operation continues through index on the same track.
Operations Outside the Domain of a Locate Record or Locate
Record Extended
Outside the domain of a Locate Record or Locate Record Extended, bit 0 of the
data transfer command set to ‘1’ selects multitrack mode for read and search
commands. A multitrack read or search command that orients to index, or detects
the end-of-track while orienting to a count area, advances to the next track to
continue the operation. Multitrack operations do not continue if:
The file mask inhibits all seek commands and multitrack operations (bits 3 and
4 are ‘11’). The operation is terminated with unit check status. The sense data
includes File Protected.
The next track is outside the defined extent. The operation is terminated with
unit check status. The sense data includes File Protected.
The current track is the last track in the cylinder. The operation is terminated
with unit check status. The sense data includes End-of-Cylinder.
Defective/Alternate Track Operations
Media maintenance is accomplished at the physical device level. Defective and
alternate tracks are not allowed to be assigned by the host. The Internal Disk
examines the data transmitted by the Write HA command and rejects the command
if an attempt is made to assign a defective or an alternate track.
Summary of Channel Commands
Table 4-3 shows a list of commands, their mnemonics, their hex codes
(single-track and multitrack where applicable), and the page numbers for the
command descriptions.
Table 4-3 (Page 1 of 3). List of Channel Commands
Command NameMnemonic
Addressing and Control Commands
Define Extent
Locate Record
Locate Record Extended
Prefix
Seek
Seek Cylinder
Seek Head
Recalibrate (1)
Perform Subsystem Function
Sense Subsystem Status
Read Subsystem Data
PSF
SNSS
RSSD
Note: (1) This command is valid on 3380 logical volumes, not on 3390 logical volumes.
single-track
Mode
27
54
3E
Hex Code
Multitrack
Mode
–
–
–
Page
4-130
4-136
4-139
Chapter 4. Command Descriptions4-5
List of Channel Commands by Hex Code
Following is a list of the same commands as in Table 4-3 on page 4-3. The
commands are listed here in order by their hex codes, with the page location of the
command descriptions. (MT) = Multitrack Mode.
69Search Key Equal or High4-82
71Search ID Equal or High4-80
85Write Update Data (MT)4-95
86Read Data (MT)4-68
8DWrite Update Key and Data (MT)4-91
Hex Command NamePage
8ERead Key and Data (MT)4-66
92Read Count (MT)4-70
94Device Release4-120
95Write Full Track (MT)4-99
96Read Record Zero (MT)4-63
9ARead Home Address (MT)4-62
9DWrite CKD Next Track (MT)4-88
9ERead Count, Key, and Data (MT)4-64
A4Read and Reset Buffered Log4-108
A5Write Track Data (MT)4-102
A6Read Track Data (MT)4-74
A9Search Key Equal (MT)4-81
AFSet Path Group ID4-125
B1Search ID Equal (MT)4-79
B4Device Reserve4-118
B9Search Home Address Equal (MT)4-78
C9Search Key High (MT)4-82
D1Search ID High (MT)4-80
DERead Track (MT)4-72
E4Sense ID4-105
E7Prefix4-42
E9Search Key Equal or High (MT)4-82
F1Search ID Equal or High (MT)4-80
FARead Configuration Data4-111
4-6Internal Disk Subsystem Reference Guide
Addressing and Control Commands
None of the commands in this group transfer user data records between the
Internal Disk and the host channel. However, most of the commands in this group
require the host system to send control information, associated with the command,
to the Internal Disk. Control information can include some further action to be
taken by the Internal Disk or logical volume, or it can define the types of operations
allowed or data areas that can be accessed. The Read Sector and Read Device
Characteristics commands in this group request the Internal Disk to transfer
information about the addressed logical volume to the host channel.
Chapter 4. Command Descriptions4-7
Define Extent
Hex CodeData AddressCount
63The main storage location of the first parameter byte.16
Description: The Define Extent command parameters define limits on operations
that follow, provide a blocksize value, and specify cache controls for the channel
program. This command resets orientation in the control unit.
Chaining and Restrictions: Unit check status with the sense data containing
command reject with format 0, message 2 occurs if:
A Define Extent command is in the domain of a Locate Record or Locate
Record Extended command.
A Define Extent command is preceded in the same channel program by a
Define Extent or Set File Mask command.
If the addressed logical volume is a 3390 and a Define Extent command is
preceded in the same channel program by a Read IPL command.
The control unit requests 16 bytes of parameters from the channel. If the channel
sends fewer than 16 bytes, the command is rejected with unit check status. The
sense data contains command reject with format 0, message 3.
The Internal Disk verifies the parameters and reserved fields in their order in
Table 4-4, except it checks byte 1, bits 0 and 1 first. If an exception condition
exists in more than one parameter, only the first exception is reported.
Ending Status: The control unit presents channel end and device end status after
it verifies the parameters.
Define Extent Parameters
Table 4-4 shows the parameters of the Define Extent command.
Table 4-4. Define Extent Command Parameters
ByteParameter
0Mask byte
1Global Attributes
2–3Blocksize in bytes
4–6Reserved, must be zeros.
7Global Attributes Extended
8–11Beginning of Extent Address
12–15End of extent address
Mask Byte – Byte 0
The mask byte replaces the file mask that can be used to inhibit or control certain
channel program operations. Byte 0 has the format shown in Table 4-5 on
page 4-9.
4-8Internal Disk Subsystem Reference Guide
Table 4-5. Mask Byte Definition
Byte 0 BitsBit
Value
0–1Write Control
00Permit all write operations except
01Inhibit all write operations
10Permit update write operations only
11Permit all write operations
2 0Reserved
3–4Seek Control
00Permit all Seek commands
01Permit Seek Cylinder and Seek Head
10Permit Seek Head commands only
11Inhibit all seek commands and
5–6Access Authorization
00Normal Authorization
01Device Support Authorization
10Diagnostic Authorization
11Device Support Authorization –
7Program–Controlled Interruption (PCI) fetch
mode
0Not PCI fetch mode
1PCI fetch mode
Mask Byte Function
Write HA and Write R0
commands only
multitrack operations
Inhibit Retry
Byte 0, Bits 0 and 1: Specify what types of write operations to permit in the
channel program. The 3390 has a restriction:
Note: "If these bits are ‘11’, byte 1, bits 3 through 5 are ignored and bypass cache
This restriction assures that Write HA and Write R0 commands that can alter the
physical volume layout (by changing alternate track pointers for example), are
hardened beyond the cache before channel end and device end are presented.
Internal Disk manages the physical volume layout internally, without the data
contained in Write HA and Write R0, and does not need the restriction. If bits are
"11", Byte 1, bits 3 through 5 are honored and may specify a cache management
algorithm other than bypass cache.
Byte 0, Bit 2: Must be zero, or the command is terminated with unit check status.
The sense data contains command reject with format 0, message 4.
Chapter 4. Command Descriptions4-9
is forced."
Byte 0, Bits 3 and 4: Specify what seek commands and multitrack head switching
operations to permit outside the domain of a Locate Record or Locate Record
Extended. They have no effect on channel commands operating in the domain of a
Locate Record or Locate Record Extended.
Byte 0, Bits 5 and 6: Specify an access authorization.
00 – Normal Authorization. A channel program operating with normal
authorization can access all primary tracks.
01 – Device Support Authorization. Channel programs operating with device
support authorization can access all primary tracks. If the Internal Disk
Subsystem adds support for other track groups at a later time, programs
operating with this access authority will be able to access them.
10 – Diagnostic Authorization. Channel programs operating with diagnostic
authorization may access only Diagnostic Tracks. The Internal Disk Subsystem
has no Diagnostic Tracks and allows this bit combination for compatibility
purposes. If the Internal Disk Subsystem adds support for Diagnostic Tracks at
a later time programs operating with this access authority will be able to access
them.
11 – Diagnostic Authorization – Inhibit Retry. Channel programs operating
with Diagnostic Authorization with Inhibit Data Check Correction/Retry can
access all primary tracks. If the Internal Disk Subsystem adds support for other
track groups at a later time, programs operating with this access authority will
be able to access them. Data Check Correction/Retry by the operating system
are not used by the subsystem, therefore, there is no conflict with an intent to
Inhibit Retry.
Byte 0, Bit 7: When ‘1’, specifies PCI fetch mode. On a 3990 Model 2, when PCI
fetch mode is active, the channel program is terminated with unit check status any
time that channel command retry recovers from an exception condition during a
read operation, and at least one byte of data transfers to the channel.
The Internal Disk Subsystem has no cases where a read operation transfers data
from the subsystem cache to the application and then uses command retry to
recover from an exception condition during the read operation.
Global Attributes – Byte 1
This parameter defines global attributes of operations in the channel program. Byte
1 has the format shown in Table 4-6.
Table 4-6 (Page 1 of 2). Global Attributes Byte Definition
Byte 1
Bits
0–1Architecture Mode
2Count, Key, and Data (CKD) Conversion Mode
Bit ValueGlobal Attributes Function
00–10Reserved
11Extended count, key, and data
(ECKD)
0Not CKD conversion mode
1CKD conversion mode
4-10Internal Disk Subsystem Reference Guide
Table 4-6 (Page 2 of 2). Global Attributes Byte Definition
Byte 1
Bits
3–5Subsystem Operation Mode
6Reserved, must be zero
7Reserved, ignored
Bit ValueGlobal Attributes Function
000Normal cache replacement
001Bypass cache
010Inhibit cache loading
011Sequential access
100Sequential Prestage
101Record Access
110 – 111Reserved. The Internal Disk Subsystem ignores these
combinations and uses normal cache replacement.
Should not be used.
Byte 1, Bits 0 and 1 – ECKD Mode: When ‘11’, specify ECKD mode. The
Internal Disk supports only the ECKD mode of the Define Extent command. If bits
0 and 1 are not ‘11’, the command is rejected with unit check status. The sense
data contains command reject with format 0, message 4.
Byte 1, Bit 2 – CKD Conversion Mode: When ‘1’, specifies CKD conversion
mode. The handling of certain conditions is modified during a CKD conversion
mode channel program. See “Write Data – ‘01’ Operation Code” on page 4-20 and
“Read Data – ‘06’ Operation Code” on page 4-22.
Note: CKD conversion mode is for a host program routine that dynamically
converts CKD channel programs to ECKD format. Using this mode permits
the control unit to relax certain ECKD architecture requirements. (That is,
the requirement that the actual length of a record for updating must equal
the length specified in the Locate Record, Locate Record Extended or
Define Extent parameters or that only “end-of-extent” violations are
recognized in a domain.) This allows the conversion routine to build a
Locate Record prefix for an update write command when the actual record
length is not known.
Byte 1, Bits 3 through 5 – Subsystem Operation Mode: Specify how to
manage the cache in the command chain. For details of how this parameter affects
cache operations, see Appendix B: "Algorithm Modifications due to Cache Hints" on
page B-2.
‘000’ – Normal Cache Replacement: The Internal Disk manages cache by
using the least-recently-used algorithm for making cache space available.
‘001’ – Bypass Cache: Directly access the device even if the data is available
in cache.
‘010’ – Inhibit Cache Loading: Inhibit Cache Loading is ignored; normal
caching algorithms are used.
‘011’ – Sequential Access: Tracks following the track accessed by the CCW
chain are promoted to cache in anticipation of a near term requirement. Tracks
preceding the accessed track may be demoted from cache.
Chapter 4. Command Descriptions4-11
‘100’ – Sequential Prestage: In the Internal Disk Subsystem, this setting is
treated the same as Normal Cache Replacement.
‘101’ – Record Access: Indicates that there is little locality of reference of the
data accessed by this channel program.
Byte 1, Bit 6 – Reserved, must be zero: If this bit is set to ‘1’, the command is
terminated with unit check status. The sense data contains command reject with
format 0, message 4.
Byte 1, Bit 7 – Reserved, ignored: This bit is reserved and ignored. It should be
set to ‘0’, but will not cause an error if set to ‘1’.
Blocksize – Bytes 2 and 3
Bytes 2 and 3 specify the blocksize in bytes as an unsigned 16-bit binary value.
This value specifies the maximum number of bytes for a single record in the
channel program. A zero value is valid and is the same as specifying the
maximum record length supported by the device. The maximum record length is 8
plus maximum size of R1.
When a following Locate Record or Locate Record Extended command contains an
update write type operation without a transfer length factor, the blocksize value
must be the exact data length (or sum of key and data lengths if the key area is to
be updated) of each record in the Locate Record or Locate Record Extended
domain. See “Write Data – ‘01’ Operation Code” on page 4-20.
The proper blocksize value depends on what areas of the record are to be sent.
The value is one of the following:
The data length (DL)
The key length (KL) plus DL
The sum of DL and KL plus 8 (for the count area).
If the blocksize exceeds the logical volume’s track capacity (maximum R1 length
plus eight), the command is rejected with unit check status. The sense data
contains command reject with format 0, message 4. See Appendix A, "Device
Characteristics" on page A-1 for the maximum record lengths.
Not Used – Bytes 4, 5 and 6
Bytes 4, 5 and 6 must contain zeros. If these bytes do not contain zeros, the
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Global Attributes Extended – Byte 7
Only the content of Bit 5, Byte 7 is used by the Internal Disk Subsystem. Bits 0-4
and bits 6-7 of Byte 7 are reserved. In the Internal Disk Subsystem, they are
ignored and should be set to zeros.
Bit 5 indicates Regular Record Zero. If Bit 5 is set to one, the Internal Disk
Subsystem accepts permission to format write Record Zero with a standard R0 that
has the following content:
The CCHH is equal to the currently addressed cylinder and track.
The R value is zero.
The Key Length is zero.
The Data Length is 8.
4-12Internal Disk Subsystem Reference Guide
The data field bytes are all equal to zero.
If Bit 5 is set to zero, the Record Zero differs from the above only in the data field
content. The data field bytes are those that are provided in the parameters of the
Write Record Zero command. Therefore, the Data field bytes may or may not be
equal to zero.
Beginning of Extent Address – Bytes 8 through 11
Bytes 8 through 11 contain the address (CCHH) of the first track in the extent.
(“Define Extent Command” on page 3-3 describes an extent.) CCHH must be a
valid track address for the logical volume.
If (CCHH) is not a valid track address, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 4. See
Appendix A, "Device Characteristics" on page A-1 for valid track address ranges.
End of Extent Address – Bytes 12 through 15
Bytes 12 through 15 contain the address (CCHH) of the last track in the extent.
(CCHH) must be equal to or greater than the (CCHH) value specified by the
“beginning of extent address” in bytes 8 through 11. The track address must be
valid for the access authorization and logical volume type. (See “Beginning of
Extent Address – Bytes 8 through 11” for the valid requirements.)
Locate Record
If (CCHH) is not a valid track address, or the (CCHH) is less than the value in
bytes 8–11, the command is rejected with unit check status. The sense data
contains command reject with format 0, message 4. See Appendix A, "Device
Characteristics" on page A-1 for valid track address ranges.
Hex CodeData AddressCount
47The main storage location of the first parameter byte.16
Description: The location and number of records to process and the operation to
perform are specified in the Locate Record command parameters. See “Locate
Record and Locate Record Extended Commands” on page 3-3 for how the Locate
Record command makes an operational domain. See “Locate Record Operations”
on page 4-18 for the specific Locate Record operation.
The Locate Record command resets orientation in the control unit. This command
establishes the orientation state specified by the operation byte parameter before
any data transfers to or from the logical volume.
Chaining and Restrictions: Unit check status with the sense data containing
command reject with format 0, message 2 occurs if:
This command is in the domain of another Locate Record, or Locate Record
Extended.
A Define Extent or Read IPL command does not precede this command in the
same channel program.
The control unit requests 16 bytes of parameters from the channel. If the channel
sends fewer than 16 bytes, the command is rejected with unit check status. The
sense data contains command reject with format 0, message 3.
Chapter 4. Command Descriptions4-13
The control unit verifies the parameters and reserved fields in their order in
Table 4-7 on page 4-14, except it checks byte 0, bits 2 through 7 first. If the
control unit detects an exception condition in more than one parameter in Table 4-7
on page 4-14, it reports only the first exception.
Other restrictions are described in the following text.
Ending Status: The control unit presents channel end status after it verifies the
parameters. If the operation uses cache, the track format information is known to
the Internal Disk, and the track and sector specified in the Locate Record command
is in cache, device end occurs with channel end. If the track format information is
not known to the Internal Disk or the track and sector are not in cache, the control
unit presents device end after it retrieves track format information from the logical
volume.
Locate Record Parameters
The Locate Record parameters are shown in Table 4-7.
Table 4-7. Locate Record Parameters
ByteParameter Name
0Operation byte
1Auxiliary byte
2Reserved, must be zero.
3Count
4–7Seek address
8–12Search argument
13Sector number
14–15Transfer length factor
Operation Byte – Byte 0
Byte 0 specifies the orientation to establish when track access is complete. It also
specifies the operations to perform in the Locate Record domain. The operation
byte is shown in Table 4-8.
Table 4-8. Operation Byte Definition
Byte 0 BitsOrientation and Operation
0–1Value Orientation Modifier
00 Count area
01 Home address
10 Data area
11 Index
Orientation Modifiers: Byte 0, Bits 0 and 1 contain orientation modifiers that
specify the orientation to establish when the operation (bits 2 through 7) needs
orientation to a specific record or record area before data transfer starts.
Count Area ‘00’ – specifies that data access for the CCW immediately following
the Locate Record command is to begin with the control unit oriented following the
count field of the record that satisfied the search operation. Therefore, that CCW
can process the key and data areas of the record that satisfied the search
operation.
Count area orientation is valid with all operation codes.
Home Address ‘01’ – specifies that data access for the CCW that immediately
follows Locate Record is to begin with the control unit oriented to home address.
Home address orientation is valid with the Orient (00), Format Write (03), Read
Data (06), Read Tracks (0C), and Read (16) operations only. If bits 2 through 7
contain any other code when bits 0 and 1 are ‘01’, the command is rejected with
unit check status. The sense data contains command reject with format 0,
message 4.
Data Area ‘10’ – specifies that data access for the CCW immediately following the
Locate Record command is to begin with the control unit oriented to the data area
of the record that satisfied the search operation. Therefore, that CCW will not
process any areas of the record that satisfied the search operation.
Data area orientation is valid with the Orient (00), Write Data (01), Read Data (06),
and Read (16) operations only. If bits 2 through 7 contain any other code when
bits 0 and 1 are ‘10’, the command is rejected with unit check status. The sense
data contains command reject with format 0, message 4.
Index ‘11’ – specifies that data access for the CCW immediately following the
Locate Record command begins with the control unit oriented to index.
Index orientation is valid with the Read (16) operations only. If bits 2 through 7
contain any other code when bits 0 and 1 are ‘11’, the command is rejected with
unit check status. The sense data contains command reject with format 0,
message 4.
Note: A real 3990 mod 2 allows index orientation with Read (16) operations and
one write command: Write Special HA. Internal Disk does not support the
Write Special HA command, therefore, index orientation is valid with only
Read (16) operations.
Operations Codes: Byte 0, Bits 2 through 7 specify the operation to be performed
in the Locate Record domain. Any operation codes not shown are invalid. When
the operation code is invalid, the command is rejected with unit check status. The
sense data contains command reject with format 0, message 4.
Note: All operations performed in the domain of a Locate Record command can
See "Locate Record Operations" on page 4-17 for a description of the operation
codes.
Chapter 4. Command Descriptions4-15
be performed in a Locate Record Extended command, except for Orient and
Read Data operations.
Valid Operation Byte Values:: The following table shows the valid combinations
of Orientation Modifiers and Operation Codes. All of the valid combinations are
listed.
Byte 1 is for verifying optional fields in the Locate Record parameter list. The
auxiliary byte is shown in Table 4-10.
Table 4-10. Auxiliary Byte Definition
Byte 1
Bits
0Usage of Bytes 14–15
1–6000000 Reserved
7Read Count Suffix
ValueOperation
0Bytes 14–15 are not used
1Bytes 14–15 contain a transfer length
factor
0No Read Count as the last CCW in
the Locate Record domain
1A Read Count is the last CCW in the
Locate Record domain
Byte 1, Bit 0: When ‘1’, specifies that bytes 14 and 15 contain a transfer length
factor that overrides any larger blocksize parameter in the Define Extent command.
Byte 1, Bits 1–6: When any of these bits is set to a ‘1’, the Locate Record
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Byte 1, Bit 7: When set to ‘1’, specifies that the last data transfer CCW in the
Locate Record domain will be a Read Count CCW. The Read Count CCW is a
suffix to the Locate Record domain. The record it processes is included in the
count of records to be processed as specified by the count parameter.
The Read Count CCW suffix is only valid for a Locate Record command specifying
Write Data (01) or Read (16) operations. If a Read Count suffix is specified for any
4-16Internal Disk Subsystem Reference Guide
other code, the command is rejected with unit check status. The sense data
contains command reject with format 0, message 4.
Not Used – Byte 2
Byte 2 must contain zeros. If byte 2 does not contain zeros, the Locate Record
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Count – Byte 3
Byte 3 contains the count that determines the domain (region of influence) of the
Locate Record command. Usually, the count parameter specifies the number of
records or tracks to be operated on within the Locate Record domain. Specific use
of the count parameter depends on the operation code in byte 0. “Locate Record
Operations” on page 4-18 describes each operation code.
If the operation code is Orient (00), the count must be zero. If the operation is not
Orient, the count must not be zero. If Read Count suffix (byte 1, bit 7) is set to ‘1’,
the count must be greater than 1. If the count does not satisfy these requirements,
the command is rejected with unit check status. The sense data contains
command reject with format 0, message 4.
Note: The user must ensure that the count is accurate. If the number of valid
data transfer commands received from the channel is not sufficient to
process the number of records or tracks specified by the count parameter, a
unit check indicating Incomplete Domain may be presented to the current or
next I/O operation to this logical volume address.
Seek Address – Bytes 4 through 7
Bytes 4 through 7 specify a seek address (cylinder and head, CCHH). The value in
bytes 4 through 7 must be a valid track address for the logical volume. If the seek
address is not valid, the command is rejected with unit check status. The sense
data contains command reject with format 0, message 4. See Appendix A, "Device
Characteristics" on page A-1 for valid track address ranges.
If the seek address is not in the extent defined in the preceding Define Extent
command, the command is terminated with unit check status. The sense data
includes File Protected.
Search Argument – Bytes 8 through 12
Bytes 8 through 12 specify the cylinder, head, and record (CCHHR). These bytes
specify a value to be used as a search argument for the Locate Record search
operation. (See “Search Operation” on page 4-19.)
When the operation (byte 0) does not need orientation to a specific record, no
search operation occurs and bytes 8 through 12 are ignored. When home address
orientation is specified, byte 12 is ignored.
Sector Number – Byte 13
Byte 13 contains a sector number. The control unit uses the sector number to
establish positioning in the track image. The sector number must be valid for the
logical volume. If the sector number is invalid, the command is rejected with unit
check status. The sense data contains command reject with format 0, message 4.
See Appendix A, "Device Characteristics" on page A-1 for the range of valid sector
numbers.
Chapter 4. Command Descriptions4-17
If the sector number is zero, the next command starts with the device in a position
immediately before index. A value of X'FF' is valid and specifies that sector
positioning is not to be performed before establishing orientation.
Transfer Length Factor – Bytes 14 and 15
When the auxiliary byte, byte 1, bit 0, is a ‘1’, bytes 14 and 15 contain a transfer
length factor. The control unit uses the transfer length factor to determine the
number of data bytes to request from the channel for each write CCW that follows
a Locate Record specifying Write Data (01). The product of the value in bytes 14
and 15 and the count parameter determines the total number of bytes to be sent in
a Locate Record domain specifying Format Write (03), Write Track (0B), or Read
(16).
The control unit does not keep the transfer length factor value after the end of the
Locate Record domain. If a transfer length factor was not specified in the Locate
Record command, the control unit uses the value from the Define Extent blocksize
parameter for the data transfer length.
Unit check status with the sense data containing command reject, with format 0
message 4 occurs if:
Byte 1, bit 0 is a ‘0’, and bytes 14 and 15 do not contain zeros.
Byte 1 bit 0 is a ‘1’, and bytes 14 and 15 do not contain a nonzero value.
The transfer length factor value is more than the value specified (or implied) in
the Define Extent blocksize parameter.
Locate Record Operations
The following text describes the Locate Record command processing. It also
describes processing related to the data transfer commands that follow the Locate
Record command. The command descriptions show the processing that occurs as
part of each data transfer command.
Each operation specifies the type of data transfer commands that the Locate
Record domain expects and permits. If any other command sequence is in the
Locate Record domain, the offending command is rejected with unit check status.
The sense data contains command reject with format 0, message 2.
The user should ensure that the count parameter is correct. If Internal Disk
presents channel end and device end together, without unit check or unit exception
and the channel does not indicate chaining, without stacking status or issuing a
system or selective reset, before the number of records or tracks specified by the
count parameter value have been processed, an Incomplete Domain exception
occurs.
An Incomplete Domain exception may be indicated by presenting unit check in
ending status or in initial status during a following initial selection sequence for the
same logical volume. The “Nonsynchronous Operations” on page 4-19 described
the incomplete domain I/O exceptions that can arise. If the Locate operation ends
abnormally following the detection of an Incomplete Domain exception, the sense
data for the abnormal condition will indicate that an Incomplete Domain also
occurred by setting on byte 0, bit 7 (Incomplete Domain). If the Locate operation
ends normally the sense data will be Incomplete Domain (byte 0, bit 7) and
Exception Class 0 (byte 23 = X'12').
4-18Internal Disk Subsystem Reference Guide
When operating with read intent, an incomplete Domain exception will not be
reported. The Internal Disk Subsystem will threshold unit checks for Incomplete
Domain exceptions. See “Nonsynchronous Operations” on page 4-19.
Search Operation: Certain Locate Record operations need orientation to a
specific record or record area before data transfer starts. Orientation is done by a
search operation.
When specifying index orientation, the device positions to index, but no search
operation is performed.
When specifying count or data area orientation (byte 0, bits 0 and 1 are ‘00’ or
‘10’), the search argument value (bytes 8 through 12) is compared with the
count-area record ID field of each record, including record zero, after the device
is at the proper sector. When the search operation starts, it continues until an
equal compare occurs, or until all record IDs on the track have been
processed. If no record ID on the track compares equal to the search
argument, the command is terminated with unit check status. The sense data
includes No Record Found.
When specifying home address orientation (byte 0, bits 0 and 1 are ‘01’), the
search argument (bytes 8 through 11) value is compared with the track address
field in the home address. (Byte 12 is not used.) If the comparison is unequal,
the command is terminated with unit check status. The sense data includes No
Record Found.
Nonsynchronous Operations: Nonsynchronous execution of write operation
implies transferring data from the channel to the Internal Disk and advancing the
channel program before the data is actually written on the disk subsystem.
Channel end status for each write command is presented after data transfer from
the channel is completed. If another write command is expected in the Locate
Record domain, device end status is presented together with channel end;
otherwise, device end status is presented when the write operation is complete at
the logical volume.
Channel command chaining flags on write commands are monitored in the domain
of the Locate Record. If chaining ends before the count of write commands is
exhausted, an Incomplete Domain exception condition is noted and the channel
program is immediately synchronized with the logical volume. The chaining flags
will usually provide an early indication of an Incomplete Domain exception, so that
the Internal Disk Subsystem can present channel end, harden the data from cache
to the disk subsystem, and then present device end. There are several cases
where the chaining flags indicate that chaining is to continue but the chain ends.
Several types of Incomplete Domain exception can arise:
An Incomplete Domain is detected. If no subsequent exception condition arises
when writing the data to the logical volume, the next channel program to that
logical volume may be rejected with unit check status, subject to thresholding.
The sense data contains command reject with incomplete domain (byte 0, bit
7).
If an Incomplete Domain exception condition is detected before final status is
presented for the last command in the chain and a subsequent exception
condition prevents data from being successfully written to the logical volume,
the channel program is immediately terminated with ending status that includes
unit check. The associated sense data describes the error that prevented the
Chapter 4. Command Descriptions4-19
data transfer to the disk subsystem. If the exception condition is related to the
execution of a write command that had already presented clean ending status,
sense data may also include imprecise ending (byte 1, bit 7).
If an Incomplete Domain exception condition is detected after final status is
presented for the last command in the chain and a subsequent exception
condition prevents data from being successfully written to the logical volume,
the next channel program to that logical volume will receive status that includes
unit check. The sense data contains incomplete domain (byte 0, bit 7),
permanent error (byte 1, bit 0), and imprecise ending (byte 1, bit 7). Sense
bytes 22 and 23 will contain the exception category causing the write failure,
not the incomplete domain exception category. This unit check will not be
subject to thresholding.
The Internal Disk Subsystem will threshold unit checks for Incomplete Domain
exceptions for normally ending Locate Record operations with write intent, to
reduce the amount of sense data going to LOGREC caused by faulty software that
did not previously have this exception condition checked by the control unit. The
first occurrence of this exception following a system or power on reset results in
unit check. Thereafter, only every 256th occurrence is reported. When a unit
check is presented, along with the sense data a message is written to the system
console.
Orient – ‘00’ Operation Code: This operation code prepares the control unit to
initiate track access in accordance with the seek address and sector number
parameters.
When the Locate Record command is followed by a search or read command, the
search operations specified by the search argument and orientation modifiers is
performed after the track access is complete. When the Locate Record command
is not followed by a search or read command, a search operation is not performed.
The Locate Record domain ends when the track accessing or search operation
completes. Although the search operation is performed after the following CCW is
received, the following CCW operates outside the Locate Record domain.
Write Data – ‘01’ Operation Code: This operation code prepares the control unit
to update write one or more consecutive user data records. The search argument
parameter specifies the first record. The count parameter specifies the number of
records to update. This operation can also update the key and/or data areas of
record zero when the search argument is set equal to the record ID in the record
zero count area.
If the file mask inhibits all write operations (bits 0 and 1 are ‘01’), the command is
rejected with unit check status. The sense data contains command reject with
format 0, message 2.
If the Define Extent command specified CKD conversion mode (byte 1, bit 2 is ‘1’),
the Locate Record must specify count orientation. If Read Count suffix (byte 1, bit
7) in the Locate Record command is set to ‘1’ when CKD conversion mode is
specified, the count must be 2, otherwise, the count must be 1. If these conditions
are not met, the command is rejected with unit check status. The sense data
contains command reject with format 0, message 4.
4-20Internal Disk Subsystem Reference Guide
The control unit uses the seek address and sector number parameters to start track
access. When track access completes, the search operation specified by the
search argument and the orientation modifiers (byte 0, bits 0 and 1) is performed.
If the auxiliary byte bit 7 is ‘0’, the Locate Record command must be followed by
the number of update write commands specified by the count parameter. If bit 7 is
‘1’, the Locate Record command must be followed by the number of update write
commands that is one less than the value specified by the count parameter. Also,
the last update write command must be followed by a multitrack Read Count
command.
When count orientation is specified and one update write command is required, the
Locate Record command must be followed by one of the following commands:
Write Data
Write Update Data
Write Key and Data
Write Update Key and Data.
When more than one update write command is required, the Locate Record
command must be followed by a sequence of either Write Update Data or Write
Update Key and Data commands. Write Update Data and Write Update Key and
Data commands cannot both occur in the same Locate Record domain.
When data orientation is specified, the Locate Record command must be followed
by a sequence of either the Write Update Data or Write Update Key and Data
commands. Write Update Data and Write Update Key and Data commands cannot
both occur in the same Locate Record domain.
If the Internal Disk detects an invalid command sequence in the Locate Record
domain, the invalid command is rejected with unit check status. The sense data
contains command reject with format 0, message 2.
If a multitrack operation continues after the last record on a track, the control unit
advances to the next track, and updates the first user data record on the next track.
(See “Operations in the Domain of a Locate Record or Locate Record Extended” on
page 4-2.) If the next track does not contain a user data record, the command is
terminated with unit check status. The sense data includes No Record Found.
The transfer length factor (or the blocksize from a Define Extent command if no
transfer length factor was specified) must be equal to the actual record length of
the records to update. The actual record length is either the data length or the sum
of the key and data lengths, depending on if the following write commands specify
Write Data or Write Key and Data.
If the actual length of any record to update differs from the transfer length factor (or
blocksize) value, and CKD conversion mode is not specified (Define Extent global
attributes byte, bit 2 is ‘0’), the command is terminated with unit check status. The
sense data includes Invalid Track Format. Also, the record is not updated.
If the actual length of the record to be updated differs from the transfer length factor
(or blocksize) value, and CKD conversion mode is specified (Define Extent global
attributes byte 1, bit 2 is ‘1’), then:
If the record length is zero, no data is transferred to the logical volume. The
command is terminated with unit exception status.
Chapter 4. Command Descriptions4-21
If the record length is not zero, the operation is terminated with unit check
status. Sense data will include Program Action Code ‘0F’.
Format Write – ‘03’ Operation Code: This operation code prepares the control
unit to format one or more consecutive user data records. The count parameter
specifies the number of records to format. Format Write can also be used to format
home address or record zero when home address orientation is specified, After the
last record is written on each track, the remaining portion of the track is erased.
If specifying home address orientation, (byte 0, bits 0 and 1 are ‘01’), the file mask
must permit writing HA and R0. If the file mask does not permit writing HA and R0
(bits 0 and 1 not ‘11’), the command is rejected with unit check status. The sense
data contains command reject with format 0, message 2.
If count area orientation is specified, (byte 0, bits 0 and 1 are ‘00’), the file mask
must permit format write operations. If the file mask does not permit format write
operations (bits 0 and 1 are ‘01’ or ‘10’), the command is rejected with unit check
status. The sense data contains command reject with format 0, message 2.
The control unit uses the seek address and sector number parameters to start track
access. If home address orientation is specified, a sector value of zero is used for
track access; the sector number parameter is not used. When track access
completes, the control unit orients the logical volume by the orientation modifiers
(byte 0, bits 0 and 1).
The Locate Record command must be followed by the number of formatting write
commands specified by the count parameter. Command sequence requirements
for formatting write commands following the Locate Record command are:
When home address orientation is specified, a Locate Record command can
only be followed by a Write HA or Write R0 command.
When count area orientation is specified, a Locate Record command can only
be followed by a Write CKD command.
A Write HA command can only be followed by a Write R0 command.
A Write R0 command can only be followed by a Write CKD command.
A Write CKD command can only be followed by a Write CKD or Write CKD
Next Track command.
A Write CKD Next Track command can only be followed by a Write CKD or
Write CKD Next Track command.
If a formatting write command in the Locate Record domain does not meet the
above sequence requirements, that command is rejected with unit check status.
The sense data contains command reject with format 0, message 2.
If the control unit determines that there is not enough space on the track to write a
record, the command is terminated with unit check status. The sense data includes
Invalid Track Format.
Read Data – ‘06’ Operation Code: This operation code prepares the control unit
to send one or more records (that can include home address and record zero) to
the channel. The count parameter specifies the number of records read.
4-22Internal Disk Subsystem Reference Guide
The control unit uses the seek address and sector number parameters to start track
access. When track access is complete, the search operation specified by the
search argument and the orientation modifiers (byte 0, bits 0 and 1) is performed.
The Locate Record command must be followed by the number of read CCWs
needed to process the number of records specified by the count parameter. The
Read Multiple Count Key and Data, Read Track, and Read IPL commands are not
valid in the Locate Record domain. Any other sequence of read commands is
valid. If the Locate Record domain contains an invalid command sequence, the
invalid command is rejected with unit check status. The sense data contains
command reject with format 0, message 2.
If bit 0 of the following read command is ‘0’, the operation is single-track and
continues though index on the same track as defined for the applicable read
command.
If bit 0 of the following read command is ‘1’, the multitrack operation applies and
the operation depends on whether CKD conversion mode is specified.
If CKD conversion is specified, the multitrack operation is not allowed to
continue beyond the end of the last track in the cylinder.
– If the next track is not in the defined extent, execution is terminated with
unit check status. The sense data includes File Protected.
– If the next track is in the defined extent, execution is terminated with unit
check status. The sense data includes End-of-Cylinder.
If CKD conversion is not specified, the operation continues as described in
“Operations in the Domain of a Locate Record or Locate Record Extended” on
page 4-2.
Write Track – ‘0B’ Operation Code: This operation code prepares the control
unit to update write the data area of record zero and format the remainder of the
track. The number of records to format is one less than the value specified in the
count parameter. After the last record is written on the track, the remainder of the
track is erased. If the value in the count parameter is ‘1’, only the data portion of
record zero is written, and the remainder of the track is erased.
If the file mask does not permit format write operations (bits 0 and 1 are ‘01’ or
‘10’), the command is rejected with unit check status. The sense data contains
command reject with format 0, message 2.
When track access completes, the control unit is oriented to home address. Prior
format write operations may cause the track to contain or not contain a Record
Zero (R0). In either case, Internal Disk next checks the search argument to assure
that it contains the expected value of the record ID field in the Record Zero count
area. The expected values of the search argument are:
CCHH value equal to the track that is to be written.
R value set to x'00'.
Unit check status with the sense data including No Record Found occurs if the
search argument is not as expected.
Chapter 4. Command Descriptions4-23
The Locate Record command must be followed by one Write Data and a number of
Write CKD commands that is one less than the value in the count parameter, with
the following exceptions:
An Erase command may be substituted for the last Write CKD command in the
domain.
If the count parameter contains a value of ‘1’, no Erase or Write CKD
commands can follow the update data command. The remaining portion of the
track is erased after the R0 data area updates.
If a command in the Locate Record domain does not meet the sequence
requirements, that command is rejected with unit check status. The sense data
contains command reject with format 0, message 2.
The record zero data length must be 8 bytes. If the length is not 8 bytes, the
command is terminated with unit check status. The sense data includes Invalid
Track Format. Unit check status with the sense data containing Invalid Track
Format also occurs if the control unit determines that there is not enough space on
the track to write a record.
When invalid track format occurs, the channel or subchannel status information
residual count may not show the amount by which the record length exceeded the
available space on the track.
Read Tracks – ‘0C’ Operation Code: This operation code prepares the control
unit to transfer all records from one or more consecutively addressed tracks to the
channel. Data transfer starts with the first record (including record zero) following
the orientation specified by the search argument and orientation modifier
parameters. The number of tracks to use is specified in the count parameter.
The control unit uses the seek address and sector number parameters to start track
access. When track access completes, the search operation specified by the
search argument and the orientation modifiers (byte 0, bits 0 and 1) starts.
The Locate Record command must be followed by the number of Read Track or
Read Track Data commands specified in the count parameter. If any other
command series is in the Locate Record domain, that command is rejected with
unit check status. The sense data contains command reject with format 0,
message 2.
The first Read Track command in the Locate Record domain causes the control
unit to orient to the first count area (including R0) following the orientation the
Locate Record command establishes. The control unit then sends each count, key,
and data area on the track until the end-of-track.
The second and following Read Track commands cause the control unit to:
Go to the next track
Orient to home address
Send each count, key, and data area (including R0) on the track until the
end-of-track. (See “Operations in the Domain of a Locate Record or Locate
Record Extended” on page 4-2.)
4-24Internal Disk Subsystem Reference Guide
After the last record on a track transfers, a pseudo count field of 8 bytes of X'FF'
transfers to the channel. If the track has no records to transfer, the Read Tracks
command sends only the pseudo count field.
Note: The pseudo count field can be used to locate the end of the track image
character string in the host system’s main storage. The Read Tracks
operation is for dump/restore utility programs to send all records from one
or more tracks without first having to determine the number of records on
each track and their formats.
The operation can start with a record other than record zero. Therefore, a
Read Tracks operation that had an exception condition can be restarted at
the point of interruption, rather than at the start of the track.
Read – ‘16’ Operation Code: This operation code prepares the control unit to
send one or more consecutive user data records to the channel. The count
parameter specifies the number of records to read. The Read operation can also
be used to read home address and/or record zero when specifying index or home
address orientation.
If specifying index or home address orientation (byte 0, bits 0 and 1 are ‘01’ or
‘11’), a Read Count command cannot immediately follow the Locate Record
domain. If a Read Count suffix is specified (auxiliary byte bit 7 set to ‘1’), the
Locate Record command is rejected with unit check status. The sense data
contains command reject with format 0, message 4.
The control unit uses the seek address and sector number parameters to start track
access. If index or home address orientation is specified, a sector value of zero is
used for track access. The sector number parameter is not used.
When track access is complete, the control unit orients the logical volume
according to the orientation modifiers (byte 0, bits 0 and 1).
The Locate Record command must be followed by enough read commands (other
than Read Track, Read IPL, or Read Multiple Count Key and Data) to read the
number of records specified in the count parameter. If the auxiliary byte (byte 1) bit
7 is ‘1’, the last operation in the Locate Record domain must be a multitrack Read
Count operation. Command sequence requirements for read commands following
a Locate Record command are:
All read commands except Read Home Address, and Read Record Zero must
be multitrack commands.
When index orientation is specified, only a Read HA command can follow a
Locate Record command.
When home address orientation is specified, only a Read R0 command can
follow a Locate Record command.
When count area orientation is specified, only a Read Data or a Read Key and
Data command can follow a Locate Record command.
When data area orientation is specified, only a Read Count, Read Key and
Data, Read Data, or Read Count Key and Data command can follow a Locate
Record command.
Only a Read R0 command can follow a Read HA command.
Chapter 4. Command Descriptions4-25
Only Read Count, Read Key and Data, Read Data, or Read Count Key and
Data commands can follow a Read R0, Read Count, Read Key and Data,
Read Data, or a Read Count Key and Data command.
If a command in the Locate Record domain does not meet the sequence
requirements, that command is rejected with unit check status. The sense data
contains command reject with format 0, message 2.
If no user data record is detected on the track, the command is rejected with unit
check status. The sense data includes No Record Found.
If the operation continues after reading the last record on a track, the control unit
advances to the next track and reads the first user data record on the next track.
(See “Operations in the Domain of a Locate Record or Locate Record Extended” on
page 4-2.) If the next track does not have a user data record, the command is
terminated with unit check status. The sense data includes No Record Found.
4-26Internal Disk Subsystem Reference Guide
Locate Record Extended
Hex CodeData AddressCount
4BThe main storage location of the first parameter byte.20,
Description: The location and number of records to process and the operation to
perform are specified in the Locate Record Extended command parameters. See
page 3-3 for how the Locate Record Extended command makes an operational
domain. See “Locate Record Extended Operations” on page 4-34 for the specific
Locate Record Extended operation.
The Locate Record Extended command resets orientation in the control unit when
the command is received. Execution of this command establishes the orientation
state specified by the operation byte parameter before any data is transferred to or
from the logical volume.
Upon completion of the Locate Record domain, orientation is reset in the control
unit unless otherwise specified for the specific Locate Record Extended operation.
21 or
22
Chaining and Restrictions: Unit check status with the sense data containing
command reject with format 0, message 2 occurs if:
This command is in the domain of a Locate Record or a Locate Record
Extended.
A Define Extent or Read IPL command does not precede this command in the
same channel program.
The control unit requests a variable number of parameter bytes from the channel,
consisting of fixed parameters (20 bytes) for all operation codes, and extended
parameters (variable length) for specified extended operation codes. The fixed
parameters specify the location and number of records or tracks to be processed,
the operation to be performed, and if an extended operation is specified, the
number of extended parameter bytes required. The extended parameters contain
additional control information for those extended operations requiring them.
The subsystem initially requests 20 bytes of parameters from the channel; if the
channel sends fewer than 20 bytes, the command is rejected with unit check status.
The sense data contains command reject with format 0, message 3.
Following verification of the data in the initial parameters, the subsystem requests
additional parameter bytes if the Operation Code in byte 0 is X'3F', the Extended
Operation byte 17 specifies an Extended Operation that requires additional bytes,
and the Extended Parameter Length bytes 18–19 specify a length consistent with
the Extended Operation in byte 17. The number of additional bytes required by the
Extended Operation and specified in bytes 18–19 are requested from the channel;
if the channel sends fewer than the requested number of bytes, the command is
rejected with unit check status. The sense data contains command reject with
format 0, message 3.
The control unit verifies the parameters and reserved fields in their order in
Table 4-11 on page 4-28, except it checks byte 0, bits 2 through 7 and byte 17
first. If the control unit detects an exception condition in more than one parameter
in Table 4-11 on page 4-28, it reports only the first exception detected.
Chapter 4. Command Descriptions4-27
Other restrictions are described in the following text.
Ending Status: The control unit presents channel end status after it verifies the
parameters. If the operation uses cache, and the track and sector specified in the
Locate Record Extended command is in cache, device end occurs with channel
end. If the track is not in cache, the control unit presents device end after it
completes track and sector positioning of the device.
Locate Record Extended Parameters
The Locate Record Extended parameters are shown in Table 4-11.
Table 4-11. Locate Record Extended Parameters
ByteParameter Name
0Operation byte
1Auxiliary byte
2Reserved, must be zero.
3Count
4–7Seek address
8–12Search argument
13Sector number
14–15Transfer length factor
16Reserved, must be zero.
17Extended Operation byte
18–19Extended Parameter Length
20–21Extended Parameter
Operation Byte – Byte 0
Byte 0 specifies the orientation to establish when track access is complete. It also
specifies the operations to perform in the Locate Record Extended domain. The
operation byte is shown in Table 4-12.
Table 4-12. Operation Byte Definition
Byte 0 BitsOrientation and Operation
0–1Value Orientation Modifier
00 Count area
01 Home address
10 Data area
11 Index
Orientation Modifiers: Byte 0, bits 0 and 1 contain orientation modifiers that
specify the orientation to establish when the operation (bits 2 through 7) needs
orientation to a specific record or record area before data transfer starts.
Count Area ‘00’ – specifies that data access for the command immediately
following the Locate Record Extended command begins with the control unit
oriented following the count field of the record that satisfied the search operation.
Therefore, that command processes the key and data areas of the record that
satisfied the search operation.
Count area orientation is valid with all operation codes.
Home Address ‘01’ – specifies that data access for the command that immediately
follows the Locate Record Extended command is to begin with the control unit
oriented to home address.
Home address orientation is valid with Format Write (03), Read Tracks (0C), Read
(16), and the Extended Operation of Read Trackset (X'0E'). If any other operation
or extended operation code is specified when bits 0 and 1 are ‘01’, the command is
rejected with unit check status. The sense data contains command reject with
format 0, message 4.
Data Area ‘10’ – specifies that data access for the command immediately following
the Locate Record Extended command is to begin with the control unit oriented to
the data area of the record that satisfied the search operation. That command,
therefore will not process any areas of the record that satisfied the search
operation.
Data area orientation is valid with the Extended (3F), Write Data (01), and Read
(16) Operation codes only. If the Operation code is x'3F', the extended operation
byte must specify Update Write Trackset (byte 17 = x'13'). If bits 2 through 7
contain any other code when bits 0 and 1 are ‘10’, the command is rejected with
unit check status. The sense data contains command reject with format 0,
message 4.
Index ‘11’ – specifies that data access for the command immediately following the
Locate Record Extended command begins with the control unit oriented to index.
Index orientation is valid with the Read (16) operations only. If bits 2 through 7
contain any other code when bits 0 and 1 are ‘11’, the command is rejected with
unit check status. The sense data contains command reject with format 0,
message 4.
Note: A real 3990 mod 2 allows index orientation with Read (16) operations and
one write command: Write Special HA. Internal Disk does not support the
Write Special HA command, therefore, index orientation is valid with Read
(16) operations.
Operation Codes: Byte 0, Bits 2 through 7 specify the operation to be performed
in the Locate Record Extended domain. Any operation codes not shown are
invalid. When the operation code is invalid, the command is rejected with unit
check status. The sense data contains command reject with format 0, message 4.
Note: All operations performed in the domain of a Locate Record Extended
Chapter 4. Command Descriptions4-29
command can be performed in a Locate Record command, except for the
Extended Operations.
See "Locate Record Extended Operations" on page 4-26 for a description of the
operation codes.
Valid Operation Byte Values: The following table shows the valid combinations
of Orientation Modifiers and Operation Codes. All of the valid combinations are
listed.
Table 4-13. Locate Record Extended Operation Byte Values
Byte 1 is for verifying optional fields in the Locate Record Extended parameter list.
The auxiliary byte is shown in Table 4-14.
Table 4-14. Auxiliary Byte Definition
Byte 1 BitsValueOperation
0Usage of Bytes 14–15
0Bytes 14–15 are not used
1Bytes 14–15 contain a transfer length
factor
1–6000000 Reserved
7Read Count Suffix
0No Read Count as the last command
in the Locate Record Extended
domain
1A Read Count is the last command
in the Locate Record Extended
domain
Byte 1, Bit 0: When ‘1’, specifies that bytes 14 and 15 contain a transfer length
factor that overrides any larger blocksize parameter in the Define Extent command.
Byte 1, Bits 1–6: When any of these bits is set to a ‘1’, the Locate Record
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
4-30Internal Disk Subsystem Reference Guide
Byte 1, Bit 7: When set to ‘1’, specifies that the last data transfer command in the
Locate Record Extended domain will be a Read Count command. The Read Count
command is a suffix to the Locate Record Extended domain. The record is
included in the count of records processed as specified by the count parameter.
The Read Count command suffix is valid for a Locate Record Extended command
specifying Write Data (01), or Read (16) operations, or the Extended Operations of
Write Any (09), or Read Any (0A). If this bit is set on for any other code, the
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Not Used – Byte 2
Byte 2 must contain zeros. If byte 2 does not contain zeros, the Locate Record
Extended command is rejected with unit check status. The sense data contains
command reject with format 0, message 4.
Count – Byte 3
Byte 3 contains the count which determines the domain (region of influence) of the
Locate Record Extended command. Usually, the count parameter specifies the
number of records or tracks to be operated on within the Locate Record domain.
Specific use of the count parameter depends on the operation code in byte 0.
“Locate Record Extended Operations” on page 4-34 describes each operation
code.
The count must not be zero. If the Read Count command suffix (byte 1, bit 7) is
set to ‘1’, the count must be greater than 1. If the count does not satisfy these
requirements, the command is rejected with unit check status. The sense data
contains command reject with format 0, message 4.
Note: The user must ensure that the count is accurate. If the number of write
CCWs is less than specified in the count field, a unit check indicating
incomplete domain may be presented to the current or next I/O operation to
this logical volume.
Seek Address – Bytes 4–7
Bytes 4 through 7 specify a seek address (cylinder and head, CCHH). The value in
bytes 4 through 7 must be a valid track address for the logical volume. If the seek
address is not valid, the command is rejected with unit check status. The sense
data contains command reject with format 0, message 4.
If the extended operation code is Read Any (0A) or Write Any (09), and the seek
address does not specify a primary track, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 4. See
Appendix A, "Device Characteristics" on page A-1 for valid track address ranges.
If the seek address is not in the extent defined in the preceding Define Extent
command, the command is terminated with unit check status. The sense data
includes File Protected.
Chapter 4. Command Descriptions4-31
Search Argument – Bytes 8–12
Bytes 8 through 12 specify the cylinder, head, and record (CCHHR). These bytes
specify a value to be used as a search argument for the Locate Record Extended
search operation. See “Search Operation” on page 4-19.
When the operation (byte 0) does not need orientation to a specific record, no
search operation occurs and bytes 8 through 12 are ignored. When home address
orientation is specified, byte 12 is ignored.
Sector Number – Byte 13
Byte 13 contains a sector number. The control unit uses this sector number for
positioning in the track image. The sector number must be valid for the logical
volume. If the sector number is invalid, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 4. See
Appendix A, "Device Characteristics" on page A-1 for the range of valid sector
numbers.
If the sector number is zero, the next command starts with the device in a position
immediately before index. A value of X'FF' is valid and specifies that sector
positioning is not to be performed before establishing orientation.
Transfer Length Factor – Bytes 14–15
When byte 1, bit 0 is ‘1’, bytes 14 and 15 contain a transfer length factor. The
control unit uses the transfer length factor to determine the number of data bytes to
request from the channel for each write command that follows a Locate Record
Extended command specifying Write Data (01). The product of the value in bytes
14 and 15 and the count parameter determines the total number of bytes to be sent
in a Locate Record Extended domain specifying Format Write (03), Write Track
(0B), or Read (16).
The control unit does not keep the transfer length factor value after the end of the
Locate Record Extended domain. If a transfer length factor was not specified in the
Locate Record Extended command, the control unit uses the value from the Define
Extent blocksize parameter for the data transfer length.
Unit check status with the sense data containing command reject, with format 0
message 4 occurs if:
Byte 1, bit 0 is a ‘0’, and bytes 14 and 15 do not contain zeros.
Byte 1 bit 0 is a ‘1’, and bytes 14 and 15 do not contain a nonzero value.
The transfer length factor value is more than the value specified (or implied) in
the Define Extent blocksize parameter.
Not Used – Byte 16
Byte 16 must contain zeros. If byte 16 does not contain zeros, the Locate Record
Extended command is rejected with unit check status. The sense data contains
command reject with format 0, message 4.
4-32Internal Disk Subsystem Reference Guide
Extended Operation – Byte 17
Byte 17 contains an operation code unique to the Locate Record Extended
command. When byte 0, bits 2–7 equal X'3F', byte 17 specifies the Locate
Record Extended operation to be performed. If byte 0, bits 2–7 is not X'3F' the
operation specified in byte 0, bits 2–7 is performed and byte 17 must be zero. If
these conditions do not exist, the command is rejected with unit check status. The
sense data contains command reject with format 0, message 4.
The Extended Operation codes that are accepted without error are listed in
Table 4-15 and defined codes are described in “Locate Record Extended
Operations” on page 4-34.
Table 4-15. Extended Operation Codes
Hex
Code
09Write Any
0ARead Any
0ERead Trackset
10Prestage Trackset
11Write Trackset
13Update Write Trackset
Extended Operation Code
See “Locate Record Extended Operations” on page 4-34 for the specific Locate
Record Extended operation codes.
Extended Parameter Length – Bytes 18–19
Bytes 18–19 specify the total number of extended parameter bytes required by the
extended operation code specified in byte 17. The format and content of the
extended parameters are defined by the specific extended operation code.
The length contained in this field must be consistent with the extended operation
code in byte 17 as shown in Table 4-16 on page 4-34. If the operation code is
other than those defined in that table, the value in this field must be all zeros. If
these conditions are not met, the command is rejected with unit check status. The
sense data contains command reject with format 0, message 4.
Chapter 4. Command Descriptions4-33
Table 4-16. Extended Operation Code Length
Extended Operation CodesLength
Write Any (09)X'0001'
Read Any (0A)X'0001'
Read Trackset (0E)X'0001'
or
X'0002'
Prestage Trackset (10)X'0001'
or
X'0002'
Write Trackset (11)X'0001'
or
X'0002'
Update Write Trackset (13)X'0001'
or
X'0002'
Extended Parameter – Bytes 20–21
This is a variable length field. Bytes in this field are requested from the channel
only if byte 0, bits 2–7 is X'3F' (Extended Operation), byte 17 specifies an
Extended Operation code that requires additional parameter bytes, and bytes
18–19 specifies an Extended Parameter length consistent with the byte 17
Extended Operation code. The number of bytes to be requested is specified in
bytes 18–19.
The extended parameter field, either byte 20 or bytes 20 and 21 as required,
contain data to support the processing of data transfer commands with the Locate
Record Extended domain.
Locate Record Extended Operations
The following text describes the Locate Record Extended command processing. It
also describes processing related to the data transfer commands that follow the
Locate Record Extended command. The command descriptions show the
processing that occurs as part of each data transfer command.
This section describes only those operations unique to the Locate Record Extended
command. For a general operations description and operation codes common with
Locate Record, refer to “Locate Record Operations” on page 4-18.
Read Any – ‘0A’ Extended Operation Code: This operation code prepares the
control unit to read a specified number of data records from a ‘set of tracks’ without
first orienting to a specific record. No search operation is performed. The number
of records transferred is specified by the count parameter.
The extended parameter length (bytes 18–19) must equal X'0001', otherwise the
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
The extended parameter field must be one byte in length (byte 20 only). This byte
specifies the track set size used in the Locate Record Extended domain. The track
set size must be ‘1’ (the device value returned in byte 47 of the Read Device
Characteristics command response). If the track set size byte is other than ‘1’, the
4-34Internal Disk Subsystem Reference Guide
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Notes:
1. Extent checking is performed during the validation of Locate Record Extended
parameters, not during track access.
2. The sector number parameter is not used.
Track access is initiated using the seek address parameter.
When track access is complete, the control unit orients to the beginning of the
count area of a user record and prepares to transfer the associated record. The
search argument is ignored and no search operation is performed. If no data is
found in the accessed track, the operation is rejected with unit check status. The
sense data includes No Record Found.
When auxiliary byte, bit 7 is ‘0’, Locate Record Extended must be followed by a
sequence of multitrack Read Count, Read Count Key and Data, or Read Data
commands sufficient to process the specified number of records in the count
parameter. When the auxiliary byte bit 7 is ‘1’, the last channel command in the
Locate Record Extended domain must be a multitrack Read Count command.
If an invalid command sequence is detected within the Locate Record Extended
domain, the invalid command will be rejected with unit check status. The sense
data contains command reject with format 0, message 2.
If the operation continues past the last record on a track, the control unit orients to
the beginning of the count area of the first data record on the track and prepares to
operate on that record.
If the number of read commands exceeds the number of data records on the track,
one or more of the data records will be read again. No exception is reported.
The record ID of the first record is contained in the first count field, or can be found
by suffixing a Read Count command to the Locate Record Extended domain.
If the number of records read is equal to the number of data records on the
track, the count area read by a suffixed Read Count command is that of the
first record that was read.
If the number of records read is not equal to the number of data records on the
track, the count area read by a suffixed Read Count command will be that of
the record that follows the last record read. The ID of the first record read is
determined by referencing the record ID read, and the known sequence of the
record IDs on the track.
Write Any – ‘09’ Extended Operation Code: This operation code prepares the
control unit to write a specified number of data records to a track without first
orienting to a specific record. No search operation is performed. The number of
records transferred is specified by the count parameter.
The extended parameter length (bytes 18–19) must equal X'0001', otherwise the
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Chapter 4. Command Descriptions4-35
The extended parameter field must be one byte in length (byte 20 only). This byte
specifies the set size used in the Locate Record Extended domain. The track set
size must be ‘1’ (the device value returned in byte 47 of the Read Device
Characteristics command response). If the track set size byte is other than ‘1’, the
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Notes:
1. Extent checking is performed during the validation of Locate Record Extended
parameters, not during track access.
2. The sector number parameter is not used.
Track access is initiated using the seek address parameter.
If the file mask inhibits all write operations, Locate Record Extended is rejected with
unit check status. The sense data contains command reject with format 0,
message 2.
When track access is complete, the control unit orients to the beginning of the
count area of a user record and prepares to update write the associated record.
The search argument is ignored and no search operation is performed. If no data
record is found within the track, the command is rejected with unit check status.
The sense data includes No Record Found. If no data is found in the accessed
track, the operation is rejected with unit check status. The sense data includes No
Record Found.
When auxiliary byte, bit 7 is ‘0’, Locate Record Extended must be followed by the
number of Write Update Data commands sufficient to process the specified number
of records in the count parameter. When the auxiliary byte bit 7 is ‘1’, the Locate
Record Extended command must be followed by a number of Write Update Data
commands that is one less than the value specified by the count parameter and the
last channel command in the Locate Record Extended domain must be a multitrack
Read Count command.
If an invalid command sequence is detected within the Locate Record Extended
domain, the invalid command will be rejected with unit check status. The sense
data contains command reject with format 0, message 2.
If the operation continues past the last record updated on the track, control unit
orients to the beginning of the count area of the first data record on the track and
prepares to operate on that record.
If the number of write commands exceeds the number of data records on the track,
one or more of the data records updated in the Locate Record Extended domain
will be written again. No exception is reported.
If the data area length of any updated record differs from the value in the transfer
length factor (TLF) or the blocksize parameter from the Define Extent command (if
no TLF was specified), processing is rejected with unit check status and the record
is not updated. The sense data includes Invalid Track Format.
The record ID of the first record is contained in the first count field, or can be found
by suffixing a Read Count command to the Locate Record Extended domain.
4-36Internal Disk Subsystem Reference Guide
If the number of records written is equal to the number of data records on the
track, the count area read by a suffixed Read Count command is that of the
first record that was updated.
If the number of records written is not equal to the number of data records on
the track, the count area read by a suffixed Read Count command will be that
of the record that follows the last record updated. The ID of the first record
written is determined by referencing the record ID read, the number of records
updated, and the known sequence of the record IDs on the track.
Read Trackset – ‘0E’ Extended Operation Code: This operation code prepares
the control unit to transfer all records from one or more tracks to the channel. The
tracks are specified by the extended parameter and the number of tracks is
specified by the Count Parameter.
The extended parameter length (bytes 18–19) must contain either X'0001' or
X'0002', otherwise this command is rejected with unit check status. The sense
data contains command reject with format 0, message 4.
The extended parameter field must be one byte long (byte 20) if bytes 18–19
specified X'0001', or two bytes long (bytes 20 and 21) if bytes 18–19 specified
X'0002'.
The extended parameter bytes contain a bit map which represents a set of
sequentially addressed tracks within the defined extent. Each bit represents one
track. A ‘1’ bit shows that all data on the specified track is to be read, a ‘0’ shows
that the specified track is to be skipped.
The first bit in the bit map must be ‘1’ and represents the track whose address is
specified in the seek address parameter (bytes 4–7). Subsequent addressed tracks
are in ascending order. The number of ‘1’ bits in the bit map must equal the value
in the Count Parameter (byte 3). If the first bit in the map is not a ‘1’, or the
number of ‘1’ bits do not equal the value in the count parameter, this command is
rejected with unit check status. The sense data contains command reject with
format 0, message 4.
All tracks in the bit map represented by a ‘1’ bit must be within the defined extents,
otherwise this command is rejected with unit check status. The sense data
includes File Protected.
Track access is initiated using the seek address and sector number parameters.
When completed, the search operation specified by the search argument and the
orientation modifiers (byte 0, bits 0–1) is performed.
Locate Record Extended must be followed by the number of Read Track
commands specified in the Count Parameter. If any other command sequence is
detected in the Locate Record Extended domain, the nonconforming command is
rejected with unit check status. The sense data contains command reject with
format 0, message 2.
The first Read Track command orients to the beginning of the first count area
(including R0) following the orientation established by the Locate Record Extended
command. Then it transfers each count, key and data area until it reaches
end-of-track.
Chapter 4. Command Descriptions4-37
Each following Read Track command attempts to advance to the next specified
track, orients to the home address, and transfers each count, key, and data area
until end-of-track.
A pseudo count field is transferred to the channel after the last record on a track is
transferred. If no records were transferred, only the pseudo count field is sent to
the channel. The pseudo count field can be used to locate the end of the track
image character string in the host system’s main storage.
Prestage Trackset – ‘10’ Extended Operation Code: The Prestage Trackset
Operation Code gives notification to the control unit of intent to access a set of
tracks in a future operation. The tracks to be accessed are specified by the
Extended Parameter and the number of tracks to be transferred is specified by the
Count Parameter (byte 3). No data transfer commands may occur in the Locate
Record domain. Any command that follows Prestage Trackset is outside the
domain.
The maximum length of the Extended Parameter is specified in byte 43 of the
Device Characteristics Information (See Appendix A, "Device Characteristics" on
page A-1.).
The Extended Parameter contains a bit map that represents a set of sequentially
addressed tracks. Each bit in the parameter represents one track. A ‘1’ bit indicates
the data associated with the corresponding track is to be prestaged. A ‘0’ bit
indicates the track is to be skipped. Tracks in the bit map represented by the
‘1’ bits are not limited to the tracks contained within the defined extent. (While a
request to prestage a track that is outside of the extent may be honored, a later
attempt to access the prestaged data will be required to be within extent limits.)
The first bit must be a ‘1’ and represents the track whose address is specified in
the Seek Address parameter (bytes 4–7 of the LRE parameters). Subsequent bits
represent consecutively addressed tracks in ascending order. If the first bit is not a
‘1’, the Locate Record Extended command is terminated with status that includes
unit check (Command Reject, Format 0, Message 4, Invalid Parameter).
The number of ‘1’ bits in the bit map must be equal to the value in the count
parameter (byte 3); otherwise Locate Record Extended is terminated with status
that includes unit check (Command Reject, Format 0, Message 4, Invalid
Parameter).
It is possible to construct a valid Prestage Trackset operation that points to tracks
that are outside of the logical volume. For example, Seek to a track that is 5 tracks
away from the end of the volume, include 10 bits in the bit map, and a count
parameter of 10. Internal Disk will prestage the tracks that are within the logical
volume and ignore the inability to prestage the remaining tracks.
The Locate Record Extended orientation bits (byte 0, bits 0 and 1) have valid
settings of either count or home address orientation. However, Internal Disk uses
only home address orientation while executing Prestage Trackset. The first track is
prestaged beginning at the count area of Record Zero and continuing with each
count, key, and data area until end-of-track.
For the following tracks, Internal Disk attempts to advance to the next specified
track, orients to the home address, and transfers each count, key, and data area
until end-of-track.
4-38Internal Disk Subsystem Reference Guide
Write Trackset – ‘11’ Extended Operation Code: The Write Trackset Operation
prepares the control unit to update the Record Zero data area and format write the
user data records on one or more tracks. The tracks to be written are specified by
the Extended Parameter and the number of tracks to be written is specified by the
Count parameter.
If the file mask does not permit format write operations (bits 0-1 = ‘01’ or ‘10’),
Locate Record Extended is terminated with status that includes unit check
(Command Reject, format 0, message 2, Invalid Command Sequence).
The maximum length of the Extended Parameter is specified in byte 43 of the
Device Characteristics Information (See Appendix A, "Device Characteristics" on
page A-1.).
The Extended Parameter contains a bit map that represents a set of sequentially
addressed tracks within the defined extent. Each bit in the map represents one
track. A ‘1’ bit indicates that the corresponding track is to be formatted. A ‘0’ bit
indicates the track is to be skipped.
The first bit in the bit map must be a ‘1’ and represents the track whose address is
specified in the Seek Address parameter (bytes 4-7). Subsequent bits represent
consecutively addressed tracks in ascending order. If the first bit is not a ‘1’, Locate
Record Extended is terminated with status that includes unit check (Command
Reject, format 0, message 4, Invalid Parameter).
The number of ‘1’ bits in the bit map must be equal to the value in the Count
parameter (byte 3); otherwise Locate Record Extended is terminated with status
that includes unit check (Command Reject, format 0, message 4, Invalid
Parameter).
All tracks in the bit map represented by ‘1’ bits must be within the defined extent;
otherwise Locate Record Extended is terminated with status that includes unit
check (File Protected).
Track access is initiated using the Seek Address parameter and a Sector value of
zero; the Sector Number is not used.
The Locate Record Extended orientation bits (byte 0, bits 0 and 1) have only one
valid setting, count orientation. However, Internal Disk uses home address
orientation while executing Write Trackset. When track access is completed, the
control unit orients to Home Address. Prior format write operations may cause the
track to contain or not contain a Record Zero (R0). In either case, Internal Disk next
checks the search argument to assure that it contains the expected value of the
record ID field in the Record Zero count area. The expected values of the search
argument are:
CCHH value equal to the track that is to be written.
R value set to x‘00’.
Unit check status with the sense data including No Record Found occurs if the
search argument is not as expected.
Locate Record Extended must be followed by the number of Write Full Track
commands specified in the Count parameter (byte 3). If any other command
sequence is detected within the Locate Record domain, the non-conforming
command will be rejected with status that includes Unit Check (Command Reject,
Chapter 4. Command Descriptions4-39
format 0, message 2, Invalid Command Sequence). An Invalid Command
Sequence indication will be returned for any non-conforming command even if it is
a command that is not executed by Internal Disk. For example, the Read Backward
Command, ‘0C’, that is executed on tape devices and is never executed by Internal
Disk, would encounter Invalid Command Sequence rather than Invalid Command in
this instance.
Update Write Trackset – ‘13’ Extended Operation Code: This Operation code
prepares the control unit to update multiple user data areas on one or more tracks.
The tracks to be written are specified by the Extended Parameter and the number
of tracks to be written is specified by the Count parameter.
If the file mask does not permit write operations (bits 0-1 = ‘01’), Locate Record
Extended is terminated with status that includes unit check (Command Reject,
format 0, message 2, Invalid Command Sequence).
The maximum length of the Extended Parameter is specified in byte 43 of the
Device Characteristics Information (See Appendix A, "Device Characteristics" on
page A-1.)
The Extended Parameter contains a bit map that represents a set of sequentially
addressed tracks within the defined extent. Each bit in the map represents one
track. A ‘1’ bit indicates that the corresponding track is to be updated. A ‘0’ bit
indicates the track is to be skipped.
The first bit in the bit map must be a ‘1’ and represents the track whose address is
specified in the Seek Address parameter (bytes 4-7). Subsequent bits represent
consecutively addressed tracks in ascending order. If the first bit is not a ‘1’, Locate
Record Extended is terminated with status that includes unit check (Command
Reject, format 0, message 4, Invalid Parameter).
The number of ‘1’ bits in the bit map must be equal to the value in the Count
parameter (byte 3); otherwise Locate Record Extended is terminated with status
that includes unit check (Command Reject, format 0, message 4, Invalid
Parameter).
All tracks in the bit map represented by ‘1’ bits must be within the defined extent;
otherwise Locate Record Extended is terminated with status that includes unit
check (File Protected).
Track access is initiated using the Seek Address parameter and a Sector value of
zero; the Sector Number is not used.
When track access is completed, the search operation specified by the Search
Argument and the Orientation modifier (byte 0, bits 0-1) is performed.
Locate Record Extended must be followed by the number of Write Track Data
commands specified in the Count parameter (byte 3). If any other command
sequence is detected within the Locate Record domain, the non-conforming
command will be rejected with status that includes Unit Check (Command Reject,
format 0, message 2, Invalid Command Sequence). An Invalid Command
Sequence indication will be returned for any non-conforming command even if it is
a command that is not executed by Internal Disk. For example, the Read Backward
Command, ‘0C’, that is executed on tape devices and is never executed by Internal
4-40Internal Disk Subsystem Reference Guide
Disk, would encounter Invalid Command Sequence rather than Invalid Command in
this instance.
Chapter 4. Command Descriptions4-41
Prefix
Hex CodeData AddressCount
E7The main storage location of the first Prefix
parameter byte.
Description: The Prefix command consolidates many commands that are used to
convey information to the Internal Disk Subsystem. This command reduces the
channel overheads associated with the transmission of multiple discrete commands.
The Prefix command requires a minimum of 64 parameter bytes to be transferred
from the channel to the storage director. The parameters contain priority controls
for the channel program; the channel program Define Extent and Locate record
parameters; Perform Subsystem Function Commands; and if so designated in the
Locate Record Extended, count, key and data fields for the record(s) to be written.
A Prefix command with the Define Extent Field Valid bit set to zero (byte 1, bit 0)
is terminated with status that includes unit check (Command Reject, format 0,
message 4, Invalid Parameter.)
Minimum of 64.
A Prefix command with the Define Extent Field Valid bit set to one (byte 1, bit 0)
may not be preceded in the same channel program by a Define Extent, Read IPL,
Set File Mask, nor another Prefix command. If these conditions are violated, the
command execution is terminated with status that includes unit check. A Prefix
command that is issued within the domain of a prior Locate Record or Locate
Record Extended command is terminated with status that includes unit check.
Sense data will indicate Command Reject with format 0, message 2, Invalid
Command Sequence.
Internal Disk requests a minimum of 64 bytes of parameters from the channel; if the
channel provides fewer than 64 bytes, execution is terminated with status that
includes unit check. Sense data will indicate command reject with format 0,
message 3, CCW byte count less than required.
Prefix can contain the parameters for existing commands. The parameter
descriptions, sequence checking and other conditions are described in the
appropriate sections for the individual commands. Parameters and reserved fields
are checked for validity in the order they appear in the parameter list. If an
exception condition exists in more than one parameter in the list, only the first
detected exception is reported.
The time stamp field located at the end of the Define Extent command is not used
or stored by Internal Disk. The time stamp field and its validity bits are ignored.
Channel end status may be presented after a valid parameter list is received.
Device end is presented when all the valid commands contained within this
command are completed.
The first four bytes of the prefix contain control and validity information. Byte 2 is
currently not used. The contents of these bytes follow:
4-42Internal Disk Subsystem Reference Guide
Format Byte:
Table 4-17. Prefix, Byte 0, Format
BitsValueDefinition
0–7Encoded Format
00Basic Prefix Command (includes Define Extent)
01Basic plus Locate Record Extended Parameters
02Basic plus PSF Command Parameters
03–FFReserved. Must not be set for Internal Disk
Field Validity Byte:
Table 4-18. Prefix, Byte 1, Field Validity
BitsValueDefinition
00Define Extent Field Invalid. Not used by Internal Disk.
1Define Extent Field Valid
10Time Stamp in bytes 28–35 invalid. Ignored by Internal Disk.
1Time Stamp in bytes 28–35 valid. Ignored by Internal Disk.
2–70Not used
Auxiliary Byte:
Table 4-19. Prefix, Byte 3, Auxiliary Byte
BitsValueDefinition
01Suspend Multipath Reconnection. Ignored by Internal Disk.
1–3–Ignored by Internal Disk.
40Check all parameters in the Define Extent and Locate Record
Extended fields.
1Parameter validation is not required. Software has ensured that all
parameters in the Define Extent and Locate Record Extended are
correct.
Setting this bit has no effect on protection exceptions (such as track
address is out of extent range or filemask violations).
5–Ignored by Internal Disk.
6–7–Not used
The Prefix command has different formats that are described in the following
sections.
Chapter 4. Command Descriptions4-43
Basic Prefix Command Parameters - Format Byte x‘00’
The parameter list has the following format:
ByteParameter
0Format
1Flags
2Not used
3Auxiliary byte
4–11Not used
12–43Define Extent Parameters qualified by Byte 1, Bit 0.
12 Mask byte
13 Global Attributes
14–15 Blocksize in bytes
16–17 Ignored by Internal Disk
18Global Attributes Additional
19Global Attributes Extended
20–23 Beginning of Extent Address
24–27 End of Extent Address
28–35 System Time Stamp. Ignored by Internal Disk.
36–63 Ignored by Internal Disk
Prefix command plus Locate Record Extended - Format
Byte x‘01’
The parameter list has the following format:
ByteParameter
0Format
1Flags
2Not used
3Auxiliary byte
4–11Not used
12–43Define Extent Parameters
44–63Locate Record Extended
44 Operation byte
45 Auxiliary byte
46 Reserved
47 Count
48–51 Seek address
52–56 Search argument
57 Sector number
58–59 Transfer length factor
60 Reserved
61Extended operation byte
62–63 Extended parameter length
64–NN Extended Parameter. NN is equal to the value in bytes 62–63 plus 63.
Basic Prefix command plus PSF Parameters - Format Byte x‘02’
The parameter list has the following format:
ByteParameter
0Format
1Flags
2Not used
3Auxiliary byte
4–11Not used
12–43Define Extent Parameters
44–61Not used
4-44Internal Disk Subsystem Reference Guide
ByteParameter
62–63Perform Subsystem Function Common Bytes
44 Operation byte
62 PSF Order
63 PSF Flags
64–NN PSF Order unique parameters. NN is dependent on the order and can be
65535.
Chapter 4. Command Descriptions4-45
Seek Operations
When the control unit receives a Seek, Seek Cylinder, or Seek Head command, it
validates the seek address parameter, determines if the track is in cache, and
saves the parameters until it requires data access. Further activity is deferred as
described in the following text.
While a seek operation is pending, if the command requires data from the device,
the pending seek operation (and Set Sector command) completes before starting
that command. If the seek operation does not complete successfully, the command
is terminated with unit check status.
If the device starts the seek operation before the channel program ends, and the
operation cannot complete successfully, the control unit presents unit check status.
This status is for a command other than the seek command that specified the
operation. The sense data describes the condition that prevented the seek
operation from completing.
If the channel program ends normally while a seek operation is pending, the control
unit discards the seek parameters.
Any seek command resets orientation in the control unit.
4-46Internal Disk Subsystem Reference Guide
Seek
Hex CodeData AddressCount
07The main storage location of the seek address.6
Description: The Seek command transfers the track address to the control unit.
The format of the seek address parameter is (00CCHH), where (00) is 2 bytes of
binary zeros and (CCHH) is a 4-byte track address.
The control unit saves the seek address to do a cache directory search or to
position the actuator at a later time.
Chaining and Restrictions: This command is not valid in the domain of a Locate
Record or Locate Record Extended. If the Seek command is in the domain of a
Locate Record or Locate Record Extended, it is rejected with unit check status.
The sense data contains command reject with format 0, message 2.
If the file mask inhibits seek commands (bits 3 and 4 are not ‘00’), this command is
terminated with unit check status. The sense data includes File Protected.
The control unit requests a 6-byte set of address parameters from the channel. If
the channel sends fewer than 6 bytes, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 3.
The track address is checked for validity for the current access authorization and
the logical volume type. (See Appendix A, "Device Characteristics" on page A-1.)
If the seek address parameter is not valid, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 4.
If a Seek command is preceded in the channel program by a Define Extent
command, and the seek address is not in the defined extent, the command is
terminated with unit check status. The sense data includes File Protected.
Ending Status: After the control unit receives a valid parameter and checks the
cache directory to determine if the track is in cache, it saves the track address and
presents channel end and device end status.
The track accessing operation is deferred as described under “Seek Operations” on
page 4-46.
Chapter 4. Command Descriptions4-47
Seek Cylinder
Hex CodeData AddressCount
0BThe main storage location of the seek address.6
Description: The Seek Cylinder command transfers the track address to the
control unit. The format of the seek address parameter is (00CCHH), where (00) is
2 bytes of binary zeros and (CCHH) is a 4-byte track address.
The control unit saves the seek address to do a cache directory search or to
position the actuator at a later time.
Chaining and Restrictions: The Seek Cylinder command is not valid in the
domain of a Locate Record or Locate Record Extended. If this command is in the
domain of a Locate Record or Locate Record Extended it is rejected with unit check
status. The sense data contains command reject with format 0, message 2.
If the file mask inhibits Seek Cylinder commands (bit 3 is not 0), the command is
terminated with unit check status. The sense data includes File Protected.
The control unit requests a 6-byte set of address parameters from the channel. If
the channel sends fewer than 6 bytes, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 3.
The track address is checked for validity for the current access authorization and
the logical volume type. (See Appendix A, "Device Characteristics" on page A-1.)
If the seek address parameter is not valid, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 4.
If the Seek Cylinder command was preceded in the channel program by a Define
Extent command, and the seek address is outside the defined extent, the command
is terminated with unit check status (file protected).
Ending Status: After the control unit receives a valid parameter, it checks the
cache directory to determine if the track is in cache; it saves the track address and
presents channel end and device end status.
The track accessing operation is deferred as described under “Seek Operations” on
page 4-46.
4-48Internal Disk Subsystem Reference Guide
Seek Head
Hex CodeData AddressCount
1BThe main storage location of the seek address.6
Description: The Seek Head command transfers the track address to the control
unit. The format of the seek address parameter is (00CCHH), where (00) is 2
bytes of binary zeros and (CCHH) is a 4-byte track address. The (HH) part of the
track address replaces the (HH) value in the current track address.
The control unit saves the seek address to do a cache directory search or to select
the head at a later time.
Chaining and Restrictions: Unit check status with the sense data containing
command reject with format 0, message 2 occurs if this command is:
Not preceded in the command chain by a command that establishes track
orientation.
In a Locate Record or Locate Record Extended domain.
If the file mask inhibits Seek Head commands (bits 3 and 4 are ‘11’), the command
is terminated with unit check status (file protected).
The control unit requests a 6-byte set of parameters from the channel. If the
channel sends fewer than 6 bytes, the command is rejected with unit check status.
The sense data contains command reject with format 0, message 3.
The track address is checked for validity for the current access authorization and
the logical volume type. (See Appendix A, "Device Characteristics" on page A-1.)
If the seek address parameter is not valid, the command is rejected with unit check
status. The sense data contains command reject with format 0, message 4.
If the Seek Head command is preceded in the channel program by a Define Extent
command, and the seek address is outside the defined extent, the command is
terminated with unit check status. The sense data includes File Protected.
Ending Status: After the control unit receives a valid parameter, it checks the
cache directory to determine if the track is in cache; it saves the track address and
presents channel end and device end status.
The track accessing operation is deferred as described under “Seek Operations” on
page 4-46.
Chapter 4. Command Descriptions4-49
Recalibrate
Hex CodeData AddressCount
13The main storage location of the seek address.0
Description: The Recalibrate command causes the addressed logical volume to
seek to cylinder 0, head 0. This command does not cause any data transfer.
Therefore, if the CCW has a nonzero byte count, the suppress length indication
(SLI) bit must be set to X'1' to avoid an incorrect length exception.
Chaining and Restrictions: The Recalibrate command is valid only on 3380
logical volumes, not on 3390 logical volumes. If the command is received on a
3390, the command is terminated with unit check status. The sense data contains
command reject with format 0, message 1.
This command is not valid in the domain of a Locate Record or Locate Record
Extended. If the Recalibrate command is in a Locate Record or Locate Record
Extended domain, it is rejected with unit check status. The sense data contains
command reject with format 0, message 2.
If the file mask inhibits Recalibrate commands (bits 3 and 4 are not ‘00’) or
specifies diagnostic authorization (bits 5 and 6 are ‘10’) the command is terminated
with unit check status (file protected).
If the Recalibrate command is preceded in the channel program by a Define Extent
command, and cylinder zero head zero is not in the defined extend, the command
is terminated with unit check status. The sense data includes File Protected.
Ending Status: The Internal Disk Subsystem presents channel end status after it
validates the command. Device end status occurs after track access is complete.
4-50Internal Disk Subsystem Reference Guide
Set File Mask
Hex CodeData AddressCount
1FThe main storage location of the file mask byte.1
Description: The Set File Mask command transfers a 1-byte mask to the control
unit. A valid mask byte replaces the current value of the file mask. This command
resets orientation in the control unit.
The format of the mask byte is the same as the Define Extent mask byte (see
“Mask Byte – Byte 0” on page 4-8).
Chaining and Restrictions: Unit check status with the sense data containing
command reject with format 0, message 2 occurs if the command:
Is in a Locate Record or Locate Record Extended domain
Was preceded in the same channel program by a Define Extent or another Set
File Mask command.
Is received on a 3390 logical volume address and the command was preceded
in the channel program by a Read IPL command.
The control unit requests a single byte transfer from the channel. If the channel
does not send a data byte, the command is rejected with unit check status. The
sense data contains command reject with format 0, message 3.
The control unit checks that the mask byte is valid. If bit 2 is set to a ‘1’, the
command is rejected with unit check status. The sense data contains command
reject with format 0, message 4.
Ending Status: The control unit presents channel end and device end status after
it receives a valid mask byte parameter.
Chapter 4. Command Descriptions4-51
Set Sector
Hex CodeData AddressCount
23The main storage location of the sector byte.1
Description: This command resets orientation in the control unit. The Set Sector
command transfers a 1-byte relative angular track position to the control unit. The
sector number causes the logical volume to position to a specific sector before
starting the next command. If the sector number is zero, the next command starts
with the logical volume in a position immediately before index. A sector value of
X'FF' specifies that sector positioning is not to be done before starting the next
command.
Note: Record orientation is not assured. A search command must follow this
command to verify that the logical volume is at a specific record.
The control unit presents channel end and device end. No further action occurs
until the control unit receives a command requiring track orientation. At that time,
all cache directory searches and/or access actions occur before orientation.
If more than one Set Sector command is saved before orientation is required, only
the last sector number received is used. Previous values are discarded. Any
sector value stored and not used at normal or unit check completion of command
chaining is discarded.
Chaining and Restrictions: Unit check status with the sense data containing
command reject with format 0, message 2 occurs if:
This command is in the domain of a Locate Record or Locate Record
Extended.
This command is not preceded in the command chain by a command that
The control unit requests a single byte sector number from the channel. If the
channel does not send a data byte, the command is rejected with unit check status.
The sense data contains command reject with format 0, message 3.
The sector number must be valid for the logical volume. If the sector number is not
valid, the command is rejected with unit check status. The sense data contains
command reject with format 0, message 4. See Appendix A, "Device
Characteristics" on page A-1 for the valid sector numbers for a specific emulated
device type.
Ending Status: See the command description.
4-52Internal Disk Subsystem Reference Guide
Read Sector
Hex CodeData AddressCount
22The main storage location for the sector number.1
Description: This command resets track orientation in the control unit. The Read
Sector command transfers a 1-byte sector number to the channel. The data byte
represents the count-area sector position of the record that was operated on by the
search or data transfer command that immediately precedes this command.
The byte to the channel contains the angular position number required to access
the last record processed on the logical volume.
Chaining and Restrictions: If this command is in a Locate Record or Locate
Record Extended domain, it is rejected with unit check status. The sense data
contains command reject with format 0, message 2.
If a read, write, or search command does not immediately precede this command, a
valid but unpredictable sector value goes to the channel. If the immediately
preceding search or data transfer command processed home address or record
zero, a value of X'00' transfers to the channel.
Ending Status: The control unit presents channel end and device end status
when data transfer is complete.
Chapter 4. Command Descriptions4-53
Read Device Characteristics
Hex CodeData AddressCount
64The main storage location for the first byte of device
characteristics information.
Description: The Read Device Characteristics command transfers 64 bytes to the
channel.
The information this command transfers defines the characteristics of the
addressed logical volume. The ECKD architecture states that the characteristics of
the emulated device rather than those of the physical device are returned, except
for Bytes 56 and 57 which pertain to the real control unit and device. See
Appendix A, "Device Characteristics" on page A-1 for the specific values. This
command resets track orientation in the control unit.
If the device has never been available to the subsystems, the device model cannot
be determined. In this case the device type and model will be X'00' and all model
dependent data will be zeros (bytes 2–5, 12–13, 28–29, 32–33, 36–41).
64
Chaining and Restrictions: If this command is in a Locate Record or Locate
Record Extended domain, it is rejected with unit check status. The sense data
contains command reject with format 0, message 2.
See “Effect of Subsystem and Device State on Status Presented to Command” on
page 2-5 for the operation of this command when other subsystem and device
status conditions occur.
Device Characteristics Information
The device characteristics data format follows. The first six bytes are the same as
bytes 1 through 6 of the Sense ID command. See Appendix A, "Device
Characteristics" on page A-1 for the values of bytes 0 through 63.
4-54Internal Disk Subsystem Reference Guide
Table 4-20. Device Characteristics Data
BytesContents
0–1Subsystem type
2Subsystem model number and architecture
3–4Device type
5Device model
6–9Subsystem and device facilities
10Device class code
11Device type code
12–13Number of primary cylinders
14–15Tracks per cylinder
16Number of sectors
17–19Track length
20–21Length of HA and R0
22Track capacity calculation formula
23–27Track capacity calculation factors F1 through F5
28–29First alternate cylinder address
30–31Number of alternate tracks
32–33First diagnostic cylinder address
34–35Number of diagnostic tracks
36–37First device support cylinder address
38–39Number of device support tracks
40MDR record ID
41OBR record ID
42Control Unit type code
43Read Trackset parameter length
44–45Maximum record zero length
46Reserved
47Track set size
48Track capacity calculation factor F6
49–50RPS sector calculation factors
51–53Reserved
54Device and Control Unit Features
55Reserved.
56Real Control Unit type code
57Real Device type code
58–63Reserved
Bytes 0 and 1: Contains the four-digit subsystem type number as four
hexadecimal digits.
Chapter 4. Command Descriptions4-55
Byte 2: Identifies the subsystem model number and the supported architecture.
The active bits show:
Table 4-21. Byte 2 Definition
BitsValueDefinition
0–1 b'11' ECKD Architecture
2 b‘1’Nonsynchronous mode
3–4 b'00' Reserved
5–7 b'010'Control unit model
Bytes 3 and 4: Contains the four-digit device type number as four hexadecimal
digits.
Byte 5: Contains the device model and device features.
Bytes 6 through 9: Shows the program visible facilities in the device and the
control unit. The active bits show:
4-56Internal Disk Subsystem Reference Guide
Table 4-22. Bytes 6–9 Definition
BytesDefinition
6Bits Definition
0 Multiple Burst ECC, set to one
1 Subsystem supports the Read Track (0C) operation in a Locate Record
domain, set to one
2 Reserved, set to zero
3 Subsystem supports the Read (16) operation in a Locate Record
domain, set to one
4 Subsystem supports Set System Characteristics (PSF Order Code
x'1D'), set to one
5 Set System Characteristics has been received for this Path Group
6 Subsystem supports the Prefix Command.
7 Reserved, set to zero
7Bits Definition
0 Subsystem supports Prestage Trackset (0C) operation.
1-7 Reserved, set to zeros
8Bits Definition
0-3 Reserved, set to zeros
4 Subsystem supports Read Track Data.
5 Subsystem supports Update Write Trackset.
6 Subsystem supports Write Trackset.
7 Reserved, set to zero
9Bits Definition
0-1 Reserved, set to zero
2 Subsystem supports record caching, set to one
3 Subsystem supports track caching, set to one
4 Reserved, set to zero
5 Subsystem supports Internal Disk RAID Fast Write, set to one
6 Subsystem supports the Reset Allegiance command, set to one
7 Subsystem transfers 32 bytes of sense data in the 24 + 8 byte
compatibility mode format. Set to zero if the logical volume is a 3390.
Set to one if the logical volume is a 3380.
*
*
*
*
*
Note: *Internal Disk supports this function, however, this bit will only be set if the
system has also indicated support of the function in a prior command. See "Set System
Characteristics - PSF Order Code x'1D'" on page 4-129.
Byte 10: Contains an 8-bit device class code.
Byte 11: Contains an 8-bit device type code.
Bytes 12 and 13: Contains an unsigned, 16-bit binary value that shows the
number of primary cylinders on the logical volume. The highest primary cylinder
address on the logical volume is one less than the value in bytes 12 and 13.
Bytes 14 and 15: Contains an unsigned, 16-bit binary value that shows the
number of tracks in a cylinder. The highest valid track address in any cylinder is
one less than the value in bytes 14 and 15.
Byte 16: Contains an unsigned, 8-bit binary value that shows the number of
sectors in a track. The highest valid sector number for the logical volume
(excluding X'FF') is one less than the value in byte 16.
Chapter 4. Command Descriptions4-57
Bytes 17 through 19: Contains an unsigned, 24-bit binary value that shows the
total number of usable bytes on each track. This value is valid after the track has
been formatted with a home address and a standard record zero (key length of 0
and data length of 8). This value is the maximum number of bytes available for
formatting user data records, and includes all space that the count areas occupy,
and device dependent recording items (such as gaps) that are associated with the
records.
Note: A set of user data records can be written on a track if the sum of the space
values of the records calculated by the formula specified in byte 22 is equal
to or less than the value contained in bytes 17 through 19.
Bytes 20 and 21: Contains an unsigned 16-bit binary value that shows the total
amount of bytes used for a home address and a standard record zero (key length 0
and data length 8). This value includes the space occupied by device dependent
recording items (such as gaps) that are associated with home address and record
zero.
Byte 22: Contains an 8-bit unsigned binary value that specifies the formula to
perform track capacity calculations for the logical volume.
A value of X'01' specifies that the amount of space occupied by a record is given
by the formula:
Space = (FL1 + FL2)
Where:
Each FL1 and FL2 are rounded up to an integral multiple of F1.
FL1 = (F2 + DL)
FL2 = (F3 = KL). FL2 is set to zero when the key length is zero.
DL is data length and KL is key length.
F1 is an 8-bit unsigned binary value contained in byte 23.
F2 is a 16-bit unsigned binary value contained in bytes 24 and 25.
F3 is a 16-bit unsigned binary value contained in bytes 26 and 27.
A value of X'02' specifies that the amount of space occupied by a record is given
by the formula:
Space = (FL1 + FL2)
Where:
FL1 and FL2 are rounded up to an integral multiple of F1.
FL1 = (F1 x F2) + (DL + F6 + [F4 x INT1]).
FL2 = (F1 x F3) + (KL + F6 + [F4 x INT2]), except that FL2 = 0 when the key
length is zero.
INT1 = the smallest integer greater than or equal to (DL + F6) / (F5 x 2).
INT2 = the smallest integer greater than or equal to (KL + F6) / (F5 x 2).
F1 is an 8-bit unsigned binary value contained in byte 23.
F2 is an 8-bit unsigned binary value contained in byte 24.
F3 is an 8-bit unsigned binary value contained in byte 25.
F4 is an 8-bit unsigned binary value contained in byte 26.
F5 is an 8-bit unsigned binary value contained in byte 27.
F6 is an 8-bit unsigned binary value contained in byte 48.
DL is data length and KL is key length.
4-58Internal Disk Subsystem Reference Guide
Bytes 23 through 27: Contains factors, F1 through F5, to be used in the track
capacity calculation formulas. See the description of byte 22 above.
Bytes 28 and 29: Contains an unsigned, 16-bit binary value, which is the address
(CC) of the first cylinder that contains alternate tracks.
Bytes 30 and 31: Contains an unsigned, 16-bit binary value that shows the
number of alternate tracks on the logical volume.
Bytes 32 and 33: Contains an unsigned, 16-bit binary value, which is the address
(CC) of the first cylinder that contains diagnostic tracks.
Bytes 34 and 35: Contains an unsigned, 16-bit binary value that shows the
number of diagnostic tracks on the logical volume.
Bytes 36 and 37: Contains an unsigned, 16-bit binary value, which is the address
(CC) of the first cylinder that contains device-support tracks.
Bytes 38 and 39: Contains an unsigned, 16-bit binary value that shows the
number of device-support tracks on the device.
Byte 40: Contains an 8-bit miscellaneous data recorder (MDR) ID for the device.
Byte 41: Contains an 8-bit outboard recorder (OBR) ID for the device.
Byte 42: Contains an 8-bit subsystem type-code that identifies the control unit
type, model, and features.
Byte 43: Contains an unsigned, 8-bit binary value. A value of X'02' specifies that
the subsystem does support the Read Trackset extended operations and that 2
bytes is the maximum length of the extended parameters.
Bytes 44 and 45: Contains an unsigned, 16-bit binary value that shows the
maximum data area length for a record zero when the key length is zero.
Byte 46: Reserved
Byte 47: Contains an unsigned, 8-bit binary value. A value of X'01' specifies that
the subsystem supports roll mode operations, and that these operations may not
span more than a single track.
Byte 48: Contains the factor F6, used in the track capacity calculation formula.
See the description of byte 22.
Bytes 49–50: Contains factors used in the RPS sector calculation formula.
Byte 49 – Contains the 8-bit unsigned binary value of F7 which is one-half of
the sum of:
– the number of bytes between the end of Record Zero and the cell
– the difference in length, in bytes, between a standard RPS sector and RPS
Byte 50 – Contains the 8-bit unsigned binary value of F8 that is the number of
cells per RPS sector.
Chapter 4. Command Descriptions4-59
containing the start of Record 1, plus
sector 0.
The appropriate sector number for a Locate Record or a Set Sector command is
the smallest integer equal to or less than the result of the following formula:
Sector = (C0 + (2 X F7) + NetSpace) / (F1 X F8)
Where:
C0 is an unsigned 16-bit binary number contained in bytes 20 and 21.
F7 is an unsigned 8-bit binary number contained in byte 49.
NetSpace is the sum of the space values for all records on the track prior to
the target record, other than Record 0, calculated by the formula specified by
byte 22.
F1 is an unsigned 8-bit binary number contained in byte 23.
F8 is an unsigned 8-bit binary number contained in byte 50.
Bytes 51–53: Reserved
Byte 54: Identifies the device and control unit features. The active bits show:
Table 4-23. Byte 54 Definition
BitsDefinition
0 Reserved, set to zero.
1 RAID Device
2 Reserved, set to zero.
3 Transparent Subsystem Cache
4–7 Reserved, set to zero.
Byte 55: Reserved
Byte 56: Contains an 8 bit Real Control Unit type code that identifies the actual
control unit type, model, and features. Byte 42 contains the emulated Control Unit
Type code.
Byte 57: Contains an 8 bit Real Device type code that identifies the actual device
type, model, and features. Byte 41 contains the emulated device OBR code.
Bytes 58–63: Reserved
Ending Status: The control unit presents channel end and device end status
when data transfer completes.
4-60Internal Disk Subsystem Reference Guide
Read Commands
The read commands cause data to transfer from the cache to the channel. The
control unit is oriented to a specific record area and sends one or more areas or
records to the channel.
All read commands except Read IPL must be preceded in the command chain by a
command that specifies (or implies) (CCHH) parameters. If the read command is
not preceded by a Seek, Seek Cylinder, Locate Record, Locate record Extended, or
Read IPL command, the command is rejected with unit check status. The sense
data contains command reject with format 0, message 2.
All read commands except Read Track and Read Track Data are valid outside the
domain of a Locate Record or Locate Record Extended.
The Read Multiple CKD and Read IPL commands are not valid in the domain of a
Locate Record or Locate Record Extended.
If the read command is preceded by a Define Extent command, the control unit
determines if the track is in the extent limits described by the preceding Define
Extent command. If the track is not in the specified boundaries, the read command
is terminated with unit check status. The sense data includes File Protected.
Most read commands can be in multitrack mode. (See “Operations Outside the
Domain of a Locate Record or Locate Record Extended” on page 4-3.) Only two
of the read commands accepted by Internal Disk; Read Multiple Count Key and
Data, and Read IPL are defined as single-track mode only. Only the Read Track
command is defined as multitrack mode only. All other commands may be
executed in either mode.
If the channel truncates data transfer before all data bytes transfer, the control unit
continues reading data until the end of the record. The truncation of data transfer
by the channel does not cause an exception condition.
The control unit presents channel end and device end status after it completes
processing the record. If the control unit finds an exception condition after the
channel stops data transfer, the status includes unit check with channel end and
device end.
Chapter 4. Command Descriptions4-61
Read Home Address
Hex CodeData AddressCount
1A
Multitrack
9A
Description: The Read Home Address command transfers a partial home
address area to the channel.
The control unit is oriented to index when the Read Home Address command
starts. A 5-byte home address transfers to the channel. These 5 bytes are the flag
byte and the 4-byte track address bytes (CCHH) as shown in Table 4-24.
Table 4-24. 5-Byte Section of Home Address Definition
BytesDefinition
0Flag, not used, set to zero.
1–4Track address (CCHH)
The main storage location of the
home address.
5
When the multitrack bit (bit 0) in the CCW is ‘0’, the control unit is oriented to index
and sends the home address to the channel. If the multitrack bit is ‘1’, the control
unit is oriented to index, advances to the next track, and sends the home address
of that track to the channel. (See “Operations Outside the Domain of a Locate
Record or Locate Record Extended” on page 4-3.)
Note: Since the Read Home Address command always causes the control unit to
be oriented to index before it transfers data, a multitrack Read HA
command always causes the control unit to switch to the next track before it
transfers any data.
Chaining and Restrictions: Unit check status with the sense data containing
command reject with format 0, message 2 occurs if this command is:
Not preceded in the command chain by a Seek, Seek Cylinder, Locate Record,
Locate Record Extended, or Read IPL command
In a Locate Record or Locate Record Extended domain that specifies other
than a Read Data (06), or a Read (16) operation and index orientation (byte 0,
bits 0 and 1 are ‘11’).
Ending Status: The control unit presents channel end and device end status
when data transfer completes. When the command completes, the control unit is
oriented to home address.
4-62Internal Disk Subsystem Reference Guide
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.