End-to-end logical block guard checking question

Edward A. Gardner eag at ophidian.com
Fri Jan 23 13:40:43 PST 2004

* From the T10 Reflector (t10 at t10.org), posted by:
* "Edward A. Gardner" <eag at ophidian.com>
At 13:09 23-01-2004, Sheffield, Robert L wrote:
>* From the T10 Reflector (t10 at t10.org), posted by:
>* "Sheffield, Robert L" <robert.l.sheffield at intel.com>
>Ed, I think you're on to something.
>In the SAM-3 section on Service Delivery Subsystem there's a diagram
>showing the
>Transport layer sitting between the SCSI Application Layer and the
>Interconnect Layer (a.k.a. Service Delivery Subsystem). Looking at the
>Transport Layer services as defined, there's no requirement even for the
>Transport Layer to have any notion of data-blocks. SAM-3 leaves it up to

I think you're looking at SAM-3 Figure 25 in clause 4.15.  SAM-3 clause 5.4 
gives more details.

The service delivery subsystem comprises the SCSI Transport Protocol Layer 
and the underlying things that the transport protocol uses, shown as the 
Interconnect Layer in Figure 25.  Clause 5.4 specifies (in an abstract 
architectural sense) the interface between the SCSI Application Layer 
(application client or device server) and the SCSI Transport Protocol Layer.

Clause 5.4.3 defines the data transfer protocol services.  The paragraph 
beginning "Random buffer access..." on SAM-3 page 65, immediately following 
Editor's Note 1, defines random buffer access vs. sequential buffer 
access.  EMDP controls whether random buffer access is allowed.  Sequential 
buffer access is always allowed.

Getting back to your question, the device server can request out of order 
data transfers (random buffer access), when EMDP is set to one, and it will 
of course see blocks out of order if it does so.  But the device server 
explicitly chose to make the out of order request, so it should know how to 
deal with the result.  And the initiator chose to allow it to make that 
choice, so the initiator should know how to deal with the result as well.

Within each data transfer request, the underlying transport protocol (or 
the Interconnect Layer below it) restores data order, if necessary, before 
the application layer sees the data.

Edward A. Gardner               eag at ophidian dot com
Ophidian Designs                719 593-8866 voice
1262 Hofstead Terrace           719 210-7200 cell
Colorado Springs, CO  80907

* 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