IDENTIFY Ancient DRIVE

This article will attempt to collect IDENTIFY DRIVE dumps from antique IDE drives, with running commentary. For the purposes of this list, “antique” is defined as a drive model released in 1990 or earlier, typically with the drive itself also manufactured no later than 1990. (Limiting the list to IDE drives made in the 1980s would have made it rather short.)

Several late 1980s IDE drive designs

In general, drives listed here use the 3½″ half-height form factor common for early IDE drives unless noted otherwise. The entries are sorted alphabetically. Mostly.

Conner CP-342

This was, as far as anyone can tell, the first IDE drive available on the open market, some months after Compaq already started shipping Conner’s CP-341 IDE drives. The CP-342 was announced in mid-1987 (see InfoWorld, Jun 29, 1987, page 20, “Hard Disk Drive for ATs Speeds Transfer of Data”). There is no surviving manufacturer documentation for this drive and it does not appear in official Conner drive lists.

The IDENTIFY DRIVE command on the CP-342 goes significantly beyond the Compaq DeskPro Technical Reference from 1986-1987. It supplies the drive model, serial number, and firmware revision, as well as the buffer size (just a single sector) and type and finally ECC size.

It is likely that the CP-342 was very similar to the Compaq-only CP-341. In fact the IDENTIFY DRIVE command returns the drive model as “Conner Peripherals 40MB – CP341”!

Note that the CP-342 was never very well documented by Conner and many common hard disk references have the native/translated geometry backwards (4 heads and 26 sectors per track is the true disk geometry, while 5 heads and 17 sectors per track is the typical recommended translated geometry).

The dump was taken from a drive made in 1989, with 1989 firmware.

Word  0: 0xa5a
          Bit  1: Hard sectored
          Bit  3: Not MFM encoded
          Bit  4: Head switch time > 15 usec
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 11: Rotational speed tolerance > 0.5%
 Word  1: 806 (Fixed Cylinders)
 Word  3: 4 (Heads)
 Word  4: 16659 (Unformatted bytes per track)
 Word  5: 617 (Unformatted bytes per sector)
 Word  6: 26 (Sectors per track)
 Word  7: 50 (Bytes in inter-sector gap)
 Word  8: 12 (Bytes in sync fields)
 Word 10-19: "B1LY34              " (Serial Number)
 Word 20: 1 (Buffer Type)
          single ported single-sector buffer
 Word 21: 1 (Buffer Size in 512-byte Increments)
          0.5 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "0585    " (Firmware Revision)
 Word 27-46: "Conner Peripherals  40MB - CP341      " (Model)

Conner CP-341i

At first glance the CP-341i looks the same as CP-341/342, but the PCB is almost entirely different. The CP-341i is clearly a newer generation drive, with additional capabilities. It has a much larger buffer than the CP-342 (8KB) and supports multi-sector transfers (READ/WRITE MULTIPLE commands), with up to 16 sectors at a time. This may have been the first IDE drive with READ/WRITE MULTIPLE support.

The CP-341i is likely a Compaq-only model, not documented by Conner. The dump was taken from a drive made in 1989, with 1988 firmware.

Word  0: 0xa5a
          Bit  1: Hard sectored
          Bit  3: Not MFM encoded
          Bit  4: Head switch time > 15 usec
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 11: Rotational speed tolerance > 0.5%
 Word  1: 805 (Fixed Cylinders)
 Word  3: 4 (Heads)
 Word  4: 16659 (Unformatted bytes per track)
 Word  5: 617 (Unformatted bytes per sector)
 Word  6: 26 (Sectors per track)
 Word  7: 50 (Bytes in inter-sector gap)
 Word  8: 12 (Bytes in sync fields)
 Word 10-19: "B0G2N7              " (Serial Number)
 Word 20: 3 (Buffer Type)
          dual ported multi-sector buffer with read caching
 Word 21: 16 (Buffer Size in 512-byte Increments)
          8.0 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "2.11    " (Firmware Revision)
 Word 27-46: "Conner Peripherals 40MB - CP341i      " (Model)
 Word 47: 0x10 (Max Sectors per Interrupt)
          16 Sectors per Interrupt
 Word 49: 0x1 (Capabilities)

Kalok Octagon KL343

Kalok drives were cheap and very basic, and the KL343 is no exception. It reports the drive model, firmware revision, and serial number; the latter is reported as “SN 00000000000000000” which, needless to say, does not match the serial number printed on the drive label (but it matches the Kalok OEM Manual).

The KL343 exemplifies how the buffer size returned through IDENTIFY DRIVE is not particularly well defined. The KL343 claims to have 8K, and it does have an 8K SRAM, but it’s extremely unlikely that all of it would be used as a sector buffer. The KL-383 is very basic and does not support any advanced IDE features.

The KL383 spins at only 3,375 RPM, which is how it gets 31 sectors per track.

The dump was taken from a drive made in 1990, with 1990 firmware.

Word  0: 0xa5c
          Bit  2: Soft sectored
          Bit  3: Not MFM encoded
          Bit  4: Head switch time > 15 usec
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 11: Rotational speed tolerance > 0.5%
 Word  1: 670 (Fixed Cylinders)
 Word  3: 4 (Heads)
 Word  4: 16701 (Unformatted bytes per track)
 Word  5: 568 (Unformatted bytes per sector)
 Word  6: 31 (Sectors per track)
 Word  7: 14 (Bytes in inter-sector gap)
 Word  8: 12 (Bytes in sync fields)
 Word 10-19: "SN 00000000000000000" (Serial Number)
 Word 20: 2 (Buffer Type)
          dual ported multi-sector buffer
 Word 21: 16 (Buffer Size in 512-byte Increments)
          8.0 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "REV  5.4" (Firmware Revision)
 Word 27-46: "KL343                                 " (Model)

Miniscribe 8051A

Made shortly before Miniscribe went out of business, this model was also sold under the Maxtor brand (Maxtor 8051A). This is the most bare-bones IDE drive I have encountered so far. It has no bad sector remapping and comes with an old-style bad track map printed (actually handwritten) on the drive.

Even this very basic drive supports IDENTIFY DRIVE, but only returns anything in the first seven words. In other words, it reports its geometry but nothing else. No model, serial number, or firmware revision, no additional features. Effectively this drive reports what’s defined in the 1986-1987 Compaq technical references and nothing more.

Interestingly, the bad sector map on the drive label clearly assumes a geometry with 5 heads and 17 sectors per track, whereas IDENTIFY DRIVE reports the drive’s actual physical geometry, i.e. 4 heads and 28 sectors per track. The drive has four unreadable sectors with LBAs matching exactly the four defects listed on the drive label, which means it did not develop any additional bad sectors since it left the factory.

The dump was taken from a drive made in 1990.

Word  0: 0x425a
          Bit  1: Hard sectored
          Bit  3: Not MFM encoded
          Bit  4: Head switch time > 15 usec
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 14: Format speed tolerance gap required
 Word  1: 745 (Fixed Cylinders)
 Word  3: 4 (Heads)
 Word  4: 17220 (Unformatted bytes per track)
 Word  5: 615 (Unformatted bytes per sector)
 Word  6: 28 (Sectors per track)
 Word 10-19: Serial number not provided
 Word 23-26: Firmware revision not provided
 Word 27-46: Model number not provided

Quantum ProDrive 40AT

The early ProDrives were similar to early Conner drives: voice coil actuator, embedded servo information, defect mapping, and only basic IDE features. However, the ProDrive had a relatively large 64KB buffer with look-ahead (‘DisCache’), and it took advantage of the flexibility afforded by the IDE interface in that the drive had two zones with 35 and 28 sectors per track, respectively.

Unlike most early IDE drives, the ProDrive 40AT does not report its physical geometry through IDENTIFY DRIVE; since the ProDrive does in fact have two zones with different number of sectors per track, it cannot report the true physical geometry. The Quantum ProDrive 40AT reports 5 heads and 17 sectors per track, a common (translated) geometry that was in fact often used with many other old IDE drives as well.

The dump was taken from a drive made in 1990, with 1989 firmware.

Word  0: 0x25a
          Bit  1: Hard sectored
          Bit  3: Not MFM encoded
          Bit  4: Head switch time > 15 usec
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
 Word  1: 965 (Fixed Cylinders)
 Word  3: 5 (Heads)
 Word  4: 8704 (Unformatted bytes per track)
 Word  5: 512 (Unformatted bytes per sector)
 Word  6: 17 (Sectors per track)
 Word 10-19: "006187292           " (Serial Number)
 Word 20: 3 (Buffer Type)
          dual ported multi-sector buffer with read caching
 Word 21: 128 (Buffer Size in 512-byte Increments)
          64.0 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "6.8     " (Firmware Revision)
 Word 27-46: "QUANTUM P40A 940-40-94xx              " (Model)

Seagate ST157A

The ST157A is one of Seagate’s first IDE attempts and it’s quite basic. It is effectively a ST157R (a stepper RLL drive with ST506 interface) with IDE controller. Although not fast, these drives have a reputation for being reliable, and the OS/2 Museum’s specimen has no bad sectors.

The dump was taken from a drive made in 1990.

Word  0: 0x424c
          Bit  2: Soft sectored
          Bit  3: Not MFM encoded
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 14: Format speed tolerance gap required
 Word  1: 560 (Fixed Cylinders)
 Word  3: 6 (Heads)
 Word  4: 15625 (Unformatted bytes per track)
 Word  5: 597 (Unformatted bytes per sector)
 Word  6: 26 (Sectors per track)
 Word 10-19: "99209412            " (Serial Number)
 Word 20: 2 (Buffer Type)
          dual ported multi-sector buffer
 Word 21: 4 (Buffer Size in 512-byte Increments)
          2.0 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "3.4/048 " (Firmware Revision)
 Word 27-46: "Seagate Technology ST157A             " (Model)

Seagate ST280A / CDC 94204-71

The ST280A is completely unrelated to the ST157A; it is a design that was first sold as CDC Wren 2 HH model 94204-71 circa mid-1988, then continued being sold under the Imprimis brand, and finally under the Seagate brand as ST280A. It is one of the very few 5¼″ IDE drives designed in the 1980s.

The ST280A reports its model as “CDC 94204-71”, which presumably reflects the fact that it started shipping before Imprimis was spun off from CDC. At least my observation is that CDC/Imprimis/Seagate drives report their vendor depending on who first shipped them, which is not necessarily the vendor on the drive label, but it means a particular drive model always identifies itself the same way.

The Wren II HH is quite an old design; as was the case with many early IDE drives, an existing ST506 drive was equipped with an IDE controller. It is unclear if and how it’s related to the Wren II HH in the Compaq DeskPro 386 which was likely the first IDE drive ever made.

Like other Wren drives, the ST280A has a dedicated servo surface. It has a fairly large (considering its age) 32 KB buffer and can transfer up to 62 sectors per interrupt (31 KB of data). The serial number is reported as all zeros, which is obviously not the actual serial number.

As was common, the ST280A reports its true physical geometry through IDENTIFY DRIVE. Unusually, the geometry cannot be used by the BIOS as is—the drive has 1,032 cylinders, more than the BIOS limit of 1,024.

The dump was taken from a drive made in 1990; the firmware may be older.

Word  0: 0x426c
          Bit  2: Soft sectored
          Bit  3: Not MFM encoded
          Bit  5: Spindle motor control
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 14: Format speed tolerance gap required
 Word  1: 1032 (Fixed Cylinders)
 Word  3: 5 (Heads)
 Word  4: 15637 (Unformatted bytes per track)
 Word  5: 576 (Unformatted bytes per sector)
 Word  6: 27 (Sectors per track)
 Word  7: 9 (Bytes in inter-sector gap)
 Word  8: 6 (Bytes in sync fields)
 Word 10-19: "00000000000000000000" (Serial Number)
 Word 20: 3 (Buffer Type)
          dual ported multi-sector buffer with read caching
 Word 21: 64 (Buffer Size in 512-byte Increments)
          32.0 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "VER CD64" (Firmware Revision)
 Word 27-46: "CDC 94204-71                          " (Model)
 Word 47: 0x3e (Max Sectors per Interrupt)
          62 Sectors per Interrupt

Western Digital WD 93044-A

This is Western Digital’s first generation IDE drive, with a Tandon chassis and WD electronics.

