Multiple status blocks – Ciprico Rimfire 3880 User Manual

Page 66

Advertising
background image

21020285 D

User’s Guide

Chapter 4 Command Operation

Page 4 - 8

The Base Status Block

Multiple

Status Blocks

It is possible to receive more than one Status Block to indicate the outcome of
a command. To receive multiple Status Blocks, when operating in Initiator
Mode, all the following must be true:

You have used the Unit Options or Extended Unit Options Board-control
commands to set up retries and / or extended Sense data for Pass-through
commands.

The command is a Pass-through command. (Board-control commands
are not subject to retries and do not return Sense Data.)

The Pass-through command is issued through use of the Command List
structure. (Single command structures can only contain one Status
Block.)

It is also possible to receive multiple Status Blocks when operating in Target
Mode. You will receive two Status Blocks in Target Mode if the SCSI
Command Descriptor Block is more than six bytes. See Chapter 6 for more
information.

Setting up Unit Options

These are the options selected through the Unit Options and Extended Unit
Options Board-control commands that cause the Rf3880 to return multiple
Status Blocks in response to an error condition:

Retries

- If you 1.) supply a Retry Limit value, 2.) select a type of retry in the

Retry Control field, and also 3.) set the ISB bit of the same field, each command
retry performed will generate at least one Status Block.

Sense Data

- If you select a Sense Count greater than eight, or specify more

than eight Selected Sense Bytes, you will receive multiple Status Blocks for
each Request Sense command sent in response to Check Condition.

Note
If you enabled both Retries and nine or more byte of Sense Data, you will
receive multiple Status Blocks for every retry performed until either the
command completes successfully or the Retry Limit is reached. This can be
calculated as follows:

For a command that exhausts Retry Limits:

# of Status Blocks = (# of retries + 1)x(# of Status Blocks needed for
Sense Data)

For a command that recovers before Retry Limit is reached:

# of Status Blocks = ((# of attempts + 1)x # of Status Blocks needed for
Sense Data) + 1

Advertising