SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: Framing Discussion



    
    
    Dear Mr. Cheng,
    
    You can't fit data to tags if you have lost an iSCSI data header.  However
    you could (in theory) place them in anonymous buffers and tag them later
    (once you have recovered the header). In this case you either copy them or
    have the storage-end do some scather-gather on the fragments you have
    placed in anonymous buffers.
    
    Julo
    
    "Y P Cheng" <ycheng@advansys.com> on 21/12/2000 18:21:12
    
    Please respond to "Y P Cheng" <ycheng@advansys.com>
    
    To:   "'Ips@Ece. Cmu. Edu'" <ips@ece.cmu.edu>
    cc:
    Subject:  RE: Framing Discussion
    
    
    
    
    > I agree with David. For the sake of clarity however I would like to add
    > that even for those cases in which buffers are anonymous (like
    > some appliance fileservers or disk controllers) the data that comes
    > from the wire are not necessarily entire storage data blocks and have
    > to be placed somewhere within a storage buffer. That particular
    > placement can be made itself anonymous only by "placing" a
    > "scather-gather" burden on the storage end of the wire
    > and that is either expensive or outright impossible.
    >
    > Julo
    >
    
    Julo,
    
    You lost me on the very last statement.  For appliance fileservers or disk
    controllers, there is typically an small RTOS running.  The anonymous
    non-storage data are received into a small bucket, say 256 bytes, which is
    passed back to application for processing.  These types of data are known
    as
    control data like mode-select and login, etc. The component interacting
    with
    wire is given a number of these small buckets. There is no scatter-gather
    burden on the storage end.
    
    In the context of TCP/iSCSI implementation, the wire interacting component
    needs to sort out between solicited and unsolicited iSCSI PDUs. For
    solicited PDU, it places the data based on target task tags.  For
    unsolicited control data, it places them into these small buckets.  For
    unsolicited disk block data -- like streamed writes -- it places the data
    into anonymous buffers prepared by the application.  Scatter/gather
    handling
    is a part of the "wire interacting component" design.  No extra burden.  In
    fact, the HBA for an iSCSI initiator or target is specialized in move data
    to destination buffers quickly.  Its main task is parsing the TCP/IP
    segments.
    
    This is the way I understand how an appliance fileserver or disk controller
    works.  Either big companies have total different designs or I must have
    misunderstood your statement.
    
    Y.P. Cheng, Connectcom Solutions.
    
    
    
    
    


Home

Last updated: Tue Sep 04 01:06:01 2001
6315 messages in chronological order