The WD 93044-A is notable for providing the model, serial number, and firmware revision through IDENTIFY DRIVE, but not byte-swapping the ASCII strings like everyone else. As a consequence, the model usually comes out as “DW9 0344A-( 4 0BM)” instead of “WD 93044-A ( 40 MB )” as WD obviously intended.

Somewhat unusually, this drive fills Word 47 only to report that it can transfer at most one sector per interrupt.

It is also worth mentioning that the label on the drive says WD95044-A rather than WD93044-A. The difference between the ‘5’ and ‘3’ variant was only in that the former came with a mounting kit and bezel for a 5.25″ slot whereas the latter was intended for installation in a 3½″ slot. The actual drive was the same in both cases, which is presumably why the model reported by IDENTIFY DRIVE does not match the label.

The dump was taken from a drive made in 1990. First it’s presented with standard decoding, byte-swapping all ASCII strings:

Word  0: 0xa5c
          Bit  2: Soft sectored
          Bit  3: Not MFM encoded
          Bit  4: Head switch time > 15 usec
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 11: Rotational speed tolerance > 0.5%
 Word  1: 782 (Fixed Cylinders)
 Word  3: 4 (Heads)
 Word  4: 15633 (Unformatted bytes per track)
 Word  5: 579 (Unformatted bytes per sector)
 Word  6: 27 (Sectors per track)
 Word  7: 19 (Bytes in inter-sector gap)
 Word  8: 14 (Bytes in sync fields)
 Word 10-19: "DW515635 9          " (Serial Number)
 Word 20: 3 (Buffer Type)
          dual ported multi-sector buffer with read caching
 Word 21: 14 (Buffer Size in 512-byte Increments)
          7.0 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "IFMR.8A8" (Firmware Revision)
 Word 27-46: "DW9 0344A-( 4  0BM)                   " (Model)
 Word 47: 0x1 (Max Sectors per Interrupt)
          1 Sectors per Interrupt

Here’s the same dump without byte swapping, showing the strings the way WD meant them to be seen:

Word  0: 0xa5c
          Bit  2: Soft sectored
          Bit  3: Not MFM encoded
          Bit  4: Head switch time > 15 usec
          Bit  6: Fixed drive
          Bit  9: Transfer rate > 5 Mbps but <= 10 Mbps
          Bit 11: Rotational speed tolerance > 0.5%
 Word  1: 782 (Fixed Cylinders)
 Word  3: 4 (Heads)
 Word  4: 15633 (Unformatted bytes per track)
 Word  5: 579 (Unformatted bytes per sector)
 Word  6: 27 (Sectors per track)
 Word  7: 19 (Bytes in inter-sector gap)
 Word  8: 14 (Bytes in sync fields)
 Word 10-19: "WD1565539           " (Serial Number)
 Word 20: 3 (Buffer Type)
          dual ported multi-sector buffer with read caching
 Word 21: 14 (Buffer Size in 512-byte Increments)
          7.0 KB
 Word 22: 4 (Bytes of ECC)
 Word 23-26: "FIRM8.8A" (Firmware Revision)
 Word 27-46: "WD 93044-A ( 40 MB )                  " (Model)
 Word 47: 0x1 (Max Sectors per Interrupt)
          1 Sectors per Interrupt

This entry was posted in IDE, PC hardware, PC history, Storage. Bookmark the permalink.

