(From: Jerry Marazas, IBM Boca Raton) X3T9.2/88-069 Subject: Architecture for SCSI 60 Lead Interface INTRODUCTION This proposal addresses reliability and performance tuning aspects of the Physical interface between SCSI devices and their host system interface. The intent is to define an optional extension to the present 50 lead SCSI bus supporting the first 8 bits of SCSI data path. New devices implementing the proposed expanded interface are allowed to coexist freely with devices which have not implemented the proposed functions. No limitation shall exist relative to implementation of the proposal in a single ended or in a differential SCSI environment. Physical realization of the proposal will require a 60 lead (for first 8 bits of data path) interface between the systems attachment point and the given SCSI device or enclosure box supporting the SCSI device. The first 50 leads of the interface are identical to the present SCSI standard and thus are not discussed further within this proposal. The present discussion focuses entirely on the functions and architecture supported by the additional 10 leads. PROBLEM STATEMENT The present proposal addresses functions which ease reliability, performance, and user friendliness problems existing in the present definition and implementation of the SCSI interface. These problems are respectively: O RELIABILITY -- The SCSI bus requires termination at both ends in order to ensure proper operation. In many cases the SCSI bus is implemented with a portion inside the systems unit and another portion external to the systems unit. Most often the external portion is exposed to relatively frequent additions/deletions of attached equipment. Too often, the proper placement of the terminator unit is neglected/ forgotten. On those occasions when the terminator is not put in place, then intermittent errors may occur and problem identification is very difficult. The present proposal contains means to detect the presence of the external terminator and in the process ensure more reliable operation. O PERFORMANCE -- Priority of data transfer on the SCSI bus is set by the value of physical ID of each connected device. During arbitration and reconnect cycles, if multiple compete, the unit with the highest numerical value of physical ID will win. This victory is independent of of the logical role in the applications environment played by the given device relative to all other devices attached to the same SCSI bus. The assumption is that the user has chosen intelligently the values of physical ID for each device. One problem is that the selection of physical ID is made by operator manual intervention via jumpers or rocker switches to be set on each device. The physical difficulty in changing the physical ID requires that a static performance optimization be made. Many application environments are dynamic and would benefit from more frequent changes of device ID than is possible today. The present proposal provides electronic means to change the device ID so that dynamic performance tuning becomes practical. O FRIENDLINESS-- As an additional aspect of the point above, it is difficult to set the required value of physical ID. Physical location of ID setting varies widely on devices from different manufacturers. Additionally, various system packaging concepts may make access difficult to the involved jumpers/ switches. In certain instances, tools are required to make the necessary change. As SCSI devices become more and common in personal computing, data processing environments, it becomes a problem if not unreasonable burden to the user. The present proposal for electronic means to set physical ID makes SCSI substantially more user friendly. SOLUTION ARCHITECTURE The two basic functions discussed in the problem section are (1) detection of external terminator and (2) the provision of electronic overwrite capability to define the value of physical ID for a given SCSI device. Function (1) is supported by means of two physical leads and function (2) is supported by eight physical leads -- making a grand total of 60 leads connecting the system attachment point and each SCSI device. The first 50 of these leads are exactly as defined in the SCSI 1 specification and in the A cable for SCSI 2. This section discusses the role played by only the 10 new leads required to implement the functions contained in this proposal. A following section describes flow scenarios depicting the manner in which the new functions interact with a SCSI system. The following table provides definition for the ten new leads. Lead Number Function Comments 51 Ground Provides continuation to lead 50 of alternating pattern signal and ground 52 Terminator Detect 53 Configuration Reset Resets Propagation path set by action of leads 59 and 60 below 54 Read Address Strobe,Read present value Physical ID 55 Write Address Strobe,Write(set) new value Physical ID 56 Address Bus 1 Bus to Read/Write Physical ID 57 Address Bus 2 Bus to Read/Write Physical ID 58 Address Bus 3 Bus to Read/Write Physical ID 59 Config Request In Input to Device 60 Config Request Pass Propagate Config Request, Output Only Function (1) is supported by leads 51 and 52 -- or specifically lead 52. The detection of the external terminator is done at the connector attached to the last device connected to the external SCSI bus. The terms internal and external are from the perspective of the system unit or box containing the the means of connecting SCSI to the given system. Internal refers to that portion of the SCSI bus within the system box. External refers to that portion of the SCSI bus outside or external to the system box. In passing it is noted that the implication is that external SCSI units are in their power envelope and are placed in an enclosure box providing power and packaging support. To ensure proper operation, the last external SCSI device must contain a terminator plug. That plug when properly in place according to this proposal will provide ground on lead 52. When the terminator is not in place, then a float signal level will be observed. In implementation, a high value of pull up resistor will be used to force the float signal level to a high level thus aiding the detection process. Function (2) is supported by the eight leads, 53 through 60. A key role in the electronic overwrite function is played by leads 59 and 60. The diagram below illustrates the situation. For purposes of the diagram, Configuration request in (lead 59) is abbreviated CRI and labelled lead A. Configuration request pass (lead 60) is abbreviated CRP and labelled lead B. Device I Device J Device K ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄ¿ CRI ³ ³ ³ ³ ³ ³ ÄÄÄÄÄÄÄÄÄ´*** ÃÄÄ ÚÄÄÄÄ´*** ÃÄÄ ÚÄÄÄÄ´*** ÃÄÄ Lead A ³ * ³ ³ A ³ * ³ ³ A ³ * ³ ³ * ³ ³ ³ * ³ ³ ³ * ³ CRP ³ * ³ ³ ³ * ³ ³ ³ * ³ ÄÄÄÄÄÄÄÄÄÄ´ ***ÃÄÄÄÄÄÙ ÄÄ´ ***ÃÄÄÄÄÄÄÄÙ ÄÄ´ ***ÃÄÄ Lead B ³ Switch ³ B ³ Switch ³ B ³ Switch ³ ÀÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÙ Twist Twist Point Point Three devices denoted I, J, K are shown. Lead A is an input to a device. Lead B is an out put from a device. As shown, between each device there is a twist operation in which Lead B on output from a device is connected to Lead A on input to the next device in line. Logic within each device arranges within that device for an input signal on lead A to be converted or switched to an output signal on Lead B from that same device. The configuration operation arranges for the switch process within a device connecting lead input A to output B. The reset operation arranges to break all configuration setups which may previously been established within any and all devices. Upon power up, the condition is forced to ensure that no configuration setup will exist within any device. The extended 60 lead bus is best viewed as a base SCSI bus (first 50 leads) and a special purpose additional bus (leads 53 through 60) for the purpose of configuring SCSI devices via the electronic overwrite of the Physical ID. Leads 51 and 52 are used for terminator detect and do not play a role in normal operation or in the configuration operation to be described shortly. For devices implementing the proposed architecture, no interaction is allowed on the base SCSI bus until configuration. Once configured, the device normally on the base SCSI bus using the Physical Id electronically set in it rather than the Physical ID set in jumpers or rocker switches on that device. A new configuration operation may begin at any time upon a configuration reset signal issued by the systems attach point controller. The configuration operation thus proceeds for new devices upon a power on or when a configuration reset signal is asserted. A configuration request is asserted on lead 59 by the host initiator. In multi initiator systems, there must be prior agreement that one and only one initiator is allowed to perform configuration operations as described here. The first new device not yet configured traps the configuration request signal. Trap is in the sense that the given device does not propagate the request signal onto lead 60 until configuration has been completed at that device. Thus the subject configuration operation takes place on a one device at a time basis. No other new, device which is unconfigured will see the signal on its lead 59. The initiator then asserts a read strobe on lead 54 in addition to continuing the assertion of configuration request. The subject device responds by placing on the new address bus (leads 56 to 58) the present Physical Id in force at that device. The initiator drops read strobe and asserts write address on lead 55 along with the new Physical ID which is placed on the new address bus (leads 56 to 58). Configuration Request continues to be asserted. The device receives its new Physical ID and stores it within its own logic circuitry. The acceptance of the new Physical ID reconfigures the device in the sense that this is the only address which may be used by the device in normal operations on the base SCSI bus. Two important reactions take place within a newly configured device. First, the device is now allowed to participate in all operations on the Base SCSI bus. Second, switch logic within the device now operates to propagate the configuration request signal from input on lead 59 to lead 60 as output. By virtue of the twist operation between each devices, the assertion of signal on lead 60 from device I becomes an input on lead 59 to device J. Configuration proceeds in turn from one device to the next until all new devices have been configured. At each stage the newly configured device switches lead A on input to that device to lead B on output from that device. By virtue of the twist operation between devices, each new device eventually sees configuration request on its input lead 59. When all new devices have been configured, the initiator eventually see its own Physical ID on the new address bus in response to a configuration request. At this point the configuration operation is completed, and normal operation may proceed on the base SCSI bus for both old devices and for the new devices just configured. OPERATION SCENARIO The electronic reconfiguration process is the only scenario which need be described in detail. The terminator detect operation proceeds continuously. Whenever an initiator fails to detect ground on lead 52, then a declaration is made that the required external terminator is missing. Initiator code will make the decision to declare an error condition based on policy guidelines previously established by Host software. As agreed, the initiator can return some level of error condition in response to a service request. In the alternative, the initiator can retain the knowledge of error condition to relay to the HOST when some appropriate inquiry is made of SCSI status. The more complex scenario describes the electronic overwrite process. In this case, the reconfiguration process must begin with the initiator forming a map of SCSI devices and their Physical ID's. The mapping process must proceed first with a check of the SCSI bus for all old devices not supporting the proposed architecture for electronic overwrite. A reset must have been issued to break the setup which previously may have been put in place. Thus, on configuration reset there is the guarantee that no new device will respond on the base SCSI bus. This being the case, the initiator used the base SCSI bus to make an Inquiry against each allowed Physical ID, 0 to 6 in the normal case. Note, that two old devices may have the same Physical ID. Upon completion of the mapping process, the knowledge is obtained as to those Physical ID's available for reassignment and those ID's in use by given old devices and thus unavailable for reassignment. The configuration then proceeds relative to new SCSI devices supporting this architecture. It is noted as an emphasis point, that multiple of the new devices may have duplicate Physical ID's prior to reconfiguration. In fact, a new device may start with an ID which is the duplicate of the ID of an old device. After configuration as described above, all devices must have unique Physical ID's.