Patent ID: 6341315
Filing Date: 2002-01-22
Classification: G06F,H04L

Abstract:
A method for processing commands to a sequential access target device (â€œSATDâ€ ) through a SCSI router in a Fibre Channel network having a plurality of Fibre Channel hosts, comprising the steps of, in the SCSI router:(a) receiving a command from one of the plurality of Fibre Channel hosts; (b) if the command requires a data transfer smaller than a threshold size, storing the data in one or more memory buffers as they become available and forwarding the data to the SATD; and (c) if the command requires a data transfer larger than the threshold size, streaming the data to the SATD, wherein streaming the data to the SATD comprises: (1) determining if a preset size memory block is free; (2) if the preset size memory block is free, requesting a data block from the Fibre Channel host that issued the command, otherwise holding-off the Fibre Channel host that issued the command; (3) receiving the data block from the Fibre Channel host that issued the command and storing the data block in a FIFO queue; (4) repeating steps (1)-(3) until an initial number of data blocks are received and stored in the FIFO queue; (5) forwarding the command and a first data block in the FIFO queue to the SATD; (6) receiving a request from the SATD for a next data block; (7) forwarding the next data block in the FIFO queue to the SATD; (8) repeating steps (6)-(7) until a trigger number of data blocks remain in the FIFO queue; (9) requesting an additional data block from the Fibre Channel host that issued the command; (10) receiving the additional data block and storing it in the FIFO queue; (11) receiving a request from the SATD for the next data block and forwarding the topmost data block in the FIFO queue; and (12) repeating steps (9)-(11) until all the data has been transferred.