Hardware Components Software Running Unix

Mass Storage

I pondered mass storage for quite a while before deciding on what system to use. If I was going to run Unix, I needed a hard drive, or solid state device. The existing DEC controllers designed for the PDP-11 only supported out-of-date products that would be difficult to find, if not to maintain.

Controllers

After considering all of the options, including building a custom controller, the best scenario I could come up with was a SCSI controller. For this, I chose an Emulex UC07 fast, narrow, high voltage SCSI model, which was the most common, best documented and least expensive I could find. It was also listed in the hardware compatibility list for 2.11BSD.

This controller is a dual width module, with one SCSI bus. Emulex also made the UC08 quad width module, which was equipped with two SCSI busses. Both modules have an MSCP-compatible system interface, allowing them to look like an RQDX-series MFM controller. One nice thing about the UC07 is it has onboard diagnostics and configuration capability, eliminating the need for an external software package to perform this function.

The controller throughput is rated at about 2 MB/s (1 MW/s), using DMA transfers. This is 10 times slower than the SCSI bus, itself. To take advantage of the spare bandwidth on the SCSI bus, multiple host adapters can be connected together to share the same bus and devices.

The UC07 uses Digital's MSCP protocol, which hides the drive geometry from the computer and presents storage as an array of logical blocks. The protocol uses unsigned 32-bit logical block numbers, which works out to a limit of 2 TB, per drive. The UC07, however, has a 24-bit logical block number limit, or 8 GB per drive. Any configuration exceeding this is truncated to 24-bits. The 60 GB Western Digital drive I originally had connected to the system had 117,231,408 logical blocks. The controller reports it to have 16,568,111 blocks, or about 7.9 GB, which is the advertized amount, when truncated to 24-bits. Unfortunately, the remainder of the drive cannot be used.

The UC07 supports the following drive geometry values:

Using the maximum values will, of course, yield a larger drive than the controller can support. Therefore, the idea is to come up with a geometry that will yield as close to 16,777,216 blocks as possible and maximize 24-bit address space. The controller generally reserves 3 spare cylinders, so having fewer heads will provide a little more usable capacity. The following geometry yields 16,777,216 blocks (including block 0).

After the controller subtracts its three cylinders the final disk size is 16,764,924 blocks, or approximately 7.994 GB.

Below is a photo of the Emulex controller.

Emulex UC07

Storage Media

Since parallel SCSI disks are becoming difficult to find, I decided the best option is use a SCSI bridge controller. This would allow me to use more modern (less obsolete?) drives. The following are my experiences with these devices.

ACARD AEC-7720U

I began by purchasing an ACARD AEC-7720U Ultra SCSI-to-IDE bridge and using it with an old parallel IDE hard drive as my first drive. This particular bridge supports synchronous transfers at 20 MB/s on the SCSI bus and 33 MB/s DMA transfers on its ATA bus. The drive was a Western Digital WD600BB 60 GB drive from 2001. It was taken out of service years ago and still has some mileage left on it.

This controller works extremely well. Once the SCSI address and termination options are set, just connect the SCSI cable, power up the system and it will work, as long as the drive holds up. The hard drive and the bridge controller are over 15 times faster than the Emulex controller, so the PDP-11 never has to wait on it.

The Western Digital drive, SCSI bridge, an activity LED and a 50-pin SCSI ribbon cable.

IDE Hard Drive

ACARD ARS-2000SUP

I replaced the AEC-7720U bridge and drive with a new ACARD ARS-2000SUP Ultra SCSI-to-SATA II bridge, paired with a Kingston SNV125-S2/30G 30 GB SSD. The bridge comes in a metal box, with the form factor of a 3.5" hard drive and allows a 2.5" SATA hard drive to be installed inside the box. The assembly is designed to fit in 3.5" drive bay in a standard computer enclosure.

The bridge initially locked up during heavy I/O, which was a bit frustrating. I swapped the drive, with one listed on the manufacturer's compatibility list and tweaked the controller settings, with no change. I finally disabled SCSI disconnects in the Emulex controller, which finally fixed the problem. The bridge supposedly uses the same SCSI interface chip as the AEC-7720U, but it obviously supports a subset of the commands.

In terms of performance, this combination performs the same on my PDP, as the AEC-7720U and hard drive combination, but it eliminates the mechanical storage media, and associated noise. This is currently my production drive combination.

SCSI2SD

My next SCSI bridge purchase was Michael McMaster's SCSI2SD bridge. This unit has a small board, with a 50-pin SCSI ribbon connector and a micro-SD card slot. With a Class 10 card, its read performance on my PDP is the same as the other combinations discussed above, but the write speed is slightly slower. The bridge does not support synchronous transfers, which has little, if any, impact on the overall performance of the system.

Having this bridge is like having a removable disk pack. I can install different operating systems on different cards and then swap the cards whenever I want to boot up something different. It can also partition an SD card into up to four virtual drives, with their own SCSI addresses. This allows a 32 GB SD card to look like four 8 GB drives to my SCSI controller, allowing for more efficient use of storage space.

References


Anti Spam