The Small Computer Systems Interface (SCSI), e.g., SCSI-2, is a standardized relationship of commands and responses for communicating across a bus, widely used to couple peripheral devices, such as input and output devices and data storage devices (e.g., disks and tapes), to small and medium-size host computers, including to workstations and personal computers (PCs).
It may be advantageous for more than one host computer to non-concurrently utilize the same data storage device so that the host computers may share the same stored data. Several approaches have been advanced for allowing sharing of the same data storage device.
U.S. Pat. No. 4,975,838, Mizuno et al., describes a duplex, concurrent system with bus connecting units for selectively interconnecting two system busses, each having a memory unit. The specialized bus connecting units are operated under a specialized, non-standard arrangement to switch the connections to allow either system to operate separately, or to be interconnected to each other so that the memory units have the same addresses and are operated simultaneously. Non-concurrent use of the same data cannot be conducted using standard SCSI protocol, and requires coordination of the interconnection process.
U.S. Pat. No. 4,821,170, Bernick et al., provides a multiple-channel direct memory access device I/O controller for arbitrating data bus usage between two host processors by operating latches associated with each of two ports to "grant ownership" of the device controller to one of the ports. Again, the specialized logical interconnection process prevents non-concurrent use of the same data using standard SCSI protocol.
U.S. Pat. No. 5,471,634, Giorgio et al., interfaces a plurality of hosts with a controller which operates a SCSI initiator to interface with a plurality of peripheral target devices. The controller stores the status of each device for all host processors and, when a host requests status, the controller clears its memory for the host for the target. However, the hosts are on the same bus and a specialized host adapter is required to independently and logically connect through the SCSI initiator to a target device.
U.S. Pat. No. 5,596,727, Literati et al., provides gates which enable only one host and only one bank of devices at a time over a SCSI bus. The gates are specifically enabled and disabled, preventing non-concurrent use of the same data using standard SCSI protocol.
Another approach is to simply employ separate SCSI device ports for each of the hosts, allowing the hosts to non-concurrently share the device without requiring the changing of SCSI cables. Typically, under SCSI-2, while both device ports are online, the hosts are treated for the most part as if they were on the same SCSI bus.
This results in the problem that, when the storage device is recovering from a reset condition on one SCSI bus at one port, a host from another SCSI bus at another port may "steal" the storage device. Depending on the status of the device, for example, if a tape cartridge is loaded and ready on the device, the second host may reposition the tape and operate with the tape cartridge to the detriment of the original host.