Market Overview: Scsci: Small Wonder
Scsi was one of the first common interfaces for computer devices, predating even the PC. And, as Chris Long explains, it still has a lot to offer
The computer industry is a tough place. The things in it live by a variant of the law of Darwin, only it isn?t natural selection where ?only the fittest survive? it is natural selection where ?only the most convenient ? as deemed by the users? ? survive. Ask IBM about how people come unstuck when they fiddle around with the natural order. OS/2 was its Frankenstein?s monster, and look at the trouble that caused.
Therefore to be around for a long time in the PC industry means you must have had a pretty good idea and, as such, the natural selection police have seen no reason ? yet ? to cart you away. And thus it is with the small computer systems interface or Scsi as we all know and love it. What makes this even more surprising is that Scsi was around even before the PC ? there aren?t many technologies or systems which are thriving now that predate the PC.
Scsi, rooted in the OEM bus used in IBM mainframes in the 1960s, was developed by disk drive manufacturer Shugart Associates as a parallel I/O bus for connecting disk drives to small computers ? although at the time a ?small? computer could easily be the size of a large room.
Introduced in 1979, it was called the Shugart Associates System Interface (SASI). It was soon opened up for all and the technology was revealed in the August 1981 issue of Electronic Design. It is a sign of those times that companies published their offerings in an electronics magazine with marketing personnel apparently reduced to supplying typewriter ribbons and paper to the technical staff.
When the ANSI committee began looking at it as a standards proposal in 1981, it was renamed the small computer systems interface.
These were still the times of vendor-specific systems, where 20 different systems might all need a printer but each printer talked and worked with these systems in a different way. Adding a new peripheral to a host system meant designing a dedicated hardware and software interface. This produced ?catch-up? problems that we can only have nightmares about today: by the time the host computer had the system to communicate with the new peripheral a more advanced peripheral was on its way.
The Scsi system was part of the drive to enable peripheral manufacturers to get new kit out into the market without having to develop a new way of the computer communicating with each new peripheral.
The Scsi standard was ratified and approved by ANSI in 1986 and hasn?t looked back since. All the same, it wasn?t an overnight success and its limitations were obvious. For a start it only supported hard disks, so, before long, work had begun on a new standard, Scsi-2. Another problem was compatibility ? the Scsi command set had a high number of optional or vendor specific commands.
After much debate the common command set (CCS) was developed to help address the compatibility issue; as soon as it was released a sigh of relief was heard among vendors and Scsi was well on the way to success.
The main advantage of Scsi is that it?s a system level interface and as such is quite different from the device level interfaces it was competing with in the 80s such as IDE, ESDI or ST506. It was designed to be an independent and intelligent local I/O bus where devices and one or more controllers could communicate and exchange information independent of the rest of the system. Usually, the computer?s processor would have to look after the conversations between the hard disk and itself, but because the Scsi controller is intelligent, a lot of that work is done already. Which means that the computer and operating system never actually see the peripherals on the Scsi bus.
And because the Scsi controller controls access between the computer?s internal bus and the Scsi bus, it handles features such as disconnect/ reconnect. This is where the operating system sends a seek, write, or read command to a specific drive, but rather than wait for it to finish it can release the drive to perform its action and send another drive on the same channel to another command. This process significantly increases overall throughput on disk channels that have more than two drives, especially when data is scattered across those drives.
Along with rudimentary command queuing and support for more devices, the introduction of Scsi-2 also brought with it more speed and increased bandwidth. The original Scsi specification ? now called Scsi-1 ? uses a parallel 8bit data path and has a maximum transfer rate of 5Mbps. Scsi-2 was seen as an opportunity to expand things, thus it brought with it several variations. These included fast Scsi, which has an 8bit data path and a data transfer rate of 10Mb per second; wide Scsi, which has a 16bit data path and a data transfer rate of 10Mb per second; and fast/wide Scsi, which has a 16bit data path and a transfer rate of 20Mb per second.
What is surprising is that there really isn?t anything much faster about fast Scsi. Slow versus fast Scsi is really asynchronous versus synchronous Scsi. On asynchronous Scsi, handshaking takes place with each data transfer. In synchronous mode, handshaking is reduced to achieve higher transfer rates. The bus still operates at the same clock speed, so the fast/slow terminology is a misnomer. With the advent of 16bit fast/wide Scsi, the 8bit versions are sometimes referred to as narrow Scsi.
There are eight Scsi IDs on the Scsi bus, labelled nought to seven, although Scsi ID 0 always goes to the Scsi controller. Thus seven peripherals can be daisy-chained off a single port on the Scsi controller. Each device has its own unique Scsi ID, so device one plugs into the Scsi controller, device two plugs into device one, device three plugs into device two and so on. The physical position on the bus doesn?t affect the logical numbering or ID of the device in any way.
Two types of connections are associated with Scsi: single-ended and differential. These terms refer to the number of lines and how those lines carry their signals. In single-ended Scsi, the voltage on one wire determines a line?s state (on or off; 1 or 0). In differential, the difference in voltage between two lines determines the line?s state.
Single-ended is more prone to noise than differential and was primarily designed for in-cabinet use, even though it is now the standard way of connecting Scsi peripherals. Differential obviously takes twice as many wires for the same number of signals. The net impact of the difference between single-ended and differential Scsi is that you must decide what length of cable you intend to use. The maximum recommended lengths are six metres for single-ended (slow Scsi), but that drops to today?s standard of three metres for fast Scsi, and 25 metres for differential.
The system needs termination at both ends of the bus ? a bit like a central heating system where the system has to be watertight ? where the devices at the beginning and end of the bus have the equivalent of electrical buffers.
The Scsi-2 specification supports both single-ended Scsi and differential Scsi. But the problem with differential Scsi is device compatibility and there are few differential Scsi devices currently available.
Differential drives and controllers also cost more than single-ended ones, but differential has the advantage of supporting more devices per channel, greater bus length, and, in some circumstances, gives better performance.
The moving of data around the Scsi bus is getting more confusing. Not for any particular technical reason but mainly because of the number of Scsi connectors that are available with different devices. Most devices ? despite the connector ? are compatible, but the trick is to get the correct connector.
For a start there is the 50-pin Centronics connector ? like an overgrown printer connector, it is designed for Scsi-1 and some Scsi-2 and is the most popular type of Scsi connector on the market.
Then there is the modern, smaller, 50-pin Scsi-2 plug. Most devices have this now, although it was originally popular in the workstation environment. Sun Microsystems officially made this the connector of choice for many of its new lines of Sparcstations.
A newcomer is the 68-pin Scsi-2 wide connector. Basically it is a bigger version of the 50-pin Scsi-2 plug designed for 20 Mb per second and isn?t widely supported yet. And we shouldn?t forget the Macintosh here, especially as it has had Scsi built in to it as standard since about 1985. The Macintosh connector is the standard 25-pin D plug and ? with the right adaptor ? is compatible with PC cables.
Another shift in the market is the card that the Scsi controller comes on. Its 8bit origins made it ideal for the ISA form factor, and it quickly developed into the 16bit AT version, MCA, VL bus and EISA versions came about soon after. Perhaps not surprisingly, near enough all of those markets are finished now. By far and away the biggest seller is PCI cards, now the MCA market and VL Bus market are all but dead. The large base of EISA-based servers are ensuring that market stays alive and, ironically, ISA still sells to customers with small, low bandwidth systems.
So, there are a number of options based around the Scsi-2 specification, but now we are seeing the emergence of Scsi-3 which offers a lot more. Until now Scsi has been a parallel bus but the improvements in transmission technologies mean that a serial system can be used as well. Therefore Scsi-3, which includes an updated parallel specification (called Ultra Scsi) also includes for the first time support for serial communications ? offering a big advantage for users who want to share fast access to storage devices.
Scsi-3 introduces the Scsi architecture model (SAM) allowing it to work with new high-speed technologies where the Scsi system controls data being transmitted over another transport system.
It also introduces hot plugging to keep up with the need for online device switching. Serial Scsi has three schemes, each one to work with the three main up and coming data transfer technologies: SSA (serial storage architecture), FC-AL (fibre channel ? arbitrated loop or just plain fibre channel) and IEEE-1394 or Firewire as it is generally known.
These systems have their strengths and weaknesses, but all share a single advantage over parallel Scsi: an ability to transparently share multiple storage devices and peripherals among computers (that means multiple PCs, Macs and any other workstations around). Which for large disk arrays means theoretically all files on all devices are always accessible.
As ever, this opens another can of worms. If you can have this kind of access it means another level of data policing ? basically, trying to stop two users from reading, modifying, and overwriting the same file at the same time. It?s not a new problem, but one that just got bigger. And currently the manufacturers are in shrug mode ? they don?t want anything to do with the solution, that?s what software is for, right?
Both SSA and fibre channel promise to boost system I/O significantly. Fibre channel is rated at 100Mb per second, or 200Mb per second in a dual-loop configuration. That?s 2.5 times faster than the fastest current Scsi implementation of 40Mb per second Ultra Scsi. Subsystems based on the new 80Mb per second Scsi specification Ultra 2 Scsi are expected later this year. SSA is rated at 80Mb per second in bidirectional mode. A 160Mb per second spec is under development, but isn?t expected until next year.
As for who is going to win this fight, like all of these battles a lot of it revolves around IBM. SSA was introduced by IBM in 1992 as a high-end storage system and had some solid support from the likes of Connor and Micropolis. But that?s all changed now. Connor was bought by Seagate, which supports fibre channel and not SSA, and Micropolis was recently bought by Singapore Technologies, which doesn?t seem to have a lot of interest in SSA. That leaves IBM and a few friends against the world.
Firewire, on the other hand, has lots of companies talking about using it; it?s the great white hope of the interface industry. Alas, most of these companies don?t make storage systems, but that never stopped anyone talking big. But all the same, Firewire seems to be becoming the home of the esoteric video and audio connection and traditional stuff like hard disks is staying away.
Fibre channel, on the other hand, is gaining momentum (even though it too was developed by IBM) and has lots of storage manufacturers lining up behind it, including Hewlett Packard, Quantum and Seagate. So, despite the fact that IBM has already shipped lots of SSA drives, mostly for high-end systems, it doesn?t look that good: SSA is easy to use, solid technology, but fibre channel has more friends.
So, as we say in these pieces, the jury is out. Scsi certainly isn?t dead, or even slightly off colour. It seems to have found itself a nice niche to play in, there are developments afoot and the technology seems not to have run out of steam. All you have to do now is get a road map, a glossary of terms and a quiet place to study and try to understand it all.