METHOD AND MEANS OF OPTIMAL SCSI SPEED SELECTION
Original Publication Date: 2000-Apr-01
Included in the Prior Art Database: 2003-Jun-19
A method is disclosed which allows a Small Computer Systems Interface (SCSI) initiator device to automatically determine the maximum speed at which it can reliably communicate with other SCSI devices. If this parameter is not set correctly, it can lead to hang conditions (speed is set too fast) or sub-optimal performance (speed is set too slow). This method eliminates the requirement for a customer (or systems integrator) to manually set the maximum SCSI data transfer rate for a given storage subsystem configuration. This process is typically done manually by trial-and-error, or with the assistance of a configuration document. With this method, the SCSI subsystem determines which of a set of approved configurations is being used, and adjusts itself accordingly. Two devices on a SCSI bus can establish a maximum data transfer rate through a standard bid and response protocol. In the absence of other a priori information, each SCSI device typically negotiates for the maximum speed it can internally sustain. Unfortunately, SCSI data rates are also limited by analog signal properties of the storage subsystem (cable lengths, number of devices, spacing between the devices, type of hot-swap backplanes, termination, etc.). Conceptually, if a SCSI initiator can determine the number of devices connected as well as the types of cables and enclosures used, it can be programmed to automatically select the proper maximum SCSI transfer speed for a fixed set of configurations. This is not too limiting a constraint, since many server systems providers already limit the number of supported configurations. In practice, a SCSI initiator which implements a Redundant Array of Independent Disks (RAID) must already contain knowledge of the number of target devices attached to the SCSI interface (in order to maintain the disk array). SCSI interface hardware typically includes a method for reporting the electrical signaling environment (Single Ended, High-Voltage Differential, or Low-Voltage Differential). In addition to this, hot-swap disk SCSI drive enclosures also contain Enclosure Processor devices (target devices which represent the enclosure itself on the SCSI bus) which the initiator can query to help determine the overall cabling environment. This information is gathered by software resident in the RAID controller and is used identify which of a set of approved subsystem configurations is present to select the (pre-determined) optimal SCSI data transfer rate to negotiate for.