Subsystem Control Block Architecture

The bus master in Micro Channel-based systems is capable of transferring data on the system channel without intervention from the system controller. Typically the system processor issues a request to the bus master. The bus master then takes charge and controls all further operations required to complete the request. The operations might be:

  • Issuing control commands to physical devices attached to the bus master
  • Data transfers to or from the physical device
  • Data transfer across the Micro Channel to or from system memory
  • Handling exception conditions
  • Notifying the system processor of completion of the operation.

    To utilize the power of the bus master we need an effective method of communicating control instructions to it.

    The Subsystem Control Block (SCB) architecture defines logical protocols and services needed to transfer commands, data, and status information between the system processor and a bus master adapter and between two bus master adapters. The term subsystem is used since the advanced function adapters are much more than simple interfaces to peripheral devices. These adapters typically have some intelligence built into them in the form of local processing power and can be regarded as "systems within a system".

    The SCB architecture provides a powerful means of communication between device drivers running in the system processor and I/O processors that are capable of operation independently from the system processor. The architecture defines a control block structure for use between functional entities in a base system processor and functional entities in advanced function adapters. Entities are defined as either client or server. Client entities make requests of server entities. The architecture also defines the way that control blocks are passed between entities in the system processor and entities in the feature adapters, or between entities in two adapters (peer-to-peer communication).

    The SCB architecture sees the system unit and each adapter logically structured into three levels:

  • The physical level handles the transfer of the control information and data across the Micro Channel. It accesses either the MCA-defined I/O address space or memory address space.

  • The delivery level is an interface between the physical level and the processing level. It uses the services provided by the physical level to transfer requests and replies between processing level entities.

  • At the processing level we have the client and server entities. The client builds and sends requests to the server and the client receives replies in response.

    We will now discuss the SCB architecture and the manner, in which it is implemented in the IBM SCSI adapters.


    [Back: Support for Generic SCSI Functions]
    [Next: I/O Port Definitions]