fwd: RE: Save Data Pointer questions

ASpaldin at corp.adaptec.com ASpaldin at corp.adaptec.com
Fri Mar 7 06:49:00 PST 1997


* From the SCSI Reflector (scsi at symbios.com), posted by:
* ASpaldin at corp.adaptec.com
*
Form: Forward
Header: Adaptec
Text: (8 lines follow)
See message below for my reply - sorry I'd did not post this to the 
reflector correctly.

Cheers
alan 

alan spalding
email: alan_spalding at corp.adaptec.com
Original text: (136 lines follow)
>From Alan Spalding, on 3/7/97 9:15 AM:
To: jmiller at ppdpost.ks.symbios.com ("Miller,Jim")

Hi,

Rev 10k on the SCSI-2 spec states in section 6.6.6  DISCONNECT:
 "Targets that break data transfers into multiple connections SHALL end each 
successful connection (except possibly the last) with a SAVE DATA POINTER - 
DISCONNECT"
 message sequence" 

I read that paragraph to imply that the SAVE DATA POINTER message is only 
required when disconnecting after transferring some data and thus the SAVE 
DATA POINTER message is not required when disconnecting  after receiving the 
CDB. 



I found in section 7.4.2 Disconnect example a description that states no 
SAVE DATA POINTERS message is sent on disconnect after CDB:

7.4.2 Disconnect example

In the above single command example, the length of time necessary to
obtain the data may require a time-consuming physical positioning
operation.  In order to improve system throughput, the target may
disconnect from the initiator, thereby freeing the SCSI bus to allow other
I/O process to occur.  

After the target has received the READ command (and has determined that
there will be a delay), it disconnects from the SCSI bus by sending a
DISCONNECT message and by going to the BUS FREE phase.

After the target retrieves the requested data from the peripheral device
it arbitrates for the SCSI bus.  Upon winning arbitration, it reselects
the initiator and sends an IDENTIFY message to the initiator via the
MESSAGE IN phase.  This revives the I_T_L nexus so that the initiator can
retrieve the correct set of pointers for the I/O process.  The initiator
restores the active pointers to their most recent saved values (which, in
this case, are the initial values) and the target continues (as in the
single command example) to finish the I/O process.

If target wishes to disconnect after transferring part of the data (e.g.
while crossing a cylinder boundary), it may do so by sending a SAVE DATA
POINTER message and a DISCONNECT message to the initiator and then
disconnecting.  When reconnection is completed, the current data pointer
is restored to its value immediately prior to the SAVE DATA POINTER
message.

On those occasions when an error or exception condition occurs and the
target elects to repeat the information transfer, the target may repeat
the transfer by either issuing a RESTORE POINTERS message or by
disconnecting without issuing a SAVE DATA POINTER message.  When
reconnection is completed, the most recent saved pointer values are
restored.

[However I do agree the spec is unclear and I guess a robust Initiator  may 
accept a SAVE DATA POINTER - DISCONNECT message sequence after sending a 
CDB.]

Cheers
alan 

alan spalding
email: alan_spalding at corp.adaptec.com
---------
>From owner-scsi at Symbios.COM, on 3/7/97 8:37 AM:
To: scsi-owner at Symbios.COM (scsi-owner), scsi at Symbios.COM ("'SCSI reflector 
post'")

* From the SCSI Reflector (scsi at symbios.com), posted by:
* "Miller, Jim" <jmiller at ppdpost.ks.symbios.com>
*

James,

According to the SCSI-2 rev. H copy of the standard, section 5.6.6 2nd para. 

seems to say there SHALL (on disconnecting devices) be a SAVE DATA POINTER - 

DISCONNECT message after each successful connection (except possibly the 
last).  This would say that after the command phase there should be one.  If 

one is to look at what the message 02 SAVE DATA POINTER message does, it 
only saves the DATA POINTER not the COMMAND or STATUS pointer, section 
5.6.20, so it does not make sense for a target to do a 0204 sequence after 
the COMMAND phase, but that's not what the standard says.  Generally you 
don't see the SAVE DATA POINTER after
the COMMAND phase, but it seems I have seen this before.  Because there is 
an implied RESTORE pointer message on a reconnect, the COMMAND and STATUS 
(and DATA) pointers are restored to the last saved values, so there is not a 

need to do the SAVE DATA pointer message after the COMMAND phase, but SCSI 
standard does say SHALL send 0204 sequence after all successful connections. 

 Your call.

                         Jim Miller
 ----------
>From: scsi-owner
>To: 'SCSI reflector post'
>Subject: Save Data Pointer questions
>Date: Thursday, March 06, 1997 4:26PM
>
>* From the SCSI Reflector (scsi at symbios.com), posted by:
>* "Koller, James F             TR" <JFK1 at trpo2.tr.unisys.com>
>*
>
>I am working on a multi-processing platform that interfaces to a mainframe
>host as a SCSI target device.  I use the Save Data Pointer - Disconnect
>message-in sequence to allow target disconnects on Read commands.  When it
>occurs, the disconnect sequence immediately follows the command phase in
>which the Read is issued.  The target follows with a reselection to 
complete
>the command when data is available.  There is never more than one of these
>disconnect-reselect pairs per Read command.
>
>My questions involve the need for a Save Data Pointer message.  Our
>proprietary SCSI host adapter apparently does not require it in the manner
>that I do disconnects.  A commodity host adapter I have recently interfaced 


>to also does not require it.  In the latter case, however, the Save Data
>Pointer actually has an occasional adverse effect and is therefore
>undesirable.
>
>Does the industry standard not require a Save Data Pointer message in the
>way that I use it (i.e. sent once before any data is transferred) ?
>
>How can I be sure that, if I omit the Save Data Pointer message, no other
>commodity host adapters I try will have problems?
>
*
* For SCSI Reflector information, send a message with
* 'info scsi' (no quotes) in the message body to majordomo at symbios.com

Use Proportional Font: true
Previous From: Alan Spalding
Previous To: jmiller at ppdpost.ks.symbios.com ("Miller,Jim")
Original to: scsi-owner at Symbios.COM (scsi-owner),
 scsi at Symbios.COM ("'SCSI reflector post'")
Forwarded: true
*
* 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