Method, apparatus, system, and article of manufacture for interfacing a device
First Claim
Patent Images
1. A method for interfacing a network adapter to a host, comprising:
- receiving, by a device interface in the network adapter, a request generated by a device driver in the host, wherein the request is generated by the device driver by calling a routine located at a fixed offset in a memory of the network adapter, wherein the routine is included in the device interface, and wherein the device driver includes information corresponding to a location of the fixed offset of the routine;
processing the request, by the device interface, wherein a plurality of device interfaces corresponding to a plurality of network adapters are capable of processing the request;
executing an operation associated with the network adapter, by the device interface, in response to processing the request, wherein the device interface is included in a flash memory in the network adapter, wherein the device interface is executed by a processor located in the network adapter, and wherein the device interface can exploit hardware capabilities of the network adapter; and
modifying the device interface in the network adapter in response to the network adapter being upgraded, wherein the device driver remains unchanged in the host, wherein the unchanged device driver interfaces correctly with the modified device interface in the network adapter, and wherein the unchanged device driver interfaces with all previous versions of the network adapter and with all modified versions of the network adapter.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, apparatus, system, and article of manufacture for interfacing a device to a host, wherein in certain embodiments a device interface in the device receives a request generated by a device driver in the host. The device interface processes the request, wherein a plurality of device interfaces corresponding to a plurality of devices are capable of processing the request. An operation associated with the device is executed, by the device interface, in response to processing the request.
17 Citations
24 Claims
-
1. A method for interfacing a network adapter to a host, comprising:
-
receiving, by a device interface in the network adapter, a request generated by a device driver in the host, wherein the request is generated by the device driver by calling a routine located at a fixed offset in a memory of the network adapter, wherein the routine is included in the device interface, and wherein the device driver includes information corresponding to a location of the fixed offset of the routine; processing the request, by the device interface, wherein a plurality of device interfaces corresponding to a plurality of network adapters are capable of processing the request; executing an operation associated with the network adapter, by the device interface, in response to processing the request, wherein the device interface is included in a flash memory in the network adapter, wherein the device interface is executed by a processor located in the network adapter, and wherein the device interface can exploit hardware capabilities of the network adapter; and modifying the device interface in the network adapter in response to the network adapter being upgraded, wherein the device driver remains unchanged in the host, wherein the unchanged device driver interfaces correctly with the modified device interface in the network adapter, and wherein the unchanged device driver interfaces with all previous versions of the network adapter and with all modified versions of the network adapter. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network adapter, comprising:
-
a device interface in the network adapter, wherein the device interface is capable of receiving a request generated by a device driver in a host, wherein the device interface is capable of processing the request, and wherein a plurality of device interfaces corresponding to a plurality of network adapters are capable of processing the request; code implementing an operation associated with the network adapter, wherein the device interface is capable of executing the code in response to processing the request; a memory coupled to the network adapter; a routine located at a fixed offset in the memory, wherein the routine is included in the device interface, wherein the device driver is capable of generating the request by calling the routine, and wherein the device driver is capable of including information corresponding to a location of the fixed offset of the routine; a processor located in the network adapter; and a flash memory in the network adapter, wherein the device interface is included in the flash memory, wherein the device interface is capable of being executed by the processor located in the network adapter, and wherein the device interface can exploit hardware capabilities of the device, wherein the device interface in the network adapter is modified in response to the network adapter being upgraded, wherein the device driver remains unchanged in the host, wherein the unchanged device driver interfaces correctly with the modified device interface in the network adapter, and wherein the unchanged device driver interfaces with all previous versions of the network adapter and with all modified versions of the network adapter. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system in communication with data storage, comprising:
-
a host; a data storage controller to manage Input/Output (I/O) access to the data storage, wherein the data storage controller is coupled to the host; a device driver in the host; a network adapter coupled to the host; a device interface in the network adapter, wherein the device interface is capable of receiving a request generated by the device driver, wherein the device interface is capable of processing the request, and wherein a plurality of device interfaces corresponding to a plurality of network adapters are capable of processing the request; code implementing an operation associated with the network adapter, wherein the device interface is capable of executing the code in response to processing the request; a memory coupled to the network adapter; a routine located at a fixed offset in the memory, wherein the routine is included in the device interface, wherein the device driver is capable of generating the request by calling the routine, and wherein the device driver is capable of including information corresponding to a location of the fixed offset of the routine; a processor located in the network adapter; and a flash memory in the network adapter, wherein the device interface is included in the flash memory, wherein the device interface is capable of being executed by the processor located in the network adapter, and wherein the device interface can exploit hardware capabilities of the device, wherein the device interface in the network adapter is modified in response to the network adapter being upgraded, wherein the device driver remains unchanged in the host, wherein the unchanged device driver interfaces correctly with the modified device interface in the network adapter, and wherein the unchanged device driver interfaces with all previous versions of the network adapter and with all modified versions of the network adapter. - View Dependent Claims (16, 17)
-
-
18. A computer readable storage medium having stored therein instructions for interfacing a network adapter to a host, wherein the instructions when executed causes operations, the operations comprising:
-
receiving, by a device interface in the network adapter, a request generated by a device driver in the host, wherein the request is generated by the device driver by calling a routine located at a fixed offset in a memory of the network adapter, wherein the routine is included in the device interface, and wherein the device driver includes information corresponding to a location of the fixed offset of the routine; processing the request, by the device interface, wherein a plurality of device interfaces corresponding to a plurality of network adapters are capable of processing the request; executing an operation associated with the network adapter, by the device interface, in response to processing the request, wherein the device interface is included in a flash memory in the network adapter, wherein the device interface is executed by a processor located in the network adapter, and wherein the device interface can exploit hardware capabilities of the network adapter; and modifying the device interface in the network adapter in response to the network adapter being upgraded, wherein the device driver remains unchanged in the host, wherein the unchanged device driver interfaces correctly with the modified device interface in the network adapter, and wherein the unchanged device driver interfaces with all previous versions of the network adapter and with all modified versions of the network adapter. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification