home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1989-12-18 | 80.7 KB | 1,695 lines
Input Parameters: AH = 06H Output Parameters: AH = Status of Operation AL = First Drive Supported 80H Nonconcurrent operation 81H Concurrent operation CF = Return Code 6.3.7 Read Drive Parameters A SCSI READ CAPACITY command is used to determine the maximum logical block of the selected drive. This information is then used to calculate the proper number of cylinders to be returned to the host system. The number of heads returned will always be 64 and the number of sectors per track will always be 32. The number of drives returned will include both internally installed drives and SCSI drives. Input Parameters:AH = 08H DL = Drive Number (80H or 81H) Output Parameters:AH = Status of Operation DL = Number of BIOS accessible drives attached (1 or 2) DH = Maximum value for head number (3FH) CH = Maximum value for Cylinder Range (Low Byte) CL = Maximum value for Sector, High Cylinder Bits Bits 7,6 High Order Cylinder Bits Bits 5-0 Sector Number Maximum Value ( 20H) CF = Return Code 6.3.8 Initialize Drive Pair Characteristics This command performs no operation, since SCSI CCS drives are self configuring. Input Parameters: AH = 09H DL = Drive Number (80H or 81H) Output Parameters: AH = Status of Operation CF = Return Code 6.3.9 Seek A seek to the logical block address defined by the physical parameters is performed. The seek is performed using the SEEK (EXTENDED) command (SCSI Operation 2BH). The SEEK commands are not mandatory CCS commands and are not required for proper functioning of SCSI devices. If the addressed disk drive reports an error indicating that the SEEK (EXTENDED) command is not supported, the BIOS command will complete normally anyway. Since the seek operation is performed automatically by a Read or a Write operation, there is no need to generate a separate seek operation to access data. Input Parameters: AH = 0CH DL = Drive Number (80H or 81H) DH = Head CH = Cylinder CL = High Cylinder. (Sector bits = 0) Output Parameters: AH = Status of Operation CF = Return Code 6.3.10 Alternate Disk Reset The BIOS is requested to reset the disk subsystem. A SCSI Reset operation is performed on the SCSI bus if the bus is busy at the time the Reset Disk System command is received by the host adapter. No other SCSI or host adapter activity occurs. The BIOS command is then passed on to the standard BIOS so that any internally installed hard disks and floppy disk devices can also be reset. If the BIOS is operating concurrently with an internally installed hard disk, the drive number is decremented by the AHA-1540A/1542A BIOS so that the standard BIOS does not attempt to reset the drive that is not installed. Input Parameters: AH = 00H DL = Drive Number (80H or 81H) Output Parameters: AH = Status of Operation CF = Return Code 6.3.11 Test Drive Ready The BIOS command determines that the specified drive is available and ready by executing a TEST UNIT READY command (SCSI Operation Code 00H) to the SCSI device. The command may have to be executed a second time if a Unit Attention condition was detected in the first execution of the TEST UNIT READY. Input Parameters: AH = 10H DL = Drive Number (80H or 81H) Output Parameters: AH = Status of Operation CF = Return Code 6.3.12 Recalibrate The BIOS command transmits a REZER0 UNIT command (SCSI Operation Code 01H) to the specified drive. Since the REZERO UNIT command is not a mandatory command and is not required for proper functioning of the SCSI device, the BIOS command will complete without indicating an error even if the SCSI device indicates that the command is invalid. Input Parameters: AH = 11H DL = Drive Number (80H or 81H) Output Parameters: AH = Status of Operation CF = Return Code 6.3.13 Read DASD Type The AHA-1540 BIOS executes this command by performing an INQUIRY (SCSI Operation Code 12H) and a READ CAPACITY (SCSI Operation Code 25H) to the selected SCSI drive. The INQUIRY command is used to verify that the device is a Direct Access Storage Device. The READ CAPACITY is used to determine the number of logical blocks available. A special return format is used to obtain the required information. Input Parameters: AH = 15H DL = Drive Number (80H or 81H) Output Parameters:AH = Status of Operation (Special Format) 00H Drive not present or DL invalid 01H Reserved 02H Reserved 03H Fixed Disk installed CX,DX Number of 512 byte blocks available on disk CF = Return Code 7.1 PC/AT BIOS The PC/AT BIOS is provided to allow the user to use the AHA-1540A/1542A in lieu of, or in addition to, a standard PC/AT hard disk controller. This compatibility includes booting from a SCSI device. Hard disk requests are sent to the BIOS via an INT 13 software interrupt. CPU register contents specify the desired I/O function and associated parameters. The BIOS then uses host adapter commands to emulate PC/AT functions. Again, since the mailbox architecture is circumvented, PC/AT BIOS functions run in a single- threaded mode. The BIOS consists of three major functional components. These are: 1. Initialization Routine 2. System Boot Routine 3. Hard Disk I/O Routine 7.1.1 Initialization The Initialization routine is called at power-up. This routine performs all of the necessary initialization functions and will display the following message if the system successfully recognizes the AHA-1540A/1542A BIOS. ADAPTEC AHA-1540A/1542A HOST ADAPTER BIOS COPYRIGHT 1987 ADAPTEC, INC. ALL RIGHTS RESERVED. If any subsequent initialization of the AHA-1540A/1542A fails, the following message is displayed: HOST ADAPTER NOT FOUND AT PORT 330H. otherwise, the AHA-1540A/1542A BIOS chooses a course of action based upon the number and types of hard disks already installed. In each case, the number of hard disks already installed is displayed along with the ID numbers of any SCSI devices that are successfully used by the BIOS. Possible Messages: HARD DISK #0 ALREADY INSTALLED. HARD DISK #1 ALREADY INSTALLED. HOST ADAPTER DIAGNOSTIC FAILURE. SCSI DEVICE 0 : 0 NOT FOUND. USING SCSI DEVICE 0 : 0 AS HARD DISK #0. USING SCSI DEVICE 0 : 0 AS HARD DISK #1. USING SCSI DEVICE 0 : 1 AS HARD DISK #1. USING SCSI DEVICE 1 : 0 AS HARD DISK #1. NOTE: No error message is displayed if a second SCSI drive is not available. If the system reports an initial number of hard drives greater than 2, the following message is displayed: SYSTEM CONFIGURATION ERROR. The AHA-1540A/1542A BIOS allows the use of 0, 1, or 2 hard disks on the SCSI bus under DOS without a device driver. If 2 hard disks are attached to an internal hard disk controller, and are already recognized by the system, the BIOS does nothing. A device driver will be needed to access SCSI devices. If 1 hard disk is attached to an internal hard disk controller, and is already recognized by the system, the BIOS attempts to assign the SCSI device (Target : LUN) 0 : 0 as the second drive. (drive D:) If this is unsuccessful, an initialization error is reported to the system. If there are 0 hard disks attached to an internal controller, the BIOS attempts to assign the first SCSI device (Target : LUN) 0 : 0 as the first drive. (drive C:) If this is unsuccessful an initialization error is reported to the system. If successful, the BIOS attempts to assign another SCSI device as the second drive. (drive D:) Device 0 : 1 is tried first, and if that fails, device 1 : 0 is tried. There is no initialization error reported if a second drive is not available. 7.1.2 System Boot System boot is invoked by execution of an Interrupt 19. No interception of this interrupt is necessary, as the PC/AT BIOS manages the boot process. When the boot procedure attempts to read the boot track from drive C:, the AHA-154XA BIOS will respond if drive C: is a SCSI Drive. Only SCSI drive 0:0 can be assigned as a SCSI C: drive. Mother board BIOS's that use interrupt 13 to perform booting should boot normally from SCSI drives using the AHA- 154XA. 7.1.3 Hard Disk I/O The BIOS enables up to two SCSI drives to be accessed via interrupt 13 as described in Section 6. 7.2 XENIX/UNIX Drivers SCO Xenix and Unix, Interactive Systems Unix, and Microport Unix all support the AHA-1540A/1542A at the time of this publication. Please consult with these Operating System companies for more information on their products. 7.3 DOS Driver An optional DOS Driver is available that enables the AHA-1540A/1542A to access additional SCSI devices on the SCSI bus. When operating under DOS, a device driver is needed to access more than two hard disks, tape devices or other types of SCSI peripherals. In addition, DOS applications that use the virtual memory mode of the 80386 processor require this driver. If you are not running DOS programs that operate in the virtual 80386 mode, or if all DOS operations will be confined to two SCSI disks or one internal and one SCSI disk, a device driver is not needed because of the on-board BIOS. The DOS driver is installed by creating a DOS configuration (CONFIG.SYS) file that calls the device driver at boot time. Please refer to your DOS manual for information on creating a CONFIG.SYS file. At initial system loading, the AHA-1540A/1542A device driver will determine the number of hard disks attached to the system. The device driver is normally only installed if one of the following cases is true. 1) There are two internal hard disks and one or more SCSI disks. 2) There is one internal hard disk and two or more SCSI disks. 3) There are no internal hard disks and more than two SCSI disks. The following table shows how hard disks in a system are addressed: configuration c: d: device driver ┌────────────────────────┬────────────────┬───────────────┬──────────────┐ │two internal hard drives│ 1st int. disk │ 2nd int. disk │ SCSI │ │ │ │ │ devices │ ├────────────────────────┼────────────────┼───────────────┼──────────────┤ │one internal hard drive │ int. hard disk│ SCSI 0/0 │ other SCSI │ │ │ │ │ devices │ ├────────────────────────┼────────────────┼───────────────┼──────────────┤ │no internal hard drive │ SCSI 0/0 disk │ SCSI 0/1 │ other SCSI │ │ │ │ or 1/0 │ devices │ └────────────────────────┴────────────────┴───────────────┴──────────────┘ The SCSI disk drives that are accessed by the device driver are divided into 32 MB logical disks. There can be multiple logical disks on one physical SCSI disk drive. A utility program is also provided that performs the functions of the DOS FDISK and FORMAT utilities. This utility will perform FDISK and FORMAT to SCSI disks that can only be accessed through the device driver. These utility programs partition the disks and create file directories so that DOS files may be copied and accessed from SCSI drives. Please refer to your DOS manual for details of FDISK and FORMAT. SCSI 2 compatible and QIC 104 command set 1/4" tape drives are also be supported by the DOS device driver. The user accesses a SCSI tape drive by building a CCB as described in Section Five. The device driver passes the CCB to the AHA-1540A/1542A and instructs the AHA-1540A/1542A to complete the command. Software products such as Sytron Corporations SYTOS Tape Operating System automatically interface to the Adaptec AHA-1540A/1542A DOS driver. To install the driver into your boot routine, you must create, or edit the DOS configuration file named CONFIG.SYS. You can use any file editor to do this, or you can create it through the "COPY CON: CONFIG.SYS" DOS command. Refer to your DOS manual for more information on this command. Once installed, the driver operates transparently to the user. 7.3.1 DOS Driver Support of Virtual Mode The use of high performance 16-bit Bus Master DMA on the AHA-1540A/1542A SCSI host adapter may result in incompatible operation with application programs that use the 80386 virtual memory mode of operation. In real mode, the host adapter BIOS is passed a physical address. This is necessary since the host adapter controls all SCSI I/O without CPU intervention. This physical address may not be passed to the host adapter when the system is in the V86 mode. Programs that use the V86 mode can only be run on 80386 machines. The AHA-1540A/1542A DOS driver also allows this type of application program to run under DOS. 7.4 AHA-1540A/1542A On-board Utilities The AHA-154XA BIOS contains a utility program that allows the user to perform the several important functions. The utility programs are accessed using a self explanatory menu. The utilities are accessed using the DOS Debug function. To access the utilities, boot using a standard DOS system disk or diskette. When the DOS prompt symbol appears on the screen, enter the debug program by typing debug and pressing Enter. The debug program will load and present a new cursor, the - symbol. Enter the following line and press enter to invoke the On- board Utility program. G=dc00:6 If a BIOS base address other than DC000H is being used on the adapter to be tested, replace the dc00 parameter with the actual BIOS base segment. The segment is the upper 16 bits of the 20 bit BIOS base address. The menu options include the following items which are selected by pressing the index number of the menu function. (1) A list of all devices installed on the SCSI bus may be requested. This information is retrieved via a RETURN INSTALLED DEVICES host IOCP command, followed by INQUIRY commands to all available targets. (2) A device may be selected for execution of the following two functions. Pressing the '2' key toggles the selection from one installed device to the next. (3) A low level, or primary, format of the selected Target/LUN can be requested. A MODE SELECT is issued first to set the block size at 512 bytes per sector. Then a FORMAT command is issued which will format the drive with factory as well as grown defects. Only one SCSI drive can be formatted at a time. (4) Integrity of a target can be checked by verifying an entire drive. Any correctable errors found will automatically be handled through the SCSI Reassign Blocks Command. If any uncorrectable errors are found the user will first be asked via a screen prompt if reassignment of the effected block should be performed. (5) The user can leave the AHA-154XA On-board Utility functions and return to normal DOS operation. In addition to the On-Board Utilities, a DMA channel test also resides on the AHA-154XA BIOS. The test verifies that all DOS-available memory can be accessed correctly from the host adapter using first party DMA. The test takes from 2 to 10 minutes to execute, depending on the CPU speed and the amount of memory available. The test is invoked by entering the debug program as above and entering: G=DC00:9 The program then is activated and verifies each segment of the memory, indicating with screen messages as each segment is verified. The test runs indefinitely or until an error is detected. In most cases of error, the error information cannot be presented since the host operating system is likely to be compromised. The error symptom is usually a system crash. The test is halted by rebooting. 8.0 SCSI FEATURES 8.1 SCSI DESCRIPTION, INITIATOR MODE The AHA-1540A/1542A provides a very high performance SCSI interface connection. The host adapter meets the ANSI Standard X3.131-1986, describing the SCSI. The host adapter additionally meets conformance level 2 of the specification by implementing the following SCSI options: Accepts or manages the following messages: Command Complete Disconnect Message Reject Identify Save Data Pointer Performs arbitration The following alternatives are selected for the AHA-1540A/1542A SCSI interface connection from those described by X3.131-1986. Single-ended SCSI driver/receivers are used. The Termination Power is supplied through a removable fuse, allowing the user to select whether or not termination power is provided by the host adapter at installation time. Parity is always generated. Parity checking can be disabled through the jumper selection. The "Soft" Reset option is always performed by the AHA-1540A/1542A. If the user desires the "Hard" Reset, an interrupt servicing program that detects the SCSI Reset Detected interrupt in the Interrupt Flags Port must set the Soft Reset bit in the Control Port. This bit forces the host adapter to clear all SCSI related operations, but does not require execution of the diagnostic functions. If the Soft Reset bit has been set, the host software must re-initialize the AHA-1540A/1542A. Synchronous data transfer is supported. Negotiation for the synchronous transfer initiated by another SCSI device will be accepted by the AHA- 1540A/1542A at any time. If the jumper has been set to allow it, the AHA- 1540A/1542A will also initiate synchronous data transfer negotiation when it has detected that such negotiation may be required. Multitasking is fully supported. Modify Data Pointers is supported to allow Zero Latency Read operations. In addition to these SCSI functions, the SCSI Common Command Set at level 4B is also supported. While this document was never made a standard, it describes a widely available set of disk drive functions which are supported by the host adapter. The Host Adapter BIOS commands are all mapped in to SCSI CCS commands to allow the proper support of all the most common SCSI disk drives. The Adapter Command "Return Installed Devices" also uses CCS commands to determine which devices are available. The draft ANSI standard for SCSI-2 has been used as a reference for the implementation of all SCSI functions with the expectation that the host adapter will be fully compatible with the final version of the SCSI-2 standard. In particular, the Processor type device command set has been selected from the SCSI-2 manual for Target Mode operation. 8.1.1 Linked SCSI Commands The AHA-1540A/1542A supports linking of SCSI commands in initiator mode. When the link bit in the SCSI command control byte is set, the target will present either a 0A or 0B message at command completion. The AHA-1540A/1542A uses the the link pointer in a CCB to fetch another CCB. At the same time, the completed CCB status and address are stored in an MBI. If the target returns a 0B or 00 message, the AHA-1540A/1542A generates an interrupt to inform the host of the full MBI. If the target returns a 0A message, the MBIF interrupt is not posted until all linked commands are completed. The linked CCBs must address the same target and LUN since the target is not re- selected. 8.1.2 Zero Latency Read Operation The AHA-1540A/1542A implements Zero Latency operation through the use of modify data pointer messages. Zero Latency can eliminate rotational latency, depending on the length of the data transfer, by supporting out of order data transfers. This advanced feature is currently only implemented on the ACB-4525Z SCSI to ESDI controller, and is supported transparently to the user. Since the Adaptec host adapter family is the first to support Zero Latency Read operation, this section is intended to briefly explain the required target support. Please refer to the Adaptec ACB-4525Z SCSI to ESDI controller manual for complete details of Zero Latency Read operation. After seeking to the target track, the ACB-4525Z (ACB-4525Z is assumed since it is the first SCSI controller to implement this feature) will begin reading block IDs. If the first block ID is within range of the data transfer, but not the last block of the the data transfer, the ACB-4525Z will begin reading the subsequent blocks into its buffer. Before transferring data the ACB-4525Z will issue a MODIFY DATA POINTER message to the AHA-1540A/1542A. This supplies a positive argument that is added to the value of the current data pointer. The ACB-4525Z will now send this portion of the data transfer to the host. The ACB-4525Z will resume reading data into its buffer as soon as the first block of the data transfer is detected. Before sending this data to the host, the ACB-4525Z will issue a second MODIFY DATA POINTER message to the AHA-1540A/1542A which supplies a negative argument. This returns the data pointer to its original position. This guarantees that a data transfer of one track or less will never require more than a single revolution since data can now be transferred out of order. 8.1.3 SCSI Messages The AHA-154XA host adapter supports a number of special messages in addition to the messages required by meeting conformance level 2. Those messages are described in detail in the SCSI specification, X3.131-1986, and in this section where they are used. The messages are summarized in this table: FUNCTION MESSAGE CAUSED BY Standard Messages Command Complete Normal Sequencing Error Management Message Reject Invalid Messages Bus Device Reset Special CCB Abort Special MBO Disconnect / Reconnect Identify Normal Sequencing Disconnect Normal Sequencing Save Data Pointer Normal Sequencing Restore Pointers Special Sequencing/ZLR Synchronous Transfer Synchronous Data Transfer Initialization Sequencing Request Zero Latency Operation Modify Data Pointers ZLR Sequencing Linked Commands Linked Command Complete Command Linking Linked Command Complete Command Linking With Flag 8.2 SCSI DESCRIPTION, TARGET MODE 8.2.1 Initiator Conformance Level Requirements Initiators that execute commands against an AHA-1540A/1542A operating in Target Mode are required to have the following conformance levels, as described in Appendix E of the SCSI Specification, ANSI X3.131-1986. Conformance must be present with respect to each of the following items: The initiator must use single-ended drivers. Termination power may optionally be provided by the initiator, but must meet the SCSI specification in both its over-current protection and its reverse current diode protection. The terminators may be installed on the AHA- 1540A/1542A board or installed as in-line terminators at the cable connectors. The implementation of parity is optional, but desirable. The initiator may support either "hard" reset or "soft" reset. All attached devices must support the same type of reset. The initiator must meet the requirements of conformance level two. In particular, all LUN addressing must be performed by the IDENTIFY message, not by the LUN field in the CDB. Disconnection and reconnection must be supported. The initiator and target functions have the same SCSI ID. 8.2.2 Support of Synchronous Transfer Synchronous transfer is supported by the AHA-1540A/1542A in target mode without any instruction or support from the system processor. If an initiator invokes a synchronous transfer negotiation, the AHA-1540A/1542A will complete the negotiation of the required transfer offset and period. If the proper jumper has been set, the AHA-1540A/1542A will also attempt to negotiate synchronous transfer during the initial selection period of the first command after an initialization or after a SCSI reset. 8.2.3 SCSI Target Operation in Processor Target Mode When the AHA-1540A/1542A has been set to respond in Processor Target Mode, the host adapter appears on the SCSI bus as a normal processor type device as defined by the SCSI specification. From one to eight LUN's may be supported, depending on the LUN mask byte in the Enable Target Mode command. Five SCSI commands are accepted: TEST UNIT READY REQUEST SENSE INQUIRY SEND RECEIVE All other commands are rejected with CHECK CONDITION status. The sense information will indicate a Sense Key of 05H (Illegal Request) with a Sense Code of 20H (Invalid Command Operation Code). The commands that do not perform data transfer to or from the host are handled completely by the AHA-1540A/1542A with no CCB communication with the host system. Those commands are the TEST UNIT READY, REQUEST SENSE, and INQUIRY commands. The SEND and RECEIVE commands must have a CCB from the host with the proper direction bits, the proper initiator address, and the proper LUN number to complete the SCSI operation. The SEND and RECEIVE CCBs may be provided to the host adapter before a command is received on the SCSI or may be requested after the command is received. Each time an initiator activates a command to the AHA-1540A/1542A, an internal sub-channel is activated to manage the command. The sub-channel is dedicated to that particular LUN-Initiator transaction until all operations associated with the command are completed. Such operations include disconnection to obtain a CCB, pending error conditions, and linked operations. If all sub-channels are busy, a selection to the AHA-1540A/1542A will result in the AHA-1540A/1542A accepting the command and then generating BUSY status immediately. If this occurs, the initiator must re-issue the command later. 8.2.3.1 TEST UNIT READY bit 7 6 5 4 3 2 1 0 byte┌──────────────────────────────────────────────┐ 0 │ ├test unit ready code(00)──────────────────┤│ ├──────────────────────────────────────────────┤ 1 │ ├LUN(unused=0)──┤├──────reserved(00)───────┤│ ├──────────────────────────────────────────────┤ 2 │ ├────────────────reserved(00)──────────────┤│ ├──────────────────────────────────────────────┤ 3 │ ├────────────────reserved(00)──────────────┤│ ├──────────────────────────────────────────────┤ 4 │ ├────────────────reserved(00)──────────────┤│ ├──────────────────────────────────────────────┤ 5 │ ├──────────reserved(00)─────────├flag┤├link┤│ └──────────────────────────────────────────────┘ The TEST UNIT READY command follows the SCSI specification in all respects. If the AHA-1540A/1542A has been initialized by the Enable Target Mode command to the Processor Target Mode, the command will finish normally with GOOD status and a COMMAND COMPLETE message. The host adapter supports the normal definition of UNIT ATTENTION on the first operation after power on, after a SCSI Reset, or after a BUS DEVICE RESET. If a TEST UNIT READY command is executed against an LUN which was not allowed by the Enable Target Mode command, then CHECK CONDITION status will be presented with sense data of Sense Key 5 (Invalid Request) and an Error Code of 25H (Invalid LUN). 8.2.3.2 REQUEST SENSE bit 7 6 5 4 3 2 1 0 byte┌──────────────────────────────────────────────┐ 0 │ ├request sense operation code (03h)────────┤│ ├──────────────────────────────────────────────┤ 1 │ ├LUN(unused(00)─┤├──────reserved(00)───────┤│ ├──────────────────────────────────────────────┤ 2 │ ├────────────────reserved(00)──────────────┤│ ├──────────────────────────────────────────────┤ 3 │ ├────────────────reserved(00)──────────────┤│ ├──────────────────────────────────────────────┤ 4 │ ├────────────────reserved(00)──────────────┤│ ├──────────────────────────────────────────────┤ 5 │ ├─────────reserved(00)──────────├flag┤├link┤│ └──────────────────────────────────────────────┘ If the AHA-1540A/1542A has returned CHECK CONDITION status to a previous command, the REQUEST SENSE command will obtain the sense information associated with the error. The sense information will be sent in the extended sense format according to the SCSI standard. The data format is given in the following figure: bit 7 6 5 4 3 2 1 0 byte┌──────────────────────────────────────────────┐ 0 │ ├error code(07h orf0h)─────────────────────┤│ ├──────────────────────────────────────────────┤ 1 │ ├────────────reserved(00)──────────────────┤│ ├──────────────────────────────────────────────┤ 2 │ ├───00────┤├ilf┤├──0──┤├──sense key────────┤│ ├──────────────────────────────────────────────┤ 3- │ ├───────────information bytes──────────────┤│ │ │ 6 │ ├───────────(residue)──────────────────────┤│ ├──────────────────────────────────────────────┤ 7 │ ├─────────additional sense bits────────────┤│ ├──────────────────────────────────────────────┤ 8- │ ├─────────reserved(00000000h))─────────────┤│ │ │ 11 │ ├──────────────────────────────────────────┤│ ├──────────────────────────────────────────────┤ 12 │ ├─────────additional sense code────────────┤│ ├──────────────────────────────────────────────┤ 13 │ ├─────additional sense code qualifier(00h)─┤│ └──────────────────────────────────────────────┘ The following errors are detected and presented by the AHA-1540A/1542A while operating in Processor Target Mode: Error Sense Additional Sense Key Code No Sense Data 00 00 Invalid Command Operation Code 00 20 Invalid LUN 05 25 Invalid Command Parameter 05 26 Power Up Attention 06 29 Reset Attention 06 29 Interface Parity Error 0B 47 Initiator Detected Error 0B 48 Dumb Initiator 05 2B One set of error data may be buffered for each initiator - LU association possible, up to a total of 56 sets of sense data. No Contingent Allegiance or Extended Contingent Allegiance state is established. The Error Code (Byte 0) will be F0h if the residue field is valid and 70h if the residue field has no information. The Incorrect Length Indicator (ILI) will be set if an incorrect data transfer length is executed as described in Section 8.2.4. The residue is set equal to the transfer length requested in the initiator CDB minus the target host's specified data length specified as a four-byte two's complement number. 8.2.3.3 INQUIRY bit 7 6 5 4 3 2 1 0 byte┌──────────────────────────────────────────────┐ 0 │ ├Inquiry Operation code(12h)───────────────┤│ ├──────────────────────────────────────────────┤ 1 │ ├LUN(unused=00)─┤├──reserved(00)───────────┤│ ├──────────────────────────────────────────────┤ 2 │ ├───────────reserved(00)───────────────────┤│ ├──────────────────────────────────────────────┤ 3 │ ├───────────reserved(00)───────────────────┤│ ├──────────────────────────────────────────────┤ 4 │ ├───────────Allocation lenth───────────────┤│ ├──────────────────────────────────────────────┤ 5 │ ├───────────reserved(00)─────────├flag┤├link┤ └──────────────────────────────────────────────┘ The INQUIRY command provides the information necessary to uniquely identify the Adaptec AHA-1540A/1542A as a Processor-type device. The information is returned in the SCSI-2 format. The following information is returned to any selecting initiator from any selected AHA-1540A/1542A Logical Unit: bit 7 6 5 4 3 2 1 0 byte┌──────────────────────────────────────────────┐ 0 │Peripheral qual'er┤├processor device type(03h┤│ ├──────────────────────────────────────────────┤ 1 │ ├───────────reserved(00)───────────────────┤│ ├──────────────────────────────────────────────┤ 2 │ ├───────────reserved(00)───┤├ ansi ver(02)─┤│ ├──────────────────────────────────────────────┤ 3 │ ├────────Response data format(02h)─────────┤│ ├──────────────────────────────────────────────┤ 4 │ ├───────────Additional lenth(1Dh)──────────┤│ ├──────────────────────────────────────────────┤ 5 │ ├───────────reserved(00)───────────────────┤│ ├──────────────────────────────────────────────┤ 6 │ ├───────────reserved(00)───────────────────┤│ ├──────────────────────────────────────────────┤ 7 │ ├─0─┼──0──┼──0───┼syn=1│lnk=1├─0─┼──0──┼──0─┤│ ├──────────────────────────────────────────────┤ 8- │ ├───Vendor Identification(ascII)───────────┤│ │ │ 15 │ ├─────────Adaptec bbb──────────────────────┤│ ├──────────────────────────────────────────────┤ 16- │ ├────Product identification(asc11)─────────┤│ │ │ 31 │ ├────────AHA-1540bbbbbbbb──────────────────┤│ ├──────────────────────────────────────────────┤ 32- │ ├────Product Revision level(asc11)─────────┤│ │ │ 35 │ ├──────────────────────────────────────────┤│ └──────────────────────────────────────────────┘ If the INQUIRY command is attempted against a Logical Unit that has not been enabled as a target, byte 0 is returned as 23h, indicating that the LUN is not installed, but would be a Processor Device if it were installed. The remaining bytes are returned normally. If a length shorter than the required 36 bytes is specified by the INQUIRY command, the number of bytes specified by the command is transferred. If a length longer than 36 bytes is specified, the command will only transmit 36 bytes. 8.2.3.4 SEND bit 7 6 5 4 3 2 1 0 byte┌──────────────────────────────────────────────┐ 0 │ ├────Send Operation code 0A)───────────────┤│ ├──────────────────────────────────────────────┤ 1 │ ├LUN(unused=00)─┤├──reserved(00)───────────┤│ ├──────────────────────────────────────────────┤ 2 │ ├──────Transfer lenth(msb)─────────────────┤│ ├──────────────────────────────────────────────┤ 3 │ ├──────Transfer lenth──────────────────────┤│ ├──────────────────────────────────────────────┤ 4 │ ├──────Transfer lenth(lsb)─────────────────┤│ ├──────────────────────────────────────────────┤ 5 │ ├───────────reserved(00)─────────├flag┤├link┤ └──────────────────────────────────────────────┘ The SEND command has the format specified by the SCSI standard. The SEND command transfers data from the initiator to the target. The information is placed in the area specified by the appropriate CCB. If an appropriate CCB has not already been provided to the host adapter by the host software, an MBI entry requesting the appropriate CCB is sent to the host from the host adapter. In this case, the target host adapter disconnects from the SCSI until the CCB is made available to the host adapter through the MBO protocol. An appropriate CCB must have the same initiator address, target LUN, and direction as is required to complete the command. The transfer length in the SEND command specifies the length in bytes of data that is sent during the DATA OUT phase. A transfer length of zero indicates that no data is sent. Management of incorrect length transfers is described in Section 8.3.2.6. The CDB information is included in the returned CCB so that the receiving host programming can determine whether or not the information transmitted by the SEND command was application data or asynchronous event notification data. 8.2.3.5 RECEIVE bit 7 6 5 4 3 2 1 0 byte┌──────────────────────────────────────────────┐ 0 │ ├────Receive Operation code(08h)───────────┤│ ├──────────────────────────────────────────────┤ 1 │ ├LUN(unused=00)─┤├──reserved(00)───────────┤│ ├──────────────────────────────────────────────┤ 2 │ ├──────Allocation lenth(msb)───────────────┤│ ├──────────────────────────────────────────────┤ 3 │ ├──────Allocation lenth────────────────────┤│ ├──────────────────────────────────────────────┤ 4 │ ├──────Allocation lenth(lsb)───────────────┤│ ├──────────────────────────────────────────────┤ 5 │ ├───────────reserved(00)─────────├flag┤├link┤ └──────────────────────────────────────────────┘ The RECEIVE command has the format specified by the SCSI standard The RECEIVE command transfers data from the target to the initiator. The information is taken from the area specified by the appropriate CCB. If an appropriate CCB has not already been provided to the host adapter host software, an MBI entry requesting the appropriate CCB is sent to the host from the host adapter. In this case, the target host adapter disconnects from the SCSI until the CCB is made available to the host adapter through the MBO protocol. An appropriate CCB must have the same initiator address, target LUN, and direction as is required to complete the command. The transfer length in the RECEIVE command specifies the length in bytes of data that is sent during the DATA IN phase. A transfer length of zero indicates that no data is sent. Management of incorrect length transfers is described in section 8.3.2.6. 8.2.4 Incorrect Length Management for Target Mode Operation The messages transmitted using the SEND and RECEIVE commands are normally expected to have a length that has previously been agreed to by the initiator system software and by the target system software. If the transfer length specified by the command is equal to the transfer length specified by the CCB, normal operation takes place and no errors are posted. If the transfer length specified by the initiator's command is shorter than the space defined by the target CCB, all data bytes expected and required by the initiator will be transmitted. The target AHA-1540A/1542A will indicate GOOD status on the SCSI at the end of the transfer. The target system's software however must be notified that the entire area of data defined by the CCB was not transmitted. A Target Status of GOOD will be presented in the returned CCB. At the same time, the Incorrect Length Indication bit (bit 5 of byte 2) will be set in the CCB Request Sense data area. Bytes 3 through 6 of the Request Sense data area will contain the residue in two's complement notation of the length requested in the initiator command minus the length of the data area defined by the CCB. In this case, the residue will be a negative number, since the requested length was less than the area specified by the CCB. The HA status stored in the CCB will be 12h, indicating a Data Over/Under Run. The MBI Status Byte will be set to 04 to indicate that the CCB was completed with an error. If the transfer length specified by the initiator's command is longer than the space defined by the target CCB, only those bytes contained within the CCB's data transfer area will be transmitted. The target AHA-1540A/1542A must indicate with an error condition to the initiator that not all the requested bytes could be transferred. The target AHA-1540A/1542A presents a SCSI status of CHECK CONDITION at the end of the data transfer. The Request Sense information transmitted to the initiator as a result of an immediately following REQUEST SENSE command indicates that an Incorrect Length Indication is present by setting bit 5 of byte 2. Bytes 3 through 6 of the Request Sense information transmitted to the initiator will contain the residue in two's complement notation of the length requested in the initiator command minus the length of the data area defined by the target CCB. In this case, the residue will be a positive number, since the requested length was greater than the available area. The target system's software must also be notified that the transfer length requested by the initiator exceeded the assigned buffer area. A Target Status of CHECK CONDITION will be presented in the returned target CCB. A Host Status of '12'h will be returned indicating a Data Over/Under Run. At the same time, the information that will later be posted to the initiator by the REQUEST SENSE command will be posted to the target system in the CCB Request Sense data area. This includes both the Incorrect Length Indicator and the Residue. The MBI Status Byte will be set to 04 to indicate that the CCB was completed with an error. 9.1 FLOPPY DISK INTERFACE The floppy disk controller allows the attachment of any standard IBM compatible floppy disk drive to the AHA-1542A. The floppy disk controller is accessed by the standard IBM compatible BIOS through the standard IBM compatible floppy diskette program interface. The floppy disk controller section of the host adapter is completely independent of the host adapter function. The floppy disk controller section can be disabled by removing jumper J13 as described in section 3.4.2. The base address and interrupt and DMA channels can be modified by jumpers as described in section 3.4. A floppy disk is attached to the host adapter using a 34 pin ribbon cable connector as specified in section 1.4. The pin out of the cable is described here, although that is usually not necessary, since all standard floppy disk drives have the same pin out. Some systems choose to use the same address for all floppy disk drives and to twist the cable, pins 10-16, to switch the address lines at the drive. Signal Name Pin Pin Signal Name Ground 1 2 -LD Ground 3 4 Reserved Ground 5 6 Reserved Ground 7 8 -INDEX Ground 9 10 MOTOR ENB DRIVE A Ground 11 12 DRIVE SELECT B Ground 13 14 DRIVE SELECT A Ground 15 16 MOTORO ENB DRIVE B Ground 17 18 -DIRECTION Ground 19 20 -STEP Ground 21 22 -WRITE DATA Ground 23 24 -WRITE ENABLE Ground 25 26 -TRACK 0 Ground 27 28 -WRITE PROTECT Ground 29 30 -READ DATA Ground 31 32 -HEAD SELECT Ground 33 34 -DSKCHNG 10.0 PROBLEM DETERMINATION 10.1 Self Diagnostic Capability The AHA-1540A/1542A executes self diagnostics upon power up or after a hard reset. These diagnostics test the CPU operation, perform a sum check on the EPROM, and check the data transfer paths on the board. The host system has the option of exercising more extensive diagnostics involving reads and writes to memory. The red light emitting diode (LED) on the host adapter indicates the result of the self diagnostic process. When power is first applied to the board, the LED turns on. If the board is operating normally, the light will soon go off and stay off until SCSI or I/O port activity is requested by the host. If the board is not operating correctly, a flash code number is flashed on the LED to indicate which test failed. The flash code number is indicated by a series of 1 to 6 closely spaced flashes followed by a longer pause. The flash code is repeated continuously until the board is powered off, reset, or repaired. The SCSI interface should be disconnected if these diagnostic tests are being run for fault isolation purposes. At least one set of terminators must remain installed or the LED will stay on, indicating that the AHA-154XA is receiving an active RST signal. Continuous execution of the diagnostics can also be forced by inserting the diagnostic jumper (pin-pair 2 in jumper J1). The flash code and associated failure modes are indicated in the following table. TABLE OF FLASH CODES FLASH CODE POSSIBLE MEANINGS OF FLASH CODE LED Remains On Host Adapter Control Processor inoperative/terminators missing or not powered. 1 Flash Firmware EPROM check sum failed. 2 Flashes RAM test failed. 3 Flashes AIC-6250 SCSI protocol chip verification failed 4 Flashes FIFO read data path test failed. 5 Flashes FIF write data path test failed. 6 Flashes Channel 2 test failed. If any of these failure conditions is identified, the host computer should be powered down, the host adapter removed, and the host adapter inspected for physical damage. Such damage can include EPROM's that are not correctly installed or not firmly seated, broken wires, missing or damaged components, or conductive debris on the board. If no such physical damage is found, the AHA-154XA should be returned for repair. All boards are fully tested, burned in, cleaned, and inspected before they are shipped. Care should be taken to keep the board in its protective conductive wrapping until it is installed. With these simple precautions, mechanical damage can normally be avoided. 10.2 INDICATORS The red light emitting diode (LED) on the AHA-154XA is used to provide the fault isolation information described above. In addition, the LED indicates when the host adapter is performing activities on the host interface and the SCSI interface. The LED is such a useful activity indicator that a connector is made available on the host adapter to allow the cable to an externally visible LED to be attached. (See Section 3.3.9). As an activity indicator the LED is turned on from the time that an Adapter Command is transmitted to the host adapter until the HACC interrupt is generated to indicate that the Adapter Command is complete. In addition, the LED will be turned on whenever SCSI bus activity is occurring. This is roughly the same period of time that the SCSI BSY signal is present on the SCSI bus. If the light stays on when no activity is expected to be present on the bus, it is possible that the bus is hung, the processor has failed, that unexpected activity is occurring, or that the SCSI cables are incorrectly installed. If the SCSI cables are installed reversed, the host adapter is forced in to a solid SCSI reset state which halts normal operation. 10.3 PROBLEMS DETECTED DURING OPERATION The information in section 10.3 is not intended for routine users of the AHA-1502A/1542A. It is intended to provide a reference for programmers preparing device drivers, error recovery procedures, and error information presentation programs. Operation of the I/O Port interface is controlled and monitored by host system software. Two bits in the Status Port (Base + 0), described in section 4.2.1, are provided to indicate unusual conditions in the host adapter. Internal Diagnostic Failure (Status Port, bit 6): This bit indicates that the self testing process after either a hard reset or a power on operation was terminated by an error condition. The error indicates that a critical failure was found in the AHA-154XA control circuitry or data paths. The error should be presented to the host video display to indicate that diagnostic actions are required. The diagnostic action uses the host adapter diagnostic flash codes to determine if the AHA-154XA is failing. The host system should be powered off, then opened so that the LED can be observed. All SCSI cables, both external and internal, should be removed from the host adapter. The system should then be powered on. If the LED flashes once and turns off, the host adapter has passed its diagnostics and should be accessible again. If the LED flashes one of the error flash codes, the AHA- 154XA should be replaced. If the LED remains on and does not turn off, the host adapter is not able to begin operation at all. The host system may be holding the AHA-154XA in the reset state or the host adapter may have failed. To distinguish these two cases, the AHA-154XA should be replaced and the new host adapter operation should be verified. Be sure to power down the host system when removing or replacing the host adapter. If the diagnostics indicate that the AHA-154XA must be replaced, it should be sent to an authorized service facility for repair. Invalid Host Adapter Command (Status Port, bit 0): This bit is set to indicate that a command or parameter transmitted to the host adapter was invalid. This is an indication that the host software, usually an operating system, special application program, or device driver, has generated an invalid request. The responsible programming organization should be notified so that the invalid sequence or parameter can be corrected. 10.3.1 HA Status Error Indications and Corrective Actions The Host Adapter Status indications, in addition to indicating several normal completion states, indicate three general groups of errors. One set describes software errors in the requests made to the host adapter. Even though most of these errors are caused by software design problems, the AHA- 154XA may need to be replaced as an isolation step, since there exists a small chance that hardware failures in the AHA-154XA cause the appearance of a software error. A second set describes errors detected by the host adapter firmware in the host adapter hardware. The most likely failing component in this case is the AHA-154XA, although certain system or cable failures may generate the appearance of a host adapter hardware error. A third set describes the appearance of unexpected or incorrect sequences executed by the attached SCSI devices. In this case, the cables are the most likely failure point, with the peripheral device second and the AHA-154XA third. The host adapter status code should be returned to the host video display to indicate to the operator what errors have occurred and under what conditions the errors occurred. The following section describes those Host Adapter Status indications that indicate an error. NUMBER TYPE ERROR DESCRIPTION AND CORRECTIVE ACTION 11 SCSI NO Selection Time Out: The SCSI attempted to select a device that was not installed or that did not respond to selection due to a power, parity or addressing failure. Verify correct address values set to SCSI devices. Verify that SCSI cable routing includes the required devices. Verify SCSI cable integrity by replacement of cables. Verify that SCSI Selection Time Out value has been correctly established by Adapter Command. 12 HOST NO Data Over Run / Under Run: Data length or direction specified by CCB did not agree with the data length actually provided by the attached peripheral device. Often a normal error or accompanied by a check condition indicating transfer truncation. Verify program requested correct length or direction. Verify peripheral provided expected data length, number of blocks, or block length. NUMBER TYPE ERROR DESCRIPTION AND CORRECTIVE ACTION 13 SCSI YES Unexpected Bus Free: The target dropped BSY without executing the proper messages first. This normally indicates that the BSY and/or other portions of the SCSI bus failed or that the target encountered such an invalid sequence that no recovery was possible. Some targets may have sense information available to qualify the error condition. Verify SCSI cable integrity. Verify SCSI cables are all properly connected. Replace SCSI cables. Replace peripheral. Replace AHA-154XA. 14 SCSI YES Target bus phase sequence failure: The initiator detected an invalid phase or an invalid phase sequence. If this occurs, it is likely that the host adapter forces a SCSI reset on the bus as the first phase of the recovery process. Verify SCSI cable integrity. Verify SCSI cables are all properly connected. Replace SCSI cables. Replace peripheral. Replace AHA-154XA 15 HOST YES MBO Command Byte invalid: This indicates a software failure or bug in the host's development of the MBO entry. Generally, this indication will only occur during initial debug processes of new operating systems. Replace the AHA-154XA. Replace the host computer system. Contact the software developer for design support. 16 HOST YES Invalid CCB Operation Code: This indicates a software failure or bug in the host's development of the CCB. Generally, this indication will only occur during initial debug processes of new operating systems. Replace the AHA-154XA. Replace the host computer system. Contact the software developer for design support. 17 HOST YES Linked CCB does not have same LUN: This indicates that the host software generated an invalid combination of link commands. Generally, this indication will only occur during initial debug processes of new operating systems. Replace the AHA-154XA. Replace the host computer system. Contact the software developer for design support. NUMBER TYPE ERROR DESCRIPTION AND CORRECTIVE ACTION 18 HOST YES Invalid Target Direction Parameters received from Host: This indicates that the host software generated an invalid Target Direction Parameter. Generally, this indication will only occur during initial debug processes of new operating systems. Replace the AHA- 154XA. Replace the host computer system. Contact the software developer for design support. 19 HOST YES Duplicate CCB Received in Target Mode: This indicates that the host system was not keeping correct management information for target mode operation and incorrectly generated a second CCB identical to one already active. Generally, this indication will only occur during initial debug processes of new operating systems. Replace the AHA-154XA. Replace the host computer system. Contact the software developer for design support. 1A HOST YES Invalid CCB Parameter or Segment List: A segment list was presented to the host adapter with a zero length segment or invalid segment boundaries. An invalid CCB parameter was presented to the host adapter. Generally,this indication will only occur during initial debug processes of new operating systems. Replace the AHA-154XA. Replace the host computer system. Contact the software developer for design support. 10.3.2 SCSI Error Indications and Corrective Actions Error conditions detected by SCSI peripherals usually cause a CHECK CONDITION Status byte to be presented. When this is presented, the host adapter automatically retrieves the sense information from the SCSI peripheral by executing a REQUEST SENSE command according to the SCSI standard. The information returned is mapped for single-threaded BIOS operation into the categories of error conditions described in section 5.2.2. For multitasking (mailbox) operation, the information returned is made available in the area allocated for Sense Data. In either case, an intelligent attempt is made by most operating systems to retry the operation at least one time. Such retry operations may require the management of queued operations that have already started execution. This attempt to retry the operation is rarely successful, since SCSI peripheral devices have very extensive automatic retry and correction mechanisms designed to be executed before the error information is returned in the first place. Since it is rare that such an operation is successful, the host software and operating systems should make every attempt to make available key information about the error which can be analyzed by the system operator or customer engineer. In small systems, it may be sufficient to present the important Sense Data together with the command that created the error. Some simpler systems may perform a preliminary analysis of the error information and generate a code or descriptive text that describes the error and indicates the corrective action. In very complex systems, a logging process may take place, allowing a customer engineer to analyze the data at some future time. In all systems, such information is very important for host program verification and for system integrity verification, even if the designers choose not to make the information available to any system users other than the design and maintenance engineers. The SCSI Sense Data is generally self descriptive. The errors can be mapped in to four major categories, each category with its own diagnostic procedure. The first category includes those errors caused by incorrect command or parameter bytes or by incorrect sequences of commands. These errors typically are presented only during the early development stages of an operating system or device driver, since a properly operating program will not generate invalid commands. The second category includes those sense codes associated with peripheral status presentation. Such sense codes are not truly errors, in that they inform the host program of an unusual but not unexpected condition. Such sense codes include indications that a device is not ready, that the device has just become ready, that a device has reached the end of its media (End of Tape or Blank Check), or that the expected data length and actual data length differed. These sense codes are normally used by the device driver to execute the correct operation in response to the condition. Such sense codes are not normally presented to the system user except as text that requests some action. As one example, an End Of Tape condition may require the system user to replace the tape cartridge. The third category of errors points to a particular hardware failure in the peripheral device or its supporting electronics. Such error conditions usually require the adjustment, repair, or replacement of the peripheral device or some of its components. In some cases, the error condition may also indicate possible cable or host adapter failures. These errors must be exposed to the system user so that the proper actions can be taken. The fourth category of errors points to a media failure in the peripheral device. Such errors include bits that cannot be recovered from magnetic media and imperfections in the surface of optical media. Most such errors are recovered using the extensive retry and correction algorithms programmed into the peripheral device. In some peripheral device technologies, the errors may be caused by noise conditions or by marginal electronic failures in the read or write path. Those rare errors that cannot be recovered usually indicate that some data important to the operating system or application has been lost. The system must make this error information available to the system user so that the system user can replace the media or recover the data from a back up copy as required. In addition, logging of errors that were successfully recovered by the peripheral device is often useful as an indicator of the overall reliability of the device or of the requirement for periodic maintenance. 10.4 PROBLEMS DETECTED DURING INSTALLATION This section may be useful to correct problems related to installation. The information in this section is included in the Host Adapter Installation Guide. If the system will not boot from the flexible diskette drive after initial hardware installation the following items should be checked: AHA-1540A/1542A internal diagnostics: The LED on the AHA-1540A/1542A should come on briefly at system power up. If the LED begins to blink at regular intervals then the host adapter has detected an internal failure and should be returned for repair or replacement to the place of purchase. A message may also be posted to the screen. If the AHA-1540A/1542A LED and the SCSI drive LED are always on, the SCSI cable's pin 1 orientation has probably been reversed between the host adapter and the drive. See section 3.2. Is the AHA-1540A/1542A BIOS message displayed on the screen? If not, the AHA-1540A/1542A BIOS is not being recognized by the system. a) Check for BIOS address conflicts between the AHA-1540A/1542A and other option boards. b) Try a different BIOS address. See section 3.3. c) Change the BIOS wait state jumper. See section 3.3. If the HOST ADAPTER NOT FOUND AT PORT 330H message is displayed check the AT port address jumper setting. Also verify that the SCSI cable is correctly installed. A forced SCSI reset caused by an inverted or displaced internal SCSI cable may cause the problem. See Section 3.3. Problems Booting the System from a SCSI drive: Make sure that both standard hard disks are mapped out of the system by using the AT SETUP program. Make sure that the SCSI boot drive address is set to SCSI ID 0:0. Check the drive installation manual for information about setting the SCSI ID for that device. The Return Installed Devices utility in the Onboard Utilities can also be used to determine the SCSI addresses of peripherals on the SCSI bus. Make sure that SCSI parity is consistently enabled or disabled on all devices on the SCSI bus. Verify that the host adapter and the SCSI devices are properly configured and installed by referencing Section 3. Power should be cycled off and on after changing any values on a HA, Setup program, or SCSI device to be sure that a DOS format operation has been successfully completed. Make sure that the SCSI bus is properly terminated. Make sure that the intended boot disk has an active DOS partition and a DOS format. See section 3.0 and the DOS manual for more information. Problems using a SCSI drive as drive D: with a standard hard disk as drive C: Make sure that the second hard disk is mapped out of the system with the AT SETUP program. Make sure that the SCSI drive to be used as drive D: is set to SCSI ID 0:0. Check the drive manual for information on setting the SCSI ID for that device. The Return Installed Devices utility in the Onboard Utilities can also be used to determine the SCSI addresses of peripherals on the SCSI bus. Make sure that SCSI parity is consistently enabled or disabled on all devices on the SCSI bus. Verify that the host adapter and the SCSI devices are properly configured and installed by referencing Section 3. Power should be cycled off and on after changing any values on an HA, Setup program or SCSI device to be sure that the new initial values are loaded. Make sure that the SCSI bus is properly terminated. See Section 3. Make sure that the disk has a DOS partition and a DOS format. See section 5.0 and the system DOS manual for more information. Problems using a SCSI drive as drive D: with another SCSI drive as drive C: Make sure that both standard hard disks are mapped out of the system with the AT SETUP program. Make sure that the SCSI drive to be used as drive D: is set to SCSI ID 0:1 or 1:0. Check the drive manual for information on setting the SCSI ID for that device. The Return Installed Devices utility in the Onboard Utilities can also be used to determine the SCSI addresses of peripherals on the SCSI bus. Power should be cycled off and on after changing any values on an HA, Setup program or SCSI device to be sure that the new initial values are loaded. Make sure that SCSI parity is consistently enabled or disabled on all devices on the SCSI bus. Verify that the host adapter and the SCSI devices are properly configured and installed by referencing section 3. Make sure that the SCSI bus is properly terminated. See section 3. Make sure that the disk has a DOS partition and a DOS format. See section 3.0 and the DOS manual for more information. System works erratically. Hangs or the host adapter can't always find the drives. Check SCSI parity for consistency. Check Termination. Check cable length and integrity. If host adapter and drive light remain on during a hang condition, make sure that the SCSI drive conforms to the Common Command Set revision 4B. (CCS 4B) If only the host adapter LED remains on during a hang, it is probably a host adapter, system interface problem. The system may not be capable of First Party DMA transfers. Check with the System manufacturer for information. Adapter Command-A command transmitted to the host adapter using the Command/Data Out Port and the Data In Port. The commands are sequenced using the Control Port, the Status Port, and the Interrupt Flag Port. Abbreviated as IOCP command. AEN-See Asynchronous Event Notification AHA-AHA-1540A-Adaptec Host Adapter for connecting SCSI devices to the PC/AT backplane bus. The AHA-154XA is an enhancement of the AHA-1540 (see Appendix C) AHA-1540A-The enhanced high performance Adaptec Host Adapter for connecting SCSI devices to the PC/AT backplane bus. AHA-1542A-The enhanced high performance Adaptec Host Adapter for connecting SCSI devices and standard IBM compatible floppy disk devices to the PC/AT backplane bus. AHA-154XA-Either the AHA-1540A or the AHA-1542A or both. AHA-1540A/1542A-Either the AHA-1540A or the AHA-1542A or both. Asynchronous Event Notification-A process by which a target can send unsolicited sense information to an initiator using the SEND command in order to inform the initiator about the occurrence of an important unusual occurrence. Asynchronous Data Transfer-Data transfer performed by the SCSI interface involving the interlocking of a signal to the initiator (REQ) and a signal to the target (ACK) such that each step of the data transfer protocol must occur before the next step can begin. Characterized by a low data rate and independence of external timing constraints, including cable length and circuit response times. AT Bus-The Industry Standard Architecture bus. Bus Device Reset-A SCSI message that clears all activity in the target to which it is addressed. Byte-An 8 bit unit of data. An octet. A byte is normally the smallest addressable unit of a memory and the unit of transfer on the SCSI. CCB-See Command Control Block CCS-See Common Command Set CDB-See Command Descriptor Block Command Control Block-A software object prepared by the host microcomputer software for the host adapter to provide it all the control information it needs to execute a SCSI command. Abbreviated CCB. Command Descriptor Block-A block of information passed across the SCSI bus to provide the command, parameter, and address information necessary for the target to execute the desired functions. Prepared by the host software and placed in the CCB to be passed to the target by the host adapter. Abbreviated CDB. Common Command Set-A defacto standard SCSI command set for communication with hard disk drives. The Common Command Set (CCS) is the basis for the SCSI-2 command set for all types of peripheral devices. Control Microprocessor An integrated circuit computer used to execute the software that controls the host adapter's operation. Device Driver-A program that is linked with or attached to an operating system to map the software interface of the operating system to the requirements of attached peripheral devices and host adapters. DMA-See Direct Memory Access Direct Memory Access-A mechanism that allows hardware control of the transfer of streams of data to or from the main memory of a computing system. The mechanism may require set up the host software. After initialization, it automatically sequences the required data transfer and provides the necessary address information. EPROM-Erasable Programmable Read Only Memory. An integrated circuit used to store the host adapter firmware and the host adapter BIOS. FIFO-First In / First Out.- A queueing order in which items are removed from the queue for execution in the same order in which they are placed in the queue. An integrated circuit that buffers data in such a manner that the each byte placed in the buffer is removed from the buffer in the same order. Firmware-The software that controls and manages the host adapter. It is 'firm' as opposed to 'soft' because it is designed in to the host adapter and cannot be modified by the user. IBM PC/AT Compatible-Any computer system that emulates exactly the IBM PC/AT and that uses an ISA backplane bus. ISA-The Industry Standard Architecture Industry Standard Architecture-The IBM PC/AT functions have been duplicated by a number of manufacturers. All the IBM PC/AT¬ compatible machines use a backplane bus that very closely emulates the function of the backplane bus of the PC/AT. Because of the broad usage of this bus structure, it has become known as the Industry Standard Architecture bus, even though there is no presently accepted standard for the bus. initiator-A SCSI device that requests an operation to be performed by another SCSI device (the target). The initiator provides all the command information and parameters required to perform the operation, but the details of the operation are actually sequenced by the target. host-A microcomputer in which a host adapter is installed. The host uses software to request the services of the host adapter in transferring information to and from peripheral devices attached to the SCSI bus connector of the host adapter. host adapter-A hardware printed circuit board that installs in a standard microcomputer backplane and provides a SCSI bus connection so that SCSI devices can be connected to the microcomputer. A host adapter is "intelligent" if it has a simple high-level software interface to the microcomputer. A host adapter is "dumb" if the microcomputer must directly manage the SCSI protocol using the microcomputer processor. Logical Unit-A physical or virtual device addressed through a target. Logical Unit Number-An encoded three-bit identifier for a logical unit. LU-See Logical Unit LUN-See Logical Unit Number Mailbox In-An area in main memory assigned by the host microcomputer software for communication with the host adapter. The host adapter places status and pointer information in entries in the Mailbox In (MBI) to indicate to the host microcomputer what operations have been completed or what information must be obtained from the host microcomputer. Mailbox Out-An area in main memory assigned by the host microcomputer software for communication with the host adapter. The microcomputer software places commands and pointer information in entries in the Mailbox Out (MBO) to indicate what operations should be started by the host adapter. MBI-See Mailbox In. MBO-See Mailbox Out. Multi-tasking Operation-The execution of commands in such a way that more than one command is in progress at the same time, allowing the system to take advantage of overlapping activities by using resources that are temporarily not required for other operations. More than one program or more than one portion of a program may be operating in parallel. PC/AT-A family of small computers sold by IBM, also called the Personal Computer /AT family of computers. The name is trademarked by IBM. RAM-Random Access Memory. Memory of which any byte can be accessed directly in a single memory cycle. Information can be read from and written to the memory. SCSI-Small Computer System Interface. SCSI ASC-SCSI Additional Sense Code. Byte 12 of the extended sense information. Provides a standardized description of the condition described by the sense information. SCSI Device-A device attached to a Small Computer System Interface bus cable. The device may be an initiator, a target, or capable of both types of operation. The device may be a peripheral device, a host device, or a device mixing both roles. Single Threaded Operation-Operation of the computing system such that only one program can be operating or active at a time. The computing system must wait until all resources are available before starting an operation and cannot start another operation until the first one is completed. No overlapping of latencies or program operation occurs. Synchronous Data Transfer-A method of data transfer on the SCSI bus involving clocking data on to the bus with a fixed-length fixed-frequency strobe pulses. The acknowledgements may be delayed several clock periods from the data requests. Synchronous Data Transfer can be used only for data transmission on the SCSI bus. It is prohibited for command, message, and status transmission. Synchronous Data Transfer Negotiation-The message exchange between the initiator and the target that allows the negotiation of the data transfer frequency and delay between requests and acknowledgements required for synchronous data transfer. Once negotiated, synchronous data transfer parameters remain unchanged until certain reinitialization activities occur. Target-A SCSI device that performs an operation requested by an initiator. The target may be a peripheral device performing a service for an initiator. The target may also be a host adapter performing a Processor type device service for an initiator. Word-A two byte (16 bit) unit of data. AHA-1540A/1542A MEMORY CYCLE TIMING to see this diagram send for manual. STANDARD tRR TIMING SPEEDS tWW 5.0 MB 250 A tARS Address Setup to MEMR Leading Edge 5.7 MB 200 A tARH Address Hold from MEMR Trailing Edge 6.7 MB 200 A tBRS SBHE Setup to MEMR Leading Edge 8.0 MB 150 A tDRS Data Setup to Trailing Edge of MEMR 10.0 MB 100 B tDRH Data Hold from MEMR Trailing Edge tRW Read Pulsewidth SPEED TIMING A TIMING B tAWS Address Setup to MEMW Leading Edge tAWH Address Hold from MEMW Trailing Edge tARS 73 23 tBWS SBHE Setup to MEMW Leading Edge tARH 55 55 tDWS Data Setup to MEMW Leading Edge tBRS 73 23 tDWH Data Hold from MEMW Trailing Edge tWW Write Pulsewidth tDRS 32 32 tDRH 26 26 Note: I/O Channel Ready may slow the actual tAWS 73 23 transfer rate tAWH 55 55 tBWS 73 23 tDWS 13 13 tDWH 60 60 Appendix B CONNECTOR PINOUT Internal Connector Pin Assignments Signal Name Pin Pin Signal Name Ground 1 2 -DB(0) Ground 3 4 -DB(1) Ground 5 6 -DB(2) Ground 7 8 -DB(3) Ground 9 10 -DB(4) Ground 11 12 -DB(5) Ground 13 14 -DB(6) Ground 15 16 -DB(7) Ground 17 18 -DB(P) Ground 19 20 Ground Ground 21 22 Ground Ground 23 24 Ground Open 25 26 Term Power (Fused) Ground 27 28 Ground Ground 29 30 Ground Ground 31 32 -ATN Ground 33 34 Ground Ground 35 36 -BSY Ground 37 38 -ACK Ground 39 40 -RST Ground 41 42 -MSG Ground 43 44 -SEL Ground 45 46 -C/D Ground 47 48 -REQ Ground 49 50 -I/O External Connector Pin Assignments Signal Name Pin Pin Signal Name Ground 1 26 -DB(0) Ground 2 27 -DB(1) Ground 3 28 -DB(2) Ground 4 29 -DB(3) Ground 5 30 -DB(4) Ground 6 31 -DB(5) Ground 7 32 -DB(6) Ground 8 33 -DB(7) Ground 9 34 -DB(P) Ground 10 35 Ground Ground 11 36 Ground Ground 12 37 Ground Open 13 38 Term Power (Fused) Ground 14 39 Ground Ground 15 40 Ground Ground 16 41 -ATN Ground 17 42 Ground Ground 18 43 -BSY Ground 19 44 -ACK Ground 20 45 -RST Ground 21 46 -MSG Ground 22 47 -SEL Ground 23 48 -C/D Ground 24 49 -REQ Ground 25 50 -I/O Appendix C AHA-1540/1640 FAMILY COMPATIBILITY INFORMATION Brief summary of board characteristics: AHA-1540: High performance SCSI to ISA Bus Master host adapter. Most revisions support synchronous data transfer. Separate user's manual. Subset of AHA-154XA Adapter Commands available. W AHA-1542A: High performance SCSI to ISA Bus Master host adapter. Supports synchronous data transfer. Supports floppy disk drives. Higher level of host adapter integration. AHA-1542A: High performance SCSI to ISA Bus Master host adapter. Supports synchronous data transfer. Supports floppy disk drives. Higher level of host adapter integration. Improved SCSI connection pattern and jumper controls. Supports Target Mode operation. AHA-1540A: High performance SCSI to ISA Bus Master host adapter. Supports synchronous data transfer. Does not support floppy disk drives. Higher level of host adapter integration. Improved SCSI connection pattern and jumper controls. Supports Target Mode operation. AHA-1640: Very high-performance SCSI-to-Micro Channel Bus Master host adapter. Supports synchronous data transfer. Does not support floppy disk drives. High level of host adapter integration. Supports Target Mode Operation. See Adaptec's AHA-1640 User's Manual for details, including POS management, differences in interrupt presentation, differences in reset management and improvements in Adapter commands. COMPATIBILITY CHART Function 1540 W1542A 1542A 1540A 1640 Floppy Disk Controller No Yes Yes No No Synchronous Transfer No Yes Yes Yes Yes Selectable DMA Speeds No Yes Yes Yes POS Programmable DMA Speeds Yes Yes Yes Yes Yes Internal SCSI Connectors Straight Rt Angle Rt Angle Rt Angle Straight Scatter Gather No Yes Yes Yes Yes 64 Head BIOS Option Yes Yes Yes Yes 16 Head BIOS Yes No No No No LED Connector No Yes Yes Yes Yes Target Mode No No Yes Yes Yes LA 17-19 Jumper Yes Yes No No NA Micro Channel No No No No Yes PC/AT Yes Yes Yes Yes No