Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
First Claim
Patent Images
1. A method for automatically loading I/O command blocks from a host system into an I/O command block buffer in a local memory of a host adapter, the command block buffer being used to store I/O command blocks to be processed by a processor on the host adapter, the method comprising:
- monitoring a request queue to determine when an I/O command block is in said request queue;
determining a place in said request queue where said I/O command block resides;
determining if space is available to store the I/O command block at the I/O command block buffer in the local memory of the host adapter;
determining if space is available to store an address that will indicate where the I/O command block will be placed after being loaded into the I/O command block buffer;
retrieving a buffer address identified from an address list of free buffer locations;
transferring said I/O command block from said place in said request queue to a buffer location addressed by said buffer address; and
writing said buffer address to an address list of filled buffer locations.
7 Assignments
0 Petitions
Accused Products
Abstract
An input/output (I/O) host adapter in an I/O system processes I/O requests from a host system to a plurality of I/O devices. The host adapter includes a circuit to automatically transfer I/O requests from host memory to adapter memory. The host adapter also includes a circuit to automatically transfer I/O responses from adapter memory to host memory.
-
Citations
11 Claims
-
1. A method for automatically loading I/O command blocks from a host system into an I/O command block buffer in a local memory of a host adapter, the command block buffer being used to store I/O command blocks to be processed by a processor on the host adapter, the method comprising:
-
monitoring a request queue to determine when an I/O command block is in said request queue;
determining a place in said request queue where said I/O command block resides;
determining if space is available to store the I/O command block at the I/O command block buffer in the local memory of the host adapter;
determining if space is available to store an address that will indicate where the I/O command block will be placed after being loaded into the I/O command block buffer;
retrieving a buffer address identified from an address list of free buffer locations;
transferring said I/O command block from said place in said request queue to a buffer location addressed by said buffer address; and
writing said buffer address to an address list of filled buffer locations.- View Dependent Claims (2, 3, 4, 5)
-
-
6. A circuit for accelerating the processing of I/O commands from a host system to a host adapter, said circuit comprising:
-
a host adapter RAM;
a monitoring unit to monitor a request queue in host memory, wherein said monitoring unit generates a signal upon detection of at least one I/O command in said request queue;
a retrieval unit to transfer said at least one I/O command from its location in said request queue to a buffer location in said host adapter RAM responsive to said signal after determining if space is available for the I/O command and space is available to write an address of the location where the I/O command will be stored after transfer, wherein a buffer address of said buffer location is read from an address list of free buffer locations in said host adapter RAM, and wherein said buffer address is written to an address list of filled buffer locations in said host adapter RAM; and
a processor to process said I/O command in said buffer location, wherein said processor retrieves said buffer address from said address list of filled buffer locations, and wherein said processor writes said buffer address to said address list of free buffer locations after processing said I/O commands. - View Dependent Claims (7, 8, 9, 10, 11)
-
Specification