Arrangement for expanding the device capacity of a bus

Abstract: An arrangement (FIG. 1) that allows banks (15,25) of up to eight duplicated active devices (30-37,40-47) to be connected to a SCSI bus (14) and to share SCSI device IDs, and also allows multiple hosts (10,20) to share the SCSI bus and the connected active devices. Tri-state buffers (200) act as gates (13,23,38,48) to interface host adapters (12,24) of a plurality of hosts, and active devices of a plurality of device banks, to the SCSI bus. The gate of only one host adapter and the gates of only one bank of devices are enabled at any one time. Only the devices of the enabled bank can receive and respond to addresses from the SCSI bus, while the devices of the other banks are prevented from receiving and responding to addresses from the SCSI bus. Each host has a tri-state buffer acting as bank selector (16,26) for selecting one of the device banks, by enabling the gates of the devices of the selected bank through a bank select bus (50). Only one host's bank selector is enabled at any one time.

Description: Technical Field This invention is directed generally to communications buses, and is directed illustratively to the SCSI peripheral bus. Background of the Invention The Small Computer System Interface (SCSI) input/output (I/O) bus is widely-used to connect peripheral devices, such as input and output interface devices and mass storage devices (e.g., disks and tapes), to small and medium-size computers, including to workstations and personal computers (PCs). As the complexity of applications that these computers support increases along with their power, there is arising a need to connect these computers to ever-more peripheral devices. Furthermore, as these computers come to support more mission-critical applications, the need for highly-reliable configurations (e.g., duplicated or redundant configurations) is becoming pronounced. Unfortunately, the SCSI bus is not well suited to meet these needs. The standard SCSI bus has an addressing limit of eight device identifiers (IDs) and hence is limited to having only eight peripheral devices connected thereto. This number is reduced to only four distinct duplicated devices in a fault-tolerant application that relies on active-device redundancy. Furthermore, the SCSI bus standard requires each device ID to be unique. "Control to Enable One of Duplicate Circuits", IBM Technical Disclosure Bulletin, vol. 21, no. 11, April 1979, US, pp.4413-4414, discloses a scheme to enable one of two duplicate bus interfaces. Both interfaces use duplicate circuits, and are addressed by the same addresses on an ADDRESS bus. The addresses from the ADDRESS bus are received and decoded in both interfaces. But a LOCK signal activates the output of only one interface. The state of the LOCK signal determines whether data from an IBUS is transferred to an IBUS A or an IBUS B, and whether the address from a REGS or a REG15 is transferred to a common BUS. Summary of the Invention Apparatus and a method according to the invention are as set out in the independent claims Brief Description of the Drawing FIG. 1 is a block diagram of an illustrative computer system that includes an illustrative embodiment of the invention; FIG. 2 is a block diagram of a host adapter gate of the system of FIG. 1; FIG. 3 is a block diagram of a bank selector of the system of FIG. 1; FIG. 4 is a block diagram of a device gate of device bank 0 of the system of FIG. 1; and FIG. 5 is a block diagram of a device gate of device bank 1 of the system of FIG. 1. Detailed Description FIG. 1 shows an illustrative fault-tolerant SCSI-based computer system. The shown computer system comprises a pair of computers, computer 0 and computer 1, that mirror each other and operate in conventional active-standby redundancy mode. Illustratively, computer 0 is presently designated as the on-line computer and computer 1 is presently designated as the off-line, or standby, computer. Each computer 0,1 includes a conventional processor 10,20 such as a workstation or a PC, connected by means of an I/O bus 11,21 and a host adapter 12,22 to a SCSI bus 14. SCSI bus 14 is connected to a plurality of peripheral devices 30-37,40-47. These devices are assumed to include the conventional interface circuitry for connecting to a SCSI bus. Devices 30-37 illustratively duplicate devices 40-47 both in type and in data content. All devices 30-37, 40-47 are active, e.g., enabled, except during special circumstances such as device failure. According to the invention, devices 30-37 form one bank 15 of devices, designated as bank 0, while devices 40-47 form another bank 25 of devices, designated as bank 1, and only one of the two banks 15,25 of devices is addressable, and hence accessible, via SCSI bus 14 at any one time. Which bank 15,25 is presently accessible is controlled by the on-line one of the processors 10,20 by means of a bank select bus 50. Each device 30-37,40-47 of a bank 15,25 is coupled to SCSI bus 14 by its own gate 38,48, and bus 50 controls all gates 38,48 of a particular bank 15,25 in tandem so as to communicatively couple or uncouple that bank's included devices 30-37,40-47 to or from SCSI bus 14 simultaneously. A bank-selection operation performed across bus 50 must precede the SCSI bus operation (e.g., device access) of interest. Each processor 10,20 has an associated bank selector 16,26 that interfaces that processor's I/O bus 11,21 to bank select bus 50. Only the on-line processor's bank selector is active at any one time, thereby permitting only the presently-on-line processor to control bank selection. Similarly, only the on-line one of the processors 10,20 has access to SCSI bus 14 at any one time. Each processor's corresponding host adapter 12,22 is interfaced to SCSI bus 14 by a gate 13,23. Only the on-line processor's host adapter is functionally connected by its gate to SCSI bus 14 at any one time, thereby permitting only the presently-on-line processor to access the devices on SCSI bus 14. FIG. 2 shows an illustrative structure of host adapter gate 13, which is representative of all host adapter gates in the system of FIG. 1. Gate 13 comprises a tri-state buffer 200 that is interposed between host adapter 12 and SCSI bus 14. Buffer 200 is a conventional device, such as the Texas Instruments tri-state device no. 244. Alternatively, a digitally-controlled analog switch may be used. An enable (EN) input of buffer 200 is connected to an ACTIVE lead 201 from processor 10. While processor 10 is the on-line processor, it asserts lead 201 and thereby enables buffer 200. Enabled buffer 200 communicatively connects host adapter 12 with SCSI bus 14. While processor 10 is not the on-line processor, it deasserts lead 201 and thereby disables buffer 200. Disabled buffer 200 is in the tri-state mode, and thereby communicatively disconnects host adapter 12 from SCSI bus 14. FIG. 3 shows an illustrative structure of bank selector 16, which is representative of all bank selectors in the system of FIG. 1. Bank selector 16 structurally duplicates host adapter gate 13. Tri-state buffer 200 of bank selector 16 couples one or more address leads of I/O bus 11 to the leads of bank select bus 50. In the configuration of FIG. 1 where there are only two banks of devices, bank select bus 50 is illustratively only a single lead, and hence bank selector 16 couples only one --illustratively the most significant-- address lead of I/O bus 11 to bus 50. While processor 10 is the on-line processor, bank selector 16 is enabled via ON-LINE lead 201 and passes through to bus 50 the address-bit value by means of which processor 10 selects one or the other of banks 15 and 25. Illustratively, deassertion of bus 50 serves to select bank 15, while assertion of bus 50 serves to select bank 25. While processor 10 is not the on-line processor, bank selector 16 is disabled via ON-LINE lead 201. Disabled bank selector 16 is in the tri-state mode, and thereby communicatively disconnects I/O bus 11 from bus 50. FIG. 4 shows an illustrative structure of a device gate 38, which is representative of all device gates 38 in the system of FIG. 1. Device gate 38 structurally also duplicates host adapter gate 13. Tri-state buffer 200 of device gate 38 couples the connected device 30 to SCSI bus 14. Its enable input is connected to bank select bus 50 through an inverter 400. While bus 50 is deasserted, thereby signaling selection of device bank 15 by the on-line one of the processors 10,20, the enable input of buffer 200 of gate 38 is asserted and buffer 200 is enabled thereby. Enabled buffer 200 communicatively connects device 30 to SCSI bus 14, thereby enabling device 30 to receive and respond to its address from SCSI bus 14. While bus 50 is asserted, thereby signaling selection of device bank 25, the enable input of buffer 200 of gate 38 is deasserted and buffer 200 is disabled thereby. Disabled buffer 200 is in the tri-state mode, and thereby communicatively disconnects device 30 from SCSI bus 14, preventing device 30 from receiving and responding to its address from SCSI bus 14. FIG. 5 shows an illustrative structure of a device gate 48, which is representative of all device gates 48 in the system of FIG. 1. Device gate 48 duplicates device gate 38 but for the fact that bus 50 is connected directly to the enable input of buffer 200 of gate 48. As a consequence, gate 48 is enabled by bus 50 whenever gate 38 is disabled by bus 50, and vice versa. As a consequence, at any one time, only one bank 15,25 of devices is communicatively connected to SCSI bus 14 and is accessible thereacross. Hence, even though a pair of active devices 30-37,40-47 share the same SCSI bus device ID, only one device of that pair is able to respond on SCSI bus 14 to that device ID at any one time. Of course, various changes and modifications to the illustrative embodiment described above will be apparent to those skilled in the art. For example, the illustrative computer system may be expanded to include more than just two hosts and/or device banks, or even entire computers. In such a configuration, each host will have its own bank selector, and may either share a host adapter with another host or have its own host adapter, each host adapter will have its own host adapter gate. If there are more than two device banks, the bank select bus will be a multi-lead bus, illustratively having a separate enable lead connected to each device bank, and each bus selector will additionally include conventional logic circuitry that converts bank-selection address signals received from its connected I/O bus into assertion of only one of the leads of the bank select bus. Or, the host need not operate in an on-line/off-line configuration, but rather may operate in a multiprocessor configuration where all hosts are on-line simultaneously. In such an arrangement, an arbitration mechanism is provided to enable only one host to access the SCSI bus at any one time --only that one host's ON-LINE lead or a functional equivalent thereof will be asserted at any one time. Conversely, the invention may be used to advantage with only one host, simply to expand the number of devices supportable on the SCSI bus.

