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

21020285 D

User’s Guide

Page 66
Image 66
Ciprico Rimfire 3880 manual Multiple Status Blocks, Setting up Unit Options