qpc of CIP in SBP2

Rob Lash rlash at QNTM.COM
Thu Jun 26 14:14:43 PDT 1997

* From the SCSI Reflector (scsi at symbios.com), posted by:
* Rob Lash <rlash at qntm.com>
>>> <Stephen_Finch/SSI1.SSI1 at notes-gw.tus.ssi1.com> asks:
>>> I think I understand the purpose of qpc.  My question is:
>>> Are the quadlets that are logically added to the application-dependent 
>>> data block to make it equal to the value obtained by multiplying dbs by 
>>> the value of 2 raised to the fn actually sent on in the isoc packet?

>> <rlash at qntm.com (Rob Lash) > replies:
>> The padding quadlets are transmitted in the isochronous packet which 
>> contains the last source-packet-data-block (2^fn)-1 
>> There is a helpful note in the SBP-2 rev 2d draft following Figure 65
>> illustrating how this source-packet-data-block may be located.

> <Stephen_Finch/SSI1.SSI1 at notes-gw.tus.ssi1.com> continues:
> That's an interesting answer.  The note says which block in the current 
> isoc packet is the first block of a source packet, but it doesn't state that 
> the block previous is really full, 

See IEC 1883 clause 6.2
A source packet may be split into 1,2,4 or 8 data blocks and zero or
more data 
blocks are contained in a IEEE 1394 packet.  

My interpretation here is that complete data blocks are transmitted
during an 
isochronous cycle and not partial data blocks and therefore all data
blocks are 
indeed *full*.

> or that the ordinal number of the block could 
> be multiplied by the dbs value to determine the offset of the first packet.  
> This just gives a block number....
> I would think that qpc is saying that the last block of a source packet is 
> short this number of quadlets and NOT have to send these quadlets. 
> Your answer states what may be the correct answer, but I don't see it explicitly
> stated in SBP-2, either directly (preferred) or even indirectly, ala the note 
> you referenced.  Is there another document (e.g., 1883) that contains a statement 
> on which you base your assumption? 

See SBP-2 rev 2d clause 11.5.
Notice that qpc specifies the number of quadlets appended to the source
packet BEFORE 
it is divided into data blocks.  The qpc value is chosen to ensure that
all data 
blocks are of EQUAL SIZE.

> If your answer is correct, WHY?  Why would we want to send 1 to 7 quadlets 
> of useless information over the bus?  Are these useless bytes also stored 
> on the media when recording?  If so, why have the qpc in the CIP header at all?
> But it in the sph header...
> This may sound like the start of another endless argument, but I don't have my 
> heels dug in.  I just want closure.

Just trying to help.


  Rob Lash
  Sr. Firmware Engineer                  email: rlash at qntm.com
  Advanced Development                   voice: 408.894.4228
  Quantum Corporation                    fax:   408.894.5653
  500 McCarthy Blvd                     
  Milpitas, CA 95035                     http://www.quantum.com
* For SCSI Reflector information, send a message with
* 'info scsi' (no quotes) in the message body to majordomo at symbios.com

More information about the T10 mailing list