Created on April 27, 2023 (Updated on April 27, 2023)
Talking about SCSI is practically another subject in its own right, as it's WAY more complicated to set up. Even so, it could be worth your time. Some things you'll be in for here include the ability to connect far more devices on a single SCSI channel, and having options for faster, and possibly more reliable hard drives at your disposal! Combine this with a proper 32-bit operating system like Windows NT, OS/2, or some form of Unix, and you should be able to squeeze out the most potential in disk performance on your computer. Later IDE hard drives can achieve these same levels using UltraDMA, sure, but if you want a lot more flexibility, maybe it's time to give SCSI a try.
A Warning About High Voltage Differential Devices
PLEASE READ: I need to bring up something upfront involving a serious caveat with getting into SCSI. Most SCSI devices and controllers, outside of, say, the highly advanced enterprise-grade ones, are designed with either single-ended or low voltage differential signaling in mind. Some devices like hard drives, however, use high voltage differential signaling, which was merely called differential signaling at the time and was designed to support longer cable lengths.
High voltage differential devices are ELECTRICALLY INCOMPATIBLE with single-ended and low voltage differential devices, so if you plug one into a conventional controller, the best case scenario is that the controller will immediately shut itself off, which thankfully is what happened to me when I tried using such a drive. In other cases, a high voltage differential device could fry your controller and other devices!! DO NOT acquire or use a high voltage differential device unless you are absolutely certain of what you're doing!
When in doubt, check the documentation for your device if available; chances are there may be a PDF of the manual available on the internet. There, you should be able to determine whether your device is safe to use in a single-ended or low voltage differential controller. I know Seagate puts a "D" in its model numbers to indicate variants that use high voltage differential signaling, so watch out for that.
Although low voltage differential devices use differential signaling, they usually operate at a much lower voltage and can fall back to the usual 5 volts, so it is safe to plug them into single-ended controllers. They will work, but they will operate at a slower speed. I will discuss this more in a while.
The Different SCSI Connectors
The connector of the top hard drive depicted above is a 50-pin internal SCSI connector. This is the original connector which SCSI used in its introduction in the mid 80's for internal devices. Only 8 bits can be transmitted at a time across this connector, hence devices using this connector are referred to as 8-bit, or "narrow" devices. For any controller that has a channel using this kind of connector, only 7 devices can be connected to it.
The connector in the middle depicted drive is a 68-pin internal SCSI connector. This connector was introduced some time in the early 90's, could be 1994. This connector can transmit 16 bits per clock, hence devices using it are referred to as 16-bit, or "wide" devices. In that regard, performance of wide SCSI devices is effectively double that of narrow devices. Despite more pins being used, the actual connector is physically narrower than the 50-pin connector, thereby allowing a SCSI ID jumper block to exist on the same side as the data connector. Wide SCSI permits connecting up to 15 devices to a single channel.
The connector on the bottom drive is an 80-pin SCA connector, which combines data, configuration, and power together. This connector was primarily used in hot swap configurations, but if you cannot obtain an 80-pin mobile rack, don't worry. 80-pin SCA uses the same wide signaling present in a 68-pin connector for data, so all you really need to get it working with more conventional hardware is an adapter. You can plug in the connectors for data and power to the adapter, set the jumpers for the intended drive on said adapter, and then plug it into the drive.
Picking the Right SCSI Controller
There's a lot of potential options for SCSI controllers you could pick from. I tend to stick to Adaptec controllers because the manufacturer has a good lineup of products that can fit in with any need, it's very well supported, and it usually doesn't let me down. I'll only be covering the plain SCSI controllers which don't have any extra fancy features like hardware RAID.
However, you'll probably want to ensure your SCSI controller has a BIOS, as it's possible you may want to be able to boot from a SCSI hard drive at some point even if you don't necessarily plan on it now. Many Adaptec SCSI controllers equipped with a BIOS even allow you to boot from a CD-ROM.
As mentioned earlier, do not get a high voltage differential controller unless you absolutely know what you are doing.
If you're only going to be using 8-bit SCSI devices and you want a controller with a lean size, you can go for an 8-bit SCSI controller. This is the simplest type of controller to connect everything to because there's only one kind of connection to deal with, two if you may be plugging in both internal and external devices. This AHA-2940AU controller pictured here even supports Ultra SCSI for some of those later narrow hard drives, supporting a maximum of 20MB/s in one channel.
You can absolutely use wide (16-bit) and low voltage differential devices with this card with the help of some adapters, but their performance will be cut in half as a consequence of their connections being converted to 8-bit. SCSI devices that are faster than your controller can handle will also fall back to the maximum available speed in your controller. This shouldn't be too big of a deal unless you know you need to get the most out of your faster hard drives - in which case you should not only choose a faster controller, but a faster computer as well.
More often than not, you'll probably want something a little more broad, something that can support 16-bit SCSI devices. Often, 16-bit SCSI controllers tend to include both 16-bit and 8-bit connectors, so you can use one 16-bit SCSI cable for your wide devices and a separate 8-bit cable for your narrow ones.
This AHA-2940UW SCSI controller pictured is on much the same class as the previous 8-bit SCSI controller mentioned before, also supporting Ultra SCSI. As it natively supports 16-bit devices, though, the one SCSI channel it has is capable of operating at up to 40MB/s.
Here's where things start to get really complicated. Starting with Ultra2 (80MB/s) devices, a new type of connection is used, being low voltage differential, or LVD. Unlike what is retroactively called high voltage differential signaling, this connection is safe to use with older single-ended connections, but if you mix LVD and single-ended devices in a single cable, all devices will be degraded to single-ended signaling, meaning they will be capped to at most 40MB/s transfer rates.
To get around this, many LVD SCSI cards have two 16-bit connectors. Despite what it looks like, the one pictured above does NOT have two SCSI channels. If it did, the connectors would be labeled something like "Channel A" and "Channel B". Instead, one 16-bit connector is used to connect your LVD devices, and the other can be used to connect your single-ended devices. The card separates the LVD and single-ended connections, and then bridges them together differently so both kinds of devices can coexist on a single SCSI channel.
On the flipside, LVD does not support 8-bit connections (without falling back to single-ended), which means you've got a few less connectors to worry about if you're only dealing with LVD devices. The key benefits of LVD, though, include supporting longer cable lengths as long as all devices on a cable are using LVD, and much faster bus speeds, up to 320MB/s. A 640MB/s standard, Ultra640, was documented, but may not actually exist.
While LVD shares the same 16-bit connector as single-ended devices, it comes with another pitfall. An external active LVD-compliant terminator is required in order to use LVD devices; you cannot use the internal terminators of devices to terminate LVD connections, and, in fact, LVD devices do not have internal termination at all. Many 68-pin SCSI cables advertised as supporting LVD will come with active terminators hardwired to one end of them.
Some motherboards have SCSI controllers integrated into their design. These may be more convenient to use since the SCSI connectors lay flat with the motherboard rather than on an elevated expansion card, which could put the SCSI cables more out of the way of any airflow coming in from the front of a computer's case. It really does help a lot, considering SCSI cables can be notoriously long and large.
SCSI is also worth considering even in really old computers that only have ISA slots, such as this 386DX computer I have. It's another way to equip such a computer with a CD-ROM drive, and it may help reduce strain on the CPU during data transfers with the right driver loaded, which really matters when you're working with a CPU that's going to run at 40MHz or less! You can also save on IRQs because you can connect more devices on just one channel, and multiple SCSI controllers may even be capable of IRQ sharing.
The AHA-1540CF and AHA-1542CF controllers are a great option; they have readily available MS-DOS drivers, and drivers for them are already integrated into Windows NT 3.1, Windows 95, and later. One of the models, which I'd wager is the AHA-1542CF, even has an integrated floppy controller, so if you have an I/O controller which only has serial and parallel ports, it'll pair up great with this.
Connecting 8-bit Devices Only
If you're only dealing with 8-bit single-ended SCSI devices, connecting them should be pretty straightforward, only a little step up from how you would connect IDE devices - and, of course, you can connect way more devices on a single channel.
One thing you must be very mindful of, however, is that the drive connected at the very end of the cable needs to have termination enabled. Single-ended drives, at least of the internal kind, often come with internal terminators. Most are permanently attached to the drive's PCB, and can be activated with a jumper. Some older drives may opt to use user-replaceable resistors instead; you'll need to insert or remove them as needed. If you have no such thing that goes with your drive, don't worry; there are other ways to terminate a drive cable. I'll cover this in the next section.
Check your drive's documentation or label to determine which jumper block is used to enable termination. For these ST32550N drives, termination is enabled on the leftmost jumper adjacent to the power connector, as pictured. Do not confuse this setting with termination power, which is something different and should usually be left to the factory default setting.
You must also assign a unique SCSI ID to each drive connected to a single channel. For 8-bit SCSI devices, you can only use values ranging from 0 to 6. SCSI ID 7 is typically reserved for the SCSI controller and should not be changed; this will ensure the controller has the highest priority of all SCSI devices. In most 50-pin hard drives, definitely 3.5" ones, jumpers are typically found on the underside of the PCB, or in the case of these drives depicted, on the opposite side to where the data and power connectors are.
These numbers do not really have to be sequential, but it would be good practice to order your hard drives sequentially. For other devices like CD-ROM or tape drives, you may want to give them a bit of distance from the hard drives in case you want to add more hard drives later. For instance, it may be good to set the IDs of three hard drives to 0-2, and the CD-ROM drive to 4.
If you intend to boot from a SCSI hard drive, you should set its ID to 0, as most SCSI controllers will attempt to execute a bootloader on this ID by default. It may be possible to change the boot target ID in your SCSI controller's settings. If the target drive does not have a master boot record, your SCSI controller may attempt to execute one on a different drive if available.
Like with termination, you should refer to the label or manual for your hard drive to determine the jumpers you need to adjust.
Dual Seagate Barracuda ST32550N Staggered Spinup
If you're going to be installing multiple hard drives in a single computer, it's also very important to stagger the spinup of each drive so that only one is started at a time. Hard drives draw the most current as they're spinning up, then level out at a lower draw once that's done. The best way to do this is by enabling an option called something like "Enable motor start", where the SCSI controller will send a command to the hard drive telling it to spin up once it is detected. The linked video above demonstrates this function in action.
If this cannot be done with your controller, you can alternatively use "Delay motor start", where the hard drive will wait a certain number of seconds before spinning up depending on the ID assigned to it.
This setting is not necessary (but could be nice either way) if you're only installing one hard drive, but imagine installing seven hard drives. If all of them were to spin up at once, they could easily overload a power supply, which is especially true for older ones which often did not surpass 250 or 300 watts. As such, you should really be mindful to enable this setting wherever possible.
Connecting 16-bit Devices Only
Connecting 68-pin, 16-bit single-ended devices exclusively is also easy enough. You can connect them in much the same way as you would connect 50-pin devices. 68-pin single-ended devices often also have internal terminators, so be mindful to enable termination on the last device connected at the end of the cable.
If the last device does not have functional terminators or you would prefer not to use them, you can always obtain a separate active SCSI terminator and connect that to the end of your cable. That's how I opted to connect the two hard drives depicted earlier; termination is disabled on both of them, and termination is accomplished with this module instead. 50-pin active terminators also exist and should be readily available, but I don't know where mine went.
One advantage of 16-bit SCSI devices is their ability to be assigned SCSI IDs up to 15, effectively allowing up to 15 SCSI devices to be connected to a single channel. Because 68-pin connectors are more dense, you'll often find the SCSI ID jumper pins are located in between the data and power connectors. You should use those to assign a drive's ID; just make sure you check the drive's label or documentation to know where you need to place jumper blocks at.
80-pin SCA Connectors
These days, the cheapest hard drives you can get second hand will tend to have this connector on the back, a single SCA 80-pin plug that transmits both data and power. These were most often found in servers with hot swap racks in their conventional life, where they were deployed in mass quantities. There's no such thing as an 80-pin SCSI cable, and such hot swap racks you could fit into 5.25" drive bays tend to be hard to come by, but thankfully, getting these to work with your existing cables only requires a fairly cheap adapter.
80-pin SCA is effectively another type of 16-bit SCSI connector. Using an adapter that gives it conventional 68-pin data and power connectors, it will integrate into your SCSI chain easily. SCA to 50-pin adapters also exist as well, permitting use with older SCSI controllers, but you're certain to get less speed out of them due to the conversion to 8-bit signaling.
Also note the jumper pins on this adapter. Important settings such as SCSI ID and staggered spinup configuration are controlled here, rather than on the drive itself. You may even notice that SCSI hard drives often take much smaller jumpers than the usual size, which can get really frustrating at times given how tough they can be to handle with fingers. This adapter takes regular sized jumper blocks, so you may potentially find it more desirable to work with!
80-pin SCA drives almost certainly do not have internal terminators, so you will need to plug in an external active terminator on the end of a cable.
Mixing 8-bit and 16-bit SCSI Devices
Depending on the SCSI controller and equipment you have, there may be several ways you could connect both 8-bit and 16-bit devices on the same channel. If your controller has both 50-pin and 68-pin connectors, this shouldn't really be all that bad, as you can simply use both kinds of cables - one for your 16-bit devices, and another for your 8-bit devices. The last devices at the ends of both cables must be terminated, or appropriate terminators should be connected at the end of each cable.
Should you not have a 50-pin connector on your controller, or you would rather not add extra cable clutter to your computer, 50-pin and 68-pin devices can still be connected on the same cable. You can plug a 50-pin to 68-pin adapter into your drive and connect that somewhere on your 68-pin SCSI cable. Converting a 50-pin connection to 68-pin does not give you the benefits of 16-bit SCSI.
If you will combine both 8-bit and 16-bit devices, I advise plugging a 16-bit device at the end of the cable and enabling termination on it, or adding an active 68-pin terminator after that device. From what I've heard in the narration of an old Intel training video, if the last devices on a cable are 8-bit and there's 16-bit devices present before it, a certain adapter on an 8-bit device after the last 16-bit device may be required which has high byte termination, terminating one half of the connection for 16-bit devices but continuing with more 8-bit devices.
I still don't quite understand this part myself and don't know where to find such an adapter that can supply high byte termination. As such, you're better off either using a 16-bit device as the last one on the cable, or connecting 16-bit and 8-bit devices separately on a channel. I warned you, SCSI is weird.
Also keep in mind that when connecting both 8-bit and 16-bit SCSI devices, while 16-bit devices can still use IDs up to 15, 8-bit devices are still restricted to 7 at maximum (6 in typical practice due to the host controller occupying 7).
Low Voltage Differential Devices
Low voltage differential, abbreviated to LVD, is a newer type of signaling used by all of the faster SCSI devices, being Ultra2, Ultra160, and Ultra320. LVD devices can fall back to single-ended signaling for compatibility with older SCSI controllers, but to take advantage of the full bandwidth LVD enables, only LVD devices must be connected to an LVD SCSI cable.
No LVD devices have internal termination, so your cable also needs to have an active LVD terminator attached to the end of it. Many cables designed to comply with LVD or any standard from Ultra2 and above have LVD terminators built-in at one end of them. Not all do, so if possible, you should look for one that does so you don't have to fetch one separately. As far as I understand, a single-ended active terminator cannot be used with LVD devices, but LVD terminators can fall back to single-ended signaling alongside the devices.
To ensure LVD devices will operate in LVD mode, they should be connected to a port specifically designated for LVD connections; you should be able to find a label indicating this, but usually the LVD port is the one located closest to the PCI bracket.
LVD controllers often include a secondary 68-pin connector for you to connect your single-ended devices to, and include some circuitry which will allow both LVD and single-ended devices to coexist on a single channel.
8-bit LVD devices do not exist, but LVD devices are capable of operating in 8-bit mode if that's all you can use with any old computer you have which only has a narrow SCSI interface.
And as a reminder again, no, you cannot combine high voltage differential devices with LVD devices.
If you go out shopping for faster SCSI controllers, you may find that a lot of them may have a connector that looks like PCI but is a bit longer. These are 64-bit PCI cards, which were primarily installed in high-end workstations and servers to push the bandwidth ceiling higher. Nonetheless, a good number of 64-bit PCI cards, including many Adaptec SCSI cards like this dual channel Ultra2 controller, can be installed in conventional 32-bit PCI slots. You won't be able to achieve the full bandwidth you otherwise could when connecting a 64-bit PCI card to a 32-bit slot, and because most PCI slots tend to be limited to at most 133MB/s, it generally only makes sense to get at most an Ultra160 controller.
If you're lucky and happen to have a PCI Express SCSI controller on hand and your motherboard supports this bus, you could achieve close to the full bandwidth of Ultra320 with just one lane.
SCSI hard drives, especially the later LVD-based ones, can be incredibly fast depending on what you get. Even if you've got an IDE hard drive on hand that can work with UltraDMA at a really high bandwidth, you may still wish to consider SCSI if you're really serious about maximizing disk performance. Many SCSI hard drives are capable of spinning at 10,000 or even 15,000 RPM, speeds which never existed on IDE and just barely made their way into SATA for a while. If you were to pair such a fast hard drive up with a Pentium 4 computer, you could potentially see some pretty impressive results.
Due to how fast such hard drives spin, though, they will generate more heat, so you should work out how to get them cooled well enough in your computer. One rather easy way you could go about it is by obtaining an internal 5.25" SCSI internal enclosure, a so-called mobile rack. Some of these, particularly those from Lian Li and Icy Dock, likely have fans installed in them to promote airflow around the enclosed hard drive. I have not used a 15,000 RPM drive myself, so I cannot tell you how much cooling it may need for maximum reliability.
But why not just get an SSD? Older operating systems do not support the TRIM command, which is regularly executed when files are deleted to optimize the performance of solid state drives, at least to put it in an oversimplified way. While SSDs will definitely run fast on these systems regardless, it's possible they may slow down if more and more data is written to such drives, so if it bothers you, a fast mechanical SCSI hard drive may suit your taste better.
SCSI Controller Configuration
PCI-based SCSI controllers usually don't need any of their settings changed, as they should automatically be configured by the BIOS to use any available IRQ, I/O port, and BIOS address required. ISA SCSI controllers may require you to manually adjust these settings before the adapter can be used.
In the case of the Adaptec AHA-1540CF or AHA-1542CF, I/O port and address settings are controlled by DIP switches on the card, but the IRQ is assigned by a ROM-resident program called SCSISelect, which is user-accessible.
Most of the time, the rest of the SCSI settings seen here should be left at the defaults, but even on PCI SCSI controllers, there may be specific cases where you need to adjust them. For example, if one SCSI cable is to have both internal and external devices connected to it (i.e. the SCSI cable is not being plugged into the controller at one immediate end of the cable, but rather the next connector after that end), you may need to disable host adapter termination, as the SCSI controller comes with its own terminators to terminate its end of the connection. If you disable this, you must ensure that devices connected on the external side are terminated using a different external terminator.
Later Adaptec SCSI controllers allow you to reassign the boot target to a different SCSI ID from the default of 0. This controller appears to not have that feature.
What you need to do to configure your SCSI controller will vary depending on its model, and which company manufactured it. You may need to rely entirely on jumpers or DIP switches to configure the controller's settings. Symbios Logic (which ultimately ended up in the hands of LSI Logic) will obviously have a different user interface for its BIOS software configuration utility, that much can be said.
I really like Adaptec controllers because they have some additional user-accessible programs embedded right in the BIOS, in addition to having an extensive lineup of products that can suit just about any need. Symbios probably has such things too, but it's been a very long time since I last used one of those. Whenever I get a new SCSI hard drive, one thing I always want to do is run disk verification to check for any bad sectors that may have come up, and remap them if possible. It is kind of tedious if there's a lot of bad sectors on the drive, because you have to constantly press Yes to reassign sectors.
I would advise against running a low-level format on any hard drive. A lot of SCSI hard drives have already been low-level formatted, for one, so the only formatting you really need to do in practice is on the operating system level - that is, partition it with FAT, NTFS, EXT, or some other kind of filesystem your operating system expects. I cannot be certain on this, but if you start a low-level format, it cannot be interrupted, and if it is halted by any circumstance like a power failure or forced reset, the hard drive may be bricked. Keep that in mind, better safe than sorry.
Thankfully, there is no need to configure hard drive parameters in the BIOS as would be the case with IDE hard drives without a BIOS that can automatically detect them. The SCSI controller takes care of all of that for you - a much needed lifting of a burden given all the other stuff you had to learn about SCSI! However, if you are to run a hard disk diagnostic or benchmarking program like Speedsys, which was intended for use with IDE hard drives, you may see strange results due to the way the SCSI controller reports drive parameters.
Technically, you can get away with using a SCSI controller without any driver loaded in some operating systems like MS-DOS and Windows 95, but they will likely not perform at their best due to any available drives relying on the BIOS for disk operations. BIOS calls are really slow, so you should remember to get a driver for your SCSI controller if one is not already supplied by your operating system (or it is and it's unstable with your controller). A SCSI driver is mandatory for fully 32-bit operating systems like Windows NT. In modern Unix-like operating systems, the kernel should support your controller as long as the version isn't too old.
This guide does not cover the full scope of SCSI, far from it. I only wanted to teach practical internal SCSI connections for the newcomer. Being as gigantic of a subject as it is, it's almost certainly going to be intimidating, but the best way to understand it is to actually use it. Whether you're trying to build some crazy PC of sorts, or work with a really old Macintosh or RISC workstation, having knowledge of SCSI will prove to be valuable in the long run.
No comments for this page.
Leave a Comment