|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: iSCSI: Flow ControlI do not understand the question of "Even if the SCSI layer uses RTT, what if ISCSI did not? What would be the result?", so I may be also misunderstanding the general issue. However, let me add my two cents to what I think I'm hearing. It appears to me that David Robinson is suggesting that there is no need for targets to ask for the data (RTT), the initiator should just send it immediately after the CDB. "Modern" RAID controllers with large amounts of memory can buffer it. I disagree with that line of thinking. SCSI has always had the target in control of when the data flowed, and for good reason. Regardless of the amount of cache the target has, the host can and *will* fill it up (disks are still slower than the transport). It is imperative for the target to be able to manage his own cache, and that includes being in control of timing of the data transfer. By having the target specify when the data is transferred you leave the data in the host until the target has space for it. If not, the data ends up in the transport layer with only flow control to slow it down, causing unneeded congestion. FC allows for the option of having data sent immediately after the CDB. However, there is a strict limit on the amount of data that can be delivered in that initial chunk (set via a mode page). If the Write is larger that what is allowed by the initial burst size, then the target uses XFER_RDY to ask for the remainder of the data. This type of scheme is acceptable because a target can set aside a chunk of data memory for each queue slot it has and use the XFER_RDY to manage the receipt of any data for that I/O that didn't fit in the pre-allocated buffer. (Of course you still have the queue-full management problem, but that is a separate problem than what I'm addressing here.) Charles Binford
> -----Original Message-----
Home Last updated: Tue Sep 04 01:07:08 2001 6315 messages in chronological order |