Apparatus and method for improving the communication efficiency between a host processor and peripheral devices connected by an SCSI bus
AssigneeInternational Business Machines Corporation
InventorsDon S. Keener, Andrew B. McNeill, Edward I. Wachtel
Life of this patent
Estimating the term…
Abstract
Apparatus and method for increasing efficiency of command execution from a host processor over an SCSI bus. Arbitration, selection and message out functions of SCSI protocol are implemented using a background arbitration state machine. Additional protocol functions are implemented in a foreground state machine. When the host processor issues a command for access to the SCSI bus, the background state machine can be programmed before the foreground machine completes the protocol function for a previous command. Thus, the background state machine is ready to arbitrate for access to the bus at the very next bus free condition.
Claims14
A method for improving communication efficiency between a host processor connected to an SCSI bus through an adapter, and a plurality of SCSI devices connected to said bus comprising:
- storing arbitration and selection data corresponding to a protocol command phase for a peripheral device in a first set of registers comprising a background state machine;
- arbitrating with said background state machine for access to said SCSI bus using said arbitration data when said bus is free, and establishing a communication link with a physical unit of said peripheral device in accordance with said selection data;
- storing command out data for said selected physical unit of said peripheral device in a second set of registers comprising a foreground state machine for executing a foreground state machine protocol and functions which transfer data to said peripheral device;
- executing said foreground state machine protocol whereby said command out data is transferred to said peripheral device;
- and
- storing in said background state machine additional arbitration and selection data after said communication link is established and prior to completion of said foreground functions execution, whereby said host processor and adapter having a higher priority than said peripheral device are preset to arbitrate and thereby win access as soon as said foreground execution is complete before any other peripheral device can gain access to said bus.
An apparatus for improving the communication efficiency between a host processor and a plurality of peripheral devices connected to an SCSI bus comprising:
- an adapter connecting said host processor to said SCSI bus including:
- a foreground state machine device for controlling data transfer between a data buffer and said SCSI bus, and for transmitting command out data over a link established between said adapter and a peripheral device;
- a busy detector for indicating a bus free condition on said SCSI bus;
- a background arbitration state machine device for arbitrating for access to said SCSI bus when said busy detector indicates a bus free conditions, and for establishing a communication link in response to selection function data with a physical unit of a peripheral device, said background state machine device enabling said foreground state machine to transmit said command out data over said link;
- a microcontroller connected to said background arbitration device and said foreground state machine device for supplying arbitration, selection data and message out data to said background arbitration device, and, command out data to said foreground state machine device in response to a request from said host processor for access to a peripheral device, said microcontroller supplying subsequent arbitration, selection data and message out data to said background arbitration device prior to completion of transmission of command out data by said foreground device when said host processor has another request for another of said peripheral devices, whereby said background arbitration device is programmed to arbitrate for access for said bus prior to completion of transmission by said foreground state machine of said command out data upon a subsequent busy free condition insuring access to said bus by said host processor, whereby said host processor having a higher priority than other devices connected to said bus is awarded access to said bus.
An apparatus for improving communication efficiency between a higher priority host processor and a plurality of lower priority peripheral devices connected to an SCSI bus comprising:
- an adapter connecting said host processor to said SCSI bus including:
- a background state machine for performing a portion of protocol functions for said SCSI bus, including arbitration for access to said SCSI bus, and performing a selection and message out function to establish a communication link with a peripheral device;
- a foreground state machine for performing the remaining protocol functions once said link has been established, including a command out function to transfer data from said adapter to said peripheral device;
- a microcontroller for providing data to said background state machine and foreground state machine for performing said protocol functions said microcontroller supplying subsequent arbitration, selection and message out data to said background state machine once said communication link is established, whereby said adapter is conditioned to arbitrate for access to said bus while said foreground state machine completes said remaining protocol functions with said peripheral device, permitting said higher priority host processor and adapter to arbitrate for and win access to said SCSI bus.
Dependencies are inferred from the claim text.