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
- T10 Technical Committee - SCSI Storage Interfaces (SCSI standards)
- Termination Tutorial