The CD and CC flags are ignored in the
transfer-in-channel command.
indirect data addressing is invoked, see
the section "Channel Indirect Data
Addressing" later in this chapter.
Note: For a description of the storage area associated with a CCW when channel
Flags in Current CCW CD CC SLI 0 0 0 0 0 1 0 1 0 0 1 1
1 --
Action in Channel upon Exhaustion of Count or Receipt of Channel End
Nonimmediate Operation
Immediate Operation I II III
End, NIL Stop, IL End, NIL End, IL
End, NIL Stop, NIL End, NIL End, NIL Chain Command Stop, IL Chain command End, IL Chain Command Chain command Chain command Chain command
End, NIL Chain Data * End, IL
Explanation:
I
II
III
End
Stop
IL
NIL
May be either zero or one. Count exhausted, end of block at device not reached Count exhausted and channel end from device Count not exhausted and channel end from device
The operation is terminated. If the operation is
immediate and has been specified by the first CCW associated with START I/O (or START I/O FAST RELEASE
executed as START I/O), condition code 1 is set, and
the status portion of the CSW is stored as part of the
execution of the instruction. In all other cases, an
interruption condition is generated in the subchannel.
The device is signaled to terminate data transfer, but
the subchannel remains in the working state until
channel end is received; at this time an interruption
condition is generated in the subchannel.
Incorrect length is indicated with the interruption
condition.
Incorrect length is not indicated. Chain command The channel performs command chaining upon receipt of
device end. Chain data The channel immediately fetches a new CCW for the same
operation.
The situation where the residual count is zero but data
chaining is indicated at the time the device provides
channel end cannot validly occur. When data chaining
is indicated, the channel fetches the new CCW after
transferring the last byte of data designated by the
current CCW but before the device provides the next
request for data or status transfer. As a result, the
channel recognizes the channel end from the device only
after it has fetched the new CCW, which cannot contain
a count of zero unless a programming error has been
made. Channel-Chaining Action Chapter 13. Input/Output Operations 13-41
Data Chaining During data chaining, the new CCW fetched by the channel defines a new
storage area for the original I/O opera­
tion. Execution of the operation at the I/O device is not affected. When all
data designated by the current CCW has
been transferred to storage or to the
device, data chaining causes the opera­
tion to continue, using the storage area
designated by the new CCW. The contents
of the command-code field of the new CCW are ignored, unless they specify trans­
fer in channel. Data chaining is considered to occur
immediately after the last byte of data
designated by the current CCW has been
transferred to storage or to the device.
When the last byte of the transfer has
been placed in storage or accepted by
the device, the new CCW takes over the
control of the operation and replaces
the pertinent information in the
subchannel. If the device signals chan­
nel end after exhausting the count of
the current CCW but before transferring
any data to or from the storage area designated by the new CCW, the CSW asso­
ciated with the concluded operation
pertains to the new CCW. If programming errors are detected in
the new CCW or during its fetching, the
error indication is generated, and the
device is signaled to conclude the oper­
ation when it attempts to transfer data
designated by the new CCW. If the
device signals channel end after the new CCW takes control but before trans­
ferring any data designated by the new CCW, program check or protection check
is indicated in the CSW associated with
the termination. The contents of the CSW pertain to the new CCW unless a program check or protection check is
generated while fetching the new CCW or
while fetching or executing an interven­
ing transfer-in-channel command. A data
address which causes a program check or
protection check gives an error indi­
cation only after the I/O device has
attempted to transfer data to or from
the addressed storage location.
If the chain-data flag is set to one in
the current CCW, and the count has not
been exhausted when the device signals
channel end, the operation is
terminated. An interruption condition
is generated in the subchannel with
incorrect length indicated. The
incorrect-length condition is indicated
regardless of the setting of the SLI bit
in the current CCW. Data chaining during an input operation
causes the new CCW to be fetched when
all data designated by the current CCW has been placed in storage. On an
output operation, the channel may fetch
the new CCW and the data and IDAWs asso-
13-42 System/370 Principles of Operation ciated with the prefetched CCW (as
specified by the data-address field of
the CCW or the data-address fields from
the IDAWs and the count field of the CCW) from storage before data chaining
occurs. Any programming errors in a prefetched CCW, however, do not affect
the execution of the operation until all
data designated by the current CCW has
been transferred to the I/O device. If
the device concludes the operation
before all data designated by the
current CCW has been transferred or if
data chaining is suppressed for any
other reason, the errors associated with
the prefetched CCW are not indicated to
the program.
During an output operation, the channel
may prefetch only one CCW describing a
data area; however, the data and IDAWs
associated with the prefetched CCW may
also be prefetched. If the prefetched CCW specifies transfer in channel, only
one more CCW may be fetched before the
exhaustion of the current CCW. Programming Notes
1. Data chaining may be used to re­
arrange data as it is transferred
between storage and an I/O device.
Data chaining permits data to be
transferred to or from noncontig­
uous areas of storage, and, when
used in conjunction with the skip­
ping function (see the section
"Skipping" later in this chapter),
data chaining enables the program
to place in storage selected
portions of a block of data.
When, during an input operation,
the program specifies data chaining
to a location in which data has
been placed under the control of
the current CCW, the channel, in
fetching the next CCW, fetches the
new contents of the location. This
is true even if the location
contains the last byte transferred
under the control of the current CCW. When, on input, a program data-chains to a CCW placed
in storage by the CCW specifying
data chaining, the block is said to
be self-describing. A self­
describing block contains one or
more CCWs that specify storage
locations and counts for subsequent
data in the same block.
The use of self-describing blocks
is equivalent to the use of
unchecked data. An I/O data­ transfer malfunction that affects
validity of a block is signaled
only at the completion of data transfer. The error normally does
not prematurely terminate or other­
wise affect the execution of the
Previous Page Next Page