beautypg.com

Diagnostic status check, Fixed bit check, Flag link check – HP Q153090901 User Manual

Page 31: Illegal command check, Illegal field/request check

background image

Pre-execution checks

C

omm

an

ds

in

tro

du

ct

io

n

31

reported. If such an error exists, then the drive reports

CHECK CONDITION

. The sense data for the

command is set to

DEFERRED ERROR

(which was generated when some previous command failed).

Note that if a

UNIT ATTENTION

condition and a

DEFERRED ERROR

condition both exist for an

initiator, the

DEFERRED ERROR

condition will be reported first. This is because the operation leading

to the deferred error must have been older than that leading to the unit attention. The drive reports

the conditions in the order in which they arose.

Diagnostic Status check

This ensures that the drive is in a fit state to access the media. It does this by checking that there is

no

DIAGNOSTIC FAIL

status within the drive.

If the drive has failed diagnostics,

CHECK CONDITION

is reported with a sense key of

HARDWARE

ERROR

and additional sense of 400Xh (diagnostic failure on component X).

Fixed Bit check

For the

READ

,

VERIFY

and

WRITE

commands, a Fixed bit set to 1 indicates that the length parameter

of the command is for fixed block mode. If fixed block mode is selected then the block size in the

Mode Select block descriptor must not be zero. Otherwise

CHECK CONDITION

is reported and the

sense data is set as described for the

ILLEGAL FIELD

check.

Flag Link check

This check ensures that the host has not set the Flag bit in the control byte of the command without

setting the Link bit as well. If the test fails then

CHECK CONDITION

is reported with a sense key of

ILLEGAL REQUEST

and additional sense of 2400h (invalid field in CDB). The Flag field is identified

as the bad field.

Illegal Command check

If the drive does not recognize the opcode of the command that it has been sent, it will do one of

the following:

Report

CHECK CONDITION

status. The sense key will be set to

ILLEGAL REQUEST

and the

additional sense code will be set to 2000h (invalid command opcode).

Report an invalid field in the command descriptor block. The sense key will be set to

ILLEGAL

REQUEST

, the additional sense code will be set to 2400h (invalid field in CDB) and the field

pointer in the sense data will be zero.

Illegal Field/Request check

Checks are performed to ensure the host has not set any of the following in the command

descriptor block:

a fixed field