Text preview for : 81-45416_Q200_Series_Programmers_Manual_Nov87.pdf part of quantum 81-45416 Q200 Series Programmers Manual Nov87 quantum Q200 81-45416_Q200_Series_Programmers_Manual_Nov87.pdf



Back to : 81-45416_Q200_Series_Prog | Home

Q200 SERIESTM

PROGRAMMER'S MANUAL




QUANlUM CORPORATION

81-45416




REV ABC
DA1E 01/87 04/87 11/87
EC 2021 2237 2407
ii
PREFACE
Quantum reserves the right to make changes and/or improvements to its products without incurring
any obligation to incorporate such changes or improvements in units previously sold or shipped.

Quantum publishes descriptive data sheets, a Product Description/OEM Manual, and a Technical
Reference Manual for each product line. In addition, important changes to a product are conveyed
in the form of a Technical Support Bulletin sent to all product customers of record. Those
changes which alter manual content are covered by publishing Addenda to the affected manual.

Quantum publications may be requested from your Quantum Sales Representative, or may be
ordered from Quantum in the same manner as spare parts.


Publication No. 81-45416, Rev. C




Copyright 1986, 1987, 1988 Quantum Corporation. All rights reserved.
AIRLOCK and Drs CACHE are registered trademarks of Quantum Corporation.
Q200 Series is a trademark of Quantum Corporation.
Printed in U.S.A.



iii
iv
TABLE OF CONTENTS
1.0 SCOPE 1

2.0 APPLICABLE DOCUMENTS 1

3.0 GLOSSARY AND CONVENTIONS 1
3.1 GLOSSARY 1
3.2 EDITORIAL CONVENTIONS 2

4.0 INTERFACE CHARACTERISTICS 2
4.1 SCSI BUS 2
4.2 SCSI BUS SIGNALS 5
4.3 SCSI BUS TIMING 7

5.0 LOGICAL CHARACTERISTICS 8
5.1 SCSI BUS PHASES 8
5.1.1 BUS FREE Phase 8
5.1.2 ARBITRATION Phase 8
5.1.3 SELECTION Phase 9
5.1.4 RESELECTION Phase 10
5.1.5 Information Transfer Phases 11
5.1.6 COMMAND Phase 12
5.1.7 DATA Phase 12
5.1.8 STATUS Phase 13
5.1.9 MESSAGE Phase 13
5.1.10 Signal Restrictions Between Phases 14

5.2 SCSI BUS CONDmONS 14
5.2.1 ATTENTION Condition 14
5.2.2 RESET Condition 14

5.3 SCSI BUS PHASE SEQUENCES 15
5.3.1 Nonarbitrating Systems 15
5.3.2 Arbitrating Systems 15
5.3.3 All Systems 16

5.4 SCSIPOINTERS 16

5.5 :MESSAGE SYSTEM SPECIFICATION 17
5.5.1 Message Protocol 17
5.5.2 Messages 18
5.5.3 Message Error Recovery Strategy 19

6.0 COMMAND SPECIFICATION 21

6.1 COMMAND DESCRIPTOR BLOCK (CDB) 21
6.1.1 Opcode 21
6.1.2 Logical Unit Number (LUN) 22
6.1.3 Logical Block Address (LBA) 22
6.1.4 Transfer or Allocation Length 22
6.1.5 Vendor Unique (VU) 23
6.1.6 Reserved (R) 23
6.1.7 Flag Bit (F) 23
6.1.8 Link Bit (L) 23
6.1.9 Relative Address (RELADR) Bit 23

v
TABLE OF CONTENTS(CONT)


6.2 COMPLETION STATUS BYTE 23

6.3 READING AND WRITING 25
6.3.1 Logical Blocks 25
6.3.2 Logical Block Address Ranges 26
6.3.3 Transferring Data 26

6.4 CONFIGURING THE Q200 Series OPERATING MODE 27
6.4.1 Q200 SeriesTM Operating Modes 27
6.4.2 Operating Mode Tables 27

