At one time, almost every type of disk had its own addressing system that needed to know about physical heads, cylinders and sectors to find data. Alan Shugart decided that a disk interface should be independent of the physical disks, so in 1979 he developed SASI (Shugart Associates Systems Interface), an interface that supported logical block addressing and used generic commands. SASI was developed further, and eventually adopted by the ANSI committee as a standard in 1986, when it became SCSI-1. SCSI stands for Small Computer Systems Interface.
SCSI is a local bus type interface that can connect up to sixteen devices using a common cable. The devices can be either initiators (drivers) or targets (receivers) and are daisy - chained together so all SCSI devices on a chain can see all the signals on that chain.
The different types of SCSI are summarised in the table below
Bus length (m)
Common name
SCSI type
MHz
Bus Width
Single-Ended
Differential
LVD
Mbit/s
Max devices
SCSI-1
SCSI-1
5
8
6
25
12
7
8
Fast SCSI
SCSI-2
10
8
3
25
12
80
8
Fast-Wide SCSI*
SCSI-2 / SCSI-3
10
16
3
25
12
160
16
Ultra SCSI
SCSI-3
20
8
1.5-3
up to 25
up to 12
160
4-8
Ultra-Wide SCSI
SCSI-3
20
16
up to 3
up to 25
up to 12
320
4
Ultra2 SCSI (LVD)
SCSI-4
40
8
40
-
12
320
8
Ultra2-Wide SCSI (LVD)
SCSI-4
40
16
80
-
12
640
16
Ultra3-Wide SCSI (LVD)
SCSI-4
40
16
-
-
25
160
16
Ultra 160
SCSI-4
40
16
-
-
12
160
16
Ultra 320
SCSI-4
80
16
-
-
12
320
16
Serial SCSI
SAS
n/a
4
-
-
6
3000
128 - 16,256 see below
*Fast-Wide SCSI is actually SCSI-2, however many cable manufacturers refer to the 68-pin plugs as SCSI-3. Ultra-3 SCSI is a marketing term used by manufactures and just means that the devices implement some or all of the key features defined in the SCSI-3 Parallel Interface - 3 (SPI-3) standard. Ultra-3 SCSI is always 16 bit, so the 'wide' term in the description is really redundant. The device speed is up to 160MB/s depending on implementation.
Ultra320 SCSI is the seventh generation of SCSI I/O technology and like all
new generations, it runs that little bit faster than the previous
one. Ultra 320 SCSI has a free running clock and bundles commands
and messages together into packets, to achieve the faster speed.
One of the SCSI issues is that all SCSI devices are connected to the same bus and arbitration between devices and this can slow performance down when the devices are busy. Ultra320 SCSI uses a feature called QAS (Quick Arbitration and Selection) which speeds up the bus arbitration process
Ultra320 SCSI is designed for high end products like top specification workstations, servers, NAS storage, and RAID applications.
For comparison purposes, Firewire runs at about 360Mb/s and UltraATA at about 200Mb/s
The maximum bus length and maximum devices shown above depends on the transceiver type and signaling voltage. Transceivers can be Single-ended or Differential. You cannot mix transceiver types on the same bus.
Single-ended transceivers are adequate for most applications and so are the most common. However when single-ended transceivers are used the maximum bus length is reduced if the bus speed is increased.
Differential transceivers use higher power to overcome the bus length limitations imposed by single-ended transceivers, but they tend to be expensive and so their use is limited.
LVD SCSI
LVD (low voltage differential) technology was introduced to resolve the trade-off problems between transfer speed and bus length. It uses smaller output signal levels and more sensitive receivers. The voltage differential is just 400mV, from a baseline voltage of 1.25V. This means that the signal can change state faster than normal SCSI so higher transfer rates are possible. These can be up to 160 MB/sec, under optimal conditions (good quality SCSI card, LVD-compliant cabling, and proper termination). You must use twisted-pair cabling to support high-speed LVD signals.
Serial Attached SCSI (SAS)
SAS is the architectural equivalent to SATA, but is considered to be more of an 24*7 enterprise product. That means it costs a bit more, maybe 3 times SATA for the raw disks. It transmits signals in a single serial stream, unlike parallel SCSI which uses multiple streams. The multiple data paths in parallel SCSI must be coordinated by a clock, which limits the parallel transfer speed to the clock speed. SAS is much faster than parallel technology because it is not tied to a particular clock speed. It combines individual bits of data into packets and then transfers an entire packet at a time. Basic SAS runs at about 3 Gb/s, while full duplex, dual port SAS runs at 12 Gb/s. SAS uses LVD signaling over two signal wires. One wire transmits the signal, the other the inverse of the signal, and the receiver reads the differential voltage between the two wires. This allows SAS to filter out noise, and ignore signal voltage drift. SAS, like FC, uses dual ported drives for resilience.
SAS can address up to 128 physical devices directly, but the SAS physical layer is not a shared bus. So if you are connecting to a PCI card with only two physical conductors, then that would seem to limit you to only two devices. SAS gets round this with expanders, devices that perform the same function as a hub or switch, and that in theory could connect to another 128 devices. As well as connecting to physical devices, every expander can connect to one other expander, and fan-out expanders can connect to several other expanders. This means that you could develop a SAS network of fan-out and edge connectors that in theory could address as many as 16,256 physical devices. Expanders come with 12, 24 or 36 ports.
The actual SAS point-to-point connectors are small as they only need 4 wires, so they can be fitted to 2.5 in. hard disk drives. It is difficult to fit a 68 pin SCSI-3 port to a small disk drive.
It is possible to connect a SATA drive to a SAS interface, though you cannot connect a SAS drive to a SATA interface. This is because the SATA connector is keyed with a small notch between the data and power connections. SAS has no key or notch, so while a SATA cable cannot fit a SAS socket, a SAS cable will fit a SATA socket. It is also possible to mix and match SAS and SATA on the same SAS interface. To achieve this, the SAS designers made the SAS connector form-factor compatible with SATA, and the SATA connector signals are a subset of SAS signals that enable the compatibility of SATA devices and SAS controllers. Upgrading from SATA to SAS is as simple as replacing the disk drives.
SAS uses three different protocols to communicate with the different device types, and automatically selects the correct one depending on the device type it is accessing
Serial SCSI Protocol (SSP) communicates with standard SAS devices using SCSI commands
SATA Tunneling Protocol (STP) wraps a SATA protocol into SAS packets for communication with SATA devices. Check out the SATA page for details.
Serial Management Protocol (SMP) communicates management information to expanders
SAS now comes with some of its logic embedded in chipsets. For example, a SAS RAID on chip controller (ROC) which takes data from a PCI or PCI-X host interface and RAIDs it to 4 or 8 SAS connections on a card. A SAS IO controller is similar to the above, but without the RAID facility. A SAS / SATA MUX dual ports a SAS drive to allow connection to two RAID controllers for high availability applications.
The picture below illustrates two SAS initiators connecting a mix of six SAS and SATA disks. The upper initiator is connected to both the fan-out expander and one of the edge expanders, so it has some failover resilience. The lower initiator is only connected to one edge expander so it has no resilience if that expander fails. However the lower initiator can see all the disks. The upper initiator can see all the disks except the one that in connected directly to the lower initiator.
SCSI tips
Properly Terminate the Bus. You must have a terminator on either end of the bus. They should be on the very extremes of the bus, and not somewhere in the middle or near the end. It is best to use an active terminator, rather than using the termination features of storage devices such as Zip drives
Make sure every device has a unique SCSI ID. It is good practice to number them in sequence they are attached on the bus, but as long as they are unique it does not matter what ID you assign to each device.
Most intermittent problems are due to loose connectors, improper termination or inferior cable quality
iSCSI
A Fibre channel SAN requires a dedicated data network, separate from the LAN and this is costly to provision. It also requires that all the devices attached to the SAN be fitted with expensive Fibre Channel HBAs. An IP SAN removes this requirement as it works over the same network as the user traffic and used standard HBAs.
However it is best to implement iSCSI on a VLAN to isolate the traffic. Standard SCSI is limited to short distances, typically tens of meters. iSCSI encapsulates SCSI commands in TCP/IP packets and can send them over more or less any distance. This is useful for compliance driven long distance replication as this needs to transmit at block level. Fibre does this but is expensive. iSCSI also drives IO at block level and is relatively cheap.
It is possible to combine IP and Fibre channel in a SAN with multi-protocol switches. For example, the newer CISCO switches have IP support. Some IP switches can convert between SCSI and FC protocols.