A disk controller integrated circuit for coupling to a processor of a SCSI peripheral device, said disk controller integrated circuit comprising:
- a sequencer instruction memory;
- means for sequencing through a sequence of sequencer instructions in said sequencer instruction memory;
- means for parsing information from fields of a SCSI command descriptor block and for storing said information into predetermined memory locations in said disk controller integrated circuit, said command descriptor block being part of a SCSI command received from a SCSI bus, said means for parsing being a dedicated state machine;
- means for storing into said disk controller integrated circuit initiator identification information of said SCSI command, for disconnecting from said SCSI bus, and for outputting said initiator identification information from said disk controller integrated circuit onto said SCSI bus when reconnecting to said SCSI bus;
- means for determining whether said SCSI command is an autotransfer command, for storing initiator identification information into said disk controller integrated circuit if said SCSI command is determined by said disk controller integrated circuit to be an autotransfer command, and for generating two interrupts to said processor during receipt and execution of said autotransfer command, one of said two interrupts being generated after said SCSI command is received onto said disk controller integrated circuit but before a data transfer bus phase is initiated, another of said two interrupts being generated upon completion of said SCSI command;
- means for determining whether said SCSI command is a type of an autotransfer command by comparing logical block address information of said SCSI command with logical block address information stored by said processor into said disk controller integrated circuit;
- means for counting a number of blocks transferred during said data transfer bus phase of said SCSI command, and
- means for determining whether a second SCSI data transfer command is received during execution of a first SCSI data transfer command.