6.5 DESCRIPTIONOFCOMMANDS 28
6.5.1 TEST UNIT READY Command: Opcode = 00 (hex) 28
6.5.2 REZERO UNIT Command: Opcode = 01 (hex) 29
6.5.3 REQUEST SENSE Command: Opcode = 03 (hex) 29
6.5.4 FORMAT UNIT Command: Opcode = 04 (hex) 37
6.5.5 REASSIGN BLOCKS Command: Ope ode = 07 (hex) 44
6.5.6 READ Command: Opcode = 08 (hex) 45
6.S.7 WRITE Command: Opcode = OA (hex) 46
6.5.8 SEEK Command: Opcode = OB (hex) 47
6.5.9 INQUIRY Command: Ope ode = 12 (hex) 48
6.5.10 MODE SELECf Command: Opcode = 15 (hex) 49
6.5.11 RESERVE Command: Opcode = 16 (hex) 60
6.5.12 RELEASE Command: Opcode = 17 (hex) 61
6.5.13 COpy Command: Opeode = 18 (hex) 62
6.5.14 MODE SENSE Command: Opcode = lA (hex) 67
6.5.15 START/STOP UNIT Command: Opcode = IB (hex) 73
6.5.16 SEND DIAGNOSTIC Command: Opcode = ID (hex) 74
6.5.17 READ CAPACITY Command: Ope ode = 25 (hex) 75
6.5.18 READ EXTENDED Command: Opeode = 28 (hex) 76
6.5.19 WRITE EXTENDED Command: Opcode = 2A (hex) 77
6.5.20 SEEK EXTENDED Command: Opcode = 2B (hex) 77
6.5.21 VERIFY Command: Opcode = 2F (hex) 78
6.5.22 READ DEFECT DATA Command: Opcode = 37 (hex) 78
6.5.23 WRITE DATA BUFFER Command: Opcode = 3B (hex) 80
6.5.24 READ DATA BUFFER Command: Opcode = 3C (hex) 81



APPENDIX

A Media Defect Handling A-I
B DisCache B-1




vi
LIST OF FIGURES

Figure 4-1 SCSI ID Bits 3
Figure 4-2 Sample SCSI Configuration 4
Figure 5-1 Phase Sequenc~s without Arbitration 15
Figure 5-2 Phase Sequences with Arbitration 16
Figure 5-3 Simplified SCSI System 16
Figure A-I Factory Found Defects A-2
Figure A-2 Field Found Defects A-3


LIST OF TABltES


Table 4-1 Signal Sources 7
Table 5-1 Information Transfer Phases 12
Table 5-2 Message Codes Supported by the Q200 Series 17
Table 6-1 Commands Supported by the Q200 Series 22
Table 6-2 Status Byte 23
Table 6-3 Status Byte Code Bit Values 24
Table 6-4 Q200 Series Status Codes 25
Table 6-5 TEST UNIT READY Command 28
Table 6-6 REZERO UNIT Command 28
Table 6-7 REQUEST SENSE Command 28
Table 6-8 Extended Sense Format 30
Table 6-9 Sense Error Codes 32
Table 6-10 FORMAT UNIT Command 37
Table 6-11 FORMAT UNIT Command Variations 38
Table 6-12 Defect List - Logical Block Format 39
Table 6-13 REASSIGN BLOCKS Command 44
Table 6-14 Reassign Blocks Defect List 45
Table 6-15 READ Command 45
Table 6-16 WRITE Command 46
Table 6-17 SEEK Command 47
Table 6-18 INQUIRY Command 48
Table 6-19 Inquiry Data Format 48
Table 6-20 MODE SELECf Command 50
Table 6-21 Mode Select Parameter List 51
Table 6-22 RESERVE Command 60
Table 6-23 RELEASE Command 61
Table 6-24 COpy Command 62
Table 6-25 Copy Parameter List 62
Table 6-26 Copy Functions 63
Table 6-27 Segment Descriptoror for Copy Function Codes OOH' 01 H 64
Table 6-28 Segment Descriptor for Copy Function Code 02H 64
Table 6-29 MODE SENSE Command 67
Table 6-30 Mode Sense Data 69
Table 6-31 START/STOP UNIT Command 73
Table 6-32 SEND DIAGNOSTIC Command 74
Table 6-33 READ CAPACITY Command 75
Table 6-34 Read Capacity Data 75
Table 6-35 READ EXTENDED Command 76
Table 6-36 WRITE EXTENDED Command 77
Table 6-37 SEEK EXTENDED Command 77

