Method, system, and program for managing data read operations on network controller with offloading functions
First Claim
Patent Images
1. A system for use with a network and an initiator coupled to the network, comprising:
- at least one memory which includes an operating system;
a processor coupled to the memory;
a bus;
target storage adapted to store target data at target addresses of said data storage;
a target controller coupled to the bus, for managing Input/Output (I/O) access to the target storage, including processing read commands addressing target data having target addresses within said target storage;
a device driver executable by the processor in the memory; and
a network controller coupled to the bus and having an offload engine and a cache adapted to store target data from at least one target address of said target storage, said network controller being adapted to;
receive from the initiator, a packet containing a read command which addresses target data having a target address within said target storage; and
compare the target address of the read command to a target address of the target data in the cache for the network controller engine;
wherein said offload engine is adapted to process said read command if target data stored in the cache was obtained from a target address which corresponds to the read command target address, said processing including sending target data stored in the cache through the network to the initiator and wherein said read command is processed by said network controller instead of said target controller.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are a method, system, and program for managing data read operations of a read command such as a read command packaged in an Internet Small Computer System Interface packet. In one embodiment, a network adapter has a microengine which obtains read target data from a cache coupled to the network adapter to respond to a read command packaged in a packet sent by an initiator over a network. If the network adapter cache does not have the target data addressed by the read command, the read command is forwarded to a target controller coupled to a storage unit to process the read command.
20 Citations
22 Claims
-
1. A system for use with a network and an initiator coupled to the network, comprising:
-
at least one memory which includes an operating system; a processor coupled to the memory; a bus; target storage adapted to store target data at target addresses of said data storage; a target controller coupled to the bus, for managing Input/Output (I/O) access to the target storage, including processing read commands addressing target data having target addresses within said target storage; a device driver executable by the processor in the memory; and a network controller coupled to the bus and having an offload engine and a cache adapted to store target data from at least one target address of said target storage, said network controller being adapted to; receive from the initiator, a packet containing a read command which addresses target data having a target address within said target storage; and compare the target address of the read command to a target address of the target data in the cache for the network controller engine; wherein said offload engine is adapted to process said read command if target data stored in the cache was obtained from a target address which corresponds to the read command target address, said processing including sending target data stored in the cache through the network to the initiator and wherein said read command is processed by said network controller instead of said target controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A device for use with a target controller, a bus, a target storage adapted to store target data, a network, an initiator coupled to the network, and a target controller for managing Input/Output (I/O) access to the target storage, including processing read commands addressing target data having target addresses within said target storage, comprising:
a network controller having an offload engine and a cache adapted to store target data from at least one target address of said target storage, said network controller being adapted to; receive from the initiator, a packet containing a read command which addresses target data having a target address within said target storage; and compare the target address of the read command to a target address of the target data in the cache for the network controller engine; wherein said offload engine is adapted to process said read command if target data stored in the cache was obtained from a target address which corresponds to the read command target address, said processing including sending target data stored in the cache through the network to the initiator and wherein said read command is processed by said network controller instead of said target controller. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
Specification