9 Responses to IDENTIFY Ancient DRIVE

  1. Octocontrabass says:

    I think WD had a different interpretation of word 47. The WD1007V-SE1 firmware I disassembled is capable of returning different values, and the value can change in response to WRITE and WRITE MULTIPLE commands. It even gets initialized to 1 on power-up. The WD93044-A firmware might be doing the same thing.

    Unfortunately, I never did figure out exactly what it means.

  2. Michal Necasek says:

    ATA-1 is rather vague and only says that Word 47 bits 0-7 is “Maximum number of sectors that can be transferred per interrupt on read and write multiple commands”. That doesn’t really say if it’s the currently set maximum or the global maximum. Word 59 is defined in ATA-1 as “Current setting for number of sectors that can be transferred per interrupt on R/W multiple commands”.

    ATA-2 is much clearer and says about Word 47 that “Bits 7-0 of this word define the maximum number of sectors per block that the device supports for READ/WRITE MULTIPLE commands”.

    Obviously the WD1007V and the WD93044-A are a bit older than ATA-1, and before 1992, the ATA standard drafts didn’t even define Word 59 at all. ATA-1 further says (for SET MULTIPLE MODE): “Drives shall support block sizes of 2, 4, 8, and 16 sectors, if their buffer size is at least 8,192 bytes, and may also support other block sizes.” That sentence is quite difficult for me to parse — does it mean block sizes of 2/4/8 must be always supported, and also 16 if buffer is 8K or bigger, or does it mean that if buffer is 8K or bigger, supported sizes are 2/4/8/16 and nothing is said about smaller sizes? I suspect it’s the former but that is only a guess.

    By my reading of ATA-1, it would be okay to report the current SET MULTIPLE MODE setting in Word 47 when it’s enabled. I believe WD’s idea was that if Word 47 says 1 it means R/W Multiple (aka RWM) is supported, and the buffer size helps you figure out the available settings. That said, I’m also not sure exactly what it is that the WD1007V firmware returns in Word 47; it’s definitely not the current multiple setting (which can be zero to mean disabled, or anything between 1 and 14) but it is somehow related.

    At least Conner and CDC/Imprimis/Seagate clearly did things differently and reported the maximum valid multiple setting in Word 47; in their old drives, I don’t think there was any way to query the current setting. There’s also the ‘vendor specific’ bits 8-15 in Word 47 which many drives set to 0x80 but I could not figure out what it means.

    Quantum interestingly did not support RWM in their old drives at all, even though they had pretty big buffers for the time (often 64K or more).

  3. Michal Necasek says:

    Conner CP30204 manual says that for SET MULTIPLE MODE, “block counts supported are multiples of 2 up to the buffer size of each drive, e.g. 1, 2, 4, 8…”. For Word 47, it only says “Number of sectors/interrupt” which is again very vague. But considering what Conner drives return from IDENTIFY DRIVE after power up, it’s not the current setting.

    Oh… and a Conner CP3000 that I have claims to have a 4K buffer (8 sectors) while Word 47 says 16 sectors. Take your pick which one you’re going to trust.

    Early WD Caviar drives definitely took a different approach and the max multiple setting was much smaller than the buffer size (e.g. 16 sectors for a drive with 64K buffer), and not limited to powers of two.

  4. Octocontrabass says:

    Does your WD95044-A allow SET MULTIPLE MODE settings higher than 1? The odd wording in ATA-1 might be from trying to reconcile WD’s use of word 47 with everyone else.

  5. Michal Necasek says:

    Actually… The WD95044-A doesn’t seem to support SET MULTIPLE MODE at all. Either they misunderstood the draft ATA standards or didn’t read them at all (the drive is just old enough that either is plausible), because even the earliest 1990 ATA draft I have is pretty clear that Word 47 reports the maximum block size for READ/WRITE MULTIPLE, not the maximum block size for READ/WRITE SECTOR(S) which is always 1.

    A Conner 1988 document for Word 47 says: “Number of sectors/interrupt (0 = does not support > 1)”. By that definition, 0 and 1 have the same meaning, and perhaps that is what the WD95044-A firmware was written to.

  6. Fernando says:

    “which many drives set to 0x80 but I could not figure out what it means”
    Could be that is the first hard drive, when one access the hard drive thru BIOS one uses 0x80 for the first hard drive.
    Just a guess…

  7. Michal Necasek says:

    No, that 0x80 has nothing to do with the BIOS drive numbering. It looks like some kind of a bit flag that means something… but to understand what, one would have to find the right OEM manual from whichever vendor came up with it. So far I haven’t found any software looking at that bit, either.

  8. SweetLow says:

    Thanks for raw IDENTIFY dumps. Good for decoder tests 🙂 And first time when I see dumps of non LBA drives at all.

  9. DOS says:

    I ran across a free tool which can be used to perform various operations on ATA devices and it includes an “ID” command which performs an IDENTIFY and does a lot of interpretation of the result: http://www.ata-atapi.com/atademo.html

    I haven’t tried it against any ancient drives though.

Leave a Reply

Your email address will not be published. Required fields are marked *

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