vii
LIST OF TABLES (CONI)
~

Table 6-38 VERIFY Command 78
Table 6-39 READ DEFECf DATA Command 78
Table 6-40 Defect List Header 79
Table 6-41 Physical Sector Format SO
Table 6-42 Bytes Offset From Index Format 80
Table 6-43 WRITE BUFFER Command 80
Table 6-44 READ BUFFER Command 81
Table 6-45 Read Buffer Header 81
Table B-1 Programmable Parameters B-2




vii i
0200 Series Programmers Manual


1.0 SCOPE

This document defines the functional requirements for interfacing with the Q200 Series Intelligent Disk Drives via
the Small Computer System Interface (SCSI). In addition to specifying the command sel, this document is intended
to provide all other information on the Q200 logical interface (e.g., bus timing, message protocol, etc.) necessary
for software designers to quickly integrate Q200 Series disk drives into an SCSI host system.

Mechanical and electrical parameters are not addressed by this document. Refer to the ANSI X3.131-1986 Small
Computer System Interface specification for information on these parameters.


2.0 APPLICABLE DOCUMENTS

ANSI X3.131-1986 Small Computer System Interface specification

Common Command Set Rev 4B (by an ANSC X3T9.2 working group)

Q250 / Q280 Disk Drive OEM Manual (PIN 81-45233)

3.0 GLOSSARY AND CONVENTIONS

3.1 GLOSSARY

byte - This term indicates an 8-bit (octet) byte.

command descriptor block (CDB) - The structure used to communicate requests from an initiator to a target.

connect - The function that occurs when an initiator selects a target to start an operation.

disconnect - The function that occurs when a target releases control of the SCSI bus, allowing it to go to the BUS
FREE phase.

initiator - An SCSI device (usually a host system) that requests an operation to be performed by another SCSI
device.

logical unit - A physical or virtual device addressable through a target.

logical unit number - An encoded three-bit identifier for the logical unit.

LSB - Least Significant Bit

LUN - Logical Unit Number

ms - Millisecond

MSB - Most Significant Bit

ns - Nanosecond

one - A true signal value.

peripheral device - A peripheral that can be attached to an SCSI device (e.g., magnetic-disk, printer, optical-disk,
or magnetic-tape).



Q200 Series Programmers Manual 1
Q200 Series Programmers Manual


reconnect - The function that occurs when a target selects an initiator to continue an operation after a disconnect
reserved - The term used for bits, bytes, fields, and code values that are set aside for future standardization.

SCSI address - The octal representation of the unique address (0-7) assigned to an SCSI device. This address
would normally be assigned and set in the SCSI device during system installation.

SCSI ID - The bit-significant representation of the SCSI address referring to one of the signal lines DB(7-0).

SCSI device - A host computer adapter, a peripheral controller or an intelligent peripheral that can be attached to
the SCSI bus.

signal assertion - The act of driving a signal to the true state.

signal negation - The act of driving a signal to the false state or allowing the cable terminators to bias the signal
to the false state (by placing the driver in the high impedance condition).

signal release - The act of allowing the cable ierminators to bias the signal to the false state (by placing the
driver in the high impedance condition).

status - One byte of information sent from a target to an initiator upon completion of each command.

target - An SCSI device that performs an operation requested by an initiator.

us - Microsecond

vendor unique - This term indicates bits, fields, or code values that are vendor specific.

XXB - Numbers followed by a capital B subscript are binary values.

XXH - Numbers followed by a capital H subscript or "(hex)" are hexadecimal values. All other numbers are decimal
values.

zero - A false signal value.

3.2 EDITORIAL CONVENTIONS

