US5781803AExpiredUtility

System for storing initiator, queue tag and logical block information, disconnecting from target if command is not auto transfer, reconnecting and performing data transfer

58
Assignee: ADAPTEC INCPriority: Mar 1, 1994Filed: Jun 5, 1995Granted: Jul 14, 1998
Est. expiryMar 1, 2014(expired)· nominal 20-yr term from priority
G06F 3/061G06F 3/0659G06F 13/385G06F 13/126G06F 3/0676
58
PatentIndex Score
22
Cited by
32
References
3
Claims

Abstract

A hard disk controller integrated circuit of a SCSI target device comprises a sequencer which causes a SCSI bus to transition from a command bus phase to a data transfer bus phase during execution of an autoread or an autowrite SCSI command without waiting for a communication from a microprocessor of the SCSI target device. In some embodiments, the command is determined to be either an autotransfer command or a non-autotransfer command. If the command is a non-autotransfer command, then the sequencer does not proceed directly to the data transfer phase but rather requires microprocessor intervention before proceeding to the data transfer phase. In some embodiments, an autotransfer command (such as an autoread or an autowrite command) is carried out by the disk drive controller integrated circuit with only two interrupts being generated to the microprocessor: one after receiving the autotransfer command from the initiator; and one after data transfer of the autotransfer command is complete. The hard disk controller integrated circuit automatically sends the status byte and command complete message if there is no potential queue tag collision as indicated by a cleared tag not okay flag.

Claims

exact text as granted — not AI-modified
I claim: 
     
       1. A method of transferring data to a SCSI target device comprising: (a) receiving in the SCSI target device a SCSI data transfer command from a SCSI bus;   (b) determining in a disk controller integrated circuit of the SCSI target device whether the SCSI data transfer command is an autotransfer command;   (c) performing a data transfer for the SCSI data transfer command in the disk controller integrated circuit without waiting for a communication from a processor in the SCSI target device if said SCSI data transfer command is an autotransfer command; and   (d) disconnecting the SCSI target device from the SCSI bus before a data transfer for the SCSI data transfer command has started, without waiting for a communication from a processor in said SCSI target device, if the SCSI data transfer command is not an autotransfer command, and later reconnecting the SCSI target device to the SCSI bus and performing the data transfer, wherein said disk controller integrated circuit further comprises a plurality of registers, and wherein said SCSI data transfer command comprises initiator identification information, queue tag information, and logical block information, said method further comprising:     before (c) performing the data transfer, storing into said plurality of registers said initiator identification information and said queue tag information.   
     
     
       2. The method of claim 1, wherein said SCSI data transfer command is received in a first-in-first-out memory of said SCSI target device. 
     
     
       3. A disk drive device coupled to a SCSI bus, comprising: a processor; and   a disk controller integrated circuit, said disk controller integrated circuit comprising: a sequencer; and   a memory containing a plurality of instructions executable by said sequencer, at least one of said instructions having a branch condition, said sequencer determining whether a SCSI data transfer command is an autotransfer command and causing said SCSI bus to transition from a command bus phase to a data transfer bus phase without waiting for a communication from said processor when said branch condition is true, said branch condition being true if a SCSI command being executed by said sequencer is an autotransfer command, said branch condition being false if said SCSI command being executed by said sequencer is not an autotransfer command, wherein said SCSI command comprises initiator identification information, queue tag information, and logical block information, wherein said disk controller integrated circuit comprises a plurality of memory locations, and wherein said initiator identification information and said queue tag information are stored into said plurality of memory locations substantially when an instruction executed by said sequencer branches due to said branch condition being true.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.