Parallel SCSI

From Wikipedia, the free encyclopedia

Parallel SCSI is a computer term used to describe one of the physical implementations of SCSI communications.

Contents

[edit] History

The first two formal SCSI standards, SCSI-1 and SCSI-2, included parallel SCSI as a central part of the protocol. The SCSI-3 standard then split the framework into separate layers so parallel SCSI is now just one of a number of available implementations. See the main SCSI article for a complete list. As with all types of SCSI bus, parallel SCSI communication takes place between an initiator and a target.

The original SCSI-1 version of the parallel bus was 8 bits wide (plus a ninth parity bit). The SCSI-2 standard allowed for faster operation (10 MHz) and wider buses (16-bit or 32-bit). The 16-bit option became the most popular. The 32-bit option was too expensive and so was hardly ever used.

At 10 MHz with a bus width of 16 bits it is possible to achieve a data rate of 20 MB/s. Subsequent extensions to the SCSI standard allowed for faster speeds: 20 MHz, 40 MHz, 80 MHz, 160 MHz and most recently 320 MHz. At 320 MHz x 16 bits there is a theoretical maximum peak data rate of 640 MB/s.

what you mean by scsi?

[edit] SCSI signals

In addition to the data bus and parity signals, a parallel SCSI bus contains nine control signals:

Signal name Meaning when asserted (deasserted)
BSY Busy Bus in use (bus free)
SEL Select Initiator has won arbitration and has selected a target
C/D Control/Data Target is sending control (data) information
I/O Input/Output Target is sending (receiving) information
MSG Message Target is sending or receiving a message
REQ Request Target is requesting a data transfer
ACK Acknowledge Initiator acknowledges that it is ready for a data transfer
ATN Attention Initiator has a message ready for the target
RST Reset Initiator forces all targets and any other initiators to do a warm reset

There are also three DC levels:

Signal name Usage
TERMPOWER See the Termination section for details
DIFFSNS Grounded in single-ended buses, otherwise floats to a positive voltage
GROUND Most spare pins in the connector are designated as grounds

There are three electrically different variants of the SCSI parallel bus: single-ended (SE), high-voltage differential (HVD), and low-voltage differential (LVD). The HVD and LVD versions use differential signaling and so they require a pair of wires for each signal. So the number of signals required to implement a SCSI bus is a function of the bus width and voltage:

Bus Width Voltage Data Parity Control TERMPOWER DIFFSNS GROUND Reserved Total
8-bit SE 8 1 9 1 1 30 0 50
8-bit LVD/HVD 16 2 18 1 1 12 0 50
16-bit SE 16 2 9 4 1 34 2 68
16-bit LVD/HVD 32 4 18 4 1 7 2 68

[edit] Parallel SCSI bus operation

The parallel SCSI bus goes through 8 phases as a command is processed:

Phase Comments
Bus-free
Arbitration One or more devices assert BSY and their ID bit
Selection One device wins the arbitration by asserting BSY and SEL
Command The initiator sends the CDB to the target
Data The direction of transfer depends on the command
Message SCSI message code - interface management information
Status SCSI Status Code (status byte) - success or failure information
Bus-free

[edit] SCSI IDs

All devices on a parallel SCSI bus must have a SCSI ID. The initiator (adapter or controller) SCSI ID is usually set by a physical jumper or switch. The target (disk-drive) SCSI IDs are either set by physical jumpers or by control signals which vary for each connector on an enclosure backplane. The SCSI ID field widths are:

Bus-width ID width IDs available
8-bit 3-bit 8
16-bit 4-bit 16

[edit] Arbitration

All SCSI commands start with a process called arbitration when one or more devices attempt to access the bus. During the arbitration phase, the 8 or 16 data bus signals are used to identify which device(s) are requesting access. All SCSI devices must implement the same arbitration algorithm so the result is always unanimous.

SCSI IDs are used in the arbitration phase to determine which device next gets access to the SCSI bus. If two devices attempt to access the bus at the same time then the one with the highest priority SCSI ID will win the arbitration. Two devices cannot share the same SCSI ID.

The priority sequence for an 8-bit wide parallel SCSI bus is quite simple, but the priority sequence for a 16-bit wide parallel SCSI bus has to meet legacy requirements so is less obvious:

Bus width SCSI ID priority (from highest to lowest)
8-bit 7, 6, 5, 4, 3, 2, 1, 0
16-bit 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8

The SCSI ID of the initiator is usually set to the highest priority value of 7. If there are two initators then their SCSI IDs are usually set to 7 and 6. All the remaining SCSI IDs can then be used for disk-drives or other target devices.

The arbitration process can use up a lot of bus bandwidth so more recent devices support a simplified protocol called Quick Arbitration and Selection (QAS).

[edit] Termination

Parallel SCSI buses must always be terminated at both ends to ensure reliable operation. Without termination, data transitions would reflect back from the ends of the bus causing pulse distortion and potential data loss.

A positive DC termination voltage is provided by one or more devices on the bus, typically the initiator(s). This positive voltage is called TERMPOWER and is usually around +4.3 volts. TERMPOWER is normally generated by a diode connection to +5.0 volts. This is called a diode-OR circuit, designed to prevent backflow of current to the supplying device. A device that supplies TERMPOWER must be able to provide up to 900 mA (single-ended SCSI) or 600 mA (differential SCSI).

Some early disk drives included internal terminators, but most modern disk-drives do not provide termination which is then deemed to be external.

Termination can be passive or active. Passive termination means that each signal line is terminated by two resistors, 220 Ω to TERMPOWER and 330 Ω to ground. Active termination means that there is a small voltage regulator which provides a +3.3 V supply. Each signal line is then terminated by a 110 Ω resistor to the +3.3 V supply. Active termination provides a better impedance match than passive termination because most flat ribbon cables have a characteristic impedance of approximately 110 Ω. Forced perfect (FPT) termination is similar to active termination, but with added diode clamp circuits which absorb any residual voltage overshoot or undershoot. There is a special case in SCSI systems that have mixed 8-bit and 16-bit devices where high -byte termination may be required.

In current practice most parallel SCSI buses are LVD and so require external, active termination. The usual termination circuit consists of a +3.3 V linear regulator and commercially available SCSI resistor network devices (not individual resistors).

[edit] External links