Certain words and terms used in this manual have a specific meaning beyond the normal English meaning. These
words and terms are defmed either in the glossary (see 3.1) or in the text where they first appear (e.g., arbitration
delay - see 4.3.1). Names of signals, phases, conditions, messages, commands, statuses, and sense keys are all in
uppercase (e.g., REQUEST SENSE). Lowercase is used for words having the normal English meaning.

Throughout this manual, the term Q200 will be used to refer to either the Q250 or the Q280 disk drive.

4.0 INTERFACE CHARACTERISTICS

4.1 SCSI BUS

Communication on the SCSI bus is allowed between only two SCSI devices at any given time. There is a
maximum of eight SCSI devices. Each SCSI device has an SCSI ID bit assigned as shown in Figure 4-1.

When two SCSI devices communicate on the SCSI bus, one acts as an initiator and the other acts as a target. The
initiator originates an operation and the target performs the operation. An SCSI device usually has a fIXed role as




2 Q200 Series Programmers Manual
0200 Series Programmers Manual


either an initiator or a target, but some devices may be able to assume either role. The Q200 acts only as an
initiator when executing COpy commands with a third party device (e.g., backing up Q200 data to a tape fue).

An initiator may address up to eight peripheral devices that are connected to a target. Three sample system
configurations are shown in Figure 4-2.


DB(7) DB (6) DB (5) DB (4) DB(3) DB (2) DB(1) DB (0) <--DATA
BUS
I I I I I I
I I I I I SCSI 10 =0
I I I I I
I I I I SCSI ID = 1
I I I I
I I I SCSI 10 = 2
I I I
I I SCSI 10 =3
I I
I SCSI ID =4
I
I CSIID = 5
I
I CSI 10= 6-
I
SCSI 10 = 7


FIGURE 4-1. SCSI ID Bits




0200 Series Programmers Manual 3
Q200 Series Programmers Manual


Peripheral devices such as magnetic disks, printers, optical-
disks~ and magnetic-tapes.




SCSI BUS


SINGLE INITIATOR. SINGLE TARGET




COMPUTER SCSI BUS




SINGLE INITIATOR, MULTI TARGET




SCSI BUS




MULTI INITIATOR. MULTI TARGET


FIGURE 4-2. Sample SCSI Configuration



4 Q200 Series Programmers Manual
0200 Series Programmers Manual


Up to eight SCSI devices can be supported on the SCSI bus. They can be any combination of initiators and
targets.

Certain SCSI bus functions are assigned to either the initiator or to the target. The initiator may arbitrate for the
SCSI bus and select a particular target. The target may request the transfer of COMMAND, DATA, STATUS, or
other information on the DATA BUS, and in some cases it may arbitrate for the SCSI bus and res elect an initiator
for the purpose of continuing an operation.

Information transfers on the DATA BUS are asynchronous and follow a defined REQjACK handshake protocol.
One byte of information may be transferred with each handshake. The synchronous data transfer option is not
supported on the Q200.

4.2 SCSI BUS SIGNALS

There are a total of eighteen signals. Nine are used for control and nine are used for data. (Data signals include the
parity signal option.) These signals are described as follows:

BSY (BUSy) - An "OR-tied" signal that indicates that the bus is being used.

SEL (SELECT) - A signal used by an initiator to select a target or by a target to reselect an initiator.

C/D (CONTROL/DATA) - A signal driven by a target that indicates whether CONTROL or DATA information
is on the DATA BUS. True indicates CONTROL.

I/O (INPUT/OUTPUT) - A signal driven by a target that controls the direction of data movement on the DATA
BUS with respect to an initiator. True indicates input to the initiator. This signal is also used to distinguish
between SELECTION and RESELECTION phases.

MSG (MESSAGE) - A signal driven by a target during the :MESSAGE phase.

REQ (REQUEST) - A signal driven by a target to indicate a request for a REQjACK data transfer handshake.

ACK (ACKNOWLEDGE) - A signal driven by an initiator to indicate an acknowledgment for a REQjACK data
transfer handshake.

ATN (ATTENTION) - A signal driven by an initiator to indicate the ATTENTION condition.

RST (RESET) - An "OR-tied" signal that indicates the RESET condition.

DB(7