SCSI, I think, is a serial interface. A standard serial port on PCs used a 9-pin DSub connector where a parallel port used a 25-pin connector. Then why did SCSI require so many pins? I vaguely remember 50-pin and 68-pin variants of SCSI. Is it because when you set the ID of the device, it would essentially select which wire pair(s) to listen/send on? Was the terminator basically creating a load across pairs? Seems like over kill, but it would allow for parallel access to multiple devices if the host controller was smart enough. I know “modern” variants of SCSI have had fewer pins like with FireWire and SAS.
-
7The Mac Plus shipped with a 25 pin SCSI connector. Much to the chagrin of those trying to plug their DB-25 Serial cable in to it.– Will HartungCommented Jul 10, 2020 at 13:53
-
18SCSI is "small computer system interface"; no "serial" in it.– KazCommented Jul 10, 2020 at 21:57
-
12Serial attached SCSI is SAS.– richardbCommented Jul 11, 2020 at 7:38
-
5@WillHartung, lol, I actually did that when they came out. My boss at the time asked if I saw smoke. Seriously guys, you couldn't find something other than a DB25 to use? Reminds me of the early sun equipment that had completely UNkeyed ribbon cables once in a while.– tgm1024--Monica was mistreatedCommented Jul 11, 2020 at 14:51
-
4I think the connectors needed so many pins because the cables had so many wires :-)– daveCommented Jul 12, 2020 at 18:15
2 Answers
SCSI, I think, is a serial interface.
No, it isn't. SCSI das defined as a parallel interface for high speed data transfer. Though there are modern incarnations using serial transfer, while being compatible on a logical level, which might add confusion.
A standard serial port on PCs used a 9-pin DSub connector where a parallel port used a 25-pin connector. Then why did SCSI require so many pins?
Genuine SCSI uses 8 lines for data, 10 for handshake and signaling of various conditions and 4 NC for future use. The rest - essentially every other wire on a flat ribbon cable - was ground. This improves signal quality a lot. On a round cable those were configured as twisted pair, of 1 signal, one ground line, for the same reason.
Keep in mind, SCSI was meant to do (at the time) high speed transfer over comparably long distance (several decimeter up to meters) cabling without much shielding and still be reliable at low cost.
I vaguely remember 50-pin and 68-pin variants of SCSI.
68 pin extended the data lines to 16 to double transfer speed.
Seems like over kill, but it would allow for parallel access to multiple devices if the host controller was smart enough.
That is exactly what controllers did. SCSI was always a bus of multiple devices able to talk to each other, using parallel transmission for speed.
I know “modern” variants of SCSI have had fewer pins like with FireWire and SAS.
FireWire is in no way SCSI, only some devices use protocol blocks that are structured like SCSI commands, but these are after market additions. Similar the use over USB.
SAS is as well not SCSI, but they had an eye on SCSI for intended compatibility on logical level.
The History:
SCSI evolved over multiple steps.
SASI
SCSI started out as SASI by Shugart Associates. The goal was to create a rather device independent interface, covering all (at the time) modern mass storage devices. Structure was as described above, offering a data rate of up to 5 MByte/s. Up to 8 devices could be connected.
Unlike later SCSI the clock rate wasn't fixed, but either an asynchronous 3.5 MHz clock or a synchronous 5 MHz clock could be used. Then again, clock on SCSI was (at the time) less of an issue if all could go up to that speed.
SCSI
In 1982 standardisation was started by ANSI, which include a new, vendor independent name, so SCSI was born. The standard wasn't finalized until 1986, but wide usage started already way before.
Differential SCSI
During the standardisation process a differential version was introduced as well. Here 8 of the ground lanes were reassigned to work as counterparts to the standard data lines. Interfaces could detect either versions and adapt.
With new standards coming up it was often called SCSI-1 or Narrow-SCSI
SCSI-2/Fast
Fast-SCSI doubled the clock rate to 10 MHz, pushing transfer to 10 MByte/s. Usable cable length got halved.
SCSI-2/Fast-Wide
Wide-SCSI doubled the data path to 16 bit and the connector to 68 pin, pushing transfer to 20 MByte/s. Maximum number of devices got doubled to 16.
Ultra-SCSI
Doubled again the data rate to now 20 MHz, allowing 20 MByte/s over an 8 bit 50 pin connector. Now a full length cable could only support 4 devices - or with halving again the default 8.
Ultra-Wide-SCSI
Ultra-Wide-SCSI again combined the higher clock rate (20 MHz) with the double width bus to deliver 40 MByte/s. Here only the differential version could support all 16 devices. Without only 4 or 8 are possible, like with Ultra-SCSI.
Ultra2-SCSI
Ultra2-SCSI again doubled the clock rate to now 40 MHz delivering 40 MByte/s, but now only supporting differential transfer. Maximum cable length got greatly improved by that. In addition a low voltage version was added to reduce noise. In addition an 80 pin connector was established.
Ultra2-Wide-SCSI
Ultra2-Wide-SCSI continued the by now well known game by using 16 Bit again.
Ultra3-SCSI
Ultra3 finally dropped 8 bit transfers at all, only supporting 16 bit. This time a Double Data Rate Protocol enacted, thus doubling maximum thruput to 160 MByte/s. Of course clock doubling was as well offered, now eventwice, resulting in 320 or 640 MByte/s. To keep them apart, they were commonly called Ultra-160, Ultra-320, and Ultra-640.
-
8@StefanSkoglund SCSI is both a signalling protocol and a link layer standard, so, I woudl say that "SAS and SCSI are compatible on the protocol level, but not on the physical layer".– VatineCommented Jul 10, 2020 at 14:04
-
3Nice of SCSI connectors: datapro.net/techinfo/scsi_doc.html#Page02– faddenCommented Jul 10, 2020 at 14:27
-
6Another side benefit of SCSI is you could put two controllers on a chain to share a device, such as two PCs sharing a scanner/printer or in early data security for a website in having your web server read-only the device the publishing server write to the device so there is zero chance for upstream attacks into your infrastructure. SCSI is a pretty awesome system that is sorely underappricated, mostly due to cost.– Bryan C.Commented Jul 10, 2020 at 22:05
-
2These days, SCSI almost exclusively refers to the protocol, not the physical layer, so SBP-2 (the FireWire storage protocol) actually is functionally SCSI (assuming you stick to the block-storage parts), as is USB MSC. Both are not purely compatible with the command protocol, but they are semantically compatible to a sufficient degree that you can present such devices to userspace as SCSI disks and lose no functionality whatsoever. Same goes for ATAPI, though that is SCSI wrapped in a different lower layer protocol. Commented Jul 11, 2020 at 1:25
-
2Would upvote but for "SAS is as well not SCSI". SAS is "Serial Attached SCSI", with the same command protocol. They may not be physically compatible, but SAS and SCSI are not different in the same way that FireWire and SCSI are different. And otherwise this is a brilliant, comprehensive answer as usual. Commented Jul 12, 2020 at 8:17
Then why did SCSI require so many pins?
Differential signaling.
The original standard was actually a 25-pin system using an 8-bit parallel signal going in one direction only. There was a separate parity pin, and lots of signal pins for things like device select and flow control. But in many respects it was similar to the DB-25 printer cable, just faster.
The 50-pin version used differential signaling, so every bit was represented by both a +ve and -ve signal on different pins. This allows the signal to be "noticed" at much lower voltage levels, which means you have less capacitance, which means you can run much faster. Practically every common modern interface uses some variation on this theme. All of the pins were duplicated in this fashion, so you go from 25 to 50 pins.
Finally, they expanded from 8-bit to 16-bit, requiring another 16 pins, +ve and -ve for each of the 8 new bits, as well as a new signal pin pair to indicate this.
-
2Erm, you're not mixing up the original 50 pin with the later differential one?– RaffzahnCommented Jul 10, 2020 at 13:56
-
-
1Not really, there was a clear sequence - differential was a later add on. It wasn't really a need for internal SCSI to go differential until way into SCSI-2. Also transition was smooth.– RaffzahnCommented Jul 10, 2020 at 14:37
-
Why do you think the "original" was 25-pin? I thought it was only a hack for custom Apple devices.– pipeCommented Jul 11, 2020 at 5:23
-