LongLBA bit in READ CAPACITY (10) command

Elliott, Robert (Server Storage) Elliott at hp.com
Mon Sep 30 19:27:38 PDT 2002


* From the T10 Reflector (t10 at t10.org), posted by:
* "Elliott, Robert (Server Storage)" <Elliott at hp.com>
*
Sorry for the delay in responding.  The most recent changes to the READ
CAPACITY command are described in T10 proposal 01-246r1, accepted for
SBC-2 revision 5.  

The LONGLBA bit in READ CAPACITY(10) was removed in favor of a READ
CAPACITY(16) command.  It used to request the long vs. short format
data.  READ CAPACITY(10) now just returns the short format, with a value
of FFFFFFFFh if the capacity is too large to express.  If you get
FFFFFFFFh, you have to run READ CAPACITY(16) and parse the long format
data.

The description of LONGLBA was removed but the bit was left in Table 31
through SBC-2 revision 7; I will remove it from SBC-2 revision 8 (posted
by the November T10 week).

---
There are lots of ingredients to the discovery process, some protocol
and command set specific. Some things you'll encounter:
Protocols:
SPI-n: negotiation
SPI-3 Ultra 160 SCSI: Domain validation (INQUIRY, READ BUFFER, WRITE
BUFFER) to pick correct speed
SPI-4 Ultra 320 SCSI: Read INQUIRY to decide to enable information units
and QAS
Serial Attached SCSI: Program expander routing tables

Command sets:
Disk drives: Long LBAs, check mode pages
Tape drives: implicit vs. explicit LBA modes, ensure mode pages are
correct
Multimedia: features

General:
Well-known LUNs (try the REPORT LUNS W-LUN first?)
new sense data format
persistent reservations (are you always ready for RESERVATION CONFLICT)
access controls 
target port groups
determine what optional commands/task management functions are available
identify LUs only by their VPD data; support multiple paths


I agree that the different (sometimes inexplicably) discovery sequencing
across OSes has been a problem, and would welcome an informative annex
proposals for SBC-2 that would help this.  SBC-2 would only cover step 3
in your list (probing a disk device); finding the LUs themselves is not
disk specific (suitable for an annex in SPC-3).
--
Rob Elliott, elliott at hp.com
Industry Standard Server Storage Advanced Technology
Hewlett-Packard



