Abstract: A universal electrical interface system connects to a small computer system interface (SCSI) bus. In a passive embodiment, a set of single-ended receivers and a set of differential receivers receive electrical signals on the SCSI bus according to the single-ended or differential protocol, respectively, when each set of receivers is enabled. In an active embodiment, a set of single-ended transceivers and a set of differential transceivers transmit and receive electrical signals on the SCSI bus according to the single-ended or differential protocol, respectively, when each set of transceivers is enabled. A control mechanism connected to both sets of receivers or transceivers automatically determines whether the SCSI bus is configured to use either the single-ended or differential parallel interface protocol and selectively enables the set of single ended receivers or transceivers, or the set of differential receivers or transceivers.
Abstract: A software architecture and method for controlling multi-thread peripheral operations in an initiator device such as a computer equipped with a SCSI interface. A data structure is provided for storage of thread context parameters. High level code places a low level driver in either a single-thread or multi-thread mode, and then issues peripheral commands by calling the low level driver. The low level driver manages the interface protocol, returning to the high level code when a command is complete, or if in multi-thread mode, when a command disconnects. Management of the data structure is accomplished by the low level driver, minimizing the impact of multi-thread operations on the high level code.