Browse Prior Art Database

Data Byte Counting in I/O Channels

IP.com Disclosure Number: IPCOM000051811D
Original Publication Date: 1981-Mar-01
Included in the Prior Art Database: 2005-Feb-11
Document File: 5 page(s) / 91K

Publishing Venue

IBM

Related People

Browning, RC: AUTHOR

Abstract

In the contemporary data processing system illustrated in Fig. 1, one or more groups of I/O channels 1 operate through common processors 2, termed directors, for exchanging input and output information between a host central system 3 and channel-to-control unit I/O interfaces 4 associated with the channels. The channels in each group receive service from the associated director in a predetermined order of priority. If a director is unavailable when a device or control unit requests service through as associated channel the process in that channel may overrun (refer to "IBM System/370 Principles of Operation," form GA22-7000-5, August 1976, page 220). Overruns impose costly programming overhead on the host system, for diagnosing the cause of the overrun and reinitiating the input or output process interrupted by the overrun.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 22% of the total text.

Page 1 of 5

Data Byte Counting in I/O Channels

In the contemporary data processing system illustrated in Fig. 1, one or more groups of I/O channels 1 operate through common processors 2, termed directors, for exchanging input and output information between a host central system 3 and channel-to-control unit I/O interfaces 4 associated with the channels. The channels in each group receive service from the associated director in a predetermined order of priority. If a director is unavailable when a device or control unit requests service through as associated channel the process in that channel may overrun (refer to "IBM System/370 Principles of Operation," form GA22-7000-5, August 1976, page 220). Overruns impose costly programming overhead on the host system, for diagnosing the cause of the overrun and reinitiating the input or output process interrupted by the overrun. The likelihood or frequency of overrun occurrence is proportional to the rate of data transfer at the channel-to-control unit interface. As indicated below, input data transfer operations extended by "data chaining"" (refer to page 213 in GA22-7000-5, above) are particularly susceptible of overrunning during the preparation for data chaining, when the rate of data transfer is high.

During data transfer operations a ""Remaining Byte Count'' having a value initially specified by the channel command word (CCW) defines the number of bytes that remain to be transferred to or from the channel. This count, maintained by the director, is a 2-byte number which is repeatedly decremented as bytes are transferred. When this count is exhausted (i.e., when its value becomes 0), and if data chaining is specified by the currently effective CCW, the director must fetch a new CCW from main storage and prepare the channel for chained continuation of the data transfer operation under control of the new CCW. If the current operation is an input data transfer, the device control unit, being unaware of the chaining preparation process, continues to send data bytes to the channel during the ""preparation hiatus''. If the number of bytes of data received during this hiatus exceeds the remaining byte count specified by the new CCW, the operation is considered to have overrun and must be ""abnormally'' terminated. Naturally, the higher the data transfer rate the greater the likelihood that such overruns will occur.

Ordinarily, the director would be responsible for determining the number of bytes received during the preparation hiatus, and for determining whether that number exceeds the new remaining byte count, in addition to performing the preparational activities for data chaining and other operations for other channels. Accordingly, the likelihood of overrun, for channels which operate at critically high speeds, can be reduced by adapting such channels individually to perform some of the above functions. A particular adaptation of a high speed channel for this purpose is the subject of this article....