摘要:
A method for queuing hardware control blocks, such as SCBs, for a system including a system processor coupled to a plurality of host adapter devices and a buffer memory controller device by an I/O bus is based on use of an endless new hardware command block queue, and an endless done hardware command block queue. The hardware command blocks for a plurality of devices, where each device includes a device processor, are managed by forming an endless queue for a device in a memory external to the device. A first pointer to the endless queue is maintained in a memory that is not within the memory space of the device processor. A second pointer to the endless queue is maintained in a memory addressable by the device processor. The first and second pointers address the head and tail hardware command block array sites of the endless queue.
摘要:
An I/O command block, that is stored in a memory, includes information for connecting the I/O command block to other I/O command blocks in a chain structure. The I/O command block chain structure allows simultaneity of execution, provides a mechanism to inhibit and enable execution of an individual I/O command block, and a mechanism for establishing precedence in the sequence of execution of the I/O command blocks. This level of capability is provided by only information in the I/O command blocks within the chain. In this method, an abort bit in each of the one and another I/O command blocks is set and an aborted bit is reset in each of the one and another I/O command blocks. Upon execution of the one and another I/O command blocks, in one embodiment, the execution of that I/O command block first initiating data transfer sets the aborted bit in the I/O command block pointed to by the offshoot block pointer in the I/O command block first initiating data transfer. After the aborted bit is set, the I/O command block is aborted at the next opportunity during execution of the I/O command block when the state of the aborted bit is checked.
摘要:
The performance of a host adapter integrated circuit is enhanced by storing blocks of information for SCSI I/O target commands, i.e, hardware request blocks, in a structure external to the host adapter integrated circuit. Since the number of blocks that is stored in the external structure is typically significantly greater than the number of blocks that can be stored in onboard registers of the host adapter integrated circuit, a high speed method for retrieving information from a particular block within the external structure is provided so that the appropriate block of information can be passed to the host adapter integrated circuit without delays associated with serially scanning through all of the blocks. Several structures are used in the external memory to manage the hardware request blocks. The structures include a hardware request block array, a hardware request block address array, a queue-in FIFO structure, a queue-out FIFO structure and a busy targets table.
摘要翻译:主机适配器集成电路的性能通过将SCSI I / O目标命令(即硬件请求块)的信息块存储在主机适配器集成电路外部的结构中来增强。 由于存储在外部结构中的块的数量通常显着大于可以存储在主机适配器集成电路的板载寄存器中的块的数量,所以用于从外部结构中的特定块检索信息的高速方法 被提供使得适当的信息块可以被传递到主机适配器集成电路,而没有与通过所有块的串行扫描有关的延迟。 在外部存储器中使用几种结构来管理硬件请求块。 这些结构包括硬件请求块阵列,硬件请求块地址阵列,队列FIFO结构,队列FIFO结构和繁忙的目标表。
摘要:
A busy targets table is created in a memory that can be either internal or external to a SCSI host adapter. Each entry in the table initially is set to a predetermined value. Prior to starting execution of each hardware request block, the host adapter performs a check to determine whether the hardware request block can be executed at this time by generating an offset into the busy targets table using a target address in the hardware request block. The host adapter then checks the entry in the busy targets table at the location of the offset. If the entry in the busy targets table at the location of the offset is the predetermined value, the device at the target address, i.e., the target, is available. Therefore, the execution of the hardware request block can proceed and so the host adapter overwrites the predetermined value at the offset in the table with a pointer to a storage location of said SCSI hardware request block and continues executing the hardware request block. If the target disconnects from the host adapter, the busy targets table is used to locate the appropriate hardware request block when the target reconnects to the host adapter. Specifically, the host adapter generates an offset into the busy targets table using target address information provided by the target. The host adapter uses the offset to locate the pointer stored in the busy targets table and then locates the appropriate hardware request block using the pointer.