HiSupport bit description in Inquiry

Ralph O. Weber roweber at acm.org
Tue Aug 4 17:31:43 PDT 1998

* From the T10 (formerly SCSI) Reflector (t10 at symbios.com), posted by:
* "Ralph O. Weber" <roweber at acm.org>

} OK, so it sounds like we still need to allow "non-hierarchical
} addressing", so the "shall support .." statement in SAM-2 will
} switch back to "may support ..".

Actually, SAM-2 contains 'shall's with very specific descriptions
of when they apply.  See SAM-2 r8 on the T10 web site.

} This still leaves some aspects of my original question about the
} HiSupport bit. What if a device supports the hierarchical addressing
} model but doesn't support the REPORT LUNS command? This case seems to
} be prohibited by the standard. What if a device doesn't support
} hierarchical addressing (your 256 LUN example) but does support the
} REPORT LUNS command? I think this is allowed (the REPORT LUNS
} description requires the command to be supported if HiSupport is one
} but is silent about when HiSupport is zero -- we usually interpret
} this as being allowed). This is OK as long as HiSupport is tied to
} hierarchical addressing support and not REPORT LUNS support. I guess
} there aren't any problems with these cases, unless someone else sees
} one.

I don't see any problems with these cases.  If HiSupport is one,
then REPORT LUNS support is required because the device probably
has lots of LUNs and a sparse (not 0, 1, 2, 3, ...) LUN numbering
space.  If HiSupport is zero, then REPORT LUNS may or may not be
supported.  HiSupport=0 could be the case because the device was 
built before HiSupport was invented.  It might be that the device
has more than 256 LUNs.

In all cases, my vision of how a host configures LUNs goes
something like this.

Send a REPORT LUNs command to LUN 0.
If REPORT LUNs returned data, then use that data to configure.
Otherwise, if no response at all to the REPORT LUNS try the
   next target ID.
Otherwise, send an INQUIRY command to LUN 0 and configure;
then loop through LUNs 1, 2, ... sending INQUIRY commands
and configuring.  When a LUN does not respond or indicates
that no device is present, try the next target ID.

The only time I'd use the HiSupport bit is when I'm trying to
find the 6 bits of LUN number in the output from REPORT LUNS.
If HiSupport is 1 then, I'd look in the bits that the hierarchical
format suggests.  Otherwise, I'd toss a coin and either follow
the hierarchical format or look in the LSB.

Hope this helps.


* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at symbios.com

More information about the T10 mailing list