Section 5
SCSI Programming Guidelines
the status set to CHECK CONDITION, the sense key set to ABORTED COMMAND (OBH)' and the sense
code set to Parity error on the
SCSI bus (47H).
5.6.3.2
Rejected Messages
The ProDrive will send MESSAGE REJECT to the initiator any time it receives a message it does not
support (e.g., extended messages)
or
a message that does not make sense at that time (e.g., the initiator
sending
COMMAND COMPLETE).
When the ProDrive receives MESSAGE REJECT from the initiator, it takes action based on which
command was rejected.
COMMAND
COMPLETE
- The ProDrive goes to BUS FREE. This is not considered an
error.
DISCONNECT - The ProDrive will stop trying to disconnect at this time.
It
may attempt to
disconnect again at a later time.
IDENTIFY - The ProDrive only sends this when it
is
attempting to reconnect.
If
this message is
rejected during reconnection, the present command will
be terminated. The drive will post a CHECK
CONDITION status, set the sense key to ABORTED COMMAND (OBH)' and set the sense code to
Message reject error (43H). The
ProDrive will then go immediately to BUS FREE.
LINKED COMMAND
COMPLETE
- The ProDrive will go immediately to BUS FREE.
The sense key will
be
set to ABORTED COMMAND
(OBH)
and the sense code set to Message reject
error
(43H)'
LINKED COMMAND COMPLETE WITH FLAG - Same procedure as for
LIN~ED
COMMAND COMPLETE.
MESSAGE
REJECT
- The ProDrive will immediately terminate the current command with a
CHECK
CONDITION status. The sense key will
be
set to ABORTED COMMAND
(OBH)
and the
sense code set to Message reject error
(43H)'
SAVE DATA POINTERS - Same procedure as for DISCONNECT message.
5.7
COMMAND IMPLEMENTATION
This section defines the SCSI commands supported by the ProDrive 4OS/80S intelligent Disk Drives.
Each command consists
of
a group
of
command bytes and an optional associated group
of
data bytes. After
ARBITRATION,
SELECTION, and any optional initial messages, the ProDrive will enter the
COMMAND phase and request the command bytes. The opcode
of
the command determines how many
bytes the
ProDrive will request. After receipt
of
the command bytes, the ProDrive will enter DATA
phase
if
a data structure is defined for the command. The data structure in a single command may transfer
one
or
more logical blocks
of
data. The ProDrive may disconnect from the SCSI bus to allow activity by
other
SCSI devices while
it
is preparing to transfer data.
Upon completion
of
a command (successful
or
unsuccessful), the ProDrive will return a status byte to the
initiator.
Since most error and exception conditions cannot adequately be described with a single status
byte, the CHECK
CONDITION status code indicates that additional information
is
available. The initiator
may issue a
REQUEST SENSE command to retrieve this additional information.
The following subsections on each command describe the sequence
of
bytes an initiator must transfer
to
the
ProDrive during the COMMAND phase to request a desired action from the drive. For those commands
for which it
is
relevant, these sections also further describe the format
of
data bytes that may be transferred
to
or
from the initiator following the COMMAND phase.
5-14
SCSI
Programming
Guidelines