Claims: An apparatus comprising: a communications bus (14); a plurality of davice banks (15, 25) each comprising a plurality of addressable devices (30-37, 40-47), the devices of one device bank being addressed by the same addresses on the communications bus as the devices of the other device banks; and selection means (16, 38, 48, 50) coupled to the the devices on each of the plurality of device banks, CHARACTERISED IN THAT each of said pluralities of addressable devices comprises a plurality of active addressable devices connected to the communications bus for communicating on the communications bus; and the selection means comprise means (38, 48) for enabling the active addressable devices of only one of the device banks at any one time to receive, and thus be addressed by, addresses on the communications bus while preventing the active addressable devices of the others of the plurality of device banks at the one time from receiving, and thus being addressed by, addresses on the communications bus. The apparatus of claim 1 CHARACTERISED IN THAT the selection means comprise a plurality of means (38,48) each connecting a corresponding active device to the medium, each for selectively either (a) communicatively coupling the corresponding active device to the medium or (b) communicatively uncoupling the corresponding active device from the medium, at any one time. The apparatus of claim 1 further CHARACTERISED BY : a plurality of hosts (10,20), each for communicating with the active devices on the medium; and selective coupling means (13,23,201) connecting the plurality of hosts to the medium, for communicatively coupling only one of the plurality of hosts to the medium at any one time. The apparatus of claim 1 CHARACTERISED IN THAT : the communications medium comprises a SCSI bus (14); the first and the second active addressable devices comprise a plurality of device banks (15,25), each comprising a plurality of active devices (30-37, 40-47), the active devices of one device bank having same SCSI addresses on the SCSI bus as the active devices of the other device banks; and the selection means comprise means (16,38,48,50) coupled to the plurality of device banks, for enabling the active devices of only one of the plurality of device banks at any one time to receive addresses on the SCSI bus while preventing the active devices of the others of the plurality of device banks at the one time from receiving addresses on the SCSI bus. The apparatus of claim 4 CHARACTERISED IN THAT the selection means comprise a plurality of first gate means (38,48), a different one selectively communicatively connecting or disconnecting each active device of the plurality of device banks to or from the SCSI bus, and bank select means (16) connected to the plurality of first gate means, responsive to selection of one of the device banks by a SCSI host (10), for causing the first gate means to communicatively connect the active devices of only the selected one of the device banks to the SCSI bus at any one time. The apparatus of claim 4 further CHARACTERISED BY : a plurality of SCSI hosts (10,20), each for communicating with active devices on the SCSI bus; and selective coupling means (13,23,201) connecting the plurality of SCSI hosts to the SCSI bus, for communicatively coupling only one of the plurality of SCSI hosts to the SCSI bus at any one time. The apparatus of claim 1 CHARACTERISED IN THAT : the communications medium comprises a SCSI bus (14); the first and the second active addressable devices comprise a plurality of device banks (15,25), each comprising a plurality of active devices (30-37, 40-47), the active devices (30-37) of one device bank (15) having same SCSI addresses on the SCSI bus as the active devices (40-47) of the other device banks (25); the selection means comprise a plurality of first gate means (38,48), each one communicatively connecting, when enabled, a different corresponding active device of the plurality of device banks to the SCSI bus, and each one communicatively disconnecting, when disabled, the corresponding active device from the SCSI bus; a plurality of hosts (10,20), each having its own SCSI host adapter (12,22); a plurality of second gate means (13,23), each one communicatively connecting, when enabled, a different corresponding one of the SCSI host adapters to the SCSI bus, and each one communicatively disconnecting, when disabled, the corresponding SCSI host adapter from the SCSI bus; a bank select bus (50) connected to the plurality of first gate means for selectively enabling the first gate means of the active devices of only one of the device banks at any one time while at the one time disabling the first gate means of the active devices of the others of the device banks; a plurality of bank selectors (16,26) connected to the bank select bus, each bank selector corresponding to a different one of the plurality of hosts, each responsive, when enabled, to selection by the corresponding host of a device bank for causing the bank select bus to enable the first gate means of the active devices of the selected device bank, and each non-responsive to the selection when not enabled; and enabling means (201) coupled to the plurality of second gate means and to the plurality of bank selectors for enabling, at any one time, the second gate means and the bank selector corresponding to only a selected one of the plurality of hosts. The apparatus of claim 7 CHARACTERISED IN THAT each first gate means (38,48), each second gate means (13,23), and each bank selector (16,26) comprises a tri-state buffer (200). A method of operating an apparatus comprising a communications bus (14) and a plurality of device banks (15, 25) each comprising a plurality of active addressable devices (30-37, 40-47) connected to the communications bus for communicating on the communications bus, the active addressable devices of one device bank being addressed by the same addresses on the communications bus as the active addressable devices of the other device banks, comprising the steps of: in response to receipt of a device bank selection signal, enabling the active addressable devices of only a selected one of the plurality of device banks at any one time to receive, and thus be addressed by, addresses on the communications bus; and in response to said receipt, preventing the active addressable devices of the others of the plurality of device banks at the one time from receiving, and thus be addressed by, addresses on the communications bus.

Inventors: LITERATI ALAN JAY, NICHOLS JOHN MICHAEL, SUEPER DAVID MARTIN, WINDHAUSEN RICHARD ALAN, LITERATI, ALAN JAY, NICHOLS, JOHN MICHAEL, SUEPER, DAVID MARTIN, WINDHAUSEN, RICHARD ALAN
Applicants: AT & T CORP, AT&T CORP.
Application year: 1994
Main classification: G06F13
IPC codes: G06F13, G06F12