Preservation of Sense Data

Gerry Houlder Gerry_Houlder at
Mon Sep 22 15:02:11 PDT 1997

* From the T10 (formerly SCSI) Reflector (t10 at, posted by:
* Gerry Houlder <Gerry_Houlder at>
Tony asks these questions:

>Question 1:
>Is an I_T_L created for a LUN other than 0 when the Host uses a LUN greater 
>0 (LUN defined via identify message) and the Target does not support multiple

GAH answer: Yes.

>Question 2:
>I/O sequence for a target that does not support multiple LUNs:
>1. Host issues a read for LUN 0 (LUN defined via identify message) that
>generates a Check Condition (unrecoverable ECC error 0311h)
>2. Host issues a Request Sense for LUN 1 (LUN defined via identify message),
>target should return Sense Data 0525h (Illegal Request - Logical Unit Not
>Supported) per section 7.5.3 case 'a' of the SCSI II specification.
>3. Host issues a Request Sense for LUN 0 (LUN defined via identify message),
>should target return Sense Data 0000h?
>Should sense data from step 1 be wiped out or preserved? (I believe it should 
>wiped out)

GAH answer: The LUN 0 sense should be preserved. A command to another LUN
shouldn't cause sense data to be discarded.

>Section 7.6 of the SCSI II specification states: "The contingent allegiance
>condition shall be preserved for the I_T_x nexus until it is cleared.  The
>contingent allegiance condition shall be cleared upon the generation of a hard
>reset condition, or by an ABORT message, a BUS DEVICE RESET message, or any
>subsequent command for the I_T_x nexus.". 
>The sense data from step 1 should be wiped out if the I_T_x nexus is the same
>and preserved if the I_T_x nexus is the NOT same for step 1 - 3. Is this a true

GAH answer: Yes.

> Is the I_T_x nexus the same for step 1 - 3 due to the fact that the
>target device does not support multiple LUNs? 

GAH answer: No. This relates to my answer to question 1.

>Any help to better understand the preservation of Sense Data for targets that 
>not support multiple LUNs would be greatly appreciated?

A "single LUN" device must recognize commands to other LUNs and not let them
affect the operation of the supported LUN. Any device can get by with treating 
commands for an illegal LUN as going to the same LUN, so the total LUNs that
must be differentiated is number_of_supported_LUNs + 1. The responses for the
illegal LUNs are separate for Inquiry (GOOD status but different data), Request
Sense (GOOD status and always returns illegal Lun sense bytes), and all other 
commands (always return CHECK status).
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list