ESDI drive migration notes

This document intends to help users who want to migrate data from drives with an ESDI interface

The ESDI interface was an intermediary interface standard between ST-412/506 and SCSI. This is the overview from Wikipedia: "Designed by a manufacturer consotium led by Maxtor Corporation in the early 1980s, ESDI was meant to be a follow-on to the ST-412/506 interface. ESDI improved on ST-506 by moving certain parts that were traditionally kept on the controller (such as the data separator) into the drives themselves, and also generalizing the control bus such that more kinds of devices (such as removable disks and tape drives) could be connected. ESDI uses the same cabling as ST-506 (one 34-pin common control cable, and a 20-pin data channel cable for each device), and thus could easily be retrofitted to ST-506 applications.

ESDI was popular in the mid-to-late 1980s, when SCSI and IDE technologies were young and immature, and ST-506 was neither fast nor flexible enough. ESDI could handle data rates of 10, 15, or 20 Mbit/s (as opposed to ST-506's top speed of 7.5 Mbit/s), and many high-end SCSI drives of the era were actually high-end ESDI drives with SCSI bridges integrated on the drive.

By 1990, SCSI had matured enough to handle high data rates and multiple types of drives, and ATA was quickly overtaking ST-506 in the desktop market. These two events made ESDI less and less important over time, and by the mid-1990s, ESDI was no longer in common use."

Micropolis was a major adopter of the ESDI standard and a detailed specifications document can be found here.

ESDI data recovery and/or migration notes

From a modern perspective, ESDI was a step up from how ST-412/506 handled drive control. ST-412/506 had no built-in controller but relied on a connected controller card and the host system to do motor control, head arm stepping, etc. With ESDI, these chores began to separate and be moved off the controller, "into the drive", into a controller closely connected with the drive, while a host-side controller - for some aspects - began to "speak" to the drive (and its internal controller) in a higher abstraction of the actual underlying storage meachnisms. On one hand, this means that the physical disk block device is more compatible/interchangeable between host-controllers - at least in comparison with ST-412 drives. On the other hand some aspects of how a host-controller laid out data on-disk were still so unique to a certain controller and/or controller brand, that block devices, once formatted and used, still can't be easily interchanged between host-controllers or systems.

One of ESDI's features was support for multiple data rates with a standard data encoding scheme. This data rate was usually negotiated between the disk drive and host-controller card, however, compatibility wasn't perfect and usually a controller must operate at a higher data rate than the attached disk to work. For example, if you had a 10 megabit controller, 15 or 20 megabit ESDI disk drives wouldn't work on it. A 10 Megahertz controller can't control a 15 Megahertz drive. (See same note from "Tech Tips" below)

Another thing to note is that ESDI disk drives usually could be configured by setting physical jumpers on the drive controller board, for example to set the number of sectors per track and/or byte size per sector. These settings had to be set in a way compatible with the attached host-controller and/or operating system - and in turn "fingerprinted" how data was laid out on the magnetic surface. Reading the same data back will not work when jumpers are changed after data was written.

For Micropolis drives, notes on options and settings are usually detailed on "drive family"-articles in our HDD support area. Look for "Configuration" and "Electrical Interface" articles. For example, configuration notes for the 1560 series are here.

ESDI drives are usually set up as type #1 in the CMOS and auto-configured at boot time for 32 sectors per track. With common interleaving settings, this results in up to 1MB/sec transfer capability. IBM decided to hardwire all its drive controllers to use IRQ14. So using multiple IBM ESDI controllers will lead to IRQ sharing and the OS might not support this.

ESDI host-side controllers are usually ISA or MCA bus cards. ESDI drives were common in IBM PS/2 computers. The IBM PS/2 Model 77 is a 486 CPU computer with the proprietary IBM Micro Channel architecture (MCA) bus. So in order to transfer data off an older ESDI hard-drive, it's probably easiest to find an old IBM PS/2 machine, equip it with a PS/2 MCA bus disk controller card and some other, different storage device, like a SCSI drive. One example of an ESDI controller for the ISA bus is the Adaptec ACB-2322. Micropolis 1558 drives were know to be paired with the Adaptec 2322 Controller Card. 1664-7 drives were know to be well paired with Interphase PB00119 ESDI controllers.

This article has notes on getting a non-IBM ESDI drive to work on an IBM PS/2 ESDI-controller. The adapter manual is here. One such controller card is the IBM SKU 72X8588.

Adaptec did produce an ESDI to SCSI adapter card, Adaptec ACB-4525Z. From description, it is able to attach an ESDI drive to a SCSI interface. The ACB-4525Z supports two ESDI hard-and/or soft-sectored drives with data rates up to 15MHz. Such a translator card is meant to enable drives for use on systems that only feature a SCSI interface. The thing is that a pre-formatted and used ESDI drive may have a data layout on-disk that the Adaptec ESDI to SCSI translator isn't able to detect. With ESDI disks carrying data, it is important to know which system, using which controller, wrote data. Although inspecting a disk in a read-only scenario should be safe in general, it can't be assumed that a drive is easily detected by a host-controller and similarly data can't be expected to be easily read just by attaching a physically compatible controller.

General ESDI notes from Micropolis "Tech Tips"

On ESDI Controller frequencies":
When using ESDI controllers and drives, you must be sure that the controller has a transfer rate equal to or higher than the drive. Eg. WD1007A is a 10 Megahertz controller, with a 1664-7 which is a 15 Megahertz drive. This is an incompatible mix.

On "ESDI Drive Splitting":
Enabling drive splitting with ESDI controllers will limit the system to one physical EDSI drive. The computer CMOS must be set for two physical drives set to type (Type 1)

On "Ultrastor Controllers and Netware":
All Ultrastor ESDI controllers will not co-reside with any other manufacturers controller card under Netware.

Physical connection

Connector pinouts of the ESDI interface can be found in the Micropolis ESDI Interface Specifications and on Wikipedia. In terms of cabling, ESDI seems similar to ST-412/506 as the same cables are used, but the interface is completely different.

Examplary for how physical connection looks, here's the electrical interface between a Micropolis 1550-Series drive and the host system. It is accomplished with five connectors: J1, J2, J3, J4, and J5. Control Signal Connector J1 is a 34-pin board-edge connector. The signals on this connector control the drive and transfer drive status to the host controller. Data Transfer Connector J2 is a 20-pin board-edge connector. The signals on this connector contain read or write data. DC Power Connector J3 is a 4-pin connector used to supply +5V and +12V to the drive. Ground Connectors J4 and J5 are 3/16-inch spade lugs located on the HDA and frame, respectively, and are used for grounding purposes. System characteristics determine proper ground connection.

Links and reference