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.
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.
SCSI evolved over multiple steps.
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.
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.
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
Fast-SCSI doubled the clock rate to 10 MHz, pushing transfer to 10 MByte/s. Usable cable length got halved.
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.
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 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 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 continued the by now well known game by using 16 Bit again.
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.
Then why did SCSI require so many pins?
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.