Breaking a multiple type command sequence

Sriram Srinivasan srirams at lsil.com
Fri Dec 17 10:44:31 PST 1999


* From the T10 Reflector (t10 at t10.org), posted by:
* Sriram Srinivasan <srirams at propwash.co.lsil.com>
*
George:

	I have some questions regarding the issue of breaking a multiple type 
command sequence.
	
	Let's take a case where a target chip has the ability to accept, say, 4 
commands in a high speed register file and, after receiving 4 multiple type 
commands, would like to break out into  actions other than queue full (such as 
sending out staged data/status as Bill pointed out).  The reason queue full is 
not an option is that the queue is not managed real-time (i.e. could be managed 
in firmware) and the queue may not be even close to full.  In order to break a 
sequence of multiple type command IUs, if we are required to send a STATUS IU 
(w/ say a TASK SET FULL status) ONLY for the multiple commands just received, 
then the target has to pause on the SCSI bus while the queue check is performed 
(non-real time).  Also in case the target has alrady queued up data/status for 
the same initiator we dont want to pause while the target rearranges the queued 
events to send TASK SET FULL first to break the sequence of multiple commands.
	
	In this regard, the two SPI-3 clarifications/changes that we would like 
to see are the following:

1. The target is allowed to transition at the end of a
command multiple to any of these options:
   - BUS FREE 
     (so that we can send out the TASK SET FULL on a future bus connection
      for these command multiples received)
      
   - SPI L-Q followed by Data IU
   - SPI L_Q followed by Status IU 
     (w/ status other than QUEUE FULL for some other L_Q for the same initiator)
     
   - continue w/ receiving Command IUs from initiator

2. There is no restriction on when or if a TASK SET FULL
status is sent for any of the commands received on this 
or any previous bus connection (as long as the data for 
the command has not started).  Target can send TASK 
SET FULL for L_Qs other than the ones received from the
initiator during the existing DT DATA OUT (CMD IU) phase
and may defer sending the TASK SET FULL STATUS IU 
(if required) for the current stream of multiple commands 
to a future bus connection w/ the same initiator.

Sriram
	
----------------------------------------------------------------------------

Sriram Srinivasan,				Sriram.Srinivasan at lsil.com
ASIC Design Engineer, LSI Logic,		Phone : (970) 206 5847
2001 Danfield Ct., Ft. Collins, CO 80525	FAX   : (970) 206 5244
-----------------------------------------------------------------------------


*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org




More information about the T10 mailing list