Subject: RE: sector alignment for DataOut PDUs?

From: Robert Snively <[email-masked]>
Date: Fri, 1 Mar 2002 08:11:59 -0800

There has always been a feeling that it was nice to do things
on convenient boundaries, including memory page boundaries and
device physical block boundaries, but SCSI has long since 
elected to perform any operation on almost any boundary.  SCSI drives
and related operating systems have commonly used block sizes of 512
bytes and 520 bytes and less commonly of other values.  

The only requirement we were able to enforce in previous
SCSI protocols is that all but the last PDU of a transfer
were required to be on 4 byte boundaries.  We were also
able to enforce the maximum values and a requirement that
the transferred data count exactly match the requested byte
count.

I would strongly suggest that you not bother to enforce any
other boundary restrictions.

I believe Eddy was right when he asked:

	Given that the TCP issues of reassembly 
	are so much more complicated than
	the concatenation issues necessary for 
	target data alignment, is there
	really a problem here?

My answer to him would be, no, there is not a problem.

Bob Snively                        e-mail:    [email-masked]
Brocade Communications Systems     phone:  408 487 8135
1745 Technology Drive
San Jose, CA 95110

---

From: Paul Koning <[email-masked]>
Date: Fri, 1 Mar 2002 13:09:35 -0500

> the transferred data count exactly match the requested byte

I don't see that last point.  Certainly not for unsolicited data --
and for R2T I can find no stated requirement to send exactly the
requested count either.  Or did you mean the total for the entire
operation as opposed to the individual bursts?
 
> My answer to him would be, no, there is not a problem.

I answered it before when Eddy said that, but I'll summarize it again:
I'm not talking about a problem, I'm talking about an opportunity for
simplifying the target and making it more efficient.

Given alignment, each iSCSI PDU that carries data can be sent to disk
by itself, because it corresponds exactly to one or more disk blocks.
Without alignment, doing writes when the data arrives is still
possible, but it clearly adds complexity because PDU boundaries don't
match disk block boundaries.

I made the proposal because it clearly helps the target and appears to
add no significant burden on the initiator.  The feedback to date
indicates that this is indeed the case.

Are you saying "I don't care one way or the other" or are you saying
"I feel this is a bad idea because it creates problems you haven't
thought of"?  I'm reading your comment as the former; if you meant the
latter, could you elaborate?

	paul