SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    RE: sector alignment for DataOut PDUs?


    • To: "Paul Koning" <ni1d@arrl.net>
    • Subject: RE: sector alignment for DataOut PDUs?
    • From: "Martin, Nick" <Nick.Martin@compaq.com>
    • Date: Wed, 27 Feb 2002 19:40:33 -0600
    • Cc: <ips@ece.cmu.edu>
    • content-class: urn:content-classes:message
    • Content-Transfer-Encoding: 8bit
    • Content-Type: text/plain;charset="US-ASCII"
    • Sender: owner-ips@ece.cmu.edu
    • Thread-Index: AcG/wKJcM99YUrarRKC3DvhUXJvuFQAJVNDgAAF48AA=
    • Thread-Topic: sector alignment for DataOut PDUs?

    Paul,
    
    As Rod Harrison points out, MaxRecvPDULength is not negotiated, it is
    "declared" and is likely to be different for Initiator and Target.  I
    had missed the implication of this change which occurred at draft 09.
    
    I can now appreciate your earlier proposal.  
    
    To be fair to all targets, we should allow targets with arbitrary sized
    sectors/blocks to request the same kind of boundary alignment.  Today we
    already have a need to support 512, 1K, 2K, and 4K sectors for disk, and
    anything from 512 up to at least 64K blocks for tape (including
    non-powers of 2 like 10K).  [Ouch, I just realized that the tape block
    size can be changed mid-session, the most likely time being after a
    media change.  The tape folks may not be able to use of this in the same
    way, but let's not prevent them from trying.]  Further we do not really
    want iSCSI initiators (or their drivers) to have to guess or issue SCSI
    commands to learn the sector size.  The size needs to be specified by
    the target during operational parameter negotiation if it is requesting
    sector/block aligned PDU payloads.  
    
    I actually do not think unaligned payloads are likely, but there is
    nothing to prevent them.  We may simplify some target designs by
    eliminating the requirement to support them.
    
    Certainly, we want to eliminate loopholes which allow compliant but
    non-interoperable implementations.
    
    Please consider whether the following proposal meets all of your
    requirements.
    
    Proposed addition to chapter 12 to enable requiring sector aligned PDU
    payloads:
    
    "
    DataPDUAlignment
    
    Use: LO
    Senders: Target and Initiator
    Scope: SW
    
    DataPDUAlignment=<number-512-to-(2**24-1)>
    
    The default is 0.
    
    The initiator and target negotiate the alignment boundary on which data
    transfers may be continued to a subsequent PDU.
    
    The value 0 means no boundary alignment limitation is imposed on data
    carrying PDUs.
    
    The minimum of two non-zero values is selected.  If one value is zero,
    then the other value is selected.
    
    This is intended primarily for a target to force an initiator to send
    PDU data buffers whose boundaries match physical media boundaries such
    as disk sector size.
    
    When DataPDUAlignment is non-zero, for any PDU other than the last in a
    sequence, the PDU data segment length (DataSegmentLength) is required to
    be an integer multiple of DataPDUAlignment less than or equal to
    MaxRecvPDULength.
    "
    
    Thanks,
    Nick
    
    > -----Original Message-----
    > From: Paul Koning [mailto:ni1d@arrl.net]
    > Sent: Wednesday, February 27, 2002 12:57 PM
    > To: Martin, Nick
    > Cc: ips@ece.cmu.edu
    > Subject: RE: sector alignment for DataOut PDUs?
    > 
    > 
    > >>>>> "Nick" == Martin, Nick <Nick.Martin@COMPAQ.com> writes:
    > 
    >  Nick> Paul, For all data carrying PDUs except the last in a sequence,
    >  Nick> the sender is expected to send maximum sized PDU allowed.  When
    >  Nick> the negotiated maximum is a multiple of 512, this effect is
    >  Nick> what you request.
    > 
    >  Nick> I thought this was a requirement, but I did not find it as such
    >  Nick> in draft 10. ...
    > 
    >  Nick> IMHO, it makes more sense to include stronger wording
    >  Nick> encouraging maximum negotiated length transfers rather than to
    >  Nick> add another parameter requiring PDU breaks on different
    >  Nick> boundaries.
    > 
    > That sounds like a fine suggestion, if it gives the target enough
    > power to achieve the alignment I'm looking for.  Strengthening the
    > text you quoted is a start, but other places would have to be
    > strengthened as well -- for example the rules on responding to an R2T.
    > 
    >  Nick> If such initiator behavior may not be supported by all targets,
    >  Nick> then the initiators SHOULD NOT do it.
    > 
    > That's not sufficient.  You need "MUST NOT".  The reason: if you say
    > "should not" then you can build a conforming initiator that cannot
    > interoperate with a conforming target.  All correctly written protocol
    > specs have the property that conformance implies interoperability.
    > (Unfortunately, few specs pass this test... :-( )  So a target can be
    > allowed to rely on full size PDUs only if initiators are required (not
    > merely encouraged) to send full size PDUs.
    > 
    >        paul
    > 
    > 
    


Home

Last updated: Thu Feb 28 02:18:07 2002
8922 messages in chronological order