Chris,
The data hierarchy associated with Long Message transfers in STP
is transfer->block->STU; a transfer consists of one or many blocks
and a block consists of one or many STUs.
A SCSI transaction maps to a STP transfer. The STP stack takes care
of retransmissions for missed/dropped blocks based on timeouts (or
any other mechanism like missed ordering of blocks etc.). Further
the NIC h/w or firmware, if capable, may take care of STU retransmission
for dropped STUs. For example on GbE a frame would correspond to a
STU, and lets say a block corresponds to 64 STUs; now, if a frame is
dropped/lost, the media/physical layer/NIC, if capable, could have
the remote NIC resend the STU - generally resulting in the protocol
stack on the host always getting all the blocks; but if the NIC can't
support STU retransmission, the protocol stack will observe a dropped
block (a block isn't deemed recd. until all STUs are recd) and would
request retransmission of the block by resending a CTS. The entire
transfer will (generally speaking) never have to be redone.
Hope this helps,
:a
>
> i have a couple questions regarding the currently defined mapping of scsi
> on stp. im primarily thinking of stp running on gigabit ethernet. the
> SST standard defines the error recovery mechanism to be based on the
> transaction. a scsi transaction running on ethernet is likely to consist
> of a decent number of data frames, maybe on the order of 50 or so. my
> understanding of things is that the loss of a single data frame will
> require the entire transaction to be retried. am i correct in all
> this? one scenario which i would think would be fairly common is for an
> initiator to make data requests of a number of targets at the same
> time. if several targets respond at the same time you have a situation
> where multiple flows of data are arriving at the switch and are destined
> for the same port, resulting in packet loss if the switch's buffering is
> not sufficient. are there reasons why this sort of thing is not likely to
> occur? i am basically wondering what the reasons are for feeling that
> recovery at the level of a transaction is sufficient when running on a low
> level protocol such as ethernet. if it appears that i am misunderstanding
> something about STP or STT, which is quite possible, please correct me.
>
> chris
|