Browse Prior Art Database

System/370 I/O Channel Program Channel Command Word Prefetch

IP.com Disclosure Number: IPCOM000035705D
Original Publication Date: 1989-Aug-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 4 page(s) / 79K

Publishing Venue

IBM

Related People

Blades, J: AUTHOR [+9]

Abstract

This article describes a mechanism by which a System/370 (S/370) channel attachment I/O Processor (IOP) can fetch and execute channel program segments, i.e., CHAINS of channel command words (CCWs), as a single unit. The mechanism allows the contravention of the formal S/370 Channel I/O Architecture (specifically the prefetch of multiple CCWs and associated parameters and/or Indirect Data Address Words (IDAWs)) with techniques making this contravention transparent to the host system and the architecture. The attached device is then instructed to perform a single operation corresponding to the prefetched CCW group, thus improving the performance of the IOP/device subsystem.

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 47% of the total text.

Page 1 of 4

System/370 I/O Channel Program Channel Command Word Prefetch

This article describes a mechanism by which a System/370 (S/370) channel attachment I/O Processor (IOP) can fetch and execute channel program segments, i.e., CHAINS of channel command words (CCWs), as a single unit. The mechanism allows the contravention of the formal S/370 Channel I/O Architecture (specifically the prefetch of multiple CCWs and associated parameters and/or Indirect Data Address Words (IDAWs)) with techniques making this contravention transparent to the host system and the architecture. The attached device is then instructed to perform a single operation corresponding to the prefetched CCW group, thus improving the performance of the IOP/device subsystem. The mechanism allows the use of generic data transfer hardware available on an IOP, which does not directly support real-time CCW fetch, to be used for this high performance CCW prefetch and execution.

In order to remain within the formal bounds of the architecture, this mechanism incorporates several techniques to insure that the CCW prefetch is transparent to the S/370 software controlling the channel program: CCW prefetch is performed only to the end of a command obain, to a predetermined portion of a data chain, or to a point in the command/data chain for which the prefetched CCW chain corresponds to a logical device operation at the device interface. Host storage 2K page boundary checks are performed prior to CCW or parameter transfers, and if a 2K page boundary crossing will occur, the transfer is performed in multiple, separate steps. Validation of all the prefetched CCWs is performed with context constraint checking between the CCWs in the chain. If an error in the channel program CCWs is detected, operations defined by the CCWs in the chain prior to the error will be performed, and the error will then be reported at the appropriate point in the chain, as if the CCWs were being executed singly.

Self-modification checking is performed on read CCW chains with data chaining or IDAWs prior to the start of any operation. This checking will determine if the chain is self-describing, i.e., CCWs in the chain will be overwritten by the operation of a previous CCW in the chain, either through data chaining or IDAWs, and therefore cannot be used validly when prefetched. The CCW prefetch mechanism will truncate the CCW chain segment to be operated on at the point where a self-modified CCW would take control of execution. The device operation corresponding to this truncated chain is then built and executed. When the operation completes, execution of the channel program will continue at the CCW address where the segment was truncated, thus insuring execution of the modified CCWs.

The CCW Prefetch mechanism shown in the figure is invoked when the IOP has received an SIO(F) from the Host system, and the execution of the Channel Program is to be started. The CCW Prefetch mechanism is invoked with parameters, inc...