July 7, 1994
   _ _ _
  / / (_)
 _\ \ \
(_)_/_/  ASPI-ID v1.0 -

Displays SCSI Mode Sense and Inquiry information via the ASPI device
driver.

Copyright 1994, Seagate Technology, Inc. All rights reserved.

Seagate Technology, Inc.
B-5 Technical Support
920 Disc Drive
Scotts Valley, CA 95066


===============================================================

Usage: ASPI-ID [SCSI ID] [optional: R or D]  or....
       ASPI-ID /filename.ASP

switches:
  SCSI ID        - A valid SCSI ID in the range 0 to 6

The optional R and D switches will only work if the SCSI ID
switch is also set on the command line.  ex: ASPI-ID 0 D


  R            - allow command line Redirection; this feature is
                 useful for redirecting the output to a printer or a
                 file.

  D            - Dump the SCSI Mode Sense and Inquiry binary data to
                 <filename>.ASP; 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.ASP - load a previously saved ASPI data dump.  The ASPI
                 device driver is not required in memory for this
                 feature. Therefore, non-SCSI systems can be used to
                 load and display a saved file.

(no switches)  - prompt for SCSI ID info


ASPI-ID is designed for the support of users with Seagate disc drives and
has been tested with Adaptec, Acculogic, Always, DPT and Ultrastor
SCSI host adapters with their associated ASPI device drivers.  
(These represent the HA's we had laying around in Tech Support, other
HA's with ASPI drivers should also work.)

===============================================================

A little background:

"ASPI" stands for Advanced SCSI Programming Interface.  It is an
Adaptec-developed interface specification for sending commands to SCSI
host adapters.  The interface provides an abstraction layer that
insulates the programmer from considerations of the particular host
adapter used.  The ASPI manager accepts ASPI commands and performs the
steps necessary to send the SCSI command to the target.  For example,
although the Adaptec AHA-152x and AHA-274x host adapters have very
different hardware, the ASPI interface to these boards is the same.

Unlike AT bus based disc drive interfaces, which tend to have common
well definded register level instructions, SCSI controllers are not
nearly so constrained.  In other words, it is up to the host adapter
manufacturer to supply the link between the actual hardware
controlling the SCSI bus, and the service calling software, usually
the operating system.  Although this increases flexibility for changes
to the host adapter, it precludes direct universal hardware port
calls.

The "linking" software has to be supplied by the host adapter
manufacturer either in the form of a BIOS, or equivalent software
module in the form of a device driver.  Because each host adapter
manufacturer uses different SCSI support hardware, it is impossible
for a drive manufacturer to supply software support for all SCSI host
adapters.

Fortunately, thanks to the ASPI, a common ground is established that
allows a software program to communicate directly with the SCSI
device.  The only requirement is that the user must install an ASPI
device driver (usually in CONFIG.SYS) that was written by the host
adapter OEM. DOS ASPI device drivers are usually supplied with the
host adapter or are freely available via support BBS's because of
their common usage with SCSI CD-ROMs and tape backup systems.

The ASPI command codes utilized in ASPI-ID are:

Host Adapter Inquiry -
        ID ofHost Adapter
        SCSI Manager ID (the name given to the ASPI driver by the host
                         adapter manufacturer)
        Host Adapter ID (the name of the host adapter)

Get Device Type -
        Peripheral Device Type of target

Execute SCSI I/O Command -
        SCSI Inquiry (12h) (returns information about the drive. see
                            Appendix D for detailed information)

        SCSI Mode Sense (1Ah) (returns many pages of detailed
                               information about the drive. see
                               Appendix C for detailed information)

        SCSI Read Capacity (25h) (returns the number of the last
                                  logical block and the block size)

Get Disk Drive Information -
        INT13 drive numnber
        Preferred Head Translation
        Preferred Sector Translation



===============================================================
The follow SCSI command and mode page definitions are taken from
a Seagate SCSI drive product manual.  The purpose for including
it in this doc file is to help clarify the information returned
by the ASPI-ID program.  It is not intended to be a complete
SCSI reference.


3.4.13    Mode Sense command (1AH)
===============================================================
When the initiator sends this command to the drive, it returns
mode-page parameters to the initiator. This command is used in
conjunction with the Mode Select command.

Bits    7       6       5       4       3       2       1       0
Bytes
0       0       0       0       1       1       0       1       0
1       LUN                     0       0       0       0       0
2       PCF             Page code
3       0       0       0       0       0       0       0       0
4       Allocation length
5       0       0       0       0       0       0       Flag    Link

Byte 2    The page control field (PCF) determines the content of Mode
          Parameter bytes. Regardless of the value of the PCF, the
          block descriptor always contains the current values.

PCF bit 7       PCF bit 6       Effect
0               0               Return current values.
0               1               Return changeable values.
1               0               Return default values.
1               1               Return saved values.

The page code is the designator that is unique to each page.

The page codes are listed in Section 3.4.13.1.

Byte 4    The allocation length specifies the number of bytes that the
          initiator has allocated for returned Mode Sense data. An
          allocation length of 0 means that no Mode Sense data is to
          be transferred. This condition is not considered an error.
          Any other value represents the number of bytes to be
          transferred. For a description of the allocation length, see
          Section 3.4.13.1.


3.4.13.1  Page code and allocation length

The Mode Sense command descriptor block contains a page code (byte 2,
bits 5--0) and an allocation length (byte 4). These parameters are
described in the following table. You can transfer mode pages to the
initiator either of two ways:

- Transfer all mode pages at once by using page code 3FH, as de-
  scribed in the last row of this table, or

- Transfer one mode page at a time by using the page code and
  allocation length of the mode page.

Page    Allocation      Mode Sense data returned
code    length
01H     18H             4   bytes of Mode Sense header
                        8   bytes of block descriptor
                        2   bytes of mode-page header
                        10 bytes of Error Recovery parameters

02H     18H             4   bytes of Mode Sense header
                        8   bytes of block descriptor
                        2   bytes of mode-page header
                        12 bytes of Disconnect/Reconnect parameters

03H     24H             4   bytes of Mode Sense header
                        8   bytes of block descriptor
                        2   bytes of mode-page header
                        24 bytes of Format Device parameters

04H     20H             4   bytes of Mode Sense header
                        8   bytes of block descriptor
                        2   bytes of mode-page header
                        20 bytes of Rigid Disc Geometry parameters

08H     20H             4   bytes of Mode Sense header
                        8   bytes of block descriptor
                        2   bytes of mode-page header
                        20 bytes of Caching parameters

0CH     24H             4   bytes of Mode Sense header
                        8   bytes of block descriptor
                        2   bytes of mode-page header
                        24 bytes of Notch and Partition parameters

0DH     18H             4    bytes of Mode Sense header
                        8    bytes of block descriptor
                        2    bytes of mode-page header
                        12  bytes of Power Condition parameters

38H     1CH             4    bytes of Mode Sense header
                        8    bytes of block descriptor
                        2    bytes of mode-page header
                        16  bytes of Cache Control parameters

3CH     0FH             4    bytes of Mode Sense header
                        8    bytes of block descriptor
                        2    bytes of mode-page header
                        3    bytes of Soft ID parameters

00H     10H             4    bytes of Mode Sense header
                        8    bytes of block descriptor
                        2    bytes of mode-page header
                        4    bytes of Operating parameters

3FH     143 or 144      4    bytes of Mode Sense header
                        8    bytes of block descriptor
                        2    bytes of mode-page header
                        143 or 144 bytes of mode parameters,
                             including all mode pages

* The allocation length depends on whether the Operating page has 2 or
3 bytes. The Operating page is described in Appendix C.10.


3.4.13.2  Mode Sense data

The Mode Sense parameter list contains a 4-byte header followed by an
8-byte block descriptor (if any), followed by the mode pages. The
header and block descriptor are shown below. The mode pages are
described in Appendix C.

Bits    7       6       5       4       3       2       1       0
Bytes
0                  Mode Sense data length
1 (default)        Medium type (00H)
2       WP=0       Reserved
3 (default)        Block descriptor length (08H)
Block descriptor
4 (default)        Density code (00H)
5--7               Number of blocks
8 (default)        Reserved (00H)
9--11              Block length
Mode pages
12--n              Mode pages

Byte 0  The Mode Sense data length specifies the number of
bytes minus 1 of the Mode Sense data to be transferred
to the initiator.

Byte 1  The medium type is always 0.

Byte 2  The WP (write protect) bit is always 0, which means the media
        is write-enabled.

Byte 3  The block descriptor length is the number of bytes in the
        block descriptor. This value does not include the page headers
        and mode pages that follow the block descriptor, if any.

Byte 4  The density code is not supported.

Bytes 5--7      The number of blocks field contains the total number
        of blocks available to the user, which is specified on page 1.

Byte 8  Reserved

Bytes 9--11     The block length specifies the number of bytes
        contained in each logical block described by the block
        descriptor.





Appendix B. Sense data
===============================================================

The appendix contains the descriptions for sense data returned by the
Request Sense command. For more information on the Request Sense
command, see the Seagate SCSI-2 Interface Manual, publication number
77738479.

B.1  Additional sense data
===============================================================

When the initiator issues a Request Sense command, the drive returns
the following additional sense data.

Bit            7       6       5       4       3       2       1       0
Bytes
0              Valid   Error code
                       1       1       1       0       0       0       X
1              Segment number (00H)
2              0       0       ILI     0       Sense key
3--6           Information bytes
7              Additional sense length
8--11          Command specific data
12             Additional sense code
13             Additional sense code qualifier
14             FRU code
15             SKSV
16--17         Sense key specific
18--22         Product-unique sense data (00H)

Byte 0    If the valid bit is one, the information bytes (bytes 3
          through 6) are valid. If the valid bit is zero, the
          information bytes are not valid.

          If the error code contains a value of 70H, the error
          occurred on the command that is currently pending. If the
          error code contains a value of 71H, the error occurred
          during the execution of a previous command for which a good
          status has already been returned.

Byte 1    The segment number is always zero.


Byte 2    If the incorrect length indicator (ILI) bit is zero, the re-
          quested block of data from the previous command did not
          match the logical block length of the data on the disc. If
          the ILI bit is one, the requested block of data from the
          previous command matched the logical block length of the
          data on the disc.

          The sense key indicates one of nine general error cate-
          gories. These error categories are listed in Appendix B.2.

Bytes 3--6     When the valid bit is 1, the information bytes contain
          the logical block address of the current logical block
          associated with the sense key. For example, if the sense
          key is media error, the information bytes contain the
          logical block address of the offending block.

Byte 7    The additional sense length is limited to a maximum of 0EH
          additional bytes. If the allocation length of the command
          descriptor block is too small to accommodate all of the
          additional sense bytes, the additional sense length is not
          adjusted to reflect the truncation.

Bytes 8--11    These bytes contain command-specific data.

Bytes 12--13   The additional sense code and additional sense code
          qualifier provide additional details about errors. See Ap-
          pendix B.3.

Byte 14   The field replaceable unit (FRU) code is used by field
          service personnel only.

Bytes 15--22   These bytes are not used and are always zero.

B.2  Sense key
===============================================================

The sense keys in the lower-order bits of byte 2 of the sense data
returned by the Request Sense command are described in the following
table. You can find a more detailed description of the error by
checking the additional sense code and the additional sense code
qualifier in Section B.3.

Sense key Description
0H        No Sense. In the case of a successful command, no specific
          sense key information needs to be reported for the drive.

1H        Recovered error. The drive completed the last command
          successfully with some recovery action. When many recovered
          errors occur during one command, the drive determines which
          error it will report.

2H        Not ready. The addressed logical unit cannot be accessed.
          Operator intervention may be required to correct this
          condition.

3H        Medium error. The command was terminated with a
          nonrecoverable error condition, probably caused by a flaw in
          the media or an error in the recorded data.

4H        Hardware error. The drive detected a nonrecoverable hardware
          failure while performing the command or during a self-test.
          This includes, for example, SCSI interface parity errors,
          controller failures and device failures.

5H        Illegal request. An illegal parameter in the command
          descriptor block or in the additional parameters supplied as
          data for some commands (for example, the Format Unit
          command, the Mode Select command and others). If the drive
          detects an invalid parameter in the CDB, it terminates the
          command without altering the media. If the drive detects an
          invalid parameter in the additional parameters supplied as
          data, the drive may have already altered the media.

6H        Unit attention. The drive may have been reset. See the
          Seagate SCSI-2 Interface Manual for more details about the
          Unit Attention condition.

BH        Aborted command. The drive aborted the command. The
          initiator may be able to recover by retrying.

EH        Miscompare. The source data did not match the data read from
          the media.

B.3  Additional sense code and additional sense code qualifier
===============================================================

The additional sense code and additional sense code qualifiers
returned in byte 12 and byte 13, respectively, of the Sense Data
Format of the Request Sense command are listed in the following table.


Error code (hex)  Description
Byte 12 Byte 13

00      00      No additional information is supplied.

01      00      There is no index/sector signal.

02      00      There is no seek complete signal.

03      00      A write fault occurred.

04      00      The drive is not ready and the cause is not
                reportable.

04      01      The drive is not ready, but it is in the process of
                becoming ready.

04      02      The drive is not ready; it is waiting for the
                initializing command.

04      03      The drive is not ready; human intervention is
                required.

04      04      The drive is not ready; the format routine is in
                process.

05      00      The drive does not respond when it is selected.

06      00      Track 0 was not found.

07      00      More than one drive is selected at a time.

08      00      There was a drive communication failure.

08      01      A drive communication time-out occurred.

08      02      A drive communication parity error occurred.

09      00      A track following error occurred.

0A      00      An error log overflow occurred.

0C      01      A write error occurred, but the error was recovered
                using auto-reallocation.

0C      02      A write error occurred. Auto-reallocation was
                attempted, but it failed.

10      00      An ID CRC or ECC error occurred.

11      00      An unrecovered read error occurred.

11      01      The read retries were exhausted.

11      02      The error was too long to correct.

11      03      There were multiple read errors.

11      04      A read error occurred. Auto-reallocation was
                attempted, but it failed.

12      00      The address mark was not found in the ID field.

13      00      The address mark was not found in the data field.

14      00      No record was found.

14      01      No record was found.

15      00      A seek positioning error occurred.

15      01      A mechanical positioning error occurred.

15      02      A positioning error was detected by reading the media.

16      00      A data synchronization mark error occurred.

17      00      The data was recovered without applying error
                correction or retrying.

17      01      The data was recovered with retries.

17      02      The data was recovered with positive head offset.

17      03      The data was recovered with negative head offset.

17      05      The data was recovered using the previous sector ID.

17      06      The data was recovered without ECC. The drive uses
                data auto-reallocation.

18      00      The data was recovered with ECC.

18      01      The data was recovered with ECC and retries.

18      02      The data was recovered with ECC, retries, and
                auto-reallocation.

19      00      There is an error in the defect list.

19      01      The defect list is not available.

19      02      There is an error in the primary defect list.

19      03      There is an error in the grown defect list.

1A      00      A parameter overrun occurred.

1B      00      A synchronous transfer error occurred.

1C      00      The defect list could not be found.

1C      01      The primary defect list could not be found.

1C      02      The grown defect list could not be found.

1D      00      During a verify operation, a compare error occurred:
                the source data did not match the data read from the
                media.

1E      00      An ID error was recovered.

20      00      The drive received an invalid command operation code.

21      00      The logical block address was not within the
                acceptable range.

22      00      The drive received a CDB that contains an invalid bit.
                (This error code applies to direct-access devices.)

24      00      The drive received a CDB that contains an invalid bit.
                (This error code applies to all SCSI devices.)

25      00      The drive received a CDB that contains an invalid LUN.

26      00      The drive received a CDB that contains an invalid
                field.

26      01      The drive received a CDB containing a parameter that
                is not supported.

26      02      The drive received a CDB containing an invalid
                parameter.

26      03      The drive received a CDB containing a threshold
                parameter that is not supported.

29      00      A power-on reset or a bus device reset occurred.

2A      00      Some parameters were changed by another initiator.

2A      01      The Mode Select parameters were changed by another
                initiator.

2B      00      The microcode was downloaded.

2F      00      The tagged commands were cleared by another initiator.

30      01      The media cannot be read because the format is not
                recognized.

30      02      The media cannot be read because the format is
                incompatible with certain parameters.

31      00      The media format is corrupted.

31      01      The format command failed.

32      00      There are no spare defect locations available.

32      01      An error occurred when the defect list was being
                updated.

37      00      A rounded parameter caused an error.

3D      00      The identify message contains invalid bits.

3F      00      The target operation command was changed.

3F      01      The microcode was changed.

3F      02      The drive was operating as a SCSI drive and is now
                operating as a SCSI-2 drive, or vice versa.

3F      03      The inquiry data was changed.

40      00      The RAM failed.

40      8x      A correctable ECC error occurred; x equals the length
                of the error.

40      90      A configuration error occurred.

40      A0      The self-test routine discovered an error in a ROM.

40      A1      The self-test routine discovered an error in the
                processor RAM.

40      A2      The self-test routine discovered an error in the
                buffer RAM.

40      A3      The self-test routine discovered a SCSI protocol
                error.

40      A4      The self-test routine discovered a DMA error.

40      A5      The self-test routine discovered an error in the disc
                sequencer.

40      A6      The self-test routine discovered an error in the disc
                sequencer RAM.

40      A7      A self-test error occurred.

40      A8      The flash memory cannot be read or written.

40      A9      The flash memory directory cannot be read, or it is
                corrupted.

40      AA      The flash memory contains an incompatible version
                number.

40      AB      The flash memory contains an incompatible revision
                number.

40      AC      A flash memory checksum error occurred.

40      AD      The flash memory contains invalid parameters.

40      AE      The flash memory is incompatible with the HDA and the
                circuit board. The flash memory must be reconfigured.

40      B0      The servo command timed out.

40      B1      The servo command failed.

40      B2      The servo command was rejected.

40      B3      The servo interface does not work.

40      B4      The servo either failed to lock on track during spinup
                or has wandered off track.

40      B5      An internal servo error occurred.

40      B6      During spinup, a servo error occurred.

40      B7      The servo pattern is inconsistent.

40      B8      A seek recovery error occurred.

40      B9      The actuator did not achieve high-speed calibration.

40      C0      The defect list is full.

40      C1      A failure occurred while the grown defect list was
                being written.

40      C2      The write life-cycle of the flash memory has been
                exceeded.

40      C3      There was an attempt to add an illegal entry to the
                grown defect list.

40      C4      There was an attempt to add a duplicate entry to the
                grown defect list.

41      00      A data path diagnostic failed.

42      00      A power-on or self-test failure occurred.

43      00      A message reject error occurred.

44      00      An internal controller error occurred.

45      00      An error occurred during a selection or a reselection.

47      00      A SCSI interface bus parity error occurred.

48      00      The initiator has detected an error.

49      00      The initiator received an invalid message from the
                drive.

4C      00      The drive failed to self-configure.

4E      00      The drive attempted to perform overlapped commands.

5B      00      There was a log exception.

5B      01      A threshold condition was met.

5B      02      The log counter has reached its maximum value.

5B      03      All the log list codes have been used.

5C      00      There was a change in the RPL status. The drive lost
                synchronization.




Appendix C. Mode pages
===============================================================

Mode pages are groups of parameters stored by the drive. These
parameters can be read using the Mode Sense command and changed using
the Mode Select command. These commands are described in Sections
3.4.10 and 3.4.13.

This appendix contains the default parameters and the changeable
parameters for the mode pages. The current parameters and the saved
parameters are not shown.

Note. The default values contained in this appendix may differ from
the default values actually contained in your drive. To determine the
default values, use the Mode Sense command.

                                                        Contains
                                                        changeable
Mode page                       Page code       Bytes   parameters
Error Recovery page             01H               10      Yes
Disconnect/Reconnect page       02H               14      Yes
Format Device page              03H               22      Yes
Rigid Disc Geometry page        04H               22      Yes
Caching page (SCSI-3)           08H               18      Yes
Control Mode page               0AH               10      Yes
Notch page                      0CH               22      No
Cache Control page              38H               14      No
Soft ID page                    3CH               1       Yes
Operating page                  00H               2 or 3  Yes


For all mode pages:

- If the changeable value is  0, the initiator cannot change the bit
  directly. If the changeable value is 1, the initiator can change the
  bit directly.

For example, in the header below, the changeable value for the page
code bits is 0, which means that the page code cannot be changed; the
changeable value of the PS bit is one, which means that the PS bit can
be changed.

- During the Mode Sense command, the PS (parameter savable) bit is 1,
  which means the mode page is saved on the disc. During the Mode
  Select command, you must set the PS bit to 0.

- An X means that the value of the bit cannot be specified. For
  example, the default value of bit 0 of byte 1 of page 00H (the
  Operating Page) cannot be specified because the bit can be either 1
  or 0.

All mode pages contain a 2-byte header that contains the page code and
the page length for that particular page. The header is shown below.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS      Page code
changeable     1       0       0       0       0       0       0       0
1              Page length
changeable     00H

Byte 0    During the Mode Sense command, the PS (parameter savable)
          bit is 1, which means the mode page is saved on the disc.
          During the Mode Select command, you must set the PS bit to
          0. The page code is the unique code that identifies the
          page.

Byte 1    The page length is the length, in bytes, of the page.


C.1  Error Recovery page (01H)
===============================================================

The Error Recovery page is shown below. This table summarizes the
function, the default value and the changeability of each bit.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (01H)
1              Page length (0AH)
2              AWRE    ARRE    TB      RC      EER     PER     DTE    DCR
default        0       0       0       0       0       0       0       0
changeable     1       1       1       1       1       1       1       1
3 (default)    Read retry count (20H)
changeable     FFH
4 (default)    Correction span (16H)
changeable     00H
5 (default)    Head offset count (00H)
changeable     00H
6 (default)    Data strobe offset count (00H)
changeable     00H
7 (default)    Reserved (00H)
changeable     00H
8 (default)    Write retry count (20H)
changeable     00H
9 (default)    Reserved (00H)
changeable     00H
10--11 (default) Recovery time limit (FFFFH)
changeable     0000H


Byte 2    When the automatic write reallocation enabled (AWRE) bit is
          1, the drive automatically reallocates bad blocks detected
          while writing to the disc. When the AWRE bit is 0, the drive
          does not perform automatic reallocation; instead, the drive
          reports a check condition status with a sense key of media
          error.

          Note. The AWRE bit does not apply during the Format com-
          mand.

          When the automatic read reallocation enabled (ARRE) bit is
          1, the drive automatically reallocates bad blocks detected
          while reading from the disc. When the ARRE bit is 0, the
          drive does not automatically reallocate bad blocks. Instead,
          a check condition status is reported with a sense key of
          media error.

          The transfer block (TB) bit is not supported.

          When the read continuous (RC) bit is 1, the drive sends all
          data without doing any corrections. This function supersedes
          other bits in this byte. When the RC bit is 0, the
          correction is performed according to the other bits in this
          byte.

          The enable early recovery (EER) bit is not supported.

          The post error (PER) bit is not supported.

          The disable transfer on error (DTE) bit is not supported.

          When the disable correction (DCR) bit is 1, the drive does
          not apply offline ECC to the data even if it can correct the
          data.

Byte 3    The read retry count field is the maximum number of times
          the drive attempts its recovery algorithms. If the EER bit
          of byte 2 is 1, the number of retries specified by read
          retry count (up to a maximum of nine retries) is performed
          before ECC is applied. The read retry count field has a
          range of 0 through 20H. A read retry count of 0 means that
          no retries are performed.

Byte 4    The correction span is the size of the largest read data
          error, in bits, on which ECC correction is attempted. Longer
          errors are reported as nonrecoverable.

Byte 5    The head offset count is not implemented. Head offsets are
          performed as part of the drive’s retry algorithms.

Byte 6    The data strobe offset count is not implemented.

Byte 7    Reserved


Byte 8    The write retry count field contains the maximum number of
          times the drive attempts its recovery algorithms. If the EER
          bit is set, the number of retries specified by the retry
          count, up to a maximum of nine retries, is performed before
          ECC is applied. The write retry count field has a range of 0
          through 20H. A write retry count of 0 means that no retries
          are performed.

Byte 9    Reserved

Bytes 10--11   The recovery time limit field always has a value of
          FFFFH, which means that the recovery time is unlimited.


C.2  Disconnect/Reconnect page (02H)
===============================================================

The Disconnect/Reconnect page is shown below. This table summarizes
the function, the default value and the changeability of each bit.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (02H)
1              Page length (0EH)
2 (default)    Buffer full ratio (F0H)
changeable     FFH
3 (default)    Buffer empty ratio (10H)
changeable     FFH
4--5 (default) Bus inactivity limit (0000H)
changeable     0000H
6--7 (default) Disconnect time limit (0000H)
changeable     0000H
8--9 (default) Connect time limit (0000H)
changeable     0000H
10--11 (default) Maximum burst size (0000H)
changeable     0000H
12--15 (default) Reserved (00000000H)
changeable     00000000H


Byte 2    The buffer full ratio field indicates, on Read commands, how
          full the drive’s buffer is before reconnecting. The drive
          rounds up to the nearest whole logical block. This parame-
          ter is the numerator of a fraction that has 256 as its
          denominator.

Byte 3    The buffer empty ratio field indicates, on Write commands,
          how empty the drive’s buffer is before reconnecting to
          fetch more data. The drive rounds up to the nearest whole
          logical block. This parameter is the numerator of a fraction
          that has 256 as its denominator.

Bytes 4--5     The bus inactivity limit field indicates the time, in
          100-msec increments, that the drive can assert the Busy
          signal without handshakes until it disconnects. The drive
          can round down to its nearest capable value. If the bus
          inactivity limit is 0000H, the drive maintains the BSY--
          signal for 1 msec without handshakes.

Bytes 6--7      The disconnect time limit field indicates the minimum
          time, in 100-msec increments, the drive remains discon-
          nected until it attempts to reconnect. A value of 0
          indicates that the drive is allowed to reconnect
          immediately.

Bytes 8--9      The connect time limit field indicates the maximum
          time, in 100-msec increments, that the drive should remain
          connected until it attempts to disconnect. The drive may
          round to its nearest capable value. A value of 0 means that
          the drive can remain connected indefinitely until it tries
          to disconnect.

Bytes 10--11   The maximum burst size field limits the amount of data
          that can be transferred during the data phase before the
          drive disconnects from the host. The value, multiplied by
          512, indicates the maximum number of bytes that can be
          contained in a single burst. A value of 0 means that there
          is no limit to how many bytes can be transferred during a
          single burst.

Bytes 12--15   Reserved


C.3  Format Device page (03H)
===============================================================

The Format Device page is shown below. This table summarizes the
function, the default value and the changeability of each bit. This
page is sent only before the Format Unit command is sent. The drive
parameters are updated immediately, but any changes between these
current parameters and the existing media format do not take effect
until after the Format Unit command is completed.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (03H)
1              Page length (16H)
2--3 (default) Tracks per zone (0001H)
changeable     0000H
4--5 (default) Alternate sectors per zone (0001H)
changeable     0000H
6--7 (default) Alternate tracks per zone (0000H)
changeable     0000H
8--9 (default) Alternate tracks per volume (0008H)
changeable     0000H
10--11 (default) Sectors per track (0058H)
changeable     0000H
12--13 (default) Data bytes per physical sector (0200H)
changeable     0000H
14--15 (default) Interleave (0001H)
changeable     0000H
16--17 (default) Track skew factor (0002H)
changeable     0000H
18--19 (default) Cylinder skew factor (0009H)
changeable     0000H
20             SSEC    HSEC    RMB     SURF    Reserved
default        1       0       0       0
changeable     0       0       0       0       0       0       0       0
21--23 (default) Reserved (000000H)
changeable     000000H


Bytes 2--3     The tracks per zone field indicates the number of
          tracks the drive allocates to each defect-management zone.
          Spare sectors or tracks are placed at the end of each
          defect- management zone. If each zone is treated as
          containing one track, the valid value for tracks per zone is
          1. If each zone is treated as containing one cylinder, the
          valid value is equal to the number of read/write heads.

Bytes 4--5      The alternate sectors per zone field indicates the
          number of spare sectors to be reserved at the end of each
          defect- management zone. The drive defaults to one spare
          sector per zone. If each zone is treated as containing one
          track, the valid value for alternate sectors per zone is 1.
          If each zone is treated as containing one cylinder, the
          valid values are 1 through 3.

Bytes 6--7      The alternate tracks per zone field indicates the
          number of spare tracks the drive reserves at the end of each
          defect-management zone. A value of 0 indicates that no spare
          tracks are reserved at the end of each zone for defect
          management.

Bytes 8--9      The alternate tracks per volume field indicates the
          number of spare tracks to be reserved at the end of the
          drive for defect management. The default is equal to twice
          the number of read/write heads.

Bytes 10--11   The sectors per track field indicates the number of
          physical sectors the drive allocates per track. The drive
          reports the average number of physical sectors per track
          because the number of sectors per track varies between the
          outer and inner tracks.

Bytes 12--13   The data bytes per physical sector field indicates the
          number of data bytes allocated per physical sector.

Bytes 14--15   The interleave field is the interleave value sent to
          the drive during the last Format Unit command. This field is
          valid only for Mode Sense commands. The drive ignores this
          field during Mode Select commands. The interleave is always
          1:1.

Bytes 16--17   The track skew factor field indicates the number of
          physical sectors on the media between the last logical
          block of one track and the first logical block of the next
          sequential track of the same cylinder. The actual track skew
          factor that the drive uses is different for every zone. The
          default value is 0002H, which is the track skew factor for
          the first zone. This default value is only used when tracks
          per zone and alternate sectors per zone are set to 1.


Bytes 18--19   The cylinder skew factor field indicates the number of
          physical sectors between the last logical block of one
          cylinder and the first logical block of the next cylinder.
          The actual cylinder skew factor that the drive uses depends
          on the zone. The default value is 0009H, which is the
          cylinder skew factor for the first zone.

Byte 20   The drive type field bits are defined as follows:

          The soft sectoring (SSEC) bit is set to 1. This bit is
          reported as not changeable. Although it can be set to
          satisfy system requirements, it does not affect drive per-
          formance.

          The hard sectoring (HSEC) bit is set to 0. This bit is
          reported as not changeable. Although it can be set to
          satisfy system requirements, it does not affect drive per-
          formance.

          The removable media (RMB) bit is always set to 0, indi-
          cating that the drive does not support removable media. This
          same bit is also returned in the Inquiry parameters.

          The surface map (SURF) bit is set to 0, indicating that the
          drive allocates successive logical blocks to all sectors
          within a cylinder before allocating logical blocks to the
          next cylinder.

Bytes 21--23   Reserved 92


C.4  Rigid Disc Geometry page (04H)
===============================================================

The Rigid Disc Geometry page is shown below. This table summarizes the
function, the default value and the changeability of each bit.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (04H)
1              Page length (16H)
2--4           Number of cylinders
changeable     000000H
5              Number of heads
changeable     00H
6--8           Starting cylinder for write precompensation
default        000000H
changeable     000000H
9--11          Starting cylinder for reduced write current
default        000000H
changeable     000000H
12--13 (default) Drive step rate (0000H)
changeable     0000H
14--16 (default) Loading zone cylinder (000000H)
changeable     000000H
17             Reserved                                        RPL
default                                                        0       0
changeable     0       0       0       0       0       0       1       1
18 (default)   Rotational offset (00H)
changeable     FFH
19 (default)   Reserved (00H)
changeable     00H
20--21         Media rotation rate
default        1194H
changeable     0000H
22--23 (default) Reserved (0000H)
changeable     0000H


Bytes 2--4     The number of cylinders field specifies the number of
          user-accessible cylinders, including two spare cylinders set
          aside for defects.  The drive uses the additional cylin-
          ders for storing parameters and defect lists or for diagnos-
          tic purposes.  The number of cylinders is specified on page
          1.

Byte 5    The number of heads field specifies the number of read/write
          heads on the drive. The number of heads is specified on page
          1.

Bytes 6--16    The starting cylinder for reduced write current,
          starting cylinder for reduced read current, drive step rate
          and loading zone cylinder bytes are not used by the drive.

Byte 17   When the rotational position locking (RPL) bits are 00Bi-
          nary, the rotational position locking is changeable. When
          the RPL bits are 01Binary, the drive automatically synchro-
          nizes its spindle with the synchronized master. When the RPL
          bits are 10Binary or 11Binary, the drive is the synchro-
          nized-spindle master.

For more information about external spindle-clock synchronization,
see Section 2.11.

Byte 18   The rotational offset is the rotational skew the drive uses
          when synchronized. The rotational skew is applied in the
          retarded direction (lagging the sync spindle master). A
          value of zero means no rotational offset is used.

Byte 19   Reserved.

Bytes 20--21   The medium rotation rate is the spindle speed, which is
          specified on page 1.

Bytes 22--23   Reserved.


C.5  Caching page (08H)
===============================================================

The drive uses read look-ahead, read caching and write caching to
improve seek times and performance.

C.5.1     Read look-ahead and read caching

The drive uses an algorithm that improves seek performance by reading
the next logical sectors after the last requested sector. These unre-
quested sectors are read into a buffer and are ready to be transmitted
to the host before they are requested. Beca use these sectors are read
before they are requested, access read time for the sectors is
virtually eliminated. This process is called either read look-ahead or
read caching.

Read look-ahead and read caching are similar algorithms. Read look-
ahead occurs when a Read command requests more data than can be
contained in one buffer segment. Read caching occurs when a Read
command requests less data than can be contained in one b uffer
segment.

The buffer used for read look-ahead and caching can be divided into
segments as shown in the following table. To change the number of
segments, use byte 13 of the Caching page, which is described in
Appendix C.5.3. The default is one, 256-Kbyte segment.

Number of segments      Size of segment (in Kbytes)
     1                        256
     2                        128
     4                        64
     8                        32
     16                       16

When the buffer is divided into multiple segments, each segment func-
tions as an independent buffer, causing dramatically increased
performance in multitasking and multiuser environments.


C.5.2     Write caching and write merging
===============================================================

Write caching. The drive uses the write segment to store write com-
mands and data. After the drive caches the commands and data, it is
immediately ready to process new commands. The drive writes the data
to the disc at its next convenient opportunity.

Write merging. The drive accepts contiguous write commands and
executes them sequentially as one command.

C.5.3     Caching page description

The Caching page is shown below. This table summarizes the function,
the default value and the changeability of each bit.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (08H)
1              Page length (12H)
2              IC      ABPF    CAP     DISC    SIZE    WCE     MF     RCD
default        1       0       0       1       0       1       0       0
changeable     1       0       0       0       0       1       1       1
3              Demand read                     Write retention priority
               retention priority
default        0       0       0       0       0       0       0       0
changeable     0       0       0       0       0       0       0       0
4--5 (default) Disable prefetch transfer length (FFFFH)
changeable     0000H
6--7 (default) Minimum prefetch (0000H)
changeable     0000H
8--9 (default) Maximum prefetch (FFFFH)
changeable     FFFFH
10--11 (default) Maximum prefetch ceiling (FFFFH)
changeable     FFFFH
12             FSW     Rsrvd   DRA     Reserved
default        0       0       0       0       0       0       0       0
changeable     0       0       1       0       0       0       0       0
13             Number of cache segments
default        0       0       0       0       0       0       0       1
changeable     1       1       1       1       1       1       1       1
14--15 (default) Cache segment size (0000H)
changeable     0000H
16 (default)   Reserved (00H)
changeable     00H
17--19 (default) Noncache segment size (000000H)
changeable     000000H

Byte 2    The initiator control (IC) bit is not supported.

          When the abort prefetch (ABPF) bit is 0, the drive controls
          completion of prefetch. See the description for the DISC
          bit, below. This is the default value and it is not
          changeable.

          The caching analysis permitted (CAP) bit is not supported.

          When the discontinuity (DISC) bit is 1, the drive may
          prefetch across cylinder boundaries, where head seeks
          consume additional processing time. This is the default
          value and it is not changeable.

          The size enable (SIZE) bit is not supported.

          When the write cache enable (WCE) bit is 0, the drive
          returns a good status for a Write command after successfully
          writing all the data to the media. When the WCE bit is 1,
          the drive returns a good status for a Write command after
          successfully receiving the data and before writing it to the
          media.

          When the multiplication factor (MF) bit is 0, the drive
          interprets the minimum prefetch and maximum prefetch fields
          as the number of logical blocks to be prefetched. When the
          MF bit is 1, the drive interprets the minimum prefetch and
          maximum prefetch fields in terms of a number which, when
          multiplied by the transfer length of the current command,
          yields the number of logical blocks to be prefetched.

          When the read cache disable (RCD) bit is 0, the drive may
          return data requested by a Read command by accessing either
          the cache or the media. If the RCD bit is 1, the cache is
          not used.


Byte 3    The demand read retention priority field is not used. The
          initiator cannot assign any special retention priority to
          the drive.

          The write retention priority field is not used. The
          initiator cannot assign any special retention priority to
          the drive.

Bytes 4--5     The disable prefetch transfer length always has a value
          of FFFFH, which means that the drive attempts an antici-
          patory prefetch for all Read commands.

Bytes 6--7     The minimum prefetch field specifies the minimum num-
          ber of blocks the drive prefetches, regardless of the delays
          it may cause in executing subsequent pending commands.
          When the minimum prefetch field contains 0, the drive
          terminates prefetching whenever another command is ready to
          be executed. If the minimum prefetch equals the maximum
          prefetch, the drive prefetches the same number of blocks
          regardless of whether there are commands pending.

Bytes 8--9     The maximum prefetch field specifies the maximum num-
          ber of blocks the drive prefetches during a Read command
          if there are no other commands pending. The maximum prefetch
          field represents the maximum amount of data to prefetch into
          the cache for any single Read command.

Bytes 10--11   The maximum prefetch ceiling field should be equal to
          the maximum prefetch field. The maximum prefetch ceiling and
          maximum prefetch fields are the same if the MF bit is 0.

Byte 12   The force sequential write (FSW) bit is not supported.

          When the disable read-ahead (DRA) bit is 1, the drive does
          not read into the buffer any logical blocks beyond the
          addressed logical blocks. When the DRA bit equals 0, the
          drive can continue reading logical blocks into the buffer
          beyond the addressed logical blocks.

Byte 13   The number of cache segments field determines the number of
          segments into which the cache should be divided. Valid
          values are 1, 2, 4, 8, 16 and 32.

Bytes 14--15   The cache segment size field indicates the segment size
          in bytes. The cache segment size field is valid only when
          the SIZE bit is 1.

Byte 16   Reserved.

Bytes 17--19   The noncache segment size field always contains zeros.
          This means that the entire buffer is available for caching.


C.6  Control Mode page (0AH)
===============================================================

The Control Mode page is shown below. This table summarizes the
function, the default value and the changeability of each bit.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (0AH)
1              Page length (0AH)
2              Reserved                                               RLEC
default        0       0       0       0       0       0       0       0
changeable     0       0       0       0       0       0       0       1
3              Queue algorithm modifier        Reserved        QErr    DQue
default        0       0       0       0       0       0       0       0
changeable     1       1       1       1       0       0       0       1
4              EECA    Reserved                        RAENP   UAAENP  EAENP
default        0       0       0       0       0       0       0       0
changeable     00H
5 (default)    Reserved (00H)
changeable     00H
6--7 (default) Ready AEN hold-off period (0000H)
changeable     0000H
8--9 (default) Busy timeout period (FFFFH)
changeable     0000H
10--11         Reserved (0000H)
changeable     0000H


Byte 2    The RLEC bit is not implemented.

Byte 3    The queue algorithm modifier field is only effective if the
          disable queuing bit is zero. When bit 4 in the queue
          algorithm modifier field contains one, the drive may use
          tagged command queuing to change the order in which it
          executes commands. When bit 4 in the queue algorithm
          modifier field contains zero, the drive always executes
          commands according to the order indicated by the simple
          queue tag.

          When the disable queuing (DQue) bit is zero, tagged command
          queuing is enabled. When the DQue bit is one, tagged command
          queuing is disabled.

Byte 4    Not implemented

Byte 5    Reserved

Bytes 6--7     Not implemented

Bytes 8--9     The busy timeout period field contains the maximum
          possible value, which means that the drive can remain busy
          an unlimited amount of time.

Bytes 10--11   Reserved


C.7  Notch page (0CH)
===============================================================

The Notch page contains parameters that describe the notches. The
table below summarizes the function, default value and the
changeability of each bit.

The drive uses Zone Bit Recording, which means that the outer
cylinders of the disc contain more logical blocks than the inner
cylinders. The cylinders are organized into groups, called zones or
notches. Every logical block is part of a notch. Notches do not
overlap.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (0CH)
1              Page length (16H)
2              ND      LPN     Reserved
default        1       0       0       0       0       0       0       0
changeable     0       0       0       0       0       0       0       0
3 (default)    Reserved (00H)
changeable     00H
4--5 (default) Maximum number of notches (0013H)
changeable     0000H
6--7 (default) Active notch (0000H)
changeable     0       0       0       1       1       1       1       1
8--11 (default) Starting boundary (00000000H)
changeable     00000000H
12--15 (default) Ending boundary (000BB903H)
changeable     00000000H
16--23 (default) Pages notched (0000000000000008H)
changeable     0000000000000000H


Byte 2    The notched drive (ND) bit is always 1, which means the disc
          contains notches of different recording densities. For each
          supported active notch value, this page defines the starting
          and ending boundaries of the notch.

          The logical or physical notch (LPN) bit is 0, which means
          the notch boundaries are based on the physical parameters
          of the logical unit. The cylinder is most significant; the
          head is least significant.

Byte 3    Reserved.

Bytes 4--5     The maximum number of notches field indicates the maxi-
          mum number of notches supported by the drive.

Bytes 6--7     The active notch field identifies the notch to which
          this, and all future Mode Select and Mode Sense commands
          refer, until the active notch is changed by a later Mode
          Select command. The value of the active notch field must be
          greater than or equal to 0 and less than or equal to the
          maximum number of notches. An active notch value of 0 means
          that current and future Mode Select and Mode Sense commands
          refer to the parameters that apply for all notches.

Bytes 8--11    The starting boundary field indicates the beginning of
          the active notch if the active notch is not 0, or the
          starting boundary of the logical unit if the active notch is
          0. This field is ignored by the Mode Select command. When
          the LPN bit is 0, the three most significant bytes represent
          the cylinder number and the least significant byte
          represents the head number.

Bytes 12--15   The ending boundary field indicates the end of the
          active notch if the active notch is not 0, or the end of the
          logical unit if the active notch is 0. The default is equal
          to the end of zone 1.

          When the LPN bit is 0, the three most significant bytes
          represent the cylinder number and the least significant byte
          represents the head number.

Bytes 16--23   The pages notched field contains a bit map of the mode
          page codes that indicates which pages may contain dif-
          ferent parameters for each notch. When a bit is 1, the
          corresponding mode page can contain different parameters
          for each notch. When a bit is 0, the corresponding mode page
          contains the same parameters for all the notches. The most
          significant bit of this field corresponds to page code 3FH
          and the least significant bit corresponds to page code 00H.


C.8  Cache Control page (38H)
===============================================================

The Cache Control page is shown below. This table summarizes the
function, the default value and the changeability of each bit.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (38H)
1              Page length (0EH)
2              Rsrvd   WIE     Rsrvd   CE      Cache table size
default        0       X       0       X       X       X       X       X
changeable     (00H)
3 (default)    Prefetch threshold (00H)
changeable     00H
4 (default)    Maximum prefetch (FFH)
changeable     00H
5 (default)    Maximum prefetch multiplier (00H)
changeable     00H
6 (default)    Minimum prefetch (00H)
changeable     00H
7 (default)    Minimum prefetch multiplier (00H)
changeable     00H
8--15 (default Reserved (0000000000000000H)
changeable     0000000000000000H

Byte 2    The cache enable (CE) bit is always the inverse of the RCD
          bit in Mode Page 08H.

          The write index enable (WIE) bit controls the creation of
          cache data on Write commands. If bit 6 is 0, the next
          command treats the cache area as empty.

          The cache table size field contains the same values as Mode
          Page 08H, byte 13, bits 3 through 0.

Byte 3    The prefetch threshold  is not implemented. The drive reads
          until the buffer is full upon receipt of a Read command.

Byte 4    The maximum prefetch field always contains the same value as
          byte 9 of the Caching page. The initiator cannot change this
          byte directly.


Byte 5    The maximum prefetch multiplier field always contains the
          same value as byte 9 of the Caching page, which is de-
          scribed in Appendix C.5.3. The initiator cannot change this
          byte directly.

Byte 6    The minimum prefetch field always contains the same value as
          byte 7 of the Caching page. The initiator cannot change this
          byte directly.

Byte 7    The minimum prefetch multiplier field always contains the
          same value as byte 7 of the Caching page. The initiator
          cannot change this byte directly.

Byte 8--15     Reserved.



C.9  Soft ID page (Flash memory) (3CH)
===============================================================

The Soft ID page is shown below. This table summarizes the function,
the default value and the changeability of each bit. This page is
saved in flash memory that has a life span of 10,000 writes.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (3CH)
1              Page length (01H)
               Soft    Soft   Param   Soft     Remote ID 2    ID 1    ID 0
2              ID      Parity enable  remote   S/S
default        0       0       0       0       0       0       0       0
changeable     1       1       1       1       1       1       1       1


Byte 2    When the soft ID bit is 0, the drive ignores ID0, ID1 and
          ID2 and uses the SCSI ID jumpers to determine the SCSI ID.
          When the soft ID bit is 1, the drive ignores the SCSI ID
          jumpers and uses ID0, ID1 and ID2 to determine the SCSI ID.
          See Figure 5 on page 21 for jumper settings.

          When the soft parity bit is 0, the drive uses the parity
          jumper settings to determine whether the drive uses parity.
          When the soft parity bit is 1, the drive ignores the parity
          jumper settings.

          When the soft remote bit is 0, the drive uses the remote
          start jumper setting to determine whether remote start is
          implemented. When the soft remote bit is 1, the drive
          ignores the jumpers and uses the remote S/S bit to determine
          whether remote start is implemented.


Byte 2    When the remote S/S bit is 0, the drive spins up after a
          delay specified by the spinup delay field (byte 4 of the
          Operating page, 00H). When the remote S/S bit is 1, the
          drive spins up when it receives the Start Unit command. This
          bit is only valid if the soft remote bit is 1.

          The ID0, ID1 and ID2 bits are the SCSI ID bits. These bits
          are only valid when the soft ID bit is 1.

When the param enable bit is 0, the drive does not check
parity. When the param enable bit is 1, the drive checks
parity. This bit is only valid if the soft parity bit is 1.



C.10 Operating page (Flash memory) (00H)
===============================================================

The Operating page is shown in the table below. This table shows the
function, the default value and the changeability of each bit.

The drive accepts an Operating page of two lengths: two bytes or three
bytes. If the length is two bytes, then byte 4, the spinup delay
field, is not written and is assumed to be unchanged.

In addition to being saved on the media, this vendor-unique page is
saved in flash memory that has a life span of 10,000 writes.

Bits           7       6       5       4       3       2       1       0
Bytes
0              PS (1)  Page code (00H)
1 (default)    Page length (02H or 03H)
changeable     0       0       0       0       0       0       1       X
2              Usage   SSM     RSVD    ATOFF   Reserved
default        1       0       0       0       0       0       0       0
changeable     1       1       0       1       0       0       0       0
3 (default)    Rsrvd   Device type qualifier (00H)
changeable     00H
4 (default)    Spinup delay (00H)
changeable     00H

Byte 2    When the usage bit is 1, a warning message is enabled. When
          the write life span of the flash memory is exceeded, a
          warning message is generated. See additional sense error
          code C2 in Appendix B.3. When the usage bit is 0, the
          warning message is disabled. If requested, the flash memory
          data and the write counter is updated even after the write
          life span is exceeded, but the integrity of the data cannot
          be assured.


Byte 2    When the synchronous select mode (SSM) bit is 0, the drive
          does not send a synchronous data transfer message unless the
          initiator has already issued a synchronous data transfer
          message. When the SSM bit is 1, the drive can send a
          synchronous data transfer message, even when the initiator
          has not sent a synchronous data transfer message.

          When the disable unit attention (ATOFF) bit is 0, the drive
          generates a unit attention condition during power up. When
          the disable unit attention (ATOFF) bit is 1, the drive does
          not generate a unit attention condition during power up.

Byte 3    The device type qualifier field is not supported.

Byte 4    The spinup delay field controls the drive when it is not in
          the remote mode. When the value is 00H, the drive spins up
          without delay. When the value is FFH, the drive delays
          spinup to a duration whose value in seconds equals five
          times the drive’s SCSI bus ID number. When the value is
          between 01H and FEH, the drive delays spinup for the
          corresponding decimal duration, in seconds.



Appendix D. Inquiry data
===============================================================

When the initiator issues an Inquiry command, the drive returns either
of the following two types of data, depending on the value in the EVPD
bit in byte 1 of the Inquiry command descriptor block:

        - Inquiry data
        - Vital product data

Both types of data are discussed in this appendix. The Inquiry command
is described in Section 3.4.9.

D.1     Inquiry data
===============================================================

When the initiator issues an Inquiry command, and the EVPD bit in byte
1 of the Inquiry command descriptor block is 0, the drive returns the
following data. If the EVPD bit in byte 1 of the Inquiry command
descriptor block is 1, see Appendix D.2.

Bit      7       6       5       4       3       2       1       0
Byte
0        Peripheral              Peripheral
         qualifier               device type
         0       0       0       0       0       0       0       0
1        RMB     Device type modifier
         0       0       0       0       0       0       0       0
2        ISO             ECMA                    ANSI version
         0       0       0       0       0       0       1       0
3        AENC  TrmIOP            Response data format
         0       0       Resrvd          0       0       1       0
4        Additional length (8FH)
5--6     Reserved (00H)
7        Rel Adr Wbus32  Wbus16  Sync    Linked  0       CmdQue  Sft Re
8--15    Vendor identification
16--31   Product identification
32--35   Product revision level
36--43   Drive serial number
44--95   Reserved
96--143  Copyright notice
144--147 Servo PROM part number


Byte 0  The peripheral qualifier field contains zero, which means that
        the drive is currently connected to the logical unit that is
        issuing the Inquiry command. The peripheral device type field
        contains zero, which means that the drive is a direct access
        device.

Byte 1  The RMB bit is 0, which means the discs are not removable. The
        device type modifier is not used.

Byte 2  The ISO version field contains zero, which means that we do
        not claim compliance with ISO 9316.

        The EMCA version field contains zero, which means that we do
        not claim compliance with EMCA-111.

        The ANSI version field contains two, which means that the
        drive complies with ANSI SCSI-2 standard X3.131-199x.

Byte 3  The asynchronous event notification (AENC) bit is zero, which
        means that the drive does not support asynchronous event
        notification.

        The terminate I/O process (TrmIOP) bit is zero, which means
        that the drive does not support the terminate I/O process
        message.

        The response data format field contains two, which means that
        the inquiry data is in standard SCSI-2 format.

Byte 4  The additional length field contains 143, which is the num-
        ber of bytes contained in the inquiry data beyond byte 4. This
        value represents a total inquiry data length of 148 bytes. If
        the allocation length in the CDB of the Inquiry command is
        less than 148, the inquiry data is truncated, but the
        additional length does not change.

Bytes 5--6      Reserved

Byte 7  The RelAdr bit is one, which means that the drive supports the
        relative addressing mode.

        The WBUS32 bit is zero, which means that the drive does not
        support 32-bit data transfers.

        The WBUS16 bit is zero, which means that the drive does not
        support 16-bit data transfers.

        The SYNC bit is one, which means that the drive supports
        synchronous data transfer.

        The Linked bit is one, which means that the drive supports
        linked commands.

        The CmdQue bit is one, which means that the drive supports
        tagged command queuing.

        The Soft Re bit is zero, which means that the drive responds
        to a reset with a hard reset.

Bytes 8--15     The vendor identification field contains "SEAGATE"
        in ASCII text.

Bytes 16--31    The product identification field contains the model
        num- ber of the drive in ASCII text.

Bytes 32--35    The product revision level field contains the last
        four digits of the firmware release number in ASCII.

Bytes 36--43    The drive serial number field contains the serial
        number of the drive in ASCII.

Bytes 44--95    These bytes are reserved; they contain only zeros.

Bytes 96--143The copyright notice field contains the following ASCII
        string: "Copyright (c) 1993 Seagate. All rights reserved."

Bytes 144--147  The servo PROM part number field is reserved.


D.2     Vital product data pages
===============================================================

When the initiator issues an Inquiry command, and the EVPD bit in byte
1 of the Inquiry command descriptor block is 1, the drive returns
vital product data pages. If the EVPD bit in byte 1 of the Inquiry
command descriptor block is 0, see Appendix D.1.

All vital product data pages contain a 4-byte header, shown below.

Bits     7       6       5       4       3       2       1       0
Bytes
0       Peripheral qualifier     Peripheral device type
1       Page code
2       Reserved (00H)
3       Page length

Byte 0  The peripheral qualifier field contains zero, which means that
        the drive is currently connected to the logical unit issuing
        the Inquiry command.

        The peripheral device type field contains zero, which means
        that the drive is a direct-access device.

Byte 1  The page code field contains the same value contained in the
        page code field in byte 2 of the Inquiry command descriptor
        block.

        If the page code field contains any of the page codes shown in
        the table below, the drive returns the corresponding page. The
        available page codes are:

        Page code       Description
        00H             Supported vital product data pages
        80H             Unit serial number page
        81H             Implemented operating definitions page
        C0H             Firmware numbers page (vendor-unique)
        C1H             Date code page (vendor-unique)
        C2H             Jumper settings page (vendor-unique)

Byte 2  Reserved

Byte 3  The page length field contains the length of the supported
        page list.


D.2.1   Unit Serial Number page (80H)
The Unit Serial Number page is shown below. The table summarizes the
function and the default value of each bit.

Bits     7       6       5       4       3       2       1       0
Bytes
0       Peripheral qualifier     Peripheral device type
1       Page code (80H)
2       Reserved (00H)
3       Page length (0EH)
4--17   Product serial number

Bytes 4--17     The product serial number field contains the serial
        number for the drive in ASCII. If the drive does not return
        the serial number, it returns spaces (20H).


D.2.2   Implemented Operating Definition page (81H)
The Implemented Operating Definition page is shown below. The table
summarizes the function and the default value of each bit.

Bits     7       6       5       4       3       2       1       0
Bytes
0       Peripheral qualifier     Peripheral device type
1       Page code (81H)
2       Reserved (00H)
3       Page length (05H)
4       SAVIMP   Current operating definition
        0
5       SAVIMP   Default operating definition
        0
6--8    SAVIMP   Supported operating definition
        0

Byte 4  The current operating definition field contains the value of
        the current operating definition.

Byte 5  The SAVIMP bit is always zero; therefore, the current
        operating definition parameter cannot be saved. If the SAVIMP
        bit is one, the current operating parameter can be saved.

        The default operating definition field contains the value of
        the default operating definition. If no operating definition
        is saved, the drive uses the default operating definition.

Bytes 6--8      If the SAVIMP bit is zero, the default definition
        parameter cannot be saved. If the SAVIMP bit is one, the
        default definition parameter can be saved.

        The supported operating definition field contains the value of
        the supported operating definition. If no supported oper-
        ating definition is saved, the drive uses the default
        operating definition.


D.2.3   Firmware Numbers page (C0H)
The Firmware Numbers page is shown below. The table summarizes the
function, and default value of each bit.

Bits     7       6       5       4       3       2       1       0
Bytes
0       Peripheral qualifier     Peripheral device type
1       Page code (C0H)
2       Reserved (00H)
3       Page length (10H)
4--7    Download firmware number
8--11   Controller PROM number
12--15  Servo PROM number
16--19  EEPROM image number

Bytes 4--8  The download firmware number field contains the firm- ware
        number in ASCII.

Bytes 9--11The controller PROM number field contains the controller
        PROM number in ASCII.

Bytes 12--15The servo PROM number field contains the servo PROM in
        ASCII.

Bytes 16--19The EEPROM image number field contains the EEPROM image
        number in ASCII.


D.2.4   Date Code page (C1H)
The Date Code page is shown below. The table summarizes the function
and the default value of each bit.

Bits     7       6       5       4       3       2       1       0
Bytes
0       Peripheral qualifier     Peripheral device type
1       Page code (C1H)
2       Reserved (00H)
3       Page length (03H)
4       Year
5--6    Week

Bytes 4 The year field contains the year, in ASCII, that the firmware
        was released.

Bytes 5--6      The week field contains the week, in ASCII, that the
        firm- ware was released.


D.2.5   Jumper Settings page (C2H)
The Jumper Settings page is shown below. The table summarizes the
function and the default value of each bit.

Bits     7       6       5       4       3       2       1       0
Bytes
0       Peripheral qualifier     Peripheral device type
1       Page code (C2H)
2       Reserved (00H)
3       Page length (01H)
4       Rsrvd                     MS     PE      SCSI ID

Byte 4  If the motor start (MS) bit is 1, the remote start enable
        jumper is installed on pins 3 and 4 of  the options jumper
        block. If the MS bit is 0, the remote start enable jumper is
        not installed.

        If the parity enable (PE) bit is 1, the parity enable jumper
        is installed on pins 1 and 2 of  the options jumper block. If
        the PE bit is 0, the parity enable jumper is not installed.

        SCSI ID is the SCSI ID of the drive.

=====Rev=Hist===============
Written with Borland Pascal v6.0 by B.Rudock, R.Dimick and R.Stacy.

Revision History:

        7/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.

FIND-ATA - An ATA interface identify drive utility. Ask the drive directly
to determine cylinder, head and sectors, Fast-ATA features like Read/Write
Multiple mode, PIO modes, DMA modes and more.  Save the data to a file.
Supports Primary and Secondary port addresses.

-=EOF: ASPI-ID.DOC=-