Introduction to SCSI Concepts The Small Computer System Interface (SCSI) is a computer industry standard for connecting computers to peripheral devices such as hard disk drives, CD-ROM drives, printers…. The SCSI standard specifies the hardware and software interface at a level that minimizes dependencies on any specific hardware implementation A SCSI device refers to any unit connected to the SCSI bus, either a peripheral device or a computer Each SCSI device on the bus is assigned a SCSI ID, which is an integer value from 0 to 7 that uniquely identifies the device during SCSI transactions. When two SCSI devices communicate, one device acts as the initiator and the other as the target. SCSI Bus Signals /BSY Busy Indicates that the bus is in use. /SEL Select The initiator uses this signal to select a target. /C/D Control/Data The target uses this signal to indicate whether the information being transferred is control / Data /I/O Input/Output The target uses this signal to specify the direction of the data movement with respect to the initiator. /MSG Message This signal is used by the target during the message phase. /REQ Request The target uses this signal to start a request/acknowledge handshake. /ACK Acknowledge This signal is used by the initiator to end a request/acknowledge handshake. /ATN Attention The initiator uses this signal to inform the target that the initiator has a message ready. /RST Reset This signal is used to clear all devices and operations from the bus, and force the bus into the bus free phase. /DB0-/DB7, /DBP SCSI Bus Phases Bus free. This phase means that no SCSI devices are using the bus, and that the bus is available for another SCSI operation Arbitration. This phase is preceded by the bus free phase and permits a SCSI device to gain control of the SCSI bus During this phase, all devices wishing to use the bus assert the /BSY signal and put their SCSI ID onto the bus (using the data signals). The device with highest SCSI ID wins the arbitration. Selection. This phase follows the arbitration phase. The device that won arbitration uses this phase to select another device to communicate with Reselection. This optional phase is used by systems that allow peripheral devices to disconnect and reconnect from the bus during lengthy operations. Command. During this phase, the target requests a command from the initiator. Data. The data phase occurs when the target requests a transfer of data to or from the initiator. Status. This phase occurs when the target requests that status information be sent to the initiator. Message. The message phase occurs when the target requests the transfer of a message. Messages are small blocks of data that carry information or requests between the initiator and a target. Multiple messages can be sent during this phase. Together, the last four phases (command, data, status, and message) are known as the information transfer phases SCSI commands are contained in a data structure called a command descriptor block (CDB), which can be 6, 10, or 12 bytes in size. The first byte specifies the operation requested, and the remaining bytes are parameters used by that operation. SCSI messages are small blocks of data, often just one byte in size, that indicate the successful completion of an operation (the command complete message), or a variety of other events, requests, and status information. All messages are sent during the message phase. SCSI Types SCSI has three basic specifications: SCSI-1: SCSI-1 is now obsolete. It featured a bus width of 8 bits and clock speed of 5 MHz. SCSI-2: This specification included the Common Command Set (CCS) -- 18 commands considered an absolute necessity for support of any SCSI device. It also had the option to double the clock speed to 10 MHz (Fast), double the bus width from to 16 bits and increase the number of devices to 15 (Wide), or do both (Fast/Wide). SCSI-2 also added command queuing, allowing devices to store and prioritize commands from the host computer. SCSI-3: Includes a series of smaller standards within its overall scope. A set of standards involving the SCSI Parallel Interface (SPI), which is the way that SCSI devices communicate with each other, has continued to evolve within SCSI-3. Most SCSI-3 specifications begin with the term Ultra, such as Ultra for SPI variations, Ultra2 for SPI-2 variations and Ultra3 for SPI-3 variations. The Fast and Wide designations work just like their SCSI-2 counterparts. SCSI-3 is the standard currently in use. Bus Max. Bus Lengths, Meters (1) Max. Bus Device Speed, STA Terms Width, MBytes/S bits Support(7 Max. Single- LVD HVD ) ended SCSI - 1 (2) 5 8 6 (3) 25 8 10 8 3 (3) 25 8 Fast SCSI (2) Fast Wide SCSI 20 16 3 (3) 25 16 20 8 1.5 (3) 25 8 Ultra SCSI (2) 20 8 3 - - 4 Ultra SCSI (2) 40 16 - (3) 25 16 Wide Ultra SCSI 40 16 1.5 - - 8 Wide Ultra SCSI 40 16 3 - - 4 Wide Ultra SCSI 40 8 (4) 12 25 8 Ultra2 SCSI (2,4) 80 16 (4) 12 25 16 Wide Ultra2 SCSI (4) 160 16(6) (4) 12 (5) 16 Ultra 160 SCSI (6) 320 16(6) (4) 12 (5) 16 Ultra320(6) Controllers, Devices and Cables A SCSI controller coordinates between all of the other devices on the SCSI bus and the computer. Also called a host adapter The SCSI BIOS is also on the controller. This is a small ROM or Flash memory chip that contains the software needed to access and control the devices on the bus. Each SCSI device must have a unique identifier (ID) in order for it to work properly. For example, if the bus can support sixteen devices, their IDs, specified through a hardware or software setting, range from zero to 15 Cables Internal devices connect to a SCSI controller with a ribbon cable External SCSI devices attach to the controller in a daisy chain using a thick, round cable. (Serial Attached SCSI devices use SATA cables.) The cable itself typically consists of three layers: Inner layer: The most protected layer, this contains the actual data being sent. Media layer: Contains the wires that send control commands to the device. Outer layer: Includes wires that carry parity information, which ensures that the data is correct. Different SCSI variations use different connectors, which are often incompatible with one another. These connectors usually use 50, 68 or 80 pins. Once all of the devices on the bus are installed and have their own IDs, each end of the bus must be closed. We'll look at how to do this next. Termination If the SCSI bus were left open, electrical signals sent down the bus could reflect back and interfere with communication between devices and the SCSI controller. The solution is to terminate the bus, closing each end with a resistor circuit. If the bus supports both internal and external devices, then the last device on each series must be terminated. Types of SCSI termination can be grouped into two main categories Passive termination is typically used for SCSI systems that run at the standard clock speed and have a distance of less than 3 feet (1 m) from the devices to the controller. Active termination is used for Fast SCSI systems or systems with devices that are more than 3 feet (1 m) from the SCSI controller SCSI also employs three distinct types of bus signaling, which also affect termination. Signaling is the way that the electrical impulses are sent across the wires. Single-ended (SE): The controller generates the signal and pushes it out to all devices on the bus over a single data line. Each device acts as a ground. Consequently, the signal quickly begins to degrade, which limits SE SCSI to a maximum of about 10 ft (3 m). SE signaling is common in PCs. High-voltage differential (HVD): Often used for servers, HVD uses a tandem approach to signaling, with a data high line and a data low line. Each device on the SCSI bus has a signal transceiver. When the controller communicates with the device, devices along the bus receive the signal and retransmit it until it reaches the target device. This allows for much greater distances between the controller and the device, up to 80 ft (25 m). Low-voltage differential (LVD): LVD is a variation on HVD and works in much the same way. The big difference is that the transceivers are smaller and built into the SCSI adapter of each device. This makes LVD SCSI devices more affordable and allows LVD to use less electricity to communicate. The downside is that the maximum distance is half of HVD -- 40 ft (12 m).