EISA Specification 3.1

While researching the Compaq Intelligent Drive Array (IDA), a circa 1990 EISA-based IDE RAID controller, I quickly established that there’s very little surviving information about it, and most of what there is can be found in two or three patents that Compaq filed around 1989.

The most relevant of the patents was filed as “Bus master command protocol”, but somehow ended up getting renamed to “Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands”, now US Patent 5,249,279. The text includes an interesting statement: “The EISA specification Version 3.1 is incorporated as Appendix 1 to U.S. Pat. No. 5,101,492 to Schultz et al., and is hereby incorporated by reference”. Only US Patent 5,101,492 is nowhere to be found.

But further searching led to European Patent EP0426184 titled “Bus master command protocol”, which does in fact include the entire 435-page EISA 3.1 specification as an appendix.

The patent is long expired, the information within it is now in the public domain, so I took the liberty of extracting the appendix and making the EISA Specification version 3.1 available as a separate PDF. The scan quality is not great but the text is legible. Please note that the printed page numbers are off because they are page numbers of the patent. However, I fixed up the PDF page numbers to correspond to the original document. This was made slightly complicated by the fact that there are several pages missing; page 173 in the PDF explains why — due to a misprint in an earlier edition, some pages were re-numbered and pages 173-180 no longer exist in the corrected edition.

Note that the EISA specification, being a superset of ISA, also includes a specification of the ISA bus. And I really wish I’d found this earlier.

This entry was posted in Documentation, EISA. Bookmark the permalink.

15 Responses to EISA Specification 3.1

  1. Lars Erdmann says:

    One question about DMA:
    are all these extra EISA specific features (upper page registers etc.) also supported on today’s PCs ? Or where they only implemented on the EISA PCs back at the day?

  2. Lars Erdmann says:

    … and if they are supported, would it be possible to use ISA compatible settings but still be able to use the upper page registers and, more importantly, will the address autoincrement without the 64kByte/128kByte wraparound?

  3. Michal Necasek says:

    If the DMA controller can do it, I don’t see why it wouldn’t work with ISA devices. The system memory addressing is entirely up to the DMA controller, not the device.

  4. Chris M. says:

    The reality is/was that there wasn’t an “ISA specification”. The Gang of Nine decided to standardize the behavior, and most importantly, the clock speed of the AT-bus when drafting the EISA standard. If made their life (and the rest of the expansion card industry) very happy to have something to target hardware designs to.

  5. Octocontrabass says:

    You can use most of the EISA DMA controller’s features with ordinary ISA devices. The only things that definitely won’t work are 32-bit transfers and burst transfers, since both require signals that aren’t available in an ISA slot.

    Of course, this assumes you have an EISA DMA controller. As far as I can tell, most PCs don’t have one of those. There were even some EISA PCs that didn’t include an EISA DMA controller!

  6. Michal Necasek says:

    Sure there was a specification — the IBM PC, PC/XT, and PC/AT Technical Reference, including complete schematics. Which is not an ideal kind of specification, but it’s not like people were building ISA adapters in a vacuum for the first 10 years of the PC’s life. The EISA specification and the attempted IEEE standardization (IEEE P996) were certainly much easier to work with. Even then you had very variable ISA bus speeds because of course why make the bus run at 8.33 MHz when you have a 20 MHz CPU and it’s much easier to make the bus run at 10 MHz.

  7. Yuhong Bao says:

    I wonder why they did not make 10Mhz and 12Mhz EISA buses at least an option. (Sure, it broke some ISA cards, but…)

  8. Michal Necasek says:

    It does seem a little odd. Maybe they just figured that with 33 MB/s bandwidth, who needs more? I mean this was 1989 or so…

  9. Richard Wells says:

    EISA target markets were focused on stability not absolute maximum performance. ISA had issues with interference at 10 MHz. The double decker EISA connector should be even worse from an EMI perspective.

  10. Yuhong Bao says:

    (Even MCA which was specifically designed to reduce interference ran at only 10 Mhz initially)

  11. Yuhong Bao says:

    Thinking about it, if one was willing to break old ISA cards, a new connector with more ground and power pins would probably have helped reduce interference at 12Mhz, and it would have been trivial to adapt capable ISA cards to the new connector.

  12. Michael O says:

    Ah, memories.

    I still have a dual processor (486-dx4’s I think) Compaq System Pro with the IDA raid controller and original Conner drives purchased in 1990.

  13. Michal Necasek says:

    That’s very cool. Could you please tell me what those Conner drives are exactly?

    I’m asking because I could not find anywhere what those drives were; I suspect it might have been CP3204F “Rambo”, but it could also have been some “off the books” Compaq only model that Conner was known for.

    Does the IDA RAID controller really have 50-pin connectors for the IDE drives? Finding detailed information is extremely difficult, it was a short-lived product that never sold in any kind of significant numbers. I could not find any Compaq technical documentation, even though it certainly existed.

  14. Michael O says:

    I did a quick look, but the drives would have to be removed for me to see what they are exactly and that’s not a simple thing in the old SystemPro.

    The drives are 210MB I do remember. The IDA controller does have 50-pin connectors, 4 of them. Each connector can run two drives. The cable splits after leaving the controller into 40pin and 10-pin segments. The main drive connector is 40pin with a regular 4-pin molex for power. I don’t know where the 10pin segment goes. I can’t see without removing the drives.

  15. Michal Necasek says:

    Ah, gotcha. Thanks for checking. In a normal IDE system, you could run some utility that executes IDENTIFY DRIVE to show the drive information, but I believe that won’t really work in the SystemPro as it will only “see” the RAID controller. That said, if you could run something that captures the identify data (e.g. Seagate’s FIND-ATA.EXE which can save to file) that would be very cool, as it would be interesting to see what the RAID controller reports itself as.

    Anyway I’m almost certain the drives are CP3204F, possibly in some machines CP3201G. Both of those drives have a very distinct shape.

    Somewhere I saw hints that the extra 10 wires were used for some kind of monitoring.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.