June 1, 1994 _ _ _ / / (_) _\ \ \ (_)_/_/ Find-ATA v1.0 - An ATA interface identify drive utility. Seagate Technology, Inc. B-5 Technical Support 920 Disc Drive Scotts Valley, CA 95066 Usage: FIND-ATA [P or S] [M or S] [optional: R or D] or.... FIND-ATA /filename.ATA switches: P or S - Primary or Secondary Port Address (these default to 1F0h and 170h) M or S - Master or Slave drive The optional R and D switches will only work if the Port and Drive switches are also set on the command line. ex: Find-ATA P M D R - allow command line redirection (this feature is useful for redirecting the output to a printer or a file) D - dump the Identify binary data to .ATA (this allows a copy to be saved that can be studied at a later time. A "collection" of various drive files might be useful for reference purposes.) /filename.ATA - load a previously saved Identify data dump. (no switches) - program will prompt for Port and Drive info Find-ATA is designed for the support of users with Seagate disc drives. A little background: The ATA interface has evolved rapidly since its initial design by Compaq Corporation. After refining the basic ATA interface concepts and circuitry, Compaq Corporation worked with Imprimis (now a part of Seagate) to build the first ATA interface drive. At this stage, the interface was far from being an accepted standard. However, it was a natural extension of the ATA I/O bus, and gained industry-wide acceptance because most of the necessary framework needed for the implementation was already present in the host machine. Initially, there were no industry-wide standards for implementing the ATA interface, leaving manufacturers free to extend and improve upon it. In the latter part of 1988, a Common Access Method (CAM) committee was established to develop such standards. Their results were adopted by the American National Standards Institute (ANSI) with the intent of creating a common ATA command specification. The ANSI standard for the ATA interface now provides specifications for mandatory commands, signal conventions, register descriptions and other information necessary for basic compatibility across manufacturers and platforms. The current ANSI specification includes provisions for extended features such as caching and power management, while also providing options for vendor-specific enhancements. The "Identify Drive" command is defined for the ATA interface. This valuable command, when executed, will return to the host 512 bytes which describe the drive and its available features. It is very similar to the original Identify drive developed for the older ESDI interface and is analogous to the SCSI interface's Mode Sense command, albeit with less detail. Find-ATA is a simple utility which helps organize the data in a readable form. The following screen print shows the Identify Drive bytes that correspond to the Find-ATA field names. ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ Find-ATA v1.0 ÆÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ ³ ³ Drive: 27-46 Port: ³ ³ Serial #: 10-19 CMOS Type: Unit: ³ ³ Firmware: 23-26 ³ ³ Hardware DOS Current Max ECC: 22 ³ ³ Cylinders: 1 54 ³ ³ Heads: 3 55 ³ ³ Sectors: 6 56 ³ ³ Capacity: 57-58 ³ ³ ³ ³ Available Information ³ ³ R/W Multiple Mode: 47.7-0 Current: 59.7-0 ³ ³ LBA Mode: 49.9 total sectors 60-61 ³ ³ DMA Mode: 49.8 Single: 62 Multi: 63 ³ ³ Advanced PIO Mode: 64.7-0 +,-IORDY: 68,67 ³ ³ ³ ³ Default PIO Mode: 51.15-8 ³ ³ ³ ³ Buffer: 21 - Type: 20 ³ ³ ³ ³ ³ ÔÍÍÍÍÍÍ͵ Copyright 1994 Seagate Technology, Inc. All rights reserved. ÆÍ¾ IDENTIFY DRIVE command The Identify Drive command (command code ECh) transfers information about the drive to the host. When the command is issued, the drive sets BSY, prepares to transfer a single 512-byte block of data, sets DRQ, and generates an interrupt. The host then reads the data from the drive. The data is organized as shown in the table below. All reserved bits or words are zero. Words 53 to 49 and 62 to 63 change depending on the current operating mode of the drive. All other words are constant for a particular drive. An asterisk (*) indicates words for which a value of 0000h indicates parameter not specified. The following table is organized in words. When a lower order of detail is required, the bits under consideration are placed after a period. For example word 49 bit 8 would be expressed as 49.8. If a range of bits within a word is needed, a hyphen is placed between the hi-lo range. For example word 49 bits 7 to 0 is written as 49.7-0. Word.Bit Description ========================== 0.15 0 = reserved for non magnetic drives 0.14 1 = format speed tolerance gap required 0.13 1 = track offset option available 0.12 1 = data strobe offset option available 0.11 1 = rotational speed tolerance is > 0.5% 0.10 1 = disc transfer rate > 10 Mbit/sec 0.9 1 = disc transfer rate <= 10 Mbit/sec but > 5 Mbit/sec 0.8 1 = disc transfer rate <= 5 Mbit/sec 0.7 1 = removable cartridge drive 0.6 1 = fixed drive 0.5 1 = spindle motor control option implemented 0.4 1 = head switch time > 15 usec 0.3 1 = not MFM encoded 0.2 1 = soft sectored 0.1 1 = hard sectored 0.0 0 = ATA reserved (should be zero) 1 Number of user-addressable cylinders in the default translation mode. When the formatted capacity of the drive exceeds 528 MB this field is set to 1024. 2 ATA reserved (should be zero) 3 Number of user-addressable heads in the default translation mode. When the formatted capacity of the drive exceeds 528 MB this field is set to 16. 4 Number of unformatted bytes per track 5 Number of unformatted bytes per sector 6 Number of user addressable sector in the default translation mode. When the formatted capacity of the drive exceeds 528 MB this field is set to 63. 7-9 ATA reserved (should be zero) 10-19 * Serial number (20 ASCII characters and padded with spaces). 20 * Buffer type. 0000h = not specified 0001h = a single-ported, single sector buffer which is not capable of simultaneous data transfers to or from the host and the disc. 0002h = a dual ported multisector buffer capable of simultaneous data transfers to or from the host and the disc. 0003h = a dual ported multisector buffer capable of simultaneous transfers with a read caching capability. 0004h through FFFFh are reserved. 21 * Buffer size in 512-byte increments 22 * Number of ECC bytes available on read/write long commands. 23-26 * Firmware revision (8 ASCII characters and padded with spaces [20h]). 27-46 * Model number (40 ASCII characters and padded with spaces [20h]). 47.15-8 Seagate reserved. 47.7-0 00h = Read/Write multiple commands not implemented; xxh = Maximum number of sectors that can be transferred per interrupt on read and write multiple commands. 48 0000h = cannot perform double-word I/O 0001h = can perform double-word I/O. (included for backwards compatible use) 49 Capabilities 49.15-13 ATA reserved (should be zero) 49.12 ATA reserved for advanced PIO mode support (should be one) 49.11 1 = IORDY supported (required for PIO modes > 2) 0 = IORDY may be supported 49.10 1 = IORDY can be disabled 49.9 1 = LBA mode supported 49.8 1 = DMA mode supported 49.7-0 Seagate reserved. 50 ATA reserved 51.15-8 PIO data transfer cycle timing mode 51.7-0 Seagate reserved. 52.15-8 DMA data transfer cycle timing mode 52.7-0 Seagate reserved. 53.15-2 ATA reserved 53.1 1 = the fields reported in words 64 - 70 are valid (required for PIO modes > 2 or multiword DMA modes > 0) 0 = the fields reported in words 64 - 70 are not valid 53.0 1 = the fields reported in words 54 - 58 are valid 0 = the fields reported in words 54 - 58 are not valid 54 Number of current cylinders 55 Number of current heads 56 Number of current sectors per track 57 Current capacity in sectors HI-word 58 Current capacity in sectors LO-word 59.15-9 ATA reserved. 59.8 1 = Multiple sector setting is valid 59.7-0 xxh = Current setting for number of sectors that can be transferred per interrupt with Read/Write multiple commands 60 Total number of user addressable sectors HI-word (LBA mode only) 61 Total number of user addressable sectors LO-word (LBA mode only) 62.15-8 Single word DMA transfer mode active 62.7-0 Single word DMA transfer modes supported 63.15-8 Multiword DMA transfer mode active 63.7-0 Multiword DMA transfer modes supported 64.15-8 ATA reserved. 64.7-0 Advanced PIO transfer modes supported (bit significant field: 00000001 means PIO mode 3 supported, bits 7-1 are reserved for future use) 65 Minimum multiword DMA transfer cycle time per word in nanoseconds 66 Manufacturer's recommended multiword DMA transfer cycle time per word in nanoseconds during a single sector host transfer while performing a multiple sector Read DMA or Write DMA command over all locations on the media under nominal conditions. If a host attempts to run at a faster cycle rate by operating at a cycle time of less than this value, the drive may be forced to negate DMARQ to prevent data corruption. The rate at which DMARQ is negated could result in reduced throughput despite the faster cycle rate. 67 Minimum PIO transfer cycle time without flow control in nanoseconds (required for PIO modes > 2) 68 Minimum PIO transfer cycle time with IORDY flow control in nanoseconds (required for PIO modes > 2 69-70 ATA reserved for advanced PIO mode support 71-127 ATA reserved. 128-159 Seagate reserved. 160-255 ATA reserved. Note: The definition of each of the Identify Drive bytes is subject to change by the ATA review committee. Typically, once a definition is in place it will not be changed. Fields which are listed as "ATA reserved" are the ones to watch for change. =====Rev=Hist=============== Written with Borland Pascal v6.0 by B.Rudock, R.Dimick and R.Stacy. Revision History: 6/94 v1.0 Public release. =====Legal=Disclaimer======= LICENSE AGREEMENT Seagate provides the accompanying object code software ("Software") and nonexclusively licenses its use on the following terms and conditions. The Software is copyrighted by Seagate. YOU ASSUME FULL RESPONSIBILITY FOR THE SELECTION OF THE SOFTWARE TO ACHIEVE YOUR INTENDED PURPOSES, FOR THE PROPER INSTALLATION AND USE. SEAGATE DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS, THAT THE SOFTWARE IS FIT FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL BE ERROR FREE. SEAGATE EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL SEAGATE BE LIABLE TO YOU, YOUR CUSTOMERS OR OTHER USERS FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OR INABILITY TO USE THE SOFTWARE. End of License agreement. =====Other================== Available on the Seagate Tech Support BBS (408)438-8771 and many fine and helpful BBS's around the world: Specifications and jumper drawings for all Seagate Disc Drives and Controllers. Reprints of Installation Guides. Troubleshooting essays. FINDTYPE - Utility which displays bios drive type table and matches a Seagate model to the best drive type. Also prints complete specifications lists and much more! FINDINIT - Utility for Seagate controllers and host adapters that have onboard bios. Queries the system to determine bios memory address and initiates low-level format. DESK REFERENCE - Hypertext data system for all Seagate products, troubleshooting, other OEM phone numbers and much, much more. A must for dealers who do a fair amount of support for Seagate products. SEAGATE FORMAT - A lo-level and mid-level formatting utility for AT systems (286+) which supports MFM, RLL, ESDI and ATA interface drives. -=EOF: FIND-ATA.DOC=-