> -----Original Message-----
> From: Bob Frey [mailto:rtfrey at IEEE.org] 
> Sent: Monday, September 30, 2002 3:16 PM
> To: Pat LaVarre
> Cc: t10 at t10.org
> Subject: Re: LongLBA bit in READ CAPACITY (10) command
> 
> 
> * From the T10 Reflector (t10 at t10.org), posted by:
> * Bob Frey <rtfrey at ieee.org>
> *
> To maintain backward compatibility with target devices that either
> pre-date the LongLBA bit or don't support it and return an error at
> best or a wrong result at worst, I believe it is preferable (and the
> intention of the authors of the LongLBA bit) to use the READ CAPACITY
> command without the LongLBA bit set first. The READ CAPACITY command
> with the LongLBA bit SET should be issued only if the first 
> READ CAPACITY
> returns a Returned LBA value which indicates the field can not be
> represented which is a value of all F's. (All F's may be the correct
> LBA. This information will be discovered on the second READ CAPACITY
> command with the LongLBA bit set.) This is my assumption from reading
> SBC because I don't recall reading the proposal(s) or history that led
> to the inclusion of the LoginLBA bit. My recollection is that the
> SBC text states the behavior/result but does not state a preferred
> order or usage of the LongLBA bit.
> 
> The direction T10 has taken to remove recommended usage/implementor's
> notes that existed in SCSI-2 and earlier (which is again my 
> recollection)
> seems to me a mistake that has led to vendor interoperability 
> issues that
> could otherwise have been avoided. Vendors do read the T10 
> specifications
> but because it takes a T10 historian/alchemist to combine T10 
> ingredients
> together to create a working T10 potion, many vendors (and 
> even more that
> use their products) find the products fizzle.
> 
> I encourage a policy of going back to implementor's notes. I 
> would start
> with an informative or normative annex in SPC or SBC that describes LU
> discovery which in my experience has been the T10 area where 
> the majority
> of interoperability issues and questions have and will 
> continue to exist.
> (As evidenced by the LUN format/HiSup and LongLBA bit 
> questions on this
> reflector.)
> 
> Here's an overview of a typical LU discovery sequence that I 
> have never
> read in a T10 document but believe I have independently 
> arrived at after
> about 8 years working on and off with initiator and target 
> T10 implementations:
> 
>   1. INQUIRY LU 0
>   2. REPORT LUNS 0 (Failing REPORT LUNS perform INQUIRY LU 
> scanning 0-255)
>   3. For each LU discovered
>      a. INQUIRY (if REPORT LUNS supported)
>      b. READ CAPACITY (if block device) Handle LongLBA has above.
>      c. TUR (START UNIT if not Ready, delay some arbitrary amount of
>         time (which is problematic) and go back to TUR.)
> 
> Has there ever been a recommended LU discovery sequence in 
> any T10 command
> related standard? If yes, I have missed it, please send me a pointer.
> Including this information in a standard I belive will 
> improve the quality
> of vendor implementations (i.e. reduce interoperability problems).
> 
> -- 
> Bob Frey
> rtfrey at ieee.org
> 
> On Tue, Sep 24, 2002 at 06:24:19PM -0600, Pat LaVarre wrote:
> > * From the T10 Reflector (t10 at t10.org), posted by:
> > * "Pat LaVarre" <LAVARRE at iomega.com>
> > *
> > Accordingly, the LongLBA bit should dig out who among us 
> has sloppily hard coded op x25 = expect to copy 0 or 8 bytes In.
> >  
> > The "really large" capacity necessary to exceed 32 bits of 
> Lba space is pretty small these days e.g. 2 TiB at the 
> 0.5KiB/ block common for peripheralDeviceType = x00 DASD.
> >  
> > Pat LaVarre
> > 
> > 	-----Original Message----- 
> > 	From: Gerry.Houlder at seagate.com 
> [mailto:Gerry.Houlder at seagate.com] 
> > 	Sent: Tue 9/24/2002 3:58 PM 
> > 	To: t10 at t10.org 
> > 	Cc: 
> > 	Subject: Re: LongLBA bit in READ CAPACITY (10) command
> > 	
> > 	
> > 
> > 	* From the T10 Reflector (t10 at t10.org), posted by:
> > 	* Gerry.Houlder at seagate.com
> > 	*
> > 	
> > 	The LONGLBA bit indicates the format of the returned 
> data. If the bit is
> > 	zero, the returned data has 4 bytes for max LBA and 4 
> bytes for the block
> > 	size. If the bit is one, the returned data has 8 bytes 
> for max LBA instead
> > 	of only 4. it is intended to go with the 8 byte LBA 
> versions of read,
> > 	write, etc. on targets with really large capacities.
> > 	
> > 	
> > 	
> > 	                                                        
>                                          
> > 	                    "Ken Craig"                         
>                                          
> > 	                    <kcraig at istor        To:     
> <t10 at t10.org>                                   
> > 	                    .com>                cc:            
>                                          
> > 	                    Sent by:             Subject:     
> LongLBA bit in READ CAPACITY (10) command  
> > 	                    owner-t10 at t10                       
>                                          
> > 	                    .org                                
>                                          
> > 	                    No Phone Info                       
>                                          
> > 	                    Available                           
>                                          
> > 	                                                        
>                                          
> > 	                    09/24/02                            
>                                          
> > 	                    04:30 PM                            
>                                          
> > 	                                                        
>                                          
> > 	                                                        
>                                          
> > 	
> > 	
> > 	
> > 	
> > 	* From the T10 Reflector (t10 at t10.org), posted by:
> > 	* "Ken Craig" <kcraig at istor.com>
> > 	*
> > 	Can someone tell me what the definition/purpose
> > 	of the LONGLBA bit is in the READ CAPACITY (10)
> > 	command defined in SBC-2 rev 7?
> > 	
> > 	Thanks,
> > 	Kenneth Ray Craig, Jr.
> > 	*
> > 	* For T10 Reflector information, send a message with
> > 	* 'info t10' (no quotes) in the message body to 
> majordomo at t10.org
> > 	
> > 	
> > 	
> > 	*
> > 	* For T10 Reflector information, send a message with
> > 	* 'info t10' (no quotes) in the message body to 
> majordomo at t10.org
> > 	
> > 
> > *
> > * For T10 Reflector information, send a message with
> > * 'info t10' (no quotes) in the message body to majordomo at t10.org
> *
> * For T10 Reflector information, send a message with
> * 'info t10' (no quotes) in the message body to majordomo at t10.org
> 
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org




More information about the T10 mailing list