P1394> SBP-2 vs. DPP 0.71 Cheat Sheet (?)

P1394> SBP-2 vs. DPP 0.71 Cheat Sheet (?)

Greg Shue gregs at sdd.hp.com
Fri Feb 20 19:46:07 EST 1998


Hi all,


The more I look at DPP 0.71, the more similar it looks
to SBP-2.  So, I put together a concept "cheat sheet"
to see how the two really compared.  I thought you
might be interrested, so here it is...  What do you think?


- Greg Shue


===============================
SBP-2 vs. DPP v0.71 Cheat Sheet
===============================


There are many similar concepts between SBP-2 and DPP v0.71 which
may not be well understood.  The main difference between the
protocols revolves around the a/symmetry of the protocol stacks.
This "cheat sheet" is intended on laying the groundwork for a
direct comparison of the protocol stacks.




SBP-2 Model of Use for Comparison
---------------------------------
In order to get a reasonable comparison of the protocols, then
a Command Set and Model-of-use must be outlined for SBP-2.  Many
of the details can be left out of the outline as long as the
essence of the profile is maintained.


Model of Use
------------


  - cross-logins are established between the two devices.
      (This avoids a merged target/initiator driver)


  - each device provides a fetch engine and a task list.


  - each task list contains commands to transfer data in one direction
      (we'll choose it such that only WRITE transactions occur for
       moving the ORB data block)


  - each ORB allows one "data unit" to be processed.


Command Set Provides For
------------------------
  - cross-login information
  - negotiated max data block size per task per direction.
  - indicating byte-size of completed packet
  - carrying of Command IDs in CDB  (2 bytes)
  - carry "SDU segmentation number" in CDB  (4 bytes)
  - carry "SDU end of segment flag" in CDB  (1 bit)
  - carry routing info in CDB  (2 byte Dest PID, 2 bytes Src PID)




Cheat Sheet
===========


    CSR structures       Thin Protocol           SBP-2
    -----------------------------------------------------------------------
    Access Control i/f   Connection Reg          Mgmt Agent Reg


    Response Space       SDU Response Space      Fetch Agent Regs


    Completion status    SDU Control Space       Status FIFO


    Transfer block       SDU Register            data block referenced by ORB




    Functional layers    Thin Protocol           SBP-2
    -----------------------------------------------------------------------
    Connection mgmt      Thin Session            Management Agent


    Data Transfer eng    Thin Transaction        Fetch Agent




    Session Mgmt         Thin Protocol           SBP-2
    -----------------------------------------------------------------------
    Access Request       S_Connect               login


    Reconnect            T_Reconnect             reconnect


    Execute App Cmd      S_Command               ORB exists on task list


    Access Release       S_Disconnect            logout


    Error Notification   <none>                  Mgmt-ORB specified Status FIFO
						   completion notification




    Data Transfer        Thin Protocol           SBP-2
    -----------------------------------------------------------------------
    Transfer Space       SDUAck                  ORB exists on task list
      Available          (write implies avail)   (existance implies available)


    Transfer completion  SDUComp                 Notification write to
      notification                                 Status FIFO


    Transfer Abort from  SDUStop                 Abort Task (Set)
     data receiver


    Transfer Abort from  SDUStop                 Notification write to implicit
     data sender                                   Status FIFO - Abort


    Error Notification   T_error                 Notification write to implicit
						   Status FIFO - error ind.




Feature Comparison
==================


Feature                  Thin Protocol           SBP-2
-----------------------------------------------------------------------
Each node can send/rcv   Yes                     Yes
  data


Dynamically allocates    Yes                     Yes
  CSR Reg space when
  estab. connect


Selectable Transfer      Yes                     Yes, requires Create Stream
  Mode                                             request and separate
                                                   task list


Symmetric Structure      Yes                     Yes


Negotiated Data Unit     Yes                     Yes
  size independently
  per direction


Isochronous Support      Yes                     Yes


Multiple Cmd Support     Yes                     Yes


Bidirectional Cmds       Yes                     Yes


Multiple Independent     Unspecified (possible   Yes, via Multiple LUNs &
 Connection Support      w/ multiple UNIT Dirs)    multiple UNITS


Session segmentation     Yes                     Yes, in CDB
  support




Distinctive differences:


Feature                  Thin Protocol           SBP-2 w/ proposed profile
-----------------------------------------------------------------------
Reconnect Support        2 sec window;           1 sec window, proposal made
                         either end may          for programmable extension;
                         establish               both ends must reestablish


SDU Available            SDU Ack timeout exists  None (?)
  timeout                Does this imply a real-
                         time processing req. on
                         whatever data is sent
                         in an SDU?


Connection Process       2 block writes          6 block writes (probably)
                                                   (2 logins @ 2 per login,
                                                    2 for negotiated params)


Shared memory buffer     Fixed location during   Relocatable, partitionable
                         connection


Data Transfer            more efficient for      More flexible and standardized
                         data < MTU size


   data < MTU size       SDUAck +                WR Agent Reset + WR ORB ptr +
                         SDUComp +               ORB prefetch + data xfer +
                         SDUAck                  Completion Notify
                            (3 transactions vs. 5 transactions)


   MTU size << data <    SDUSend +               WR Agent Reset + WR ORB ptr +
   SDU size              SDUComp +               ORB prefetch + page table +
                                                 data xfer +
                         SDUAck                  Completion Notify
                            (SBP-2 costs 3 extra transactions,
                             but a small overhead



-- 
Greg Shue
Hewlett-Packard Company
Office Products Division			gregs at sdd.hp.com
----------------------------------------------------------------




More information about the P1394 mailing list