From: James McGrath X3T9.2/91-52 Rev 0 Quantum Corporation 580 Cottonwood Ave Milpitas, CA 95035 To: John Lohmeyer Chairman, X3T9.2 3718 N. Rock Road Wichita, KS 67226 Date: April 22, 1991 Subject: Cable Select Feature Purpose: This is a proposal to add a feature in the ATA (AT Attachment Interface). The feature has been discussed in concept at a couple of meetings, beginning in December 1990. At those times the committee was supportive. Unfortunately, it took me until last week to reach agreement on all the technical elements of the proposal. I would like to see this proposal adopted and forwarded as part of revision 2.3 of the ATA standard. Background: This feature allows a drive to determine whether it is a master or a slave by simply examining the signals on the ATA cable. This eliminates the need for jumpering drives as master/slave. Two drives attached to the same ATA cable can have identical jumper settings. This has a large practical benefit in configuring end user systems, since the end user can simply take the drive out of the box and install it in any 2 drive system without first adjusting the jumpers. A large OEM requested that we develop this feature for them. It would be desirable to make it available to all system designers and insure a compatible implementation between drive suppliers. The best way to accomplish this is via incorporation in the ATA standard. The Cable Select feature does not solve the Master/Slave booting problem (i.e. determining whether a slave is present and responding appropriately to the host). However, it does not interfere with any of the solutions to this problem - it is orthogonal. This proposal has been discussed before in the committee and the line chosen for this feature is line 28, Spindle Sync. Although the primary reason for choosing this line was the lack of another possibility, pin 28 has certain advantages. It is a drive to drive signal, and so should not interfere with host system operation. While using this pin for the Cable Select feature will preclude using it for spindle synchronization, a drive can have a jumper installed to allow selection of either feature. It is envisioned that drives will be shipped with the jumper set to support the Cable Select feature. This will allow most end users to take advantage of the ease of configuration offered by the feature. For those users wishing to take advantage of spindle synchronization, they will have to change the jumper setting and use another means to inform that drive whether is is a master of a slave (e.g. another jumper). This requires more work on the part of the end user, but anyone who is installing a drive into a drive array will have to perform a number of configuration steps anyway. Proposal - in rev 2.3 of the AT Attachment Interface: 5.1 - Replace the second paragraph with: The designation as Drive 0 or Drive 1 is made by either a jumper plug/switch on the drive or through use of the Cable Select (CSEL) function. 6.1 - Add the following as the last paragraph: Control signals that may be used for two mutually exclusive functions are named with the two functions separated by a colon (:), e.g. pin 28, described as SYSYNC:CSEL, can be used for either the Spindle Synchronization or the Cable Select functions. Table 6-1: Interface Signals Replace the wording for pin 28 with the phrase "SPINDLE SYNC" with "SPINDLE SYNC:CABLE SELECT" and "SPSYNC" with "SPSYNC:CSEL". Table 6-2: Interface Signals Description Replace the wording for pin 28 with the phrase "Spindle Sync" with "Spindle Sync:Cable Select" and "SPSYNC" with "SPSYNC:CSEL". Replace section 6.3.15 with: 6.3.15 SPSYNC:CSEL (Spindle Synchronization/Cable Select) (Optional) Either or both functions may be implemented. If both functions are implemented, then they cannot be active at the same time. Which function is active depends on a vendor-defined switch. All drives connected to the same cable should have the same function active at the same time (i.e. SPSYNC and CSEL cannot be mixed on the same cable). Prior to the introduction of this standard, this signal was defined as DALE (Drive Address Latch Enable), and used for an address valid indication from the host system. If used, the host address and chip selects, DAO through DA2, CS1FX-, and CS3FX- were valid at the negation of this signal and remained valid while DALE was negated, therefore, the drive did not need to latch these signals with DALE. Create a new section, "6.3.15.1 SPSYNC (Spindle Synchronization)" with the wording of the current (rev 2.3) section 6.3.15, except for the last paragraph (which is instead moved to the common section above). Create a new section, "6.3.15.2 CSEL (Cable Select)" with the following wording: The drive is configured as either Drive 0 (Master) or Drive 1 (Slave) depending upon the value of pin 28. If pin 28 is grounded, the drive is drive 0. If pin 28 is open, the drive is drive 1.