IBM Multiprise 3000, S/390 Multiprise 3000 Reference Manual

S/390
Internal Disk Subsystem: Reference Guide
Multiprise 3000 Enterprise Server
R
IBM
Internal Disk Subsystem: Reference Guide
Note!
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
Host Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
RAID Disk Arrays .................................... 1-3
HDD Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Internal Disk RAID Fast Write ............................ 1-4
Internal Disk Facilities ................................. 1-4
CKD Emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Control Unit and Device Emulation ........................ 1-5
LPAR Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Enhanced HDD Reliability .............................. 1-5
Search Assist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
SSID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
Long Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
Internal Disk Components ............................... 1-7
Shared CPC resources ............................... 1-7
SSA Adapter Card ................................. 1-8
HDD Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Internal Disk Logical Volume Configurations .................... 1-8
Logical Volumes Mapped onto RAID Arrays ................... 1-8
Logical Volume Address Resolution ........................ 1-9
Internal Disk Configuration Granularity ..................... 1-10
Commands and Facilities Not Supported ..................... 1-11
IOCP Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
RAS Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
Chapter 2. Processing Commands and Presenting Status .......... 2-1
Input/Output Channel Interface ............................ 2-1
Command Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Status Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Status Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Initial Status Byte ................................... 2-4
Status Pending Conditions ............................. 2-4
State-Change Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Effect of Subsystem and Device State on Status Presented to Command .. 2-5
Listing of Commands Appearing in Table 3 ................... 2-9
Contingent Allegiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Channel Command Retry ............................... 2-9
Channel Command Retry–Control Unit Initiated ................ 2-10
System and Selective Reset ............................. 2-10
Chapter 3. Elements of Data Access ....................... 3-1
Track Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Track Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Data Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Track Accessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Track Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Record Accessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Data Transfer Commands ............................... 3-3
Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
File Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Copyright IBM Corp. 1999 iii
End-of-File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Chapter 4. Command Descriptions
Channel Command Word Exception Conditions
............................... 4-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
. . . . . . . . . . . . . . . . . . . . . . . . 4-1
Command Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Multitrack Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Defective/Alternate Track Operations ......................... 4-3
Summary of Channel Commands ........................... 4-3
List of Channel Commands by Hex Code .................... 4-6
Addressing and Control Commands ......................... 4-7
Define Extent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
Locate Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
Locate Record Extended ............................. 4-27
Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42
Seek Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47
Seek Seek Cylinder
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48
Seek Head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-49
Recalibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50
Set File Mask .................................... 4-51
Set Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52
Read Sector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-53
Read Device Characteristics ........................... 4-54
Read Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61
Read Home Address ............................... 4-62
Read Record Zero ................................. 4-63
Read Count, Key, and Data ........................... 4-64
Read Key and Data ................................ 4-66
Read Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-68
Read Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-70
Read Multiple Count, Key, and Data ...................... 4-71
Read Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-72
Read Track Data .................................. 4-74
Read IPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-76
Search Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77
Search Home Address Equal ........................... 4-78
Search ID Equal .................................. 4-79
Search ID High ................................... 4-80
Search ID Equal or High ............................. 4-80
Search Key Equal ................................. 4-81
Search Key High .................................. 4-82
Search Key Equal or High ............................ 4-82
Write Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-82
Write Home Address ................................ 4-84
Write Record Zero ................................. 4-85
Write Count, Key, and Data ............................ 4-86
Write Count, Key, and Data Next Track ..................... 4-88
Erase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-90
Write Update Key and Data ............................ 4-91
Write Key and Data ................................ 4-93
Write Update Data ................................. 4-95
Write Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-97
Write Full Track ................................... 4-99
iv Internal Disk Subsystem Reference Guide
Write Track Data .................................. 4-102
Sense Commands
Sense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-104
Sense ID Miscellaneous Commands
No-Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-107
Read and Reset Buffered Log .......................... 4-108
Read Configuration Data ............................. 4-111
Restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-117
Path Control Commands ............................... 4-118
Device Reserve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-118
Device Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-120
Unconditional Reserve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-121
Reset Allegiance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-123
Set Path Group ID ................................. 4-125
Sense Path Group ID ............................... 4-128
Suspend Multipath Reconnection Subsystem Commands
Perform Subsystem Function ........................... 4-130
Sense Subsystem Status ............................. 4-136
Read Subsystem Data ............................... 4-139
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-107
........................ 4-130
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-130
Chapter 5. 24-Byte Compatibility Sense Data .................. 5-1
24-Byte Sense Data Summary ............................ 5-2
Sense Data Formats ................................. 5-2
24-Byte Sense Data Description ........................... 5-4
Sense Bytes 0, 1, and 2 .............................. 5-4
Sense Byte 3–Count ................................. 5-6
Sense Byte 4–Logical Volume Address ...................... 5-6
Sense Byte 5–Low Cylinder Address ....................... 5-7
Sense Byte 6–High Cylinder Address and Track Address ........... 5-7
Sense Byte 7–Format/Message . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Sense Bytes 8 through 23–Format-Dependent Information .......... 5-7
Sense Byte 25–Program Action Code ....................... 5-7
Sense Bytes 26 and 27–Configuration Data ................... 5-8
Sense Bytes 29 through 31–Cylinder and Head Address ............ 5-8
24-Byte Compatibility Sense Data Formats .................... 5-10
Format 0–Program or System Checks ..................... 5-10
Format 1–Device Equipment Checks ...................... 5-11
Sense Bytes 8 through 23 for Format 1 ..................... 5-12
Format 2–Internal Disk Control Unit Errors ................... 5-13
Format 3–Allegiance Terminated ......................... 5-13
Format 4–Unrecovered Data Checks ...................... 5-14
Format 5 to Format E – Not used ........................ 5-15
Format F–Subsystem Checks .......................... 5-15
Chapter 6. ECKD 32-Byte Sense Data ...................... 6-1
ECKD 32-Byte Sense Data Summary ........................ 6-2
ECKD 32-Byte Sense Data Description ....................... 6-4
Sense Byte 0 ..................................... 6-4
Sense Byte 1 ..................................... 6-4
Sense Byte 2–Control Unit Type .......................... 6-5
Sense Byte 3–Remaining Intent Count ...................... 6-5
Sense Byte 4–Logical Volume Address ...................... 6-5
Contents v
Sense Byte 5–Device Type Code ......................... 6-6
Sense Byte 6–Content and Format
Sense Bytes 7 through 19 ............................. 6-6
Sense Bytes 20 and 21–Subsystem Identifier Sense Bytes 22 and 23–Exception Code
Sense Byte 24–Logging and Message Control .................. 6-7
Sense Byte 25–Program Action Code ....................... 6-8
Sense Bytes 26 and 27–Configuration Data ................... 6-8
Sense Byte 28–Message Code .......................... 6-8
Sense Bytes 29 and 30–Cylinder Address .................... 6-9
Sense Byte 31–Head Address ........................... 6-9
Sense Data Dependent on Exception Class .................. 6-10
Chapter 7. Error Recovery Procedures ...................... 7-1
ERPs for 24-Byte Compatibility Sense ........................ 7-1
Error Recovery Actions ............................... 7-2
ERPs for ECKD 32-Byte Sense
ERP Actions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
............................ 7-5
ERP Message Requirements ............................ 7-9
........................ 6-6
.................. 6-6
..................... 6-6
Appendix A. Device Characteristics . . . . . . . . . . . . . . . . . . . . . . . A-1
Appendix B. Caching Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Caching Algorithm Definitions ............................. B-1
Algorithms for Cache MISSES ............................. B-1
Algorithms for Cache HITS ............................... B-2
Algorithm Modifications due to Cache Hints ..................... B-2
Algorithm Special Cases ................................ B-3
Appendix C. Warranties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
Statement of Limited Warranty ............................ C-1
IBM Agreement for Licensed Internal Code ..................... C-4
Appendix D. Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-2
Electronic Emission Notices .............................. D-2
List of Abbreviations ................................. X-1
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X-3
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X-7
vi Internal Disk Subsystem Reference Guide
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 memoryThe 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:
Integrated RAID Storage Integrated Tape Integrated Communications
Industry Standard PCI Adapters
S/390 ESCON Channels
S/390 Parallel Channels
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-2 Internal 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 Subsystem 1-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 powerAnother Green LED indicating activityAmber 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 Capacity 18 GBytes
Rotational Speed 10,000 RPM
Average Read Seek 6.5 ms
Latency 2.99 ms
Media Transfer Rate 23.4 to 30.4 MB/sec
SSA Transfer Rate 40 MB/sec
HDD Buffer Capacity 4 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-4 Internal 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 Subsystem 1-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-6 Internal 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 Subsystem 1-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.
Other features of the SSA Adapter Card include:
Support of 2 SSA loops
Independent Packet Network (IPN) transactionsHardware scatter/gather
Full duplex communication
HDD hot plugging
Error detection and correctionData scrubbing
HDD Packaging
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-8 Internal 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+P 73
6+P 109
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 Volume Required Number of Storage Units
3390-1 1
3390-2 2
3390-3 3
3390-9 9
3380-J 1
3380-E 2
3380-K 3
*
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 Subsystem 1-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
Number Configuration Approximate Gross Disk Capacity
B1 4+P, Spare 4 * 18 = 72
B2 4+P, 4+P, Spare 8 * 18 = 144
B3 4+P, 4+P, 4+P, Spare 12 * 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-10 Internal Disk Subsystem Reference Guide
Table 1-5. Configurations in CPC Frame
Number Configuration Approximate Gross Disk Capacity
E1 4+P, Spare 4 * 18 = 72
E2 4+P, 6+P, Spare 10 * 18 = 180
E3 4+P, 6+P, 6+P, Spare 16 * 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:
3380 track compatibility modeAlternate/defective track assignmentDevice Support Track FacilityDiagnostic Track Facility
Diagnostic Control
Write Special Home AddressRead Special Home AddressBuffered log data
Multipath Reconnection Write Inhibit Fencing/Unfencing
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 Subsystem 1-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-12 Internal 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 pathChannel 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
Bit Name
0 Attention
1 Status Modifier
2 Control-Unit End
3 Busy
4 Channel End
5 Device End
6 Unit Check
7 Unit 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-2 Internal 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 Status 2-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-4 Internal 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 CharacteristicsRead Configuration DataSense 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 Status 2-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:
Mnemonic Command Name Hex
SPID Set Path Group ID AF SNID Sense Path Group ID 34 RSTA Reset Allegiance 44 UR Unconditional Reserve 14 RDC Read Device Characteristics 64 RCD Read Configuration Data FA SNSID Sense ID E4 SNSS Sense Subsystem Status 54 SNS Sense with contingent allegiance 04
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:
Mnemonic Command Name Hex
RES Device Reserve B4 REL Device Release 94 PSF Perform Subsystem Function 27 RSSD Read Subsystem Data 3E
Three other commands have special architectural and historical significance and are executed somewhat differently from the data transfer commands. They are:
Mnemonic Command Name Hex
NOP No-Operation 03 RIPL Read IPL 02 SMR Suspend Multipath Reconnection 5B
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-6 Internal 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 Status 2-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-8 Internal 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.
Mnemonic Command Name Hex
NOP No-Operation 03 SNID Set Path Group ID AF SPID Sense Path Group ID 34 UR Unconditional Reserve 14 RSTA Reset Allegiance 44 RIPL Read IPL 02 RES Device Reserve B4 REL Device Release 94 SNS Sense 04 SNSS Sense Subsystem Status 54 RDC Read Device Characteristics 64 SNSID Sense ID E4 RCD Read Configuration Data FA PSF Perform Subsystem Function 27 RSSD Read Subsystem Data 3E SMR Suspend Multipath Reconnection 5B
Contingent Allegiance
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 Status 2-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-10 Internal 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 Status 2-11
2-12 Internal 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 area orientation state.
3-2 Internal 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 Access 3-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-4 Internal 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 Access 3-5
3-6 Internal 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-2 Internal 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 Name Mnemonic
Addressing and Control Commands
Define Extent Locate Record
Locate Record Extended Prefix Seek Seek Cylinder Seek Head Recalibrate (1)
Set File Mask Set Sector Read Sector
Read Device Characteristics
DX LR LRE PFX SK SKC SKHD RCAL SFM SS RS RDC
Hex Code
single-track
Mode
63 47 4B E7 07 0B 1B 13 1F 23 22 64
Multitrack
Mode
– – – – – – – – – – –
Page
4-8 4-13 4-27 4-42 4-47 4-48 4-49 4-50 4-51 4-52 4-53 4-54
Chapter 4. Command Descriptions 4-3
Table 4-3 (Page 2 of 3). List of Channel Commands
Command Name Mnemonic
Read Commands
Read Home Address Read Record Zero Read Count, Key, and Data
Read Key and Data Read Data Read Count
Read Multiple Count, Key, and Data Read Track
Read Track Data Read IPL
Search Commands
Search Home Address Equal
Search ID Equal
Search ID High
Search ID Equal or High
Search Key Equal
Search Key High
Search Key Equal or High
Write Commands
Write Home Address
Write Record Zero
Write Count, Key, and Data
Write Count, Key, and Data Next Track Erase
Write Update Key and Data
Write Key and Data
Write Update Data Write Data
Write Full Track
Write Track Data
Sense Commands
Sense Sense ID
Miscellaneous Commands
No-Operation
Read and Reset Buffered Log
Read Configuration Data Restore
Path Control Commands
Device Reserve Device Release Unconditional Reserve Reset Allegiance
Set Path Group ID
Sense Path Group ID
Suspend Multipath Reconnection
RHA RR0 RCKD RKD RD RC RMCKD RT RTD RIPL
SHA SIDE SIDH SIDEH SKE SKH SKEH
WHA WR0 WCKD WCKDNT ERAS WUKD WKD WUD WD WFT WTD
SNS SNSID
NOP RRBFL RCD RSTOR (1)
RES REL UR RSTA SPID SNID SMR
Hex Code
single-track
Mode
1A 16 1E 0E 06 12 5E
– –
02
39 31 51 71 29 49 69
19 15 1D
11
0D
05
– –
04 E4
03 A4 FA 17
B4 94 14 44 AF 34 5B
Multitrack
Mode
9A 96 9E 8E 86 92
DE
A6
B9 B1
D1
F1 A9
C9
E9
– – –
9D
8D
85
95 A5
– –
– – – –
Page
4-62 4-63 4-64 4-66 4-68 4-70 4-71 4-72 4-74 4-76
4-78 4-79 4-80 4-80 4-81 4-82 4-82
4-84 4-85 4-86 4-88 4-90 4-91 4-93 4-95 4-97 4-99
4-102
4-104 4-105
4-107 4-108 4-111 4-117
4-118 4-120 4-121 4-123 4-125 4-128 4-130
4-4 Internal Disk Subsystem Reference Guide
Table 4-3 (Page 3 of 3). List of Channel Commands
Command Name Mnemonic
Subsystem Commands
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 Descriptions 4-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.
Hex Command Name Page
02 Read IPL 4-76 03 No-Operation 4-107 04 Sense 4-104 05 Write Data 4-97 06 Read Data 4-68
07 Seek 4-47 0B Seek Cylinder 4-48 0D Write Key and Data 4-93 0E Read Key and Data 4-66 11 Erase 4-90
12 Read Count 4-70 13 Recalibrate 4-50 14 Unconditional Reserve 4-121 15 Write Record Zero 4-85 16 Read Record Zero 4-63
17 Restore4-117 19 Write Home Address 4-84 1A Read Home Address 4-62 1B Seek Head 4-49 1D Write Count, Key, and Data 4-86
1E Read Count, Key, and Data 4-64 1F Set File Mask 4-51 22 Read Sector 4-53 23 Set Sector 4-52 27 Perform Subsystem Function 4-130
29 Search Key Equal 4-81 31 Search ID Equal 4-79 34 Sense Path Group ID 4-128 39 Search Home Address Equal 4-78 3E Read Subsystem Data 4-139
44 Reset Allegiance 4-123 47 Locate Record 4-13 49 Search Key High 4-82 4B Locate Record Extended 4-27 51 Search ID High 4-80
54 Sense Subsystem Status 4-136 5B Suspend Multipath Reconnection 4-130 5E Read Multiple Count, Key, and Data 4-71 63 Define Extent 4-8 64 Read Device Characteristics 4-54
69 Search Key Equal or High 4-82 71 Search ID Equal or High 4-80 85 Write Update Data (MT) 4-95 86 Read Data (MT) 4-68 8D Write Update Key and Data (MT) 4-91
Hex Command Name Page
8E Read Key and Data (MT) 4-66 92 Read Count (MT) 4-70 94 Device Release 4-120 95 Write Full Track (MT) 4-99 96 Read Record Zero (MT) 4-63
9A Read Home Address (MT) 4-62 9D Write CKD Next Track (MT) 4-88 9E Read Count, Key, and Data (MT) 4-64 A4 Read and Reset Buffered Log 4-108 A5 Write Track Data (MT) 4-102
A6 Read Track Data (MT) 4-74 A9 Search Key Equal (MT) 4-81 AF Set Path Group ID 4-125 B1 Search ID Equal (MT) 4-79 B4 Device Reserve 4-118
B9 Search Home Address Equal (MT) 4-78 C9 Search Key High (MT) 4-82 D1 Search ID High (MT) 4-80 DE Read Track (MT) 4-72 E4 Sense ID 4-105
E7 Prefix 4-42 E9 Search Key Equal or High (MT) 4-82 F1 Search ID Equal or High (MT) 4-80 FA Read Configuration Data 4-111
4-6 Internal 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 Descriptions 4-7
Define Extent
Hex Code Data Address Count
63 The 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
Byte Parameter
0 Mask byte
1 Global Attributes
2–3 Blocksize in bytes
4–6 Reserved, must be zeros.
7 Global Attributes Extended
8–11 Beginning of Extent Address
12–15 End 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-8 Internal Disk Subsystem Reference Guide
Table 4-5. Mask Byte Definition
Byte 0 Bits Bit
Value
0–1 Write Control
00 Permit all write operations except
01 Inhibit all write operations
10 Permit update write operations only
11 Permit all write operations
2 0 Reserved
3–4 Seek Control
00 Permit all Seek commands
01 Permit Seek Cylinder and Seek Head
10 Permit Seek Head commands only
11 Inhibit all seek commands and
5–6 Access Authorization
00 Normal Authorization
01 Device Support Authorization
10 Diagnostic Authorization
11 Device Support Authorization –
7 Program–Controlled Interruption (PCI) fetch
mode
0 Not PCI fetch mode
1 PCI 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 Descriptions 4-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–1 Architecture Mode
2 Count, Key, and Data (CKD) Conversion Mode
Bit Value Global Attributes Function
00–10 Reserved
11 Extended count, key, and data
(ECKD)
0 Not CKD conversion mode
1 CKD conversion mode
4-10 Internal Disk Subsystem Reference Guide
Table 4-6 (Page 2 of 2). Global Attributes Byte Definition
Byte 1 Bits
3–5 Subsystem Operation Mode
6 Reserved, must be zero
7 Reserved, ignored
Bit Value Global Attributes Function
000 Normal cache replacement
001 Bypass cache
010 Inhibit cache loading
011 Sequential access
100 Sequential Prestage
101 Record Access
110 – 111 Reserved. 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 Descriptions 4-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 DLThe sum of DL and KL plus 8 (for the count area).
If the blocksize exceeds the logical volumes 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-12 Internal 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 Code Data Address Count
47 The 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 Descriptions 4-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
Byte Parameter Name
0 Operation byte
1 Auxiliary byte
2 Reserved, must be zero.
3 Count
4–7 Seek address
8–12 Search argument
13 Sector number
14–15 Transfer 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 Bits Orientation and Operation
0–1 Value Orientation Modifier
00 Count area 01 Home address 10 Data area 11 Index
2–7 Value Operation Code
00 0000 Orient (00) 00 0001 Write Data (01) 00 0011 Format Write (03) 00 0110 Read Data (06) 00 1011 Write Track (0B) 00 1100 Read Tracks (0C) 01 0110 Read (16)
4-14 Internal Disk Subsystem Reference Guide
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 Descriptions 4-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.
Table 4-9. Locate Record Operation Byte Values
Operation Code (Byte 0, Bits 2–7)
Cnt HA Data Idx
Orient 00 40 80 nv Write Data 01 nv 81 nv Format Write 03 43 nv nv Read Data 06 46 86 nv Write Track 0B nv nv nv Read Tracks 0C 4C nv nv Read 16 56 96 D6
Note: nv -- Combination is not valid.
Orientation
(Byte 0, Bits 0–1)
Auxiliary Byte – Byte 1
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
0 Usage of Bytes 1415
1–6 000000 Reserved
7 Read Count Suffix
Value Operation
0 Bytes 14–15 are not used
1 Bytes 14–15 contain a transfer length
factor
0 No Read Count as the last CCW in
the Locate Record domain
1 A 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 16: 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-16 Internal 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 Descriptions 4-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-18 Internal 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 Descriptions 4-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-20 Internal 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 DataWrite Key and DataWrite 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 Descriptions 4-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-22 Internal 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 Descriptions 4-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 trackOrient to home addressSend 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-24 Internal 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 systems 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 Descriptions 4-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-26 Internal Disk Subsystem Reference Guide
Locate Record Extended
Hex Code Data Address Count
4B The 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 Descriptions 4-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
Byte Parameter Name
0 Operation byte
1 Auxiliary byte
2 Reserved, must be zero.
3 Count
4–7 Seek address
8–12 Search argument
13 Sector number
14–15 Transfer length factor
16 Reserved, must be zero.
17 Extended Operation byte
18–19 Extended Parameter Length
20–21 Extended 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 Bits Orientation and Operation
0–1 Value Orientation Modifier
00 Count area 01 Home address 10 Data area 11 Index
2–7 Value Operation Code
00 0001 Write Data (01) 00 0011 Format Write (03) 00 1011 Write Track (0B) 00 1100 Read Tracks (0C) 01 0110 Read (16) 11 1111 Extended Operation (3F)
4-28 Internal Disk Subsystem Reference Guide
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 Descriptions 4-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
Operation Code (Byte 0, Bits 2–7) Orientation
(Byte 0, Bits 0–1)
Cnt HA Data Idx
Write Data 01 nv 81 nv 00 Format Write 03 43 nv nv 00 Write Track 0B nv nv nv 00 Read Tracks 0C 4C nv nv 00 Read 16 56 96 D6 00 Write Any 3F nv nv nv 09 Read Any 3F nv nv nv 0A Read Trackset 3F 7F nv nv 0E Prestage Trackset 3F 7F nv nv 10 Write Trackset 3F nv nv nv 11 Update Write Trackset 3F nv BF nv 13
Note: nv -- Combination is not valid.
Byte
17
Auxiliary Byte – Byte 1
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 Bits Value Operation
0 Usage of Bytes 1415
0 Bytes 14–15 are not used
1 Bytes 14–15 contain a transfer length
factor
1–6 000000 Reserved
7 Read Count Suffix
0 No Read Count as the last command
in the Locate Record Extended domain
1 A 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 16: 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-30 Internal 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 Descriptions 4-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-32 Internal 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
09 Write Any
0A Read Any
0E Read Trackset
10 Prestage Trackset
11 Write Trackset
13 Update 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 Descriptions 4-33
Table 4-16. Extended Operation Code Length
Extended Operation Codes Length
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-34 Internal 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 Descriptions 4-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-36 Internal 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 Descriptions 4-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 systems 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 1bits 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-38 Internal 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 x00’.
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 Descriptions 4-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-40 Internal Disk Subsystem Reference Guide
Disk, would encounter Invalid Command Sequence rather than Invalid Command in this instance.
Chapter 4. Command Descriptions 4-41
Prefix
Hex Code Data Address Count
E7 The 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-42 Internal Disk Subsystem Reference Guide
Format Byte:
Table 4-17. Prefix, Byte 0, Format
Bits Value Definition
0–7 Encoded Format
00 Basic Prefix Command (includes Define Extent)
01 Basic plus Locate Record Extended Parameters
02 Basic plus PSF Command Parameters
03–FF Reserved. Must not be set for Internal Disk
Field Validity Byte:
Table 4-18. Prefix, Byte 1, Field Validity
Bits Value Definition
0 0 Define Extent Field Invalid. Not used by Internal Disk.
1 Define Extent Field Valid
1 0 Time Stamp in bytes 28–35 invalid. Ignored by Internal Disk.
1 Time Stamp in bytes 28–35 valid. Ignored by Internal Disk.
2–7 0 Not used
Auxiliary Byte:
Table 4-19. Prefix, Byte 3, Auxiliary Byte
Bits Value Definition
0 1 Suspend Multipath Reconnection. Ignored by Internal Disk.
1–3 Ignored by Internal Disk.
4 0 Check all parameters in the Define Extent and Locate Record
Extended fields.
1 Parameter 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 Descriptions 4-43
Basic Prefix Command Parameters - Format Byte x‘00’
The parameter list has the following format:
Byte Parameter
0 Format 1 Flags 2 Not used 3 Auxiliary byte 4–11 Not used 12–43 Define 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 18 Global Attributes Additional 19 Global 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:
Byte Parameter
0 Format 1 Flags 2 Not used 3 Auxiliary byte 4–11 Not used 12–43 Define Extent Parameters 44–63 Locate 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 61 Extended operation byte 62–63 Extended parameter length 64–NN Extended Parameter. NN is equal to the value in bytes 6263 plus 63.
Basic Prefix command plus PSF Parameters - Format Byte x‘02’
The parameter list has the following format:
Byte Parameter
0 Format 1 Flags 2 Not used 3 Auxiliary byte 4–11 Not used 12–43 Define Extent Parameters 44–61 Not used
4-44 Internal Disk Subsystem Reference Guide
Byte Parameter
62–63 Perform 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 Descriptions 4-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-46 Internal Disk Subsystem Reference Guide
Seek
Hex Code Data Address Count
07 The 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 Descriptions 4-47
Seek Cylinder
Hex Code Data Address Count
0B The 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-48 Internal Disk Subsystem Reference Guide
Seek Head
Hex Code Data Address Count
1B The 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 Descriptions 4-49
Recalibrate
Hex Code Data Address Count
13 The 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-50 Internal Disk Subsystem Reference Guide
Set File Mask
Hex Code Data Address Count
1F The 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 domainWas 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 Descriptions 4-51
Set Sector
Hex Code Data Address Count
23 The 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
specifies (or implies) (CCHH) parameters; Seek, Seek Cylinder, Locate Record, or Read IPL command.
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-52 Internal Disk Subsystem Reference Guide
Read Sector
Hex Code Data Address Count
22 The 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 Descriptions 4-53
Read Device Characteristics
Hex Code Data Address Count
64 The 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-54 Internal Disk Subsystem Reference Guide
Table 4-20. Device Characteristics Data
Bytes Contents
0–1 Subsystem type
2 Subsystem model number and architecture
3–4 Device type
5 Device model
6–9 Subsystem and device facilities
10 Device class code
11 Device type code
12–13 Number of primary cylinders
14–15 Tracks per cylinder
16 Number of sectors
17–19 Track length
20–21 Length of HA and R0
22 Track capacity calculation formula
23–27 Track capacity calculation factors F1 through F5
28–29 First alternate cylinder address
30–31 Number of alternate tracks
32–33 First diagnostic cylinder address
34–35 Number of diagnostic tracks
36–37 First device support cylinder address
38–39 Number of device support tracks
40 MDR record ID
41 OBR record ID
42 Control Unit type code
43 Read Trackset parameter length
44–45 Maximum record zero length
46 Reserved
47 Track set size
48 Track capacity calculation factor F6
49–50 RPS sector calculation factors
51–53 Reserved
54 Device and Control Unit Features
55 Reserved.
56 Real Control Unit type code
57 Real Device type code
58–63 Reserved
Bytes 0 and 1: Contains the four-digit subsystem type number as four hexadecimal digits.
Chapter 4. Command Descriptions 4-55
Byte 2: Identifies the subsystem model number and the supported architecture. The active bits show:
Table 4-21. Byte 2 Definition
Bits Value Definition
0–1 b'11' ECKD Architecture
2 b1 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-56 Internal Disk Subsystem Reference Guide
Table 4-22. Bytes 6–9 Definition
Bytes Definition
6 Bits 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
7 Bits Definition
0 Subsystem supports Prestage Trackset (0C) operation. 1-7 Reserved, set to zeros
8 Bits 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
9 Bits 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 Descriptions 4-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-58 Internal 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 4950: 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 Descriptions 4-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
Bits Definition
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-60 Internal 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 Descriptions 4-61
Read Home Address
Hex Code Data Address Count
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
Bytes Definition
0 Flag, not used, set to zero.
1–4 Track 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-62 Internal Disk Subsystem Reference Guide
Loading...